本文最后更新于 437 天前,其中的信息可能已经有所发展或是发生改变。
原创文章保留所有权利,允许提前告知征得同意并在明显位置保留原文链接的转载,任何无视版权的行为将受到搜索引擎的 DMCA 投诉。
Introduction
群晖的 Download Station 用的是 Transmission. 最近下载BT,发现有不少 Xunlei 0.0.1.8,只下载不上传.但是由于群晖的动态库不太一样,尝试加载DLP失败了.就另辟蹊径,通过 Download Station API 获取 Peer 信息,筛选出吸血驴,限速到 1 Package/S.不但能防止吸血驴吸血,还能拖住吸血驴的资源
Structure
Download Station API -> Python script -> IPtables
Highlight
- 自动识别吸血驴并屏蔽+自动恢复
- 支持 IPv6
- Python 脚本,自定义度高
Efficacy
Configuration
data.json
修改 SYNOAPI_PREFIX
, USERNAME
, PASSWORD
三个字段, 保存即可
{
"data": {
"config": {
"SYNOAPI_PREFIX": "http://IP:PORT/",
"LOGIN_API": "webapi/auth.cgi?api=SYNO.API.Auth&version=2&method=login&account=USERNAME&passwd=PASSWORD&session=DownloadStation&format=sid'",
"PEER_API": "webapi/DownloadStation/task.cgi?api=SYNO.DownloadStation.Task&version=1&method=list&additional=peer",
"EMULE_API": "webapi/entry.cgi?api=SYNO.DownloadStation2.Task.eMule&version=1&method=list_upload",
"USERNAME": "USERNAME(with admin permission)",
"PASSWORD": "PASSWORD"
},
"blacklist": [
................
Installation
Dependence
在套件中心安装 Python3 即可
Run When Start
既然能看到这里, 开机启动应该不是一件难事,就可以跳过这一段
Debug
- 标准输出和错误输出均重定向在 /tmp/deny.log
- 防火墙可以使用 $iptables-save$, $ip6tables-save$ 查看