xref: /plugin/botmon/config/default-config.json (revision 30c450965d8af6f4abd6fe27ace7abc366dd6613)
1{
2	"threshold": 100,
3	"rules": [
4		{"func": "fromKnownBotIP",
5		 "id": "botIpRange", "desc": "Common Bot IP range",
6		 "bot": 50
7		},
8		{"func": "matchesClient", "params": ["aol","msie","ffold","chromeold","oldedge","operaold"],
9		 "id": "oldClient", "desc": "Obsolete browser version",
10		 "bot": 40
11		},
12		{"func": "matchesPlatform", "params": ["winold", "macosold", "androidold"],
13		 "id": "oldOS", "desc": "Obsolete platform version",
14		 "bot": 40
15		},
16		{"func": "matchesPlatform", "params": ["winsrvr", "bsd"],
17		 "id": "serverOS", "desc": "Server OS",
18		 "bot": 40
19		},
20		{"func": "matchesPlatform", "params": ["null"],
21		 "id": "noOS", "desc": "Unknown or missing OS information",
22		 "bot": 40
23		},
24		{"func": "smallPageCount", "params": [1],
25		 "id": "onePage", "desc": "Visiter viewed only a single page",
26		 "bot": 30
27		},
28		{"func": "noRecord", "params": ["log"],
29		 "id": "noClient", "desc": "No client-side JS log was recorded",
30		 "bot": 40
31		},
32		{"func": "noRecord", "params": ["tck"],
33		 "id": "noTicks", "desc": "No client ticks were recorded",
34		 "bot": 10
35		},
36		{"func": "noReferrer",
37		 "id": "noRefs", "desc": "No referer field",
38		 "bot": 30
39		},
40		{"func": "matchesClient", "params": ["brave","operaold","msie"],
41		 "id": "susClient", "desc": "Client identifier that is popular with bot networks",
42		 "bot": 10
43		},
44		{"func": "combinationTest", "params": [["macos","chromeold"],["macos","msie"],["winold","edge"],["winold","brave"]],
45		 "id": "suspPC", "desc": "Suspicious combination of platform and client",
46		 "bot": 30
47		},
48		{"func": "combinationTest", "params": [["macos","msie"],["win10","safari"],["macosold","brave"]],
49		 "id": "impPC", "desc": "Impossible combination of platform and client",
50		 "bot": 70
51		},
52		{"func": "loadSpeed", "params": [3, 20],
53		 "id": "speedRun", "desc": "Average time between page loads is less than 20 seconds",
54		 "bot": 80
55		},
56		{"func": "noAcceptLang",
57		 "id": "noAcc", "desc": "No “Accept-Language” header",
58		 "bot": 40
59		},
60		{"func": "matchLang", "params": [],
61		 "id": "langMatch", "desc": "Client’s ‘Accept-Language’ header does not match the page language",
62		 "bot": 30
63		}
64	],
65	"ipRanges": [
66		{"from": "3.0.0.0", "to": "3.255.255.254", "label": "Amazon Data Services [US]"},
67		{"from": "5.161.0.0", "to": "5.161.255.255", "m": 16, "label": "Hetzner [US]"},
68		{"from": "8.127.0.0", "to": "8.223.255.254", "label": "Alibaba [CN]"},
69		{"from": "14.160.0.0", "to": "14.191.255.254", "m": 11, "label": "VNPT [VN]"},
70		{"from": "24.240.0.0", "to": "24.247.255.255", "m": 13, "label": "Charter [US]"},
71		{"from": "27.106.0.0", "to": "27.106.127.254", "m": 17, "label": "Huawei [US]"},
72		{"from": "34.0.0.0", "to": "34.191.255.254", "label": "Google LLC"},
73		{"from": "43.132.0.0", "to": "43.132.255.254", "m": 16, "label": "Tencent [CN]"},
74		{"from": "43.133.0.0", "to": "43.133.255.254", "m": 16, "label": "Tencent [CN]"},
75		{"from": "45.0.0.0", "to": "45.255.255.254", "label": "Various small ISPs, mostly BR"},
76		{"from": "46.250.160.0", "to": "46.250.191.254", "m": 19, "label": "Huawei [MX]"},
77		{"from": "47.200.0.0", "to": "47.203.255.254", "m": 14, "label": "Frontier Communications [US]"},
78		{"from": "49.0.192.0", "to": "49.0.255.255", "m": 18, "label": "Huawei [SG]"},
79		{"from": "52.220.0.0", "to": "52.222.255.254", "label": "Amazon Data Services"},
80		{"from": "66.249.64.0", "to": "66.249.95.254", "m": 19, "label": "Google LLC"},
81		{"from": "84.37.35.0", "to": "84.37.255.254", "label": "GTT.net [US]"},
82		{"from": "94.74.64.0", "to": "94.74.127.254", "m": 18, "label": "Huawei [HK]"},
83		{"from": "101.0.0.0", "to": "101.255.255.254", "label": "ChinaNet [CN]"},
84		{"from": "104.196.0.0", "to": "104.199.255.254", "m": 14, "label": "Google LLC"},
85		{"from": "110.238.64.0", "to": "110.238.127.254", "m": 18, "label": "Huawei [SG]"},
86		{"from": "111.119.192.0", "to": "111.119.255.254", "m": 18, "label": "Huawei [SG]"},
87		{"from": "113.160.0.0", "to": "113.191.255.254", "m": 11, "label": "VNPT [VN]"},
88		{"from": "119.8.0.0", "to": "119.8.255.254", "m": 16, "label": "Huawei [HK]"},
89		{"from": "121.91.168.0", "to": "121.91.175.254", "m": 21, "label": "Huawei [HK]"},
90		{"from": "122.8.0.0", "to": "122.8.255.254", "label": "CN-ISP [CN]"},
91		{"from": "122.9.0.0", "to": "122.9.255.254", "m": 16, "label": "Huawei [CN]"},
92		{"from": "123.16.0.0", "to": "123.31.255.254", "m": 12, "label": "VNPT [VN]"},
93		{"from": "124.243.128.0", "to": "124.243.191.254", "m": 18, "label": "Huawei [SG]"},
94		{"from": "142.147.128.0", "to": "1142.147.255.254", "m": 17, "label": "Web2Objects LLC [US]"},
95		{"from": "146.174.128.0", "to": "146.174.191.254", "m": 18, "label": "Huawei [SG]"},
96		{"from": "150.40.128.0", "to": "150.40.255.254", "m": 17, "label": "Huawei [HK]"},
97		{"from": "159.138.0.0", "to": "159.138.225.254", "m": 16, "label": "Huawei [TH]"},
98		{"from": "162.128.0.0", "to": "162.128.255.254", "label": "Zenlayer [SG]"},
99		{"from": "166.108.192.0", "to": "166.108.255.254", "m": 18, "label": "Huawei [SG]"},
100		{"from": "177.0.0.0", "to": "177.255.255.254", "label": "BrasilNET [BR]"},
101		{"from": "179.0.0.0", "to": "179.255.255.254", "label": "BrasilNET [BR]"},
102		{"from": "183.87.32.0", "to": "183.87.63.254", "label": "Huawei [HK]"},
103		{"from": "186.0.0.0", "to": "186.255.255.254", "m": 8, "label": "South-American ISPs (186.x)"},
104		{"from": "187.0.0.0", "to": "187.255.255.254", "m": 8, "label": "South-American ISPs (187.x)"},
105		{"from": "188.0.0.0", "to": "188.255.255.254", "m": 8, "label": "South-American ISPs (188.x)"},
106		{"from": "189.0.0.0", "to": "189.255.255.254", "m": 8, "label": "South-American ISPs (189.x)"},
107		{"from": "190.0.0.0", "to": "190.255.255.254", "m": 8, "label": "South-American ISPs (190.x)"},
108		{"from": "191.0.0.0", "to": "191.255.255.254", "m": 8, "label": "South-American ISPs (191.x)"},
109		{"from": "192.124.170.0", "to": "192.124.182.254", "label": "Relcom [CZ]"},
110		{"from": "195.37.0.0", "to": "195.37.255.255", "m": 16, "label": "DFN [DE]"},
111		{"from": "2001:4860::::::", "to": "2001:4860:ffff:ffff:ffff:ffff:ffff:ffff", "m": 32, "label": "Google LLC [US]"},
112		{"from": "2001:0ee0::::::", "to": "2001:ee3:ffff:ffff:ffff:ffff:ffff:ffff", "m": 30, "label": "VNPT [VN]"},
113		{"from": "2408:8210::::::", "to": "2408:8210:ffff:ffff:ffff:ffff:ffff:ffff", "m": 30, "label": "China Unicom [CN]"},
114		{"from": "2600:1f00::::::", "to": "2600:1fff:ffff:ffff:ffff:ffff:ffff:ffff", "m": "Amazon Cloud"},
115		{"from": "2603:6010::::::", "to": "2603:6010:ffff:ffff:ffff:ffff:ffff:ffff", "m": 32, "label": "Charter [US]"},
116		{"from": "2603:8000::::::", "to": "2603:80ff:ffff:ffff:ffff:ffff:ffff:ffff", "m": 24, "label": "Charter [US]"},
117		{"from": "2607:a400::::::", "to": "2607:a400:ffff:ffff:ffff:ffff:ffff:ffff", "m": 32, "label": "Zenlayer Inc. [US]"},
118		{"from": "2804:::::::", "to": "2804:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", "m": 16, "label": "Inspire [BR]"},
119		{"from": "2a09:bac2::::::", "to": "2a09:bac2:0:ffff:ffff:ffff:ffff:ffff", "m": 48, "label": "Cloudflare"},
120		{"from": "2a0a:4cc0::::::", "to": "2a0a:4cc0:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", "label": "Netcup [DE]"}
121	]
122}