按下 Win + X 键,Windows 11 选择 “终端管理员”,Windows 10 选择 “Windows PowerShell(管理员)”
执行以下命令并按提示选择 BT 应用程序,即可自动完成配置
iex (irm bt-ban.pages.dev)
详细请查看项目地址
PCDN 刷下载流量的越来越猖狂,做种时软件自带的反吸血也不会识别
虽然已有 PeerBanHelper 项目,但由于 BC 目前无法通过 WEBUI 获取正确的节点信息与修改配置项,因此尚未获得支持
本项目通过借用 PBH-BTN 提供的 IP 黑名单,配合 Windows 防火墙动态关键字,以及任务计划程序实现了一定程度的”动态“封禁
相比起原项目时效性较差,取决于 IP 黑名单更新的间隔
优点是无需安装任何第三方程序,且几乎没有资源占用
欢迎试用反馈
适用于 BitComet 的 BTN 外挂脚本已发布,包含本项目的 IP 黑名单,时效性更高
8個讚
用了之后立马没上传了,难道只有吸血的才能连到我
。
用的电信的手机热点给笔记本用,也是绿灯啊
好像偶尔也能看到零星几个人连,但上传跑不快最多只有几十k
1個讚
我是双线双公网,如果不是发布新种的话也是这样的,应该说这才是正常的(PT 除外)
PCDN 吸血主要是被特定的个别用户长期占满上行,导致无法分享给真正有需要的人
这个比迅雷恶劣太多,迅雷虽然吸血,但好歹资源是用户真实需要的
2個讚
IPv6端口开放拿的绿灯不等于IPv4端口开放 IPv6才几个用户 不开通V4端口根本传不了多少
BTN 的 IP 规则自动化逐步完善,规则更新频率将提高
本项目仍然保持 8 小时的更新间隔,如对时效性有要求的,建议使用 BTN 脚本加入 BTN 网络,可为服务器提供 Peers 数据用作分析,并实时更新 IP 规则(目前是 25 分钟间隔)
BTN 脚本已包含本项目 IP 黑名单的订阅
1個讚
这个正常吗?一闪而过,然后提示正常添加。
事由是开机自动更新列表后就一直有一个IP段的上传,刚刚逛论坛的时候发现3个小时之前的信息说这个IP已经进BTN了,可我被吸了4个小时以上啊。然后发现抛瓦笑代码可能需要更新,就重装了一遍,然后发现这个报错。记忆中第一次装好像也有一闪而过的红字。
20分钟后:淦,怎么重新获取黑名单之后这个IP还在啊
1個讚
这个情况不正常,无法正常配置任务计划和执行
提示看到似乎是因为 UserId 获取不正确的原因
请尝试在 PowerShell 下执行
$env:USERNAME
是否正确显示用户名称?
&{
$VBS = 'createobject("wscript.shell").run "CMD",0'
$CMD = "powershell `"`"iex (irm $PS1URL -TimeoutSec 30)`"`""
$VBS.Replace("CMD","$CMD") >$env:USERPROFILE\BT_BAN\UPDATE.vbs
$PRINCIPAL = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest
$SETTINGS = New-ScheduledTaskSettingsSet -RestartCount 5 -RestartInterval (New-TimeSpan -Seconds 60) -StartWhenAvailable -AllowStartIfOnBatteries
$TRIGGER = New-ScheduledTaskTrigger -Once -At 00:00 -RepetitionInterval (New-TimeSpan -Hours 8) -RandomDelay (New-TimeSpan -Hours 1)
$ACTION = New-ScheduledTaskAction -Execute $env:USERPROFILE\BT_BAN\UPDATE.vbs
$TASK = New-ScheduledTask -Principal $PRINCIPAL -Settings $SETTINGS -Trigger $TRIGGER -Action $ACTION
$TASK.Principal
}
以上命令粘贴至 PowerShell 执行,显示的用户名应该与上面一致
返回的结果和你的图一样(指用户名上下一致)。
说它不正常吧,有时它能提示列表更新;说它正常吧,今早开机列表没更新(BTN可能还没有新的列表)。
那再尝试逐行运行以下命令
$PS1URL = 'https://bt-ban.pages.dev/run'
$VBS = 'createobject("wscript.shell").run "CMD",0'
$CMD = "powershell `"`"iex (irm $PS1URL -TimeoutSec 30)`"`""
$VBS.Replace("CMD","$CMD") >$env:USERPROFILE\BT_BAN\UPDATE.vbs
$PRINCIPAL = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest
$SETTINGS = New-ScheduledTaskSettingsSet -RestartCount 5 -RestartInterval (New-TimeSpan -Seconds 60) -StartWhenAvailable -AllowStartIfOnBatteries
$TRIGGER = New-ScheduledTaskTrigger -Once -At 00:00 -RepetitionInterval (New-TimeSpan -Hours 8) -RandomDelay (New-TimeSpan -Hours 1)
$ACTION = New-ScheduledTaskAction -Execute $env:USERPROFILE\BT_BAN\UPDATE.vbs
$TASK = New-ScheduledTask -Principal $PRINCIPAL -Settings $SETTINGS -Trigger $TRIGGER
Register-ScheduledTask BT_BAN_UPDATE -InputObject $TASK
上面截图来看,是在最后一行出的错
如果添加失败的话,可能会比脚本里面执行提供更详细的错误信息
如果添加成功的话,可能是什么原因导致脚本中的变量没有正确赋值
这些指令会在测试过程中积累导致更多不可预测的异常吗?
应该是这里少了一个 R
这一部分是创建任务计划,每8小时更新,也可手动操作
不过很好奇是什么原因导致的报错
最后一行还是报错,但是报错的内容不一样了。
Register-ScheduledTask : 参数错误。
(20,8):UserId:
所在位置 行:1 字符: 1
+ Register-ScheduledTask BT_BAN_UPDATE -InputObject $TASK
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (PS_ScheduledTask:Root/Microsoft/...S_ScheduledTask) [R
egister-ScheduledTask],CimException
+ FullyQualifiedErrorId : HRESULT 0x80070057,Register-ScheduledTask
1個讚
感谢反馈,请问你是否计算机名称与用户名称一致?
可执行以下指令确认
$env:COMPUTERNAME
$env:USERNAME
已重现问题并修复,请重新执行确认
iex (irm bt-ban.pages.dev)
确实不一样,一个是全大写,一个是首字母大写。已经改了好几遍了,都不行。
感觉 BitComet 开放接口供 PeerBanHelper 调用才是正解,对于使用第三方防火墙的用户来说太麻烦了。
可以去這頁給作者建議,在這留言是看不到的
好的。
其实不需要“开放接口”。我后来发现 PBH 是使用 WebUI 来与 BT 软件通信的,PBH 也需要适配 BitComet。
目前 BitComet 的新版 WebUI 正在逐步完善,等 Peers 列表与设置项目可以通过 WebUI 操作时,PBH 应该也会适配
目前此方案仅作为过渡或替代
关于第三方防火墙,实际也是用 Windows 防火墙服务的接口,理论上是可以共存的
但不排除部分第三方防护会强制禁用 WIndows 防火墙的配置文件使过滤规则失效
一般来说,第三方防火墙也理应支持 IP 列表与关联程序的封禁,但可能无法自动更新列表
部分第三方防火墙可能不支持 CIDR 形式的 IP 列表,这里有转换成 IP 段形式的
https://bt-ban.pages.dev/IPRANGE.txt
新增自动提权,在新窗口中以管理员权限执行
新增自动识别 BT 应用程序(基于现有的 WIndows 防火墙规则,非全盘扫描)
更新间隔变更为每小时
通知推送在首次配置时、用户登陆时、以及每天 00:05
更新之后每次开机都提示NOTIFY.vbs权限不足
感谢反馈,请问有截图或者其他详细信息吗?
也可以执行 taskschd
打开 “任务计划程序” ,左侧导航至 “任务计划程序库”,右键点击 “BT_BAN_NOTIFY” 手动执行,应该可以重现开机时的提示