后面在 mac 上实现了同样的操作,操作指南见 https://hellodk.cn/post/1160

以前使用一些 fq 客户端,我都在各个设备上安装各自的客户端,现在每到达一个局域网,我都喜欢设置一个 standalone proxy server。比如用 OpenWrt + Passwall 透明代理,也或者在 N1 上使用 debian + systemd + clash core 做一个基于 clash core 的 proxy service。

以前在 win 上使用 CFW 或者 ss 等客户端的时候启动系统代理即可使用 Google Earth Pro,但是由于我的代理使用习惯改变,我一直在寻找一个“优雅的”使用 Google Earth Pro 方式。

2021 年在 V 站发过这个帖子,如何在不开启系统代理的情况下使用 Google Earth Pro ,有兴趣的可以去阅读。

今天刚好又有查看谷歌地球的需求,于是又稍作了一点搜索和实践,新的方法也成功应用了。利用 proxychains 让目标程序强制走 socks5 代理。

下载 proxychains

进入 https://github.com/shunf4/proxychains-windows/releases/ 页面。优先阅读该项目的 readme,谷歌地球是基于 Win32 构建的 windows 传统可执行程序,所以需要下载 proxychains_0.6.8_win32_x64.zip,解压缩到合适位置之后,能看到这些文件

dk-wsl2@dk-mechrevo:/mnt/e/myfiles/compressed-files/proxychains_0.6.8_win32_x64$ tree .
.
├── COPYING
├── README.md
├── README_zh-Hans.md
├── proxychains.conf
├── proxychains.exe // 这个文件原始名称是 proxychains_win32_x64.exe 改成 proxychains.exe 的目的是为了后续使用命令行启动 google earch pro
├── proxychains_helper_win32_x64.exe
├── proxychains_helper_win32_x86.exe
├── proxychains_hook_x64.dll
├── proxychains_hook_x86.dll
└── 原始exe文件名.txt  // 这个文件是我自己加的

下载好 proxychains_0.6.8_win32_x64.zip 后,解压缩所有文件到合适位置,将 proxychains_win32_x64.exe 重命名至 proxychains.exe

再修改 proxychains.conf

直接拉到文件底部,修改你的 socks5 服务端 ip 和端口,比如我的 ip 是局域网中的 192.168.1.29,端口 7890。默认值是 localhost1080

[ProxyList]
socks5 192.168.1.29 7890

配置 Windows 系统环境变量

拷贝 proxychains 的主程序目录 E:\myfiles\compressed-files\proxychains_0.6.8_win32_x64,拷贝 proxychains.conf 文件的绝对路径 E:\myfiles\compressed-files\proxychains_0.6.8_win32_x64\proxychains.conf

在系统环境变量修改的页面

系统环境变量编辑页面.jpg

  • 修改 Path 新增一个 item,值是 E:\myfiles\compressed-files\proxychains_0.6.8_win32_x64 。这样做的目的是为了在系统任意路径下执行 proxychains 都能运行 E:\myfiles\compressed-files\proxychains_0.6.8_win32_x64\proxychains.exe 这个程序,这也是上面将这个 exe 文件改名的目的
  • 新增系统环境变量,key 是 PROXYCHAINS_CONF_FILE value 是 E:\myfiles\compressed-files\proxychains_0.6.8_win32_x64\proxychains.conf (上面已经拷贝,直接读取 ditto 的剪贴板历史记录

环境变量配置完毕。

启动 Google Earch Pro

找到谷歌地球的启动命令,是 C:\Program Files\Google\Google Earth Pro\client\googleearth.exe

打开一个 cmd 终端,最好是 cmd 终端,Windows 11 比较新的 build 已经把 cmd 的 profile 集成到了 Windows Terminal 当中,win+r 输入 cmd 会自动打开一个 profile 是 cmd 的 windows terminal 窗口。

运行 proxychains "C:\Program Files\Google\Google Earth Pro\client\googleearth.exe" 即可启动能正常访问的谷歌地球程序,当然了前提是 192.168.1.29:7890 这个 socks5 服务端正常,且节点正常访问 google 相关服务。

随便搜了一个 黄浦江,正常浏览,正常搜索

谷歌地球正常搜索正常浏览.jpg

启动时

proxychains 谷歌地球1.jpg

关闭 Google Earch Pro 时

proxychains 谷歌地球2.jpg

faq

faq1

如果遇到命令行无法启动谷歌地球,可能是之前打开过谷歌地球,其进程没有杀干净。使用管理员权限打开一个 cmd 窗口,执行 taskkill -f -t -im googleearth.exe 即可。

C:\Windows\System32>taskkill -f -t -im googleearth.exe
SUCCESS: The process with PID 23044 (child process of PID 11884) has been terminated.

faq2

proxychains 适用于很多难以设置代理的程序,详情可以查看作者仓库的 readme 以及 issues 列表。

faq3

如果遇到报错,说缺少 cygwin1.dll 这个动态链接库文件导致程序无法启动,那你可能下错了压缩包。下载文件名带有 win32 x64 的那个试试,比如 proxychains_0.6.8_win32_x64.zip

参考

https://www.xiazhanjian.com/archives/proxychainsforwindows.html