闲来无聊安装一个 SS-Lib,记录一下
1 、 SS-Lib 简介
Shadowsocks-libev 是一个轻量级 SOCKS5 代理工具 for embedded devices and low-end boxes.
早期由 @clowwindy 创建并维护,现在由 @madeye 和 @linusyang 维护
2 、 SS-Lib 准备
shadowsocks-libev
shadowsocks 客户端
CentOS 7.3 Server
512MB 以上的内存
3 、搭建 SS-Lib Server
shadowsocks-libev 是现在仍然在更新的 SS-Server,所以我们选择它
但是 SS-Lib 默认不支持 ss-server 调用多用户配置文件,所以我们就要用它包含的 ss-manager
3.1 、安装 SS-Lib
本文采用 WIKI 的编译安装方法 [链接] 为了方便直接刷命令即可(环境是 Centos 7.3)
mkdir ~/make/ cd ~/make/ rm -rf ~/make/shadowsocks-libev git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev git submodule update --init --recursive yum install -y gettext gcc autoconf libtool automake make asciidoc xmlto c-ares-devel libev-devel mbedtls-devel mbedtls libsodium libsodium-devel pcre-devel ./autogen.sh && ./configure && make sudo make install
懒得描述命令含义了,一遍安完就 OK 了。
3.2 、制作 SS-Lib 守护进程
官方没有守护进程介绍,于是就参照本站以前的 SSR 制作一份。
3.2.1 、制作 SS-Lib 单用户守护进程
vim /usr/lib/systemd/system/shadowsocks.service
[Unit] Description=Shadowsocks Server After=network.target [Service] LimitCORE=infinity LimitNOFILE=51200 LimitNPROC=51200 ExecStartPre=/bin/mkdir -p /run/shadowsocks ExecStartPre=/bin/chown nobody:nobody /run/shadowsocks ExecStart=/usr/local/bin/ss-server -c /etc/shadowsocks.json -f /run/shadowsocks/ss.pid PIDFile=/run/shadowsocks/ss.pid Restart=on-abort [Install] WantedBy=multi-user.target
3.2.2 、制作 SS-Lib 多用户守护进程
vim /usr/lib/systemd/system/shadowsocks.service
[Unit] Description=Shadowsocks Server After=network.target [Service] LimitCORE=infinity LimitNOFILE=51200 LimitNPROC=51200 Type=simple ExecStartPre=/bin/mkdir -p /run/shadowsocks ExecStartPre=/bin/chown nobody:nobody /run/shadowsocks ExecStart=/usr/local/bin/ss-manager --manager-address /run/shadowsocks/ss.sock -c /etc/shadowsocks.json -f /run/shadowsocks/ss.pid -a nobody start ExecStop=/usr/local/bin/ss-manager --manager-address /run/shadowsocks/ss.sock -c /etc/shadowsocks.json -f /run/shadowsocks/ss.pid -a nobody stop PIDFile=/run/shadowsocks/ss.pid Restart=always [Install] WantedBy=multi-user.target
3.3 、制作 SS 配置文件
关于配置文件,WIKI 有详细介绍 [链接]
3.3.1 、制作 SS-Lib 单用户配置文件
vim /etc/shadowsocks.json
{ "server":["0.0.0.0", "::"], "server_port":12300, "password":"password", "timeout":300, "method":"aes-256-gcm", "user":"nobody", "nameserver":"1.1.1.1", "mode": "tcp_and_udp", "fast_open": true }
3.3.2 、制作 SS-Lib 多用户配置文件
vim /etc/shadowsocks.json
{ "server":["0.0.0.0", "::"], "port_password": { "12311":"password1", "12312":"password2", "12313":"password3", "12314":"password4" }, "timeout":300, "method":"aes-256-gcm", "user":"nobody", "nameserver":"1.1.1.1", "mode": "tcp_and_udp", "fast_open": true }
3.4 、试运行检查
单用户使用以下命令测试
/usr/local/bin/ss-server -c /etc/shadowsocks.json -f /run/shadowsocks/ss.pid
多用户使用以下命令测试
/usr/local/bin/ss-manager --manager-address /run/shadowsocks/ss.sock -c /etc/shadowsocks.json
只要没有提示错误就算正常,Ctrl+C 退出。
3.5 、运行情况
我们可以在 SS-Lib 启动后查看 shadowsocks 进程状态(下文为多用户版状态)
● shadowsocks.service - Shadowsocks Server
Loaded: loaded (/etc/systemd/system/shadowsocks.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2018-11-18 12:00:00 CST; 1h 20min ago
Main PID: 17629 (ss-manager)
CGroup: /system.slice/shadowsocks.service
├─17629 /usr/local/bin/ss-manager --manager-address /run/shadowsocks/ss.sock -c /etc/shadowsocks.json -f /run/shadowsocks/ss.pid -a nobody start
├─17632 ss-server --manager-address /run/shadowsocks/ss.sock -f /root/.shadowsocks/.shadowsocks_12311.pid -c /root/.shadowsocks/.shadowsocks_12311.conf -t 300 -a ...
├─17634 ss-server --manager-address /run/shadowsocks/ss.sock -f /root/.shadowsocks/.shadowsocks_12312.pid -c /root/.shadowsocks/.shadowsocks_12312.conf -t 300 -...
├─17636 ss-server --manager-address /run/shadowsocks/ss.sock -f /root/.shadowsocks/.shadowsocks_12313.pid -c /root/.shadowsocks/.shadowsocks_12313.conf -t 300 -...
└─17638 ss-server --manager-address /run/shadowsocks/ss.sock -f /root/.shadowsocks/.shadowsocks_12314.pid -c /root/.shadowsocks/.shadowsocks_12314.conf -t 300 -...
Nov 18 12:00:00 usa.starryvoid.com ss-server[17674]: tcp server listening at 0.0.0.0:12314
Nov 18 12:00:00 usa.starryvoid.com ss-server[17674]: tcp server listening at [::]:12314
Nov 18 12:00:00 usa.starryvoid.com ss-server[17674]: udp server listening at 0.0.0.0:12314
Nov 18 12:00:00 usa.starryvoid.com ss-server[17674]: udp server listening at [::]:12314
4 、相关链接
Shadowsocks-Windows 项目页面 [链接]
Shadowsocks-Libev 项目页面 [链接]
Configuration via Config File [链接]
Systemd 入门教程 [链接]
系统文件最大打开数等一些上限的限制 [链接]