proxychains

越过长城 才能到达世界的每个角落:

当我在国内各地旅行的时候,我意外地发现,每个省份的GFW屏蔽各不相同。例如,在上海,虽然访问 世界最大同性交友网站 非常困难,但是git pull/push 代码是畅通无阻的。然而,到了南方的深圳/广州,连GitHub代码仓库也无法访问了。

着对于软件开发者而言,是非常痛苦的,需要 浪费大量的时间 来构建VPN,有时候真不想这么折腾。那么有没有更为简洁的方法呢?

备注

另外一个简洁的方法(可以适用于任何Linux或类似系统,如Android手机),是采用 Privoxy Android SSH Tunneling

安装,配置和使用

proxychains 可以强制任何tcp连接流向通过一个代理服务器(或代理链路),这个工具通常用于加强internet连接安全性。

  • 在gentoo中安装:

在gentoo中安装proxychains
emerge --ask net-misc/proxychains
  • 配置文件是 /etc/proxychains.conf 只需要配置上游代理服务器即可:

修订 /etc/proxychains.conf 添加上游socks5代理
...
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4         127.0.0.1 9050
socks5 127.0.0.1 1080

这里的案例是使用 SSH Tunneling: 动态端口转发 中构建的socks5代理,所以如上配置。

  • 使用非常简便,就是在常规命令前面加上 proxychains 就能为应用带来代理引导。以我自己的实践案例,当GFW阻塞了GitHub导致 Gentoo emerge 无法完成源码下载 升级Gentoo 时,通过以下命令完成 越过长城 :

通过 proxychains 帮助 Gentoo emerge 完成代码下载
proxychains emerge -avuDN @world

参考