diff --git a/admin.css b/admin.css index 2980365..b791ccd 100644 --- a/admin.css +++ b/admin.css @@ -103,6 +103,8 @@ &.cl_whatsapp::before { background-position-y: -400px } &.cl_applemsgs::before { background-position-y: -420px } &.cl_goognblm::before { background-position-y: -440px } + &.cl_chatgpt::before { background-position-y: -460px } + &.cl_meta::before { background-position-y: -480px } &.cl_other::before { background-image: url('img/more.svg') } /* Country flags */ diff --git a/admin.js b/admin.js index b583198..57521da 100644 --- a/admin.js +++ b/admin.js @@ -1045,7 +1045,7 @@ BotMon.live = { const prefix = v.ip.split('.').slice(0, kIP4Segments).join('.'); rawIP = ipSeg.slice(0, kIP4Segments).join('.') ; ipGroup = 'ip4-' + rawIP.replaceAll('.', '-'); - ipName = prefix + '.0.0.0'.substring(0, 1+(4-kIP4Segments)*2) + '/' + (8 * kIP4Segments); + ipName = prefix + '.x.x.x'.substring(0, 1+(4-kIP4Segments)*2) + '/' + (8 * kIP4Segments); } } diff --git a/config/default-config.json b/config/default-config.json index 1ef5051..ccb5a6a 100644 --- a/config/default-config.json +++ b/config/default-config.json @@ -41,6 +41,10 @@ "id": "susClient", "desc": "Client identifier that is popular with bot networks", "bot": 10 }, + {"func": "matchesClient", "params": ["undici","gohttp"], + "id": "botClient", "desc": "Client identifier indicates web crawler", + "bot": 100 + }, {"func": "combinationTest", "params": [["macos","chromeold"],["macos","msie"],["winold","edge"],["winold","brave"]], "id": "suspPC", "desc": "Suspicious combination of platform and client", "bot": 30 diff --git a/config/known-bots.json b/config/known-bots.json index 8fbee46..0dcede8 100644 --- a/config/known-bots.json +++ b/config/known-bots.json @@ -78,8 +78,8 @@ }, {"id": "openai", "n": "OpenAI/ChatGPT", "geo": "US", - "r": ["OAI-SearchBot", "ChatGPT-User", "GPTBot"], - "rx": ["OAI-SearchBot\\/(\\d+\\.\\d+);", "ChatGPT-User\\/(\\d+\\.\\d+);", "GPTBot\\/(\\d+\\.\\d+);"], + "r": ["OAI-SearchBot", "GPTBot"], + "rx": ["OAI-SearchBot\\/(\\d+\\.\\d+);", "GPTBot\\/(\\d+\\.\\d+);"], "url": "https://platform.openai.com/docs/bots/" }, {"id": "claude", @@ -96,8 +96,8 @@ }, {"id": "metabots", "n": "Meta/Facebook", "geo": "US", - "r": ["facebookexternalhit", "facebookcatalog","meta-webindexer","meta-externalads","meta-externalagent","meta-externalfetcher"], - "rx": ["facebook\\w+\\/(\\d+\\.\\d+)", "meta-\\w+\\/(\\d+\\.\\d+)"], + "r": ["facebookcatalog","meta-webindexer","meta-externalads","meta-externalagent"], + "rx": ["facebook[cw]\\w+\\/(\\d+\\.\\d+)", "meta-externala\\w+\\/(\\d+\\.\\d+)"], "url": "https://developers.facebook.com/docs/sharing/webmasters/crawler" }, {"id": "qwant", @@ -292,12 +292,6 @@ "rx": ["IbouBot\\/(\\d+\\.\\d+)"], "url": "https://ibou.io/iboubot.html" }, - {"id": "gohttp", - "n": "Go HTTP Clients", - "r": [], - "rx": ["Go\\-http\\-client\\/(\\d+)", "quic\\-go\\-HTTP\\/(\\d+)"], - "url": "https://github.com/golang/goen.wi" - }, {"id": "bnl", "n": "BnL Harvester", "r": [], diff --git a/config/known-clients.json b/config/known-clients.json index b47bcd1..a43fbeb 100644 --- a/config/known-clients.json +++ b/config/known-clients.json @@ -98,5 +98,21 @@ {"n": "Google NotebookLM", "id": "goognblm", "rx": ["Google-NotebookLM"] + }, + {"n": "ChatGPT", + "id": "chatgpt", + "rx": ["ChatGPT-User\\/(\\d\\.\\d)"] + }, + {"n": "Meta Apps", + "id": "meta", + "rx": ["facebookexternalhit\\/(\\d\\.\\d)", "meta-externalfetcher\\/(\\d\\.\\d)"] + }, + {"n": "Undici-based crawler", + "id": "undici", + "rx": ["undici"] + }, + {"n": "Go HTTP crawler", + "id": "gohttp", + "rx": ["Go\\-http\\-client\\/(\\d+)", "quic\\-go\\-HTTP\\/(\\d+)"] } ] diff --git a/config/known-platforms.json b/config/known-platforms.json index c8aebdc..e5681a9 100644 --- a/config/known-platforms.json +++ b/config/known-platforms.json @@ -57,6 +57,6 @@ }, {"n": "App", "id": "app", - "rx": [ "WhatsApp/(\\d+\\.\\d+)", "Facebot Twitterbot\\/(\\d\\.\\d)", "Google-NotebookLM"] + "rx": [ "WhatsApp/(\\d+\\.\\d+)", "Facebot Twitterbot\\/(\\d\\.\\d)", "Google-NotebookLM", "ChatGPT-User", "meta-externalfetcher"] } ] \ No newline at end of file diff --git a/img/clients.png b/img/clients.png index 19aa704..503f1b0 100644 Binary files a/img/clients.png and b/img/clients.png differ