From 3986410d5cb632eabdab2cc231d4ad9855eca7c5 Mon Sep 17 00:00:00 2001 From: Sascha Leib Date: Sun, 19 Oct 2025 10:50:27 +0200 Subject: [PATCH] Seen by icons --- admin.css | 12 ++++++++++++ admin.js | 31 +++++++++++++++++++++++++------ config/default-config.json | 8 ++++++-- config/known-clients.json | 2 +- img/stages.png | Bin 0 -> 3484 bytes plugin.info.txt | 2 +- 6 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 img/stages.png diff --git a/admin.css b/admin.css index 3d650d2..1f263bb 100644 --- a/admin.css +++ b/admin.css @@ -116,6 +116,7 @@ background:url(img/flags.png) no-repeat 0 0; background-size: 20px auto; } + &.ctry_eu::before { background-position-y: -161px } &.ctry_ad::before { background-position-y: -441px } &.ctry_ae::before { background-position-y: -461px } &.ctry_af::before { background-position-y: -481px } @@ -380,6 +381,17 @@ &.ref_facebook::before { background-position-y: -280px } &.ref_discord::before { background-position-y: -300px } &.ref_other::before { background-image: url('img/more.svg') } + + /* seen-by icons */ + &.seenby::before { background-image: url('img/stages.png') } + &.sb_srv::before { background-position-y: -20px } + &.sb_log::before { background-position-y: -40px } + &.sb_srvlog::before { background-position-y: -60px } + &.sb_tck::before { background-position-y: -80px } + &.sb_srvtck::before { background-position-y: -100px } + &.sb_logtck::before { background-position-y: -120px } + &.sb_srvlogtck::before { background-position-y: -140px } + } .page_icon { diff --git a/admin.js b/admin.js index 57521da..49765e5 100644 --- a/admin.js +++ b/admin.js @@ -1156,7 +1156,7 @@ BotMon.live = { // check for unknown bots: if (!botInfo) { - const botmatch = agent.match(/([\s\d\w\-]*bot|[\s\d\w\-]*crawler|[\s\d\w\-]*spider)[\/\s;\),\\.$]/i); + const botmatch = agent.match(/([\s\d\w\-]*bot|[\s\d\w\-]*crawler|[\s\d\w\-]*spider)[\/\s\w\-;\),\\.$]/i); if(botmatch) { botInfo = {'id': ( botmatch[1] || "other_" ), 'n': "Other" + ( botmatch[1] ? " (" + botmatch[1] + ")" : "" ) , "bot": botmatch[1] }; } @@ -1543,15 +1543,15 @@ BotMon.live = { }, // test for specific client identifiers: - /*matchesClients: function(visitor, ...list) { + matchesUserAgent: function(visitor, ...list) { for (let i=0; iMYD(^oFW{einv$fa(Fk6{>O0UH7Ig08p38OmU*4+Kj$%8$SSmSL{rHjWtDc zR41Q5?2f;skDGsh(<4`anbQMre??Q+Em1W^B}ENS?@4WHOrz@^BR3->IRFFIpabv& z=>R|~GNy{a|M1z}$N*{o@zYST5|9SKPSv(lc@Tf@AHN3`pA9Z$8UUI0U;TeJ1yGmL z=mF=bkq~7S2(aK!*0UYy3jSoupyIPZL(NO`Po#y0Iu-rzDkTWyY}HGSZGX<6vIzjN z+%VGDy@f`s+dcH;{>qbYvstYaHp)kt&5Fol=k^sXG_v}h7BR_bEFxCUSj_sMB#v@l z0Beo2I4L?cmxVtt%l;KXVN6Vd!y~OFbrN)hbK(hpHWka5(;mR7=@v6Rr%U^=9H9G-C`pLuk zG;jrt07%pv&S23)Q^3U;9V3>j*IAbK#8es>%2T`SocnY@M}1Q*ZA!G;w!Gd`eBqKl z3t?TN(L>^IN7n(+w*Y*nS}#jNJ(m{yibm)DyqE&}Gi1h76beK~HGuDV_@y*_dsAU6X>g8F!cb{{C z#&|JKT0E3syV%BPsyk%;M5@=JF`GZ}XKqmzqmxk7mv@acu3tU@<(YQ&o}RxV25mGe z|Dg=ULSyO`XzwP__B6-fEPbM!6pN$AOO{_soV=@eYXEU(r|*|N2TIFH@Lg3)NRq2k zSyc~FRPKZl>hs>Y0$^`j>eRG!2!B? zpMxU=N_Z@23W24xOBbZHaDrXRN@0v$YUvzn8Ra(?#h2LBor;VZKSG^zy$&YutQVY_5;(2h z`l_txynCh6&HSAYK`C6ms>(Gc(z6TUVJp9X-+Nz19tRWHz6gSio!$pxv&DrJu0{7o z5tdE5W2}aUzH6=DoliFl|4GtQU13{p$PXvyvsUeTsPkvJrNjg#&UUqTk<(|8!rki2 zn%&78Glcfy<7o+S=iwD!5jhA=p_!_-YfoDdc;~{8^6YP0xW4(DT9TR2{4%zop?C!Y ziswk%m2FQ2Lw6#6#mO#`u(BAz!&52@-9}Z79JUfww41|Yk@=Qa{?5$$!lq^{BtFK= zmk)BXUGfP13v=cE^w2S4wKD-PadIzX8#nR1_UAFSo&WWx`z+*KoaE>{9p3bD3%RRn zGSt>pMmU-@%}q8$WuZu&lLx*$>YzY0V)XLsH^sqyF_{H;x>(;#iwvaZR0nj3kv~9@ z@bDbQ(VH!5J7*47mT&)kn)3OmJ%K0YpyLK}EcDYM2DOHtX@LtH+`$s49A z=A?s^Tp8Y?Z;S+_fHbi4up({=ZP@EDEb93T6fx?G*woDYYX8OS@z?kLO~&8Evcj+sdybHi`6 znLE{*qxbd&D~zr8v*SLFcB#qhP8!|Jlm_FrPYa`ygJ`rWk@6x245jA>noZ2h2V2Yo zw0)J7v;wCz)?LsDf7J;{slrfO3N($yj&yT(uA!{&B~otLKidI2-`VrF$jzVC+e*9A zb(wGZMfF-B2P&h1N^q^S{A8^HN>mHn z74@iELtKK$)DFF>bb~k7NA2r@xTZXbT);(lli_?7SKkslJ%+c6-*3J_y1_U)pP0PV zvz*&yMY61q{~@!r1mjH7N$%H3+YiQ8`$Y%!Cn&sM++Bu6`ig?@a4Sc}c8Uqy7KD_s z!@ld=);PbqueE-Ft8`1oVkCFDLeaqnqXz$Bx4uk&71DIQ!2`nG(3c+=20oTSyGh-C z7sV~fbWJC#BM0PkqGEjOu}kiY{;Qu66?CypZ6K0OKtJY`56aOjk1U(3Z-e#svN$|t@`q!V~Gs5FWDYHSXi35FC z+H))~cHF9y)q_{0xXRH*s8j>t{{xMER8X`S&%Q@599;c`>tj;m;rNS|@#(go z(*pI+gjPlDrXWKjsuE3=HINQadLqY|@5NpR#6wzl9Q2P)zZ#lhLAwW&+!;Xbcc9@`S+;3iC- zxFI=jx%D}@CqQx$gndO!?t@z8nfE1EKVfD-nVhtecZyq5>z815?T(|RR{QL%}ggKZOPp9;+qeaTsv*J8s=i5@s&MXsI|8dLxgY>Ska9c~lo~_NS7TTPcTuyBy zcj9^cT4X*Xw-kOsr+`X6yaFj^&RNhqmCuybyysx}LRS+Hrg-e2{`5!3lurh5Ibs=b zcdXu*@TCoPFM*bC>2Ww6!I-Cs)chZ{L;B-E5*(4kbk-e_cs!uDel9$R-|M&l8nhDx zqa;mMd373Lm$ueMl1bSoTyAN%3_B<)gDWnzwEKENGfEnhEu_x2fam?Wquq%Uon5Zu zPq#1)L(&tl9$xjs$Z;R&kYC$$n+lY7&-1r~D}|uSxfP(=h+JP7pIz9e?M^-A#g95F zKEzolU{t7`lWDE_ojQ>&#L)L}L~M0utXpS#$7nd*r=Ysde9ENtFTNx>TlM82TL%7K za>#I3n}gJp1%0mpuNlX6PU3kGHz>=mOUP4~3 z(W6ng<#vO?MPD6*1kS}G!Uvg zy)H?QTF6qbkY5c{s%Er~>ed|!(V>C)D67-EScr5!h7R=VuNYwg_bix67)^MK%(dhF z>Zl2Uzjbc6ub@Ra8LPq`inc@%Z=Y`C<^%>+aUUMB*>w=lP4uY2_=bPw*VW9>s;MAi z@_h^jUzD=B__r}ge8XVjIX_!^Uj^;2J`hvZcD%(Ne2T0Fot^%Dsq3@9KbZS%9E5O8 zLJy*ot%}j+GGXdG2VsMt!m8tSlXp3wMH_{ksjSUi81RQ&+1c5iMM;r*iIa1({`l%p z+mZVRSd#J36T!_q-tchj;0X6z^MVWi`BL#oLv67hUTy| z4D*y8*&{LX4GSt7jO3zeI){|lgSc0qY6|)(phfhsC|R~|8<#WGdnA6_@9D!uYX(Fvr&rg{!?N=(lbW~yJUcQ@+4G&f=> literal 0 HcmV?d00001 diff --git a/plugin.info.txt b/plugin.info.txt index 7d8cf9f..b205a53 100644 --- a/plugin.info.txt +++ b/plugin.info.txt @@ -1,7 +1,7 @@ base botmon author Sascha Leib email ad@hominem.com -date 2025-10-17 +date 2025-10-19 name Bot Monitoring desc A tool for monitoring and analysing bot traffic to your wiki (under development) url https://www.dokuwiki.org/plugin:botmon