3 应用举例
中文Windows用户请注意:迅雷会影响socks5协议,请慎重对待。
了解什么是PAC? (Proxy auto-config).
在支持PAC的浏览器和手机上,可用PAC实现更好的自动选择性代理通过。
Chrome通过SwitchyOmega等扩展可以快速调整代理设置和进行PAC设定。
iOS和Mac OS X在网络底层框架上支持PAC设置,绝大多数上层应用可以享受到此PAC设置。
可以利用deblocus client提供的简单PAC服务,以iOS为例填写PAC文件地址:
对于任意应用程序而言,如果同时支持socks5和http,那么应该优先选择socks5方式;
如果都不支持,可以选择强制局部代理工具:
- Linux: tsocks
- Windows: SocksCap64, Proxifier
- Mac OS X: Proxifier
其次考虑全局代理 tun2socks等。
git config --global http.proxy XXX
XXX可设为 http://ADDR:PORT or socks5(h)://ADDR:PORT
两种方法
- 配置config
git config --global core.gitproxy XXX
- 通过环境变量
GIT_PROXY_COMMAND
设定proxyCommand
ProxyCommand详见后。
此时git不处理网络连接,远程连接和鉴权是在ssh client中完成的,成功后git将通过pipe进行git通信。
所以此时的代理配置应在ssh client侧完成,即~/.ssh/config
中配置ProxyCommand,例如:
# .ssh/config
Host github # Alias
HostName github.com
ProxyCommand connect -5 -S S5_PROXY_ADDR:PORT %h %p
# connect是一个工具详见后,S5_PROXY_ADDR:PORT为socks5代理服务地址和端口
在前面见到了ProxyCommand设定,ProxyCommand会被git或ssh启动执行,要求ProxyCommand以pipe形式与父进程通信以实现代理请求。
满足这个要求(或称为实现了ProxyCommand接口)的程序有很多,推荐一个connect-proxy,它同时也提供了已编译好的Windows程序。
Debian/Ubuntu sudo apt-get install connect-proxy
针对单一git命令临时设定proxy(不适用于via ssh://)
git command -c http.proxy=xxxx
若在clone时会让此repo保存了-c设置,需要时也可手动清除。