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 | 10003 |
| MacOS | 8898 |
| Windows | 7735 |
| Bots | 6194 |
| Other | 3405 |
| Linux | 1382 |
| Android | 711 |
| iPhone | 398 |
| ChromeOS | 44 |
| iPad | 23 |
| Links | 5 |
| Lynx | 1 |
| Bot Agent | Count |
|---|---|
| CensysInspect | 2994 |
| PythonRequests | 1079 |
| InternetMeasurement | 949 |
| PaloBot | 943 |
| BingBot | 164 |
| NetcraftSurveyAgent | 49 |
| Nmap | 7 |
| GoogleBot | 4 |
| FacebookBot | 2 |
| TelegramBot | 2 |
| YandexBot | 1 |
| Other Agent | Count |
|---|---|
| Go-http-client/1.1 | 1017 |
| python-httpx/0.28.1 | 985 |
| Mozilla/5.0 | 197 |
| Go-http-client/2.0 | 170 |
| iaudit/0.1 | 112 |
| Mozilla/5.0 (compatible) | 109 |
| Mozilla/5.0 zgrab/0.x | 108 |
| Mozilla/5.0 (l9scan/2.0.934323e2631313e2430313e2237313; +https://leakix.net) | 89 |
| 'Mozilla/5.0 (compatible; GenomeCrawlerd/1.0; +https://www.nokia.com/networks/ip-networks/deepfield/genome/)' | 81 |
| 'Cloud mapping experiment. Contact research@pdrlabs.net' | 63 |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot) | 47 |
| fasthttp | 44 |
| Mozilla/5.0 (compatible; Odin; https://docs.getodin.com/) | 33 |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot) | 32 |
| 'Mozilla/5.0 (compatible; GenomeCrawlerd/1.0; +https://www.nokia.com/genomecrawler)' | 18 |
| Apache/2.4.34 (Ubuntu) OpenSSL/1.1.1 (internal dummy connection) | 14 |
| Mozilla/5.0 (compatible; ModatScanner/1.0; +https://modat.io/) | 14 |
| Mozilla/5.0 (compatible; SBIntuitionsBot/0.1; +https://www.sbintuitions.co.jp/bot/) | 12 |
| axios/1.7.7 | 10 |
| Mozilla/5.0 (compatible; wpbot/1.4; +https://forms.gle/ajBaxygz9jSR8p8G9) | 10 |
| Mozilla/5.0 (compatible; NetScope-DomainScanner/1.0; security research scanner) | 9 |
| Mozilla/5.0 (compatible; wpbot/1.1; +https://forms.gle/ajBaxygz9jSR8p8G9) | 8 |
| python-httpx/0.27.2 | 8 |
| ctâgitâscanner/0.4 | 8 |
| Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/) | 7 |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | 7 |
| Mozilla/5.0 (compatible; wpbot/1.2; +https://forms.gle/ajBaxygz9jSR8p8G9) | 6 |
| Mozilla/5.0 (compatible; wpbot/1.3; +https://forms.gle/ajBaxygz9jSR8p8G9) | 6 |
| Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com) | 6 |
| Mozilla/5.0 (compatible; SecurityScanner/1.0) | 5 |
| Mozilla/5.0 researchscan.comsys.rwth-aachen.de | 4 |
| Gulper Web Bot 0.2.4 (www.ecsl.cs.sunysb.edu/~maxim/cgi-bin/Link/GulperBot) | 4 |
| httpx - Open-source project (github.com/Cloudsek-Engineering/fdf-httpx) | 4 |
| ShellBot 2.0 | 4 |
| Mozilla/5.0 (X11; OpenBSD amd64; rv:28.0) Gecko/20100101 Firefox/28.0 | 3 |
| BaiduSpider | 3 |
| Mozilla/5.0 (X11; U; FreeBSD i386; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.207.0 Safari/532.0 | 3 |
| Mozilla/5.0 (X11; OpenBSD amd64; rv:30.0) Gecko/20100101 Firefox/30.0 | 3 |
| firefox | 3 |
| Apache-HttpClient/4.5.6 (Java/1.8.0_422) | 3 |
| Scrapy/2.13.4 (+https://scrapy.org) | 3 |
| RootEvidence/1.0 | 3 |
| Mozilla/5.0 (OS/2; Warp 4.5; rv:10.0.12) Gecko/20100101 Firefox/10.0.12 | 2 |
| python-httpx/0.25.1 | 2 |
| Python/3.11 aiohttp/3.9.1 | 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 |
| Mozilla/5.0 (X11; U; FreeBSD i386; de-CH; rv:1.9.2.8) Gecko/20100729 Firefox/3.6.8 | 2 |
| WDG_Validator/1.6.2 | 2 |
| Apache-HttpClient/4.5.6 (Java/1.8.0_412) | 2 |
| BlackBerry9700/5.0.0.351 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/123 | 2 |
| SonyEricssonS500i/R6BC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 | 2 |
| SonyEricssonT100/R101 | 2 |
| facebookscraper/1.0( http://www.facebook.com/sharescraper_help.php) | 2 |
| Opera/9.80 (X11; FreeBSD 8.1-RELEASE i386; Edition Next) Presto/2.12.388 Version/12.10 | 2 |
| Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.1.0.2342 Mobile Safari/537.10+ | 2 |
| axios/1.7.2 | 2 |
| BlackBerry8330/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105 | 2 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/a141e2f warc/v0.8.62 | 2 |
| WanScannerBot/1.0 | 2 |
| Scrapy/2.11.2 (+https://scrapy.org) | 2 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/93f6658 warc/v0.8.73 | 2 |
| Scrapy/2.12.0 (+https://scrapy.org) | 2 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/107.0 Safari/537.36 | 2 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/113.0 Safari/537.36 | 2 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Edge/123.0 Safari/537.36 | 2 |
| RecordedFuture Global Inventory Crawler | 2 |
| Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org) | 2 |
| Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36 | 1 |
| RepoLookoutBot/v1.1.0-260-g718bf6a (abuse reports to abuse@repo-lookout.org) | 1 |
| Python/3.11 aiohttp/3.8.5 | 1 |
| w3m/0.5.1 | 1 |
| node-fetch/1.0 (+https://github.com/bitinn/node-fetch) | 1 |
| Python/3.11 aiohttp/3.8.6 | 1 |
| Python/3.9 aiohttp/3.9.1 | 1 |
| Python/3.10 aiohttp/3.9.0 | 1 |
| nook browser/1.0 | 1 |
| FeedFetcher-Google; ( http://www.google.com/feedfetcher.html) | 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 |
| BlackBerry8320/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/100 | 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 |
| Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20100101 Firefox/5.0 | 1 |
| Mozilla/5.0 (compatible; Konqueror/3.5; NetBSD 4.0_RC3; X11) KHTML/3.5.7 (like Gecko) | 1 |
| okhttp/3.14.9 | 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 |
| WebCopier v4.6 | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/ae4878c warc/v0.8.39 | 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 |
| cc | 1 |
| Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.16823/1428; U; en) Presto/2.2.0 | 1 |
| Mozilla/3.0 (compatible; NetPositive/2.1.1; BeOS) | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/6417bfd warc/v0.8.43 | 1 |
| BlackBerry7520/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/5.0.3.3 UP.Link/5.1.2.12 (Google WAP Proxy/1.0) | 1 |
| Mozilla/5.0 (compatible; Domains Project/1.3.7; +https://domainsproject.org) | 1 |
| SEC-SGHX210/1.0 UP.Link/6.3.1.13.0 | 1 |
| Mozilla/5.0 (SymbianOS/9.1; U; de) AppleWebKit/413 (KHTML, like Gecko) Safari/413 | 1 |
| Mozilla/5.0 (X11; U; OpenBSD i386; en-US) AppleWebKit/533.3 (KHTML, like Gecko) Chrome/5.0.359.0 Safari/533.3 | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/6d48952 warc/v0.8.53 | 1 |
| Python-urllib/2.5 | 1 |
| libwww-perl/5.820 | 1 |
| Mozilla/3.01Gold (Win95; I) | 1 |
| SEC-SGHX820/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 | 1 |
| grub-client-1.5.3; (grub-client-1.5.3; Crawl your own stuff with http://grub.org) | 1 |
| INTWATCH | 1 |
| Mozilla/5.0 (OS/2; Warp 4.5; rv:10.0.12) Gecko/20130108 Firefox/10.0.12 SeaMonkey/2.7.2 | 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 |
| Opera/9.60 (J2ME/MIDP; Opera Mini/4.1.11320/608; U; en) Presto/2.2.0 | 1 |
| SEC-SGHE900/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1378; nl; U; ssr) | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/76f39f7 warc/v0.8.53 | 1 |
| SonyEricssonT68/R201A | 1 |
| DoCoMo/2.0 SH901iC(c100;TB;W24H12) | 1 |
| python-httpx/0.28.0 | 1 |
| Mozilla/5.0 (X11; U; SunOS sun4m; en-US; rv:1.4b) Gecko/20030517 Mozilla Firebird/0.6 | 1 |
| Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36 | 1 |
| Mozilla/5.0 (compatible; Exabot/3.0; http://www.exabot.com/go/robot) | 1 |
| Go 1.1 package http | 1 |
| Mozilla/4.0 (PDA; PalmOS/sony/model prmr/Revision:1.1.54 (en)) NetFront/3.0 | 1 |
| Fuzz Faster U Fool v2.1.0-dev | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/e752ac5 warc/v0.8.60 | 1 |
| SonyEricssonW810i/R4EA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.0.0.0 | 1 |
| Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es70 | 1 |
| Avant Browser/1.2.789rel1 (http://www.avantbrowser.com) | 1 |
| EmailWolf 1.00 | 1 |
| Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC) | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/3fae3c8 warc/v0.8.68 | 1 |
| Fuzz Faster U Fool v2.1.0 | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/a8e8486 warc/v0.8.73 | 1 |
| msnbot/1.1 ( http://search.msn.com/msnbot.htm) | 1 |
| Offline Explorer/2.5 | 1 |
| Vodafone/1.0/V802SE/SEJ001 Browser/SEMC-Browser/4.1 | 1 |
| Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html) | 1 |
| msnbot-media/1.1 ( http://search.msn.com/msnbot.htm) | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/103.0 Safari/537.36 | 1 |
| Mozilla/5.0 (X11; NetBSD amd64; rv:30.0) Gecko/20100101 Firefox/30.0 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/108.0 Safari/537.36 | 1 |
| Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Edge/117.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 |
| Python/3.11 aiohttp/3.13.3 | 1 |
| Mozilla/5.0 (compatible; Detektor/1.0; +https://github.com/detektor) | 1 |
| Mozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot) | 1 |
| req/v3 (https://github.com/imroc/req) | 1 |
| Twitterbot/1.0 | 1 |
| Python-urllib/3.10 | 1 |
| gFnwtJmHhv7B | 1 |
| lf0nC1T4N | 1 |
| eGDPgDGmXo | 1 |
| Mozilla/5.0 (compatible; Googlebot/2.1; +https://www.google.com/bot.html) | 1 |
| Telegram/32487 CFNetwork/3860.300.31 Darwin/25.2.0 | 1 |
user-agents.tsximport { proxy } from '../../../db/proxy.js'
import {
getOtherUserAgents,
getUAStatsProgress,
} from '../../../db/user-agent.js'
import SourceCode from '../components/source-code.js'
import Style from '../components/style.js'
import { o } from '../jsx/jsx.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>
)
export default UserAgents