背景
之前用了一段时间的Lantern
,虽然很好用,但是流量消耗得太快,跑了一天就超过了80%。正好早上登上了budgetvm
的vps整了下数据库,所以就想顺便再把代理捣鼓一下。
经过
借着Lantern
剩下的一点流量,没费多少功夫就搜到了神器shadowsocks,但是很遗憾,似乎作者停止更新了。不过好在wiki还是完整的,开始按照wiki折腾了很久,不得要领。遂请教胡神,胡神很给力的给了给了一套教程Get Through the Firewall in Scientific Method。按照教程捣鼓了一番,还是不得要领。最后在胡神亲自带领下,终于成功翻墙,于是写下这篇笔记记录一下方法。
基本按照这个图来
+-------------------------------------+
| Server A(大陆以外) |
| 运行shadowsocks-python服务端 |
| 对外提供的SS IP为ip1,端口为port1 |
+--------------+----------------------+
|
|
|
+--------------+-------------------------------------------+
| 本机 |
| 运行shadowsocks-python客户端 + switchOmega socks5代理 |
+----------------------------------------------------------+
本来为了方便使用,应该是在墙内设置一个Server B,然后在B上运行shadowsocks
客户端,同时添加cow
的二级代理,转成http
代理,然后就方便使用了,但是测试了半天没有成功,改用上面的这种简化的方法。缺点在于本机需要运行客户端才可以开启代理。不过都设置好之后也还算方便。
服务器端(墙外VPS)安装和配置
首先安装shadowsocks
,因为绑定1000以下端口和后台运行都是需要sudo
权限的,所以需要直接在系统库中安装会比较方便一点。
sudo pip install shadowsocks
安装完之后就可以直接运行ssserver
命令了。
首先写服务端的配置文件shadowsocks.json
:
{
"server":"▇▇.▇▇.▇▇.▇▇",
"server_port":9000,
"password":"FUCKXXX",
"timeout":300,
"method":"aes-256-cfb"
}
然后运行
ssserver -c shadowsocks.json
或者后台运行,可能需要sudo
权限
ssserver -c shadowsocks.json -d start
这个时候服务器端的配置就完成了。
客户端(本机或国内VPS)配置
安装和运行方式同上,只有配置文件略有不同
{
"server":"▇▇.▇▇.▇▇.▇▇",
"server_port":9000,
"local_address":"127.0.0.1",
"local_port":443,
"password":"FUCKXXX",
"timeout":300,
"method":"aes-256-cfb"
}
这样一来,本机就有了一个ip为127.0.0.1
,端口为443
的socks5
代理了。
SwitchOmega配置
SwitchOmega
需要先翻墙在Chrome
商店进行安装,安装完之后添加刚才设置好的socks5
代理即可。
但是SwitchOmega
还需要设置自动代理,这样可以直接访问国内的网站而不用代理。打开插件的设置页面,选择auto switch
,在Rule list
中选择AutoProxy
,然后在网址填入https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
。点下载配置即可。
此时应该可以顺利翻墙了。
DNS污染
这个概念我还没有搞清楚,也没有去折腾相关的解决方案,使用了胡神给的一个据说没有被污染的DNS,然后就能成功访问Google
了。