ShadowsocksR如何限制用户连接数量及速度

 

我们之前介绍过,不建议多用户、多设备同时连接一台ShadowsocksR服务器,这样可能会增加服务器IP被屏蔽的风险。话虽如此,肯定还是有朋友会有这样的需求,比如将SSR账号小范围分享给家人或朋友。这种情况下,就有必要为SSR设置一定的限制了,避免滥用问题。

 

SSR为什么会被滥用

说起滥用,我们有必要了解为什么SSR会被滥用:

  • 默认情况下,SSR的单个帐号,可以分别在64台不同的设备同时登录,即一个账号对应64个连接。
  • SSR默认并没有限速规则,理论上,每个连接的用户都有机会占据最大带宽。

由此导致人多滥用,途径:

A将密码告诉朋友B,说别告诉别人;B将密码告诉C,也说别告诉别人。。。。。。如此这般,不久所有人就都知道密码了。

而随着用户的增多,势必会出现抢占带宽的情况,拥堵由此产生。

 

解决办法

了解了SSR账号被滥用的原因,就可以针对性的进行限制了。

1.限制SSR单个账号的同时连接数。

2.限制SSR单个连接的速度。

下面分别介绍。

 

实现前提

本文所述在以下teddysun的SSR一键安装脚本基础上实现,较老版本可能不支持。

SSR一键安装脚本 (ShadowsocksR一键安装教程)

另外SSR的限流限速,需要相关协议的支持,即安装SSR服务器端时选择的协议(protocol)。

如下图所示,建议选择auth_aes128_md5开始往下的几种,最好是auth_chain开头的几个,效果更好。

 

如何限制SSR连接数量

我们只需将单个账号的同时连接数量,限制在一个较小的范围内,比如6,这样即便这个账号被100人拥有,也只能同时登录6个人。

1.用Winscp登录VPS服务器,打开ShadowsocksR的配置文件 config.json,该文件路径在/etc/shadowsocks-r/config.json。

2.找到如下参数行,双引号中间填入合适的数字,该数字即代表限制连接数。

 

3.修改完成后保存,打开Putty运行以下命令重启SSR,使设置生效:

 

如何限制SSR连接速度

1.用Winscp登录SSR服务器,打开SSR的配置文件config.json,该文件路径在/etc/shadowsocks-r/config.json。

2.在配置文件中的大括号中,添加以下两行参数,将后面的数字改为适合自己的。

其中:

  • “speed_limit_per_con”: 512,代表每个连接限速512KB。
  • “speed_limit_per_user”: 1024,代表每个端口限速1MB。

为什么有两条限速规则:

因为1个端口对应一个SSR账号,前文说了,一个账号可以在多台设备上同时登录,就是可以有多个连接数。

简单一句话,端口与连接是一对多的关系,所以要分别限制。

3.修改完成后保存,然后重启SSR使设置生效。