user_agent_parser 2.18.0 → 2.20.0
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.
- checksums.yaml +4 -4
- data/vendor/uap-core/regexes.yaml +159 -32
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f3568ed026aa06885cc1d67ea64e40fb8e7de10e7c35498fea51d4a25f4f77e
|
4
|
+
data.tar.gz: f2f1fd7c123a683e324493668fb8ea62f89c6dfd49f7ccca86f3e4df1e8fce7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a848c7cab20b8e1e7ddbd6daba28e7b62b2cec8f6981f3a8e182a13860322994b5d12caa9c84f523665672ddc144d735607f9e7b97c8ae8532f9dc8b92241ac2
|
7
|
+
data.tar.gz: f08d60621c439105147f86698f7c45b16d92bbd39c651dbf1effa17dc9bade307a87fc7eaefa4a43452dd528817c0077356e568837f859a68968d8dfcdd5ef8c
|
@@ -148,11 +148,11 @@ user_agent_parsers:
|
|
148
148
|
family_replacement: 'Pinterestbot'
|
149
149
|
|
150
150
|
# Bots
|
151
|
-
- regex: '(CSimpleSpider|Cityreview Robot|CrawlDaddy|CrawlFire|Finderbots|Index crawler|Job Roboter|KiwiStatus Spider|Lijit Crawler|QuerySeekerSpider|ScollSpider|Trends Crawler|USyd-NLP-Spider|SiteCat Webbot|BotName\/\$BotVersion|123metaspider-Bot|1470\.net crawler|50\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]{1,30}-Agent|AdsBot-Google(?:-[a-z]{1,30}|)|altavista|AppEngine-Google|archive.{0,30}\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]{1,30})(?:-[A-Za-z]{1,30}|)|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader Blog Indexer|BoardReader Favicon Fetcher|boitho.com-dc|BotSeer|BUbiNG|\b\w{0,30}favicon\w{0,30}\b|\bYeti(?:-[a-z]{1,30}|)|Catchpoint(?: bot|)|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\(S\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher|)|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]{1,30}-|)Googlebot(?:-[a-zA-Z]{1,30}|)|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile|)|IconSurf|IlTrovatore(?:-Setaccio|)|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]{1,30}Bot|jbot\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .{0,30} Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media {0,2}|)|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]{0,30}|^NING|Nutch[^/]{0,30}|Nymesis|ObjectsSearch|OgScrper|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PHPCrawl|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|SemrushBot|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\.ru|Tiny Tiny RSS|Twitterbot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]{1,30}|WhatWeb|WIRE|WordPress|Wotbox|www\.almaden\.ibm\.com|Xenu(?:.s|) Link Sleuth|Xerka [A-z]{1,30}Bot|yacy(?:bot|)|YahooSeeker|Yahoo! Slurp|Yandex\w{1,30}|YodaoBot(?:-[A-z]{1,30}|)|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\.ze\.bz|ZooShot|ZyBorg|ArcGIS Hub Indexer)(?:[ /]v?(\d+)(?:\.(\d+)(?:\.(\d+)|)|)|)'
|
151
|
+
- regex: '(CSimpleSpider|Cityreview Robot|CrawlDaddy|CrawlFire|Finderbots|Index crawler|Job Roboter|KiwiStatus Spider|Lijit Crawler|QuerySeekerSpider|ScollSpider|Trends Crawler|USyd-NLP-Spider|SiteCat Webbot|BotName\/\$BotVersion|123metaspider-Bot|1470\.net crawler|50\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]{1,30}-Agent|AdsBot-Google(?:-[a-z]{1,30}|)|altavista|AppEngine-Google|archive.{0,30}\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]{1,30})(?:-[A-Za-z]{1,30}|)|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader Blog Indexer|BoardReader Favicon Fetcher|boitho.com-dc|BotSeer|BUbiNG|\b\w{0,30}favicon\w{0,30}\b|\bYeti(?:-[a-z]{1,30}|)|Catchpoint(?: bot|)|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\(S\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher|)|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]{1,30}-|)Googlebot(?:-[a-zA-Z]{1,30}|)|GoogleOther|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile|)|IconSurf|IlTrovatore(?:-Setaccio|)|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]{1,30}Bot|jbot\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .{0,30} Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media {0,2}|)|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]{0,30}|^NING|Nutch[^/]{0,30}|Nymesis|ObjectsSearch|OgScrper|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PHPCrawl|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|SemrushBot|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\.ru|Tiny Tiny RSS|Twitterbot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]{1,30}|WhatWeb|WIRE|WordPress|Wotbox|www\.almaden\.ibm\.com|Xenu(?:.s|) Link Sleuth|Xerka [A-z]{1,30}Bot|yacy(?:bot|)|YahooSeeker|Yahoo! Slurp|Yandex\w{1,30}|YodaoBot(?:-[A-z]{1,30}|)|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\.ze\.bz|ZooShot|ZyBorg|ArcGIS Hub Indexer|GPTBot|Google-InspectionTool)(?:[ /]v?(\d+)(?:\.(\d+)(?:\.(\d+)|)|)|)'
|
152
152
|
|
153
153
|
# AWS S3 Clients
|
154
154
|
# must come before "Bots General matcher" to catch "boto"/"boto3" before "bot"
|
155
|
-
- regex: '\b(Boto3?|JetS3t|aws-(?:cli|sdk-(?:cpp|go|java|nodejs|ruby2?|dotnet-(?:\d{1,2}|core)))|s3fs)/(\d+)\.(\d+)(?:\.(\d+)|)'
|
155
|
+
- regex: '\b(Boto3?|JetS3t|aws-(?:cli|sdk-(?:cpp|go|go-v\d|java|nodejs|ruby2?|dotnet-(?:\d{1,2}|core)))|s3fs)/(\d+)\.(\d+)(?:\.(\d+)|)'
|
156
156
|
|
157
157
|
# SAFE FME
|
158
158
|
- regex: '(FME)\/(\d+\.\d+)\.(\d+)\.(\d+)'
|
@@ -179,6 +179,9 @@ user_agent_parsers:
|
|
179
179
|
- regex: '\[FB.{0,300};'
|
180
180
|
family_replacement: 'Facebook'
|
181
181
|
|
182
|
+
# RecipeRadar crawler
|
183
|
+
- regex: '(RecipeRadar)/(\d+)\.(\d+)(?:\.(\d+)|)'
|
184
|
+
|
182
185
|
# Bots General matcher 'name/0.0'
|
183
186
|
- regex: '^.{0,200}?(?:\/[A-Za-z0-9\.]{0,50}|) {0,2}([A-Za-z0-9 \-_\!\[\]:]{0,50}(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]{0,50}))[/ ](\d+)(?:\.(\d+)(?:\.(\d+)|)|)'
|
184
187
|
# Bots containing bot(but not CUBOT)
|
@@ -215,6 +218,16 @@ user_agent_parsers:
|
|
215
218
|
# Twitter
|
216
219
|
- regex: '(Twitter for (?:iPhone|iPad)|TwitterAndroid)(?:\/(\d+)\.(\d+)|)'
|
217
220
|
family_replacement: 'Twitter'
|
221
|
+
# TikTok
|
222
|
+
- regex: '(musical_ly) app_version\/(\d+)\.(\d+)\.(\d+)'
|
223
|
+
family_replacement: 'TikTok'
|
224
|
+
- regex: '(musical_ly_)(\d+)\.(\d+)\.(\d+)'
|
225
|
+
family_replacement: 'TikTok'
|
226
|
+
- regex: '(BytedanceWebview)\/[a-z0-9]+'
|
227
|
+
family_replacement: 'TikTok'
|
228
|
+
# KakaoTalk
|
229
|
+
- regex: 'Mozilla.{1,200}Mobile.{1,100}(KAKAOTALK)/(\d+)\.(\d+)\.(\d+)'
|
230
|
+
family_replacement: 'KakaoTalk'
|
218
231
|
|
219
232
|
# Phantom app
|
220
233
|
- regex: 'Mozilla.{1,200}Mobile.{1,100}(Phantom\/ios|Phantom\/android).(\d+)\.(\d+)\.(\d+)'
|
@@ -394,7 +407,7 @@ user_agent_parsers:
|
|
394
407
|
- regex: '(Instabridge)/(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'
|
395
408
|
|
396
409
|
# Aloha Browser
|
397
|
-
- regex: '(AlohaBrowser)/(\d+)\.(\d+)\.(\d+)(?:\.(\d+)|)'
|
410
|
+
- regex: '(AlohaBrowser|ABB)/(\d+)\.(\d+)\.(\d+)(?:\.(\d+)|)'
|
398
411
|
family_replacement: 'Aloha Browser'
|
399
412
|
|
400
413
|
# Brave Browser https://brave.com/ , should go before Safari and Chrome Mobile
|
@@ -415,7 +428,7 @@ user_agent_parsers:
|
|
415
428
|
family_replacement: 'Edge Mobile'
|
416
429
|
|
417
430
|
# Oculus Browser, should go before Samsung Internet
|
418
|
-
- regex: '(OculusBrowser)/(\d+)\.(\d+)
|
431
|
+
- regex: '(OculusBrowser)/(\d+)\.(\d+)(?:\.([0-9\-]+)|)'
|
419
432
|
family_replacement: 'Oculus Browser'
|
420
433
|
|
421
434
|
# Samsung Internet (based on Chrome, but lacking some features)
|
@@ -430,12 +443,6 @@ user_agent_parsers:
|
|
430
443
|
- regex: '(coc_coc_browser)/(\d+)\.(\d+)(?:\.(\d+)|)'
|
431
444
|
family_replacement: 'Coc Coc'
|
432
445
|
|
433
|
-
# Baidu Browsers (desktop spoofs chrome & IE, explorer is mobile)
|
434
|
-
- regex: '(baidubrowser)[/\s](\d+)(?:\.(\d+)|)(?:\.(\d+)|)'
|
435
|
-
family_replacement: 'Baidu Browser'
|
436
|
-
- regex: '(FlyFlow)/(\d+)\.(\d+)'
|
437
|
-
family_replacement: 'Baidu Explorer'
|
438
|
-
|
439
446
|
# MxBrowser is Maxthon. Must go before Mobile Chrome for Android
|
440
447
|
- regex: '(MxBrowser)/(\d+)\.(\d+)(?:\.(\d+)|)'
|
441
448
|
family_replacement: 'Maxthon'
|
@@ -464,6 +471,12 @@ user_agent_parsers:
|
|
464
471
|
- regex: 'Mozilla.{1,200}Android.{1,200}(GSA)/(\d+)\.(\d+)\.(\d+)'
|
465
472
|
family_replacement: 'Google'
|
466
473
|
|
474
|
+
# Baidu Browsers (desktop spoofs chrome & IE, explorer is mobile)
|
475
|
+
- regex: '(baidubrowser)[/\s](\d+)(?:\.(\d+)|)(?:\.(\d+)|)'
|
476
|
+
family_replacement: 'Baidu Browser'
|
477
|
+
- regex: '(FlyFlow|flyflow|baiduboxapp)/(\d+)\.(\d+)(?:\.(\d+)|)(?:\.(\d+)|)'
|
478
|
+
family_replacement: 'Baidu Explorer'
|
479
|
+
|
467
480
|
# QQ Browsers
|
468
481
|
- regex: '(MQQBrowser/Mini)(?:(\d+)(?:\.(\d+)|)(?:\.(\d+)|)|)'
|
469
482
|
family_replacement: 'QQ Browser Mini'
|
@@ -487,11 +500,24 @@ user_agent_parsers:
|
|
487
500
|
family_replacement: 'Tenta Browser'
|
488
501
|
|
489
502
|
# Ecosia on iOS / Android
|
490
|
-
- regex: '(Ecosia) ios@(\d+)
|
503
|
+
- regex: '(Ecosia) ios@(\d+)(?:\.(\d+)|)(?:\.(\d+)|)(?:\.(\d+)|)'
|
491
504
|
family_replacement: 'Ecosia iOS'
|
492
|
-
- regex: '(Ecosia) android@(\d+)
|
505
|
+
- regex: '(Ecosia) android@(\d+)(?:\.(\d+)|)(?:\.(\d+)|)(?:\.(\d+)|)'
|
493
506
|
family_replacement: 'Ecosia Android'
|
494
507
|
|
508
|
+
# VivoBrowser
|
509
|
+
- regex: '(VivoBrowser)\/(\d+)\.(\d+)\.(\d+)(?:\.(\d+)|)'
|
510
|
+
|
511
|
+
# HiBrowser
|
512
|
+
- regex: '(HiBrowser)\/v(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
513
|
+
|
514
|
+
# Weibo
|
515
|
+
# Must before Chrome Mobile WebView
|
516
|
+
- regex: '(weibo)__(\d+)\.(\d+)\.(\d+)'
|
517
|
+
family_replacement: 'Weibo'
|
518
|
+
- regex: '(WeiboliteiOS|WeiboIntliOS)'
|
519
|
+
family_replacement: 'Weibo'
|
520
|
+
|
495
521
|
# Chrome Mobile
|
496
522
|
- regex: 'Version/.{1,300}(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
497
523
|
family_replacement: 'Chrome Mobile WebView'
|
@@ -569,6 +595,89 @@ user_agent_parsers:
|
|
569
595
|
- regex: '^(surveyon)/(\d+)\.(\d+)\.(\d+)'
|
570
596
|
family_replacement: 'Surveyon'
|
571
597
|
|
598
|
+
# 115 Browser
|
599
|
+
- regex: '(115Browser)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
600
|
+
family_replacement: '115 Browser'
|
601
|
+
|
602
|
+
# Avira
|
603
|
+
- regex: '(Avira)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
604
|
+
family_replacement: 'Avira'
|
605
|
+
|
606
|
+
# CCleaner Browser
|
607
|
+
- regex: '(CCleaner)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
608
|
+
family_replacement: 'CCleaner'
|
609
|
+
|
610
|
+
# Norton
|
611
|
+
- regex: '(Norton)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
612
|
+
family_replacement: 'Norton'
|
613
|
+
|
614
|
+
# Quark
|
615
|
+
- regex: '(Quark)/(\d+)\.(\d+)\.(\d+)'
|
616
|
+
family_replacement: 'Quark'
|
617
|
+
# Quark PC
|
618
|
+
- regex: '(QuarkPC)/(\d+)\.(\d+)\.(\d+)'
|
619
|
+
family_replacement: 'Quark PC'
|
620
|
+
|
621
|
+
# Smart Lenovo Browser
|
622
|
+
- regex: '(SLBrowser)/(\d+)\.(\d+)\.(\d+)\.(\d+) SLBChan/(\d+)'
|
623
|
+
family_replacement: 'Smart Lenovo Browser'
|
624
|
+
|
625
|
+
# Atom Browser
|
626
|
+
- regex: '(Atom)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
627
|
+
family_replacement: 'Atom Browser'
|
628
|
+
|
629
|
+
# 360 Secure Browser
|
630
|
+
- regex: '(Chrome)/\d+\.\d+\.\d+\.\d+ .* QIHU 360(?:SEi18n|ENT)'
|
631
|
+
family_replacement: '360 Secure Browser'
|
632
|
+
|
633
|
+
# Decentr Web3 Browser
|
634
|
+
- regex: '(Decentr)'
|
635
|
+
family_replacement: 'Decentr Web3 Browser'
|
636
|
+
|
637
|
+
# Sparrow Browser
|
638
|
+
- regex: '(Sparrow)'
|
639
|
+
family_replacement: 'Sparrow Browser'
|
640
|
+
|
641
|
+
# Chromium GOST Browser
|
642
|
+
- regex: '(Chromium GOST)'
|
643
|
+
family_replacement: 'Chromium GOST Browser'
|
644
|
+
|
645
|
+
# AOL Shield Browser
|
646
|
+
- regex: '(AOLShield)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
647
|
+
family_replacement: 'AOL Shield Browser'
|
648
|
+
|
649
|
+
# Hola Browser
|
650
|
+
- regex: '(Hola)/(\d+)\.(\d+)\.(\d+)'
|
651
|
+
family_replacement: 'Hola Browser'
|
652
|
+
|
653
|
+
# Craving Explorer Browser
|
654
|
+
- regex: '(CravingExplorer)/(\d+)\.(\d+)\.(\d+)'
|
655
|
+
family_replacement: 'Craving Explorer Browser'
|
656
|
+
|
657
|
+
# Talon Cyber Security Browser
|
658
|
+
- regex: '(Talon)'
|
659
|
+
family_replacement: 'Talon Cyber Security Browser'
|
660
|
+
|
661
|
+
# QAX Browser
|
662
|
+
- regex: '(Qaxbrowser)'
|
663
|
+
family_replacement: 'QAX Browser'
|
664
|
+
|
665
|
+
# AOL Desktop Gold Browser
|
666
|
+
- regex: '(ADG)/(\d+)\.(\d+)\.(\d+)'
|
667
|
+
family_replacement: 'AOL Desktop Gold Browser'
|
668
|
+
|
669
|
+
# Sber Browser
|
670
|
+
- regex: '(SberBrowser)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
671
|
+
family_replacement: 'Sber Browser'
|
672
|
+
|
673
|
+
# JiSu Browser
|
674
|
+
- regex: '(JiSu)/(\d+)\.(\d+)\.(\d+)'
|
675
|
+
family_replacement: 'JiSu Browser'
|
676
|
+
|
677
|
+
# Wolvic Browser
|
678
|
+
- regex: '(Wolvic)/(\d+)\.(\d+)\.(\d+)'
|
679
|
+
family_replacement: 'Wolvic Browser'
|
680
|
+
|
572
681
|
#### END SPECIAL CASES TOP ####
|
573
682
|
|
574
683
|
#### MAIN CASES - this catches > 50% of all browsers ####
|
@@ -1388,6 +1497,13 @@ os_parsers:
|
|
1388
1497
|
- regex: '^Box.{0,200};(Darwin)/(10)\.(1\d)(?:\.(\d+)|)'
|
1389
1498
|
os_replacement: 'Mac OS X'
|
1390
1499
|
|
1500
|
+
##########
|
1501
|
+
# Hashicorp API
|
1502
|
+
# APN/1.0 HashiCorp/1.0 Terraform/1.8.0 (+https://www.terraform.io) terraform-provider-aws/4.67.0 (+https://registry.terraform.io/providers/hashicorp/aws) aws-sdk-go/1.44.261 (go1.19.8; darwin; arm64)
|
1503
|
+
##########
|
1504
|
+
- regex: 'darwin; arm64'
|
1505
|
+
os_replacement: 'Mac OS X'
|
1506
|
+
|
1391
1507
|
##########
|
1392
1508
|
# iOS
|
1393
1509
|
# http://en.wikipedia.org/wiki/IOS_version_history
|
@@ -1672,29 +1788,27 @@ os_parsers:
|
|
1672
1788
|
- regex: 'CFNetwork/.{0,100} Darwin/(21)\.\d+'
|
1673
1789
|
os_replacement: 'iOS'
|
1674
1790
|
os_v1_replacement: '15'
|
1675
|
-
- regex: 'CFNetwork/.{0,100} Darwin/22\.0\.\d+'
|
1791
|
+
- regex: 'CFNetwork/.{0,100} Darwin/22\.([0-5])\.\d+'
|
1676
1792
|
os_replacement: 'iOS'
|
1677
1793
|
os_v1_replacement: '16'
|
1678
|
-
os_v2_replacement: '
|
1679
|
-
- regex: 'CFNetwork/.{0,100} Darwin/22
|
1794
|
+
os_v2_replacement: '$1'
|
1795
|
+
- regex: 'CFNetwork/.{0,100} Darwin/(22)\.\d+'
|
1680
1796
|
os_replacement: 'iOS'
|
1681
1797
|
os_v1_replacement: '16'
|
1682
|
-
|
1683
|
-
- regex: 'CFNetwork/.{0,100} Darwin/22\.2\.\d+'
|
1798
|
+
- regex: 'CFNetwork/.{0,100} Darwin/23\.([0-5])\.\d+'
|
1684
1799
|
os_replacement: 'iOS'
|
1685
|
-
os_v1_replacement: '
|
1686
|
-
os_v2_replacement: '
|
1687
|
-
- regex: 'CFNetwork/.{0,100} Darwin/
|
1800
|
+
os_v1_replacement: '17'
|
1801
|
+
os_v2_replacement: '$1'
|
1802
|
+
- regex: 'CFNetwork/.{0,100} Darwin/(23)\.\d+'
|
1688
1803
|
os_replacement: 'iOS'
|
1689
|
-
os_v1_replacement: '
|
1690
|
-
|
1691
|
-
- regex: 'CFNetwork/.{0,100} Darwin/22\.4\.\d+'
|
1804
|
+
os_v1_replacement: '17'
|
1805
|
+
- regex: 'CFNetwork/.{0,100} Darwin/24\.([0-5])\.\d+'
|
1692
1806
|
os_replacement: 'iOS'
|
1693
|
-
os_v1_replacement: '
|
1694
|
-
os_v2_replacement: '
|
1695
|
-
- regex: 'CFNetwork/.{0,100} Darwin/(
|
1807
|
+
os_v1_replacement: '18'
|
1808
|
+
os_v2_replacement: '$1'
|
1809
|
+
- regex: 'CFNetwork/.{0,100} Darwin/(24)\.\d+'
|
1696
1810
|
os_replacement: 'iOS'
|
1697
|
-
os_v1_replacement: '
|
1811
|
+
os_v1_replacement: '18'
|
1698
1812
|
- regex: 'CFNetwork/.{0,100} Darwin/'
|
1699
1813
|
os_replacement: 'iOS'
|
1700
1814
|
|
@@ -1889,13 +2003,28 @@ os_parsers:
|
|
1889
2003
|
# Roku Digital-Video-Players https://www.roku.com/
|
1890
2004
|
- regex: '^(Roku)/DVP-(\d+)\.(\d+)'
|
1891
2005
|
|
2006
|
+
##########
|
2007
|
+
# Amazon S3 client boto3
|
2008
|
+
# Hasicorp API
|
2009
|
+
# Boto3/1.28.62 md/Botocore#1.31.62 ua/2.0 os/macos#22.4.0 md/arch#arm64 lang/python#3.11.6 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.62
|
2010
|
+
# APN/1.0 HashiCorp/1.0 Terraform/1.8.1 (+https://www.terraform.io) terraform-provider-aws/4.67.0 (+https://registry.terraform.io/providers/hashicorp/aws) aws-sdk-go-v2/1.18.0 os/macos lang/go/1.19.8 md/GOOS/darwin md/GOARCH/arm64 api/identitystore/1.16.11
|
2011
|
+
##########
|
2012
|
+
- regex: 'os\/macos[#]?(\d*)[.]?(\d*)[.]?(\d*)'
|
2013
|
+
os_replacement: 'Mac OS X'
|
2014
|
+
os_v1_replacement: '$1'
|
2015
|
+
os_v2_replacement: '$2'
|
2016
|
+
os_v3_replacement: '$3'
|
2017
|
+
|
2018
|
+
# Huawei HarmonyOS
|
2019
|
+
- regex: '(HarmonyOS)[\s;]+(\d+|)\.?(\d+|)\.?(\d+|)'
|
2020
|
+
|
1892
2021
|
device_parsers:
|
1893
2022
|
|
1894
2023
|
#########
|
1895
2024
|
# Mobile Spiders
|
1896
2025
|
# Catch the mobile crawler before checking for iPhones / Androids.
|
1897
2026
|
#########
|
1898
|
-
- regex: '^.{0,100}?(?:(?:iPhone|Windows CE|Windows Phone|Android).{0,300}(?:(?:Bot|Yeti)-Mobile|YRSpider|BingPreview|bots?/\d|(?:bot|spider)\.html)|AdsBot-Google-Mobile.{0,200}iPhone)'
|
2027
|
+
- regex: '^.{0,100}?(?:(?:iPhone|Windows CE|Windows Phone|Android).{0,300}(?:(?:Bot|Yeti)-Mobile|YRSpider|BingPreview|bots?/\d|(?:bot|spider)\.html|Google-InspectionTool)|AdsBot-Google-Mobile.{0,200}iPhone)'
|
1899
2028
|
regex_flag: 'i'
|
1900
2029
|
device_replacement: 'Spider'
|
1901
2030
|
brand_replacement: 'Spider'
|
@@ -3097,7 +3226,7 @@ device_parsers:
|
|
3097
3226
|
device_replacement: 'HTC $1'
|
3098
3227
|
brand_replacement: 'HTC'
|
3099
3228
|
model_replacement: '$1'
|
3100
|
-
- regex: '; {0,2}(ADR6200|ADR6400L|ADR6425LVW|Amaze|DesireS?|EndeavorU|Eris|EVO|Evo\d[A-Z]+|HD2|IncredibleS?|Inspire[A-Z0-9]*|
|
3229
|
+
- regex: '; {0,2}(ADR6200|ADR6400L|ADR6425LVW|Amaze|DesireS?|EndeavorU|Eris|EVO|Evo\d[A-Z]+|HD2|IncredibleS?|Inspire[A-Z0-9]*|Sensation[A-Z0-9]*|Wildfire)[ _-](.{1,200}?)(?:[/;\)]|Build|MIUI|1\.0)'
|
3101
3230
|
regex_flag: 'i'
|
3102
3231
|
device_replacement: 'HTC $1 $2'
|
3103
3232
|
brand_replacement: 'HTC'
|
@@ -5501,7 +5630,6 @@ device_parsers:
|
|
5501
5630
|
brand_replacement: 'Asus'
|
5502
5631
|
model_replacement: '$1'
|
5503
5632
|
|
5504
|
-
|
5505
5633
|
##########
|
5506
5634
|
# Bird
|
5507
5635
|
##########
|
@@ -5701,7 +5829,6 @@ device_parsers:
|
|
5701
5829
|
brand_replacement: 'Motorola'
|
5702
5830
|
model_replacement: '$2'
|
5703
5831
|
|
5704
|
-
|
5705
5832
|
##########
|
5706
5833
|
# nintendo
|
5707
5834
|
##########
|
@@ -5905,7 +6032,7 @@ device_parsers:
|
|
5905
6032
|
##########
|
5906
6033
|
# Spiders (this is a hack...)
|
5907
6034
|
##########
|
5908
|
-
- regex: '^.{0,100}(bot|BUbiNG|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Daum|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.{0,200}/\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|StatusCake|WhatsApp|masscan|Google Web Preview|Qwantify|Yeti|OgScrper)'
|
6035
|
+
- regex: '^.{0,100}(bot|BUbiNG|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Daum|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.{0,200}/\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|StatusCake|WhatsApp|masscan|Google Web Preview|Qwantify|Yeti|OgScrper|RecipeRadar|GPTBot|Google-InspectionTool)'
|
5909
6036
|
regex_flag: 'i'
|
5910
6037
|
device_replacement: 'Spider'
|
5911
6038
|
brand_replacement: 'Spider'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: user_agent_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Lucas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
A simple, comprehensive Ruby gem for parsing user agent strings
|
@@ -48,7 +48,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '0'
|
50
50
|
requirements: []
|
51
|
-
rubygems_version: 3.5.
|
51
|
+
rubygems_version: 3.5.22
|
52
52
|
signing_key:
|
53
53
|
specification_version: 4
|
54
54
|
summary: Parsing user agent strings with the help of BrowserScope's UA database
|