user_agent_decoder 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/user_agent_decoder.rb +1 -1
- data/lib/user_agent_rules.yml +211 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
N2NjM2RjYTE2NGYwYzllMjg4OGNlMzMzM2ViOTkyYWZjMDM4OGJkMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTg1MjdhYzc2NDlkOWRlMzIwODVjOTNmNWFhNDBmNWExZDMxNThiYQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTg4OTA4M2Y2YjkxNDRjMzA1NGNjMmYzNmM0MjcyYjcyZjZlODdlZGNmNjIw
|
10
|
+
MzJhNjY1YmE1NDQzYjY2ZThjYjdkYTBkYTUzNmRhNmZlODcxYWFjNDM5MzU5
|
11
|
+
YjQxY2NhNjM4ODFiMjBiNmJlYjFjOTg3NDM2N2Q2NmFlN2MyZTI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MDJiZGIxZDJkODk4OTJkMmNmZjE1ZGZlNTY1YzRjYWFlN2Y4NmRlZjhkNDli
|
14
|
+
Yzk2N2U2MzExODhhZjI2Nzc0MjU3ZDY1MWM2M2NhMGRjZWJhZjczNmFhMmU1
|
15
|
+
OGE0ZmFiYWRmNjgyZmI5ZDg1MDYwODA2MjA3NjJjMjRkMzEwZTg=
|
data/lib/user_agent_decoder.rb
CHANGED
@@ -0,0 +1,211 @@
|
|
1
|
+
os:
|
2
|
+
# Needs to be at top as it sometimes spoofs as android or os x
|
3
|
+
fire_os:
|
4
|
+
name: Amazon Fire OS
|
5
|
+
regex: ['Silk\/(?:[0-9\.]+)']
|
6
|
+
android:
|
7
|
+
name: Android
|
8
|
+
regex: ['Android(?: ([\d\.]+))?']
|
9
|
+
bada:
|
10
|
+
name: Samsung Bada
|
11
|
+
regex: ['Bada(?:\/([0-9\.]+))?']
|
12
|
+
blackberry:
|
13
|
+
name: BlackBerry
|
14
|
+
regex: ['BlackBerry\w+\/([0-9\.]+)?', 'BlackBerry;.+?Version\/([0-9\.]+)?', 'BB10;.+?Version\/([0-9\.]+)?']
|
15
|
+
blackberry_playbook:
|
16
|
+
name: BlackBerry PlayBook
|
17
|
+
regex: ['PlayBook; U; RIM Tablet OS ([0-9\.]+)']
|
18
|
+
chrome_os:
|
19
|
+
name: Chrome OS
|
20
|
+
regex: ['CrOS.+?Chrome\/([\d\.]+)']
|
21
|
+
ios:
|
22
|
+
name: Apple iOS
|
23
|
+
regex: ['(?:ip(?:[ao]d|hone))(?: Simulator)?;.+?OS ([\d_]+)?']
|
24
|
+
java_me:
|
25
|
+
name: Java ME
|
26
|
+
regex: ['J2ME\/MIDP']
|
27
|
+
mac:
|
28
|
+
name: Mac OS X
|
29
|
+
regex: ['Macintosh.+?OS X ?([\w\.]+)?']
|
30
|
+
meego:
|
31
|
+
name: MeeGo
|
32
|
+
regex: ['MeeGo']
|
33
|
+
symbian:
|
34
|
+
name: Nokia Symbian
|
35
|
+
regex: ['Series 60', 'Symbian', 'SymbOS', 'S60']
|
36
|
+
red_hat_linux:
|
37
|
+
name: Red Hat Linux
|
38
|
+
regex: ['(i686|x86_64).+?Red Hat']
|
39
|
+
ubuntu_linux:
|
40
|
+
name: Ubuntu Linux
|
41
|
+
regex: ['Ubuntu\/([\d\.]+)', '(i686|x86_64).+?Ubuntu']
|
42
|
+
playstation_3:
|
43
|
+
name: Sony Playstation 3
|
44
|
+
regex: ['PLAYSTATION 3 ([\d\.]+)']
|
45
|
+
web_os:
|
46
|
+
name: WebOS
|
47
|
+
regex: ['webOS/([\d\.]+)', 'hpwOS/([\d\.]+)']
|
48
|
+
wii:
|
49
|
+
name: Nintendo Wii
|
50
|
+
regex: ['Nintendo Wii; U; ; 2047-7']
|
51
|
+
windows_phone:
|
52
|
+
name: Windows Phone
|
53
|
+
regex: ['Windows Phone(?: OS)? ([\d\.]+)?']
|
54
|
+
windows:
|
55
|
+
name: Windows
|
56
|
+
regex: ['Windows NT ([\d\.]+)?', 'Windows']
|
57
|
+
other_linux:
|
58
|
+
name: Linux
|
59
|
+
regex: ['X11(?:.+?(i686|x86_64))?', 'Linux']
|
60
|
+
|
61
|
+
browsers:
|
62
|
+
chrome:
|
63
|
+
name: Chrome
|
64
|
+
regex: ['Chrome(?:frame)?\/([\d\.]+)?', 'CriOS\/([0-9\.]+)?', 'Android.+?Apple ?WebKit.+?Version\/([\d\.]+)']
|
65
|
+
dreamweaver:
|
66
|
+
name: Adobe Dreamweaver
|
67
|
+
regex: ['Dreamweaver\/([\d\.]+)?']
|
68
|
+
dolfin:
|
69
|
+
name: Dolfin
|
70
|
+
regex: ['Dolfin\/([\d\.]+)?']
|
71
|
+
firefox:
|
72
|
+
name: Firefox
|
73
|
+
regex: ['Firefox\/([\d\.]+)?']
|
74
|
+
flock:
|
75
|
+
name: Flock
|
76
|
+
regex: ['Flock\/([\w\.]+)?']
|
77
|
+
konqueror:
|
78
|
+
name: Konqueror
|
79
|
+
regex: ['konqueror\/([\d\.]+)']
|
80
|
+
mercury:
|
81
|
+
name: Mercury
|
82
|
+
regex: ['Mercury\/([\d\.]+)?']
|
83
|
+
msie:
|
84
|
+
name: Internet Explorer
|
85
|
+
regex: ['MSIE ([\d\.]+)?', 'Trident.+?rv:([\d\.]+)?']
|
86
|
+
nokia_browser:
|
87
|
+
name: Nokia Browser
|
88
|
+
regex: ['NokiaBrowser\/([0-9\.]+)?']
|
89
|
+
opera_mini:
|
90
|
+
name: Opera Mini
|
91
|
+
regex: ['Opera\/9\.80.+?Opera Mini\/([0-9\.]+)?', 'Opera Mini\/att\/([0-9\.]+).+?Opera 9\.50']
|
92
|
+
opera:
|
93
|
+
name: Opera
|
94
|
+
regex: ['Opera\/9\.80.+?Version\/([0-9\.]+)?', 'Opera[\/ ]([0-9\.]+)?']
|
95
|
+
playstation_3_browser:
|
96
|
+
name: Playstation 3 Browser
|
97
|
+
regex: ['PLAYSTATION 3 (?:[\d\.]+)'] # Only browser available for PS 3?
|
98
|
+
smart_tv:
|
99
|
+
name: 'Samsung Smart TV'
|
100
|
+
regex: ['SMART-TV.+?Version\/([\d\.]+)']
|
101
|
+
safari:
|
102
|
+
name: Safari
|
103
|
+
regex: ['Version\/([\d\.]+)?.+?Safari', 'Safari\/([\d\.]+)?']
|
104
|
+
silk:
|
105
|
+
name: Silk
|
106
|
+
regex: ['Silk\/([0-9\.]+)']
|
107
|
+
uc_browser:
|
108
|
+
name: UC Browser
|
109
|
+
regex: ['UC Browser([\d\.]+)', 'UCBrowser\/([\d\.]+)']
|
110
|
+
web_os_browser:
|
111
|
+
name: WebOS Browser
|
112
|
+
regex: ['wOSBrowser/([\d\.]+)', 'webOS|hpwOS']
|
113
|
+
mobile_safari:
|
114
|
+
name: Safari
|
115
|
+
regex: ['AppleWebKit(?:\/([\d\.]+))?']
|
116
|
+
blackberry_browser:
|
117
|
+
name: BlackBerry Browser
|
118
|
+
regex: ['AppleWebKit\/([0-9\.]+)?']
|
119
|
+
|
120
|
+
# Opera first as it can spoof
|
121
|
+
# Flock before firefox and chrome otherwise it can be reckognised as them
|
122
|
+
# Chrome before safari as chrome user agent includes Safari keyword
|
123
|
+
# Mercury before safari as mercury user agent includes Safari keyword
|
124
|
+
# Dreamweaver before safari as mercury user agent includes Safari keyword
|
125
|
+
os_browsers:
|
126
|
+
android: [opera, chrome, firefox]
|
127
|
+
bada: [opera_mini, dolfin]
|
128
|
+
blackberry: [opera, blackberry_browser]
|
129
|
+
blackberry_playbook: [opera, blackberry_browser]
|
130
|
+
chrome_os: [chrome]
|
131
|
+
fire_os: [silk]
|
132
|
+
ios: [opera, chrome, firefox, mercury, safari, mobile_safari]
|
133
|
+
java_me: [opera_mini]
|
134
|
+
mac: [opera, flock, chrome, firefox, dreamweaver, safari, mobile_safari]
|
135
|
+
meego: [nokia_browser]
|
136
|
+
symbian: [opera_mini, uc_browser, nokia_browser]
|
137
|
+
red_hat_linux: [opera, flock, konqueror, chrome, firefox]
|
138
|
+
ubuntu_linux: [opera, flock, konqueror, chrome, firefox]
|
139
|
+
other_linux: [opera, flock, konqueror, chrome, firefox, smart_tv]
|
140
|
+
playstation_3: [playstation_3_browser]
|
141
|
+
web_os: [web_os_browser]
|
142
|
+
wii: []
|
143
|
+
windows: [opera, flock, chrome, firefox, msie, dreamweaver, safari]
|
144
|
+
windows_phone: [msie]
|
145
|
+
|
146
|
+
os_version_names:
|
147
|
+
windows:
|
148
|
+
-
|
149
|
+
version: '3\.'
|
150
|
+
name: 'NT'
|
151
|
+
-
|
152
|
+
version: '4\.0'
|
153
|
+
name: '95'
|
154
|
+
-
|
155
|
+
version: '4\.1'
|
156
|
+
name: '98'
|
157
|
+
-
|
158
|
+
version: '4\.9'
|
159
|
+
name: 'Millenium'
|
160
|
+
-
|
161
|
+
version: '5\.0'
|
162
|
+
name: '2000'
|
163
|
+
-
|
164
|
+
version: '5\.1'
|
165
|
+
name: 'XP'
|
166
|
+
-
|
167
|
+
version: '5\.2'
|
168
|
+
name: 'Server 2003'
|
169
|
+
-
|
170
|
+
version: '6\.0'
|
171
|
+
name: 'Vista'
|
172
|
+
-
|
173
|
+
version: '6\.1'
|
174
|
+
name: '7'
|
175
|
+
-
|
176
|
+
version: '6\.2'
|
177
|
+
name: '8'
|
178
|
+
-
|
179
|
+
version: '6\.3'
|
180
|
+
name: '8.1'
|
181
|
+
mac:
|
182
|
+
-
|
183
|
+
version: '10\.0'
|
184
|
+
name: 'Cheeta'
|
185
|
+
-
|
186
|
+
version: '10\.1'
|
187
|
+
name: 'Puma'
|
188
|
+
-
|
189
|
+
version: '10\.2'
|
190
|
+
name: 'Jaguar'
|
191
|
+
-
|
192
|
+
version: '10\.3'
|
193
|
+
name: 'Panther'
|
194
|
+
-
|
195
|
+
version: '10\.4'
|
196
|
+
name: 'Tiger'
|
197
|
+
-
|
198
|
+
version: '10\.5'
|
199
|
+
name: 'Leopard'
|
200
|
+
-
|
201
|
+
version: '10\.6'
|
202
|
+
name: 'Snow Leopard'
|
203
|
+
-
|
204
|
+
version: '10\.7'
|
205
|
+
name: 'Lion'
|
206
|
+
-
|
207
|
+
version: '10\.8'
|
208
|
+
name: 'Mountain Lion'
|
209
|
+
-
|
210
|
+
version: '10\.9'
|
211
|
+
name: 'Mavericks'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: user_agent_decoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Bearman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Accurately parse User Agent strings using simple, cascading rules - devloped
|
14
14
|
for and by BugMuncher
|
@@ -18,6 +18,7 @@ extensions: []
|
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
20
|
- lib/user_agent_decoder.rb
|
21
|
+
- lib/user_agent_rules.yml
|
21
22
|
homepage: http://rubygems.org/gems/user_agent_decoder
|
22
23
|
licenses:
|
23
24
|
- MIT
|