• 推荐!搬瓦工官方代理,自动更换被封IPJust My Socks

ad

shadowsocks多用户流量限制

基于hellofwy的ss-bash改了一个基于Ubuntu 16.04的shadowsocks多用户配置,流量统计管理与限制~ss-bash on Ubuntu 16.04,搭建ss,可以配置多个用户,监测每个用户的流量,限制用户使用等等~ :smile: 目前支持python版本shadowsocks,科学上网:VPS上搭建shadowsocks:wink:

更详细多需求shadowsocks多用户配置,可以参考:shadowsocks配置多用户多密码

可视化流量与用户管理控制需求参考:shadowsocks-manager实现ss多用户管理与流量限制

 

shadowsocks多用户与流量管理与限制使用说明

  • 下载脚本
git clone https://github.com/Flyzy2005/ss-bash.git
  • 首次运行时,先新建用户

例如新用户端口为8388,密码为test,流量限制10GB(也可以是10KB,10MB),执行:

ss-bash/ssadmin.sh add 8388 test 10G
  • 自定义配置

配置文件的基本信息在ss-bash/ssmlt.template中(一般不需要改),可以根据你的需求添加相关项(请注意每个选项后必需有英文逗号(’,’)),默认为:

"server": "0.0.0.0",
"timeout": 300,
"method": "aes-256-cfb",

默认的采样间隔为600秒,可以通过修改ss-bash/sslib.sh中的INTERVEL的值来更改:

INTERVEL=600

sserver文件的位置默认为/usr/local/bin/ssserver,如果按照shadowscoks安装教程来安装,默认的路径就在这里。如果不是,请按需修改ss-bash/sslib.sh中的SSSERVER的值:

SSSERVER=/usr/local/bin/ssserver
  • 启动ssserver
ss-bash/ssadmin.sh start
  • 其他命令介绍可查看帮助
ss-bash/ssadmin.sh help

 

其他

其实这个shadowsocks多用户与流量管理与限制脚本的原理就是通过iptables规则来控制用户的连接与断开,更多iptables基本概念,请戳iptables系列详解~

原版更多ss-bash说明

点赞
  1. Jason说道:

    有支持 CentOS的吗

  2. centos7说道:

    不支持centos7吗

    1. flyzy小站说道:

      centos7安装node的方式不一样

  3. 说道:

    试了一下这个脚本,手机端使用流量好像统计不上,有点头大。
    准备卸载了试试另一个

    1. flyzy小站说道:

      这个应该是一样统计的

  4. zbx说道:

    想卸载ss-bash怎么操作?直接删除?

  5. weiweidounai说道:

    大佬,怎么对新建的这些用户进行管理,比如我创建了3个用户,其中一个想更改密码了。

    1. flyzy小站说道:

      你不能修改用户的密码,用户的密码只有用户自己改。你可以删除用户或者修改ss账号的密码

  6. 说道:

    为什么我用设置的端口和密码设置shadowsocks后 无法打开google

  7. 张三说道:

    流量不统计。。。。

  8. junyang说道:

    请问这个流量统计是以自然月为单位进行统计的么?月初会自动清零吗?

  9. 来学习说道:

    git clone https://github.com/Flyzy2005/ss-bash.git
    你好,如何验证查看这脚本里有没有木马信息,后门啥的?
    或者如果用其他网站的脚本,又如何去验证呢?

    1. flyzy小站说道:

      ...我的脚本都是开源的啊 你可以看代码

    2. EvinK说道:

      伸手党 :lol:

  10. 安提说道:

    博主大大 怎么能知道有多少用户连接了我的SS呢

  11. 安提说道:

    小白一个 请教一下博主怎么删除新建的用户端口

    1. flyzy小站说道:

      输入ss-bash/ssadmin.sh help可以查看各个命令介绍

      1. 安提说道:

        厉害了 :evil:

  12. NoGrief说道:

    支持ss-go么??

    1. flyzy2005说道:

      不支持,目前只支持ss-python

  13. 栋耍说道:

    f637ff5fe2e8ac92dc1888258511573e是什么PHP校验码?

    1. flyzy2005说道:

      这是什么?

  14. 说道:

    root@vultr:~#
    root@vultr:~# 2
    2: command not found
    root@vultr:~# 3
    3: command not found
    root@vultr:~# "server": "0.0.0.0",
    No command 'server:' found, did you mean:
    Command 'server' from package 'rsplib-legacy-wrappers' (universe)
    server:: command not found
    root@vultr:~# "timeout": 300,
    No command 'timeout:' found, did you mean:
    Command 'timeout' from package 'coreutils' (main)
    timeout:: command not found
    root@vultr:~# ss-bash/ssmlt.template
    -bash: ss-bash/ssmlt.template: Permission denied
    root@vultr:~# "server": "0.0.0.0",
    No command 'server:' found, did you mean:
    Command 'server' from package 'rsplib-legacy-wrappers' (universe)
    server:: command not found
    root@vultr:~# "timeout": 300,
    No command 'timeout:' found, did you mean:
    Command 'timeout' from package 'coreutils' (main)
    timeout:: command not found
    root@vultr:~# "method": "aes-256-cfb",
    method:: command not found
    大佬我想是一键配置的脚步,想多添加一个端口,但是当我想尝试一下自定义配置是就出现上面的情况,就出现上面的情况显示找不到这些?这是什么情况呢?

    1. flyzy2005说道:

      这个是配置文件的内容,不是命令

      1. 说道:

        好的,那我在输入ss-bash/ssmlt.template这个命令以后,才可以添加一下的内容呢?
        "server": "0.0.0.0",
        "timeout": 300,
        "method": "aes-256-cfb",

        1. flyzy2005说道:

          这个是本来就有的啊,我教程里不是写的吗,“默认为:”

  15. 二狗子说道:

    小哥,我的ssmlt.json文件貌似有问题。
    root@vultr:~# /usr/local/bin/ssserver -c ssmlt.json -d start
    INFO: loading config from ssmlt.json
    Traceback (most recent call last):
    File "/usr/local/bin/ssserver", line 11, in
    load_entry_point('shadowsocks==2.8.2', 'console_scripts', 'ssserver')()
    File "/usr/local/lib/python2.7/dist-packages/shadowsocks/server.py", line 34, in main
    config = shell.get_config(False)
    File "/usr/local/lib/python2.7/dist-packages/shadowsocks/shell.py", line 149, in get_config
    with open(config_path, 'rb') as f:
    IOError: [Errno 2] No such file or directory: 'ssmlt.json'
    这是我ssmlt.json文件的内容
    {
    "server": "0.0.0.0",
    "timeout": 300,
    "method": "aes-256-cfb",
    "port_password": {
    "8388": "10086",
    "8384": "10010",
    }
    }
    我也不知道哪里错了,用winscp看文件也没有缺少文件啊

    1. flyzy2005说道:

      你为什么要在执行这个命令?这个错误是当前目录下没有ssmlt.json这个文件。
      你如果一定要执行这个命令,先到这个文件所在目录,再执行你的命令。

  16. 66说道:

    大佬,之前测试的时候启动成功了,之后又启动不了。。。
    root@vultr:~# ss-bash/ssadmin.sh start
    sscounter.sh启动中...
    3396 pts/0 S+ 0:00 /bin/bash /root/ss-bash/sscounter.sh
    sscounter.sh已启动
    ssserver启动中...
    ssserver启动失败

    1. flyzy2005说道:

      应该有个ssmlt.json这个配置文件,你看下这个配置文件有没有问题。或者你执行/usr/local/bin/ssserver -c ssmlt.json -d start看看有没有错误

      1. 66说道:

        :biggrin: :biggrin: :idea: :idea: 感谢大佬,已经设置成功了 :idea: :rolleyes: :rolleyes: :rolleyes: :rolleyes:

      2. LIPE说道:

        你好,ss-fly一键脚本能用这个么,我测试的时候能用,然后过了一天就启动sssever失败了,执行这个命令好像是文件不存在,

        1. flyzy小站说道:

          用一键脚本搭建的ss服务也是可以用这个的。
          什么文件不存在?

          1. LIPE说道:

            ss-fly一键脚本sscounter能启动,sssever启动不了,/usr/local/bin/ssserver -c ssmlt.json -d start有错误,ssmlt文件不存在。不过麻烦博主了,我换了一步一步搭建的ss,现在没有问题

          2. bigdong说道:

            我也出现了这个问题,请问如何解决的?