2022-12-08 21:07:03 +11:00

48 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 设备连接限制功能说明
由于大量面板不再支持远程设备限制指定,现增加本地设备限制参数。
如需启用,可在配置文件中将`DeviceLimit`设为非0值注意此设置会覆盖远程获取的用户设备限制数目。
配置文件详见:[配置文件说明](../xrayr-pei-zhi-wen-jian-shuo-ming/config.md#mian-ban-dui-jie-pei-zhi)
{% hint style="info" %}
每一个独立IP地址视为一个设备。
{% endhint %}
## SSPanel 全局设备限制
当XrayR版本>=v0.7.1SSpanel版本>=[2021.9](https://github.com/Anankke/SSPanel-Uim/releases/tag/2021.9)XrayR将会针对SSPanel启用全局设备限制功能。此时不同后端结点将会全局限制独立IP连接数量而非各后端本地限制。
当设备限制为1时不同结点之间的切换会受到限制建议至少设置设备数为2。并且由于SSPanel面板限制IP连接信息可能需要至少2分钟才能传递到全部的后端结点因此在2分钟内的同时连接将不能被限制。
## 全局设备限制
当XrayR版本>=v0.8.7可以启用基于redis的全局设备限制功能可以跨节点支持基于IP的设备限制兼容所有面板。可在`ControllerConfig` 中配置如下项。
```yaml
GlobalDeviceLimitConfig:
Enable: false # Enable the global device limit of a user
RedisAddr: 127.0.0.1:6379 # The redis server address
RedisPassword: YOUR PASSWORD # Redis password
RedisDB: 0 # Redis DB
Timeout: 5 # Timeout for redis request
Expiry: 60 # Expiry time (second)
```
| 参数 | 说明 |
| ------------- | ------------------------------------------------------------------------------- |
| Enable | 是否启用全局设备限制,设备限制数量由面板下发、或由配置文件中的`DeviceLimit`指定 |
| RedisAddr | redis连接地址不同节点需要连接到同一redis数据库来实现全局设备限制 |
| RedisPassword | redis密码 |
| RedisDB | redis数据库编号 |
| Timeout | 连接redis超时时间单位秒 |
| Expiry | redis中存储的在线用户过期时间单位秒 |
{% hint style="info" %}
如果同一redis下对接了多个面板结点建议同一面板下的结点使用同一redis数据库编号以保证不同面板之间独立限制。
{% endhint %}
{% hint style="info" %}
XrayR全局设备限制需要访问Redis服务器用户第一次连接时会引入额外的延迟。我们实现了缓存机制只会在用户第一次访问结点时和redis通讯后续访问会直接从缓存中读取因此不会引入额外的延迟。
{% endhint %}