TorrentのパブリックIPを監視するソリューションに関するフィードバックを探しています。
icanhazipのパブリックIPを確認してください。 VPNが有効になっていない場合、すべての急流は一時停止されます。 VPNが有効になっていると、ダウンロードしているすべての急流が確認されます。 1つ以上の急流がダウンロードされている場合は、すべての急流が開始/待機されます。そうしないと、すべての急流が一時停止されるため、何もしません。
#!/bin/bash
#Torrent/VPN Watch Service
while :
do
ip=$(curl -s icanhazip.com)
pchk=$(transmission-remote -tall -i | grep -a State | grep -ao Down | head -1)
if [ "$ip" = xxx.xxx.xxx.xxx ] ; then
date
echo "WARNING! The Current IP is: $ip"
echo "Torrents are being stopped!"
echo "Openvpn is being restarted!"
echo
sleep 5
/usr/bin/transmission-remote -tall --stop > /dev/null 2>&1
pkill -9 screen
screen -wipe > /dev/null 2>&1
pkill -9 openvpn
screen -dmS openvpn /usr/sbin/openvpn /usr/local/sbin/tvw/file.ovpn
fi
if [ "$pchk" = "Down" ] ; then
date
echo "The Current IP is: $ip"
echo "Torrents are active!"
echo
sleep 5
/usr/bin/transmission-remote -tall --start > /dev/null 2>&1
else
date
echo "Current IP: $ip"
echo "All torrents are paused."
echo
sleep 5
fi
done
exit
答え1
MacOSでのみテストされました。
実際に行うことは、VPN IPが実行されていることを確認し、VPN IPがTransmissionのBindAddressIPv4で定義されているIPと同じであることを確認することです。そうでない場合は、BindAddressIPv4にIPを設定してください。正しいIPを設定して転送を再開してください。
次の行は、VPN UTUインターフェイスとIPを取得します。
read -r vpninterface vpnip < <(/sbin/ifconfig -a | awk '/^[a-zA-Z]/{sub(/:/,""); x=$1}/inet /{print x, $2}' | awk '/utun/')
ifconfig + 最初の awk は、「インターフェース名」と「ip」を表示するインターフェースごとに 1 行を提供します。 2番目のawkはutun情報を取得します。 BindAddressIPv4 ipを使用してutun ipをチェックするチェックは、特定の間隔で実行する必要があります(鉱山は15分ごとに実行されます)。