Privoxyは、Torへのhttp / httpsトラフィックと靴下を匿名化するために使用されます。したがって、私の質問は次のようになります。すべてのトラフィック(ftp、ソックス、httpに関係なく)をprivoxyに送信し、それをTorに送信できますか?匿名設定になりますか?私は8118でリッスンし、9050(torポートとすべて127.0.0.1)に行くLinux privoxyを持っています。また、匿名の場合、この設定を使用してすべてのシステムトラフィックをどのように転送できますか? +プロキシチェーン(http 8118ポートをプロキシとして使用し、前述のようにprivoxyを設定するように設定されています)を介して接続するときに広告を非表示にしないのはなぜですか?一方、privoxy 経由でのみ接続すると、広告はうまく隠されます。また、システムのタイムゾーンとリアルタイムでアイデンティティを漏らすことができると聞きました。たとえば、tails osでは、Torブラウザを起動するたびに変更されます。このようなシェルスクリプトを書いた人はいますか?
ベストアンサー1
はい、すべてのトラフィックをTor経由で転送することは非常に可能です。これは透明プロキシを使用して行うことができます。詳細については、Torのマニュアルの次のページを参照してください。https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy
透明プロキシを実装するには、iptablesを変更するだけです。
ずっと前、私はこのプロセスを自動化するためにシェルスクリプトを書いていました。それでもうまくいきます。 tor ユーザーの uid と tor のポートを変更すると、動作して実行されます。このスクリプトの目的は、Torプロキシを切り替えることです。スクリプトは次のとおりです。
#!/bin/bash
#This script switches on/off the tranparent tor proxy
###############################
#### Function Definitions #####
###############################
#This function resets iptables to their default state
reset_iptables () {
IPTABLES="$(which iptables)"
# RESET DEFAULT POLICIES
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
# FLUSH ALL RULES, ERASE NON-DEFAULT CHAINS
$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F
$IPTABLES -t nat -X
$IPTABLES -t mangle -F
$IPTABLES -t mangle -X
}
#This function modifies iptables so that they are compatible with the transparent tor proxy
tor_iptables () {
### set variables
#destinations you don't want routed through Tor
_non_tor="192.168.1.0/24 192.168.0.0/24"
#the UID that Tor runs as (varies from system to system)
_tor_uid="120"
#Tor's TransPort
_trans_port="9040"
### flush iptables
iptables -F
iptables -t nat -F
### set iptables *nat
iptables -t nat -A OUTPUT -m owner --uid-owner $_tor_uid -j RETURN
iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 53
#allow clearnet access for hosts in $_non_tor
for _clearnet in $_non_tor 127.0.0.0/9 127.128.0.0/10; do
iptables -t nat -A OUTPUT -d $_clearnet -j RETURN
done
#redirect all other output to Tor's TransPort
iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $_trans_port
### set iptables *filter
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#allow clearnet access for hosts in $_non_tor
for _clearnet in $_non_tor 127.0.0.0/8; do
iptables -A OUTPUT -d $_clearnet -j ACCEPT
done
#allow only Tor output
iptables -A OUTPUT -m owner --uid-owner $_tor_uid -j ACCEPT
iptables -A OUTPUT -j REJECT
}
############################
#### Main Script Starts ####
############################
if [ "$(cat /etc/resolv.conf | grep 127.0.1.1)" ]
then
echo "Tor transparent proxy is NOT running. It will be now switched ON."
sed -i 's/127\.0\.1\.1/127\.0\.0\.1/g' /etc/resolv.conf # Replacing 127.0.1.1 with 127.0.0.1
tor_iptables
else
echo "Tor transparent proxy is ALREADY running. Let us switch it OFF."
sed -i 's/127\.0\.0\.1/127\.0\.1\.1/g' /etc/resolv.conf # Replacing 127.0.0.1 with 127.0.1.1
reset_iptables
fi