user_agent_parser 2.1.4 → 2.1.5
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/ua-parser/regexes.yaml +143 -50
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 80f68759d3f70ad50acdc09e5d68214172cac287
|
|
4
|
+
data.tar.gz: 3d55b8c54039e2931b0d36dca2ba82333cec730b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fb24b29ea2f06c2a48e3593e26e00ed5d7805b8c485081742b902a260500bbd5b18b015a5faa8851d6b184c005735700bc5ba46d6a7394d4f0d29ed2a87aa5ae
|
|
7
|
+
data.tar.gz: e5fbf51ff61e036548f607d33050ff2862a31f1066c9fe8cdfe995db32fe77971e2543f06a71a610699260f0e1d566b09a4d9953ea7cff2be161cdd0913b7c65
|
|
@@ -60,10 +60,13 @@ user_agent_parsers:
|
|
|
60
60
|
- regex: '(Opera Tablet).*Version/(\d+)\.(\d+)(?:\.(\d+))?'
|
|
61
61
|
- regex: '(Opera)/.+Opera Mobi.+Version/(\d+)\.(\d+)'
|
|
62
62
|
family_replacement: 'Opera Mobile'
|
|
63
|
+
- regex: '(Opera)/(\d+)\.(\d+).+Opera Mobi'
|
|
64
|
+
family_replacement: 'Opera Mobile'
|
|
65
|
+
- regex: 'Opera Mobi.+(Opera)/(\d+)\.(\d+)'
|
|
66
|
+
family_replacement: 'Opera Mobile'
|
|
63
67
|
- regex: 'Opera Mobi'
|
|
64
68
|
family_replacement: 'Opera Mobile'
|
|
65
|
-
- regex: '(Opera Mini)
|
|
66
|
-
- regex: '(Opera Mini)/att/(\d+)\.(\d+)'
|
|
69
|
+
- regex: '(Opera Mini)(?:/att)?/(\d+)\.(\d+)'
|
|
67
70
|
- regex: '(Opera)/9.80.*Version/(\d+)\.(\d+)(?:\.(\d+))?'
|
|
68
71
|
|
|
69
72
|
# Opera 14 for Android uses a WebKit render engine.
|
|
@@ -82,7 +85,7 @@ user_agent_parsers:
|
|
|
82
85
|
# http://luakit.org/projects/luakit/
|
|
83
86
|
- regex: '(luakit)'
|
|
84
87
|
family_replacement: 'LuaKit'
|
|
85
|
-
|
|
88
|
+
|
|
86
89
|
# Snowshoe
|
|
87
90
|
- regex: '(Snowshoe)/(\d+)\.(\d+).(\d+)'
|
|
88
91
|
|
|
@@ -156,6 +159,14 @@ user_agent_parsers:
|
|
|
156
159
|
- regex: '(FlyFlow)/(\d+)\.(\d+)'
|
|
157
160
|
family_replacement: 'Baidu Explorer'
|
|
158
161
|
|
|
162
|
+
# QQ Browsers
|
|
163
|
+
- regex: '(MQQBrowser/Mini)(?:(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'
|
|
164
|
+
family_replacement: 'QQ Browser Mini'
|
|
165
|
+
- regex: '(MQQBrowser)(?:/(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'
|
|
166
|
+
family_replacement: 'QQ Browser Mobile'
|
|
167
|
+
- regex: '(QQBrowser)(?:/(\d+)(?:\.(\d+)\.(\d+)(?:\.(\d+))?)?)?'
|
|
168
|
+
family_replacement: 'QQ Browser'
|
|
169
|
+
|
|
159
170
|
# Pingdom
|
|
160
171
|
- regex: '(Pingdom.com_bot_version_)(\d+)\.(\d+)'
|
|
161
172
|
family_replacement: 'PingdomBot'
|
|
@@ -172,6 +183,10 @@ user_agent_parsers:
|
|
|
172
183
|
- regex: '(Twitterbot)/(\d+)\.(\d+)'
|
|
173
184
|
family_replacement: 'TwitterBot'
|
|
174
185
|
|
|
186
|
+
# Google Plus
|
|
187
|
+
- regex: 'Google.*/\+/web/snippet'
|
|
188
|
+
family_replacement: 'GooglePlusBot'
|
|
189
|
+
|
|
175
190
|
# Rackspace Monitoring
|
|
176
191
|
- regex: '(Rackspace Monitoring)/(\d+)\.(\d+)'
|
|
177
192
|
family_replacement: 'RackspaceBot'
|
|
@@ -190,15 +205,12 @@ user_agent_parsers:
|
|
|
190
205
|
# AOL Browser (IE-based)
|
|
191
206
|
- regex: '(AOL) (\d+)\.(\d+); AOLBuild (\d+)'
|
|
192
207
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
208
|
#### END SPECIAL CASES TOP ####
|
|
197
209
|
|
|
198
210
|
#### MAIN CASES - this catches > 50% of all browsers ####
|
|
199
211
|
|
|
200
212
|
# Browser/major_version.minor_version.beta_version
|
|
201
|
-
- regex: '(AdobeAIR|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Flock|Netscape|Lunascape|WebPilot|
|
|
213
|
+
- regex: '(AdobeAIR|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave)/(\d+)\.(\d+)\.(\d+)'
|
|
202
214
|
|
|
203
215
|
# Outlook 2007
|
|
204
216
|
- regex: 'MSOffice 12'
|
|
@@ -225,8 +237,12 @@ user_agent_parsers:
|
|
|
225
237
|
# Chrome/Chromium/major_version.minor_version.beta_version
|
|
226
238
|
- regex: '(Chromium|Chrome)/(\d+)\.(\d+)\.(\d+)'
|
|
227
239
|
|
|
240
|
+
# Dolphin Browser
|
|
241
|
+
# @ref: http://www.dolphin.com
|
|
242
|
+
- regex: '\b(Dolphin)(?: |HDCN/|/INT\-)(\d+)\.(\d+)\.?(\d+)?'
|
|
243
|
+
|
|
228
244
|
# Browser/major_version.minor_version
|
|
229
|
-
- regex: '(bingbot|Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|
|
|
245
|
+
- regex: '(bingbot|Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin)/(\d+)\.(\d+)\.?(\d+)?'
|
|
230
246
|
|
|
231
247
|
# Chrome/Chromium/major_version.minor_version
|
|
232
248
|
- regex: '(Chromium|Chrome)/(\d+)\.(\d+)'
|
|
@@ -235,10 +251,10 @@ user_agent_parsers:
|
|
|
235
251
|
- regex: '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\d+)\.(\d+)\.(\d+)'
|
|
236
252
|
# Browser major_version.minor_version (space instead of slash)
|
|
237
253
|
- regex: '(iCab|Lunascape|Opera|Android|Jasmine|Polaris) (\d+)\.(\d+)\.?(\d+)?'
|
|
238
|
-
|
|
254
|
+
|
|
239
255
|
# Kindle WebKit
|
|
240
256
|
- regex: '(Kindle)/(\d+)\.(\d+)'
|
|
241
|
-
|
|
257
|
+
|
|
242
258
|
# weird android UAs
|
|
243
259
|
- regex: '(Android) Donut'
|
|
244
260
|
v1_replacement: '1'
|
|
@@ -308,8 +324,9 @@ user_agent_parsers:
|
|
|
308
324
|
- regex: '(BonEcho)/(\d+)\.(\d+)\.(\d+)'
|
|
309
325
|
family_replacement: 'Bon Echo'
|
|
310
326
|
|
|
311
|
-
|
|
312
|
-
|
|
327
|
+
# @note: iOS / OSX Applications
|
|
328
|
+
- regex: '(CFNetwork)(?:/(\d+)\.(\d+)\.?(\d+)?)?'
|
|
329
|
+
family_replacement: 'CFNetwork'
|
|
313
330
|
|
|
314
331
|
- regex: '(iPod).+Version/(\d+)\.(\d+)\.(\d+)'
|
|
315
332
|
family_replacement: 'Mobile Safari'
|
|
@@ -340,8 +357,10 @@ user_agent_parsers:
|
|
|
340
357
|
- regex: '(QtCarBrowser)'
|
|
341
358
|
v1_replacement: '1'
|
|
342
359
|
|
|
343
|
-
- regex: '(iBrowser/Mini)(\d+).(\d+)'
|
|
360
|
+
- regex: '^(iBrowser/Mini)(\d+).(\d+)'
|
|
344
361
|
family_replacement: 'iBrowser Mini'
|
|
362
|
+
- regex: '^(iBrowser|iRAPP)/(\d+).(\d+)'
|
|
363
|
+
|
|
345
364
|
# nokia browsers
|
|
346
365
|
# based on: http://www.developer.nokia.com/Community/Wiki/User-Agent_headers_for_Nokia_devices
|
|
347
366
|
- regex: '^(Nokia)'
|
|
@@ -506,8 +525,7 @@ os_parsers:
|
|
|
506
525
|
# Android
|
|
507
526
|
# can actually detect rooted android os. do we care?
|
|
508
527
|
##########
|
|
509
|
-
- regex: '(Android) (\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?'
|
|
510
|
-
- regex: '(Android)\-(\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?'
|
|
528
|
+
- regex: '(Android)[ \-/](\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?'
|
|
511
529
|
|
|
512
530
|
- regex: '(Android) Donut'
|
|
513
531
|
os_v1_replacement: '1'
|
|
@@ -528,6 +546,17 @@ os_parsers:
|
|
|
528
546
|
- regex: '(Android) Honeycomb'
|
|
529
547
|
os_v1_replacement: '3'
|
|
530
548
|
|
|
549
|
+
# UCWEB
|
|
550
|
+
- regex: '^UCWEB.*; (Adr) (\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?;'
|
|
551
|
+
os_replacement: 'Android'
|
|
552
|
+
- regex: '^UCWEB.*; (iPad OS|iPh OS) (\d+)_(\d+)(?:_(\d+))?;'
|
|
553
|
+
os_replacement: 'iOS'
|
|
554
|
+
- regex: '^UCWEB.*; (wds) (\d+)\.(\d+)(?:\.(\d+))?;'
|
|
555
|
+
os_replacement: 'Windows Phone'
|
|
556
|
+
# JUC
|
|
557
|
+
- regex: '^(JUC).*; ?U; ?(?:Android)?(\d+)\.(\d+)(?:[\.\-]([a-z0-9]+))?'
|
|
558
|
+
os_replacement: 'Android'
|
|
559
|
+
|
|
531
560
|
##########
|
|
532
561
|
# Kindle Android
|
|
533
562
|
##########
|
|
@@ -543,14 +572,19 @@ os_parsers:
|
|
|
543
572
|
# (very) roughly ordered in terms of frequency of occurence of regex (win xp currently most frequent, etc)
|
|
544
573
|
##########
|
|
545
574
|
|
|
546
|
-
|
|
547
|
-
os_replacement: 'Windows XP'
|
|
548
|
-
|
|
549
|
-
# ie mobile des ktop mode
|
|
575
|
+
# ie mobile desktop mode
|
|
550
576
|
# spoofs nt 6.1. must come before windows 7
|
|
551
577
|
- regex: '(XBLWP7)'
|
|
552
578
|
os_replacement: 'Windows Phone'
|
|
553
579
|
|
|
580
|
+
# @note: These need to come before Windows NT 6.1
|
|
581
|
+
- regex: '(Windows Phone) (?:OS[ /])?(\d+)\.(\d+)'
|
|
582
|
+
- regex: '(Windows ?Mobile)'
|
|
583
|
+
os_replacement: 'Windows Mobile'
|
|
584
|
+
|
|
585
|
+
- regex: '(Windows (?:NT 5\.2|NT 5\.1))'
|
|
586
|
+
os_replacement: 'Windows XP'
|
|
587
|
+
|
|
554
588
|
- regex: '(Windows NT 6\.1)'
|
|
555
589
|
os_replacement: 'Windows 7'
|
|
556
590
|
|
|
@@ -558,30 +592,37 @@ os_parsers:
|
|
|
558
592
|
os_replacement: 'Windows Vista'
|
|
559
593
|
|
|
560
594
|
- regex: '(Win 9x 4\.90)'
|
|
561
|
-
os_replacement: 'Windows
|
|
595
|
+
os_replacement: 'Windows ME'
|
|
562
596
|
|
|
563
597
|
- regex: '(Windows 98|Windows XP|Windows ME|Windows 95|Windows CE|Windows 7|Windows NT 4\.0|Windows Vista|Windows 2000|Windows 3.1)'
|
|
564
598
|
|
|
565
599
|
- regex: '(Windows NT 6\.2; ARM;)'
|
|
566
600
|
os_replacement: 'Windows RT'
|
|
567
|
-
|
|
568
|
-
# is this a spoof or is nt 6.2 out and about in some capacity?
|
|
569
601
|
- regex: '(Windows NT 6\.2)'
|
|
570
602
|
os_replacement: 'Windows 8'
|
|
571
603
|
|
|
604
|
+
- regex: '(Windows NT 6\.3; ARM;)'
|
|
605
|
+
os_replacement: 'Windows RT 8.1'
|
|
606
|
+
- regex: '(Windows NT 6\.3)'
|
|
607
|
+
os_replacement: 'Windows 8.1'
|
|
608
|
+
|
|
572
609
|
- regex: '(Windows NT 5\.0)'
|
|
573
610
|
os_replacement: 'Windows 2000'
|
|
574
611
|
|
|
575
|
-
- regex: '(Windows Phone) (\d+)\.(\d+)'
|
|
576
|
-
- regex: '(Windows Phone) OS (\d+)\.(\d+)'
|
|
577
|
-
- regex: '(Windows ?Mobile)'
|
|
578
|
-
os_replacement: 'Windows Mobile'
|
|
579
|
-
|
|
580
612
|
- regex: '(WinNT4.0)'
|
|
581
613
|
os_replacement: 'Windows NT 4.0'
|
|
582
614
|
|
|
583
|
-
- regex: '(
|
|
584
|
-
os_replacement: 'Windows
|
|
615
|
+
- regex: '(Windows ?CE)'
|
|
616
|
+
os_replacement: 'Windows CE'
|
|
617
|
+
|
|
618
|
+
- regex: 'Win ?(95|98|3.1|NT|ME|2000)'
|
|
619
|
+
os_replacement: 'Windows $1'
|
|
620
|
+
|
|
621
|
+
- regex: 'Win16'
|
|
622
|
+
os_replacement: 'Windows 3.1'
|
|
623
|
+
|
|
624
|
+
- regex: 'Win32'
|
|
625
|
+
os_replacement: 'Windows 95'
|
|
585
626
|
|
|
586
627
|
##########
|
|
587
628
|
# Tizen OS from Samsung
|
|
@@ -591,10 +632,36 @@ os_parsers:
|
|
|
591
632
|
|
|
592
633
|
##########
|
|
593
634
|
# Mac OS
|
|
594
|
-
# http://en.wikipedia.org/wiki/Mac_OS_X#Versions
|
|
635
|
+
# @ref: http://en.wikipedia.org/wiki/Mac_OS_X#Versions
|
|
636
|
+
# @ref: http://www.puredarwin.org/curious/versions
|
|
595
637
|
##########
|
|
596
638
|
- regex: '(Mac OS X) (\d+)[_.](\d+)(?:[_.](\d+))?'
|
|
597
|
-
|
|
639
|
+
# Leopard
|
|
640
|
+
- regex: ' (Dar)(win)/(9).(\d+).*\((?:i386|x86_64|Power Macintosh)\)'
|
|
641
|
+
os_replacement: 'Mac OS X'
|
|
642
|
+
os_v1_replacement: '10'
|
|
643
|
+
os_v2_replacement: '5'
|
|
644
|
+
# Snow Leopard
|
|
645
|
+
- regex: ' (Dar)(win)/(10).(\d+).*\((?:i386|x86_64)\)'
|
|
646
|
+
os_replacement: 'Mac OS X'
|
|
647
|
+
os_v1_replacement: '10'
|
|
648
|
+
os_v2_replacement: '6'
|
|
649
|
+
# Lion
|
|
650
|
+
- regex: ' (Dar)(win)/(11).(\d+).*\((?:i386|x86_64)\)'
|
|
651
|
+
os_replacement: 'Mac OS X'
|
|
652
|
+
os_v1_replacement: '10'
|
|
653
|
+
os_v2_replacement: '7'
|
|
654
|
+
# Mountain Lion
|
|
655
|
+
- regex: ' (Dar)(win)/(12).(\d+).*\((?:i386|x86_64)\)'
|
|
656
|
+
os_replacement: 'Mac OS X'
|
|
657
|
+
os_v1_replacement: '10'
|
|
658
|
+
os_v2_replacement: '8'
|
|
659
|
+
# Mavericks
|
|
660
|
+
- regex: ' (Dar)(win)/(13).(\d+).*\((?:i386|x86_64)\)'
|
|
661
|
+
os_replacement: 'Mac OS X'
|
|
662
|
+
os_v1_replacement: '10'
|
|
663
|
+
os_v2_replacement: '9'
|
|
664
|
+
|
|
598
665
|
# IE on Mac doesn't specify version number
|
|
599
666
|
- regex: 'Mac_PowerPC'
|
|
600
667
|
os_replacement: 'Mac OS'
|
|
@@ -608,7 +675,7 @@ os_parsers:
|
|
|
608
675
|
# iOS
|
|
609
676
|
# http://en.wikipedia.org/wiki/IOS_version_history
|
|
610
677
|
##########
|
|
611
|
-
- regex: '(CPU OS|iPhone OS) (\d+)_(\d+)(?:_(\d+))?'
|
|
678
|
+
- regex: '(CPU OS|iPhone OS|CPU iPhone) +(\d+)[_\.](\d+)(?:[_\.](\d+))?'
|
|
612
679
|
os_replacement: 'iOS'
|
|
613
680
|
|
|
614
681
|
# remaining cases are mostly only opera uas, so catch opera as to not catch iphone spoofs
|
|
@@ -622,6 +689,29 @@ os_parsers:
|
|
|
622
689
|
- regex: '(AppleTV)/(\d+)\.(\d+)'
|
|
623
690
|
os_replacement: 'ATV OS X'
|
|
624
691
|
|
|
692
|
+
##########
|
|
693
|
+
# CFNetwork iOS Apps
|
|
694
|
+
# @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history
|
|
695
|
+
##########
|
|
696
|
+
- regex: 'CFNetwork/.* Darwin/(9)\.\d+'
|
|
697
|
+
os_replacement: 'iOS'
|
|
698
|
+
os_v1_replacement: '1'
|
|
699
|
+
- regex: 'CFNetwork/.* Darwin/(10)\.\d+'
|
|
700
|
+
os_replacement: 'iOS'
|
|
701
|
+
os_v1_replacement: '4'
|
|
702
|
+
- regex: 'CFNetwork/.* Darwin/(11)\.\d+'
|
|
703
|
+
os_replacement: 'iOS'
|
|
704
|
+
os_v1_replacement: '5'
|
|
705
|
+
- regex: 'CFNetwork/.* Darwin/(13)\.\d+'
|
|
706
|
+
os_replacement: 'iOS'
|
|
707
|
+
os_v1_replacement: '6'
|
|
708
|
+
- regex: 'CFNetwork/.* Darwin/(14)\.\d+'
|
|
709
|
+
os_replacement: 'iOS'
|
|
710
|
+
os_v1_replacement: '7'
|
|
711
|
+
# iOS Apps
|
|
712
|
+
- regex: '\b(iOS[ /]|iPhone(?:/| v|[ _]OS[/,]|; | OS : |\d,\d/|\d,\d; )|iPad/)(\d{1,2})[_\.](\d{1,2})(?:[_\.](\d+))?'
|
|
713
|
+
os_replacement: 'iOS'
|
|
714
|
+
|
|
625
715
|
##########
|
|
626
716
|
# Chrome OS
|
|
627
717
|
# if version 0.0.0, probably this stuff:
|
|
@@ -643,7 +733,7 @@ os_parsers:
|
|
|
643
733
|
# Symbian + Symbian OS
|
|
644
734
|
# http://en.wikipedia.org/wiki/History_of_Symbian
|
|
645
735
|
##########
|
|
646
|
-
- regex: '(Symbian[Oo][Ss])/(\d+)\.(\d+)'
|
|
736
|
+
- regex: '(Symbian[Oo][Ss])[/ ](\d+)\.(\d+)'
|
|
647
737
|
os_replacement: 'Symbian OS'
|
|
648
738
|
- regex: '(Symbian/3).+NokiaBrowser/7\.3'
|
|
649
739
|
os_replacement: 'Symbian^3 Anna'
|
|
@@ -651,13 +741,15 @@ os_parsers:
|
|
|
651
741
|
os_replacement: 'Symbian^3 Belle'
|
|
652
742
|
- regex: '(Symbian/3)'
|
|
653
743
|
os_replacement: 'Symbian^3'
|
|
654
|
-
- regex: '(Series 60|SymbOS|S60)'
|
|
744
|
+
- regex: '\b(Series 60|SymbOS|S60Version|S60V\d|S60\b)'
|
|
655
745
|
os_replacement: 'Symbian OS'
|
|
656
746
|
- regex: '(MeeGo)'
|
|
657
747
|
- regex: 'Symbian [Oo][Ss]'
|
|
658
748
|
os_replacement: 'Symbian OS'
|
|
659
749
|
- regex: 'Series40;'
|
|
660
750
|
os_replacement: 'Nokia Series 40'
|
|
751
|
+
- regex: 'Series30Plus;'
|
|
752
|
+
os_replacement: 'Nokia Series 30 Plus'
|
|
661
753
|
|
|
662
754
|
##########
|
|
663
755
|
# BlackBerry devices
|
|
@@ -695,12 +787,10 @@ os_parsers:
|
|
|
695
787
|
##########
|
|
696
788
|
# Google TV
|
|
697
789
|
##########
|
|
698
|
-
- regex: '(GoogleTV) (\d+)\.(\d+)
|
|
699
|
-
# Old style
|
|
700
|
-
- regex: '(GoogleTV)/[\da-z]+'
|
|
790
|
+
- regex: '(GoogleTV)(?: (\d+)\.(\d+)(?:\.(\d+))?|/[\da-z]+)'
|
|
701
791
|
|
|
702
792
|
- regex: '(WebTV)/(\d+).(\d+)'
|
|
703
|
-
|
|
793
|
+
|
|
704
794
|
##########
|
|
705
795
|
# Misc mobile
|
|
706
796
|
##########
|
|
@@ -712,20 +802,20 @@ os_parsers:
|
|
|
712
802
|
# Generic patterns
|
|
713
803
|
# since the majority of os cases are very specific, these go last
|
|
714
804
|
##########
|
|
715
|
-
|
|
716
|
-
- regex: '(Fedora|Red Hat|PCLinuxOS)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
805
|
+
- regex: '(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\b)BSD)[/ ](\d+)\.(\d+)(?:\.(\d+)(?:\.(\d+))?)?'
|
|
717
806
|
|
|
718
|
-
#
|
|
719
|
-
- regex: '(
|
|
807
|
+
# Gentoo Linux + Kernel Version
|
|
808
|
+
- regex: '(Linux)[ /](\d+)\.(\d+)(?:\.(\d+))?.*gentoo'
|
|
809
|
+
os_replacement: 'Gentoo'
|
|
720
810
|
|
|
721
|
-
#
|
|
722
|
-
- regex: '(
|
|
811
|
+
# Opera Mini Bada
|
|
812
|
+
- regex: '\((Bada);'
|
|
723
813
|
|
|
724
814
|
# just os
|
|
725
|
-
- regex: '(Windows|
|
|
726
|
-
- regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Gentoo|Mageia)'
|
|
727
|
-
|
|
728
|
-
- regex: '(Linux
|
|
815
|
+
- regex: '(Windows|Android|WeTab|Maemo)'
|
|
816
|
+
- regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Gentoo|Mageia|(?:Free|Open|Net|\b)BSD)'
|
|
817
|
+
# Linux + Kernel Version
|
|
818
|
+
- regex: '(Linux)(?:[ /](\d+)\.(\d+)(?:\.(\d+))?)?'
|
|
729
819
|
- regex: 'SunOS'
|
|
730
820
|
os_replacement: 'Solaris'
|
|
731
821
|
|
|
@@ -896,7 +986,10 @@ device_parsers:
|
|
|
896
986
|
|
|
897
987
|
- regex: 'Googlebot-Mobile/(\d+).(\d+)'
|
|
898
988
|
device_replacement: 'Spider'
|
|
899
|
-
|
|
989
|
+
|
|
990
|
+
- regex: 'Googlebot/\d+.\d+'
|
|
991
|
+
device_replacement: 'Spider'
|
|
992
|
+
|
|
900
993
|
##########
|
|
901
994
|
# complete but probably catches spoofs
|
|
902
995
|
# iSTUFF
|
|
@@ -1115,6 +1208,6 @@ device_parsers:
|
|
|
1115
1208
|
##########
|
|
1116
1209
|
# Spiders (this is hack...)
|
|
1117
1210
|
##########
|
|
1118
|
-
- regex: '(bingbot|bot|borg|google(^tv)|yahoo|slurp|msnbot|msrbot|openbot|archiver|netresearch|lycos|scooter|altavista|teoma|gigabot|baiduspider|blitzbot|oegp|charlotte|furlbot|http%20client|polybot|htdig|ichiro|mogimogi|larbin|pompos|scrubby|searchsight|seekbot|semanticdiscovery|silk|snappy|speedy|spider|voila|vortex|voyager|zao|zeal|fast\-webcrawler|converacrawler|dataparksearch|findlinks|crawler)'
|
|
1211
|
+
- regex: '(bingbot|bot|borg|google(^tv)|yahoo|slurp|msnbot|msrbot|openbot|archiver|netresearch|lycos|scooter|altavista|teoma|gigabot|baiduspider|blitzbot|oegp|charlotte|furlbot|http%20client|polybot|htdig|ichiro|mogimogi|larbin|pompos|scrubby|searchsight|seekbot|semanticdiscovery|silk|snappy|speedy|spider|voila|vortex|voyager|zao|zeal|fast\-webcrawler|converacrawler|dataparksearch|findlinks|crawler|Netvibes|Sogou Pic Spider|ICC\-Crawler|Innovazion Crawler)'
|
|
1119
1212
|
device_replacement: 'Spider'
|
|
1120
1213
|
|
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.1.
|
|
4
|
+
version: 2.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tim Lucas
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-05-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: A simple, comprehensive Ruby gem for parsing user agent strings with
|
|
14
14
|
the help of BrowserScope's UA database
|
|
@@ -49,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
49
49
|
version: '0'
|
|
50
50
|
requirements: []
|
|
51
51
|
rubyforge_project:
|
|
52
|
-
rubygems_version: 2.2.
|
|
52
|
+
rubygems_version: 2.2.2
|
|
53
53
|
signing_key:
|
|
54
54
|
specification_version: 4
|
|
55
55
|
summary: A simple, comprehensive Ruby gem for parsing user agent strings with the
|