From 7d05fe3bb3ffbb084abf67cf9a4792893a16c403 Mon Sep 17 00:00:00 2001 From: Sascha Leib Date: Mon, 15 Sep 2025 22:58:08 +0200 Subject: [PATCH] Referers Update --- action.php | 2 +- admin.php | 5 +- img/flags.png | Bin 51306 -> 22027 bytes img/referers.png | Bin 0 -> 8495 bytes script.js | 147 ++++++++++++++++++++++++++--------------------- style.less | 25 ++++++-- 6 files changed, 106 insertions(+), 73 deletions(-) create mode 100644 img/referers.png diff --git a/action.php b/action.php index 0535472..982c9f5 100644 --- a/action.php +++ b/action.php @@ -121,7 +121,7 @@ class action_plugin_botmon extends DokuWiki_Action_Plugin { private function getCountryCode() { - $country = ( $this->ipAddress == 'localhost' ? 'AA' : 'ZZ' ); // default if no geoip is available! + $country = ( $this->ipAddress == 'localhost' ? 'local' : 'ZZ' ); // default if no geoip is available! $lib = $this->getConf('geoiplib'); /* which library to use? (can only be phpgeoip or disabled) */ diff --git a/admin.php b/admin.php index ade38a3..edfef34 100644 --- a/admin.php +++ b/admin.php @@ -56,7 +56,7 @@ class admin_plugin_botmon extends AdminPlugin {
Bot overview (page views) -
+
@@ -64,10 +64,11 @@ class admin_plugin_botmon extends AdminPlugin {
Web metrics -
+
+
diff --git a/img/flags.png b/img/flags.png index 12a23461e8b244579df9f8ff68fac171737ec589..2c5d318e4e21ca92f5be4053e608b8c2e8c90248 100644 GIT binary patch literal 22027 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 IiTmUK1ARb*=Kufz literal 51306 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 diff --git a/img/referers.png b/img/referers.png new file mode 100644 index 0000000000000000000000000000000000000000..2fed645bb418edd614a85bec314f29b459919521 GIT binary patch literal 8495 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 { + me.addToRefererList(pv._ref); + }); } }); @@ -573,85 +578,76 @@ BotMon.live = { BotMon.live.gui.status.hideBusy('Done.'); }, - // visits from IP ranges: - /*_ipRange: { - ip4: [], - ip6: [] - },*/ - /** - * Adds a visit to the IP range statistics. - * - * This helps to identify IP ranges that are used by bots. - * - * @param {string} ip The IP address to add. - */ - /*addToIPRanges: function(ip) { + // Referer List: + _refererList: [], + _refererListCount: 0, + + addToRefererList: function(ref) { + //console.log('BotMon.live.data.analytics.addToRefererList',ref); - // #TODO: handle nestled ranges! const me = BotMon.live.data.analytics; - const ipv = (ip.indexOf(':') > 0 ? 6 : 4); + + // ignore internal references: + if (ref && ref.host == 'denkfehler.online') { + return; + } + + // find the referer ID: + let refId = 'null'; + if (ref && ref.host) { + const hArr = ref.host.split('.'); + const tld = hArr[hArr.length-1]; + refId = ( tld == 'localhost' ? tld : hArr[hArr.length-2] + ( tld.length > 3 ? '.' + tld : '' ) ); + } - const ipArr = ip.split( ipv == 6 ? ':' : '.'); - const maxSegments = (ipv == 6 ? 4 : 3); - - let arr = (ipv == 6 ? me._ipRange.ip6 : me._ipRange.ip4); - - // find any existing segment entry: - it = null; - for (let i=0; i < arr.length; i++) { - const sig = arr[i]; - if (sig.seg == ipArr[0]) { - it = sig; + // already exists? + let refObj = null; + for (let i = 0; i < me._refererList.length; i++) { + if (me._refererList[i].id == refId) { + refObj = me._refererList[i]; break; } } - - // create if not found: - if (!it) { - it = {seg: ipArr[0], count: 1}; - //if (i { - if (it.count > kMinHits) { - it.type = ipType; - tmpList.push(it); - } - }); - tmpList.sort( (a,b) => b.count - a.count); - } + // sort the list: + me._refererList.sort( (a,b) => { + return b.count - a.count; + }); - // reduce to only the top (max) items and create the target format: - // #TODO: handle nestled ranges! - let rList = []; - for (let j=0; Math.min(max, tmpList.length) > j; j++) { - const rangeInfo = tmpList[j]; - rList.push({ - 'ip': rangeInfo.seg + ( rangeInfo.type == 4 ? '.x.x.x' : '::x'), - 'typ': rangeInfo.type, - 'num': rangeInfo.count - }); + // get the top: + for (let i = 0; i < max; i++) { + const it = me._refererList[i]; + const rIt = { + id: it.id, + count: it.count, + pct: (it.count / me._refererListCount * 100).toFixed(0) + } + rList.push(rIt); } return rList; - },*/ + }, /* countries of visits */ _countries: { @@ -1609,7 +1605,7 @@ BotMon.live = { const wmclients = document.getElementById('botmon__today__wm_clients'); if (wmclients) { - wmclients.appendChild(makeElement('dt', {}, "Top browsers (humans only)")); + wmclients.appendChild(makeElement('dt', {}, "Top browsers")); const clientList = BotMon.live.data.analytics.getTopBrowsers(5); if (clientList) { @@ -1629,7 +1625,7 @@ BotMon.live = { const wmplatforms = document.getElementById('botmon__today__wm_platforms'); if (wmplatforms) { - wmplatforms.appendChild(makeElement('dt', {}, "Top platforms (humans only)")); + wmplatforms.appendChild(makeElement('dt', {}, "Top platforms")); const pfList = BotMon.live.data.analytics.getTopPlatforms(5); if (pfList) { @@ -1645,6 +1641,25 @@ BotMon.live = { } } + // update the top referrers; + const wmreferers = document.getElementById('botmon__today__wm_referers'); + if (wmreferers) { + + wmreferers.appendChild(makeElement('dt', {}, "Top Referers")); + + const refList = BotMon.live.data.analytics.getTopReferers(5); + if (refList) { + refList.forEach( (rInfo) => { + const rDd = makeElement('dd'); + rDd.appendChild(makeElement('span', {'class': 'has_icon referer ref_' + rInfo.id }, rInfo.id)); + rDd.appendChild(makeElement('span', { + 'class': 'count', + 'title': rInfo.count + " references" + }, Math.round(rInfo.pct) + '%')); + wmreferers.appendChild(rDd); + }); + } + } } }, @@ -1978,7 +1993,7 @@ BotMon.live = { /* add bot evaluation details: */ if (data._eval) { - dl.appendChild(make('dt', {}, "Bot evaluation details:")); + dl.appendChild(make('dt', {}, "Bot evaluation:")); const evalDd = make('dd'); const testList = make('ul',{ 'class': 'eval' diff --git a/style.less b/style.less index 1aabda2..a112e57 100644 --- a/style.less +++ b/style.less @@ -40,7 +40,8 @@ /* Bot icons */ &.bot::before { background-image: url('img/bots.png') } - &.bot_googlebot::before, &.bot_googleads::before, &.bot_googleapi::before, &.bot_googleother::before, &.bot_googinspct::before { background-position-y: -20px } + &.bot_googlebot::before, &.bot_googleads::before, &.bot_googleapi::before, + &.bot_googleother::before, &.bot_googinspct::before { background-position-y: -20px } &.bot_bingbot::before { background-position-y: -40px } &.bot_applebot::before { background-position-y: -60px } &.bot_openai::before { background-position-y: -80px } @@ -341,13 +342,23 @@ &.extlink::before { background-image: url('img/links.png') } &.extlink.dnscheck::before { background-position-y: -20px } &.extlink.ipinfo::before { background-position-y: -40px } + + /* Common referers icons */ + &.referer::before { background-image: url('img/referers.png') } + &.ref_null::before { background-position-y: -20px } + &.ref_google::before { background-position-y: -40px } + &.ref_bing::before { background-position-y: -60px } + &.ref_yahoo::before { background-position-y: -80px } + &.ref_dokuwiki::before { background-position-y: -100px } + &.ref_duckduckgo::before { background-position-y: -120px } + &.ref_ecosia::before { background-position-y: -140px } + &.ref_yandex::before { background-position-y: -160px } } /* grid layout for the overview: */ - .botmon_overview_grid { + .botmon_bots_grid, .botmon_webmetrics_grid { & { display: grid; - grid-template-columns: 1fr 1fr 1fr; grid-gap: 0 .33em; } dl { @@ -358,6 +369,12 @@ } } } + .botmon_bots_grid { + grid-template-columns: 1fr 1fr 1fr; + } + .botmon_webmetrics_grid { + grid-template-columns: 1fr 1fr 1fr 1fr; + } /* the "today" tab: */ #botmon__today { @@ -750,7 +767,7 @@ /* layout overrides for narrow screens: */ @media (max-width: 670px) { #botmon__admin { - .botmon_overview_grid { + .botmon_bots_grid, .botmon_webmetrics_grid { grid-template-columns: 100%; } }