Shadowsocks(弃)
中国大陆对很多好用的国外网站进行了封锁,说实话对开发人员来说造成了巨大的阻碍。互联网作为连接世界的工具,把它屏蔽了更像是开倒车。而且作为一个开发人员,至少的话会用到Google搜索问题,然而你也不能使用。偶尔想去看看国外人民的水深火热,也做不到。
在这样的环境下,催生了一大波的代理工具,用于突破封锁解除限制,shadowsocks
就是这么一款工具。
原理
有一台中间服务器,这台服务器(后面要做的事情就在这台服务器上,一般是在海外,离大陆越近一般情况下延迟会越低,体验也会越好)必须是能够访问那些被封锁的网站的,在本地通过代理客户端去连接中间服务器
,中间服务端
帮你把请求发送到被封锁网站的服务器上,然后中间服务器接
收到被封锁网站的响应再返回给本地客户端,如下:
本地 x> 封锁的网站
本地 -> 中间服务器 -> 封锁的网站
安装
系统需要是Ubuntu
(其他Linux发行版本其实也类似,只不过install
命令不同),目前用的是16.04
的长期支持版本,新的长期支持版本也是可以的
更新系统的软件目录列表:
apt-get update
安装
python
的pip
软件包管理工具:apt-get install -y python-pip
安装
shadowsocks
:pip install shadowsocks
配置shadowsocks
新建并编辑(使用擅长的文本编辑工具即可[
vim
,vi
]): /opt/shadowsocks.json{ "server":"0.0.0.0", "server_port":11223, "local_address": "127.0.0.1", "local_port":1080, "password":"123456", "timeout":300, "method":"chacha20", "fast_open": false }
server
是指服务器的ip,如果指定当前服务器ip出错,可以像我一样使用0.0.0.0
,表示所有ipserver_port
服务监听的端口,用于客户端连接local_address
本地监听地址,默认回环地址127.0.0.1
就行了,服务器上默认就行了local_port
本地监听的端口,同上password
代理服务器密码timeout
超时时间method
数据传说的加密方式,如果这里用的是chacha20
的话,那后面服务器需要安装chacha20
的支持,不想设置可以填aes-256-cfb
设置chacha20(可跳过,具体看上方
method
)wget https://github.com/jedisct1/libsodium/releases/download/1.0.17/libsodium-1.0.17.tar.gz
tar xf libsodium-1.0.16.tar.gz
cd libsodium
./configure
make -j2
make install
ldconfig
启动
ssserver -c /opt/shadowsocks.json -d start
- -c 指定配置文件地址
- -d 指定命令
start
,restart
,stop
其他
- 开机启动代理服务器
- 编辑
/etc/rc.local
- 在弹出的编辑框里的"exit 0 “这句之前添加一行
/usr/local/bin/ssserver -c /opt/shadowsocks.json -d start
- 编辑
- 如果安装shadowsocks的时候pip提示没有安装
setuptools
,安装一下就好了 - 如果在安装chacha20时没有c编译器,执行
apt-get install build-essential
参考
记录
shadowscoks-libv: 混淆 (忽视)