Skip to content
Newer
Older
100644 1336 lines (1114 sloc) 44.5 KB
037f45f Adds python implementation
Lindsey Simon authored
1 user_agent_parsers:
2 #### SPECIAL CASES TOP ####
3
585db09 @jpvincent Complete tests on most HbbTV released before mid 2013
jpvincent authored
4 # HbbTV standard defines what features the browser should understand.
5 # but it's like targeting "HTML5 browsers", effective browser support depends on the model
6 # See os_parsers if you want to target a specific TV
7 - regex: '(HbbTV)/(\d+)\.(\d+)\.(\d+) \('
480b84d @jpvincent Support for HbbTV browsers (EU and AU Standard for Connected TVs)
jpvincent authored
8
707b07f @keshonok Modify several regexes to accept more UA strings.
keshonok authored
9 # must go before Firefox to catch Chimera/SeaMonkey/Camino
10 - regex: '(Chimera|SeaMonkey|Camino)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*)?'
037f45f Adds python implementation
Lindsey Simon authored
11
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
12 # Firefox
c8ef642 Really apply them
Lindsey Simon authored
13 - regex: '(Pale[Mm]oon)/(\d+)\.(\d+)\.?(\d+)?'
f3379cf @dmolsen better pattern match for Pale Moon browser
dmolsen authored
14 family_replacement: 'Pale Moon (Firefox Variant)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
15 - regex: '(Fennec)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*)'
16 family_replacement: 'Firefox Mobile'
17 - regex: '(Fennec)/(\d+)\.(\d+)(pre)'
7f051bf @shripadk fixed typo.
shripadk authored
18 family_replacement: 'Firefox Mobile'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
19 - regex: '(Fennec)/(\d+)\.(\d+)'
20 family_replacement: 'Firefox Mobile'
73b663a @dmolsen another regex for matching Firefox Mobile
dmolsen authored
21 - regex: 'Mobile.*(Firefox)/(\d+)\.(\d+)'
22 family_replacement: 'Firefox Mobile'
037f45f Adds python implementation
Lindsey Simon authored
23 - regex: '(Namoroka|Shiretoko|Minefield)/(\d+)\.(\d+)\.(\d+(?:pre)?)'
24 family_replacement: 'Firefox ($1)'
cd94c34 @dmolsen added support for tracking Firefox alpha builds
dmolsen authored
25 - regex: '(Firefox)/(\d+)\.(\d+)(a\d+[a-z]*)'
26 family_replacement: 'Firefox Alpha'
27 - regex: '(Firefox)/(\d+)\.(\d+)(b\d+[a-z]*)'
037f45f Adds python implementation
Lindsey Simon authored
28 family_replacement: 'Firefox Beta'
cd94c34 @dmolsen added support for tracking Firefox alpha builds
dmolsen authored
29 - regex: '(Firefox)-(?:\d+\.\d+)?/(\d+)\.(\d+)(a\d+[a-z]*)'
30 family_replacement: 'Firefox Alpha'
31 - regex: '(Firefox)-(?:\d+\.\d+)?/(\d+)\.(\d+)(b\d+[a-z]*)'
037f45f Adds python implementation
Lindsey Simon authored
32 family_replacement: 'Firefox Beta'
33 - regex: '(Namoroka|Shiretoko|Minefield)/(\d+)\.(\d+)([ab]\d+[a-z]*)?'
34 family_replacement: 'Firefox ($1)'
35 - regex: '(Firefox).*Tablet browser (\d+)\.(\d+)\.(\d+)'
36 family_replacement: 'MicroB'
37 - regex: '(MozillaDeveloperPreview)/(\d+)\.(\d+)([ab]\d+[a-z]*)?'
38
39 # e.g.: Flock/2.0b2
40 - regex: '(Flock)/(\d+)\.(\d+)(b\d+?)'
41
42 # RockMelt
43 - regex: '(RockMelt)/(\d+)\.(\d+)\.(\d+)'
44
45 # e.g.: Fennec/0.9pre
46 - regex: '(Navigator)/(\d+)\.(\d+)\.(\d+)'
47 family_replacement: 'Netscape'
48
49 - regex: '(Navigator)/(\d+)\.(\d+)([ab]\d+)'
50 family_replacement: 'Netscape'
51
707b07f @keshonok Modify several regexes to accept more UA strings.
keshonok authored
52 - regex: '(Netscape6)/(\d+)\.(\d+)\.?([ab]?\d+)?'
037f45f Adds python implementation
Lindsey Simon authored
53 family_replacement: 'Netscape'
54
55 - regex: '(MyIBrow)/(\d+)\.(\d+)'
56 family_replacement: 'My Internet Browser'
57
58 # Opera will stop at 9.80 and hide the real version in the Version string.
59 # see: http://dev.opera.com/articles/view/opera-ua-string-changes/
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
60 - regex: '(Opera Tablet).*Version/(\d+)\.(\d+)(?:\.(\d+))?'
037f45f Adds python implementation
Lindsey Simon authored
61 - regex: '(Opera)/.+Opera Mobi.+Version/(\d+)\.(\d+)'
62 family_replacement: 'Opera Mobile'
af9aa34 @commenthol better detection of opera mobile
commenthol authored
63 - regex: '(Opera)/(\d+)\.(\d+).+Opera Mobi'
64 family_replacement: 'Opera Mobile'
a37189b Fixed regex for Opera Mobile to work with preg_match in php.
Ryan Warren authored
65 - regex: 'Opera Mobi.+(Opera)(?:/|\s+)(\d+)\.(\d+)'
af9aa34 @commenthol better detection of opera mobile
commenthol authored
66 family_replacement: 'Opera Mobile'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
67 - regex: 'Opera Mobi'
68 family_replacement: 'Opera Mobile'
e8037bd @commenthol simplified regex operamini
commenthol authored
69 - regex: '(Opera Mini)(?:/att)?/(\d+)\.(\d+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
70 - regex: '(Opera)/9.80.*Version/(\d+)\.(\d+)(?:\.(\d+))?'
037f45f Adds python implementation
Lindsey Simon authored
71
6e66664 @3rd-Eden Added detection for the newly announced Opera 14 which runs on the ne…
3rd-Eden authored
72 # Opera 14 for Android uses a WebKit render engine.
73 - regex: '(?:Mobile Safari).*(OPR)/(\d+)\.(\d+)\.(\d+)'
74 family_replacement: 'Opera Mobile'
75
1a7d23c @Fyrd Include Opera 15 (Chrome-like, but uses OPR) in regexes.yaml
Fyrd authored
76 # Opera 15 for Desktop is similar to Chrome but includes an "OPR" Version string.
77 - regex: '(?:Chrome).*(OPR)/(\d+)\.(\d+)\.(\d+)'
78 family_replacement: 'Opera'
79
037f45f Adds python implementation
Lindsey Simon authored
80 # Palm WebOS looks a lot like Safari.
51fd9d2 @dmolsen webOS related fixes
dmolsen authored
81 - regex: '(hpw|web)OS/(\d+)\.(\d+)(?:\.(\d+))?'
82 family_replacement: 'webOS Browser'
037f45f Adds python implementation
Lindsey Simon authored
83
84 # LuaKit has no version info.
85 # http://luakit.org/projects/luakit/
86 - regex: '(luakit)'
87 family_replacement: 'LuaKit'
c401f10 @commenthol qqbrowser: refactored regexes; mqqbrowser/mini added
commenthol authored
88
914a2b8 @cmr Add snowshoe regex
cmr authored
89 # Snowshoe
90 - regex: '(Snowshoe)/(\d+)\.(\d+).(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
91
92 # Lightning (for Thunderbird)
93 # http://www.mozilla.org/projects/calendar/lightning/
b7fa13b @epgrubmair Airmail,Outlook,Thunderbird new. Lightning updated
epgrubmair authored
94 - regex: '(Lightning)/(\d+)\.(\d+)\.?((?:[ab]?\d+[a-z]*)|(?:\d*))'
037f45f Adds python implementation
Lindsey Simon authored
95
96 # Swiftfox
97 - regex: '(Firefox)/(\d+)\.(\d+)\.(\d+(?:pre)?) \(Swiftfox\)'
98 family_replacement: 'Swiftfox'
99 - regex: '(Firefox)/(\d+)\.(\d+)([ab]\d+[a-z]*)? \(Swiftfox\)'
100 family_replacement: 'Swiftfox'
101
102 # Rekonq
94d92c5 @philipzae Update regexes.yaml
philipzae authored
103 - regex: '(rekonq)/(\d+)\.(\d+)\.?(\d+)? Safari'
0df6f21 @tobie Fix Rekonq regexp. Add test.
authored
104 family_replacement: 'Rekonq'
037f45f Adds python implementation
Lindsey Simon authored
105 - regex: 'rekonq'
106 family_replacement: 'Rekonq'
107
108 # Conkeror lowercase/uppercase
109 # http://conkeror.org/
110 - regex: '(conkeror|Conkeror)/(\d+)\.(\d+)\.?(\d+)?'
111 family_replacement: 'Conkeror'
112
113 # catches lower case konqueror
114 - regex: '(konqueror)/(\d+)\.(\d+)\.(\d+)'
115 family_replacement: 'Konqueror'
116
117 - regex: '(WeTab)-Browser'
118
119 - regex: '(Comodo_Dragon)/(\d+)\.(\d+)\.(\d+)'
120 family_replacement: 'Comodo Dragon'
121
d599b28 @bluesmoon Add more bots from our logs
bluesmoon authored
122 # Bots
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
123 - regex: '(YottaaMonitor|BrowserMob|HttpMonitor|YandexBot|Slurp|BingPreview|PagePeeker|ThumbShotsBot|WebThumb|URL2PNG|ZooShot|GomezA|Catchpoint bot|Willow Internet Crawler|Google SketchUp|Read%20Later)'
037f45f Adds python implementation
Lindsey Simon authored
124
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
125 - regex: '(Symphony) (\d+).(\d+)'
126
e25d168 @stephenwalz added parentheses to 'Minimo' regex
stephenwalz authored
127 - regex: '(Minimo)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
128
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
129 - regex: 'PLAYSTATION 3.+WebKit'
130 family_replacement: 'NetFront NX'
131 - regex: 'PLAYSTATION 3'
132 family_replacement: 'NetFront'
133 - regex: '(PlayStation Portable)'
134 family_replacement: 'NetFront'
07f03be @drucifer Move NetFront to stay a step ahead of the new location of Silk
drucifer authored
135 - regex: '(PlayStation Vita)'
136 family_replacement: 'NetFront NX'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
137
138 - regex: 'AppleWebKit.+ (NX)/(\d+)\.(\d+)\.(\d+)'
139 family_replacement: 'NetFront NX'
140 - regex: '(Nintendo 3DS)'
141 family_replacement: 'NetFront NX'
07f03be @drucifer Move NetFront to stay a step ahead of the new location of Silk
drucifer authored
142
13e8147 @drucifer Move Silk even earlier in file to take priority over Chrome Mobile
drucifer authored
143 # Amazon Silk, should go before Safari and Chrome Mobile
144 - regex: '(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+))?'
145 family_replacement: 'Amazon Silk'
146
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
147
68c350e @commenthol Puffin Browser added
commenthol authored
148 # @ref: http://www.puffinbrowser.com
b69f227 @commenthol fix Puffin Browser missing patch version
commenthol authored
149 - regex: '(Puffin)/(\d+)\.(\d+)(?:\.(\d+))?'
68c350e @commenthol Puffin Browser added
commenthol authored
150
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
151 # Chrome Mobile
152 - regex: '(CrMo)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
153 family_replacement: 'Chrome Mobile'
32b1cf4 @dmolsen added support for chrome mobile on ios. wish they followed their own …
dmolsen authored
154 - regex: '(CriOS)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
317fe8b @tobie Make iOS Chrome Mobile easy to distinguish.
authored
155 family_replacement: 'Chrome Mobile iOS'
995609b @dmolsen Updating Chrome Mobile support
dmolsen authored
156 - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+) Mobile'
157 family_replacement: 'Chrome Mobile'
037f45f Adds python implementation
Lindsey Simon authored
158
481376e Chrome Frame UA
Lindsey Simon authored
159 # Chrome Frame must come before MSIE.
160 - regex: '(chromeframe)/(\d+)\.(\d+)\.(\d+)'
161 family_replacement: 'Chrome Frame'
162
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
163 # UC Browser
8e20d84 @dmolsen updating the support for UC Browser
dmolsen authored
164 - regex: '(UCBrowser)[ /](\d+)\.(\d+)\.(\d+)'
165 family_replacement: 'UC Browser'
166 - regex: '(UC Browser)[ /](\d+)\.(\d+)\.(\d+)'
167 - regex: '(UC Browser|UCBrowser|UCWEB)(\d+)\.(\d+)\.(\d+)'
168 family_replacement: 'UC Browser'
c8ef642 Really apply them
Lindsey Simon authored
169
dffdabf @dmolsen added support for tizen browser (aka slp browser), polaris 8.0, & bet…
dmolsen authored
170 # Tizen Browser (second case included in browser/major.minor regex)
171 - regex: '(SLP Browser)/(\d+)\.(\d+)'
172 family_replacement: 'Tizen Browser'
c8ef642 Really apply them
Lindsey Simon authored
173
2b65180 @dmolsen added support for Sogou Explorer browser
dmolsen authored
174 # Sogou Explorer 2.X
175 - regex: '(SE 2\.X) MetaSr (\d+)\.(\d+)'
176 family_replacement: 'Sogou Explorer'
4a1a648 Remove is_ bools from tests + python. Also reindent python
Lindsey Simon authored
177
6106943 @dmolsen adding support for baidu browser desktop version
dmolsen authored
178 # Baidu Browsers (desktop spoofs chrome & IE, explorer is mobile)
179 - regex: '(baidubrowser)[/\s](\d+)'
180 family_replacement: 'Baidu Browser'
c50bdf6 @dmolsen adding support for the new baidu browser
dmolsen authored
181 - regex: '(FlyFlow)/(\d+)\.(\d+)'
8f6aade @dmolsen baidu browser name now matches their marketing
dmolsen authored
182 family_replacement: 'Baidu Explorer'
037f45f Adds python implementation
Lindsey Simon authored
183
dcec226 @lostsnow Better detection of QQ browsers.
lostsnow authored
184 # QQ Browsers
c401f10 @commenthol qqbrowser: refactored regexes; mqqbrowser/mini added
commenthol authored
185 - regex: '(MQQBrowser/Mini)(?:(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'
186 family_replacement: 'QQ Browser Mini'
187 - regex: '(MQQBrowser)(?:/(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'
dcec226 @lostsnow Better detection of QQ browsers.
lostsnow authored
188 family_replacement: 'QQ Browser Mobile'
c401f10 @commenthol qqbrowser: refactored regexes; mqqbrowser/mini added
commenthol authored
189 - regex: '(QQBrowser)(?:/(\d+)(?:\.(\d+)\.(\d+)(?:\.(\d+))?)?)?'
dcec226 @lostsnow Better detection of QQ browsers.
lostsnow authored
190 family_replacement: 'QQ Browser'
191
a75555a Adds pingdom, updates paths in py files
Lindsey Simon authored
192 # Pingdom
193 - regex: '(Pingdom.com_bot_version_)(\d+)\.(\d+)'
194 family_replacement: 'PingdomBot'
195
9ece365 Adds Facebook bot
Lindsey Simon authored
196 # Facebook
197 - regex: '(facebookexternalhit)/(\d+)\.(\d+)'
198 family_replacement: 'FacebookBot'
199
dfe26e3 @niklasae Adding entry for LinkedInBot
niklasae authored
200 # LinkedIn
201 - regex: '(LinkedInBot)/(\d+)\.(\d+)'
202 family_replacement: 'LinkedInBot'
203
303c8f9 Adds twitterbot
Lindsey Simon authored
204 # Twitterbot
205 - regex: '(Twitterbot)/(\d+)\.(\d+)'
206 family_replacement: 'TwitterBot'
207
c1cf54a @spadgos Add Google+ Bot detection
spadgos authored
208 # Google Plus
209 - regex: 'Google.*/\+/web/snippet'
210 family_replacement: 'GooglePlusBot'
211
a5a7bca @dfeinzeig Added check for Rackspace Monitoring
dfeinzeig authored
212 # Rackspace Monitoring
213 - regex: '(Rackspace Monitoring)/(\d+)\.(\d+)'
214 family_replacement: 'RackspaceBot'
215
6bde6ea @dasevilla Support PyAMF
dasevilla authored
216 # PyAMF
217 - regex: '(PyAMF)/(\d+)\.(\d+)\.(\d+)'
218
c27ba5a Added Yandex & Mail.ru browsers
Audun M. Oygard authored
219 # Yandex Browser
220 - regex: '(YaBrowser)/(\d+)\.(\d+)\.(\d+)'
221 family_replacement: 'Yandex Browser'
222
223 # Mail.ru Amigo/Internet Browser (Chromium-based)
224 - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+).* MRCHROME'
225 family_replacement: 'Mail.ru Chromium Browser'
226
1680199 @philipzae Update regexes.yaml
philipzae authored
227 # AOL Browser (IE-based)
648ddf2 @philipzae Update regexes.yaml
philipzae authored
228 - regex: '(AOL) (\d+)\.(\d+); AOLBuild (\d+)'
1680199 @philipzae Update regexes.yaml
philipzae authored
229
037f45f Adds python implementation
Lindsey Simon authored
230 #### END SPECIAL CASES TOP ####
231
232 #### MAIN CASES - this catches > 50% of all browsers ####
233
234 # Browser/major_version.minor_version.beta_version
10acba9 @commenthol Vodafone is not a Browser
commenthol authored
235 - 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+)'
58fc583 @philipzae Update regexes.yaml
philipzae authored
236
b7fa13b @epgrubmair Airmail,Outlook,Thunderbird new. Lightning updated
epgrubmair authored
237 # Outlook 2007
238 - regex: 'MSOffice 12'
239 family_replacement: 'Outlook'
240 v1_replacement: '2007'
241
242 # Outlook 2010
243 - regex: 'MSOffice 14'
244 family_replacement: 'Outlook'
245 v1_replacement: '2010'
246
247 # Outlook 2013
248 - regex: 'Microsoft Outlook 15\.\d+\.\d+'
249 family_replacement: 'Outlook'
250 v1_replacement: '2013'
251
252 # Apple Air Mail
253 - regex: '(Airmail) (\d+)\.(\d+)(?:\.(\d+))?'
254
255 # Thunderbird
256 - regex: '(Thunderbird)/(\d+)\.(\d+)\.(\d+(?:pre)?)'
257 family_replacement: 'Thunderbird'
258
58fc583 @philipzae Update regexes.yaml
philipzae authored
259 # Chrome/Chromium/major_version.minor_version.beta_version
260 - regex: '(Chromium|Chrome)/(\d+)\.(\d+)\.(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
261
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
262 # Dolphin Browser
88ecd6f @commenthol Detection of Dolphin Browser (Android + iOs)
commenthol authored
263 # @ref: http://www.dolphin.com
264 - regex: '\b(Dolphin)(?: |HDCN/|/INT\-)(\d+)\.(\d+)\.?(\d+)?'
265
037f45f Adds python implementation
Lindsey Simon authored
266 # Browser/major_version.minor_version
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
267 - 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+)?'
037f45f Adds python implementation
Lindsey Simon authored
268
58fc583 @philipzae Update regexes.yaml
philipzae authored
269 # Chrome/Chromium/major_version.minor_version
270 - regex: '(Chromium|Chrome)/(\d+)\.(\d+)'
271
82c7af0 @gquinones New entries for Spiders, Espial Smart TV, plus fixes for Windows Phon…
gquinones authored
272 ##########
273 # IE Mobile needs to happen before Android to catch cases such as:
274 # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920)...
275 # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; ANZ821)...
276 # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Orange)...
277 # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Vodafone)...
278 ##########
279
280 # IE Mobile
281 - regex: '(IEMobile)[ /](\d+)\.(\d+)'
282 family_replacement: 'IE Mobile'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
283
037f45f Adds python implementation
Lindsey Simon authored
284 # Browser major_version.minor_version.beta_version (space instead of slash)
285 - regex: '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\d+)\.(\d+)\.(\d+)'
286 # Browser major_version.minor_version (space instead of slash)
a2f487d @dmolsen BREW is an OS and not a browser
dmolsen authored
287 - regex: '(iCab|Lunascape|Opera|Android|Jasmine|Polaris) (\d+)\.(\d+)\.?(\d+)?'
88ecd6f @commenthol Detection of Dolphin Browser (Android + iOs)
commenthol authored
288
90c287f @dmolsen Kindle regexes updated
dmolsen authored
289 # Kindle WebKit
290 - regex: '(Kindle)/(\d+)\.(\d+)'
88ecd6f @commenthol Detection of Dolphin Browser (Android + iOs)
commenthol authored
291
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
292 # weird android UAs
293 - regex: '(Android) Donut'
294 v1_replacement: '1'
295 v2_replacement: '2'
296
297 - regex: '(Android) Eclair'
298 v1_replacement: '2'
299 v2_replacement: '1'
300
301 - regex: '(Android) Froyo'
302 v1_replacement: '2'
303 v2_replacement: '2'
304
305 - regex: '(Android) Gingerbread'
306 v1_replacement: '2'
307 v2_replacement: '3'
308
309 - regex: '(Android) Honeycomb'
310 v1_replacement: '3'
311
037f45f Adds python implementation
Lindsey Simon authored
312 # desktop mode
313 # http://www.anandtech.com/show/3982/windows-phone-7-review
314 - regex: '(MSIE) (\d+)\.(\d+).*XBLWP7'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
315 family_replacement: 'IE Large Screen'
037f45f Adds python implementation
Lindsey Simon authored
316
317 #### END MAIN CASES ####
318
319 #### SPECIAL CASES ####
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
320 - regex: '(Obigo)InternetBrowser'
321 - regex: '(Obigo)\-Browser'
037f45f Adds python implementation
Lindsey Simon authored
322 - regex: '(Obigo|OBIGO)[^\d]*(\d+)(?:.(\d+))?'
01bdf02 @dmolsen making sure obigo browser name is standardized
dmolsen authored
323 family_replacement: 'Obigo'
037f45f Adds python implementation
Lindsey Simon authored
324
325 - regex: '(MAXTHON|Maxthon) (\d+)\.(\d+)'
326 family_replacement: 'Maxthon'
327 - regex: '(Maxthon|MyIE2|Uzbl|Shiira)'
328 v1_replacement: '0'
329
330 - regex: '(BrowseX) \((\d+)\.(\d+)\.(\d+)'
331
d1b4ec2 @dmolsen adding support for NCSA Mosaic and Windows 3.1
dmolsen authored
332 - regex: '(NCSA_Mosaic)/(\d+)\.(\d+)'
333 family_replacement: 'NCSA Mosaic'
334
8b8fbba @dmolsen just a note about where the other polaris regex is
dmolsen authored
335 # Polaris/d.d is above
037f45f Adds python implementation
Lindsey Simon authored
336 - regex: '(POLARIS)/(\d+)\.(\d+)'
337 family_replacement: 'Polaris'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
338 - regex: '(Embider)/(\d+)\.(\d+)'
339 family_replacement: 'Polaris'
037f45f Adds python implementation
Lindsey Simon authored
340
707b07f @keshonok Modify several regexes to accept more UA strings.
keshonok authored
341 - regex: '(BonEcho)/(\d+)\.(\d+)\.?([ab]?\d+)?'
037f45f Adds python implementation
Lindsey Simon authored
342 family_replacement: 'Bon Echo'
343
4121bbf @commenthol Detection of CFNetwork and iOS Applications
commenthol authored
344 # @note: iOS / OSX Applications
345 - regex: '(CFNetwork)(?:/(\d+)\.(\d+)\.?(\d+)?)?'
346 family_replacement: 'CFNetwork'
347
037f45f Adds python implementation
Lindsey Simon authored
348 - regex: '(iPod).+Version/(\d+)\.(\d+)\.(\d+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
349 family_replacement: 'Mobile Safari'
350 - regex: '(iPod).*Version/(\d+)\.(\d+)'
351 family_replacement: 'Mobile Safari'
352 - regex: '(iPhone).*Version/(\d+)\.(\d+)\.(\d+)'
353 family_replacement: 'Mobile Safari'
354 - regex: '(iPhone).*Version/(\d+)\.(\d+)'
355 family_replacement: 'Mobile Safari'
356 - regex: '(iPad).*Version/(\d+)\.(\d+)\.(\d+)'
357 family_replacement: 'Mobile Safari'
358 - regex: '(iPad).*Version/(\d+)\.(\d+)'
359 family_replacement: 'Mobile Safari'
6e83add @drucifer Retain patch number for Mobile Safari
drucifer authored
360 - regex: '(iPod|iPhone|iPad);.*CPU.*OS (\d+)_(\d+)(?:_(\d+))?.*Mobile'
530c647 @bluesmoon Match generic iPod/iPhone/iPad after all specifics
bluesmoon authored
361 family_replacement: 'Mobile Safari'
362 - regex: '(iPod|iPhone|iPad)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
363 family_replacement: 'Mobile Safari'
364
365 - regex: '(AvantGo) (\d+).(\d+)'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
366
cb54949 @dmolsen Adding support for ONE Browser
dmolsen authored
367 - regex: '(OneBrowser)/(\d+).(\d+)'
368 family_replacement: 'ONE Browser'
037f45f Adds python implementation
Lindsey Simon authored
369
370 - regex: '(Avant)'
371 v1_replacement: '1'
372
4a1a648 Remove is_ bools from tests + python. Also reindent python
Lindsey Simon authored
373 # This is the Tesla Model S (see similar entry in device parsers)
374 - regex: '(QtCarBrowser)'
375 v1_replacement: '1'
376
d9ee002 @commenthol Detection of iBrowser, iRapp
commenthol authored
377 - regex: '^(iBrowser/Mini)(\d+).(\d+)'
ebb61e5 @dmolsen Adding iBrowser Mini
dmolsen authored
378 family_replacement: 'iBrowser Mini'
d9ee002 @commenthol Detection of iBrowser, iRapp
commenthol authored
379 - regex: '^(iBrowser|iRAPP)/(\d+).(\d+)'
380
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
381 # nokia browsers
382 # based on: http://www.developer.nokia.com/Community/Wiki/User-Agent_headers_for_Nokia_devices
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
383 - regex: '^(Nokia)'
384 family_replacement: 'Nokia Services (WAP) Browser'
385 - regex: '(NokiaBrowser)/(\d+)\.(\d+).(\d+)\.(\d+)'
386 family_replacement: 'Nokia Browser'
387 - regex: '(NokiaBrowser)/(\d+)\.(\d+).(\d+)'
388 family_replacement: 'Nokia Browser'
389 - regex: '(NokiaBrowser)/(\d+)\.(\d+)'
860fce0 @dmolsen adding nokia related tests and fixes
dmolsen authored
390 family_replacement: 'Nokia Browser'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
391 - regex: '(BrowserNG)/(\d+)\.(\d+).(\d+)'
860fce0 @dmolsen adding nokia related tests and fixes
dmolsen authored
392 family_replacement: 'Nokia Browser'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
393 - regex: '(Series60)/5\.0'
860fce0 @dmolsen adding nokia related tests and fixes
dmolsen authored
394 family_replacement: 'Nokia Browser'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
395 v1_replacement: '7'
396 v2_replacement: '0'
2907558 @commenthol current state brand model parsing
commenthol authored
397 - regex: '(Series60)/(\d+)\.(\d+)'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
398 family_replacement: 'Nokia OSS Browser'
399 - regex: '(S40OviBrowser)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
400 family_replacement: 'Ovi Browser'
401 - regex: '(Nokia)[EN]?(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
402
403 # BlackBerry devices
6d2cf08 @dmolsen BlackBerry 10 regex. Address issue #65.
dmolsen authored
404 - regex: '(BB10);'
2761210 @dmolsen making sure the spelling of BlackBerry is standardized and corrected
dmolsen authored
405 family_replacement: 'BlackBerry WebKit'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
406 - regex: '(PlayBook).+RIM Tablet OS (\d+)\.(\d+)\.(\d+)'
2761210 @dmolsen making sure the spelling of BlackBerry is standardized and corrected
dmolsen authored
407 family_replacement: 'BlackBerry WebKit'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
408 - regex: '(Black[bB]erry).+Version/(\d+)\.(\d+)\.(\d+)'
2761210 @dmolsen making sure the spelling of BlackBerry is standardized and corrected
dmolsen authored
409 family_replacement: 'BlackBerry WebKit'
037f45f Adds python implementation
Lindsey Simon authored
410 - regex: '(Black[bB]erry)\s?(\d+)'
2761210 @dmolsen making sure the spelling of BlackBerry is standardized and corrected
dmolsen authored
411 family_replacement: 'BlackBerry'
037f45f Adds python implementation
Lindsey Simon authored
412
413 - regex: '(OmniWeb)/v(\d+)\.(\d+)'
414
415 - regex: '(Blazer)/(\d+)\.(\d+)'
416 family_replacement: 'Palm Blazer'
417
418 - regex: '(Pre)/(\d+)\.(\d+)'
419 family_replacement: 'Palm Pre'
420
df8a03c @philipzae elinks is a fork of links
philipzae authored
421 # fork of Links
808cb29 @philipzae elinks display variations on multiple lines
philipzae authored
422 - regex: '(ELinks)/(\d+)\.(\d+)'
423 - regex: '(ELinks) \((\d+)\.(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
424 - regex: '(Links) \((\d+)\.(\d+)'
425
426 - regex: '(QtWeb) Internet Browser/(\d+)\.(\d+)'
427
428 #- regex: '\(iPad;.+(Version)/(\d+)\.(\d+)(?:\.(\d+))?.*Safari/'
429 # family_replacement: 'iPad'
430
99bc530 @3rd-Eden Support for PhantomJS and IE 11
3rd-Eden authored
431 # Phantomjs, should go before Safari
f1cbf19 @3rd-Eden Fixed incorrect escaping
3rd-Eden authored
432 - regex: '(PhantomJS)/(\d+)\.(\d+)\.(\d+)'
99bc530 @3rd-Eden Support for PhantomJS and IE 11
3rd-Eden authored
433
444a147 @dmolsen added support for tracking webkit nightly builds tho i'm not sure how…
dmolsen authored
434 # WebKit Nightly
ac4909d @elsigh Update regexes.yaml
elsigh authored
435 - regex: '(AppleWebKit)/(\d+)\.?(\d+)?\+ .* Safari'
444a147 @dmolsen added support for tracking webkit nightly builds tho i'm not sure how…
dmolsen authored
436 family_replacement: 'WebKit Nightly'
c8ef642 Really apply them
Lindsey Simon authored
437
037f45f Adds python implementation
Lindsey Simon authored
438 # Safari
439 - regex: '(Version)/(\d+)\.(\d+)(?:\.(\d+))?.*Safari/'
440 family_replacement: 'Safari'
441 # Safari didn't provide "Version/d.d.d" prior to 3.0
442 - regex: '(Safari)/\d+'
443
444 - regex: '(OLPC)/Update(\d+)\.(\d+)'
445
446 - regex: '(OLPC)/Update()\.(\d+)'
447 v1_replacement: '0'
448
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
449 - regex: '(SEMC\-Browser)/(\d+)\.(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
450
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
451 - regex: '(Teleca)'
452 family_replacement: 'Teleca Browser'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
453
ef1ff75 @dmolsen adding support for the phantom browser
dmolsen authored
454 - regex: '(Phantom)/V(\d+)\.(\d+)'
455 family_replacement: 'Phantom Browser'
037f45f Adds python implementation
Lindsey Simon authored
456
68f321c @bluesmoon Issue 297: Move Firefox patterns between IE11 and other IE
bluesmoon authored
457 - regex: 'Trident(.*)rv.(\d+)\.(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
458 family_replacement: 'IE'
459
82c7af0 @gquinones New entries for Spiders, Espial Smart TV, plus fixes for Windows Phon…
gquinones authored
460 # Espial
461 - regex: '(Espial)/(\d+)(?:\.(\d+))?(?:\.(\d+))?'
462
b7fa13b @epgrubmair Airmail,Outlook,Thunderbird new. Lightning updated
epgrubmair authored
463 # Apple Mail
464
465 # apple mail - not directly detectable, have it after Safari stuff
466 - regex: '(AppleWebKit)/(\d+)\.(\d+)\.(\d+)'
467 family_replacement: 'AppleMail'
468
68f321c @bluesmoon Issue 297: Move Firefox patterns between IE11 and other IE
bluesmoon authored
469 # AFTER THE EDGE CASES ABOVE!
470 # AFTER IE11
471 # BEFORE all other IE
472 - regex: '(Firefox)/(\d+)\.(\d+)\.(\d+)'
473 - regex: '(Firefox)/(\d+)\.(\d+)(pre|[ab]\d+[a-z]*)?'
474
475 - regex: '([MS]?IE) (\d+)\.(\d+)'
fa7003f @3rd-Eden Support IE 11's minimal ua string.
3rd-Eden authored
476 family_replacement: 'IE'
477
a6d1f33 parse the Python Requests library user agent
Jason Carver authored
478 - regex: '(python-requests)/(\d+)\.(\d+)'
479 family_replacement: 'Python Requests'
34c4464 @bluesmoon Nintendo 3DS FTW!!!
bluesmoon authored
480
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
481 os_parsers:
585db09 @jpvincent Complete tests on most HbbTV released before mid 2013
jpvincent authored
482 ##########
483 # HbbTV vendors
484 ##########
485
486 # starts with the easy one : Panasonic seems consistent across years, hope it will continue
487 #HbbTV/1.1.1 (;Panasonic;VIERA 2011;f.532;0071-0802 2000-0000;)
488 #HbbTV/1.1.1 (;Panasonic;VIERA 2012;1.261;0071-3103 2000-0000;)
489 #HbbTV/1.2.1 (;Panasonic;VIERA 2013;3.672;4101-0003 0002-0000;)
490 #- regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Panasonic);VIERA ([0-9]{4});'
491
492 # Sony is consistent too but do not place year like the other
493 # Opera/9.80 (Linux armv7l; HbbTV/1.1.1 (; Sony; KDL32W650A; PKG3.211EUA; 2013;); ) Presto/2.12.362 Version/12.11
494 # Opera/9.80 (Linux mips; U; HbbTV/1.1.1 (; Sony; KDL40HX751; PKG1.902EUA; 2012;);; en) Presto/2.10.250 Version/11.60
495 # Opera/9.80 (Linux mips; U; HbbTV/1.1.1 (; Sony; KDL22EX320; PKG4.017EUA; 2011;);; en) Presto/2.7.61 Version/11.00
496 #- regex: 'HbbTV/\d+\.\d+\.\d+ \(; (Sony);.*;.*; ([0-9]{4});\)'
497
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
498
585db09 @jpvincent Complete tests on most HbbTV released before mid 2013
jpvincent authored
499 # LG is consistent too, but we need to add manually the year model
500 #Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ (KHTML, like Gecko) Safari/537.1+ HbbTV/1.1.1 ( ;LGE ;NetCast 4.0 ;03.20.30 ;1.0M ;)
501 #Mozilla/5.0 (DirectFB; Linux armv7l) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+ HbbTV/1.1.1 ( ;LGE ;NetCast 3.0 ;1.0 ;1.0M ;)
502 - regex: 'HbbTV/\d+\.\d+\.\d+ \( ;(LG)E ;NetCast 4.0'
503 os_v1_replacement: '2013'
504 - regex: 'HbbTV/\d+\.\d+\.\d+ \( ;(LG)E ;NetCast 3.0'
505 os_v1_replacement: '2012'
506
507 # Samsung is on its way of normalizing their user-agent
508 # HbbTV/1.1.1 (;Samsung;SmartTV2013;T-FXPDEUC-1102.2;;) WebKit
509 # HbbTV/1.1.1 (;Samsung;SmartTV2013;T-MST12DEUC-1102.1;;) WebKit
510 # HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit
511 # HbbTV/1.1.1 (;;;;;) Maple_2011
512 - regex: 'HbbTV/1.1.1 \(;;;;;\) Maple_2011'
513 os_replacement: 'Samsung'
514 os_v1_replacement: '2011'
515 # manage the two models of 2013
516 - regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});.*FXPDEUC'
517 os_v2_replacement: 'UE40F7000'
518 - regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});.*MST12DEUC'
519 os_v2_replacement: 'UE32F4500'
520 # generic Samsung (works starting in 2012)
521 #- regex: 'HbbTV/\d+\.\d+\.\d+ \(;(Samsung);SmartTV([0-9]{4});'
522
523 # Philips : not found any other way than a manual mapping
524 # Opera/9.80 (Linux mips; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/4.1.3 PHILIPSTV/1.1.1; en) Presto/2.10.250 Version/11.60
525 # Opera/9.80 (Linux mips ; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/3.2.1; en) Presto/2.6.33 Version/10.70
526 - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/4'
527 os_v1_replacement: '2013'
528 - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/3'
529 os_v1_replacement: '2012'
75b86aa @jpvincent Add 2011 Philips model
jpvincent authored
530 - regex: 'HbbTV/1.1.1 \(; (Philips);.*NETTV/2'
531 os_v1_replacement: '2011'
585db09 @jpvincent Complete tests on most HbbTV released before mid 2013
jpvincent authored
532
cbd81fb @jpvincent Add the User agent of the HbbTV emulator
jpvincent authored
533 # the HbbTV emulator developers use HbbTV/1.1.1 (;;;;;) firetv-firefox-plugin 1.1.20
8dbc74c @jpvincent Add 2011 Philips model
jpvincent authored
534 - regex: 'HbbTV/\d+\.\d+\.\d+.*(firetv)-firefox-plugin (\d+).(\d+).(\d+)'
cbd81fb @jpvincent Add the User agent of the HbbTV emulator
jpvincent authored
535 os_replacement: 'FireHbbTV'
536
9c4d82f @jpvincent More specific generic regex for unknown and future HbbTVs
jpvincent authored
537 # generic HbbTV, hoping to catch manufacturer name (always after 2nd comma) and the first string that looks like a 2011-2019 year
538 - regex: 'HbbTV/\d+\.\d+\.\d+ \(.*; ?([a-zA-Z]+) ?;.*(201[1-9]).*\)'
e2ab643 @dmolsen moved android OS checks above windows because some android UAs includ…
dmolsen authored
539
540 ##########
82c7af0 @gquinones New entries for Spiders, Espial Smart TV, plus fixes for Windows Phon…
gquinones authored
541 # @note: Windows Phone needs to come before Windows NT 6.1 *and* before Android to catch cases such as:
542 # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920)...
543 # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; ANZ821)...
544 # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Orange)...
545 # Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920; Vodafone)...
546 ##########
547
548 - regex: '(Windows Phone) (?:OS[ /])?(\d+)\.(\d+)'
549
550 ##########
e2ab643 @dmolsen moved android OS checks above windows because some android UAs includ…
dmolsen authored
551 # Android
552 # can actually detect rooted android os. do we care?
553 ##########
e69f708 @commenthol Better detection of Android Version; Simplified regex
commenthol authored
554 - regex: '(Android)[ \-/](\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
555
e2ab643 @dmolsen moved android OS checks above windows because some android UAs includ…
dmolsen authored
556 - regex: '(Android) Donut'
557 os_v1_replacement: '1'
558 os_v2_replacement: '2'
559
560 - regex: '(Android) Eclair'
561 os_v1_replacement: '2'
562 os_v2_replacement: '1'
563
564 - regex: '(Android) Froyo'
565 os_v1_replacement: '2'
566 os_v2_replacement: '2'
567
568 - regex: '(Android) Gingerbread'
569 os_v1_replacement: '2'
570 os_v2_replacement: '3'
571
572 - regex: '(Android) Honeycomb'
573 os_v1_replacement: '3'
c8ef642 Really apply them
Lindsey Simon authored
574
5a348ff @commenthol Better OS detection for UCBrowser
commenthol authored
575 # UCWEB
576 - regex: '^UCWEB.*; (Adr) (\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?;'
577 os_replacement: 'Android'
578 - regex: '^UCWEB.*; (iPad OS|iPh OS) (\d+)_(\d+)(?:_(\d+))?;'
579 os_replacement: 'iOS'
580 - regex: '^UCWEB.*; (wds) (\d+)\.(\d+)(?:\.(\d+))?;'
581 os_replacement: 'Windows Phone'
582 # JUC
583 - regex: '^(JUC).*; ?U; ?(?:Android)?(\d+)\.(\d+)(?:[\.\-]([a-z0-9]+))?'
584 os_replacement: 'Android'
585
037f45f Adds python implementation
Lindsey Simon authored
586 ##########
90c287f @dmolsen Kindle regexes updated
dmolsen authored
587 # Kindle Android
588 ##########
589 - regex: '(Silk-Accelerated=[a-z]{4,5})'
590 os_replacement: 'Android'
591
592 ##########
037f45f Adds python implementation
Lindsey Simon authored
593 # Windows
594 # http://en.wikipedia.org/wiki/Windows_NT#Releases
595 # possibility of false positive when different marketing names share same NT kernel
596 # e.g. windows server 2003 and windows xp
597 # lots of ua strings have Windows NT 4.1 !?!?!?!? !?!? !? !????!?! !!! ??? !?!?! ?
598 # (very) roughly ordered in terms of frequency of occurence of regex (win xp currently most frequent, etc)
599 ##########
585db09 @jpvincent Complete tests on most HbbTV released before mid 2013
jpvincent authored
600
212ac0e @commenthol Better OS-detection for Windows Phone and other Windows Os
commenthol authored
601 # ie mobile desktop mode
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
602 # spoofs nt 6.1. must come before windows 7
037f45f Adds python implementation
Lindsey Simon authored
603 - regex: '(XBLWP7)'
178da3d @dmolsen adding support for windows phone related UAs
dmolsen authored
604 os_replacement: 'Windows Phone'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
605
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
606 # @note: This needs to come before Windows NT 6.1
212ac0e @commenthol Better OS-detection for Windows Phone and other Windows Os
commenthol authored
607 - regex: '(Windows ?Mobile)'
608 os_replacement: 'Windows Mobile'
609
610 - regex: '(Windows (?:NT 5\.2|NT 5\.1))'
611 os_replacement: 'Windows XP'
612
037f45f Adds python implementation
Lindsey Simon authored
613 - regex: '(Windows NT 6\.1)'
614 os_replacement: 'Windows 7'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
615
037f45f Adds python implementation
Lindsey Simon authored
616 - regex: '(Windows NT 6\.0)'
617 os_replacement: 'Windows Vista'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
618
a857f82 @philipzae support for Windows Me written as 'Win 9x 4.90'
philipzae authored
619 - regex: '(Win 9x 4\.90)'
212ac0e @commenthol Better OS-detection for Windows Phone and other Windows Os
commenthol authored
620 os_replacement: 'Windows ME'
a857f82 @philipzae support for Windows Me written as 'Win 9x 4.90'
philipzae authored
621
d1b4ec2 @dmolsen adding support for NCSA Mosaic and Windows 3.1
dmolsen authored
622 - regex: '(Windows 98|Windows XP|Windows ME|Windows 95|Windows CE|Windows 7|Windows NT 4\.0|Windows Vista|Windows 2000|Windows 3.1)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
623
cacde45 @dmolsen adding support for Windows RT
dmolsen authored
624 - regex: '(Windows NT 6\.2; ARM;)'
625 os_replacement: 'Windows RT'
037f45f Adds python implementation
Lindsey Simon authored
626 - regex: '(Windows NT 6\.2)'
627 os_replacement: 'Windows 8'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
628
a9f1136 @lcalvy add windows NT 6.3 code name 8.1 support for os family
lcalvy authored
629 - regex: '(Windows NT 6\.3; ARM;)'
fae497e @commenthol Detect Windows NT 6.3 as Windows 8.1
commenthol authored
630 os_replacement: 'Windows RT 8.1'
a9f1136 @lcalvy add windows NT 6.3 code name 8.1 support for os family
lcalvy authored
631 - regex: '(Windows NT 6\.3)'
fae497e @commenthol Detect Windows NT 6.3 as Windows 8.1
commenthol authored
632 os_replacement: 'Windows 8.1'
a9f1136 @lcalvy add windows NT 6.3 code name 8.1 support for os family
lcalvy authored
633
037f45f Adds python implementation
Lindsey Simon authored
634 - regex: '(Windows NT 5\.0)'
635 os_replacement: 'Windows 2000'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
636
037f45f Adds python implementation
Lindsey Simon authored
637 - regex: '(WinNT4.0)'
638 os_replacement: 'Windows NT 4.0'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
639
212ac0e @commenthol Better OS-detection for Windows Phone and other Windows Os
commenthol authored
640 - regex: '(Windows ?CE)'
641 os_replacement: 'Windows CE'
642
643 - regex: 'Win ?(95|98|3.1|NT|ME|2000)'
644 os_replacement: 'Windows $1'
645
646 - regex: 'Win16'
647 os_replacement: 'Windows 3.1'
648
649 - regex: 'Win32'
650 os_replacement: 'Windows 95'
c8ef642 Really apply them
Lindsey Simon authored
651
dffdabf @dmolsen added support for tizen browser (aka slp browser), polaris 8.0, & bet…
dmolsen authored
652 ##########
653 # Tizen OS from Samsung
654 # spoofs Android so pushing it above
655 ##########
656 - regex: '(Tizen)/(\d+)\.(\d+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
657
037f45f Adds python implementation
Lindsey Simon authored
658 ##########
659 # Mac OS
4121bbf @commenthol Detection of CFNetwork and iOS Applications
commenthol authored
660 # @ref: http://en.wikipedia.org/wiki/Mac_OS_X#Versions
661 # @ref: http://www.puredarwin.org/curious/versions
037f45f Adds python implementation
Lindsey Simon authored
662 ##########
663 - regex: '(Mac OS X) (\d+)[_.](\d+)(?:[_.](\d+))?'
4121bbf @commenthol Detection of CFNetwork and iOS Applications
commenthol authored
664 # Leopard
665 - regex: ' (Dar)(win)/(9).(\d+).*\((?:i386|x86_64|Power Macintosh)\)'
666 os_replacement: 'Mac OS X'
667 os_v1_replacement: '10'
668 os_v2_replacement: '5'
669 # Snow Leopard
670 - regex: ' (Dar)(win)/(10).(\d+).*\((?:i386|x86_64)\)'
671 os_replacement: 'Mac OS X'
672 os_v1_replacement: '10'
673 os_v2_replacement: '6'
674 # Lion
675 - regex: ' (Dar)(win)/(11).(\d+).*\((?:i386|x86_64)\)'
676 os_replacement: 'Mac OS X'
677 os_v1_replacement: '10'
678 os_v2_replacement: '7'
679 # Mountain Lion
680 - regex: ' (Dar)(win)/(12).(\d+).*\((?:i386|x86_64)\)'
681 os_replacement: 'Mac OS X'
682 os_v1_replacement: '10'
683 os_v2_replacement: '8'
684 # Mavericks
685 - regex: ' (Dar)(win)/(13).(\d+).*\((?:i386|x86_64)\)'
686 os_replacement: 'Mac OS X'
687 os_v1_replacement: '10'
688 os_v2_replacement: '9'
689
7478ade @dmolsen adding support for Mac PowerPC for old versions of IE
dmolsen authored
690 # IE on Mac doesn't specify version number
691 - regex: 'Mac_PowerPC'
692 os_replacement: 'Mac OS'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
693
037f45f Adds python implementation
Lindsey Simon authored
694 # builds before tiger don't seem to specify version?
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
695
037f45f Adds python implementation
Lindsey Simon authored
696 # ios devices spoof (mac os x), so including intel/ppc prefixes
697 - regex: '(?:PPC|Intel) (Mac OS X)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
698
037f45f Adds python implementation
Lindsey Simon authored
699 ##########
700 # iOS
701 # http://en.wikipedia.org/wiki/IOS_version_history
702 ##########
4121bbf @commenthol Detection of CFNetwork and iOS Applications
commenthol authored
703 - regex: '(CPU OS|iPhone OS|CPU iPhone) +(\d+)[_\.](\d+)(?:[_\.](\d+))?'
037f45f Adds python implementation
Lindsey Simon authored
704 os_replacement: 'iOS'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
705
037f45f Adds python implementation
Lindsey Simon authored
706 # remaining cases are mostly only opera uas, so catch opera as to not catch iphone spoofs
707 - regex: '(iPhone|iPad|iPod); Opera'
708 os_replacement: 'iOS'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
709
037f45f Adds python implementation
Lindsey Simon authored
710 # few more stragglers
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
711 - regex: '(iPhone|iPad|iPod).*Mac OS X.*Version/(\d+)\.(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
712 os_replacement: 'iOS'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
713
cdbdde3 @stephenwalz Added AppleTV detection
stephenwalz authored
714 - regex: '(AppleTV)/(\d+)\.(\d+)'
715 os_replacement: 'ATV OS X'
716
69ee5b0 @gquinones Refined descriptions of CFNetwork versions of iOS. Added PlayStation …
gquinones authored
717 # CFNetwork/Darwin - The specific CFNetwork or Darwin version determines
718 # whether the os maps to Mac OS, or iOS, or just Darwin.
719 # See: http://user-agents.me/cfnetwork-version-list
720 - regex: '(CFNetwork)/(5)48\.0\.3.* Darwin/11\.0\.0'
721 os_replacement: 'iOS'
722 - regex: '(CFNetwork)/(5)48\.(0)\.4.* Darwin/(1)1\.0\.0'
723 os_replacement: 'iOS'
724 - regex: '(CFNetwork)/(5)48\.(1)\.4'
725 os_replacement: 'iOS'
726 - regex: '(CFNetwork)/(4)85\.1(3)\.9'
727 os_replacement: 'iOS'
728 - regex: '(CFNetwork)/(6)09\.(1)\.4'
729 os_replacement: 'iOS'
730 - regex: '(CFNetwork)/(6)(0)9'
731 os_replacement: 'iOS'
732 - regex: '(CFNetwork)/6(7)2\.(1)\.13'
733 os_replacement: 'iOS'
734 - regex: '(CFNetwork)/6(7)2\.(1)\.(1)4'
735 os_replacement: 'iOS'
736 - regex: '(CF)(Network)/6(7)(2)\.1\.15'
737 os_replacement: 'iOS'
738 os_v1_replacement: '7'
739 os_v2_replacement: '1'
740 - regex: '(CFNetwork)/6(7)2\.(0)\.(?:2|8)'
741 os_replacement: 'iOS'
742 - regex: '(CFNetwork)/709\.1'
743 os_replacement: 'iOS'
744 os_v1_replacement: '8'
745 os_v2_replacement: '0.b5'
746
037f45f Adds python implementation
Lindsey Simon authored
747 ##########
4121bbf @commenthol Detection of CFNetwork and iOS Applications
commenthol authored
748 # CFNetwork iOS Apps
749 # @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history
750 ##########
751 - regex: 'CFNetwork/.* Darwin/(9)\.\d+'
752 os_replacement: 'iOS'
753 os_v1_replacement: '1'
754 - regex: 'CFNetwork/.* Darwin/(10)\.\d+'
755 os_replacement: 'iOS'
756 os_v1_replacement: '4'
757 - regex: 'CFNetwork/.* Darwin/(11)\.\d+'
758 os_replacement: 'iOS'
759 os_v1_replacement: '5'
760 - regex: 'CFNetwork/.* Darwin/(13)\.\d+'
761 os_replacement: 'iOS'
762 os_v1_replacement: '6'
69ee5b0 @gquinones Refined descriptions of CFNetwork versions of iOS. Added PlayStation …
gquinones authored
763 - regex: 'CFNetwork/6.* Darwin/(14)\.\d+'
4121bbf @commenthol Detection of CFNetwork and iOS Applications
commenthol authored
764 os_replacement: 'iOS'
765 os_v1_replacement: '7'
69ee5b0 @gquinones Refined descriptions of CFNetwork versions of iOS. Added PlayStation …
gquinones authored
766 - regex: 'CFNetwork/7.* Darwin/(14)\.\d+'
767 os_replacement: 'iOS'
768 os_v1_replacement: '8'
769 os_v2_replacement: '0'
4121bbf @commenthol Detection of CFNetwork and iOS Applications
commenthol authored
770 # iOS Apps
771 - regex: '\b(iOS[ /]|iPhone(?:/| v|[ _]OS[/,]|; | OS : |\d,\d/|\d,\d; )|iPad/)(\d{1,2})[_\.](\d{1,2})(?:[_\.](\d+))?'
772 os_replacement: 'iOS'
773
774 ##########
037f45f Adds python implementation
Lindsey Simon authored
775 # Chrome OS
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
776 # if version 0.0.0, probably this stuff:
037f45f Adds python implementation
Lindsey Simon authored
777 # http://code.google.com/p/chromium-os/issues/detail?id=11573
778 # http://code.google.com/p/chromium-os/issues/detail?id=13790
779 ##########
780 - regex: '(CrOS) [a-z0-9_]+ (\d+)\.(\d+)(?:\.(\d+))?'
781 os_replacement: 'Chrome OS'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
782
037f45f Adds python implementation
Lindsey Simon authored
783 ##########
784 # Linux distros
785 ##########
3c4c877 @philipzae debian versions not available in UAes
philipzae authored
786 - regex: '([Dd]ebian)'
8febab3 @philipzae so it always returns first letter uppercase
philipzae authored
787 os_replacement: 'Debian'
037f45f Adds python implementation
Lindsey Simon authored
788 - regex: '(Linux Mint)(?:/(\d+))?'
e7b47f1 @philipzae Update regexes.yaml
philipzae authored
789 - regex: '(Mandriva)(?: Linux)?/(?:[\d.-]+m[a-z]{2}(\d+).(\d))?'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
790
037f45f Adds python implementation
Lindsey Simon authored
791 ##########
792 # Symbian + Symbian OS
793 # http://en.wikipedia.org/wiki/History_of_Symbian
794 ##########
ad8f42e @commenthol Corrects detection of Symbian-OS
commenthol authored
795 - regex: '(Symbian[Oo][Ss])[/ ](\d+)\.(\d+)'
037f45f Adds python implementation
Lindsey Simon authored
796 os_replacement: 'Symbian OS'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
797 - regex: '(Symbian/3).+NokiaBrowser/7\.3'
798 os_replacement: 'Symbian^3 Anna'
799 - regex: '(Symbian/3).+NokiaBrowser/7\.4'
800 os_replacement: 'Symbian^3 Belle'
037f45f Adds python implementation
Lindsey Simon authored
801 - regex: '(Symbian/3)'
802 os_replacement: 'Symbian^3'
ad8f42e @commenthol Corrects detection of Symbian-OS
commenthol authored
803 - regex: '\b(Series 60|SymbOS|S60Version|S60V\d|S60\b)'
037f45f Adds python implementation
Lindsey Simon authored
804 os_replacement: 'Symbian OS'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
805 - regex: '(MeeGo)'
806 - regex: 'Symbian [Oo][Ss]'
807 os_replacement: 'Symbian OS'
33e72fe @dmolsen renaming the Ovi Browser match and adding Nokia Series 40 as an OS
dmolsen authored
808 - regex: 'Series40;'
809 os_replacement: 'Nokia Series 40'
47aff89 @commenthol Detection of Nokia Series 30Plus added
commenthol authored
810 - regex: 'Series30Plus;'
811 os_replacement: 'Nokia Series 30 Plus'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
812
037f45f Adds python implementation
Lindsey Simon authored
813 ##########
814 # BlackBerry devices
815 ##########
6d2cf08 @dmolsen BlackBerry 10 regex. Address issue #65.
dmolsen authored
816 - regex: '(BB10);.+Version/(\d+)\.(\d+)\.(\d+)'
817 os_replacement: 'BlackBerry OS'
037f45f Adds python implementation
Lindsey Simon authored
818 - regex: '(Black[Bb]erry)[0-9a-z]+/(\d+)\.(\d+)\.(\d+)(?:\.(\d+))?'
819 os_replacement: 'BlackBerry OS'
820 - regex: '(Black[Bb]erry).+Version/(\d+)\.(\d+)\.(\d+)(?:\.(\d+))?'
821 os_replacement: 'BlackBerry OS'
822 - regex: '(RIM Tablet OS) (\d+)\.(\d+)\.(\d+)'
823 os_replacement: 'BlackBerry Tablet OS'
824 - regex: '(Play[Bb]ook)'
825 os_replacement: 'BlackBerry Tablet OS'
826 - regex: '(Black[Bb]erry)'
2761210 @dmolsen making sure the spelling of BlackBerry is standardized and corrected
dmolsen authored
827 os_replacement: 'BlackBerry OS'
037f45f Adds python implementation
Lindsey Simon authored
828
829 ##########
4c1f961 @dmolsen Adding support for Firefox OS
dmolsen authored
830 # Firefox OS
831 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
832 - regex: '\((?:Mobile|Tablet);.+Firefox/\d+\.\d+'
4c1f961 @dmolsen Adding support for Firefox OS
dmolsen authored
833 os_replacement: 'Firefox OS'
834
835 ##########
a2f487d @dmolsen BREW is an OS and not a browser
dmolsen authored
836 # BREW
837 # yes, Brew is lower-cased for Brew MP
838 ##########
839 - regex: '(BREW)[ /](\d+)\.(\d+)\.(\d+)'
840 - regex: '(BREW);'
841 - regex: '(Brew MP|BMP)[ /](\d+)\.(\d+)\.(\d+)'
842 os_replacement: 'Brew MP'
843 - regex: 'BMP;'
844 os_replacement: 'Brew MP'
845
846 ##########
347d01a @dasevilla Detect Google TV
dasevilla authored
847 # Google TV
848 ##########
d7d3fbd @commenthol Better Detection of GoogleTV; Joined Regex
commenthol authored
849 - regex: '(GoogleTV)(?: (\d+)\.(\d+)(?:\.(\d+))?|/[\da-z]+)'
347d01a @dasevilla Detect Google TV
dasevilla authored
850
b71a80f @dmolsen adding support for WebTV
dmolsen authored
851 - regex: '(WebTV)/(\d+).(\d+)'
d7d3fbd @commenthol Better Detection of GoogleTV; Joined Regex
commenthol authored
852
347d01a @dasevilla Detect Google TV
dasevilla authored
853 ##########
037f45f Adds python implementation
Lindsey Simon authored
854 # Misc mobile
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
855 ##########
51fd9d2 @dmolsen webOS related fixes
dmolsen authored
856 - regex: '(hpw|web)OS/(\d+)\.(\d+)(?:\.(\d+))?'
037f45f Adds python implementation
Lindsey Simon authored
857 os_replacement: 'webOS'
3960314 @dmolsen adding support for VRE
dmolsen authored
858 - regex: '(VRE);'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
859
037f45f Adds python implementation
Lindsey Simon authored
860 ##########
861 # Generic patterns
862 # since the majority of os cases are very specific, these go last
863 ##########
e8e5295 @commenthol Better detection of Linux Distributions, Versions
commenthol authored
864 - regex: '(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\b)BSD)[/ ](\d+)\.(\d+)(?:\.(\d+)(?:\.(\d+))?)?'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
865
e8e5295 @commenthol Better detection of Linux Distributions, Versions
commenthol authored
866 # Gentoo Linux + Kernel Version
867 - regex: '(Linux)[ /](\d+)\.(\d+)(?:\.(\d+))?.*gentoo'
868 os_replacement: 'Gentoo'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
869
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
870 # Opera Mini Bada
871 - regex: '\((Bada);'
872
037f45f Adds python implementation
Lindsey Simon authored
873 # just os
e8e5295 @commenthol Better detection of Linux Distributions, Versions
commenthol authored
874 - regex: '(Windows|Android|WeTab|Maemo)'
875 - regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Gentoo|Mageia|(?:Free|Open|Net|\b)BSD)'
876 # Linux + Kernel Version
877 - regex: '(Linux)(?:[ /](\d+)\.(\d+)(?:\.(\d+))?)?'
bba1b4b @dmolsen Adding support for Solaris
dmolsen authored
878 - regex: 'SunOS'
879 os_replacement: 'Solaris'
037f45f Adds python implementation
Lindsey Simon authored
880
881 device_parsers:
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
882 ##########
883 # incomplete!
884 # multiple replacement placeholds i.e. ($1) ($2) help solve problem of single device with multiple representations in ua
885 # e.g. HTC Dream S should parse to the same device as HTC_DreamS
886 ##########
037f45f Adds python implementation
Lindsey Simon authored
887
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
888 ##########
889 # incomplete!
890 # HTC
891 # http://en.wikipedia.org/wiki/List_of_HTC_phones
892 # this is quickly getting unwieldy
893 ##########
894 # example: Mozilla/5.0 (Linux; U; Android 2.3.2; fr-fr; HTC HD2 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
895 - regex: 'HTC ([A-Z][a-z0-9]+) Build'
896 device_replacement: 'HTC $1'
897 # example: Mozilla/5.0 (Linux; U; Android 2.1; es-es; HTC Legend 1.23.161.1 Build/ERD79) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17,gzip
898 - regex: 'HTC ([A-Z][a-z0-9 ]+) \d+\.\d+\.\d+\.\d+'
899 device_replacement: 'HTC $1'
900 # example: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; HTC_Touch_Diamond2_T5353; Windows Phone 6.5.3.5)
901 - regex: 'HTC_Touch_([A-Za-z0-9]+)'
902 device_replacement: 'HTC Touch ($1)'
903 # should come after HTC_Touch
904 - regex: 'USCCHTC(\d+)'
905 device_replacement: 'HTC $1 (US Cellular)'
906 - regex: 'Sprint APA(9292)'
907 device_replacement: 'HTC $1 (Sprint)'
908 - regex: 'HTC ([A-Za-z0-9]+ [A-Z])'
909 device_replacement: 'HTC $1'
910 - regex: 'HTC[-_/\s]([A-Za-z0-9]+)'
911 device_replacement: 'HTC $1'
912 - regex: '(ADR[A-Za-z0-9]+)'
913 device_replacement: 'HTC $1'
914 - regex: '(HTC)'
4a1a648 Remove is_ bools from tests + python. Also reindent python
Lindsey Simon authored
915
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
916 # Tesla Model S
917 - regex: '(QtCarBrowser)'
918 device_replacement: 'Tesla Model S'
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
919
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
920 # Samsung
921 - regex: '(SamsungSGHi560)'
922 device_replacement: 'Samsung SGHi560'
923
924 - regex: '(SCH-[A-Za-z0-9_-]+)'
925 device_replacement: 'Samsung $1'
926
927 - regex: '(SGH-[A-Za-z0-9_-]+)'
928 device_replacement: 'Samsung $1'
929
930 - regex: '(GT-[A-Za-z0-9_-]+)'
931 device_replacement: 'Samsung $1'
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
932
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
933 - regex: '(SM-[A-Za-z0-9_-]+)'
934 device_replacement: 'Samsung $1'
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
935
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
936 - regex: '(SPH-[A-Za-z0-9_-]+)'
937 device_replacement: 'Samsung $1'
669424b @bluesmoon Add Samsung SGHi560
bluesmoon authored
938
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
939 - regex: 'SAMSUNG-([A-Za-z0-9_-]+)'
940 device_replacement: 'Samsung $1'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
941
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
942 - regex: 'SAMSUNG ([A-Za-z0-9_-]+)'
943 device_replacement: 'Samsung $1'
944
945
2907558 @commenthol current state brand model parsing
commenthol authored
946 #########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
947 # Ericsson - must come before nokia since they also use symbian
2907558 @commenthol current state brand model parsing
commenthol authored
948 #########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
949 - regex: 'SonyEricsson([A-Za-z0-9]+)/'
950 device_replacement: 'Ericsson $1'
4082ddd @dmolsen adding support for PlayStation Vita and its NetFront NX browser
dmolsen authored
951
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
952 ##########
953 # PlayStation
954 # The Vita spoofs the Kindle
955 ##########
956 - regex: 'PLAYSTATION 3'
957 device_replacement: 'PlayStation 3'
958 - regex: '(PlayStation (:?Portable|Vita))'
959 - regex: '(PlayStation (:?\d+))'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
960
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
961 ##########
962 # incomplete!
963 # Kindle
964 # http://amazonsilk.wordpress.com/useful-bits/silk-user-agent/
965 ##########
966 - regex: '(KFOT Build)'
967 device_replacement: 'Kindle Fire'
968 - regex: '(KFTT Build)'
969 device_replacement: 'Kindle Fire HD'
970 - regex: '(KFJWI Build)'
971 device_replacement: 'Kindle Fire HD 8.9" WiFi'
972 - regex: '(KFJWA Build)'
973 device_replacement: 'Kindle Fire HD 8.9" 4G'
974 - regex: '(KFSOWI Build)'
975 device_replacement: 'Kindle Fire HD 7" WiFi'
976 - regex: '(KFTHWI Build)'
977 device_replacement: 'Kindle Fire HDX 7" WiFi'
978 - regex: '(KFTHWA Build)'
979 device_replacement: 'Kindle Fire HDX 7" 4G'
980 - regex: '(KFAPWI Build)'
981 device_replacement: 'Kindle Fire HDX 8.9" WiFi'
982 - regex: '(KFAPWA Build)'
983 device_replacement: 'Kindle Fire HDX 8.9" 4G'
984 - regex: '(Kindle Fire)'
985 - regex: '(Kindle)'
986 - regex: '(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+))?'
987 device_replacement: 'Kindle Fire'
988
989
037f45f Adds python implementation
Lindsey Simon authored
990
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
991 ##########
992 # NOKIA
993 # nokia NokiaN8-00 comes before iphone. sometimes spoofs iphone
994 ##########
995 - regex: 'NokiaN([0-9]+)'
996 device_replacement: 'Nokia N$1'
997 - regex: 'NOKIA([A-Za-z0-9\v-]+)'
998 device_replacement: 'Nokia $1'
999 - regex: 'Nokia([A-Za-z0-9\v-]+)'
1000 device_replacement: 'Nokia $1'
1001 - regex: 'NOKIA ([A-Za-z0-9\-]+)'
1002 device_replacement: 'Nokia $1'
1003 - regex: 'Nokia ([A-Za-z0-9\-]+)'
1004 device_replacement: 'Nokia $1'
1005 - regex: 'Lumia ([A-Za-z0-9\-]+)'
1006 device_replacement: 'Lumia $1'
1007 - regex: 'Symbian'
1008 device_replacement: 'Nokia'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1009
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1010 ##########
1011 # BlackBerry
1012 # http://www.useragentstring.com/pages/BlackBerry/
1013 ##########
1014 - regex: 'BB10; ([A-Za-z0-9\- ]+)\)'
1015 device_replacement: 'BlackBerry $1'
1016 - regex: '(PlayBook).+RIM Tablet OS'
1017 device_replacement: 'BlackBerry Playbook'
1018 - regex: 'Black[Bb]erry ([0-9]+);'
1019 device_replacement: 'BlackBerry $1'
1020 - regex: 'Black[Bb]erry([0-9]+)'
1021 device_replacement: 'BlackBerry $1'
1022 - regex: 'Black[Bb]erry;'
1023 device_replacement: 'BlackBerry'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1024
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1025 ##########
1026 # PALM / HP
1027 ##########
1028 # some palm devices must come before iphone. sometimes spoofs iphone in ua
1029 - regex: '(Pre)/(\d+)\.(\d+)'
1030 device_replacement: 'Palm Pre'
1031 - regex: '(Pixi)/(\d+)\.(\d+)'
1032 device_replacement: 'Palm Pixi'
1033 - regex: '(Touch[Pp]ad)/(\d+)\.(\d+)'
1034 device_replacement: 'HP TouchPad'
1035 - regex: 'HPiPAQ([A-Za-z0-9]+)/(\d+).(\d+)'
1036 device_replacement: 'HP iPAQ $1'
1037 - regex: 'Palm([A-Za-z0-9]+)'
1038 device_replacement: 'Palm $1'
1039 - regex: 'Treo([A-Za-z0-9]+)'
1040 device_replacement: 'Palm Treo $1'
1041 - regex: 'webOS.*(P160UNA)/(\d+).(\d+)'
1042 device_replacement: 'HP Veer'
cdbdde3 @stephenwalz Added AppleTV detection
stephenwalz authored
1043
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1044 ##########
1045 # AppleTV
1046 # No built in browser that I can tell
1047 # Stack Overflow indicated iTunes-AppleTV/4.1 as a known UA for app available and I'm seeing it in live traffic
1048 ##########
1049 - regex: '(AppleTV)'
1050 device_replacement: 'AppleTV'
1ed8a5f Update regexes for Google Mobile Adsbot and Magpie Crawler
Andrew Selder authored
1051
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1052 ##########
1053 # Catch the google mobile crawler before checking for iPhones.
1054 ##########
a2e6dcb @yurigorokhov Adding Googlebot/2.1 as spider
yurigorokhov authored
1055
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1056 - regex: 'AdsBot-Google-Mobile'
1057 device_replacement: 'Spider'
1058
1059 - regex: 'Googlebot-Mobile/(\d+).(\d+)'
1060 device_replacement: 'Spider'
a2e6dcb @yurigorokhov Adding Googlebot/2.1 as spider
yurigorokhov authored
1061
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1062 - regex: 'Googlebot/\d+.\d+'
1063 device_replacement: 'Spider'
82c7af0 @gquinones New entries for Spiders, Espial Smart TV, plus fixes for Windows Phon…
gquinones authored
1064
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1065 - regex: 'NING/(\d+).(\d+)'
1066 device_replacement: 'Spider'
1067
1068 - regex: 'MsnBot-Media /(\d+).(\d+)'
1069 device_replacement: 'Spider'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1070
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1071 ##########
1072 # complete but probably catches spoofs
1073 # iSTUFF
1074 ##########
1075 # ipad and ipod must be parsed before iphone
1076 # cannot determine specific device type from ua string. (3g, 3gs, 4, etc)
1077 - regex: '(iPad) Simulator;'
1078 - regex: '(iPad);'
1079 - regex: '(iPod) touch;'
1080 - regex: '(iPod);'
1081 - regex: '(iPhone) Simulator;'
1082 - regex: '(iPhone);'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1083
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1084 ##########
1085 # Acer
1086 ##########
1087 - regex: 'acer_([A-Za-z0-9]+)_'
1088 device_replacement: 'Acer $1'
1089 - regex: 'acer_([A-Za-z0-9]+)_'
1090 device_replacement: 'Acer $1'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1091
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1092 ##########
1093 # Alcatel
1094 ##########
1095 - regex: 'ALCATEL-([A-Za-z0-9]+)'
1096 device_replacement: 'Alcatel $1'
1097 - regex: 'Alcatel-([A-Za-z0-9]+)'
1098 device_replacement: 'Alcatel $1'
1099 - regex: 'ALCATEL_ONE_TOUCH_([A-Za-z0-9]+)'
1100 device_replacement: 'Alcatel ONE TOUCH $1'
1101 - regex: 'ALCATEL (ONE TOUCH [A-Za-z0-9]+)'
1102 device_replacement: 'Alcatel $1'
1103 - regex: 'ALCATEL (one touch [A-Za-z0-9]+)'
1104 device_replacement: 'Alcatel $1'
1105 - regex: 'ALCATEL ([A-Za-z0-9]+)'
1106 device_replacement: 'Alcatel $1'
1107 ##########
1108 # Amoi
1109 ##########
1110 - regex: 'Amoi\-([A-Za-z0-9]+)'
1111 device_replacement: 'Amoi $1'
1112 - regex: 'AMOI\-([A-Za-z0-9]+)'
1113 device_replacement: 'Amoi $1'
2907558 @commenthol current state brand model parsing
commenthol authored
1114
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1115 ##########
1116 # Amoi
1117 ##########
1118 - regex: 'Asus\-([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1119 device_replacement: 'Asus $1'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1120 - regex: 'ASUS\-([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1121 device_replacement: 'Asus $1'
1122
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1123 ##########
1124 # Bird
1125 ##########
1126 - regex: 'BIRD\-([A-Za-z0-9]+)'
1127 device_replacement: 'Bird $1'
1128 - regex: 'BIRD\.([A-Za-z0-9]+)'
1129 device_replacement: 'Bird $1'
1130 - regex: 'BIRD ([A-Za-z0-9]+)'
1131 device_replacement: 'Bird $1'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1132
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1133 ##########
1134 # Dell
1135 ##########
1136 - regex: 'Dell ([A-Za-z0-9]+)'
1137 device_replacement: 'Dell $1'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1138
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1139 ##########
1140 # DoCoMo
1141 ##########
1142 - regex: 'DoCoMo/2\.0 ([A-Za-z0-9]+)'
1143 device_replacement: 'DoCoMo $1'
1144 - regex: '([A-Za-z0-9]+)_W\;FOMA'
1145 device_replacement: 'DoCoMo $1'
1146 - regex: '([A-Za-z0-9]+)\;FOMA'
1147 device_replacement: 'DoCoMo $1'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1148
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1149 ##########
1150 # Huawei
1151 ##########
1152 - regex: 'Huawei([A-Za-z0-9]+)'
1153 device_replacement: 'Huawei $1'
1154 - regex: 'HUAWEI-([A-Za-z0-9]+)'
1155 device_replacement: 'Huawei $1'
1156 - regex: 'vodafone([A-Za-z0-9]+)'
1157 device_replacement: 'Huawei Vodafone $1'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1158
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1159 ##########
1160 # i-mate
1161 ##########
1162 - regex: 'i\-mate ([A-Za-z0-9]+)'
1163 device_replacement: 'i-mate $1'
2907558 @commenthol current state brand model parsing
commenthol authored
1164
1165 ##########
1166 # kyocera
1167 ##########
1168 - regex: 'Kyocera\-([A-Za-z0-9]+)'
1169 device_replacement: 'Kyocera $1'
bf55ac4 @sjiang A-z -> A-Za-z to avoid matching "[\]^_`"
sjiang authored
1170 - regex: 'KWC\-([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1171 device_replacement: 'Kyocera $1'
1172
1173 ##########
1174 # lenovo
1175 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1176 - regex: 'Lenovo\-([A-Za-z0-9]+)'
1177 device_replacement: 'Lenovo $1'
1178 - regex: 'Lenovo_([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1179 device_replacement: 'Lenovo $1'
1180
1181 ##########
8507910 @jpvincent Set HbbTV as a device family
jpvincent authored
1182 # HbbTV (European and Australian standard)
1183 # written before the LG regexes, as LG is making HbbTV too
1184 ##########
1185 - regex: '(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+'
1186
1187 ##########
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1188 # lg
1189 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1190 - regex: 'LG/([A-Za-z0-9]+)'
1191 device_replacement: 'LG $1'
1192 - regex: 'LG-LG([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1193 device_replacement: 'LG $1'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1194 - regex: 'LGE-LG([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1195 device_replacement: 'LG $1'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1196 - regex: 'LGE VX([A-Za-z0-9]+)'
1197 device_replacement: 'LG $1'
1198 - regex: 'LG ([A-Za-z0-9]+)'
1199 device_replacement: 'LG $1'
1200 - regex: 'LGE LG\-AX([A-Za-z0-9]+)'
1201 device_replacement: 'LG $1'
1202 - regex: 'LG\-([A-Za-z0-9]+)'
1203 device_replacement: 'LG $1'
1204 - regex: 'LGE\-([A-Za-z0-9]+)'
1205 device_replacement: 'LG $1'
1206 - regex: 'LG([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1207 device_replacement: 'LG $1'
1208
1209 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1210 # kin
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1211 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1212 - regex: '(KIN)\.One (\d+)\.(\d+)'
1213 device_replacement: 'Microsoft $1'
1214 - regex: '(KIN)\.Two (\d+)\.(\d+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1215 device_replacement: 'Microsoft $1'
1216
1217 ##########
1218 # motorola
1219 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1220 - regex: '(Motorola)\-([A-Za-z0-9]+)'
2907558 @commenthol current state brand model parsing
commenthol authored
1221 - regex: 'MOTO\-([A-Za-z0-9]+)'
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
1222 device_replacement: 'Motorola $1'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1223 - regex: 'MOT\-([A-Za-z0-9]+)'
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
1224 device_replacement: 'Motorola $1'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1225 - regex: ' (DROID RAZR [A-Za-z0-9 ]+) '
1226 device_replacement: 'Motorola $1'
1227 - regex: ' (DROID[2 ][A-Za-z0-9 ]+) '
1228 device_replacement: 'Motorola $1'
1229 - regex: ' (Droid2| )'
1230 device_replacement: 'Motorola $1'
1231 - regex: ' (DROID2| )'
1232 device_replacement: 'Motorola $1'
1233
1c79f59 @dmolsen updating that netfront nx is the browser for the nintendo 3ds. added …
dmolsen authored
1234 ##########
1235 # nintendo
1236 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1237 - regex: '(Nintendo WiiU)'
861a137 @dmolsen adding support for nintendo wii u and its netfront nx browser
dmolsen authored
1238 device_replacement: 'Nintendo Wii U'
c555c38 @dmolsen refactoring the nintendo device regex.
dmolsen authored
1239 - regex: 'Nintendo (DS|3DS|DSi|Wii);'
1240 device_replacement: 'Nintendo $1'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1241
1242 ##########
3ad714a @dmolsen adding support for pantech devices
dmolsen authored
1243 # pantech
1244 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1245 - regex: 'Pantech([A-Za-z0-9]+)'
3ad714a @dmolsen adding support for pantech devices
dmolsen authored
1246 device_replacement: 'Pantech $1'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1247
3ad714a @dmolsen adding support for pantech devices
dmolsen authored
1248 ##########
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1249 # philips
1250 ##########
bf55ac4 @sjiang A-z -> A-Za-z to avoid matching "[\]^_`"
sjiang authored
1251 - regex: 'Philips([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1252 device_replacement: 'Philips $1'
bf55ac4 @sjiang A-z -> A-Za-z to avoid matching "[\]^_`"
sjiang authored
1253 - regex: 'Philips ([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1254 device_replacement: 'Philips $1'
1255
1256 ##########
1257 # Samsung
1258 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1259 - regex: 'SAMSUNG-([A-Za-z0-9\-]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1260 device_replacement: 'Samsung $1'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1261 - regex: 'SAMSUNG\; ([A-Za-z0-9\-]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1262 device_replacement: 'Samsung $1'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1263
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
1264 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1265 # ZTE
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
1266 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1267 - regex: 'ZTE-([A-Za-z0-9\-]+)'
1268 device_replacement: 'ZTE $1'
1269 - regex: 'ZTE ([A-Za-z0-9\-]+)'
1270 device_replacement: 'ZTE $1'
1271 - regex: 'ZTE_([A-Za-z0-9\-]+)'
1272 device_replacement: 'ZTE $1'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1273
1274 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1275 # Sega
058cd05 @dmolsen adding support for the sega dreamcast and its browser, planetweb
dmolsen authored
1276 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1277 - regex: 'Dreamcast'
1278 device_replacement: 'Sega Dreamcast'
058cd05 @dmolsen adding support for the sega dreamcast and its browser, planetweb
dmolsen authored
1279
1280 ##########
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1281 # Softbank
1282 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1283 - regex: 'Softbank/1\.0/([A-Za-z0-9]+)'
1284 device_replacement: 'Softbank $1'
1285 - regex: 'Softbank/2\.0/([A-Za-z0-9]+)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1286 device_replacement: 'Softbank $1'
1287
1288 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1289 # SONY #
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
1290 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1291 - regex: 'Sony([^ ]+) '
1292 device_replacement: 'Sony $1'
1293
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
1294 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1295 # WebTV
b71a80f @dmolsen adding support for WebTV
dmolsen authored
1296 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1297 - regex: '(WebTV)/(\d+).(\d+)'
b71a80f @dmolsen adding support for WebTV
dmolsen authored
1298
3d7dff1 @cjnoyescrisp Add manuafacturer info, fix too greedy regexes, improve andoid device…
cjnoyescrisp authored
1299 #########
1300 # Android General Device Matching (far from perfect)
1301 #########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1302 - regex: 'Android[\- ][\d]+\.[\d]+\.[\d]+; [^;]+; ([A-Za-z0-9 _-]+) '
1303 - regex: 'Android[\- ][\d]+\.[\d]+; [^;]+; ([A-Za-z0-9 _-]+) '
1304 - regex: 'Android[\- ][\d]+\.[\d]+; [^;]+; WOWMobile ([A-Za-z0-9 _-]+) '
1305 - regex: 'Android[\- ][\d]+\.[\d]+\-update1; [^;]+; ([A-Za-z0-9 _-]+) '
1306 - regex: 'Android[\- ][\d]+\.[\d]+\.[\d]+;[^;]+;([A-Za-z0-9 _-]+) '
1307 - regex: 'Android[\- ][\d]+\.[\d]+\.[\d]+; ([A-Za-z0-9 _-]+) '
1308 - regex: 'Android[\- ][\d]+\.[\d]+; ([A-Za-z0-9 _-]+) '
1309 - regex: 'Android[\- ][\d]+\.[\d]+\.[\d]+; [^;]+; ([A-Za-z0-9\.\/_-]+) '
1310 - regex: 'Android[\- ][\d]+\.[\d]+; [^;]+; ([A-Za-z0-9\.\/_-]+) '
1311
b71a80f @dmolsen adding support for WebTV
dmolsen authored
1312 ##########
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1313 # Generic Smart Phone
1314 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1315 - regex: '(hiptop|avantgo|plucker|xiino|blazer|elaine|up.browser|up.link|mmp|smartphone|midp|wap|vodafone|o2|pocket|mobile|pda)'
1316 device_replacement: "Generic Smartphone"
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1317
1318 ##########
1319 # Generic Feature Phone
1320 ##########
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1321 - regex: '^(1207|3gso|4thp|501i|502i|503i|504i|505i|506i|6310|6590|770s|802s|a wa|acer|acs\-|airn|alav|asus|attw|au\-m|aur |aus |abac|acoo|aiko|alco|alca|amoi|anex|anny|anyw|aptu|arch|argo|bell|bird|bw\-n|bw\-u|beck|benq|bilb|blac|c55/|cdm\-|chtm|capi|comp|cond|craw|dall|dbte|dc\-s|dica|ds\-d|ds12|dait|devi|dmob|doco|dopo|el49|erk0|esl8|ez40|ez60|ez70|ezos|ezze|elai|emul|eric|ezwa|fake|fly\-|fly_|g\-mo|g1 u|g560|gf\-5|grun|gene|go.w|good|grad|hcit|hd\-m|hd\-p|hd\-t|hei\-|hp i|hpip|hs\-c|htc |htc\-|htca|htcg)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1322 device_replacement: 'Generic Feature Phone'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1323 - regex: '^(htcp|htcs|htct|htc_|haie|hita|huaw|hutc|i\-20|i\-go|i\-ma|i230|iac|iac\-|iac/|ig01|im1k|inno|iris|jata|java|kddi|kgt|kgt/|kpt |kwc\-|klon|lexi|lg g|lg\-a|lg\-b|lg\-c|lg\-d|lg\-f|lg\-g|lg\-k|lg\-l|lg\-m|lg\-o|lg\-p|lg\-s|lg\-t|lg\-u|lg\-w|lg/k|lg/l|lg/u|lg50|lg54|lge\-|lge/|lynx|leno|m1\-w|m3ga|m50/|maui|mc01|mc21|mcca|medi|meri|mio8|mioa|mo01|mo02|mode|modo|mot |mot\-|mt50|mtp1|mtv |mate|maxo|merc|mits|mobi|motv|mozz|n100|n101|n102|n202|n203|n300|n302|n500|n502|n505|n700|n701|n710|nec\-|nem\-|newg|neon)'
cf689e1 Update to dmolen's regexes.yaml.
Lindsey Simon authored
1324 device_replacement: 'Generic Feature Phone'
1325 - regex: '^(netf|noki|nzph|o2 x|o2\-x|opwv|owg1|opti|oran|ot\-s|p800|pand|pg\-1|pg\-2|pg\-3|pg\-6|pg\-8|pg\-c|pg13|phil|pn\-2|pt\-g|palm|pana|pire|pock|pose|psio|qa\-a|qc\-2|qc\-3|qc\-5|qc\-7|qc07|qc12|qc21|qc32|qc60|qci\-|qwap|qtek|r380|r600|raks|rim9|rove|s55/|sage|sams|sc01|sch\-|scp\-|sdk/|se47|sec\-|sec0|sec1|semc|sgh\-|shar|sie\-|sk\-0|sl45|slid|smb3|smt5|sp01|sph\-|spv |spv\-|sy01|samm|sany|sava|scoo|send|siem|smar|smit|soft|sony|t\-mo|t218|t250|t600|t610|t618|tcl\-|tdg\-|telm|tim\-|ts70|tsm\-|tsm3|tsm5|tx\-9|tagt)'
1326 device_replacement: 'Generic Feature Phone'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1327 - regex: '^(talk|teli|topl|tosh|up.b|upg1|utst|v400|v750|veri|vk\-v|vk40|vk50|vk52|vk53|vm40|vx98|virg|vite|voda|vulc|w3c |w3c\-|wapj|wapp|wapu|wapm|wig |wapi|wapr|wapv|wapy|wapa|waps|wapt|winc|winw|wonu|x700|xda2|xdag|yas\-|your|zte\-|zeto|aste|audi|avan|blaz|brew|brvw|bumb|ccwa|cell|cldc|cmd\-|dang|eml2|fetc|hipt|http|ibro|idea|ikom|ipaq|jbro|jemu|jigs|keji|kyoc|kyok|libw|m\-cr|midp|mmef|moto|mwbp|mywa|newt|nok6|o2im|pant|pdxg|play|pluc|port|prox|rozo|sama|seri|smal|symb|treo|upsi|vx52|vx53|vx60|vx61|vx70|vx80|vx81|vx83|vx85|wap\-|webc|whit|wmlb|xda\-|xda_)'
e8b5450 @cmr I don't even know how that hapened
cmr authored
1328 device_replacement: 'Generic Feature Phone'
8bc22f7 @tobie Revert "Current State Brand-Model Parsing"
authored
1329
1330 ##########
1331 # Spiders (this is hack...)
1332 ##########
1333 - 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|Daumoa|EtaoSpider|A6\-Indexer|YisouSpider|Riddler|DBot|wsr\-agent|Xenu|SeznamBot|PaperLiBot|SputnikBot|CCBot|ProoXiBot|Scrapy|Genieo|Screaming Frog|YahooCacheSystem|CiBra|Nutch)'
1334 device_replacement: 'Spider'
1335
Something went wrong with that request. Please try again.