Ubuntu 配置 Shadowsocks 客户端(aes-256-gcm/obfs)以及全局代理

2020-03-15

前言#

众所周知,在国内的局域网内想要下载互联网上的资源,经常会很慢。因为最近在用 JMS,所以需要在 Ubuntu 下配置一个 Shadowsocks 客户端。但是不幸的是,apt-get 安装的 Shadowsocks 是不支持 aes-256-gcm 的,而 JMS 的所有线路基本上都是 aes-256-gcm

手动安装与配置#

于是我们需要手动安装 Shadowsocks
pip install https://github.com/shadowsocks/shadowsocks/archive/master.zip -U

之后简单地配置一下 /etc/shadowconfig

{
    "server": "youripaddressordomain",
    "server_port": 58812,
    "local_address": "127.0.0.1",
    "local_port": 1087,
    "password": "yourpassword",
    "timeout": 300,
    "method":"aes-256-gcm"
}

之后启动即可:sslocal -c /etc/shadowconfig -d start.

终端代理 - polipo#

如果想要在终端里使用代理,可以配合插件 polipo 使用:
sudo apt-get install polipo
配置文件位于 /etc/polipo/config.

logSyslog = true
logFile = /var/log/polipo/polipo.log

proxyAddress = "0.0.0.0"

socksParentProxy = "127.0.0.1:1087"
socksProxyType = socks5

chunkHighMark = 50331648
objectHighMark = 16384

serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32

重新启动 polipo 服务: sudo /etc/init.d/polipo restart
为终端配置代理: export all_proxy="http://127.0.0.1:8123/"
测试是否成功: curl www.google.com

obfs 配置#

如果想要使用 simple-obfs 混淆,比如 JMS 的线路 3,我们还需要配置一下 obfs-local. 直接安装:sudo apt-get install simple-obfs 即可。此时我们可以利用命令 which obfs-local 查看安装的目录,大概是在 /usr/bin/obfs-local.

参考文章,我们修改一下我们的 Shwdowsocks 配置:

{
    "server": "youripaddressordomain",
    "server_port": 58812,
    "local_address": "127.0.0.1",
    "local_port": 1087,
    "password": "yourpassword",
    "timeout": 300,
    "method":"aes-256-gcm",
    "plugin":"/usr/bin/obfs-local",
    "plugin_opts": "obfs=tls;obfs-host=;obfs-uri=/",
}

再重新启动即可:sslocal -c /etc/shadowconfig -d restart.