01_README.md
· 378 B · Markdown
Raw
# NGINX Blocklist
A simple list of IP addresses and user agents that have been aggressively scraping websites, effectively causing a DDoS attack.
Keep in mind that this list is not exhaustive and may not cover all malicious actors, but it covers a huge portion of requests that would otherwise cause my application to run at high CPU usage, which is good enough for me. :)
NGINX Blocklist
A simple list of IP addresses and user agents that have been aggressively scraping websites, effectively causing a DDoS attack.
Keep in mind that this list is not exhaustive and may not cover all malicious actors, but it covers a huge portion of requests that would otherwise cause my application to run at high CPU usage, which is good enough for me. :)
blocklist.conf
· 16 KiB · Text
Raw
# Generated on: 2026-04-13T09:19:49+00:00
######################################
## ? BEGIN: Huawei Cloud - AS136907 ##
######################################
deny 1.178.32.0/19;
deny 101.44.0.0/16;
deny 101.46.0.0/20;
deny 101.46.128.0/17;
deny 101.46.32.0/19;
deny 101.46.64.0/19;
deny 103.198.203.0/24;
deny 103.215.0.0/23;
deny 103.215.3.0/24;
deny 103.240.156.0/22;
deny 103.255.60.0/22;
deny 103.40.100.0/22;
deny 103.84.110.0/24;
deny 110.238.100.0/22;
deny 110.238.104.0/21;
deny 110.238.112.0/20;
deny 110.238.64.0/19;
deny 110.238.96.0/24;
deny 110.238.98.0/23;
deny 110.239.64.0/18;
deny 110.41.208.0/23;
deny 110.41.210.0/24;
deny 111.119.192.0/18;
deny 111.91.0.0/17;
deny 114.119.128.0/18;
deny 115.167.44.0/23;
deny 115.30.32.0/19;
deny 119.12.160.0/20;
deny 119.13.160.0/20;
deny 119.13.32.0/21;
deny 119.13.64.0/18;
deny 119.8.0.0/20;
deny 119.8.128.0/18;
deny 119.8.18.0/24;
deny 119.8.192.0/19;
deny 119.8.21.0/24;
deny 119.8.22.0/23;
deny 119.8.224.0/24;
deny 119.8.227.0/24;
deny 119.8.228.0/22;
deny 119.8.232.0/21;
deny 119.8.24.0/21;
deny 119.8.240.0/21;
deny 119.8.248.0/23;
deny 119.8.250.0/24;
deny 119.8.252.0/22;
deny 119.8.32.0/19;
deny 119.8.64.0/18;
deny 121.91.152.0/21;
deny 121.91.168.0/21;
deny 121.91.200.0/21;
deny 122.8.128.0/18;
deny 124.243.128.0/18;
deny 124.71.248.0/23;
deny 124.71.250.0/24;
deny 124.71.252.0/23;
deny 124.81.0.0/16;
deny 139.9.98.0/23;
deny 14.137.132.0/22;
deny 14.137.136.0/21;
deny 14.137.152.0/22;
deny 14.137.156.0/23;
deny 14.137.161.0/24;
deny 14.137.163.0/24;
deny 14.137.169.0/24;
deny 14.137.170.0/23;
deny 14.137.172.0/22;
deny 146.174.128.0/18;
deny 148.145.160.0/20;
deny 148.145.192.0/19;
deny 148.145.224.0/23;
deny 148.145.234.0/23;
deny 148.145.236.0/23;
deny 148.145.254.0/23;
deny 149.232.128.0/19;
deny 150.40.128.0/17;
deny 154.220.192.0/19;
deny 154.81.16.0/20;
deny 154.86.32.0/19;
deny 154.93.100.0/23;
deny 154.93.104.0/23;
deny 154.95.112.0/21;
deny 154.95.120.0/23;
deny 154.95.72.0/22;
deny 154.95.96.0/20;
deny 156.230.32.0/20;
deny 156.230.64.0/18;
deny 156.232.16.0/20;
deny 156.240.128.0/18;
deny 156.253.16.0/20;
deny 159.138.0.0/18;
deny 159.138.128.0/19;
deny 159.138.160.0/20;
deny 159.138.176.0/21;
deny 159.138.188.0/22;
deny 159.138.192.0/20;
deny 159.138.208.0/21;
deny 159.138.216.0/22;
deny 159.138.220.0/23;
deny 159.138.224.0/19;
deny 159.138.64.0/21;
deny 159.138.76.0/22;
deny 159.138.80.0/20;
deny 159.138.96.0/19;
deny 166.108.192.0/18;
deny 176.52.128.0/19;
deny 178.210.163.0/24;
deny 180.87.192.0/18;
deny 182.160.0.0/19;
deny 182.160.36.0/22;
deny 182.160.52.0/22;
deny 182.160.56.0/21;
deny 183.87.128.0/19;
deny 183.87.32.0/19;
deny 183.87.64.0/18;
deny 185.193.152.0/22;
deny 186.232.246.0/24;
deny 188.119.192.0/18;
deny 188.132.171.0/24;
deny 188.132.188.0/24;
deny 188.239.0.0/18;
deny 189.1.192.0/18;
deny 189.28.96.0/19;
deny 190.92.192.0/18;
deny 201.77.32.0/20;
deny 202.170.88.0/21;
deny 202.76.128.0/18;
deny 203.123.80.0/20;
deny 203.167.20.0/23;
deny 203.167.22.0/24;
deny 212.34.192.0/19;
deny 213.250.128.0/18;
deny 219.83.0.0/19;
deny 219.83.112.0/22;
deny 219.83.121.0/24;
deny 219.83.122.0/23;
deny 219.83.32.0/20;
deny 219.83.60.0/23;
deny 219.83.76.0/23;
deny 219.83.80.0/21;
deny 2404:a140:43::/48;
deny 2405:f080:1000::/37;
deny 2405:f080:1500::/40;
deny 2405:f080:1600::/48;
deny 2405:f080:1602::/47;
deny 2405:f080:1800::/39;
deny 2405:f080:1e02::/47;
deny 2405:f080:1e04::/46;
deny 2405:f080:1e20::/47;
deny 2405:f080:2000::/36;
deny 2405:f080:2a00::/48;
deny 2405:f080:2e00::/47;
deny 2405:f080:3000::/37;
deny 2405:f080:4000::/39;
deny 2405:f080:400::/38;
deny 2405:f080:4102::/47;
deny 2405:f080:4104::/48;
deny 2405:f080:4200::/39;
deny 2405:f080:800::/40;
deny 2405:f080::/38;
deny 2405:f080:a00::/39;
deny 2405:f080:e02::/47;
deny 2405:f080:e04::/46;
deny 2405:f080:e0e::/47;
deny 2405:f080:e10::/47;
deny 2405:f080:ec00::/39;
deny 27.106.0.0/17;
deny 27.255.0.0/18;
deny 2801:80:e0::/48;
deny 42.201.128.0/17;
deny 43.225.140.0/22;
deny 43.255.104.0/22;
deny 45.194.104.0/21;
deny 45.202.128.0/18;
deny 45.203.40.0/21;
deny 46.250.160.0/19;
deny 49.0.192.0/20;
deny 49.0.224.0/19;
deny 62.245.0.0/19;
deny 80.238.128.0/19;
deny 80.238.164.0/22;
deny 80.238.168.0/21;
deny 80.238.176.0/22;
deny 80.238.180.0/23;
deny 80.238.183.0/24;
deny 80.238.184.0/22;
deny 80.238.190.0/24;
deny 80.238.192.0/18;
deny 83.101.0.0/21;
deny 83.101.116.0/23;
deny 83.101.16.0/20;
deny 83.101.32.0/21;
deny 83.101.48.0/21;
deny 83.101.56.0/22;
deny 83.101.64.0/20;
deny 83.101.8.0/23;
deny 83.101.80.0/21;
deny 83.101.88.0/23;
deny 83.101.96.0/20;
deny 87.119.12.0/24;
deny 89.150.192.0/19;
deny 94.244.128.0/18;
deny 94.45.160.0/19;
deny 94.74.64.0/18;
####################################
## ? END: Huawei Cloud - AS136907 ##
####################################
#################################################
## ? BEGIN: Alibaba Cloud - AS134963 + AS45102 ##
#################################################
deny 103.206.40.0/22;
deny 139.95.66.0/23;
deny 14.1.112.0/22;
deny 147.139.252.0/22;
deny 149.129.160.0/24;
deny 149.129.167.0/24;
deny 149.134.179.0/24;
deny 155.102.102.0/24;
deny 155.102.71.0/24;
deny 163.181.208.0/24;
deny 163.181.41.0/24;
deny 170.33.0.0/24;
deny 170.33.101.0/24;
deny 170.33.103.0/24;
deny 170.33.128.0/22;
deny 170.33.136.0/22;
deny 170.33.144.0/24;
deny 170.33.152.0/24;
deny 170.33.16.0/22;
deny 170.33.160.0/24;
deny 170.33.2.0/23;
deny 170.33.25.0/24;
deny 170.33.26.0/23;
deny 170.33.28.0/24;
deny 170.33.32.0/21;
deny 170.33.40.0/23;
deny 170.33.44.0/22;
deny 170.33.64.0/23;
deny 170.33.66.0/24;
deny 170.33.68.0/23;
deny 170.33.75.0/24;
deny 170.33.8.0/21;
deny 170.33.80.0/22;
deny 170.33.84.0/24;
deny 170.33.86.0/23;
deny 170.33.88.0/22;
deny 170.33.92.0/23;
deny 170.33.94.0/24;
deny 170.33.96.0/22;
deny 178.132.241.0/24;
deny 178.132.242.0/23;
deny 178.132.244.0/23;
deny 178.132.247.0/24;
deny 198.11.144.0/24;
deny 203.107.48.0/22;
deny 2401:8680:4004::/46;
deny 2401:8680:4100::/46;
deny 240b:4002:1010::/48;
deny 47.236.216.0/22;
deny 47.237.248.0/24;
deny 47.238.24.0/22;
deny 47.245.156.0/22;
deny 47.245.220.0/22;
deny 47.246.100.0/24;
deny 47.246.130.0/24;
deny 47.246.134.0/24;
deny 47.246.156.0/24;
deny 47.246.163.0/24;
deny 47.246.90.0/24;
deny 47.250.104.0/22;
deny 47.250.64.0/22;
deny 47.251.128.0/22;
deny 47.251.192.0/22;
deny 47.253.124.0/22;
deny 47.57.197.0/24;
deny 47.87.152.0/22;
deny 47.87.24.0/21;
deny 47.87.72.0/21;
deny 47.90.172.0/22;
deny 8.208.136.0/22;
deny 8.209.122.0/24;
deny 8.211.228.0/22;
deny 8.212.100.0/22;
deny 8.212.184.0/22;
deny 8.212.93.0/24;
deny 8.214.160.0/22;
deny 8.215.164.0/22;
deny 8.216.76.0/22;
deny 8.220.124.0/22;
deny 8.220.168.0/23;
deny 8.220.170.0/24;
deny 8.220.236.0/22;
deny 8.220.248.0/21;
deny 8.221.152.0/22;
deny 103.135.210.0/24;
deny 103.81.187.0/24;
deny 110.76.21.0/24;
deny 110.76.23.0/24;
deny 116.251.64.0/18;
deny 139.95.0.0/20;
deny 139.95.128.0/21;
deny 139.95.16.0/22;
deny 139.95.64.0/23;
deny 139.95.96.0/22;
deny 140.205.1.0/24;
deny 140.205.122.0/24;
deny 147.139.0.0/17;
deny 147.139.128.0/18;
deny 147.139.192.0/19;
deny 147.139.224.0/20;
deny 147.139.240.0/21;
deny 147.139.248.0/22;
deny 149.129.0.0/20;
deny 149.129.128.0/19;
deny 149.129.16.0/21;
deny 149.129.161.0/24;
deny 149.129.162.0/23;
deny 149.129.164.0/23;
deny 149.129.166.0/24;
deny 149.129.168.0/21;
deny 149.129.176.0/20;
deny 149.129.192.0/18;
deny 149.129.32.0/19;
deny 149.129.64.0/18;
deny 156.236.12.0/24;
deny 156.236.17.0/24;
deny 156.245.1.0/24;
deny 161.117.0.0/16;
deny 170.33.104.0/22;
deny 170.33.112.0/23;
deny 170.33.114.0/24;
deny 170.33.20.0/22;
deny 170.33.24.0/24;
deny 170.33.29.0/24;
deny 170.33.30.0/23;
deny 170.33.72.0/23;
deny 170.33.76.0/22;
deny 198.11.128.0/20;
deny 198.11.145.0/24;
deny 198.11.146.0/23;
deny 198.11.148.0/22;
deny 198.11.152.0/21;
deny 198.11.160.0/19;
deny 202.144.199.0/24;
deny 203.107.2.0/23;
deny 203.107.64.0/22;
deny 203.107.68.0/24;
deny 205.204.96.0/19;
deny 223.5.5.0/24;
deny 223.6.6.0/24;
deny 2400:3200::/48;
deny 2400:3200:baba::/48;
deny 2400:b200:4100::/46;
deny 2401:b180:4100::/48;
deny 2404:2280:1000::/36;
deny 2404:2280:2000::/35;
deny 2404:2280:4000::/36;
deny 2408:4000:1000::/48;
deny 2408:4000:101::/48;
deny 2408:4000:102::/48;
deny 2408:4009:500::/48;
deny 240b:4000::/30;
deny 240b:4002:1011::/48;
deny 240b:4002:1012::/47;
deny 240b:4002:1014::/46;
deny 240b:4002:1018::/45;
deny 240b:4002:1020::/43;
deny 240b:4002:1040::/42;
deny 240b:4002:1080::/41;
deny 240b:4002:1100::/40;
deny 240b:4002:1200::/39;
deny 240b:4002:1400::/38;
deny 240b:4002:1800::/37;
deny 240b:4002:2000::/35;
deny 240b:4002:4000::/34;
deny 240b:4002:8000::/33;
deny 240b:4004::/30;
deny 240b:4006:1000::/42;
deny 240b:4007::/32;
deny 240b:4009::/32;
deny 240b:400b::/32;
deny 240b:400c::/30;
deny 240b:4011::/32;
deny 240b:4012::/48;
deny 240b:4013::/32;
deny 240b:4014::/30;
deny 43.100.0.0/15;
deny 43.102.0.0/17;
deny 43.102.192.0/18;
deny 43.103.0.0/16;
deny 43.104.0.0/14;
deny 43.108.0.0/16;
deny 43.110.0.0/15;
deny 43.112.0.0/15;
deny 43.114.0.0/16;
deny 43.116.0.0/17;
deny 43.117.0.0/18;
deny 43.118.0.0/17;
deny 43.119.0.0/17;
deny 43.120.0.0/15;
deny 43.91.0.0/16;
deny 43.96.0.0/24;
deny 43.96.10.0/23;
deny 43.96.100.0/22;
deny 43.96.104.0/23;
deny 43.96.107.0/24;
deny 43.96.112.0/23;
deny 43.96.114.0/24;
deny 43.96.116.0/24;
deny 43.96.118.0/23;
deny 43.96.122.0/24;
deny 43.96.124.0/24;
deny 43.96.18.0/24;
deny 43.96.20.0/23;
deny 43.96.23.0/24;
deny 43.96.24.0/23;
deny 43.96.26.0/24;
deny 43.96.3.0/24;
deny 43.96.32.0/22;
deny 43.96.4.0/22;
deny 43.96.40.0/24;
deny 43.96.48.0/21;
deny 43.96.59.0/24;
deny 43.96.63.0/24;
deny 43.96.64.0/24;
deny 43.96.66.0/23;
deny 43.96.68.0/22;
deny 43.96.72.0/22;
deny 43.96.78.0/24;
deny 43.96.8.0/24;
deny 43.96.80.0/23;
deny 43.96.85.0/24;
deny 43.96.88.0/24;
deny 43.96.97.0/24;
deny 43.98.0.0/15;
deny 45.196.28.0/24;
deny 45.199.179.0/24;
deny 47.235.0.0/21;
deny 47.235.12.0/23;
deny 47.235.16.0/20;
deny 47.235.8.0/22;
deny 47.236.0.0/17;
deny 47.236.128.0/18;
deny 47.236.192.0/20;
deny 47.236.208.0/21;
deny 47.236.220.0/22;
deny 47.236.224.0/19;
deny 47.237.0.0/17;
deny 47.237.128.0/18;
deny 47.237.192.0/19;
deny 47.237.224.0/20;
deny 47.237.240.0/21;
deny 47.237.249.0/24;
deny 47.237.250.0/23;
deny 47.237.252.0/22;
deny 47.238.0.0/20;
deny 47.238.128.0/17;
deny 47.238.16.0/21;
deny 47.238.28.0/22;
deny 47.238.32.0/19;
deny 47.238.64.0/18;
deny 47.239.0.0/16;
deny 47.240.0.0/14;
deny 47.244.0.0/16;
deny 47.245.0.0/17;
deny 47.245.128.0/20;
deny 47.245.144.0/21;
deny 47.245.152.0/22;
deny 47.245.160.0/19;
deny 47.245.192.0/20;
deny 47.245.208.0/21;
deny 47.245.216.0/22;
deny 47.245.224.0/19;
deny 47.246.101.0/24;
deny 47.246.102.0/23;
deny 47.246.104.0/21;
deny 47.246.120.0/24;
deny 47.246.122.0/23;
deny 47.246.124.0/23;
deny 47.246.128.0/23;
deny 47.246.131.0/24;
deny 47.246.132.0/23;
deny 47.246.135.0/24;
deny 47.246.136.0/21;
deny 47.246.144.0/22;
deny 47.246.150.0/23;
deny 47.246.152.0/22;
deny 47.246.157.0/24;
deny 47.246.158.0/23;
deny 47.246.160.0/23;
deny 47.246.162.0/24;
deny 47.246.164.0/22;
deny 47.246.168.0/21;
deny 47.246.176.0/20;
deny 47.246.192.0/21;
deny 47.246.200.0/22;
deny 47.246.32.0/22;
deny 47.246.66.0/23;
deny 47.246.68.0/23;
deny 47.246.72.0/21;
deny 47.246.80.0/24;
deny 47.246.82.0/23;
deny 47.246.84.0/22;
deny 47.246.88.0/23;
deny 47.246.91.0/24;
deny 47.246.92.0/23;
deny 47.246.96.0/22;
deny 47.250.0.0/18;
deny 47.250.108.0/22;
deny 47.250.112.0/20;
deny 47.250.128.0/17;
deny 47.250.68.0/22;
deny 47.250.72.0/21;
deny 47.250.80.0/20;
deny 47.250.96.0/21;
deny 47.251.0.0/17;
deny 47.251.132.0/22;
deny 47.251.136.0/21;
deny 47.251.144.0/20;
deny 47.251.160.0/19;
deny 47.251.196.0/22;
deny 47.251.200.0/21;
deny 47.251.208.0/20;
deny 47.251.224.0/19;
deny 47.252.0.0/16;
deny 47.253.0.0/18;
deny 47.253.112.0/21;
deny 47.253.120.0/22;
deny 47.253.128.0/17;
deny 47.253.64.0/19;
deny 47.253.96.0/20;
deny 47.254.0.0/16;
deny 47.52.0.0/16;
deny 47.56.0.0/16;
deny 47.57.0.0/17;
deny 47.57.128.0/18;
deny 47.57.192.0/22;
deny 47.57.196.0/24;
deny 47.57.198.0/23;
deny 47.57.200.0/21;
deny 47.57.208.0/20;
deny 47.57.224.0/19;
deny 47.74.0.0/15;
deny 47.76.0.0/16;
deny 47.77.0.0/20;
deny 47.77.128.0/17;
deny 47.77.16.0/21;
deny 47.77.24.0/22;
deny 47.77.32.0/19;
deny 47.77.64.0/19;
deny 47.77.96.0/20;
deny 47.78.0.0/15;
deny 47.80.0.0/14;
deny 47.84.0.0/15;
deny 47.86.0.0/16;
deny 47.87.0.0/20;
deny 47.87.128.0/20;
deny 47.87.144.0/21;
deny 47.87.156.0/22;
deny 47.87.16.0/21;
deny 47.87.160.0/19;
deny 47.87.192.0/19;
deny 47.87.224.0/20;
deny 47.87.240.0/21;
deny 47.87.32.0/19;
deny 47.87.64.0/21;
deny 47.87.80.0/20;
deny 47.87.96.0/19;
deny 47.88.0.0/16;
deny 47.89.0.0/18;
deny 47.89.122.0/23;
deny 47.89.124.0/23;
deny 47.89.128.0/17;
deny 47.89.72.0/21;
deny 47.89.80.0/22;
deny 47.89.84.0/24;
deny 47.89.88.0/23;
deny 47.89.90.0/24;
deny 47.89.92.0/22;
deny 47.89.96.0/20;
deny 47.90.0.0/17;
deny 47.90.128.0/19;
deny 47.90.160.0/21;
deny 47.90.168.0/22;
deny 47.90.176.0/20;
deny 47.90.192.0/18;
deny 47.91.0.0/16;
deny 5.181.224.0/23;
deny 8.208.0.0/17;
deny 8.208.128.0/21;
deny 8.208.140.0/22;
deny 8.208.144.0/20;
deny 8.208.160.0/19;
deny 8.208.192.0/18;
deny 8.209.0.0/19;
deny 8.209.112.0/21;
deny 8.209.120.0/23;
deny 8.209.123.0/24;
deny 8.209.124.0/22;
deny 8.209.128.0/17;
deny 8.209.36.0/22;
deny 8.209.40.0/21;
deny 8.209.48.0/20;
deny 8.209.64.0/19;
deny 8.209.96.0/20;
deny 8.210.0.0/16;
deny 8.211.0.0/17;
deny 8.211.128.0/18;
deny 8.211.192.0/19;
deny 8.211.224.0/22;
deny 8.211.232.0/21;
deny 8.211.240.0/20;
deny 8.212.0.0/18;
deny 8.212.104.0/21;
deny 8.212.112.0/20;
deny 8.212.128.0/19;
deny 8.212.160.0/20;
deny 8.212.176.0/21;
deny 8.212.188.0/22;
deny 8.212.192.0/18;
deny 8.212.64.0/20;
deny 8.212.80.0/21;
deny 8.212.88.0/22;
deny 8.212.92.0/24;
deny 8.212.94.0/23;
deny 8.212.96.0/22;
deny 8.213.0.0/16;
deny 8.214.0.0/17;
deny 8.214.128.0/19;
deny 8.214.164.0/22;
deny 8.214.168.0/21;
deny 8.214.176.0/20;
deny 8.214.192.0/18;
deny 8.215.0.0/17;
deny 8.215.128.0/19;
deny 8.215.160.0/22;
deny 8.215.168.0/21;
deny 8.215.176.0/20;
deny 8.215.192.0/18;
deny 8.216.0.0/18;
deny 8.216.128.0/17;
deny 8.216.64.0/21;
deny 8.216.72.0/22;
deny 8.216.80.0/20;
deny 8.216.96.0/19;
deny 8.217.0.0/16;
deny 8.218.0.0/15;
deny 8.220.0.0/18;
deny 8.220.112.0/21;
deny 8.220.120.0/22;
deny 8.220.128.0/19;
deny 8.220.160.0/21;
deny 8.220.171.0/24;
deny 8.220.172.0/22;
deny 8.220.176.0/20;
deny 8.220.192.0/19;
deny 8.220.224.0/21;
deny 8.220.232.0/22;
deny 8.220.240.0/21;
deny 8.220.64.0/19;
deny 8.220.96.0/20;
deny 8.221.0.0/17;
deny 8.221.128.0/20;
deny 8.221.144.0/21;
deny 8.221.156.0/22;
deny 8.221.160.0/19;
deny 8.221.192.0/18;
deny 8.222.0.0/15;
###############################################
## ? END: Alibaba Cloud - AS134963 + AS45102 ##
###############################################
#####################################
## ? START: Proton66.ru - AS198953 ##
#####################################
deny 176.120.22.0/24;
deny 193.143.1.0/24;
deny 37.77.150.0/24;
###################################
### ? END: Proton66.ru - AS19895 ##
###################################
#########################################################################
## ? START: AI Scraper User Agents ##
## Thanks to: https://github.com/ai-robots-txt/ai.robots.txt/tree/main ##
#########################################################################
if ($http_user_agent ~* "(AI2Bot|Ai2Bot\-Dolma|aiHitBot|Amazonbot|anthropic\-ai|Applebot|Applebot\-Extended|Brightbot\ 1\.0|Bytespider|CCBot|ChatGPT\-User|Claude\-Web|ClaudeBot|cohere\-ai|cohere\-training\-data\-crawler|Cotoyogi|Crawlspace|Diffbot|DuckAssistBot|FacebookBot|Factset_spyderbot|FirecrawlAgent|FriendlyCrawler|Google\-CloudVertexBot|Google\-Extended|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|iaskspider/2\.0|ICC\-Crawler|ImagesiftBot|img2dataset|imgproxy|ISSCyberRiskCrawler|Kangaroo\ Bot|meta\-externalagent|Meta\-ExternalAgent|meta\-externalfetcher|Meta\-ExternalFetcher|NovaAct|OAI\-SearchBot|omgili|omgilibot|Operator|PanguBot|Perplexity\-User|PerplexityBot|PetalBot|QualifiedBot|Scrapy|SemrushBot\-OCOB|SemrushBot\-SWA|Sidetrade\ indexer\ bot|TikTokSpider|Timpibot|VelenPublicWebCrawler|Webzio\-Extended|YouBot)") {
return 403;
}
###################################
## ? END: AI Scraper User Agents ##
###################################
| 1 | # Generated on: 2026-04-13T09:19:49+00:00 |
| 2 | |
| 3 | ###################################### |
| 4 | ## ? BEGIN: Huawei Cloud - AS136907 ## |
| 5 | ###################################### |
| 6 | deny 1.178.32.0/19; |
| 7 | deny 101.44.0.0/16; |
| 8 | deny 101.46.0.0/20; |
| 9 | deny 101.46.128.0/17; |
| 10 | deny 101.46.32.0/19; |
| 11 | deny 101.46.64.0/19; |
| 12 | deny 103.198.203.0/24; |
| 13 | deny 103.215.0.0/23; |
| 14 | deny 103.215.3.0/24; |
| 15 | deny 103.240.156.0/22; |
| 16 | deny 103.255.60.0/22; |
| 17 | deny 103.40.100.0/22; |
| 18 | deny 103.84.110.0/24; |
| 19 | deny 110.238.100.0/22; |
| 20 | deny 110.238.104.0/21; |
| 21 | deny 110.238.112.0/20; |
| 22 | deny 110.238.64.0/19; |
| 23 | deny 110.238.96.0/24; |
| 24 | deny 110.238.98.0/23; |
| 25 | deny 110.239.64.0/18; |
| 26 | deny 110.41.208.0/23; |
| 27 | deny 110.41.210.0/24; |
| 28 | deny 111.119.192.0/18; |
| 29 | deny 111.91.0.0/17; |
| 30 | deny 114.119.128.0/18; |
| 31 | deny 115.167.44.0/23; |
| 32 | deny 115.30.32.0/19; |
| 33 | deny 119.12.160.0/20; |
| 34 | deny 119.13.160.0/20; |
| 35 | deny 119.13.32.0/21; |
| 36 | deny 119.13.64.0/18; |
| 37 | deny 119.8.0.0/20; |
| 38 | deny 119.8.128.0/18; |
| 39 | deny 119.8.18.0/24; |
| 40 | deny 119.8.192.0/19; |
| 41 | deny 119.8.21.0/24; |
| 42 | deny 119.8.22.0/23; |
| 43 | deny 119.8.224.0/24; |
| 44 | deny 119.8.227.0/24; |
| 45 | deny 119.8.228.0/22; |
| 46 | deny 119.8.232.0/21; |
| 47 | deny 119.8.24.0/21; |
| 48 | deny 119.8.240.0/21; |
| 49 | deny 119.8.248.0/23; |
| 50 | deny 119.8.250.0/24; |
| 51 | deny 119.8.252.0/22; |
| 52 | deny 119.8.32.0/19; |
| 53 | deny 119.8.64.0/18; |
| 54 | deny 121.91.152.0/21; |
| 55 | deny 121.91.168.0/21; |
| 56 | deny 121.91.200.0/21; |
| 57 | deny 122.8.128.0/18; |
| 58 | deny 124.243.128.0/18; |
| 59 | deny 124.71.248.0/23; |
| 60 | deny 124.71.250.0/24; |
| 61 | deny 124.71.252.0/23; |
| 62 | deny 124.81.0.0/16; |
| 63 | deny 139.9.98.0/23; |
| 64 | deny 14.137.132.0/22; |
| 65 | deny 14.137.136.0/21; |
| 66 | deny 14.137.152.0/22; |
| 67 | deny 14.137.156.0/23; |
| 68 | deny 14.137.161.0/24; |
| 69 | deny 14.137.163.0/24; |
| 70 | deny 14.137.169.0/24; |
| 71 | deny 14.137.170.0/23; |
| 72 | deny 14.137.172.0/22; |
| 73 | deny 146.174.128.0/18; |
| 74 | deny 148.145.160.0/20; |
| 75 | deny 148.145.192.0/19; |
| 76 | deny 148.145.224.0/23; |
| 77 | deny 148.145.234.0/23; |
| 78 | deny 148.145.236.0/23; |
| 79 | deny 148.145.254.0/23; |
| 80 | deny 149.232.128.0/19; |
| 81 | deny 150.40.128.0/17; |
| 82 | deny 154.220.192.0/19; |
| 83 | deny 154.81.16.0/20; |
| 84 | deny 154.86.32.0/19; |
| 85 | deny 154.93.100.0/23; |
| 86 | deny 154.93.104.0/23; |
| 87 | deny 154.95.112.0/21; |
| 88 | deny 154.95.120.0/23; |
| 89 | deny 154.95.72.0/22; |
| 90 | deny 154.95.96.0/20; |
| 91 | deny 156.230.32.0/20; |
| 92 | deny 156.230.64.0/18; |
| 93 | deny 156.232.16.0/20; |
| 94 | deny 156.240.128.0/18; |
| 95 | deny 156.253.16.0/20; |
| 96 | deny 159.138.0.0/18; |
| 97 | deny 159.138.128.0/19; |
| 98 | deny 159.138.160.0/20; |
| 99 | deny 159.138.176.0/21; |
| 100 | deny 159.138.188.0/22; |
| 101 | deny 159.138.192.0/20; |
| 102 | deny 159.138.208.0/21; |
| 103 | deny 159.138.216.0/22; |
| 104 | deny 159.138.220.0/23; |
| 105 | deny 159.138.224.0/19; |
| 106 | deny 159.138.64.0/21; |
| 107 | deny 159.138.76.0/22; |
| 108 | deny 159.138.80.0/20; |
| 109 | deny 159.138.96.0/19; |
| 110 | deny 166.108.192.0/18; |
| 111 | deny 176.52.128.0/19; |
| 112 | deny 178.210.163.0/24; |
| 113 | deny 180.87.192.0/18; |
| 114 | deny 182.160.0.0/19; |
| 115 | deny 182.160.36.0/22; |
| 116 | deny 182.160.52.0/22; |
| 117 | deny 182.160.56.0/21; |
| 118 | deny 183.87.128.0/19; |
| 119 | deny 183.87.32.0/19; |
| 120 | deny 183.87.64.0/18; |
| 121 | deny 185.193.152.0/22; |
| 122 | deny 186.232.246.0/24; |
| 123 | deny 188.119.192.0/18; |
| 124 | deny 188.132.171.0/24; |
| 125 | deny 188.132.188.0/24; |
| 126 | deny 188.239.0.0/18; |
| 127 | deny 189.1.192.0/18; |
| 128 | deny 189.28.96.0/19; |
| 129 | deny 190.92.192.0/18; |
| 130 | deny 201.77.32.0/20; |
| 131 | deny 202.170.88.0/21; |
| 132 | deny 202.76.128.0/18; |
| 133 | deny 203.123.80.0/20; |
| 134 | deny 203.167.20.0/23; |
| 135 | deny 203.167.22.0/24; |
| 136 | deny 212.34.192.0/19; |
| 137 | deny 213.250.128.0/18; |
| 138 | deny 219.83.0.0/19; |
| 139 | deny 219.83.112.0/22; |
| 140 | deny 219.83.121.0/24; |
| 141 | deny 219.83.122.0/23; |
| 142 | deny 219.83.32.0/20; |
| 143 | deny 219.83.60.0/23; |
| 144 | deny 219.83.76.0/23; |
| 145 | deny 219.83.80.0/21; |
| 146 | deny 2404:a140:43::/48; |
| 147 | deny 2405:f080:1000::/37; |
| 148 | deny 2405:f080:1500::/40; |
| 149 | deny 2405:f080:1600::/48; |
| 150 | deny 2405:f080:1602::/47; |
| 151 | deny 2405:f080:1800::/39; |
| 152 | deny 2405:f080:1e02::/47; |
| 153 | deny 2405:f080:1e04::/46; |
| 154 | deny 2405:f080:1e20::/47; |
| 155 | deny 2405:f080:2000::/36; |
| 156 | deny 2405:f080:2a00::/48; |
| 157 | deny 2405:f080:2e00::/47; |
| 158 | deny 2405:f080:3000::/37; |
| 159 | deny 2405:f080:4000::/39; |
| 160 | deny 2405:f080:400::/38; |
| 161 | deny 2405:f080:4102::/47; |
| 162 | deny 2405:f080:4104::/48; |
| 163 | deny 2405:f080:4200::/39; |
| 164 | deny 2405:f080:800::/40; |
| 165 | deny 2405:f080::/38; |
| 166 | deny 2405:f080:a00::/39; |
| 167 | deny 2405:f080:e02::/47; |
| 168 | deny 2405:f080:e04::/46; |
| 169 | deny 2405:f080:e0e::/47; |
| 170 | deny 2405:f080:e10::/47; |
| 171 | deny 2405:f080:ec00::/39; |
| 172 | deny 27.106.0.0/17; |
| 173 | deny 27.255.0.0/18; |
| 174 | deny 2801:80:e0::/48; |
| 175 | deny 42.201.128.0/17; |
| 176 | deny 43.225.140.0/22; |
| 177 | deny 43.255.104.0/22; |
| 178 | deny 45.194.104.0/21; |
| 179 | deny 45.202.128.0/18; |
| 180 | deny 45.203.40.0/21; |
| 181 | deny 46.250.160.0/19; |
| 182 | deny 49.0.192.0/20; |
| 183 | deny 49.0.224.0/19; |
| 184 | deny 62.245.0.0/19; |
| 185 | deny 80.238.128.0/19; |
| 186 | deny 80.238.164.0/22; |
| 187 | deny 80.238.168.0/21; |
| 188 | deny 80.238.176.0/22; |
| 189 | deny 80.238.180.0/23; |
| 190 | deny 80.238.183.0/24; |
| 191 | deny 80.238.184.0/22; |
| 192 | deny 80.238.190.0/24; |
| 193 | deny 80.238.192.0/18; |
| 194 | deny 83.101.0.0/21; |
| 195 | deny 83.101.116.0/23; |
| 196 | deny 83.101.16.0/20; |
| 197 | deny 83.101.32.0/21; |
| 198 | deny 83.101.48.0/21; |
| 199 | deny 83.101.56.0/22; |
| 200 | deny 83.101.64.0/20; |
| 201 | deny 83.101.8.0/23; |
| 202 | deny 83.101.80.0/21; |
| 203 | deny 83.101.88.0/23; |
| 204 | deny 83.101.96.0/20; |
| 205 | deny 87.119.12.0/24; |
| 206 | deny 89.150.192.0/19; |
| 207 | deny 94.244.128.0/18; |
| 208 | deny 94.45.160.0/19; |
| 209 | deny 94.74.64.0/18; |
| 210 | #################################### |
| 211 | ## ? END: Huawei Cloud - AS136907 ## |
| 212 | #################################### |
| 213 | |
| 214 | ################################################# |
| 215 | ## ? BEGIN: Alibaba Cloud - AS134963 + AS45102 ## |
| 216 | ################################################# |
| 217 | deny 103.206.40.0/22; |
| 218 | deny 139.95.66.0/23; |
| 219 | deny 14.1.112.0/22; |
| 220 | deny 147.139.252.0/22; |
| 221 | deny 149.129.160.0/24; |
| 222 | deny 149.129.167.0/24; |
| 223 | deny 149.134.179.0/24; |
| 224 | deny 155.102.102.0/24; |
| 225 | deny 155.102.71.0/24; |
| 226 | deny 163.181.208.0/24; |
| 227 | deny 163.181.41.0/24; |
| 228 | deny 170.33.0.0/24; |
| 229 | deny 170.33.101.0/24; |
| 230 | deny 170.33.103.0/24; |
| 231 | deny 170.33.128.0/22; |
| 232 | deny 170.33.136.0/22; |
| 233 | deny 170.33.144.0/24; |
| 234 | deny 170.33.152.0/24; |
| 235 | deny 170.33.16.0/22; |
| 236 | deny 170.33.160.0/24; |
| 237 | deny 170.33.2.0/23; |
| 238 | deny 170.33.25.0/24; |
| 239 | deny 170.33.26.0/23; |
| 240 | deny 170.33.28.0/24; |
| 241 | deny 170.33.32.0/21; |
| 242 | deny 170.33.40.0/23; |
| 243 | deny 170.33.44.0/22; |
| 244 | deny 170.33.64.0/23; |
| 245 | deny 170.33.66.0/24; |
| 246 | deny 170.33.68.0/23; |
| 247 | deny 170.33.75.0/24; |
| 248 | deny 170.33.8.0/21; |
| 249 | deny 170.33.80.0/22; |
| 250 | deny 170.33.84.0/24; |
| 251 | deny 170.33.86.0/23; |
| 252 | deny 170.33.88.0/22; |
| 253 | deny 170.33.92.0/23; |
| 254 | deny 170.33.94.0/24; |
| 255 | deny 170.33.96.0/22; |
| 256 | deny 178.132.241.0/24; |
| 257 | deny 178.132.242.0/23; |
| 258 | deny 178.132.244.0/23; |
| 259 | deny 178.132.247.0/24; |
| 260 | deny 198.11.144.0/24; |
| 261 | deny 203.107.48.0/22; |
| 262 | deny 2401:8680:4004::/46; |
| 263 | deny 2401:8680:4100::/46; |
| 264 | deny 240b:4002:1010::/48; |
| 265 | deny 47.236.216.0/22; |
| 266 | deny 47.237.248.0/24; |
| 267 | deny 47.238.24.0/22; |
| 268 | deny 47.245.156.0/22; |
| 269 | deny 47.245.220.0/22; |
| 270 | deny 47.246.100.0/24; |
| 271 | deny 47.246.130.0/24; |
| 272 | deny 47.246.134.0/24; |
| 273 | deny 47.246.156.0/24; |
| 274 | deny 47.246.163.0/24; |
| 275 | deny 47.246.90.0/24; |
| 276 | deny 47.250.104.0/22; |
| 277 | deny 47.250.64.0/22; |
| 278 | deny 47.251.128.0/22; |
| 279 | deny 47.251.192.0/22; |
| 280 | deny 47.253.124.0/22; |
| 281 | deny 47.57.197.0/24; |
| 282 | deny 47.87.152.0/22; |
| 283 | deny 47.87.24.0/21; |
| 284 | deny 47.87.72.0/21; |
| 285 | deny 47.90.172.0/22; |
| 286 | deny 8.208.136.0/22; |
| 287 | deny 8.209.122.0/24; |
| 288 | deny 8.211.228.0/22; |
| 289 | deny 8.212.100.0/22; |
| 290 | deny 8.212.184.0/22; |
| 291 | deny 8.212.93.0/24; |
| 292 | deny 8.214.160.0/22; |
| 293 | deny 8.215.164.0/22; |
| 294 | deny 8.216.76.0/22; |
| 295 | deny 8.220.124.0/22; |
| 296 | deny 8.220.168.0/23; |
| 297 | deny 8.220.170.0/24; |
| 298 | deny 8.220.236.0/22; |
| 299 | deny 8.220.248.0/21; |
| 300 | deny 8.221.152.0/22; |
| 301 | deny 103.135.210.0/24; |
| 302 | deny 103.81.187.0/24; |
| 303 | deny 110.76.21.0/24; |
| 304 | deny 110.76.23.0/24; |
| 305 | deny 116.251.64.0/18; |
| 306 | deny 139.95.0.0/20; |
| 307 | deny 139.95.128.0/21; |
| 308 | deny 139.95.16.0/22; |
| 309 | deny 139.95.64.0/23; |
| 310 | deny 139.95.96.0/22; |
| 311 | deny 140.205.1.0/24; |
| 312 | deny 140.205.122.0/24; |
| 313 | deny 147.139.0.0/17; |
| 314 | deny 147.139.128.0/18; |
| 315 | deny 147.139.192.0/19; |
| 316 | deny 147.139.224.0/20; |
| 317 | deny 147.139.240.0/21; |
| 318 | deny 147.139.248.0/22; |
| 319 | deny 149.129.0.0/20; |
| 320 | deny 149.129.128.0/19; |
| 321 | deny 149.129.16.0/21; |
| 322 | deny 149.129.161.0/24; |
| 323 | deny 149.129.162.0/23; |
| 324 | deny 149.129.164.0/23; |
| 325 | deny 149.129.166.0/24; |
| 326 | deny 149.129.168.0/21; |
| 327 | deny 149.129.176.0/20; |
| 328 | deny 149.129.192.0/18; |
| 329 | deny 149.129.32.0/19; |
| 330 | deny 149.129.64.0/18; |
| 331 | deny 156.236.12.0/24; |
| 332 | deny 156.236.17.0/24; |
| 333 | deny 156.245.1.0/24; |
| 334 | deny 161.117.0.0/16; |
| 335 | deny 170.33.104.0/22; |
| 336 | deny 170.33.112.0/23; |
| 337 | deny 170.33.114.0/24; |
| 338 | deny 170.33.20.0/22; |
| 339 | deny 170.33.24.0/24; |
| 340 | deny 170.33.29.0/24; |
| 341 | deny 170.33.30.0/23; |
| 342 | deny 170.33.72.0/23; |
| 343 | deny 170.33.76.0/22; |
| 344 | deny 198.11.128.0/20; |
| 345 | deny 198.11.145.0/24; |
| 346 | deny 198.11.146.0/23; |
| 347 | deny 198.11.148.0/22; |
| 348 | deny 198.11.152.0/21; |
| 349 | deny 198.11.160.0/19; |
| 350 | deny 202.144.199.0/24; |
| 351 | deny 203.107.2.0/23; |
| 352 | deny 203.107.64.0/22; |
| 353 | deny 203.107.68.0/24; |
| 354 | deny 205.204.96.0/19; |
| 355 | deny 223.5.5.0/24; |
| 356 | deny 223.6.6.0/24; |
| 357 | deny 2400:3200::/48; |
| 358 | deny 2400:3200:baba::/48; |
| 359 | deny 2400:b200:4100::/46; |
| 360 | deny 2401:b180:4100::/48; |
| 361 | deny 2404:2280:1000::/36; |
| 362 | deny 2404:2280:2000::/35; |
| 363 | deny 2404:2280:4000::/36; |
| 364 | deny 2408:4000:1000::/48; |
| 365 | deny 2408:4000:101::/48; |
| 366 | deny 2408:4000:102::/48; |
| 367 | deny 2408:4009:500::/48; |
| 368 | deny 240b:4000::/30; |
| 369 | deny 240b:4002:1011::/48; |
| 370 | deny 240b:4002:1012::/47; |
| 371 | deny 240b:4002:1014::/46; |
| 372 | deny 240b:4002:1018::/45; |
| 373 | deny 240b:4002:1020::/43; |
| 374 | deny 240b:4002:1040::/42; |
| 375 | deny 240b:4002:1080::/41; |
| 376 | deny 240b:4002:1100::/40; |
| 377 | deny 240b:4002:1200::/39; |
| 378 | deny 240b:4002:1400::/38; |
| 379 | deny 240b:4002:1800::/37; |
| 380 | deny 240b:4002:2000::/35; |
| 381 | deny 240b:4002:4000::/34; |
| 382 | deny 240b:4002:8000::/33; |
| 383 | deny 240b:4004::/30; |
| 384 | deny 240b:4006:1000::/42; |
| 385 | deny 240b:4007::/32; |
| 386 | deny 240b:4009::/32; |
| 387 | deny 240b:400b::/32; |
| 388 | deny 240b:400c::/30; |
| 389 | deny 240b:4011::/32; |
| 390 | deny 240b:4012::/48; |
| 391 | deny 240b:4013::/32; |
| 392 | deny 240b:4014::/30; |
| 393 | deny 43.100.0.0/15; |
| 394 | deny 43.102.0.0/17; |
| 395 | deny 43.102.192.0/18; |
| 396 | deny 43.103.0.0/16; |
| 397 | deny 43.104.0.0/14; |
| 398 | deny 43.108.0.0/16; |
| 399 | deny 43.110.0.0/15; |
| 400 | deny 43.112.0.0/15; |
| 401 | deny 43.114.0.0/16; |
| 402 | deny 43.116.0.0/17; |
| 403 | deny 43.117.0.0/18; |
| 404 | deny 43.118.0.0/17; |
| 405 | deny 43.119.0.0/17; |
| 406 | deny 43.120.0.0/15; |
| 407 | deny 43.91.0.0/16; |
| 408 | deny 43.96.0.0/24; |
| 409 | deny 43.96.10.0/23; |
| 410 | deny 43.96.100.0/22; |
| 411 | deny 43.96.104.0/23; |
| 412 | deny 43.96.107.0/24; |
| 413 | deny 43.96.112.0/23; |
| 414 | deny 43.96.114.0/24; |
| 415 | deny 43.96.116.0/24; |
| 416 | deny 43.96.118.0/23; |
| 417 | deny 43.96.122.0/24; |
| 418 | deny 43.96.124.0/24; |
| 419 | deny 43.96.18.0/24; |
| 420 | deny 43.96.20.0/23; |
| 421 | deny 43.96.23.0/24; |
| 422 | deny 43.96.24.0/23; |
| 423 | deny 43.96.26.0/24; |
| 424 | deny 43.96.3.0/24; |
| 425 | deny 43.96.32.0/22; |
| 426 | deny 43.96.4.0/22; |
| 427 | deny 43.96.40.0/24; |
| 428 | deny 43.96.48.0/21; |
| 429 | deny 43.96.59.0/24; |
| 430 | deny 43.96.63.0/24; |
| 431 | deny 43.96.64.0/24; |
| 432 | deny 43.96.66.0/23; |
| 433 | deny 43.96.68.0/22; |
| 434 | deny 43.96.72.0/22; |
| 435 | deny 43.96.78.0/24; |
| 436 | deny 43.96.8.0/24; |
| 437 | deny 43.96.80.0/23; |
| 438 | deny 43.96.85.0/24; |
| 439 | deny 43.96.88.0/24; |
| 440 | deny 43.96.97.0/24; |
| 441 | deny 43.98.0.0/15; |
| 442 | deny 45.196.28.0/24; |
| 443 | deny 45.199.179.0/24; |
| 444 | deny 47.235.0.0/21; |
| 445 | deny 47.235.12.0/23; |
| 446 | deny 47.235.16.0/20; |
| 447 | deny 47.235.8.0/22; |
| 448 | deny 47.236.0.0/17; |
| 449 | deny 47.236.128.0/18; |
| 450 | deny 47.236.192.0/20; |
| 451 | deny 47.236.208.0/21; |
| 452 | deny 47.236.220.0/22; |
| 453 | deny 47.236.224.0/19; |
| 454 | deny 47.237.0.0/17; |
| 455 | deny 47.237.128.0/18; |
| 456 | deny 47.237.192.0/19; |
| 457 | deny 47.237.224.0/20; |
| 458 | deny 47.237.240.0/21; |
| 459 | deny 47.237.249.0/24; |
| 460 | deny 47.237.250.0/23; |
| 461 | deny 47.237.252.0/22; |
| 462 | deny 47.238.0.0/20; |
| 463 | deny 47.238.128.0/17; |
| 464 | deny 47.238.16.0/21; |
| 465 | deny 47.238.28.0/22; |
| 466 | deny 47.238.32.0/19; |
| 467 | deny 47.238.64.0/18; |
| 468 | deny 47.239.0.0/16; |
| 469 | deny 47.240.0.0/14; |
| 470 | deny 47.244.0.0/16; |
| 471 | deny 47.245.0.0/17; |
| 472 | deny 47.245.128.0/20; |
| 473 | deny 47.245.144.0/21; |
| 474 | deny 47.245.152.0/22; |
| 475 | deny 47.245.160.0/19; |
| 476 | deny 47.245.192.0/20; |
| 477 | deny 47.245.208.0/21; |
| 478 | deny 47.245.216.0/22; |
| 479 | deny 47.245.224.0/19; |
| 480 | deny 47.246.101.0/24; |
| 481 | deny 47.246.102.0/23; |
| 482 | deny 47.246.104.0/21; |
| 483 | deny 47.246.120.0/24; |
| 484 | deny 47.246.122.0/23; |
| 485 | deny 47.246.124.0/23; |
| 486 | deny 47.246.128.0/23; |
| 487 | deny 47.246.131.0/24; |
| 488 | deny 47.246.132.0/23; |
| 489 | deny 47.246.135.0/24; |
| 490 | deny 47.246.136.0/21; |
| 491 | deny 47.246.144.0/22; |
| 492 | deny 47.246.150.0/23; |
| 493 | deny 47.246.152.0/22; |
| 494 | deny 47.246.157.0/24; |
| 495 | deny 47.246.158.0/23; |
| 496 | deny 47.246.160.0/23; |
| 497 | deny 47.246.162.0/24; |
| 498 | deny 47.246.164.0/22; |
| 499 | deny 47.246.168.0/21; |
| 500 | deny 47.246.176.0/20; |
| 501 | deny 47.246.192.0/21; |
| 502 | deny 47.246.200.0/22; |
| 503 | deny 47.246.32.0/22; |
| 504 | deny 47.246.66.0/23; |
| 505 | deny 47.246.68.0/23; |
| 506 | deny 47.246.72.0/21; |
| 507 | deny 47.246.80.0/24; |
| 508 | deny 47.246.82.0/23; |
| 509 | deny 47.246.84.0/22; |
| 510 | deny 47.246.88.0/23; |
| 511 | deny 47.246.91.0/24; |
| 512 | deny 47.246.92.0/23; |
| 513 | deny 47.246.96.0/22; |
| 514 | deny 47.250.0.0/18; |
| 515 | deny 47.250.108.0/22; |
| 516 | deny 47.250.112.0/20; |
| 517 | deny 47.250.128.0/17; |
| 518 | deny 47.250.68.0/22; |
| 519 | deny 47.250.72.0/21; |
| 520 | deny 47.250.80.0/20; |
| 521 | deny 47.250.96.0/21; |
| 522 | deny 47.251.0.0/17; |
| 523 | deny 47.251.132.0/22; |
| 524 | deny 47.251.136.0/21; |
| 525 | deny 47.251.144.0/20; |
| 526 | deny 47.251.160.0/19; |
| 527 | deny 47.251.196.0/22; |
| 528 | deny 47.251.200.0/21; |
| 529 | deny 47.251.208.0/20; |
| 530 | deny 47.251.224.0/19; |
| 531 | deny 47.252.0.0/16; |
| 532 | deny 47.253.0.0/18; |
| 533 | deny 47.253.112.0/21; |
| 534 | deny 47.253.120.0/22; |
| 535 | deny 47.253.128.0/17; |
| 536 | deny 47.253.64.0/19; |
| 537 | deny 47.253.96.0/20; |
| 538 | deny 47.254.0.0/16; |
| 539 | deny 47.52.0.0/16; |
| 540 | deny 47.56.0.0/16; |
| 541 | deny 47.57.0.0/17; |
| 542 | deny 47.57.128.0/18; |
| 543 | deny 47.57.192.0/22; |
| 544 | deny 47.57.196.0/24; |
| 545 | deny 47.57.198.0/23; |
| 546 | deny 47.57.200.0/21; |
| 547 | deny 47.57.208.0/20; |
| 548 | deny 47.57.224.0/19; |
| 549 | deny 47.74.0.0/15; |
| 550 | deny 47.76.0.0/16; |
| 551 | deny 47.77.0.0/20; |
| 552 | deny 47.77.128.0/17; |
| 553 | deny 47.77.16.0/21; |
| 554 | deny 47.77.24.0/22; |
| 555 | deny 47.77.32.0/19; |
| 556 | deny 47.77.64.0/19; |
| 557 | deny 47.77.96.0/20; |
| 558 | deny 47.78.0.0/15; |
| 559 | deny 47.80.0.0/14; |
| 560 | deny 47.84.0.0/15; |
| 561 | deny 47.86.0.0/16; |
| 562 | deny 47.87.0.0/20; |
| 563 | deny 47.87.128.0/20; |
| 564 | deny 47.87.144.0/21; |
| 565 | deny 47.87.156.0/22; |
| 566 | deny 47.87.16.0/21; |
| 567 | deny 47.87.160.0/19; |
| 568 | deny 47.87.192.0/19; |
| 569 | deny 47.87.224.0/20; |
| 570 | deny 47.87.240.0/21; |
| 571 | deny 47.87.32.0/19; |
| 572 | deny 47.87.64.0/21; |
| 573 | deny 47.87.80.0/20; |
| 574 | deny 47.87.96.0/19; |
| 575 | deny 47.88.0.0/16; |
| 576 | deny 47.89.0.0/18; |
| 577 | deny 47.89.122.0/23; |
| 578 | deny 47.89.124.0/23; |
| 579 | deny 47.89.128.0/17; |
| 580 | deny 47.89.72.0/21; |
| 581 | deny 47.89.80.0/22; |
| 582 | deny 47.89.84.0/24; |
| 583 | deny 47.89.88.0/23; |
| 584 | deny 47.89.90.0/24; |
| 585 | deny 47.89.92.0/22; |
| 586 | deny 47.89.96.0/20; |
| 587 | deny 47.90.0.0/17; |
| 588 | deny 47.90.128.0/19; |
| 589 | deny 47.90.160.0/21; |
| 590 | deny 47.90.168.0/22; |
| 591 | deny 47.90.176.0/20; |
| 592 | deny 47.90.192.0/18; |
| 593 | deny 47.91.0.0/16; |
| 594 | deny 5.181.224.0/23; |
| 595 | deny 8.208.0.0/17; |
| 596 | deny 8.208.128.0/21; |
| 597 | deny 8.208.140.0/22; |
| 598 | deny 8.208.144.0/20; |
| 599 | deny 8.208.160.0/19; |
| 600 | deny 8.208.192.0/18; |
| 601 | deny 8.209.0.0/19; |
| 602 | deny 8.209.112.0/21; |
| 603 | deny 8.209.120.0/23; |
| 604 | deny 8.209.123.0/24; |
| 605 | deny 8.209.124.0/22; |
| 606 | deny 8.209.128.0/17; |
| 607 | deny 8.209.36.0/22; |
| 608 | deny 8.209.40.0/21; |
| 609 | deny 8.209.48.0/20; |
| 610 | deny 8.209.64.0/19; |
| 611 | deny 8.209.96.0/20; |
| 612 | deny 8.210.0.0/16; |
| 613 | deny 8.211.0.0/17; |
| 614 | deny 8.211.128.0/18; |
| 615 | deny 8.211.192.0/19; |
| 616 | deny 8.211.224.0/22; |
| 617 | deny 8.211.232.0/21; |
| 618 | deny 8.211.240.0/20; |
| 619 | deny 8.212.0.0/18; |
| 620 | deny 8.212.104.0/21; |
| 621 | deny 8.212.112.0/20; |
| 622 | deny 8.212.128.0/19; |
| 623 | deny 8.212.160.0/20; |
| 624 | deny 8.212.176.0/21; |
| 625 | deny 8.212.188.0/22; |
| 626 | deny 8.212.192.0/18; |
| 627 | deny 8.212.64.0/20; |
| 628 | deny 8.212.80.0/21; |
| 629 | deny 8.212.88.0/22; |
| 630 | deny 8.212.92.0/24; |
| 631 | deny 8.212.94.0/23; |
| 632 | deny 8.212.96.0/22; |
| 633 | deny 8.213.0.0/16; |
| 634 | deny 8.214.0.0/17; |
| 635 | deny 8.214.128.0/19; |
| 636 | deny 8.214.164.0/22; |
| 637 | deny 8.214.168.0/21; |
| 638 | deny 8.214.176.0/20; |
| 639 | deny 8.214.192.0/18; |
| 640 | deny 8.215.0.0/17; |
| 641 | deny 8.215.128.0/19; |
| 642 | deny 8.215.160.0/22; |
| 643 | deny 8.215.168.0/21; |
| 644 | deny 8.215.176.0/20; |
| 645 | deny 8.215.192.0/18; |
| 646 | deny 8.216.0.0/18; |
| 647 | deny 8.216.128.0/17; |
| 648 | deny 8.216.64.0/21; |
| 649 | deny 8.216.72.0/22; |
| 650 | deny 8.216.80.0/20; |
| 651 | deny 8.216.96.0/19; |
| 652 | deny 8.217.0.0/16; |
| 653 | deny 8.218.0.0/15; |
| 654 | deny 8.220.0.0/18; |
| 655 | deny 8.220.112.0/21; |
| 656 | deny 8.220.120.0/22; |
| 657 | deny 8.220.128.0/19; |
| 658 | deny 8.220.160.0/21; |
| 659 | deny 8.220.171.0/24; |
| 660 | deny 8.220.172.0/22; |
| 661 | deny 8.220.176.0/20; |
| 662 | deny 8.220.192.0/19; |
| 663 | deny 8.220.224.0/21; |
| 664 | deny 8.220.232.0/22; |
| 665 | deny 8.220.240.0/21; |
| 666 | deny 8.220.64.0/19; |
| 667 | deny 8.220.96.0/20; |
| 668 | deny 8.221.0.0/17; |
| 669 | deny 8.221.128.0/20; |
| 670 | deny 8.221.144.0/21; |
| 671 | deny 8.221.156.0/22; |
| 672 | deny 8.221.160.0/19; |
| 673 | deny 8.221.192.0/18; |
| 674 | deny 8.222.0.0/15; |
| 675 | ############################################### |
| 676 | ## ? END: Alibaba Cloud - AS134963 + AS45102 ## |
| 677 | ############################################### |
| 678 | |
| 679 | ##################################### |
| 680 | ## ? START: Proton66.ru - AS198953 ## |
| 681 | ##################################### |
| 682 | deny 176.120.22.0/24; |
| 683 | deny 193.143.1.0/24; |
| 684 | deny 37.77.150.0/24; |
| 685 | ################################### |
| 686 | ### ? END: Proton66.ru - AS19895 ## |
| 687 | ################################### |
| 688 | |
| 689 | ######################################################################### |
| 690 | ## ? START: AI Scraper User Agents ## |
| 691 | ## Thanks to: https://github.com/ai-robots-txt/ai.robots.txt/tree/main ## |
| 692 | ######################################################################### |
| 693 | if ($http_user_agent ~* "(AI2Bot|Ai2Bot\-Dolma|aiHitBot|Amazonbot|anthropic\-ai|Applebot|Applebot\-Extended|Brightbot\ 1\.0|Bytespider|CCBot|ChatGPT\-User|Claude\-Web|ClaudeBot|cohere\-ai|cohere\-training\-data\-crawler|Cotoyogi|Crawlspace|Diffbot|DuckAssistBot|FacebookBot|Factset_spyderbot|FirecrawlAgent|FriendlyCrawler|Google\-CloudVertexBot|Google\-Extended|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|iaskspider/2\.0|ICC\-Crawler|ImagesiftBot|img2dataset|imgproxy|ISSCyberRiskCrawler|Kangaroo\ Bot|meta\-externalagent|Meta\-ExternalAgent|meta\-externalfetcher|Meta\-ExternalFetcher|NovaAct|OAI\-SearchBot|omgili|omgilibot|Operator|PanguBot|Perplexity\-User|PerplexityBot|PetalBot|QualifiedBot|Scrapy|SemrushBot\-OCOB|SemrushBot\-SWA|Sidetrade\ indexer\ bot|TikTokSpider|Timpibot|VelenPublicWebCrawler|Webzio\-Extended|YouBot)") { |
| 694 | return 403; |
| 695 | } |
| 696 | ################################### |
| 697 | ## ? END: AI Scraper User Agents ## |
| 698 | ################################### |
generate.php
· 2.7 KiB · PHP
Raw
<?php
class BlocklistGenerator
{
/**
* @var string The path to the template file.
*/
private string $templateFile = __DIR__ . '/template.conf';
/**
* @var string The path to the output file.
*/
private string $outputFile = __DIR__ . '/blocklist.conf';
/**
* @var array The blocklist data to be inserted into the template.
*/
private array $asnList = [];
/**
* @var string The base URL for fetching ASN data.
*/
private string $baseUrl = 'https://asn.ipinfo.app/api/text/nginx';
/**
* @var CurlHandle|null The cURL handle for making HTTP requests.
*/
private ?CurlHandle $curl;
public function __construct()
{
if (!function_exists('curl_init')) {
throw new Exception("cURL extension is not enabled.");
}
$this->curl = curl_init();
}
/**
* Get list of ASNs that have been defined in the template file.
*
* @return array List of ASNs.
*/
public function getAsnsFromTemplate()
{
$templateContent = file_get_contents($this->templateFile);
preg_match_all('/::(AS\d{1,7})/', $templateContent, $matches);
$this->asnList = $matches[1];
return $this->asnList;
}
/**
* Fetch blocklist data for each ASN and generate the final blocklist file.
*/
public function generateBlocklist()
{
$finalBlocklist = file_get_contents($this->templateFile);
foreach ($this->asnList as $asn) {
$url = sprintf('%s/%s', $this->baseUrl, $asn);
curl_setopt($this->curl, CURLOPT_URL, $url);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($this->curl);
if ($response === false) {
throw new Exception("cURL error: " . curl_error($this->curl));
}
$subnetList = explode("\n", trim($response));
sort($subnetList);
$result = implode("\n", $subnetList);
$replaceAsn = sprintf('::%s', $asn);
$finalBlocklist = str_replace($replaceAsn, $result, $finalBlocklist);
}
$timeGenerated = date('c');
$finalBlocklist = str_replace('TIME_GENERATED', "# Generated on: $timeGenerated", $finalBlocklist);
file_put_contents($this->outputFile, $finalBlocklist);
}
}
try {
$generator = new BlocklistGenerator();
$generator->getAsnsFromTemplate();
$generator->generateBlocklist();
echo "Blocklist generated successfully.\n";
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}
| 1 | <?php |
| 2 | |
| 3 | class BlocklistGenerator |
| 4 | { |
| 5 | /** |
| 6 | * @var string The path to the template file. |
| 7 | */ |
| 8 | private string $templateFile = __DIR__ . '/template.conf'; |
| 9 | |
| 10 | /** |
| 11 | * @var string The path to the output file. |
| 12 | */ |
| 13 | private string $outputFile = __DIR__ . '/blocklist.conf'; |
| 14 | |
| 15 | /** |
| 16 | * @var array The blocklist data to be inserted into the template. |
| 17 | */ |
| 18 | private array $asnList = []; |
| 19 | |
| 20 | /** |
| 21 | * @var string The base URL for fetching ASN data. |
| 22 | */ |
| 23 | private string $baseUrl = 'https://asn.ipinfo.app/api/text/nginx'; |
| 24 | |
| 25 | /** |
| 26 | * @var CurlHandle|null The cURL handle for making HTTP requests. |
| 27 | */ |
| 28 | private ?CurlHandle $curl; |
| 29 | |
| 30 | public function __construct() |
| 31 | { |
| 32 | if (!function_exists('curl_init')) { |
| 33 | throw new Exception("cURL extension is not enabled."); |
| 34 | } |
| 35 | |
| 36 | $this->curl = curl_init(); |
| 37 | } |
| 38 | |
| 39 | /** |
| 40 | * Get list of ASNs that have been defined in the template file. |
| 41 | * |
| 42 | * @return array List of ASNs. |
| 43 | */ |
| 44 | public function getAsnsFromTemplate() |
| 45 | { |
| 46 | $templateContent = file_get_contents($this->templateFile); |
| 47 | preg_match_all('/::(AS\d{1,7})/', $templateContent, $matches); |
| 48 | |
| 49 | $this->asnList = $matches[1]; |
| 50 | return $this->asnList; |
| 51 | } |
| 52 | |
| 53 | /** |
| 54 | * Fetch blocklist data for each ASN and generate the final blocklist file. |
| 55 | */ |
| 56 | public function generateBlocklist() |
| 57 | { |
| 58 | $finalBlocklist = file_get_contents($this->templateFile); |
| 59 | |
| 60 | foreach ($this->asnList as $asn) { |
| 61 | $url = sprintf('%s/%s', $this->baseUrl, $asn); |
| 62 | |
| 63 | curl_setopt($this->curl, CURLOPT_URL, $url); |
| 64 | curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true); |
| 65 | |
| 66 | $response = curl_exec($this->curl); |
| 67 | if ($response === false) { |
| 68 | throw new Exception("cURL error: " . curl_error($this->curl)); |
| 69 | } |
| 70 | |
| 71 | $subnetList = explode("\n", trim($response)); |
| 72 | sort($subnetList); |
| 73 | |
| 74 | $result = implode("\n", $subnetList); |
| 75 | |
| 76 | $replaceAsn = sprintf('::%s', $asn); |
| 77 | $finalBlocklist = str_replace($replaceAsn, $result, $finalBlocklist); |
| 78 | } |
| 79 | |
| 80 | $timeGenerated = date('c'); |
| 81 | $finalBlocklist = str_replace('TIME_GENERATED', "# Generated on: $timeGenerated", $finalBlocklist); |
| 82 | file_put_contents($this->outputFile, $finalBlocklist); |
| 83 | } |
| 84 | } |
| 85 | |
| 86 | try { |
| 87 | $generator = new BlocklistGenerator(); |
| 88 | $generator->getAsnsFromTemplate(); |
| 89 | $generator->generateBlocklist(); |
| 90 | echo "Blocklist generated successfully.\n"; |
| 91 | } catch (Exception $e) { |
| 92 | echo "Error: " . $e->getMessage() . "\n"; |
| 93 | } |
template.conf
· 2.1 KiB · Text
Raw
TIME_GENERATED
######################################
## ? BEGIN: Huawei Cloud - AS136907 ##
######################################
::AS136907
####################################
## ? END: Huawei Cloud - AS136907 ##
####################################
#################################################
## ? BEGIN: Alibaba Cloud - AS134963 + AS45102 ##
#################################################
::AS134963
::AS45102
###############################################
## ? END: Alibaba Cloud - AS134963 + AS45102 ##
###############################################
#####################################
## ? START: Proton66.ru - AS198953 ##
#####################################
::AS198953
###################################
### ? END: Proton66.ru - AS19895 ##
###################################
#########################################################################
## ? START: AI Scraper User Agents ##
## Thanks to: https://github.com/ai-robots-txt/ai.robots.txt/tree/main ##
#########################################################################
if ($http_user_agent ~* "(AI2Bot|Ai2Bot\-Dolma|aiHitBot|Amazonbot|anthropic\-ai|Applebot|Applebot\-Extended|Brightbot\ 1\.0|Bytespider|CCBot|ChatGPT\-User|Claude\-Web|ClaudeBot|cohere\-ai|cohere\-training\-data\-crawler|Cotoyogi|Crawlspace|Diffbot|DuckAssistBot|FacebookBot|Factset_spyderbot|FirecrawlAgent|FriendlyCrawler|Google\-CloudVertexBot|Google\-Extended|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|iaskspider/2\.0|ICC\-Crawler|ImagesiftBot|img2dataset|imgproxy|ISSCyberRiskCrawler|Kangaroo\ Bot|meta\-externalagent|Meta\-ExternalAgent|meta\-externalfetcher|Meta\-ExternalFetcher|NovaAct|OAI\-SearchBot|omgili|omgilibot|Operator|PanguBot|Perplexity\-User|PerplexityBot|PetalBot|QualifiedBot|Scrapy|SemrushBot\-OCOB|SemrushBot\-SWA|Sidetrade\ indexer\ bot|TikTokSpider|Timpibot|VelenPublicWebCrawler|Webzio\-Extended|YouBot)") {
return 403;
}
###################################
## ? END: AI Scraper User Agents ##
###################################
| 1 | TIME_GENERATED |
| 2 | |
| 3 | ###################################### |
| 4 | ## ? BEGIN: Huawei Cloud - AS136907 ## |
| 5 | ###################################### |
| 6 | ::AS136907 |
| 7 | #################################### |
| 8 | ## ? END: Huawei Cloud - AS136907 ## |
| 9 | #################################### |
| 10 | |
| 11 | ################################################# |
| 12 | ## ? BEGIN: Alibaba Cloud - AS134963 + AS45102 ## |
| 13 | ################################################# |
| 14 | ::AS134963 |
| 15 | ::AS45102 |
| 16 | ############################################### |
| 17 | ## ? END: Alibaba Cloud - AS134963 + AS45102 ## |
| 18 | ############################################### |
| 19 | |
| 20 | ##################################### |
| 21 | ## ? START: Proton66.ru - AS198953 ## |
| 22 | ##################################### |
| 23 | ::AS198953 |
| 24 | ################################### |
| 25 | ### ? END: Proton66.ru - AS19895 ## |
| 26 | ################################### |
| 27 | |
| 28 | ######################################################################### |
| 29 | ## ? START: AI Scraper User Agents ## |
| 30 | ## Thanks to: https://github.com/ai-robots-txt/ai.robots.txt/tree/main ## |
| 31 | ######################################################################### |
| 32 | if ($http_user_agent ~* "(AI2Bot|Ai2Bot\-Dolma|aiHitBot|Amazonbot|anthropic\-ai|Applebot|Applebot\-Extended|Brightbot\ 1\.0|Bytespider|CCBot|ChatGPT\-User|Claude\-Web|ClaudeBot|cohere\-ai|cohere\-training\-data\-crawler|Cotoyogi|Crawlspace|Diffbot|DuckAssistBot|FacebookBot|Factset_spyderbot|FirecrawlAgent|FriendlyCrawler|Google\-CloudVertexBot|Google\-Extended|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|iaskspider/2\.0|ICC\-Crawler|ImagesiftBot|img2dataset|imgproxy|ISSCyberRiskCrawler|Kangaroo\ Bot|meta\-externalagent|Meta\-ExternalAgent|meta\-externalfetcher|Meta\-ExternalFetcher|NovaAct|OAI\-SearchBot|omgili|omgilibot|Operator|PanguBot|Perplexity\-User|PerplexityBot|PetalBot|QualifiedBot|Scrapy|SemrushBot\-OCOB|SemrushBot\-SWA|Sidetrade\ indexer\ bot|TikTokSpider|Timpibot|VelenPublicWebCrawler|Webzio\-Extended|YouBot)") { |
| 33 | return 403; |
| 34 | } |
| 35 | ################################### |
| 36 | ## ? END: AI Scraper User Agents ## |
| 37 | ################################### |