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 |
|---|---|
| curl | 28413 |
| Other | 1866 |
| Windows | 1634 |
| Linux | 1303 |
| Bots | 494 |
| Android | 451 |
| MacOS | 393 |
| iPhone | 28 |
| iPad | 3 |
| ChromeOS | 2 |
| Bot Agent | Count |
|---|---|
| OpenAIBot | 225 |
| PythonBot | 140 |
| GoBot | 53 |
| CensysInspect | 31 |
| InternetMeasurement | 15 |
| JavaBot | 9 |
| NetcraftSurveyAgent | 8 |
| PaloBot | 8 |
| GoogleBot | 3 |
| BingBot | 1 |
| WhatsAppBot | 1 |
| Other Agent | Count |
|---|---|
| Mozilla/5.0 | 839 |
| python-httpx/0.28.1 | 665 |
| Mozilla/5.0 (l9scan/2.0.934313e2931323e2939313e2430313; +https://leakix.net) | 154 |
| Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com) | 34 |
| Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org) | 30 |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | 21 |
| Mozilla/5.0 (compatible; SecurityScanner/1.0) | 19 |
| RootEvidence/1.0 | 14 |
| fasthttp | 9 |
| Mozilla/5.0 (compatible; NetScope-DomainScanner/1.0; security research scanner) | 9 |
| Mozilla/5.0 (compatible; wpbot/1.3; +https://forms.gle/ajBaxygz9jSR8p8G9) | 8 |
| Mozilla/5.0 (compatible; wpbot/1.4; +https://forms.gle/ajBaxygz9jSR8p8G9) | 8 |
| ip9max/1.0 | 4 |
| RecordedFuture Global Inventory Crawler | 4 |
| Mozilla/5.0 zgrab/0.x | 3 |
| Scrapy/2.13.4 (+https://scrapy.org) | 3 |
| Scrapy/2.13.3 (+https://scrapy.org) | 2 |
| Mozilla/5.0 (compatible; UGAResearchAgent/1.0; Please visit: NISLabUGA.github.io) | 2 |
| SAMSUNG-S8000/S8000XXIF3 SHP/VPP/R5 Jasmine/1.0 Nextreaming SMM-MMS/1.2.0 profile/MIDP-2.1 configuration/CLDC-1.1 FirePHP/0.3 | 2 |
| FileTransport PolycomVVX-VVX_400-UA/5.3.0.12074 (SN:0004f28efa50) Type/Application | 2 |
| CVE-2025-55182-Checker | 2 |
| W3C_Validator/1.654 | 1 |
| Mozilla/4.8 [en] (X11; U; SunOS; 5.7 sun4u) | 1 |
| MOT-V9mm/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0 | 1 |
| Mozilla/4.0 (compatible; MSIE 6.0; j2me) ReqwirelessWeb/3.5 | 1 |
| Mozilla/5.0 (compatible; Konqueror/4.5; FreeBSD) KHTML/4.5.4 (like Gecko) | 1 |
| Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/535.22+ (KHTML, like Gecko) Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/535.22+ Epiphany/2.30.6 | 1 |
| Facebot | 1 |
| Mozilla/5.0 (OS/2; Warp 4.5; rv:24.0) Gecko/20100101 Firefox/24.0 | 1 |
| nook browser/1.0 | 1 |
| 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 | 1 |
| fastapi-client/1.0 (+https://fastapi.tiangolo.com/) | 1 |
| Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.1.12) Gecko/20080303 SeaMonkey/1.1.8 | 1 |
| Mozilla/5.0 (X11; U; FreeBSD i386; de-CH; rv:1.9.2.8) Gecko/20100729 Firefox/3.6.8 | 1 |
| LG-GC900/V10a Obigo/WAP2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1 | 1 |
| Mozilla/4.0 (compatible; Dillo 3.0) | 1 |
| BlackBerry9000/4.6.0.167 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102 | 1 |
| Mozilla/5.0 (compatible; VertexWP/1.0; +https://vertexwp.com/bot) | 1 |
| PolycomSoundStationIP-SSIP_6000-UA/4.0.5.4853 | 1 |
| Mozilla/5.0 (compatible; WP-Safe-Scanner/1.0) | 1 |
| Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html) | 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 |
| MOT-L7v/08.B7.5DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.0.0.0 | 1 |
| Screaming Frog SEO Spider/8.1 | 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 |
| 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 | 1 |
| Opera/10.61 (J2ME/MIDP; Opera Mini/5.1.21219/19.999; en-US; rv:1.9.3a5) WebKit/534.5 Presto/2.6.30 | 1 |
| Mozilla/5.0 (compatible; Konqueror/3.5; SunOS) KHTML/3.5.1 (like Gecko) | 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 (compatible; RavenX-Scanner/1.0) | 1 |
| Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.1.0.2342 Mobile Safari/537.10+ | 1 |
| WebCopier v4.6 | 1 |
| BlackBerry8330/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105 | 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 }