diff --git a/data/known-bots.json b/data/known-bots.json
index 2ce7df2..b91de3b 100644
--- a/data/known-bots.json
+++ b/data/known-bots.json
@@ -183,5 +183,23 @@
"r": ["Sogou web spider"],
"rx": ["Sogou web spider\\/(\\d+\\.\\d+)[;\\s\\(\\.]"],
"url": "http://www.sogou.com/docs/help/webmasters.htm#07"
+ },
+ {"id": "amazon",
+ "n": "Amazonbot",
+ "r": ["Amazonbot"],
+ "rx": ["Amazonbot\\/(\\d+\\.\\d+)[;\\s\\(\\.]"],
+ "url": "https://developer.amazon.com/amazonbot"
+ },
+ {"id": "sop",
+ "n": "SitesOverPagesBot",
+ "r": ["SitesOverPagesBot"],
+ "rx": ["SitesOverPagesBot\\/(\\d+\\.\\d+)[;\\s\\(\\.]"],
+ "url": "https://www.sitesoverpages.com/bot"
+ },
+ {"id": "startme",
+ "n": "StartmeBot",
+ "r": ["StartmeBot"],
+ "rx": ["StartmeBot\\/(\\d+\\.\\d+)[;\\s\\(\\.]"],
+ "url": "https://www.sitesoverpages.com/bot"
}
]
\ No newline at end of file
diff --git a/data/known-platforms.json b/data/known-platforms.json
index a71334c..5e190be 100644
--- a/data/known-platforms.json
+++ b/data/known-platforms.json
@@ -25,7 +25,7 @@
},
{"n": "MacOS",
"id": "macos",
- "rx": [ "\\sMac OS X 10[\\._](1[4-5])[\\._;\\s\\)]", "\\sMac OS X (1[4-5])[\\._;\\s\\)]", "\\sMac OS X (2[6-9])[\\._;\\s\\)]" ]
+ "rx": [ "\\sMac OS X 10[\\._](1[4-6])[\\._;\\s\\)]", "\\sMac OS X (1[4-6])[\\._;\\s\\)]", "\\sMac OS X (2[6-9])[\\._;\\s\\)]" ]
},
{"n": "Vintage Windows",
"id": "winold",
diff --git a/data/rules.json b/data/rules.json
index 6124bcb..402030d 100644
--- a/data/rules.json
+++ b/data/rules.json
@@ -55,33 +55,34 @@
}
],
"ipRanges": [
- {"from": "8.127.0.0", "to": "8.223.255.255", "isp": "Alibaba", "loc":"cn"},
- {"from": "24.240.0.0", "to": "24.243.255.255", "isp": "Charter", "loc":"us"},
- {"from": "27.106.0.0", "to": "27.106.127.255", "isp": "Huawei", "loc":"hk"},
- {"from": "34.0.0.0", "to": "34.191.255.255", "isp": "Google LLC", "loc":"zz"},
- {"from": "45.224.0.0", "to": "45.227.195.255", "isp": "Various BR ISPs", "loc": "br"},
- {"from": "46.250.160.0", "to": "46.250.191.255", "isp": "Huawei", "loc":"mx"},
- {"from": "49.0.200.0", "to": "49.0.255.255", "isp": "Huawei", "loc":"sg"},
- {"from": "94.74.64.0", "to": "94.74.127.255", "isp": "Huawei", "loc":"hk"},
- {"from": "101.0.0.0", "to": "119.255.255.255", "isp": "SinNet", "loc":"cn"},
- {"from": "111.119.192.0", "to": "111.119.255.255", "isp": "Huawei", "loc":"sg"},
- {"from": "119.0.0.0", "to": "101.207.255.255", "isp": "Unicom", "loc":"cn"},
- {"from": "121.91.168.0", "to": "121.91.175.255", "isp": "Huawei", "loc":"hk"},
- {"from": "122.8.0.0", "to": "122.8.255.255", "isp": "CN-ISP", "loc":"cn"},
- {"from": "122.9.0.0", "to": "122.9.255.255", "isp": "Huawei", "loc":"cn"},
- {"from": "124.243.128.0", "to": "124.243.191.255", "isp": "Huawei", "loc":"sg"},
- {"from": "150.40.128.0", "to": "150.40.255.255", "isp": "Huawei", "loc":"hk"},
- {"from": "159.138.0.0", "to": "159.138.225.255", "isp": "Huawei", "loc":"th"},
- {"from": "162.128.0.0", "to": "162.128.255.255", "isp": "Zenlayer", "loc":"sg"},
- {"from": "166.108.192.0", "to": "166.108.255.255", "isp": "Huawei", "loc":"sg"},
- {"from": "177.0.0.0", "to": "177.223.255.255", "isp": "THS", "loc":"br"},
- {"from": "183.87.32.0", "to": "183.87.159.255", "isp": "Huawei", "loc":"hk"},
- {"from": "187.180.0.0", "to": "187.183.255.255", "isp": "Claro", "loc":"br"},
- {"from": "188.239.0.0", "to": "188.239.63.255", "isp": "Huawei", "loc":"sg"},
- {"from": "189.1.192.0", "to": "189.1.255.255", "isp": "Huawei", "loc":"hk"},
- {"from": "189.76.0.0", "to": "189.127.255.255", "isp": "Hard Online", "loc":"br"},
- {"from": "190.92.192.0", "to": "190.92.255.255", "isp": "Huawei", "loc":"hk"},
- {"from": "2804:0:0:0:0:0:0:0", "to": "2804:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", "isp": "Inspire", "loc":"br"},
+ {"from": "8.127.0.0", "to": "8.223.255.254", "isp": "Alibaba", "loc":"cn"},
+ {"from": "24.240.0.0", "to": "24.243.255.254", "isp": "Charter", "loc":"us"},
+ {"from": "27.106.0.0", "to": "27.106.127.254", "isp": "Huawei", "loc":"hk"},
+ {"from": "34.0.0.0", "to": "34.191.255.254", "isp": "Google LLC", "loc":"zz"},
+ {"from": "45.224.0.0", "to": "45.227.195.254", "isp": "Various BR ISPs", "loc": "br"},
+ {"from": "46.250.160.0", "to": "46.250.191.254", "isp": "Huawei", "loc":"mx"},
+ {"from": "49.0.200.0", "to": "49.0.255.254", "isp": "Huawei", "loc":"sg"},
+ {"from": "94.74.64.0", "to": "94.74.127.254", "isp": "Huawei", "loc":"hk"},
+ {"from": "101.0.0.0", "to": "119.255.255.254", "isp": "SinNet", "loc":"cn"},
+ {"from": "111.119.192.0", "to": "111.119.255.254", "isp": "Huawei", "loc":"sg"},
+ {"from": "119.0.0.0", "to": "101.207.255.254", "isp": "Unicom", "loc":"cn"},
+ {"from": "121.91.168.0", "to": "121.91.175.254", "isp": "Huawei", "loc":"hk"},
+ {"from": "122.8.0.0", "to": "122.8.255.254", "isp": "CN-ISP", "loc":"cn"},
+ {"from": "122.9.0.0", "to": "122.9.255.254", "isp": "Huawei", "loc":"cn"},
+ {"from": "124.243.128.0", "to": "124.243.191.254", "isp": "Huawei", "loc":"sg"},
+ {"from": "150.40.128.0", "to": "150.40.255.254", "isp": "Huawei", "loc":"hk"},
+ {"from": "159.138.0.0", "to": "159.138.225.254", "isp": "Huawei", "loc":"th"},
+ {"from": "162.128.0.0", "to": "162.128.255.254", "isp": "Zenlayer", "loc":"sg"},
+ {"from": "166.108.192.0", "to": "166.108.255.254", "isp": "Huawei", "loc":"sg"},
+ {"from": "177.0.0.0", "to": "177.223.255.254", "isp": "THS", "loc":"br"},
+ {"from": "183.87.32.0", "to": "183.87.159.254", "isp": "Huawei", "loc":"hk"},
+ {"from": "187.180.0.0", "to": "187.183.255.254", "isp": "Claro", "loc":"br"},
+ {"from": "188.239.0.0", "to": "188.239.63.254", "isp": "Huawei", "loc":"sg"},
+ {"from": "189.1.192.0", "to": "189.1.255.254", "isp": "Huawei", "loc":"hk"},
+ {"from": "189.76.0.0", "to": "189.127.255.254", "isp": "Hard Online", "loc":"br"},
+ {"from": "190.92.192.0", "to": "190.92.255.254", "isp": "Huawei", "loc":"hk"},
+ {"from": "192.124.170.0", "to": "192.124.182.254", "isp": "Relcom ", "loc":"cz"},
+ {"from": "2804:0000:0000:0000:0000:0000:0000:0000", "to": "2804:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", "isp": "Inspire", "loc":"br"},
{"from": "2600:1f00:0000:0000:0000:0000:0000:0000", "to": "2600:1fff:ffff:ffff:ffff:ffff:ffff:ffff", "isp": "Amazon Cloud", "loc":"us"},
{"from": "2001:4800:0000:0000:0000:0000:0000:0000", "to": "2001:4fff:ffff:ffff:ffff:ffff:ffff:ffff", "isp": "Rackspace/Google", "loc":"us"}
]
diff --git a/img/ccbot.svg b/img/ccbot.svg
index 3bf9da5..b2f4567 100644
--- a/img/ccbot.svg
+++ b/img/ccbot.svg
@@ -1,70 +1 @@
-
-
+
\ No newline at end of file
diff --git a/script.js b/script.js
index a7c7b9c..2b0d9e1 100644
--- a/script.js
+++ b/script.js
@@ -248,24 +248,24 @@ BotMon.live = {
for (let i=0; i { a.seg == ipArr[i]; } );
- if (!it) {
- it = {seg: ipArr[i], count: 1};
- if (i {
+ if (it.count <= 1) console.log(it); //arr.splice(i-1, 1)
+ });
+
+ //console.log("New array:", arr);
+
+ };
}
},
@@ -1399,8 +1413,8 @@ BotMon.live = {
dl.appendChild(make('dt', {}, "IP-Address:"));
dl.appendChild(make('dd', {'class': 'has_icon ip' + ipType}, data.ip));
- dl.appendChild(make('dt', {}, "ID:"));
- dl.appendChild(make('dd', {'class': 'has_icon ip' + data.typ}, data.id));
+ /*dl.appendChild(make('dt', {}, "ID:"));
+ dl.appendChild(make('dd', {'class': 'has_icon ip' + data.typ}, data.id));*/
}
if (Math.abs(data._lastSeen - data._firstSeen) < 100) {
@@ -1416,8 +1430,8 @@ BotMon.live = {
dl.appendChild(make('dt', {}, "User-Agent:"));
dl.appendChild(make('dd', {'class': 'agent'}, data.agent));
- dl.appendChild(make('dt', {}, "Visitor Type:"));
- dl.appendChild(make('dd', undefined, data._type ));
+ /*dl.appendChild(make('dt', {}, "Visitor Type:"));
+ dl.appendChild(make('dd', undefined, data._type ));*/
dl.appendChild(make('dt', {}, "Seen by:"));
dl.appendChild(make('dd', undefined, data._seenBy.join(', ') ));
@@ -1463,49 +1477,52 @@ BotMon.live = {
dl.appendChild(pagesDd);
/* bot evaluation rating */
- dl.appendChild(make('dt', undefined, "Bot rating:"));
- dl.appendChild(make('dd', {'class': 'bot-rating'}, data._botVal + '/' + BotMon.live.data.rules._threshold ));
+ if (data._type !== BM_USERTYPE.KNOWN_BOT && data._type !== BM_USERTYPE.KNOWN_USER) {
+ dl.appendChild(make('dt', undefined, "Bot rating:"));
+ dl.appendChild(make('dd', {'class': 'bot-rating'}, ( data._botVal ? data._botVal : '–' ) + '/' + BotMon.live.data.rules._threshold ));
- /* add bot evaluation details: */
- if (data._eval) {
- dl.appendChild(make('dt', {}, "Bot evaluation details:"));
- const evalDd = make('dd');
- const testList = make('ul',{
- 'class': 'eval'
- });
- data._eval.forEach( test => {
+ /* add bot evaluation details: */
+ if (data._eval) {
+ dl.appendChild(make('dt', {}, "Bot evaluation details:"));
+ const evalDd = make('dd');
+ const testList = make('ul',{
+ 'class': 'eval'
+ });
+ data._eval.forEach( test => {
- const tObj = BotMon.live.data.rules.getRuleInfo(test);
- let tDesc = tObj ? tObj.desc : test;
+ const tObj = BotMon.live.data.rules.getRuleInfo(test);
+ let tDesc = tObj ? tObj.desc : test;
- // special case for Bot IP range test:
- if (tObj.func == 'fromKnownBotIP') {
- const rangeInfo = BotMon.live.data.rules.getBotIPInfo(data.ip);
- if (rangeInfo) {
- tDesc += ` (${rangeInfo.isp}, ${rangeInfo.loc.toUpperCase()})`;
+ // special case for Bot IP range test:
+ if (tObj.func == 'fromKnownBotIP') {
+ const rangeInfo = BotMon.live.data.rules.getBotIPInfo(data.ip);
+ if (rangeInfo) {
+ tDesc += ` (${rangeInfo.isp}, ${rangeInfo.loc.toUpperCase()})`;
+ }
}
- }
- // create the entry field
- const tstLi = make('li');
- tstLi.appendChild(make('span', {
- 'data-testid': test
- }, tDesc));
- tstLi.appendChild(make('span', {}, ( tObj ? tObj.bot : '—') ));
- testList.appendChild(tstLi);
- });
+ // create the entry field
+ const tstLi = make('li');
+ tstLi.appendChild(make('span', {
+ 'data-testid': test
+ }, tDesc));
+ tstLi.appendChild(make('span', {}, ( tObj ? tObj.bot : '—') ));
+ testList.appendChild(tstLi);
+ });
- // add total row
- const tst2Li = make('li', {
- 'class': 'total'
- });
- /*tst2Li.appendChild(make('span', {}, "Total:"));
- tst2Li.appendChild(make('span', {}, data._botVal));
- testList.appendChild(tst2Li);*/
+ // add total row
+ const tst2Li = make('li', {
+ 'class': 'total'
+ });
+ /*tst2Li.appendChild(make('span', {}, "Total:"));
+ tst2Li.appendChild(make('span', {}, data._botVal));
+ testList.appendChild(tst2Li);*/
- evalDd.appendChild(testList);
- dl.appendChild(evalDd);
+ evalDd.appendChild(testList);
+ dl.appendChild(evalDd);
+ }
}
+ // return the element to add to the UI:
return dl;
}