tonyhsie 发表于 2023-7-23 14:59:14

qBittorrentBlockXunlei: 幫 qBittorrent 阻擋迅雷 跟其它吸血 bt (2024/10/8 更新)

本帖最后由 tonyhsie 于 2024-10-8 06:46 编辑

[前言]

最近在 QB 內看到不少迅雷用戶,上傳了幾 G 後,它們的完成進度還是 0,擺明就是來騙吃騙喝的

上網找了一下 QB 擋迅雷腳本,但沒找到比較方便好用的,於是就自己動手寫了

主要是參考 https://zhuanlan.zhihu.com/p/511730024 以及 https://bbs.acgrip.com/forum.php?mod=viewthread&tid=3872 這兩位高手的作法


(PT 禁止使用 qBittorrent Enhanced Edition,所以不用問為什麼不用 QEE....)



[正文]

此軟體會在固定時間間隔 (預設 10 秒,可自行透過參數設定) 裡,透過 qBittorrent 的 WebUI 來獲取所有 torrent 的所有客戶端資訊

然後按照預定規則,找出迅雷及其它吸血客戶端,回報它們的 IP 給 qBittorrent 去阻擋


目前規則是

1. 該用戶進度為 0,或是從該用戶下載到的量是 0,而且用戶客戶端為 -XL*, Xunlei, 7.*, aria2, Xfplay, dandanplay, FDM, go.torrent, Mozilla, dt/torrent/*, github.com/anacrolix/torrent (devel) (anacrolix/torrent unknown), Taipei-Torrent dev, trafficConsume, hp/torrent/*, BitComet 1.92 & 1.98, xm/torrent/*, FlashGet, Unknown *, StellarPlayer *, Gopeed *, MediaGet, aD/, ADM, coc_coc_browser, FileCroc, filecxx, Folx, seanime (devel) (anacrolix/torrent *, HitomiDownloader, gateway (devel) (anacrolix/torrent *, offline-download (devel) (anacrolix/torrent *, QQDownload

2. 上古用戶端: Azureus (3.* 及以前版本: 2008/7)、Deluge (1.1.* 及以前版本: 2009/1)、qBittorrent (2.* 及以前版本: 2012/7)、TorrentStorm (最後一版: 2005/3)、Transmission (1.* 及以前版本: 2010/5)、BitComet (0.*: 2008/2))、µTorrent (1.*:2009/10)

3. 用戶端名字 < 4 個字,或用戶端含有非 ASCII 可顯示字元(µ、μ 除外),或用戶端名字類似 "GT 0.0.0.2"、"HP 0.0.0.1" 這種型式

4. 該用戶進度為 0,已上傳給該用戶 10M 以上的量

5. 已上傳給該用戶,超過種子內容大小的數據

6. 該用戶回報的進度與上傳量不成比例

7. 對於連線到同一種子的 "同一網段的所有客戶端" (如:223.241.234.* 或 ),如果客戶端的總數 >= 5 時,則同時封鎖這些客戶端,並封鎖之後新連入的同網段客戶端

8. 若同一網段下陸陸續續已有 5 個客戶端被封鎖,直接封鎖全網段

9. 在程式啟動時,以及每隔 1 天會清空所有被擋的用戶 IP,避免永久封鎖可能會造成的誤鎖


程式截圖




[使用需知]

1. 需先設定 qBittorrent 的 WebUI,從 qBittorrent 的「工具」->「選項」裡選擇「WebUI」
 然後按照下圖設定,並記住你設定的埠號



2. 執行 qBittorrentBlockXunlei.exe,輸入「埠號」即可

 (或在命令列下執行 qBittorrentBlockXunlei [埠號])

3. 若要停止執行,可直接關掉視窗,或按熱鍵 ctrl-c

4. 可自行設定掃描的時間間隔,語法:qBittorrentBlockXunlei [埠號]

5. 可由本機遙控遠端的 qBittorrent,語法:qBittorrentBlockXunlei [遠端位址:埠號 "帳號" "密碼"]

6. 如何確認此程式真的有作用?

 可使用瀏覽器打開 http://127.0.0.1:54937/api/v2/app/preferences (54937 請自行代換成你先前設定的埠號)

 這是你的 qBittorrent 設置,可在裡面搜尋 qBittorrentBlockXunlei 擋掉的任意 ip,如果有找到,表示此程式正常運作中


如果有任何想法或建議,歡迎提出來討論


源碼:https://github.com/tonyhsie/qBittorrentBlockXunlei















dtlnor 发表于 2023-7-25 12:59:19

想问一下有 github repo 吗,方便射个星

tonyhsie 发表于 2023-7-25 15:32:06

dtlnor 发表于 2023-7-25 12:59
想问一下有 github repo 吗,方便射个星

目前沒公開,是私人 project


因為我懶得寫 readme.md

..........

dtlnor 发表于 2023-7-25 22:53:59

tonyhsie 发表于 2023-7-25 15:32
目前沒公開,是私人 project




生草,原來如此,感謝

skylimiter 发表于 2023-7-25 23:56:53

支持

本想安裝qbEE完事,後來接觸PT界一去不復返,qbEE被禁用很可惜
所以BT只好任憑各種吸血了

charlieego 发表于 2023-7-26 01:05:48

还有种方法:下载qBittorrent Enhanced Edition,用解压软件解压exe,在目录下创建profile文件夹,qbee就能以便携版启动,和qb共存
qb下pt,qbee下bt这样分开管理

tonyhsie 发表于 2023-7-26 01:35:16

說實在的,QEE 跟官方版最大差別,就是擋吸血用戶端

如果 PT 沒禁 QEE,那當然直接用 QEE 最省事

但如果 PT 禁 QEE,你也用了官方版 QB,這時候再用上 QEE 的必要性就不高了

建議可以試試我這個解決方案,相信會比開兩個 BT 軟體更輕便省事

tonyhsie 发表于 2023-7-26 01:47:13

本帖最后由 tonyhsie 于 2023-7-26 10:47 编辑

v230726


1. 程式啟動時若無法連接上 QB WebUI,會回報錯誤並中止;若是在正常執行時,突然連不上 WebUI,則會重複等待 60 秒後重新嘗試

2. 修改防吸血規則一,由「進度0而且下載量0」改成「進度0或是下載量0」

3. 修改防吸血規則二,由「進度0,已上傳 1M 以上」修改為「進度 0,已上傳 10M 以上」,放寬限制以防誤殺正常用戶端


下載連結




miles 发表于 2023-7-27 21:12:00

tonyhsie 发表于 2023-7-26 01:47
v230726




很好用,抓了很多迅雷,还有一两个FDM,就是现在迅雷很多ipv6了,还会同ip换端口。

tonyhsie 发表于 2023-7-28 09:31:19

v230728


1. 增加重設 banned_IPs 的功能,在程式啟動時,以及每隔 1 天會重設所有 banned_IPs,避免永久封鎖可能會造成的誤鎖


下載連結


页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: qBittorrentBlockXunlei: 幫 qBittorrent 阻擋迅雷 跟其它吸血 bt (2024/10/8 更新)