没办法 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
