在Ubuntu 16.04配置命令行走SS且支持chacha20加密算法

1. 安装最新版ShadowSocks
1
2
3
sudo apt-get install python-pip
sudo apt install libsodium-dev
sudo pip install https://github.com/shadowsocks/shadowsocks/archive/master.zip -U
2.ShadowSocks配置

找到ShadowSocks的安装位置

1
sudo find / -name shadows*

我的安装路径是/usr/local/lib/python2.7/dist-packages/shadowsocks。

3.在安装路径下新建并修改默认配置文件
1
sudo vim config.json
并写入如下内容
1
2
3
4
5
6
7
8
{
"server":"*****",
"server_port":*****,
"local_port":1080,
"password":"*****",
"timeout":600,
"method":"chacha20-ietf-poly1305"
}

打开终端:

1
2
cd /usr/local/lib/python2.7/dist-packages/shadowsocks
sslocal

成功的话会提示:INFO Starting local at 127.0.0.1

4.配置全局代理

启动shawdowsocks服务后,发现并不能翻墙上网,这是因为shawdowsocks是socks 5代理,需要客户端配合才能翻墙。

为了让整个系统都走shawdowsocks通道,需要配置全局代理,可以通过polipo实现。

首先是安装polipo:

1
sudo apt-get install polipo

接着修改polipo的配置文件/etc/polipo/config:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
logSyslog = true
logFile = /var/log/polipo/polipo.log

proxyAddress = "0.0.0.0"

socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5

chunkHighMark = 50331648
objectHighMark = 16384

serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32

重启polipo服务:

1
sudo /etc/init.d/polipo restart

为终端配置http代理:

1
export http_proxy="http://127.0.0.1:8123/"

接着测试下能否翻墙:

1
curl www.google.com

如果有响应,则全局代理配置成功。

5.注意事项

如果系统重启后,需要重新执行下面三句

1
2
3
cd /usr/local/lib/python2.7/dist-packages/shadowsocks
sslocal
export http_proxy="http://127.0.0.1:8123/"