在Ubuntu上配置shadowsocks-libev

看了一大堆网上的教程,感觉很多方法都有些缺陷,比如用 nohup 来运行 ss-server 之类。因此在这里提供一种操作简便且配置完成后基本一劳永逸的方案。

本方法在 Ubuntu Server 16.04 上测试通过。

2017-02-09 Update: Update to match shadowsocks-libev 3.0+ and systemd.
2015-08-28 Update: Due to a recent change, install from apt source.

以下所有命令在root权限下运行,文中不再使用sudo 。

安装 shadowsocks-libev

从 apt 源安装(不推荐)

apt update
apt install wget
wget -O- http://shadowsocks.org/debian/1D27208A.gpg | sudo apt-key add -
echo "deb http://shadowsocks.org/debian wheezy main" > /etc/apt/sources.list.d/shadowsocks.list
apt update
apt install shadowsocks-libev

或:从源代码安装

apt update
apt install --no-install-recommends gettext build-essential autoconf automake libtool gawk debhelper dh-systemd init-system-helpers pkg-config asciidoc xmlto libpcre3-dev libev-dev libudns-dev dh-autoreconf libmbedtls-dev libsodium-dev apg
cd /usr/local/src
rm *shadowsocks-libev*.{deb,changes}
git clone https://github.com/shadowsocks/shadowsocks-libev.git --recursive
cd shadowsocks-libev
./autogen.sh
dpkg-buildpackage -b -us -uc -i
cd ..
dpkg -i *shadowsocks-libev*.deb

建立配置文件

mkdir /etc/shadowsocks-libev/
nano /etc/shadowsocks-libev/config.json

填入配置文件内容:

{
    "server": "0.0.0.0",
    "server_port": 8388,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "sample-password",
    "timeout": 300,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
}

其中 8388 改成你需要的端口, sample-password 改成你需要的密码,其它基本不用修改。完成后依次按 Ctrl+X,y,回车保存文件。

测试连接

ss-server -c /etc/shadowsocks-libev/config.json

看到 server listening at port XXXX. 以后,使用你的 Shadowsocks 客户端连接上去,测试网络是否正常。成功的话,按 Ctrl+C 关闭 ss-server。

客户端配置如下:

  • 服务器:填写你的服务器 IP 或域名
  • 服务器端口号:填写配置文件中的 server_port
  • 密码:填写配置文件中的 password
  • 连接超时:填写配置文件中的 timeout
  • 加密方式:填写配置文件中的 method
  • 本地端口号:随便填一个大于 1024 的端口一般都行,如果客户端默认有一个非 0 端口号的话就不需要改变原有设置了

自动启动服务器

systemctl start shadowsocks-libev
systemctl enable shadowsocks-libev

源代码安装方式的更新

cd /usr/local/src
rm *shadowsocks-libev*.{deb,changes}
cd shadowsocks-libev
git pull
git submodule update --init --recursive || (git submodule deinit -f .; git submodule init; git submodule update --recursive)
apt update
apt install --no-install-recommends gettext build-essential autoconf automake libtool gawk debhelper dh-systemd init-system-helpers pkg-config asciidoc xmlto libpcre3-dev libev-dev libudns-dev dh-autoreconf libmbedtls-dev libsodium-dev apg
./autogen.sh
dpkg-buildpackage -b -us -uc -i
cd ..
dpkg -i *shadowsocks-libev*.deb
systemctl restart shadowsocks-libev

FAQ

APT提示找不到mbedtls-dev 这个包说明你的系统太老了,该升级了。

5 thoughts on “在Ubuntu上配置shadowsocks-libev

  1. SKY

    谢谢!可等到你回复了,太高兴了!我是看到shadowsocks-libev更新到2.1.2了,之前已按照你的方法编译安装好了,现在就想着更新下shadowsocks-libev,直接一步一步覆盖来重新编译安装?不需要卸载么?直接“sudo supervisorctl reload”的话,提示“sudo:supervisorctl: command not found” 这种编译安装好的软件怎样更新呢?我小白一个,还请大神指导下,谢谢!

    回复
  2. Pingback引用通告: 转载:如何在VPS上架设Shadowsocks | BREATHE FREELY

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据