ShadowSocks-Manager是一个ShadowSocks的流量账户web控制项目

安装

  1. 安装shadowsocks,强烈推荐使用 libev 版本
  2. 安装Node.js 6.* 或更高版本
  3. 安装ssmgr

主控端

  1. 一台已经完成部署的SSMGR节点端
  2. 一个SMTP发件服务。(企业邮箱SMTP服务需要开启)
  3. 至少 512 MB 内存。
  4. 一个纯净的系统。

如果你满足以上条件,那么可以开始下面的主控端部署教程。

依赖安装

直接复制运行就好了 Debian/Ubuntu

apt-get -y update

apt-get -y install wget curl screen nano

CentOS/RHEL

yum install -y wget curl screen nano

安装NodeJS

不多说,NodeJS是运行时必要的语言环境 32位的系统使用:

mkdir /usr/local/nodejs

  1. wget -N –no-check-certificate https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x86.tar.gz
    tar -xf node-v6.9.1-linux-x86.tar.gz -C /usr/local/nodejs/
    rm -rf node-v6.9.1-linux-x86.tar.gz
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x86/bin/node /usr/local/bin/node
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x86/bin/npm /usr/local/bin/npm

64位的系统使用:

  1. mkdir /usr/local/nodejs
    wget -N –no-check-certificate https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.gz
    tar -xf node-v6.9.1-linux-x64.tar.gz -C /usr/local/nodejs/
    rm -rf node-v6.9.1-linux-x64.tar.gz
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/node /usr/local/bin/node
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/npm /usr/local/bin/npm

NodeJS6就安装完成了。

安装Shadowsocks-libev

wget –no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks\_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

安装SS-Manager

  1. npm i -g shadowsocks-manager
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/ssmgr /usr/local/bin/ssmgr

配置SS-MGR主控端信息

首先创建配置文件夹,编辑配置文件

  1. mkdir -p ~/.ssmgr/
    nano ~/.ssmgr/webgui.yml

请将下面的配置文件完整复制粘贴,并且按照其中的提示进行修改,请不要删减空格,否则会出错!

  1. type: m
    empty: false
     
    manager:
    address: 127.0.0.1:8989 #这里请将127.0.0.1和8989 设置为你节点服务器的IP和端口
    password: ‘123456’ #这里请讲 123456 设置为你的节点服务器SSMGR的密码,请注意两边需要 ‘ 包含起来
    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: ‘admin@admin.com‘ #这里请填写你的发件服务器的完整邮箱地址,请注意两边需要 ‘ 包含起来
    password: ‘123456’ #这里请改为你发件邮箱的密码,请注意两边需要 ‘ 包含起来
    host: ‘smtp.mxhichina.com’ #这里请注意改为你的发件服务器的SMTP发件地址,请注意两边需要 ‘ 包含起来
    webgui:
    use: true
    host: ‘0.0.0.0’
    port: ‘80’
    site: ‘ss.com’ #这里请输入你的网站域名,不需要填写http:// ,请注意两边需要 ‘ 包含起来
    gcmSenderId: ‘456102641793’
    gcmAPIKey: ‘AAAAGzzdqrE:XXXXXXXXXXXXXX’
    alipay:
    use: true
    appid: 2015012108272442
    notifyUrl: ‘’
    merchantPrivateKey: ‘xxxxxxxxxxxx’
    alipayPublicKey: ‘xxxxxxxxxxx’
    gatewayUrl: ‘https://openapi.alipay.com/gateway.do'
    #如果想起用支付宝当面付接口,可以配置上方的信息。当然也可以不填写,就无法付款
    db: ‘webgui.sqlite’

修改完成后请保存退出。nano 的保存退出方法:按一下 Ctrl + X键,输入Y,然后回车。

配置SS-Manager

这一步是非常繁琐的,请跟着教程一步步来。 首先我们创建一个存放配置文件的文件夹在当前用户文件夹下面

  1. mkdir -p ~/.ssmgr/

然后在里面新建一个文件,名字叫ss.yml

  1. nano ~/.ssmgr/ss.yml

在编辑器里面输入以下内容,请注意这里的空格数量一定要对,否则会无法识别:

  1. type: s
    empty: false
    shadowsocks:
    address: 127.0.0.1:8989
    manager:
    address: 0.0.0.0:9000
    password: 123456
    db: ‘ss.sqlite’

完成后同时按键盘 Ctrl 和 X 键,然后按一下 Y,再按一下回车即可保存此文件,回到终端命令行。如果此处不会用,请自行百度搜索 nano 编辑器的使用方法。

启动节点端

然后启动SS-Libev的多用户模式:

  1. screen -dmS ss-manager ss-manager -m $method -u --manager-address 127.0.0.1:8989

启动SSMGR的节点端程序:

  1. cd ~/.ssmgr
    screen -dmS ssmgr ssmgr -c ss.yml
    cd ..

这两条命令之后,节点端就算是启动完毕了。可以运行 screen -ls 查看是否有两个screen在运行。如果有就没有问题,否则表示配置失败。

运行主控端服务

下面我们运行下主控端服务,测试下到底有没有配置成功。

  1. cd ~/.ssmgr
    ssmgr -c webgui.yml

如果没有命令立刻退出,而是处于长期等待过程,那么表示配置文件没有错误,按下 Ctrl + C 可以进行下一步。否则请检查你的配置文件。

开启80端口以及对应端口

 

后台保持运行SSMGR主控

确定配置没有问题后可以这样使得主控端后台持续运行。

  1. cd ~/.ssmgr
    screen -dmS webgui ssmgr -c webgui.yml
    cd ..

主控端开机运行脚本

cd ~/.ssmgr
screen -dmS ss-libev ss-manager -m aes-256-cfb -u –manager-address 127.0.0.1:8989
screen -dmS ssmgr ssmgr -c ss.yml
screen -dmS webgui ssmgr -c webgui.yml
cd ..

 

节点端

 

安装依赖

首先安装好系统必备的组件 Debian / Ubuntu

  1. apt-get update
    apt-get install -y build-essential wget curl tar unzip gettext build-essential screen autoconf automake libtool openssl libssl-dev zlib1g-dev xmlto asciidoc libpcre3-dev libudns-dev libev-dev nano

CentOS / RHEL

  1. yum groupinstall “Development Tools” -y
    yum install wget curl tar unzip -y
    yum install -y gcc gettext-devel unzip autoconf automake make zlib-devel libtool xmlto asciidoc udns-devel libev-devel
    yum install -y pcre pcre-devel perl perl-devel cpio expat-devel openssl-devel mbedtls-devel screen nano

安装NodeJS

因为是SSMGR是一个基于NodeJS开发的模块,所以先要安装Nodejs,版本为6.X

32位的系统使用:

  1. mkdir /usr/local/nodejs
    wget -N –no-check-certificate https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x86.tar.gz
    tar -xf node-v6.9.1-linux-x86.tar.gz -C /usr/local/nodejs/
    rm -rf node-v6.9.1-linux-x86.tar.gz
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x86/bin/node /usr/local/bin/node
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x86/bin/npm /usr/local/bin/npm

64位的系统使用:

  1. mkdir /usr/local/nodejs
    wget -N –no-check-certificate https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.gz
    tar -xf node-v6.9.1-linux-x64.tar.gz -C /usr/local/nodejs/
    rm -rf node-v6.9.1-linux-x64.tar.gz
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/node /usr/local/bin/node
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/npm /usr/local/bin/npm

至此,NodeJS6就安装完成了。

安装SS-Libev

wget –no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks\_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

安装SSMGR

终于到了安装面板的部分了,我们直接使用NPM包管理器来安装,当然想自己编译安装的也可以参考官网上的步骤来。

  1. npm i -g shadowsocks-manager
    ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/ssmgr /usr/local/bin/ssmgr

如果没有一大串红色的错误,那么说明你安装完成了。

配置SS-Manager

这一步是非常繁琐的,请跟着教程一步步来。 首先我们创建一个存放配置文件的文件夹在当前用户文件夹下面

  1. mkdir -p ~/.ssmgr/

然后在里面新建一个文件,名字叫ss.yml

  1. nano ~/.ssmgr/ss.yml

在编辑器里面输入以下内容,请注意这里的空格数量一定要对,否则会无法识别:

  1. type: s
    empty: false
    shadowsocks:
    address: 127.0.0.1:8989
    manager:
    address: 0.0.0.0:9000
    password: 123456
    db: ‘ss.sqlite’

完成后同时按键盘 Ctrl 和 X 键,然后按一下 Y,再按一下回车即可保存此文件,回到终端命令行。如果此处不会用,请自行百度搜索 nano 编辑器的使用方法。 6.启动节点端 然后启动SS-Libev的多用户模式:

  1. screen -dmS ss-manager ss-manager -m aes-256-cfb -u --manager-address 127.0.0.1:8989

启动SSMGR的节点端程序:

  1. cd ~/.ssmgr
    screen -dmS ssmgr ssmgr -c ss.yml
    cd ..

这两条命令之后,节点端就算是启动完毕了。可以运行 screen -ls 查看是否有两个screen在运行。如果有就没有问题,否则表示配置失败。

配置防火墙

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

节点端开机运行脚本

cd ~/.ssmgr
screen -dmS ss-libev ss-manager -m aes-256-cfb -u –manager-address 127.0.0.1:8989
screen -dmS ssmgr ssmgr -c ss.yml
cd ..