SS-Lib 的安装记录

2018-11-18 2086点热度 2人点赞

闲来无聊安装一个 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 入门教程 [链接]

系统文件最大打开数等一些上限的限制 [链接]

StarryVoid

Have a good time