user_agent_parser 2.1.4 → 2.1.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of user_agent_parser might be problematic. Click here for more details.
- 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
|