ua-parser-js 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ua-parser.min.js +2 -2
- package/dist/ua-parser.min.mjs +2 -2
- package/dist/ua-parser.pack.js +2 -2
- package/dist/ua-parser.pack.mjs +2 -2
- package/package.json +1 -1
- package/src/enums/ua-parser-enums.d.ts +12 -2
- package/src/enums/ua-parser-enums.js +12 -2
- package/src/enums/ua-parser-enums.mjs +12 -2
- package/src/extensions/ua-parser-extensions.d.ts +1 -1
- package/src/extensions/ua-parser-extensions.js +54 -14
- package/src/extensions/ua-parser-extensions.mjs +54 -14
- package/src/helpers/ua-parser-helpers.d.ts +1 -1
- package/src/helpers/ua-parser-helpers.js +4 -1
- package/src/helpers/ua-parser-helpers.mjs +4 -1
- package/src/main/ua-parser.d.ts +1 -1
- package/src/main/ua-parser.js +140 -97
- package/src/main/ua-parser.mjs +140 -97
@@ -3,7 +3,7 @@
|
|
3
3
|
// Source: /src/extensions/ua-parser-extensions.js
|
4
4
|
|
5
5
|
///////////////////////////////////////////////
|
6
|
-
/* Extensions for UAParser.js v2.0.
|
6
|
+
/* Extensions for UAParser.js v2.0.4
|
7
7
|
https://github.com/faisalman/ua-parser-js
|
8
8
|
Author: Faisal Salman <f@faisalman.com>
|
9
9
|
AGPLv3 License */
|
@@ -52,13 +52,15 @@ const Crawlers = Object.freeze({
|
|
52
52
|
// DuckDuckBot - http://duckduckgo.com/duckduckbot.html
|
53
53
|
// FacebookBot - https://developers.facebook.com/docs/sharing/bot/
|
54
54
|
// GPTBot - https://platform.openai.com/docs/gptbot
|
55
|
+
// iAskBot - https://iask.ai
|
55
56
|
// LinkedInBot - http://www.linkedin.com
|
56
57
|
// MJ12bot - https://mj12bot.com/
|
57
58
|
// MojeekBot - https://www.mojeek.com/bot.html
|
59
|
+
// Onespot - https://www.onespot.com/identifying-traffic.html
|
58
60
|
// OpenAI's SearchGPT - https://platform.openai.com/docs/bots
|
59
61
|
// PerplexityBot - https://perplexity.ai/perplexitybot
|
60
62
|
// SeznamBot - http://napoveda.seznam.cz/seznambot-intro
|
61
|
-
/((?:adidx|ahrefs|amazon|bing|cc|dot|duckduck|exa|facebook|gpt|linkedin|mj12|mojeek|oai-search|perplexity|semrush|seznam)bot)\/([\w\.-]+)/i,
|
63
|
+
/((?:adidx|ahrefs|amazon|bing|cc|dot|duckduck|exa|facebook|gpt|iask|linkedin|mj12|mojeek|oai-search|onespot-scraper|perplexity|semrush|seznam)bot)\/([\w\.-]+)/i,
|
62
64
|
|
63
65
|
// Applebot - http://apple.com/go/applebot
|
64
66
|
/(applebot(?:-extended)?)\/?([\w\.]*)/i,
|
@@ -72,6 +74,9 @@ const Crawlers = Object.freeze({
|
|
72
74
|
// Coc Coc Bot - https://help.coccoc.com/en/search-engine
|
73
75
|
/(coccocbot-(?:image|web))\/([\w\.]+)/i,
|
74
76
|
|
77
|
+
// Daum
|
78
|
+
/(daum(?:oa)?(?:-image)?)[ \/]([\w\.]+)/i,
|
79
|
+
|
75
80
|
// Facebook / Meta
|
76
81
|
// https://developers.facebook.com/docs/sharing/webmasters/web-crawlers
|
77
82
|
/(facebook(?:externalhit|catalog)|meta-externalagent)\/([\w\.]+)/i,
|
@@ -82,6 +87,9 @@ const Crawlers = Object.freeze({
|
|
82
87
|
// Internet Archive (archive.org)
|
83
88
|
/(ia_archiver|archive\.org_bot)\/?([\w\.]*)/i,
|
84
89
|
|
90
|
+
// Qwantbot - https://help.qwant.com/bot
|
91
|
+
/(qwantbot)[-\w]*\/?([\w\.]*)/i,
|
92
|
+
|
85
93
|
// SemrushBot - http://www.semrush.com/bot.html
|
86
94
|
/((?:semrush|splitsignal)bot[-abcfimostw]*)\/?([\w\.-]*)/i,
|
87
95
|
|
@@ -97,8 +105,8 @@ const Crawlers = Object.freeze({
|
|
97
105
|
// Yeti (Naver)
|
98
106
|
/(yeti)\/([\w\.]+)/i,
|
99
107
|
|
100
|
-
// aiHitBot / Diffbot / Linespider / Magpie-Crawler / Omgilibot / OpenAI Image Downloader / Webzio-Extended / Screaming Frog SEO Spider / Timpibot / VelenPublicWebCrawler / YisouSpider / YouBot
|
101
|
-
/((?:aihit|diff|timpi|you)bot|omgili(?:bot)?|openai image downloader|(?:magpie-|velenpublicweb)crawler|webzio-extended|(?:screaming frog seo |
|
108
|
+
// aiHitBot / Diffbot / Linespider / Magpie-Crawler / Omgilibot / OpenAI Image Downloader / Webzio-Extended / Screaming Frog SEO Spider / Startpage / Timpibot / VelenPublicWebCrawler / YisouSpider / YouBot
|
109
|
+
/((?:aihit|diff|timpi|you)bot|omgili(?:bot)?|openai image downloader|(?:magpie-|velenpublicweb)crawler|startpageprivateimageproxy|webzio-extended|(?:chatglm-|line|screaming frog seo |yisou)spider)\/?([\w\.]*)/i
|
102
110
|
],
|
103
111
|
|
104
112
|
[NAME, VERSION, [TYPE, CRAWLER]],
|
@@ -208,9 +216,18 @@ const ExtraDevices = Object.freeze({
|
|
208
216
|
const Emails = Object.freeze({
|
209
217
|
browser : [
|
210
218
|
[
|
211
|
-
// Evolution / Kontact/KMail / [Microsoft/Mac] Outlook / Thunderbird
|
212
|
-
/
|
213
|
-
|
219
|
+
// Evolution / Kontact/KMail[2] / [Microsoft/Mac] Outlook / Thunderbird
|
220
|
+
// Airmail / BlueMail / DaumMail / eMClient / Foxmail / NaverMailApp / Polymail
|
221
|
+
// ProtonMail / SparkDesktop / Sparrow / Yahoo! Mail / Zimbra / ZohoMail-Desktop
|
222
|
+
/((?:air|blue|daum|fox|poly|proton)mail|emclient|evolution|kmail2?|kontact|(?:microsoft |mac)?outlook(?:-express)?|navermailapp|(?!chrom.+)sparrow|sparkdesktop|thunderbird|yahoo|zohomail-desktop)(?:m.+ail; |[\/ ])([\w\.]+)/i,
|
223
|
+
|
224
|
+
// Apple's Mail
|
225
|
+
/(mail)\/([\w\.]+) cf/i
|
226
|
+
], [NAME, VERSION, [TYPE, EMAIL]], [
|
227
|
+
|
228
|
+
// Zimbra
|
229
|
+
/zdesktop\/([\w\.]+)/i
|
230
|
+
], [VERSION, [NAME, 'Zimbra'], [TYPE, EMAIL]]
|
214
231
|
]
|
215
232
|
});
|
216
233
|
|
@@ -226,8 +243,11 @@ const Fetchers = Object.freeze({
|
|
226
243
|
// DuckAssistBot - https://duckduckgo.com/duckassistbot/
|
227
244
|
// Better Uptime / BingPreview / Mastodon / MicrosoftPreview / Pinterestbot / Redditbot / Rogerbot / SiteAuditBot / Telegrambot / Twitterbot / UptimeRobot
|
228
245
|
// Google Site Verifier / Meta / Yahoo! Japan
|
246
|
+
// Iframely - https://iframely.com/docs/about
|
247
|
+
// Perplexity-User - https://docs.perplexity.ai/guides/bots
|
248
|
+
// MistralAI-User - https://docs.mistral.ai/robots/
|
229
249
|
// Yandex Bots - https://yandex.com/bots
|
230
|
-
/(ahrefssiteaudit|(?:bing|microsoft)preview|chatgpt-user|mastodon|(?:discord|duckassist|linkedin|pinterest|reddit|roger|siteaudit|twitter|uptimero)bot|google-site-verification|meta-externalfetcher|y!?j-dlc|yandex(?:calendar|direct(?:dyn)?|searchshop)|yadirectfetcher)\/([\w\.]+)/i,
|
250
|
+
/(ahrefssiteaudit|(?:bing|microsoft)preview|(?:chatgpt|mistralai|perplexity)-user|mastodon|(?:discord|duckassist|linkedin|pinterest|reddit|roger|siteaudit|twitter|uptimero)bot|google-site-verification|iframely|meta-externalfetcher|y!?j-dlc|yandex(?:calendar|direct(?:dyn)?|searchshop)|yadirectfetcher)\/([\w\.]+)/i,
|
231
251
|
|
232
252
|
// Bluesky
|
233
253
|
/(bluesky) cardyb\/([\w\.]+)/i,
|
@@ -261,13 +281,31 @@ const Fetchers = Object.freeze({
|
|
261
281
|
///////////////////
|
262
282
|
|
263
283
|
const InApps = Object.freeze({
|
264
|
-
browser : [
|
284
|
+
browser : [[
|
285
|
+
// Discord/Figma/Flipboard/Mattermost/Notion/Postman/Rambox/Rocket.Chat/Slack/Teams
|
286
|
+
/\b(discord|figma|mattermost|notion|postman|rambox|rocket.chat|slack|teams)\/([\w\.]+).+(electron\/|; ios)/i,
|
287
|
+
/(flipboard)\/([\w\.]+)/i
|
288
|
+
], [NAME, VERSION, [TYPE, INAPP]], [
|
289
|
+
|
290
|
+
// Evernote/Teams on mobile
|
291
|
+
/(evernote) win/i,
|
292
|
+
/(teams)mobile-(ios|and)/i
|
293
|
+
], [NAME, [TYPE, INAPP]], [
|
294
|
+
|
265
295
|
// Slack
|
266
|
-
|
267
|
-
[VERSION, [NAME, 'Slack'], [TYPE, INAPP]],
|
296
|
+
/chatlyio\/([\d\.]+)/i],
|
297
|
+
[VERSION, [NAME, 'Slack'], [TYPE, INAPP]], [
|
298
|
+
|
299
|
+
// TikTok Lite
|
300
|
+
/ultralite app_version\/([\w\.]+)/i],
|
301
|
+
[VERSION, [NAME, 'TikTok Lite'], [TYPE, INAPP]], [
|
302
|
+
|
303
|
+
// VS Code
|
304
|
+
/\) code\/([\d\.]+).+electron\//i],
|
305
|
+
[VERSION, [NAME, 'VS Code'], [TYPE, INAPP]], [
|
268
306
|
|
269
307
|
// Yahoo! Japan
|
270
|
-
|
308
|
+
/jp\.co\.yahoo\.(?:android\.yjtop|ipn\.appli)\/([\d\.]+)/i],
|
271
309
|
[VERSION, [NAME, 'Yahoo! Japan'], [TYPE, INAPP]]
|
272
310
|
]
|
273
311
|
});
|
@@ -332,8 +370,10 @@ const Libraries = Object.freeze({
|
|
332
370
|
browser : [
|
333
371
|
// Apache-HttpClient/Axios/go-http-client/got/GuzzleHttp/Java[-HttpClient]/jsdom/libwww-perl/lua-resty-http/Needle/node-fetch/OkHttp/PHP-SOAP/PostmanRuntime/python-urllib/python-requests/Scrapy/superagent
|
334
372
|
[
|
335
|
-
/^(apache-httpclient|axios|(?:go|java)-http-client|got|guzzlehttp|java|libwww-perl|lua-resty-http|needle|node-(?:fetch|superagent)|okhttp|php-soap|postmanruntime|python-(?:urllib
|
336
|
-
/(jsdom
|
373
|
+
/^(apache-httpclient|axios|(?:go|java)-http-client|got|guzzlehttp|java|libwww-perl|lua-resty-http|needle|node-(?:fetch|superagent)|okhttp|php-soap|postmanruntime|python-(?:httpx|urllib[23]?|requests)|scrapy)\/([\w\.]+)/i,
|
374
|
+
/(adobeair|aiohttp|jsdom)\/([\w\.]+)/i,
|
375
|
+
/(nutch)-([\w\.-]+)(\(|$)/i,
|
376
|
+
/\((java)\/([\w\.]+)/i
|
337
377
|
], [NAME, VERSION, [TYPE, LIBRARY]]
|
338
378
|
]
|
339
379
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
///////////////////////////////////////////////
|
2
|
-
/* Helpers for UAParser.js v2.0.
|
2
|
+
/* Helpers for UAParser.js v2.0.4
|
3
3
|
https://github.com/faisalman/ua-parser-js
|
4
4
|
Author: Faisal Salman <f@faisalman.com>
|
5
5
|
AGPLv3 License */
|
@@ -110,6 +110,9 @@ const isAIBot = (resultOrUA) => [
|
|
110
110
|
// You.com
|
111
111
|
'youbot',
|
112
112
|
|
113
|
+
// Zhipu AI
|
114
|
+
'chatglm-spider',
|
115
|
+
|
113
116
|
// Zyte
|
114
117
|
'scrapy'
|
115
118
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
// Source: /src/helpers/ua-parser-helpers.js
|
4
4
|
|
5
5
|
///////////////////////////////////////////////
|
6
|
-
/* Helpers for UAParser.js v2.0.
|
6
|
+
/* Helpers for UAParser.js v2.0.4
|
7
7
|
https://github.com/faisalman/ua-parser-js
|
8
8
|
Author: Faisal Salman <f@faisalman.com>
|
9
9
|
AGPLv3 License */
|
@@ -114,6 +114,9 @@ const isAIBot = (resultOrUA) => [
|
|
114
114
|
// You.com
|
115
115
|
'youbot',
|
116
116
|
|
117
|
+
// Zhipu AI
|
118
|
+
'chatglm-spider',
|
119
|
+
|
117
120
|
// Zyte
|
118
121
|
'scrapy'
|
119
122
|
|
package/src/main/ua-parser.d.ts
CHANGED