Lines Matching refs:BotMon
29 const BotMon = { variable
41 this._timeDiff = BotMon.t._getTimeOffset();
49 BotMon.t._callInit(this);
187 BotMon.live = {
192 …br title="Coordinated Universal Time">UTC</abbr> ' + (BotMon._timeDiff != '' ? ` (offset: ${BotMon…
193 …BotMon.live.gui.status.setTitle(`Data for <time datetime="${BotMon._datestr}">${BotMon._datestr}</…
196 BotMon.t._callInit(this);
204 BotMon.t._callInit(this);
212 const data = BotMon.live.data;
238 BotMon.live.data.loadLogFile(BM_LOGTYPE.SERVER, BotMon.live.data._onServerLogLoaded);
253 BotMon.live.data.loadLogFile(BM_LOGTYPE.CLIENT, BotMon.live.data._onClientLogLoaded);
261 BotMon.live.data.loadLogFile(BM_LOGTYPE.TICKER, BotMon.live.data._onTicksLogLoaded);
270 BotMon.live.data.analytics.analyseAll();
276 BotMon.live.gui.overview.make();
293 const model = BotMon.live.data.model;
353 const model = BotMon.live.data.model;
370 const model = BotMon.live.data.model;
373 const bot = BotMon.live.data.bots.match(nv.agent);
390 const ipInfo = BotMon.live.data.ipRanges.match(nv.ip);
398 const countryName = new Intl.DisplayNames(['en', BotMon._lang], {type: 'region'});
416 _client: BotMon.live.data.clients.match(nv.agent) ?? null, // client info
417 _platform: BotMon.live.data.platforms.match(nv.agent), // platform info
476 const model = BotMon.live.data.model;
480 let visitor = BotMon.live.data.model.findVisitor(dat, type);
496 let prereg = BotMon.live.data.model._getPageView(visitor, dat);
519 const model = BotMon.live.data.model;
655 const model = BotMon.live.data.model;
656 const data = BotMon.live.data.analytics.data;
657 const me = BotMon.live.data.analytics;
659 BotMon.live.gui.status.showBusy("Analysing data …");
702 const e = BotMon.live.data.rules.evaluate(v);
780 BotMon.live.gui.status.hideBusy('Done.');
789 let botsList = BotMon.live.data.analytics.groups.knownBots.toSorted( (a, b) => {
842 const me = BotMon.live.data.analytics;
867 const me = BotMon.live.data.analytics;
879 const me = BotMon.live.data.analytics;
945 const me = BotMon.live.data.analytics;
962 const me = BotMon.live.data.analytics;
1020 const me = BotMon.live.data.analytics;
1062 const me = BotMon.live.data.analytics;
1089 const me = BotMon.live.data.analytics;
1127 const me = BotMon.live.data.analytics;
1134 const me = BotMon.live.data.analytics;
1142 const me = BotMon.live.data.analytics;
1159 const me = BotMon.live.data.analytics;
1160 const ipRanges = BotMon.live.data.ipRanges;
1172 const ipAddr = BotMon.t._ip2Num(v.ip);
1240 const me = BotMon.live.data.analytics;
1253 BotMon.live.gui.status.showBusy("Loading known bots …");
1254 const url = BotMon._baseDir + 'config/known-bots.json';
1265 BotMon.live.gui.status.setError("Error while loading the known bots file:", error.message);
1267 BotMon.live.gui.status.hideBusy("Status: Done.");
1268 BotMon.live.data._dispatch('bots')
1276 const BotList = BotMon.live.data.bots._list;
1330 BotMon.live.gui.status.showBusy("Loading known clients");
1331 const url = BotMon._baseDir + 'config/known-clients.json';
1338 BotMon.live.data.clients._list = await response.json();
1339 BotMon.live.data.clients._ready = true;
1342 … BotMon.live.gui.status.setError("Error while loading the known clients file: " + error.message);
1344 BotMon.live.gui.status.hideBusy("Status: Done.");
1345 BotMon.live.data._dispatch('clients')
1356 BotMon.live.data.clients._list.find(client => {
1378 const it = BotMon.live.data.clients._list.find(client => client.id == id);
1397 BotMon.live.gui.status.showBusy("Loading known platforms");
1398 const url = BotMon._baseDir + 'config/known-platforms.json';
1405 BotMon.live.data.platforms._list = await response.json();
1406 BotMon.live.data.platforms._ready = true;
1409 … BotMon.live.gui.status.setError("Error while loading the known platforms file: " + error.message);
1411 BotMon.live.gui.status.hideBusy("Status: Done.");
1412 BotMon.live.data._dispatch('platforms')
1423 BotMon.live.data.platforms._list.find(platform => {
1444 const it = BotMon.live.data.platforms._list.find( pf => pf.id == id);
1464 const me = BotMon.live.data;
1467 BotMon.live.data._loadSettingsFile(['user-ipranges', 'known-ipranges'],
1483 BotMon.live.gui.status.hideBusy("Status: Done.");
1484 BotMon.live.data._dispatch('ipranges')
1487 BotMon.live.gui.status.setError("Error while loading the config file: " + error.message);
1498 const me = BotMon.live.data.ipRanges;
1501 const ip2Num = BotMon.t._ip2Num;
1516 const me = BotMon.live.data.ipRanges;
1530 const me = BotMon.live.data.ipRanges;
1533 const ipNum = BotMon.t._ip2Num(ip);
1567 BotMon.live.gui.status.showBusy("Loading list of rules …");
1570 const me = BotMon.live.data;
1573 BotMon.live.data._loadSettingsFile(['user-config', 'default-config'],
1584 BotMon.live.gui.status.hideBusy("Status: Done.");
1585 BotMon.live.data._dispatch('rules')
1589 BotMon.live.gui.status.setError("Error while loading the config file: " + error.message);
1601 const me = BotMon.live.data.rules;
1617 const me = BotMon.live.data.rules;
1842 BotMon.live.gui.status.setError("Error while loading the config file: " + filename);
1847 BotMon.live.gui.status.setError("Could not load a config file.");
1881 BotMon.live.gui.status.showBusy(`Loading ${typeName} log file …`);
1884 const url = BotMon._baseDir + `logs/${BotMon._datestr}.${type}.txt`;
1921 BotMon.live.data.model.registerVisit(data, type);
1925 BotMon.live.data.model.updateVisit(data);
1929 BotMon.live.data.model.updateTicks(data);
1939 …BotMon.live.gui.status.setError(`Error while loading the ${typeName} log file: ${error.message} – …
1941 BotMon.live.gui.status.hideBusy("Status: Done.");
1954 BotMon.t._callInit(this);
2039 const makeElement = BotMon.t._makeElement;
2040 const data = BotMon.live.data.analytics.data;
2061 …value = BotMon.t._getRatio(data.visits.suspected + data.visits.bots, data.visits.users + data.visi…
2073 …value = BotMon.t._getRatio(data.views.suspected + data.views.bots, data.views.users + data.views.h…
2089 let botList = BotMon.live.data.analytics.getTopBots(maxItemsPerList);
2103 const ispList = BotMon.live.data.analytics.getTopBotISPs(5);
2116 const countryList = BotMon.live.data.analytics.getCountryList('bot', 5);
2130 …const bounceRate = Math.round(100 * (BotMon.live.data.analytics.getBounceCount('users') + BotMon.l…
2177 const clientList = BotMon.live.data.analytics.getTopBrowsers(maxItemsPerList);
2197 const pfList = BotMon.live.data.analytics.getTopPlatforms(maxItemsPerList);
2215 const usrCtryList = BotMon.live.data.analytics.getCountryList('human', 5);
2230 const pgList = BotMon.live.data.analytics.getTopPages(maxItemsPerList);
2255 const refList = BotMon.live.data.analytics.getTopReferers(maxItemsPerList);
2399 if (el && BotMon.live.gui.status._errorCount <= 0) {
2413 BotMon.live.gui.status._errorCount += 1;
2423 BotMon.live.gui.status._busyCount += 1;
2428 if (txt) BotMon.live.gui.status.setText(txt);
2434 BotMon.live.gui.status._busyCount -= 1;
2435 if (BotMon.live.gui.status._busyCount <= 0) {
2437 if (txt) BotMon.live.gui.status.setText(txt);
2446 const makeElement = BotMon.t._makeElement;
2511 const fillList = BotMon.live.data.analytics.groups[fillType];
2514 const ul = BotMon.t._makeElement('ul');
2517 ul.appendChild(BotMon.live.gui.lists._makeVisitorItem(it, fillType));
2533 const make = BotMon.t._makeElement;
2534 const model = BotMon.live.data.model;
2577 const ispName = BotMon.live.data.ipRanges.getOwner( data._ipRange.g ) || data._ipRange.g;
2600 const refInfo = BotMon.live.data.analytics.getRefererInfo(data.ref);
2637 details.appendChild(BotMon.live.gui.lists._makeVisitorDetails(data, type));
2646 const make = BotMon.t._makeElement;
2647 const model = BotMon.live.data.model;
2743 const refInfo = BotMon.live.data.analytics.getRefererInfo(data.ref);
2770 pageList.appendChild(BotMon.live.gui.lists._makePageViewItem(page, combinedItem, type));
2778 …class': 'bot-rating'}, ( data._botVal ? data._botVal : '0' ) + ' (of ' + BotMon.live.data.rules._t…
2787 const tObj = BotMon.live.data.rules.getRuleInfo(test);
2792 const rangeInfo = BotMon.live.data.ipRanges.match(data.ip);
2794 const owner = BotMon.live.data.ipRanges.getOwner(rangeInfo.g);
2830 const make = BotMon.t._makeElement;
2850 }, BotMon.t._formatTime(page._firstSeen)));
2882 var tDiff = BotMon.t._formatTimeDiff(page._firstSeen, page._lastSeen);
2943 BotMon.init();