科学上网解决方案

自用,分享下。

主要工具

shadowsocks

为什么选择shadowsocks?

服务器端

Linode东京机房。

为什么选择这个?

部署shadowsocks

Documentaion

sudo pip install shadowsocks
sudo ssserver -p 443 -k password -m aes-256-cfb --user nobody -d start

客户端

PC: Windows / Linux / OS X

网上资料很详细,不展开了。

Mobile Device

iOS(未越狱)

未越狱的iOS就有些蛋疼了。未越狱的情况下,shadowsocks app不能长期在后台运行,需要不时重新打开应用,比较麻烦。

我的解决方案是用阿里云做跳板,部署PAC文件,但这样只能在Wi-Fi环境下翻墙……

具体来说:

  1. 在阿里云后台运行sslocal,假设绑定到1080端口(注:务必加上-b 外网ip。其默认为127.0.0.1,会导致无法连通。检验方法是telnet 外网ip 1080
  2. 创建pac文件,内容如下:

    function FindProxyForURL(url, host) {
        return "DIRECT; SOCKS 外网ip:1080;"
    }
    
  3. 用nginx之类的东西让外界得以访问这个pac文件。

  4. iOS下在Wi-Fi设置中点击右侧蓝色i标,在http代理中选择自动,填入pac文件地址。

Wi-Fi设置

至此可以实现全局翻墙。那么如何实现墙内外分流呢?

我的解决方案是使用gfwlist2pac,用cron设置定时任务每天更新gfwlist

其他

有时候因为种种原因会出现如下蛋疼情况:

蛋疼

可能的原因包括但不限于:

推荐使用微林的vxTrans服务。这货差不多就是做了个端口转发,相当于是一个跳板。

选择中国cn2线路,效果拔群!

效果拔群