This page demonstrates showing query result from database.
Below list of user agents are collected from the visitor's HTTP header.
stats ready
| User Agent | Count |
|---|---|
| Windows | 182143 |
| Bots | 3297 |
| MacOS | 2600 |
| Other | 2354 |
| Linux | 1365 |
| Android | 939 |
| iPhone | 138 |
| curl | 15 |
| iPad | 15 |
| ChromeOS | 13 |
| Links | 5 |
| Lynx | 1 |
| Bot Agent | Count |
|---|---|
| OpenAIBot | 822 |
| PaloBot | 801 |
| InternetMeasurement | 700 |
| BingBot | 379 |
| GoBot | 269 |
| CensysInspect | 94 |
| FacebookBot | 66 |
| PythonBot | 65 |
| GoogleBot | 63 |
| NetcraftSurveyAgent | 23 |
| JavaBot | 9 |
| TwitterBot | 2 |
| YandexBot | 2 |
| TelegramBot | 1 |
| YahooBot | 1 |
| Other Agent | Count |
|---|---|
| python-httpx/0.28.1 | 850 |
| Mozilla/5.0 | 347 |
| python-httpx/0.22.0 | 279 |
| python-httpx/0.24.1 | 193 |
| python-httpx/0.27.0 | 107 |
| Mozilla/5.0 (l9scan/2.0.934323e2631313e2430313e2237313; +https://leakix.net) | 76 |
| Mozilla/5.0 zgrab/0.x | 74 |
| Mozilla/5.0 (compatible) | 70 |
| YisouSpider | 45 |
| Mozilla/5.0 (compatible; ModatScanner/1.1; +https://modat.io/) | 34 |
| Mozilla/5.0 (compatible; wpbot/1.3; +https://forms.gle/ajBaxygz9jSR8p8G9) | 30 |
| meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler) | 28 |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | 20 |
| Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com) | 17 |
| Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/) | 17 |
| Mozilla/5.0 (compatible; ModatScanner/1.0; +https://modat.io/) | 15 |
| ctâgitâscanner/0.4 | 10 |
| Apache/2.4.34 (Ubuntu) OpenSSL/1.1.1 (internal dummy connection) | 6 |
| Scrapy/2.12.0 (+https://scrapy.org) | 6 |
| Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.16823/1428; U; en) Presto/2.2.0 | 4 |
| Mediapartners-Google | 3 |
| SonyEricssonZ800/R1Y Browser/SEMC-Browser/4.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.0.0.0 | 3 |
| HTMLParser/1.6 | 3 |
| NetSurf/1.2 (NetBSD; amd64) | 2 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/00b728d warc/v0.8.68 | 2 |
| Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/537.4 (KHTML like Gecko) Chrome/22.0.1229.79 Safari/537.4 | 2 |
| Peach/1.01 (Ubuntu 8.04 LTS; U; en) | 2 |
| MOT-L7v/08.B7.5DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.0.0.0 | 2 |
| Screaming Frog SEO Spider/8.1 | 2 |
| SonyEricssonS500i/R6BC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 | 2 |
| Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1 (KHTML, Like Gecko) Version/6.0.0.141 Mobile Safari/534.1 | 2 |
| Xenu Link Sleuth/1.3.8 | 2 |
| grub-client-1.5.3; (grub-client-1.5.3; Crawl your own stuff with http://grub.org) | 2 |
| Web Downloader/6.9 | 2 |
| SAMSUNG-SGH-A867/A867UCHJ3 SHP/VPP/R5 NetFront/35 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0 | 2 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Edge/129.0 Safari/537.36 | 2 |
| POLARIS/6.01(BREW 3.1.5;U;en-us;LG;LX265;POLARIS/6.01/WAP;)MMP/2.0 profile/MIDP-201 Configuration /CLDC-1.1 | 2 |
| Opera/9.80 (S60; SymbOS; Opera Mobi/499; U; ru) Presto/2.4.18 Version/10.00 | 2 |
| BlackBerry9700/5.0.0.351 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/123 | 2 |
| Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36 | 2 |
| Scrapy/2.13.3 (+https://scrapy.org) | 2 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/103.0 Safari/537.36 | 2 |
| RecordedFuture Global Inventory Crawler | 2 |
| BlackBerry8300/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/107 UP.Link/6.2.3.15.0 | 1 |
| Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC) | 1 |
| W3C_Validator/1.654 | 1 |
| Mozilla/5.0 (X11; NetBSD amd64; rv:30.0) Gecko/20100101 Firefox/30.0 | 1 |
| wii libnup/1.0 | 1 |
| SonyEricssonK810i/R1KG Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 | 1 |
| everyfeed-spider/2.0 (http://www.everyfeed.com) | 1 |
| P3P Validator | 1 |
| POLARIS/6.01 (BREW 3.1.5; U; en-us; LG; LX265; POLARIS/6.01/WAP) MMP/2.0 profile/MIDP-2.1 Configuration/CLDC-1.1 | 1 |
| Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.6) Gecko/20040406 Galeon/1.3.15 | 1 |
| Mozilla/5.0 (X11; CrOS aarch64 12239.67.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.102 Safari/537.36 | 1 |
| Mozilla/5.0 (compatible; Konqueror/4.5; FreeBSD) KHTML/4.5.4 (like Gecko) | 1 |
| Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.1.12) Gecko/20080303 SeaMonkey/1.1.8 | 1 |
| SonyEricssonW660i/R6AD Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot) | 1 |
| Jigsaw/2.2.5 W3C_CSS_Validator_JFouffa/2.0 | 1 |
| Mozilla/5.0 (OS/2; U; OS/2; en-US) AppleWebKit/533.3 (KHTML, like Gecko) Arora/0.11.0 Safari/533.3 | 1 |
| Mozilla/5.0 (compatible; Konqueror/4.5; NetBSD 5.0.2; X11; amd64; en_US) KHTML/4.5.4 (like Gecko) | 1 |
| Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.1.0.2342 Mobile Safari/537.10+ | 1 |
| Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es70 | 1 |
| Mozilla/5.0 (BlackBerry; U; BlackBerry 9930; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.267 Mobile Safari/534.11+ | 1 |
| Mozilla/5.0 (X11; U; FreeBSD i386; de-CH; rv:1.9.2.8) Gecko/20100729 Firefox/3.6.8 | 1 |
| Mozilla/5.0 (webOS/1.3; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Desktop/1.0 | 1 |
| Scrapy/2.11.2 (+https://scrapy.org) | 1 |
| Fuzz Faster U Fool v2.1.0 | 1 |
| Opera/9.30 (Nintendo Wii; U; ; 2047-7; en) | 1 |
| Mozilla/4.0 (compatible; Dillo 3.0) | 1 |
| Mozilla/5.0 (OS/2; Warp 4.5; rv:24.0) Gecko/20100101 Firefox/24.0 SeaMonkey/2.21 | 1 |
| Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+ | 1 |
| msnbot-media/1.1 ( http://search.msn.com/msnbot.htm) | 1 |
| Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 | 1 |
| Mozilla/5.0 (X11; U; FreeBSD x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16 | 1 |
| SonyEricssonK800i/R1CB Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.0.0.0 | 1 |
| Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1b3) Gecko/20090429 Firefox/3.1b3 | 1 |
| BlackBerry8330/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105 | 1 |
| WanScannerBot/1.0 | 1 |
| SEC-SGHX210/1.0 UP.Link/6.3.1.13.0 | 1 |
| Mozilla/2.0 (compatible; Ask Jeeves/Teoma) | 1 |
| Mozilla/5.0 (OS/2; Warp 4.5; rv:45.0) Gecko/20100101 Firefox/45.0 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/111.0 Safari/537.36 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/120.0 Safari/537.36 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/125.0 Safari/537.36 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Edge/108.0 Safari/537.36 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/122.0 Safari/537.36 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Edge/123.0 Safari/537.36 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Edge/101.0 Safari/537.36 | 1 |
| Mozilla/5.0 (OS/2; U; OS/2; en-US) AppleWebKit/533.3 (KHTML, like Gecko) QupZilla/1.3.1 Safari/533.3 | 1 |
| BlackBerry8320/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/100 | 1 |
| Mozilla/5.0 (X11; OpenBSD amd64; rv:28.0) Gecko/20100101 Firefox/28.0 | 1 |
| Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.9.1) Gecko/20090702 Firefox/3.5 | 1 |
| Opera/8.01 (J2ME/MIDP; Opera Mini/1.0.1479/HiFi; SonyEricsson P900; no; U; ssr) | 1 |
| SearchExpress | 1 |
| Mozilla/5.0 (OS/2; Warp 4.5; rv:38.0) Gecko/20100101 Firefox/38.0 SeaMonkey/2.35 | 1 |
| Mozilla/5.0 (X11; U; NetBSD amd64; en-US; rv:1.9.2.15) Gecko/20110308 Namoroka/3.6.15 | 1 |
| WebZIP/3.5 (http://www.spidersoft.com) | 1 |
| Mozilla/5.0 (Unknown; U; UNIX BSD/SYSV system; C -) AppleWebKit/527 (KHTML, like Gecko, Safari/419.3) Arora/0.10.2 | 1 |
| Mozilla/5.0 (Unknown; UNIX BSD/SYSV system) AppleWebKit/538.1 (KHTML, like Gecko) QupZilla/1.7.0 Safari/538.1 | 1 |
| Mozilla/5.0 (X11; NetBSD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36 | 1 |
| facebookscraper/1.0( http://www.facebook.com/sharescraper_help.php) | 1 |
| Mozilla/5.0 (OS/2; Warp 4.5; rv:31.0) Gecko/20100101 Firefox/31.0 SeaMonkey/2.28 | 1 |
| MOTORIZR-Z8/46.00.00 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 356) Opera 8.65 [it] UP.Link/6.3.0.0.0 | 1 |
| SEC-SGHX820/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 | 1 |
| Microsoft URL Control - 6.00.8862 | 1 |
| nook browser/1.0 | 1 |
| Mozilla/5.0 (compatible; alexa site audit/1.0; +http://www.alexa.com/help/webmasters; ) | 1 |
| Mozilla/2.02E (Win95; U) | 1 |
| portalmmm/2.0 N410i(c20;TB) | 1 |
| Mozilla/5.0 (compatible; Exabot/3.0; http://www.exabot.com/go/robot) | 1 |
| Mozilla/5.0 (compatible; UGAResearchAgent/1.0; Please visit: NISLabUGA.github.io) | 1 |
| Mozilla/5.0 (X11; NetBSD amd64; rv:16.0) Gecko/20121102 Firefox/16.0 | 1 |
| Mozilla/4.0 (PSP (PlayStation Portable); 2.00) | 1 |
| Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 | 1 |
| W3C_Validator/1.305.2.12 libwww-perl/5.64 | 1 |
| msnbot/0.11 ( http://search.msn.com/msnbot.htm) | 1 |
| Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 SonyEricssonP100/01; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 Safari/525 | 1 |
| Mozilla/5.0 (compatible; VertexWP/1.0; +https://vertexwp.com/bot) | 1 |
| Scrapy/2.13.4 (+https://scrapy.org) | 1 |
user-agents.tsximport { proxy } from '../../../db/proxy.js'
import {
getOtherUserAgents,
getUAStatsProgress,
} from '../../../db/user-agent.js'
import { Locale, Title } from '../components/locale.js'
import SourceCode from '../components/source-code.js'
import Style from '../components/style.js'
import { o } from '../jsx/jsx.js'
import { Routes } from '../routes.js'function agentTable(title: string, rows: [name: string, count: number][]) {
if (rows.length === 0) return
rows.sort((a, b) => b[1] - a[1])
return (
<table>
<thead>
<tr>
<th>{title}</th>
<th>Count</th>
</tr>
</thead>
<tbody>
{[
rows.map(([name, count]) => (
<tr>
<td>{name}</td>
<td>{count}</td>
</tr>
)),
]}
</tbody>
</table>
)
}
function Tables() {
return (
<>
<p>{getUAStatsProgress()}</p>
{agentTable(
'User Agent',
proxy.ua_type.map(row => [row.name, row.count]),
)}
{agentTable(
'Bot Agent',
proxy.ua_bot.map(row => [row.name, row.count]),
)}
{agentTable(
'Other Agent',
getOtherUserAgents().map(row => [row.user_agent, row.count]),
)}
</>
)
}
let UserAgents = (
<div id="user-agents">
<h1>User Agents of Visitors</h1>
{Style(/* css */ `
#user-agents table {
border-collapse: collapse;
margin: 1rem;
display: inline;
}
#user-agents th,
#user-agents td {
border: 1px solid var(--text-color, black);
padding: 0.25rem 0.5rem;
max-width: calc(90vw - 8rem);
word-break: break-word;
}
`)}
<p>This page demonstrates showing query result from database.</p>
<p>
Below list of user agents are collected from the visitor's HTTP header.
</p>
<Tables />
<SourceCode page="user-agents.tsx" />
</div>
)
let routes = {
'/user-agents': {
menuText: <Locale en="Visitor Stats" zh_hk="訪客統計" zh_cn="访客统计" />,
title: (
<Title
t={
<Locale
en="User Agents of Visitors"
zh_hk="訪客的用戶代理"
zh_cn="访客的用戶代理"
/>
}
/>
),
description: (
<Locale
en="User agents of this site's visitors"
zh_hk="此網站訪客的用戶代理資訊"
zh_cn="此网站访客的用户代理资讯"
/>
),
node: UserAgents,
},
} satisfies Routes
export default { routes }