Trump vs Hilary  • • •  The Birth of new Avatar       all posts in Archive

Shadowsocks 初体验

先上结论,就目前的体验来说,Shadowsocks (SS) 还是不能替代 VPN 的,因为要对不同的软件单独做设置,使用起来不是那么方便。比如在Terminal里面,多少还是会改变使用习惯,至少让我有隔应。对于普通用户来说,SS 足够好了。对于码代码的来说,应该是VPN非常棒的补充,毕竟它有最稳定的穿墙能力。

原理

看看这个 不完全指南 就很清楚了。

Shawdowsocks Workflow

简单说一下,Shadowsocks是对SSH Tunnel的升级,把之前简单的端到端的协议拆分成了 ssh-client 和 ssh-server。因为和客户端通信的ssh-client在GFW之外,而ssh-server之间是加密通信,从而保证了消息里的特征码不能被GFW捕获,也就几乎不可能被封掉了。

使用

要使用SS,前提自然是有shadowsocks ssh-server了。可以购买,也可以自己租用VPS搭建。这里先假设已经有了一台, 我们需要以下信息:

server ip: xxxx-xxxx-xxxx-xxxx
server port : xxxx
encryption: aes-256-cfb | aes-128-cfb | xxxx
password: xxxx

Shawdowsocks App

可以在官网看到所有的客户端软件。

在Mac上我们可以使用 ShadowsocksX-NG ,配置相当简单,到 Servers - Active Shawdowsocks -> Server Preference 里添加即可使用。

Surge App

大受好评的 Surge 也可以做这个事情,据说 iOS 版本比 Mac 更好用,不过当然价格也是贵的不要不要的,iOS 要328¥,Single Mac License 还要 50$。当然人家是 Web Developer Tool and Proxy Utility,没人要你做这么简单的事情。可以试用30天,建议先尝试,仅针对姿势修正的功能来说,优点在于可以收工更准确配置Proxy策略,支持更多协议,如果有SSH Tunnel也可使用。我感觉还不错,只是价格太贵,以目前人气,估计短时间不会降价的。不过对折时一定要来一发。

使用Surge的确是麻烦一点的。当然也可以简单的来,先搜索别人共享的配置文件,加载后即可。

Proxychains

设置好后,浏览器是能正常工作的,其他的App需要单独设置。比如Terminal 也需要代理,会麻烦一点了。

Proxychains 安装

brew install proxychains-ng

编辑proxychains配置文件:

vim /usr/local/etc/proxychains.conf

最后的配置如下:

111 [ProxyList]
112 # add proxy here ...
113 # meanwile
114 # defaults set to "tor"
115 #socks4         127.0.0.1 9050
116 socks5  127.0.0.1 1086

Proxychains 使用

正常使用需要加上 proxychains4 命令:

proxychains4 git pull origin master

不仅不好用,还破坏了命令补全的功能,网上有个好办法。首先用短别名替换 proxychains4。

vim ~/.zshrc 

添加

alias pc='proxychains4'  

然后到iTerm里 iTerm -> Preferences -> Profiles -> Keys ,新建一个快捷键:

  • 例如 ⌥+↩︎
  • Action 选择 Send Hex Code
  • 键值为 0x1 0x70 0x63 0x20 0xd

现在就可以像之前使用 Git 一样使用,只是,最后不能直接 ↩︎ 而需要用 ⌥+↩︎