Closed zhongfly closed 9 months ago
感谢反馈!
已实现回复中 2, 部分实现 3 (默认窗口热键: CTRL+ALT+B. 经过测试, 托盘和快捷键之间对窗口管理会起一些冲突, 暂时不想继续排查), 并发布 1.8 版本.
例如进度一直为0但是上传量已经超过种子大小的0.1%
这个主要是举例,不过我看到有其他屏蔽工具更加严格,条件是进度为0且上传量大于10M。 如果未来可以支持的话,可以考虑具体数值(例如10M)与种子大小百分比都支持,并且这两种值都可以自定义,然后程序根据设置来限制。 例如取两者的最大值作为限制值,又或者是其中一个留空、满足另一个不为空的条件就限制。
不过仔细想想进度为0这个条件也不完美,如果变成自己上传一定量后对方的进度变化为0会更合理,但这显然就难度加大变麻烦了,有些不太现实
已实现回复中 1, 开启 config 中的 banByPU 即可启动此功能, 并发布 1.9 版本. 由于 3 个功能均基本完成, 视为此 Issue 基本解决并随回复一起关闭. 判断规则: Peer 实际下载量为 Torrent 大小乘以进度百分比, 若客户端上传量大于 Torrent 大小的 2%, 且 Peer 实际下载量的 5 倍却比客户端上传量还小, 则认为 Peer 是有问题的并自动封禁. (由于缺乏测试条件, 此功能未经测试)
若 Peer 实际下载量的 5 倍比客户端上传量还小
那么这样考虑了进度可能滞后吗?假如对方进度是0,本地上传1kb那也被封禁了吧
目前来说, 5 倍即是避免进度滞后的余量, 确实未考虑到特殊值的情况, 待我加一个起始条件...
目前来说, 5 倍即是避免进度滞后的余量, 确实未考虑到特殊值的情况, 待我加一个起始条件...
百分比可以额外加一个0.几%,在0进度时,就是我提的第一条…
伪代码表示一下意思(float64(torrentTotalSize) * (clientProgress + 0.002) * 5) < float64(clientUploaded)
5和0.002也许可以调小
edit:看到最新的条件了,感觉是这个意思
规则已修改为: float64(clientUploaded) > (float64(torrentTotalSize) 0.02) && (float64(torrentTotalSize) clientProgress * 5) < float64(clientUploaded) 2% 即 0.02, 即 100MB Torrent 会有 2MB 上传量的起始判断条件, 但对于 10MB Torrent 就只会有 0.2MB 了. 我已重新发版, 希望能修复此问题.
补充: 未来将开放此功能的设置.
规则已修改为: float64(clientUploaded) > (float64(torrentTotalSize) 0.02) && (float64(torrentTotalSize) clientProgress * 5) < float64(clientUploaded) 2% 即 0.02, 即 100MB Torrent 会有 2MB 上传量的起始判断条件, 但对于 10MB Torrent 就只会有 0.2MB 了. 我已重新发版, 希望能修复此问题.
如果这2个值(2%和5)可以开放设置也不错,因为不同的人/环境可能有不同的评判标准
已完成, 将在未来的下一版本开放此功能的设置, 并已在代码中完善此部分相关说明. 注意: config 中的 BanByPU 将被更名为 BanByProgressUploaded, 这是一个破坏性改动, 与之相关的 3 个设置项 BanByProgressUploaded, BanByPUStartPrecent 及 BanByPUAntiErrorRatio 将不会默认放置在 config.json 中. BanByPUStartPrecent 是百分比而非小数.
2.0 版本已经发布, 这些改动均已应用. 未来的下一版本将增加 BanByPUStartMB 的设置, 可以设定起始上传量要求, 与其它条件是 和 (and) 的关系. 未来的相关更新说明将只在 Release Note 内进行.
默认窗口热键: CTRL+ALT+B
我在win10上测试,发现只会最小化窗口到任务栏……和窗口自带的最小化没有区别
目前不知道是不是bug:当qb的密码错误时,程序不会报错,没有任何提示(debug设置为true也如此)
目前不知道是不是bug:当qb的密码错误时,程序不会报错,没有任何提示(debug设置为true也如此)
刚刚在最新 Commit 上编译测试的, qBUsername: "admin", qBPassword: "". [2024-01-19 11:53:39][Login] 登录失败: 账号或密码错误. [2024-01-19 11:53:39][Main] 认证失败.
请注意 2.1 版本引入了破坏性改动: Config 内 username 更名为 qBUsername, Config 内 password 更名为 qBPassword. 若 qBUsername 为空, 则是直接跳过登录的, 因为不具备登录条件, 会转变为其它部分的报错.
(2.1-2.3 期间因 bug 登录功能不可用, 与账号密码无关, 已在 2.4 修复)
默认窗口热键: CTRL+ALT+B
我在win10上测试,发现只会最小化窗口到任务栏……和窗口自带的最小化没有区别
这一功能在 Windows Server 2022 上测试通过, 测试结果表明可隐藏整个窗口, 可能不同的子版本有些许差异, 由于无测试环境暂时无法进一步排查. Windows 11 确有相关改动, 参见 https://stackoverflow.com/questions/75877438/how-to-hide-console-in-windows-11.
关于屏蔽清理,我想问一下,是不是程序启动时,之前在qb里手动添加的屏蔽ip会被清理掉? 我目前发现了这个现象,在关闭程序后又恢复成启动前的屏蔽ip了,我觉得这挺不错的,只是想问下是有意这样做的吗?
关于屏蔽清理,我想问一下,是不是程序启动时,之前在qb里手动添加的屏蔽ip会被清理掉? 我目前发现了这个现象,在关闭程序后又恢复成启动前的屏蔽ip了,我觉得这挺不错的,只是想问下是有意这样做的吗?
是有意的, 避免重新开启程序后出现重复追加 IP 地址的情况, 因为程序的屏蔽列表是在内存中进行维护.
因为anacrolix/torrent的问题找到这个屏蔽工具,使用后有几点功能建议