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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjNhMGNmMGZkNWI2YTY5OWM5YjU1NGYxYzc4OWM3NjY2YzdjNzMzMw==
4
+ N2NjM2RjYTE2NGYwYzllMjg4OGNlMzMzM2ViOTkyYWZjMDM4OGJkMg==
5
5
  data.tar.gz: !binary |-
6
- ZDIwYWRmN2FiZTAxOThlM2ZlOTZhM2FlYTAwOTgxOGYwNDU2ZjFlMQ==
6
+ ZTg1MjdhYzc2NDlkOWRlMzIwODVjOTNmNWFhNDBmNWExZDMxNThiYQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MDUxYTI3ZDIzYWUzNjQ1ZTZjNGRkMjBjNjA0NTUwMGY5ZTNlMzk0MDI1ZDc5
10
- MGU3ZGRjZTJiYjU4ODk1YjdmZDljYTRhZGJhYjlkY2E3MzY0N2FkZjFhYzM4
11
- ZWY4NzAwYmUyODcyNGU0NzgwYzMyNjdmMzg4MjI2OWMxODBmYjM=
9
+ YTg4OTA4M2Y2YjkxNDRjMzA1NGNjMmYzNmM0MjcyYjcyZjZlODdlZGNmNjIw
10
+ MzJhNjY1YmE1NDQzYjY2ZThjYjdkYTBkYTUzNmRhNmZlODcxYWFjNDM5MzU5
11
+ YjQxY2NhNjM4ODFiMjBiNmJlYjFjOTg3NDM2N2Q2NmFlN2MyZTI=
12
12
  data.tar.gz: !binary |-
13
- MWQxM2ZjMGQ0ZWI5MzgyZWI3MjBhYjAzYjIwNTc2NDQwZWZlNDc3NDU3OTlk
14
- Yzc2NjAyZTM4OWI0ODU1Y2U5ZTI5MDI5NDEzY2FiYmFjMjc3ZWRjYWRkYzM5
15
- ZDFmMzRiNmNmZGI4NTdiZjFmMTg4NDEzZmIyYTkzNzJkZjYzZWQ=
13
+ MDJiZGIxZDJkODk4OTJkMmNmZjE1ZGZlNTY1YzRjYWFlN2Y4NmRlZjhkNDli
14
+ Yzk2N2U2MzExODhhZjI2Nzc0MjU3ZDY1MWM2M2NhMGRjZWJhZjczNmFhMmU1
15
+ OGE0ZmFiYWRmNjgyZmI5ZDg1MDYwODA2MjA3NjJjMjRkMzEwZTg=
@@ -94,7 +94,7 @@ class UserAgentDecoder
94
94
  end
95
95
 
96
96
  def load_rules
97
- @rules = YAML.load_file "lib/user_agent_rules.yml"
97
+ @rules = YAML.load_file(File.join(File.dirname(File.expand_path(__FILE__)), 'user_agent_rules.yml'))
98
98
 
99
99
  # Add fallbacks
100
100
  # OS fallback
@@ -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.2
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-02 00:00:00.000000000 Z
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