Download current IP ranges (CIDRs) for TOR cloud infrastructure.
Choose your preferred format. All downloads are permalinks that always provide the latest data.
# Download with curl
curl -O https://cloud-ip-ranges.com/download/tor.txt
# Or download with wget
wget https://cloud-ip-ranges.com/download/tor.txt
# Download and block TOR IPs with iptables
wget -O tor_ips.txt https://cloud-ip-ranges.com/download/tor.txt
while read ip; do
iptables -A INPUT -s $ip -j DROP
iptables -A OUTPUT -d $ip -j DROP
done < tor_ips.txt
# Download and block TOR IPs with UFW
wget -O tor_ips.txt https://cloud-ip-ranges.com/download/tor.txt
while read ip; do
ufw deny from $ip
ufw deny to $ip
done < tor_ips.txt
# Create fail2ban filter for TOR
sudo tee /etc/fail2ban/filter.d/tor-block.conf << EOF
[Definition]
failregex = ^.*$
ignoreregex =
EOF
# Create jail configuration
sudo tee /etc/fail2ban/jail.d/tor-block.conf << EOF
[tor-block]
enabled = true
filter = tor-block
action = iptables-allports[name=tor]
logpath = /tmp/tor_ips.txt
findtime = 1
bantime = -1
maxretry = 1
EOF
# Download IP list and restart fail2ban
wget -O /tmp/tor_ips.txt https://cloud-ip-ranges.com/download/tor.txt
sudo systemctl restart fail2ban
# Create alias table for TOR IPs
# 1. Download the IP list
wget -O tor_ips.txt https://cloud-ip-ranges.com/download/tor.txt
# 2. In pfSense/OPNsense web interface:
# - Go to Firewall > Aliases
# - Create new alias named "TOR_BLOCK"
# - Type: Network(s)
# - Import the downloaded file
#
# 3. Create firewall rule:
# - Go to Firewall > Rules > WAN
# - Add rule: Action=Block, Source=TOR_BLOCK
These IP ranges are sourced directly from TOR's official feeds and are updated regularly to ensure accuracy. The data includes IPv4 and IPv6 ranges used by TOR's infrastructure worldwide. Last update was 6 months ago.