月下博客

ShadowsocksR服务端 限制设备连接数 和 限制端口速度 的方法

本文最后更新于 2018年1月19日 15:29 可能会因为没有更新而失效。如已失效或需要修正,请留言!

在使用ShadowsocksR服务端中,经常会有人需要 限制设备连接数 和 限制端口速度 以防止Shadowsocks账号被滥用,但是以前一直没有什么好的方法。

2017年2月15日 ShadowsocksR更新新版本,支持了 限制端口速度 的参数,至于 限制设备连接数,这个很早就有了,但是还是有人不知道,我就单独写个简单教程说明好了。


查看以下教程前,请先升级你的ShadowsocksR服务端为最新版本(2月15日以后),否则可能功能不完整。

首先要说的是,限制设备数和限速功能,全都是依赖于 协议插件,这意味着:

  1. 如果你服务端 协议设置(protocol) 的是 原版(origin) 时,设备数限制、限速无效。
  2. 如果你服务端 协议设置(protocol) 的是 协议兼容原版 ,那么当用户使用 原版协议(origin) 连接账号时,设备数限制、限速无效。

限制设备连接数

点击展开 查看更多

限制设备连接数的这个功能,很早就有了,就是修改协议参数: protocol_param

打开你的配置文件,假设你在 /root 文件夹中安装的ShadowsocksR服务端,那么就是:

vi /root/shadowsocksr/user-config.json

找到协议参数(参数为空 "" 时,默认限制 64个设备数)

"protocol_param": "",

在协议参数中设置你要限制 每个端口最大设备连接数(建议最少2个),比如 限制最大 5个设备同时链接,那么改为:

"protocol_param": "5",
注意:协议参数仅在服务端 协议设置(protocol)为 非原版(origin)协议并不兼容原版(_compatible) 时才有效!

另外注意:目前只有 auth_chain_* 系列协议可以实时计算设备数,其他的 协议插件 则都是5分钟计算一次,所以可能并不准确。

如果你服务端 协议设置(protocol) 的是 原版(origin) 时,设备数限制无效。

如果你服务端 协议设置(protocol) 的是 协议兼容原版 ,那么当用户使用 原版协议(origin) 连接账号时,设备数限制无效。

限制端口速度

限制端口速度这个功能,是 2017年2月15日凌晨 才更新新添加的功能,我的一键ShadowsocksR管理脚本已经支持了这个设置。

点击展开 查看更多

打开你的配置文件,假设你在 /root 文件夹中安装的ShadowsocksR服务端,那么就是:

vi /root/shadowsocksr/user-config.json

新增的两个参数分别是(参数为 0 时,默认代表不限速):

"speed_limit_per_con": 0,
"speed_limit_per_user": 0,

单位是 KB/S ,也就是我们平时下载文件的速度单位,我们家庭宽带100兆就是: 100Mbps / 8 = 12.5MB/S * 1024 =12800KB/S

比如我们要设置 单线程限速 1MB/S ,端口总限速 3MB/S ,那么就这样写:

"speed_limit_per_con": 1024,
"speed_limit_per_user": 3072,

speed_limit_per_con 指的是,单线程限速。

当你使用这个端口 下载某个文件时,单线程下载限速 100KB/S ,多线程下载(比如5个线程)就是 500KB/S 了,Youtube是单线程。

speed_limit_per_user 指的是,端口总限速。

使用这个端口的总速度被限制为 100KB/S

举例子说明:

假设设置,单线程限速 100KB/S ,端口总限速不限制,那么:

  • 你单线程下载文件速度为 100KB/S ,你多线程 5个线程就是 500KB/S

假设设置,单线程限速 100KB/S ,端口总限速 300KB/S 那么:

  • 你单线程下载文件速度为 100KB/S ,你多线程最多 300KB/S

假设设置,单线程限速不限制,端口总限速 800KB/S 那么:

  • 你单线程下载文件速度为 800KB/S ,你多线程最多也是 800KB/S
注意:单线程限速和端口总限速是独立的,当然在限速的时候不可能精确到100%,所以速度可能会上下波动 10% 左右。

如果你服务端 协议设置(protocol) 的是 原版(origin) 时,限速无效。

如果你服务端 协议设置(protocol) 的是 协议兼容原版 ,那么当用户使用 原版协议(origin) 连接账号时,限速无效。


有不懂得地方可以在下面留言。

转载请超链接注明:月下博客 » ShadowsocksR服务端 限制设备连接数 和 限制端口速度 的方法
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!