Mark

ShadowsocksR单服务器多用户模式搭建
1、前言 之前一直都是以单服务器单用户的模式来使用shadowsocksR的。但随着使用人数的增多,需要一定的管理...
扫描右侧二维码阅读全文
08
2018/06

ShadowsocksR单服务器多用户模式搭建

1、前言

之前一直都是以单服务器单用户的模式来使用shadowsocksR的。但随着使用人数的增多,需要一定的管理及规范,就必须启用多用户模式(mudbjson模式)了。
多用户使用用到现在,已经有好几个月了,这个多用户功能非常强大、稳定,除了没有面板(CP),一切都很不错!没有任何问题发生!
启用多用户模式很简单,因为shadowsocksR服务端就包含了多用户版本与单用户版本。(根目录为多用户版,子目录shadowsocks为单用户版)
多用户模式的功能较多,可以实现用户、限速、限制使用人数、流量限制等等功能。非常实用!
下面说说如何启用多用户模式。


2、基本环境搭建

centos:

yum -y install git
yum -y install python-pip

ubuntu/debian:

apt-get -y install git
apt-get -y install python-pip

如需要启用 salsa20 和 chacha20 这2种加密方式,需要安装 libsodium


3、下载SSR的源码

git clone https://github.com/hao35954514/shadowsocksR-b.git

执行完毕后,当前的目录会多一个shadowsocksR-b目录。其中shadowsocksR-b的是多用户版,子目录中的shadowsocks是单用户版。
根目录:shadowsocksR-b
子目录:shadowsocksR-b/shadowsocks


4、初始化配置

cd shadowsocksR-b/
bash initcfg.sh

替换API接口(原 sspanelv2 改为 mudbjson)

sed -i "s/API_INTERFACE = 'sspanelv2'/API_INTERFACE = 'mudbjson'/" userapiconfig.py

5、参数说明

使用说明: 
python mujson_mgr.py -a|-d|-e|-c|-l [选项( -u|-p|-k|-m|-O|-o|-G|-g|-t|-f|-i|-s|-S )]

操作:
  -a ADD               添加 用户
  -d DELETE            删除 用户
  -e EDIT              编辑 用户
  -c CLEAR             清零 上传/下载 已使用流量
  -l LIST              显示用户信息 或 所有用户信息

选项:
  -u USER              用户名
  -p PORT              服务器 端口
  -k PASSWORD          服务器 密码
  -m METHOD            服务器 加密方式,默认: aes-128-ctr
  -O PROTOCOL          服务器 协议插件,默认: auth_aes128_md5
  -o OBFS              服务器 混淆插件,默认: tls1.2_ticket_auth_compatible
  -G PROTOCOL_PARAM    服务器 协议插件参数,可用于限制设备连接数,-G 5 代表限制5个
  -g OBFS_PARAM        服务器 混淆插件参数,可省略
  -t TRANSFER          限制总使用流量,单位: GB,默认:838868GB(即 8PB/8192TB 可理解为无限)
  -f FORBID            设置禁止访问使用的端口
                       -- 例如:禁止25,465,233~266这些端口,那么这样写: -f "25,465,233-266"
  -i MUID              设置子ID显示(仅适用与 -l 操作)
  -s value             当前用户(端口)单线程限速,单位: KB/s(speed_limit_per_con)
  -S value             当前用户(端口)端口总限速,单位: KB/s(speed_limit_per_user)

一般选项:
  -h, --help           显示此帮助消息并退出

多用户的本地JSON数据库文件位置:shadowsocksR-b/mudb.json


6、添加用户

添加一个用户:lightime。示例:

    端口:3333
    密码:lighti.me
    加密方式:chacha20
    协议插件:auth_aes128_md5
    协议参数:5 (同一时间链接设备数)
    混淆插件:tls1.2_ticket_auth_compatible(兼容原版)
    单线程限速:500KB/s
    端口总限速:1000KB/s
    总流量:10GB
    禁止访问端口:25,465,233-266

那么命令为:

python mujson_mgr.py -a -u lightime -p 3333 -k lighti.me -m chacha20 -O auth_aes128_md5 -G 5 -o tls1.2_ticket_auth_compatible -s 500 -S 1000 -t 10 -f "25,465,233-266"

添加用户的时候选项 -u 用户名 -p 端口 -k 密码 是必写的,其他参数都有默认值,可忽略。用户名和端口不可冲突添加(添加会提示错误)。
同时在下面其他的操作和示例中,如 编辑/删除/查看用户配置 等操作,必须指定 用户名或端口 其中一个(因为这两个是唯一的,所以用来区分用户)。
正确添加用户后会提示以下内容:

### add user info
    user : lightime
    port : 3333
    method : chacha20
    passwd : lighti.me
    protocol : auth_aes128_md5
    protocol_param : 5
    obfs : tls1.2_ticket_auth_compatible
    transfer_enable : 10.0  G Bytes      # 这个账号(端口)可使用的总流量
    u : 0                                # 这个账号(端口) 已使用的上传流量,单位: K
    d : 0                                # 这个账号(端口) 已使用的下载流量,单位: K
    forbidden_port : 25,465,233-266      # 禁止访问使用的端口
    speed_limit_per_con : 500            # 单线程限速 500KB/s
    speed_limit_per_user : 1000          # 端口总限速 1000KB/s
    ssr://XX.XX.XX.XX:3333:auth_aes128_md5:chacha20:tls1.2_ticket_auth:ZG91Yi5pbw
    ssr://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

本篇文章出处https://www.quchao.net 转载请注明来源


7、编辑用户

比如修改lightime的流量限制为100G。有2种修改方式。

python mujson_mgr.py -e -u lightime -t 100    #以用户修改
python mujson_mgr.py -e -p 3333 -t 100        #以端口修改

正确修改之后会提示以下内容:

### add user info
    user : lightime
    port : 3333
    method : chacha20
    passwd : lighti.me
    protocol : auth_aes128_md5
    protocol_param : 5
    obfs : tls1.2_ticket_auth_compatible
    transfer_enable : 100.0  G Bytes     # 这个账号(端口)可使用的总流量
    u : 0                                # 这个账号(端口) 已使用的上传流量,单位: K
    d : 0                                # 这个账号(端口) 已使用的下载流量,单位: K
    forbidden_port : 25,465,233-266      # 禁止访问使用的端口
    speed_limit_per_con : 500            # 单线程限速 500KB/s
    speed_limit_per_user : 1000          # 端口总限速 1000KB/s
    ssr://XX.XX.XX.XX:3333:auth_aes128_md5:chacha20:tls1.2_ticket_auth:ZG91Yi5pbw
    ssr://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

8、删除用户

同样有2种方式

python mujson_mgr.py -d -u lightime   #以用户为依据删除
python mujson_mgr.py -d -p 3333       #以端口为依据删除

运行后会提示:delete user [lightime]


9、其他操作

python mujson_mgr.py -l                  #查看所有用户信息
python mujson_mgr.py -l -u lightime      #查看单个用户信息(包括流量使用情况)
python mujson_mgr.py -c -u lightime      #用户使用流量清零
增加、编辑、删除用户配置,会即时生效,无需重启shadowsocksR服务端!

10、服务端控制

需要进入根目录来进行控制!
先给根目录下所有的sh文件执行的权限:

chmod +x *.sh

具体控制:

./run.sh       #后台运行 但不记录日志
./logrun.sh    #后台运行 且 记录日志
./tail.sh      #查看日志
./stop.sh      #停止服务端

清空日志:

cat /dev/null > ssserver.log

主机推荐

Last modification:April 15th, 2019 at 10:49 pm
如本文“对您有用”,欢迎随意打赏我,让我坚持创作!

Leave a Comment

9 comments

  1. 彭小呆   Windows 7 x64 Edition Windows 7 x64 Edition Google Chrome 73.0.3683.103 Google Chrome 73.0.3683.103

    你好,我想问下,我的从window的ssr中看到我的连接数有20到30多个是什么原因,我自己搭建的ss,账号密码应该只有我知道呀,然后我电脑的环境是连接了一个wifi,是这个原因吗?


    1. Mark   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 73.0.3683.103 Google Chrome 73.0.3683.103
      @彭小呆

      连接数并非用户连接数,原理同流量统计软件里面的连接数。


      1. 彭小呆   Android 9 Android 9 QQbrowser QQbrowser
        @Mark

        谢谢你的回答,我想知道你怎么拿到我的头像的啊,我只填了邮箱呀。然后你的marklogo会动是GIF图是吗,还是怎么实现的。OωO


        1. Mark   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 73.0.3683.103 Google Chrome 73.0.3683.103
          @彭小呆

          如果用的QQ邮箱且为数字的时候会用正则取你的QQ号码,然后利用腾讯头像api获取你的头像,GIF图是用PS做的动图(GIF)。


          1. 彭小呆   Windows 7 x64 Edition Windows 7 x64 Edition Google Chrome 73.0.3683.103 Google Chrome 73.0.3683.103
            @Mark

            谢谢哦!我也去试试。(´இ皿இ`)


  2. wisepanda   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 70.0.3538.110 Google Chrome 70.0.3538.110

    64M的小鸡能用吗?⌇●﹏●⌇


    1. Mark   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 70.0.3538.110 Google Chrome 70.0.3538.110
      @wisepanda

      如果只是这个服务是可以的


  3. ZAERA   Windows 10 x64 Edition Windows 10 x64 Edition Firefox 60.0 Firefox 60.0

    支持一下,写篇文章不容易


    1. Mark   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 66.0.3359.181 Google Chrome 66.0.3359.181
      @ZAERA

      知道不容易记得点击一下打赏按钮~OωO