ssmgr是一款很优秀的ss控制面板,基于node环境,安装简单,只需两个配置文件即可。界面朴素,管理方便。如果你想几个人共享使用你的ss,个人感觉很适合!

安装准备

  1. 一台1GB内存或者大于1GB的服务器(干净的系统),建议Debian8 x64。(如果内存小于1GB,可以添加交换空间,参考 Linux服务器添加交换空间)

  2. 事先预先安装 shadowsocks-libev(选择libev版本)。 安装完之后关闭默认的

    1
    2
    
    /etc/init.d/shadowsocks stop
    chmod -R 000 /etc/init.d/shadowsocks
  3. 一个域名。

  4. 演示地址:幼儿园

安装

  1. 安装node环境: 安装Node.js 8.*(以下安装命令仅适用于Debian),其它系统安装方式参考nodesource。 bash curl -sL https://deb.nodesource.com/setup_8.x | bash - apt-get install -y nodejs 卸载nodejs bash apt remove nodejs rm -fv /etc/apt/sources.list.d/nodesource* apt-key del 1655A0AB68576280
  2. 安装shadowsocks-manager: bash npm i -g shadowsocks-manager --unsafe-perm
  3. 安装pm2,pm2是node进程管理工具,可以保持配置文件后台运行。

    1
    
    npm i -g pm2

    配置使用

  4. 启动shadowsocks,指定 manager address,启动后会监听这个 udp 端口,可以使用 supervisor 来保证shadowsocks后台启动。 输入以下命令安装supervisor:

    1
    
    apt-get install supervisor -y

    创建supervisor配置文件,用来后台启动shadowsocks。务必一次性复制以下所有内容,粘贴到终端执行。(以下内容是一条命令:即使用echo命令向ssmgr.conf文件中写入引号内的内容)

    1
    2
    3
    4
    5
    
    echo ";启动ss
    [program:ss-manager] 
    command=ss-manager -m chacha20 -u --manager-address 127.0.0.1:6000
    autorestart=true 
    user=root" > /etc/supervisor/conf.d/ssmgr.conf

    重载配置文件,使之生效:

    1
    
    supervisorctl reload
  5. 创建配置文件目录进入目录:

    1
    
    mkdir ~/.ssmgr && cd .ssmgr
  6. 在 .ssmgr 目录下创建 ss.yml 文件: ss.yml与webgui.yml配置文件中的IP可以填写服务器的公网IP;若使用带有内网IP的服务器,比如阿里云,腾讯云,亚马逊,那就需要填写内网IP;或者也可以直接使用 0.0.0.0代替,这样就不用考虑该公网IP还是内网IP。还有配置文件中的部分信息自行更改,比如 password,email的配置信息

    1
    
    vim ss.yml

    将以下内容写入到 ss.yml 文件中(∗ 要保证此处shadowsocks的端口与上面启动shadowsocks的端口一致):

    1
    2
    3
    4
    5
    6
    7
    
    type: s
    shadowsocks:
    address: 127.0.0.1:6000
    manager:
    address: 0.0.0.0:6006
    password: 'password'
    db: 'ss.sqlite'

    首先使用以下命令启动 s 端,查看有没有错误:

    1
    
    ssmgr -c ss.yml

    保证没有错误的前提下,使用pm2使s端后台运行 :

    1
    
    pm2 --name "ss" -f start ssmgr -x -- -c ss.yml
  7. 在 .ssmgr 目录下创建 webgui.yml 文件:

    1
    
    vim webgui.yml

    将以下内容写入到 webgui.yml 文件中( webgui.yml 文件 manager的端口和密码需要跟上一步 manager 参数里的保持一致,以连接 type s 部分监听的 tcp 端口):

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    type: m
    empty: false
    manager:
    address: IP:6006
    password: 'passwd'
    plugins:
    flowSaver:
    use: true
    user:
    use: true
    account:
    use: true
    email:
    use: true
    type: 'smtp'
    username: ''
    password: ''
    host: ''
    webgui:
    use: true
    host: '0.0.0.0'
    port: '80'
    site: 'http://ss.joyace.xyz'
    alipay:
    use: true
    appid: 
    notifyUrl: ''
    merchantPrivateKey: ''
    alipayPublicKey: ''
    gatewayUrl: 'https://openapi.alipay.com/gateway.do'
    db: 'webgui.sqlite'

    首先使用以下命令启动 m端,查看有没有错误:

    1
    
    ssmgr -c webgui.yml

    保证没有错误的前提下,使用pm2使它后台运行 :

    1
    
    pm2 --name "webgui" -f start ssmgr -x -- -c webgui.yml

    执行以下命令实现ssmgr开机自启:

    1
    
    pm2 save && pm2 startup

或者也可以使用supervisor保证s端与m端运行在后台 除了使用pm2,也可以使用supervisor用来保证ssmgr的 s端与 m端在后台运行。继续追加以下内容到 ssmgr.conf 中

写入以下内容。同样,一次性复制以下所有内容,粘贴到终端执行。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
echo ";s端
[program:ss]
command=ssmgr -c ss.yml
directory=/root/.ssmgr/
authrestart=true
use=root
;m端
[program:webgui]
command=ssmgr -c webgui.yml
directory=/root/.ssmgr/
authrestart=true
use=root" >> /etc/supervisor/conf.d/ssmgr.conf
1
supervisorctl reload

这样就可以保证ssmgr程序后台运行,且开机自启或者遇到异常退出后也可自动重启。如果不想使用pm2管理进程,可以考虑使用一下supervisor。两者任选其一就行了。

  1. 以上步骤不出差错的话,打开你的域名(或IP)就会出现web界面,第一个注册的账户就是管理员。

请输入图片描述

很清新的后台,漂亮的饼图(我这个比较挫,大佬的饼图都是五颜六色的)

请输入图片描述

若要更新到最新版本或者安装指定版本,执行以下命令;@x.x.x可选,指的是版本号。

1
npm i -g shadowsocks-manager@x.x.x