diff --git a/admin.php b/admin.php index d63a736..2e34c14 100644 --- a/admin.php +++ b/admin.php @@ -63,7 +63,7 @@ class admin_plugin_botmon extends AdminPlugin {
- Humans’ web metrics + Humans overview
diff --git a/config/known-bots.json b/config/known-bots.json index 48b53c1..cda39a4 100644 --- a/config/known-bots.json +++ b/config/known-bots.json @@ -230,7 +230,7 @@ "n": "BitSightBot", "r": ["BitSightBot"], "rx": ["BitSightBot\\/(\\d+\\.\\d+)"], - "url": "https://darkvisitors.com/agents/bitsightbot" + "url": "https://datadome.co/bots/bitsightbot/" }, {"id": "terracotta", "n": "TerraCotta Bot", @@ -248,7 +248,7 @@ "n": "HaloBot", "geo": "FR", "r": ["HaloBot"], "rx": [" HaloBot\\/(\\d+)\\."], - "url": "https://darkvisitors.com/agents/tiktokspider" + "url": "https://www.haloscan.com/" }, {"id": "wayback", "n": "Internet Archive", @@ -261,5 +261,11 @@ "r": ["AliyunSecBot"], "rx": ["AliyunSecBot/Aliyun"], "url": "https://www.aqtronix.com/useragents/?Action=ShowAgentDetails&Name=AliyunSecBot" + }, + {"id": "ibou", + "n": "Ibou Bot", + "r": ["IbouBot"], + "rx": ["IbouBot\\/(\\d+\\.\\d+)"], + "url": "https://ibou.io/iboubot.html" } ] \ No newline at end of file diff --git a/img/bots.png b/img/bots.png index 20bb90a..b4c1d67 100644 Binary files a/img/bots.png and b/img/bots.png differ diff --git a/img/platforms.png b/img/platforms.png index 0e0eb7e..02a43bf 100644 Binary files a/img/platforms.png and b/img/platforms.png differ diff --git a/plugin.info.txt b/plugin.info.txt index 26588af..0827970 100644 --- a/plugin.info.txt +++ b/plugin.info.txt @@ -1,7 +1,7 @@ base botmon author Sascha Leib email ad@hominem.com -date 2025-09-19 +date 2025-09-20 name Bot Monitoring desc A tool for monitoring and analysing bot traffic to your wiki (under development) url https://www.dokuwiki.org/plugin:botmon diff --git a/script.js b/script.js index d7c5c5b..917a101 100644 --- a/script.js +++ b/script.js @@ -1567,7 +1567,6 @@ BotMon.live = { }); } - // update the suspected bot IP ranges list: /*const botIps = document.getElementById('botmon__today__botips'); if (botIps) { @@ -1749,6 +1748,7 @@ BotMon.live = { // change the id and title by number: let listTitle = ''; let listId = ''; + let infolink = null; switch (i) { case 0: listTitle = "Registered users"; @@ -1761,10 +1761,12 @@ BotMon.live = { case 2: listTitle = "Suspected bots"; listId = 'suspectedBots'; + infolink = 'https://leib.be/sascha/projects/dokuwiki/botmon/info/suspected_bots'; break; case 3: listTitle = "Known bots"; listId = 'knownBots'; + infolink = 'https://leib.be/sascha/projects/dokuwiki/botmon/info/known_bots'; break; default: console.warn('Unknown list number.'); @@ -1776,7 +1778,14 @@ BotMon.live = { }); const title = details.appendChild(makeElement('summary')); title.appendChild(makeElement('span', {'class': 'title'}, listTitle)); - title.appendChild(makeElement('span', {'class': 'counter'})); + if (infolink) { + title.appendChild(makeElement('a', { + 'class': 'info', + 'target': '_blank', + 'href': infolink, + 'title': "More information" + }, "Info")); + } details.addEventListener("toggle", this._onDetailsToggle); parent.appendChild(details); diff --git a/style.less b/style.less index 944bc56..089bda9 100644 --- a/style.less +++ b/style.less @@ -53,6 +53,7 @@ &.bot_reddit::before { background-position-y: -200px } &.bot_wayback::before { background-position-y: -220px } &.bot_alibaba::before { background-position-y: -241px } + &.bot_ibou::before { background-position-y: -260px } &.bot_other::before { background-image: url('img/more.svg') } /* platform icons */ @@ -485,6 +486,18 @@ span.title { flex-grow: 1; } + a.info { + display: inline-block; + width: 1.25em; height: 1.25em; + overflow: hidden; + border-radius: 50%; + } + a.info::before { + content: ''; + display: inline-block; + width: 1.25em; height: 1.25em; + background: transparent url('img/info.svg') center no-repeat + } } } & > details > summary { @@ -591,8 +604,8 @@ span[data-lang]::after { content: attr(data-lang); font-size: smaller; - color: #555; - border: #555 solid 1px; + color: #666; + border: #666 solid 1px; line-height: 1.25; border-radius: 2pt; padding: 0 1pt; @@ -746,6 +759,14 @@ } } + dl.visitor_details { + dd.pages { + ul li:nth-child(odd) { + background-color: #333; + } + } + } + ul.eval { li:nth-child(odd) { background-color: #333;