写了个 ban 迅雷的脚本,但是总出问题,大佬们帮忙看看哪里不太好?

2019-01-12 16:24:44 +08:00
 cpdyj0

没办法 n1 那个盒子上只有 transmission 和 qbitorrent 两个,发现 tr 有命令行工具,所以就用这个了。

#!/bin/sh
alias tr="/usr/bin/transmission-remote 127.0.0.1"
nums=`tr --list|grep -oE "^ +[0-9]+"|grep -oE "[0-9]+"`
# all torrents.
for i in $nums
do
	peers=`tr -t $i -ip|grep Xunlei|grep -oE '^([0-9]+\.)+[0-9]+'`
	# for each XunLei peer's ip
	for peerip in $peers
	do
		# if iptables has rule, do not append.
		ruletest=`iptables --list | grep $peerip `
		echo $ruletest
		if [ -z "$ruletest" ] 
		then
			# append rule.
			iptables --append OUTPUT --dest $peerip -j DROP
			echo "blockIP:$peerip"
		else
			echo "IPAddress:$peerip blocked."
		fi
	done
done
2898 次点击
所在节点    分享创造
10 条回复
webdisk
2019-01-12 16:56:33 +08:00
首先要有一个颗包容的心,不要凭借自己会法术动不动就封这封那。
xunlei 也是有上传到 transmission 的。

另外你这个封法很不好列表会增长到很大, 说不定那天对那个 IP 不通了就抓瞎了。
列表变大后效率会非常低。

正确的做法是用 ipset 解决查找效率问题, 同时开启 ipset 的超时选项, 让列表能自动缩减。
alvin666
2019-01-12 17:00:43 +08:00
好奇你的种子哪里来的,要是网上随便找的那为啥要 ban 迅雷,要是 pt,现在 pt 站从服务端就 ban 了迅雷了
msg7086
2019-01-12 17:04:22 +08:00
EridanusSora
2019-01-12 17:06:52 +08:00
natforum
2019-01-12 18:21:03 +08:00
比特彗星方便
md5
2019-01-12 18:32:54 +08:00
迅雷现在只是分享率低一点,又不是不上传
cpdyj0
2019-01-12 20:35:16 +08:00
@webdisk 主要是吸血雷给了我很不好的印象。另外宿舍每天都会停电,盒子日常重启,iptables 就干干净净了。


@msg7086 直接修改源码……其实我要是玩转了交叉编译,大概就不用 tr 了 [手动滑稽] 。

@natforum 是呢,,可惜那个盒子大佬做固件时搞得彻底,连 bash 都没有,交叉编译还没玩转,就只能先就和了。
webdisk
2019-01-12 22:57:01 +08:00
@cpdyj0 然后你舍友增加了一个长效 UPS 应对停电。然后你的设备增加了一个定期变卡的问题, 然后研究半天发现是你这个脚本的问题。
cpdyj0
2019-01-12 23:02:31 +08:00
@webdisk 😂用不着这么麻烦了,刚发现我这脚本似乎有个 bug,iptables 里出现了一大堆类似 123.456.789.123.city.chinatelecom.net 这样的东西,我那个过滤重复规则的似乎失效了,每分钟一次,添加了一堆规则。😂
SHF
2019-01-13 21:27:38 +08:00
@webdisk #1 迅雷只有极速版会给非迅雷用户上传,其余所有版本只上传给迅雷用户。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/526367

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX