镜像域名 doub.bid 提供给无翻墙能力的人访问,有能力的建议访问主域名:doub点io(防镜像替换 自己改点)
投稿文章 | 广告投放 | Telegram 群组 / 公告频道

『原创』ShadowsocksR MudbJSON模式多用户一键脚本 支持流量限制等

Shadowsocks Toyo 361评论
文章目录
[显示]
本文最后更新于 2017年11月18日 12:37 可能会因为没有更新而失效。如已失效或需要修正,请留言!

其实这个脚本在当初 ShadowsocksR 单服务器多用户 mudbjson模式使用教程 支持流量限制 文章发布后,我就打算出的,然后因为各种原因拖到现在,然后在上个月底本来因为暂停更新文章一个多月打算写这个来个大的,结果破娃突然不维护ShadowsocksR项目了,我就不知道还要不要写了,于是又搁置了。

直到这段时间内各种人同IP多个马甲在我网站内评论各种说 SSR药丸、SSR辣鸡、大家都去用XX吧等言论,搞得我很烦,这是不是太明显了点?所以我用行动证明,我依然使用并支持ShadowsocksR!


更多的Shadowsocks安装教程/一键脚本请看这里:Shadowsocks指导篇

ShadowsocksR MudbJSON模式 手动安装教程:ShadowsocksR 单服务器多用户 mudbjson模式使用教程 支持流量限制

本脚本的 二维码图片链接,是调用我自建的 二维码API 来生成二维码图片( http://doub.pw/qr/qr.php?text=xxx )。

当访问API页面后,PHP网页文件会把 GET参数( ?text=xxx ) 传递给JS脚本,浏览器会加载JS脚本,然后由JS脚本根据 GET参数的文本 生成二维码图片!图片是在你本地浏览器中生成,服务器中不存在图片!

请确定你信任我和我的脚本,否则请不要用我的脚本,少BB!

系统要求

CentOS 6+ / Debian 6+ / Ubuntu 14.04 +

推荐 Debian 7 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。并且最容易安装锐速(锐速不支持OpenVZ)

CentOS 7 自带防火墙问题(firewalld)自行解决,其他版本没有做测试。

脚本版本

Ver: 1.0.20

本脚本与另一个SSR脚本 『原创』CentOS/Debian/Ubuntu ShadowsocksR 单/多端口 一键管理脚本 的区别是什么?

ssrmu.sh 脚本是单服务器多用户脚本,使用的是 SSR服务端的MudbJSON模式,可以给每个用户(端口)设置不同的加密方式/协议/混淆/限制速度/设备数限制/可用总流量等功能。即实现单服务器多用户流量管理等功能。

ssr.sh 则是单服务器单用户脚本,使用的是 SSR服务端的单用户配置方式,即使实现了多端口,但是还算不算多用户,不支持每个用户(端口)不同的加密方式/协议/混淆等,并且无法管理流量使用。

如何选择这两个脚本?

根据你的需求选择,比如你仅仅是 一个或两个人使用,并且不需要流量管理功能,那么选择 ssr.sh 好了。而如果很多人使用,并且都需要限制流量来管理,那你适合使用 ssrmu.sh ,所以自己看着选,多试试(两个脚本不能共存)

脚本特点:

所有步骤都可以通过 Shell 脚本中文交互 操作。

  1. 支持 限制 用户速度
  2. 支持 限制 用户设备数
  3. 支持 限制 用户总流量
  4. 支持 定时 流量清零
  5. 支持 显示 当前连接IP
  6. 支持 显示 SS/SSR连接+二维码
  7. 支持 自定义账号IP或域名
  8. 支持 监控SSR服务端运行状态
  9. 支持 一键安装 BBR
  10. 支持 一键安装 锐速
  11. 支持 一键安装 LotServer
  12. 支持 一键封禁 垃圾邮件(SMAP)/BT/PT

安装步骤

简单的来说,如果你什么都不懂,那么你直接一路回车就可以了!

本脚本需要Linux root账户权限才能正常安装运行,所以如果不是 root账号,请先切换为root,如果是 root账号,那么请跳过!

sudo su

输入上面代码回车后会提示你输入当前用户的密码,输入并回车后,没有报错就继续下面的步骤安装ShadowsocksR。


注意:如果你安装的有我的另一个 ssr.sh 脚本,请先卸载ShadowsocksR服务端,再安装这个脚本(不能共存)!

wget -N --no-check-certificate https://softs.fun/Bash/ssrmu.sh && chmod +x ssrmu.sh && bash ssrmu.sh

备用下载地址(上面的链接无法下载,就用这个):

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssrmu.sh && chmod +x ssrmu.sh && bash ssrmu.sh

下载运行后会提示你输入数字来选择要做什么。

输入 1 ,就会开始安装ShadowsocksR服务端,并且会提示你输入Shadowsocks的 端口/密码/加密方式/ 协议/混淆(混淆和协议是通过输入数字选择的) 等参数来添加第一个用户。

注意:用户名不支持中文,如果输入中文会一直保存下去!

如果安装过程中报错,请看 常见问题解决方法

点击展开 查看更多

使用说明

运行脚本,

bash ssrmu.sh

# 还有一个 运行参数,是用于所有用户流量清零的
bash ssrmu.sh clearall
# 不过不需要管这个,可以通过脚本自动化的设置 crontab 定时运行脚本

输入对应的数字来执行相应的命令。

  ShadowsocksR MuJSON一键管理脚本 [vX.X.X]
  ---- Toyo | doub.bid/ss-jc60 ----

  1. 安装 ShadowsocksR
  2. 更新 ShadowsocksR
  3. 卸载 ShadowsocksR
  4. 安装 libsodium(chacha20)
————————————
  5. 查看 账号信息
  6. 显示 连接信息
  7. 设置 用户配置
  8. 手动 修改配置
  9. 清零 已用流量
————————————
 10. 启动 ShadowsocksR
 11. 停止 ShadowsocksR
 12. 重启 ShadowsocksR
 13. 查看 ShadowsocksR 日志
————————————
 14. 其他功能
 15. 升级脚本
 
 当前状态: 已安装 并 已启动

请输入数字 [1-15]:

注意:添加/删除/修改 用户配置后,无需重启ShadowsocksR服务端,ShadowsocksR服务端会定时读取数据库文件内的信息,不过修改 用户配置后,可能要等个十几秒才能应用最新的配置(因为ShadowsocksR不是实时读取数据库的,所以有间隔时间)。

文件位置

安装目录:/usr/local/shadowsocksr

配置文件:/usr/local/shadowsocksr/user-config.json

数据文件:/usr/local/shadowsocksr/mudb.json

注意:ShadowsocksR服务端不会实时的把流量数据写入 数据库文件,所以脚本读取流量信息也不是实时的!

其他说明

ShadowsocksR 安装后,自动设置为 系统服务,所以支持使用服务来启动/停止等操作,同时支持开机启动。

  1. 启动 ShadowsocksR:/etc/init.d/ssrmu start
  2. 停止 ShadowsocksR:/etc/init.d/ssrmu stop
  3. 重启 ShadowsocksR:/etc/init.d/ssrmu restart
  4. 查看 ShadowsocksR状态:/etc/init.d/ssrmu status

ShadowsocksR 默认支持UDP转发,服务端无需任何设置。

本脚本已经集成了 安装/卸载 锐速(ServerSpeeder)/Lotserver,但是是否支持请查看 Linux支持内核列表 。(锐速、LotServer不支持OpenVZ)


注意:本脚本中的 显示链接信息中的 获取IP归属地功能使用的是 IPIP.NET 的免费API接口,因为限速所以每秒只能检测一次,同时 IPIP.NET 的免费API接口并不会保证稳定性,可能什么时候就突然暂时失效了,这是本人不可控的,有条件可以自建API接口。

ShadowsocksR目前支持的协议和混淆:

协议(Protocol):origin,auth_sha1_v4,auth_aes128_md5,auth_aes128_sha1,auth_chain_a,auth_chain_b

混淆(Obfs):plain,http_simple,http_post,random_head,tls1.2_ticket_auth,tls1.2_ticket_fastauth(这个是客户端用的,而服务端需要选择tls1.2_ticket_auth)

origin 和 plain 是原版,加粗的是推荐使用的。

如果你想要使用 tls1.2_ticket_fastauth 混淆插件,那么服务端选择 tls1.2_ticket_auth,客户端选择 tls1.2_ticket_fastauth 即可。

如果服务端 设置混淆参数为:tls1.2_ticket_auth_compatible (兼容原版)

那么客户端 可使用的混淆为:plain / tls1.2_ticket_auth / tls1.2_ticket_fastauth

tls1.2_ticket_authtls1.2_ticket_fastauth 的区别为,后者不会等待服务器回应,所以不会增加延迟。适合于,因为混淆插件增加延迟的原因不得不选择原版混淆 plain,但是又因为QOS等因素而处于延迟与干扰/限速等之间抉择的时候,可以选择 tls1.2_ticket_fastauth 客户端混淆插件!

使用阿里云/腾讯云等存着安全组或规则组一类外部防火墙的请注意

点击展开 查看更多

ShadowsocksR 端口限速中 单线程限速 和 端口总限速 的区别

注意:如果要使用脚本中的这个功能,需要重新下载脚本,并重装安装 2月15日 以后的ShadowsocksR服务端才行。

请查看这个文章:ShadowsocksR服务端 限制设备连接数 和 限制端口速度 的方法

解决 可使用原版协议,但无法使用ShadowsocksR协议 的问题

点击展开 查看更多

提示 Media change: please insert the disc labeled‘Debian GNU/Linux 7.0.0 Wheezy — Official amd64 CD 等信息是 apt源 的问题,更换 apt源

点击展开 查看解决办法

ShadowsocksR启动失败,日志提示:Exception: libsodium not found 的错误

这是你使用了 chacha20 系列加密方式,但是却没有安装 libsodium支持库,导致ShadowsocksR无法启动,运行脚本选择选项 4 安装 libsodium支持库即可,如果安装失败,请选择其他的加密方式,对速度影响不大。

提示wget: unknown host “softs.fun” 之类的错误

这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。

点击展开 查看更多

提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。

点击展开 查看更多

升级脚本

升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。

定时重启

一些人可能需要定时重启ShadowsocksR服务端来保证稳定性等,所以这里用 crontab 定时。

点击展开 查看更多

更新日志

2017年11月17日,版本 v1.0.20

1. 修复 部分CentOS系统出现无法获取配置文件中设定的IP/域名信息的问题。

2017年11月16日,版本 v1.0.19

1. 新增 监控ShadowsocksR服务端运行状态功能。

—— 该功能每分钟自动检查ShadowsocksR服务端运行状态,如果服务端未运行则自动启动SSR服务端,适用于SSR服务端经常关闭的情况,该选项位于 14. 其他功能 – 7. 监控 ShadowsocksR服务端运行状态

2017年11月16日,版本 v1.0.18

1. 新增 添加用户配置结束后,会询问是否继续添加,可以选择 Y 或者 N,方便多次添加账号。

点击展开 查看更多


更多的Shadowsocks安装教程/一键脚本请看这里:Shadowsocks指导篇

转载请超链接注明:逗比根据地 » 『原创』ShadowsocksR MudbJSON模式多用户一键脚本 支持流量限制等
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (142)or打赏
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(361)个小伙伴在吐槽
  1. 我现在都设置好了 但是复制了地址放到客户端上 一直是超时 为啥??
    逸哥2017-11-23 22:21 (15小时前)回复
    • 客户端的服务器链接统计如果一直提示超时,可能有以下几种情况:
      1. 服务器内部防火墙未开放端口(脚本默认开放,除非是CentOS7系统)
      2. 服务器外部防火墙未开放端口(比如:阿里云、腾讯云、微软云、谷歌云、亚马逊云等大一些的IDC才有)
      3. SSR服务端未正常运行。
      4. IP被墙(如果你能访问就不是)。
      5. IP被你的运营商屏蔽(如果你能访问就不是)。
      6. SSR客户端端口填错(如果是扫描二维码或者导入SSR链接则排除)
      等等暂时想不起来...
      
      我需要很多信息才能判断原因,请加Telegram群组Telegram使用教程)私聊联系我详细交流。
      Toyo2017-11-24 01:00 (13小时前)回复
  2. 为什么点修改用户 那个用户和端口填对了也说端口错误啊
    逸哥2017-11-23 21:37 (16小时前)回复
    • 具体复现步骤写出来。
      Toyo2017-11-23 21:44 (16小时前)回复
      • 我想查看我的用户信息 选择5 然后出现用户数量 用户名 端口 和流量 让我输入 查看账号信息的用户端口 我输入2333 然后说用户信息获取失败 Traceback (most recent call last): File "mujson_mgr.py", line 358, in main() File "mujson_mgr.py", line 353, in main manage.list_user(user) File "mujson_mgr.py", line 210, in list_user print("### user [%s] info %s" % (row['user'], self.userinfo(row, muid))) File "mujson_mgr.py", line 120, in userinfo ret += "\n " + self.ssrlink(user, False, muid) File "mujson_mgr.py", line 81, in ssrlink link = ("%s:%s:%s:%s:%s:%s" % (self.server_addr, user['port'], protocol, user['method'], obfs, common.to_str(base64.urlsafe_b64encode(common.to_bytes(user['passwd']))).replace("=", ""))) + protocol_param UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
        逸哥2017-11-23 21:55 (16小时前)回复
  3. 请问有没有批量添加用户的脚本?
    一起来逗比2017-11-23 20:22 (17小时前)回复
    • 木有,想要再方便一点,就手动打开 /usr/local/shadowsocksr/mudb.json 数据文件,按照格式批量复制粘贴添加,建议修改前先去查查JSON格式要求,否则如果格式写错,启动SSR会报错。
      Toyo2017-11-23 20:58 (17小时前)回复
      • mudb.json里边有两个参数没搞明白,我按照格式加了之后一直报错,d和u这两个参数代表什么呢?除了这个mmudb.json文件之外其他的不需要改吧
        一起来逗比2017-11-24 11:47 (2小时前)回复
        • d 指的是 该端口(该用户) 产生的下载流量(相对于SSR客户端来说的)u 则指的是 上传流量 。
          Toyo2017-11-24 11:51 (2小时前)回复
          • 多谢了,找到原因了,原来mudb.json的配置文件之间还有个逗号,之前拉掉一直报错,mark一下
            一起来逗比2017-11-24 12:28 (1小时前)回复
      • 之前在一个脚本里边看到过有批量生成用户的这个bash,https://github.com/since199411/SSR-Bash,有时间加进来吧,感觉很实用的
        一起来逗比2017-11-24 11:50 (2小时前)回复
1 2 3 4