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.
@@ -3,7 +3,7 @@
3
3
  // Source: /src/extensions/ua-parser-extensions.js
4
4
 
5
5
  ///////////////////////////////////////////////
6
- /* Extensions for UAParser.js v2.0.3
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 |line|yisou)spider)\/?([\w\.]*)/i
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
- /(airmail|bluemail|emclient|evolution|foxmail|kmail2?|kontact|(?:microsoft |mac)?outlook(?:-express)?|navermailapp|(?!chrom.+)sparrow|thunderbird|yahoo)(?:m.+ail; |[\/ ])([\w\.]+)/i
213
- ], [NAME, VERSION, [TYPE, EMAIL]]
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
- [/(?:slack(?=.+electron|.+ios)|chatlyio)\/([\d\.]+)/i],
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
- [/jp\.co\.yahoo\.(?:android\.yjtop|ipn\.appli)\/([\d\.]+)/i],
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|requests)|scrapy)\/([\w\.]+)/i,
336
- /(jsdom|(?<=\()java)\/([\w\.]+)/i
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,4 +1,4 @@
1
- // Type definitions for Helpers submodule of UAParser.js v2.0.3
1
+ // Type definitions for Helpers submodule of UAParser.js v2.0.4
2
2
  // Project: https://github.com/faisalman/ua-parser-js
3
3
  // Definitions by: Faisal Salman <https://github.com/faisalman>
4
4
 
@@ -1,5 +1,5 @@
1
1
  ///////////////////////////////////////////////
2
- /* Helpers for UAParser.js v2.0.3
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.3
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
 
@@ -1,4 +1,4 @@
1
- // Type definitions for UAParser.js v2.0.3
1
+ // Type definitions for UAParser.js v2.0.4
2
2
  // Project: https://github.com/faisalman/ua-parser-js
3
3
  // Definitions by: Faisal Salman <https://github.com/faisalman>
4
4