ShadowSocks助力macOS科学上网

Sun 15 January 2017 / In categories Productivity

macOS, shadowsocks

个人VPN已成为明日黄花,不稳定且容易被墙,所以下决心切换到ShadowSocks了。ShadowSocks配置比VPN麻烦,但是配置好了之后,速度还是相当快的。

首先是ShadowSocks的网站,有两个,也不知道哪个才是正牌的。总之,一个是中文的(https://shadowsocks.com/),另一个是英文的(https://shadowsocks.org/)。

ShadowSocks客户端

ShadowSocksX-NG

ShadowSocksX-NG是macOS的图形客户端。在Github上的可以查看ShadowSocksX-NG的页面。可惜下载链接已经被墙得死死的,上了代理也下不了了。只好上非官方渠道softpedia.com下了一个1.3.2版本的。

shadowsocks-libev

Clients列表看,shadowsocks-libev也是一个不错的选择,而且是以服务的方式运行的,而且可以用HomeBrew来安装:brew install shadowsocks-libev。

安装完了之后,提示可以使用brew services start shadowsocks-libev来把其作为服务启动,但如何修改配置文件呢?简单,使用brew list shadowsocks-libev查看了一下,发现有一下plist文件:

/usr/local/Cellar/shadowsocks-libev/2.5.6/homebrew.mxcl.shadowsocks-libev.plist

打开查看之后,发现其配置文件是/usr/local/etc/shadowsocks-libev.json

编辑配置文件,填好以下“中文”的部分

{
"server":" 服务器地址 ",
"server_port": 服务器端口,
"local":"localhost",
"local_port":1080,
"password":" 服务器密码 ",
"timeout": 服务器超时时间,
"method":" 服务器加密方式 "
}

然后运行命令行 brew services restart shadowsocks-libev就Okay了。

浏览器配置

Safari和Chrome使用的都是系统代理,而Firefox可以使用系统代理,也可以不使用。先来谈谈系统代理吧。

如果使用ShadowSocksX-NG的话,它会帮着设置系统代理。如果使用shadowsocks-libev的话,需要自己来设置,方法也很简答。我是英文版的界面,打开“System Preferences”,“Network”,再点击Advance按键,会弹出来一个对话框。切换到Proxies分页,里面有一项是“SOCKS Proxy”,填入相应的服务器地址和端口号就行了,一般是127.0.0.1和1080.**

**

Firefox可以单独设置SOCKS代理,但记住一定要同时把对话框底下的“Proxy DNS when Using Socks v5”并且重新启动Firefox,要不照样访问不了外网。出现的症状是用IPLeak检测IP已经在国外了,但是DNSLeak检测DNS解析还在国内,导致解析不了域名访问不了相应的网站。

为命令行工具设置Proxy

把SOCKS Proxy转成HTTP Proxy会方便命令行工具如curl和wget的使用。有几种办法,ShadowSocks的Wiki推荐使用ProxyChains;很多文章推荐使用polipo,可惜polipo的Github页面上说作者已经停止更新了;还有提到使用Privoxy来达到目的的。总之选一款适合你用的就行。

 

参考文章

 

Load Disqus Comments