起因:
我中华大地大局域网风云变幻,目前
git pushgit pullgit clone等,单反需要访问真互联网的操作总让人痛心!痛彻心扉~~ 怎么办?shadowsocks可以让我访问真互联网,但是每次命令行都会遇到一些问题,开启全局代理依然无法git 到 GitHub.怎么办?之前试过tsocks,现在,我的体验是,它只能支持wget,不能git 为了方便快捷解决这个问题,这里推荐下ProxyChains-NG,下面具体操作.
项目主页:https://github.com/rofl0r/proxychains-ng
官方说明:
proxychains ng (new generation) - a preloader which hooks calls to sockets in dynamically linked programs and redirects it through one or more socks/http proxies. continuation of the unmaintained proxychains project.
参考博文: http://www.dreamxu.com/proxychains-ng/
安装配置
使用 Homebrew 安装
brew install proxychains-ng
编辑配置文件 vim /usr/local/etc/proxychains.conf
在 [ProxyList] 下面(也就是末尾)加入代理类型,代理地址和端口
例如使用 TOR 代理,注释掉原来的代理并添加
socks5 127.0.0.1 1080
注意,这里的端口号根据你自己的决定,比如我用的shadowsocks,本地端口是1080,那这里就是1080
如果所在的网络很复杂,可能需要在配置文件中启用
dynamic_chain - 按照列表中出现的代理服务器的先后顺序组成一条链,如果有代理服务器失效,则自动将其排除,但至少要有一个是有效的
然后在 [ProxyList] 下添加多个代理
默认是:
strict_chain - 按照后面列表中出现的代理服务器的先后顺序组成一条链,要求所有的代理服务器都是有效的
使用
在命令的前面加上proxychains4即可
proxychains4 git push
OSX 10.11安装失败?
2015-12-05更新
由于 OSX 10.11 的 SIP 特性,会导致 proxychains-ng 安装失败,这里有三种解决方法:
- 如果是使用
brew install proxychains-ng安装的话,由于没有写入权限,必须暂时关闭 SIP,安装成功之后再打开 SIP。具体方法见 http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/ - 如果不使用
brew install的话,可以clone源码自己编译安装,关键是避免安装到 usr 目录(无法写入),手动指定写入目录,如./configure --prefix=$HOME/.local --sysconfdir=/etc,etc 有写入权限不必修改,记得添加环境变量即可。 - 需要安装 xcode7 , 然后执行 xcode-select -s /Applications/Xcode-beta.app/Contents/Developer ,就能用 brew 安装 proxychains 了,可能以后 xcode7 正式版本出来,要记得改回来 初此之外,OSX 自带的 git,curl 等版本过低,无法支持 proxychains-ng,请手动更新版本。