ss-manager 配置

一年更新一次,摸了

环境

干净且不带 BBR 的 Centos7 系统

shadowsocks-libev 包含 ss-manager

Vultr 需要安 ss + WebGUI + ssmgr

Bandwagonhost 需要 ss + ssmgr-tiny

(不搞混就行了

PS. Vultr 用锐速是真的快,魔改 BBR 什么的完全比不上好吗。。。

两台机器都要配置

依赖包

yum update -y
yum install epel-release -y
yum install wget net-tools zlib-devel openssl-devel git vim wget gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y

shadowsocks-libev + simple-obfs

export LIBSODIUM_VER=1.0.16
wget https://download.libsodium.org/libsodium/releases/libsodium-$LIBSODIUM_VER.tar.gz
tar xvf libsodium-$LIBSODIUM_VER.tar.gz
pushd libsodium-$LIBSODIUM_VER
./configure --prefix=/usr && make
make install
popd
ldconfig

export MBEDTLS_VER=2.6.0
wget https://tls.mbed.org/download/mbedtls-$MBEDTLS_VER-gpl.tgz
tar xvf mbedtls-$MBEDTLS_VER-gpl.tgz
pushd mbedtls-$MBEDTLS_VER
make SHARED=1 CFLAGS=-fPIC
make DESTDIR=/usr install
popd
ldconfig

rm -rfv mbed* libso*

git clone https://github.com/shadowsocks/shadowsocks-libev.git
cd shadowsocks-libev
git submodule update --init --recursive
./autogen.sh && ./configure --prefix=/usr && make
make install 
cd ~

git clone https://github.com/shadowsocks/simple-obfs.git
cd simple-obfs
git submodule update --init --recursive
./autogen.sh
./configure && make
make install
cd ~

firewalld

systemctl stop firewalld.service  # 停止firewall
systemctl disable firewalld.service  # 禁止firewall开机启动
yum install -y iptables-services  # 安装iptables

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

service iptables save

NodeJS

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs


Vultr

shadowsocks-manager

sudo npm i -g shadowsocks-manager --unsafe-perm
ssmgr  # 会自动创建 ~/.ssmgr目录
cd ~/.ssmgr

配置节点

6001 与 ss-manager 监听端口对应

而 6002 则对应 WebGUI 端口,不要弄混

vim ss.yaml

type: s
empty: false
shadowsocks:
    address: 127.0.0.1:6001
manager:
    address: 0.0.0.0:6002
    password: '123456'
db: 'ss.sqlite'

配置 WebGUI

主机IP:WebGUI端口(6002)以及校验密码(123456)

可以先看邮件服务的区别:https://www.zhihu.com/question/24605584

SMTP 设置请参考:https://www.imhunk.com/how-to-add-gmail-to-foxmail/

PS. 不推荐国内邮件服务厂商

支付宝要设置当面付,挺麻烦的(查水表

vim webgui.yaml

type: m
empty: false
manager:
    address: your_vps_ip:6002
    password: '123456'
plugins:
    flowSaver:
        use: true
    user:
        use: true
    account:
        use: true
        pay:
            hour:
                price: 0.03
                flow: 500000000
            day:
                price: 0.5
                flow: 7000000000
            week:
                price: 3
                flow: 50000000000
            month:
                price: 10
                flow: 200000000000
            season:
                price: 30
                flow: 200000000000
            year:
                price: 120
                flow: 200000000000
    email:
        use: true
        username: 'username'
        password: 'password'
        host: 'smtp.gmail.com'
    webgui:
        use: true
        host: '0.0.0.0'
        port: '80'
        site: 'http://your_site'
        gcmSenderId: '456102641793'
        gcmAPIKey: 'AAAAGzzdqrE:XXXXXXXXXXXXXX'
    alipay:
        use: false
        appid: <支付宝 APPID>
        notifyUrl: ''
        merchantPrivateKey: '<rsa_private_key.pem 中的私钥>'
        alipayPublicKey: '<支付宝公钥>'
        gatewayUrl: 'https://openapi.alipay.com/gateway.do'
db: 'webgui.sqlite'

启动

pm2 kill -a
cd /root/.ssmgr
pm2 --watch  --name "webgui" --watch -f start ssmgr -x -- -c webgui.yaml
pm2 --watch  --name "ssmgr" -f start ssmgr -x -- -c ss.yaml
pm2 --watch  --name "ss" -f start "ss-manager -u -m aes-256-gcm --fast-open true --plugin obfs-server --plugin-opts obfs=http --manager-address 127.0.0.1:6001" 

如无意外,直接访问 IP 或设置好的域名就能看到后台页面了
register


第一个注册的账号会成为管理员,点注册按钮后页面会卡住(BUG?),但实际上已注册成功,再次打开页面登陆即可

搬瓦工

因为不需要配置 WebGUI,所以用 ss-manager-tiny

screen -dmS ss ss-manager -m aes-256-gcm -u --fast-open true --plugin obfs-server --plugin-opts obfs=http --manager-address 127.0.0.1:6001 

git clone https://github.com/gyteng/shadowsocks-manager-tiny.git
cd shadowsocks-manager-tiny
screen -dmS ssmgr node index.js 127.0.0.1:6001 0.0.0.0:4001 123456

其中 4001 端口就是用于连接 WebGUI,密码 123456 对应上面配置
server
至此,两台可用的服务器就配置完成了,进阶用法请参考官方文档

限速

iptables -A OUTPUT -p tcp -m tcp --sport your_ss_port -m limit --limit 1000/sec --limit-burst 30 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport your_ss_port -j DROP

--limit 1000/sec --limit-burst 30 单端口限速至 30 兆,根据具体情况修改

如果是小范围内使用,自己添加账号即可(会自动分配节点,再调整节点流量配额