新增或禁用客户端

原始 1.5 版本的 NP 新增或禁用某个客户端,需要操作数据库,1.6 后可在管理后台直接操作。

新增客户端

第一步,查看此客户端的某个 PeerID 和其 Agent,这在 Nginx 的请求日志中都可以找到。如下的一个请求日志:162.158.179.96 – [06/Mar/2023:13:38:48 +0800] https “GET /announce.php?authkey=1|1|Z59arJ&info_hash=%3d%1fg%60i%cc%e6%7d%60%ff%08%a8sV%fe%f2_j%ccL&peer_id=-qB4510-suRrbsFbAE3k&port=17787&uploaded=0&downloaded=0&left=165963596&corrupt=0&key=F4EA9A31&event=started&numwant=200&compact=1&no_peer_id=1&supportcrypto=1&redundant=0 HTTP/1.1” 200 95 “” “qBittorrent/4.5.1”

可以得到 PeerID:-qB4510-suRrbsFbAE3k,Agent:qBittorrent/4.5.1。我们看对 qBittorrent 4.x 系列的支持规则:

系列和起始名称,随便写,这个不是关键信息。

Peer ID 起始,也即最低一个版本的 PeerID 左边公共部分。4.x 第一个版本就是 4.0.0,上边看到 4.5.1 的 PeerID 左边是 -qB451,无脑认为 4.0.0 的就是 -qB400,当然可以实际安装一个来请求一下证实。这里就填 -qB400。

PeerID 正则,必须保证格式正确且能正确匹配完整的 PeerID。其中有多少个()就是下边的匹配次数,这两个要一致。截图中的正则保证是 ‘-qB4’ 开头,后接两位0~9的数字,比较宽松,也基本足够了。

PeerID 匹配类型,即正则中()要匹配的数值的进制类型,dec 是 10 进制,hex 为 16 进制,一般版本号使用的都是 10 进制,这里选择 dec 即可。

PeerID 匹配次数,也即正则中()的数量,代表要考察几个数值。

至于 Agent 部分,跟 PeerID 是一样的逻辑。

排除,即排除此规则下的某个版本。如果要排除,得勾选此选项,再添加拒绝客户端。

允许 https,现在都是了,勾选 yes。

下面示例添加 Transmission 4.x,得到日志如下:172.70.211.78 – [06/Mar/2023:16:04:32 +0800] https “GET /announce.php?authkey=40|1|Z59arJ&info_hash=%A4N%B4%EE%06L%E5%3A%AF%2A%83%1F%D0%2F%ECn%93%0A%85%5D&peer_id=-TR4010-hummt8jc97pg&port=51413&uploaded=0&downloaded=0&left=35564&numwant=0&key=1733447064&compact=1&supportcrypto=1&event=stopped HTTP/1.1” 200 136 “” “Transmission/4.0.1”

很显然,PeerID: -TR4010-hummt8jc97pg,Agent: Transmission/4.0.1,按以下添加即可:

拒绝客户端

在允许 qBittorrent 4.x 的规则下,我们来排除 4.5.1 这个版本。在编辑界面下方,点击 Deny 右边的创建按钮:

在允许客户端列表,右上角有检测按钮,点击可以测试某个客户端是否被允许。

这里我们勾选了排除,并且添加了 qBittorrent 4.5.1 的拒绝规则,检测结果是不被允许。

客户端也会显示此信息:

注:1.7 版本有缓存需要等待 10 分钟生效,1.8 以上缓存会及时更新。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注