Last active 1 week ago

Revision f2fe6e868fa11ef84894c2686f609e3411e1ee57

01_README.md 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. :)

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