device_detector 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +4 -5
- data/CHANGELOG.md +3 -0
- data/README.md +5 -5
- data/Rakefile +13 -0
- data/lib/device_detector/version.rb +1 -1
- data/regexes/bots.yml +89 -2
- data/regexes/client/browser_engine.yml +3 -0
- data/regexes/client/browsers.yml +325 -76
- data/regexes/client/feed_readers.yml +6 -0
- data/regexes/client/libraries.yml +9 -0
- data/regexes/client/mobile_apps.yml +40 -1
- data/regexes/client/pim.yml +5 -0
- data/regexes/device/mobiles.yml +1607 -431
- data/regexes/oss.yml +1 -1
- data/regexes/vendorfragments.yml +1 -1
- data/spec/device_detector/concrete_user_agent_spec.rb +16 -17
- data/spec/device_detector/device_spec.rb +25 -25
- data/spec/device_detector/memory_cache_spec.rb +19 -19
- data/spec/device_detector/model_extractor_spec.rb +3 -3
- data/spec/device_detector/version_extractor_spec.rb +5 -6
- data/spec/device_detector_spec.rb +26 -26
- data/spec/fixtures/client/browser.yml +655 -322
- data/spec/fixtures/client/feed_reader.yml +39 -45
- data/spec/fixtures/client/library.yml +24 -11
- data/spec/fixtures/client/mediaplayer.yml +29 -28
- data/spec/fixtures/client/mobile_app.yml +100 -41
- data/spec/fixtures/client/pim.yml +32 -19
- data/spec/fixtures/detector/bots.yml +140 -23
- data/spec/fixtures/detector/camera.yml +2 -2
- data/spec/fixtures/detector/console.yml +3 -3
- data/spec/fixtures/detector/desktop.yml +312 -73
- data/spec/fixtures/detector/feature_phone.yml +48 -0
- data/spec/fixtures/detector/feed_reader.yml +141 -126
- data/spec/fixtures/detector/mediaplayer.yml +39 -38
- data/spec/fixtures/detector/mobile_apps.yml +86 -85
- data/spec/fixtures/detector/phablet.yml +715 -236
- data/spec/fixtures/detector/portable_media_player.yml +17 -0
- data/spec/fixtures/detector/smartphone-1.yml +3534 -3512
- data/spec/fixtures/detector/smartphone-10.yml +3848 -6286
- data/spec/fixtures/detector/smartphone-11.yml +5548 -3298
- data/spec/fixtures/detector/smartphone-12.yml +8655 -0
- data/spec/fixtures/detector/smartphone-2.yml +3645 -3625
- data/spec/fixtures/detector/smartphone-3.yml +4099 -4176
- data/spec/fixtures/detector/smartphone-4.yml +3861 -3865
- data/spec/fixtures/detector/smartphone-5.yml +3991 -4037
- data/spec/fixtures/detector/smartphone-6.yml +4074 -4047
- data/spec/fixtures/detector/smartphone-7.yml +4355 -4362
- data/spec/fixtures/detector/smartphone-8.yml +4087 -4136
- data/spec/fixtures/detector/smartphone-9.yml +4420 -4408
- data/spec/fixtures/detector/smartphone.yml +2900 -2904
- data/spec/fixtures/detector/tablet-1.yml +3946 -3912
- data/spec/fixtures/detector/tablet-2.yml +3593 -3617
- data/spec/fixtures/detector/tablet-3.yml +2738 -85
- data/spec/fixtures/detector/tablet.yml +3604 -3616
- data/spec/fixtures/detector/tv.yml +131 -51
- data/spec/fixtures/detector/unknown.yml +64 -27
- data/spec/fixtures/device/camera.yml +4 -3
- data/spec/fixtures/device/car_browser.yml +3 -2
- data/spec/fixtures/device/console.yml +15 -14
- metadata +4 -2
@@ -47,6 +47,12 @@
|
|
47
47
|
url: 'http://www.chebinliu.com/projects/iphone/feeddler-rss-reader/'
|
48
48
|
type: 'Feed Reader App'
|
49
49
|
|
50
|
+
- regex: 'QuiteRSS(?:[/ ](\d+[\.\d]+))?'
|
51
|
+
name: 'QuiteRSS'
|
52
|
+
version: '$1'
|
53
|
+
url: https://quiterss.org
|
54
|
+
type: 'Feed Reader App'
|
55
|
+
|
50
56
|
- regex: 'gPodder/([\d\.]+)'
|
51
57
|
name: 'gPodder'
|
52
58
|
version: '$1'
|
@@ -82,3 +82,12 @@
|
|
82
82
|
- regex: 'HTTPie(?:/(\d+[\.\d]+))?'
|
83
83
|
name: 'HTTPie'
|
84
84
|
version: '$1'
|
85
|
+
|
86
|
+
- regex: 'rest-client/(\d+[\.\d]+).*ruby'
|
87
|
+
name: 'REST Client for Ruby'
|
88
|
+
version: '$1'
|
89
|
+
|
90
|
+
- regex: 'RestSharp/(\d+[\.\d]+)'
|
91
|
+
name: 'RestSharp'
|
92
|
+
version: '$1'
|
93
|
+
url: 'http://restsharp.org/'
|
@@ -165,4 +165,43 @@
|
|
165
165
|
regex: 'RSSRadio/([\d]+)?'
|
166
166
|
name: 'RSSRadio'
|
167
167
|
version: '$1'
|
168
|
-
|
168
|
+
-
|
169
|
+
regex: 'SogouSearch Android[\d\.]+ version([\d\.]+)?'
|
170
|
+
name: 'SogouSearch App'
|
171
|
+
version: '$1'
|
172
|
+
-
|
173
|
+
regex: 'NewsArticle/([\d\.]+)?'
|
174
|
+
name: 'NewsArticle App'
|
175
|
+
version: '$1'
|
176
|
+
-
|
177
|
+
regex: 'tieba/([\d\.]+)?'
|
178
|
+
name: 'tieba'
|
179
|
+
version: '$1'
|
180
|
+
-
|
181
|
+
regex: 'com\.douban\.group/([\d\.]+)?'
|
182
|
+
name: 'douban App'
|
183
|
+
version: '$1'
|
184
|
+
-
|
185
|
+
regex: 'BingWeb/([\d\.]+)?'
|
186
|
+
name: 'BingWebApp'
|
187
|
+
version: '$1'
|
188
|
+
-
|
189
|
+
regex: 'GSA/([\d\.]+)?'
|
190
|
+
name: 'Google Search App'
|
191
|
+
version: '$1'
|
192
|
+
-
|
193
|
+
regex: 'Flipboard/([\d\.]+)?'
|
194
|
+
name: 'Flipboard App'
|
195
|
+
version: '$1'
|
196
|
+
-
|
197
|
+
regex: 'Instagram[ /]([\d\.]+)?'
|
198
|
+
name: 'Instagram App'
|
199
|
+
version: '$1'
|
200
|
+
-
|
201
|
+
regex: 'baiduboxapp/([\d\.]+)?'
|
202
|
+
name: 'Baidu Box App'
|
203
|
+
version: '$1'
|
204
|
+
-
|
205
|
+
regex: 'Crosswalk(?!.*Streamy)/([\d\.]+)?'
|
206
|
+
name: 'CrosswalkApp'
|
207
|
+
version: '$1'
|
data/regexes/client/pim.yml
CHANGED
data/regexes/device/mobiles.yml
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
'Tunisie Telecom':
|
9
9
|
regex: 'StarTrail TT[);/ ]'
|
10
10
|
device: 'smartphone'
|
11
|
-
model: 'StarTrail'
|
11
|
+
model: 'StarTrail by TT'
|
12
12
|
|
13
13
|
# SFR
|
14
14
|
SFR:
|
@@ -29,6 +29,8 @@ SFR:
|
|
29
29
|
model: 'StarShine 2' # ZTE
|
30
30
|
- regex: 'StarShine[);/ ]'
|
31
31
|
model: 'StarShine' # Huawei U8180
|
32
|
+
- regex: 'STARADDICT 4[);/ ]'
|
33
|
+
model: 'Staraddict 4'
|
32
34
|
- regex: 'STARADDICT III[);/ ]'
|
33
35
|
model: 'Staraddict 3' # Coolpad 8861U
|
34
36
|
- regex: 'STARADDICT II Plus[);/ ]'
|
@@ -54,10 +56,12 @@ SFR:
|
|
54
56
|
|
55
57
|
# HTC
|
56
58
|
HTC:
|
57
|
-
regex: 'HTC|Sprint (?:APA|ATP)|ADR(?!910L)[a-z0-9]+|NexusHD2|Amaze[ _]4G[);/ ]|(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/]+) Build|(Amaze[ _]4G|One ?[XELSV\+]+)[);/ ]|SPV E6[05]0|One M8|X525a|PG86100|PC36100|XV6975|PJ83100[);/ ]|2PYB2|0PJA10|0PJA2'
|
59
|
+
regex: 'HTC|Sprint (?:APA|ATP)|ADR(?!910L)[a-z0-9]+|NexusHD2|Amaze[ _]4G[);/ ]|(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/]+) Build|(Amaze[ _]4G|One ?[XELSV\+]+)[);/ ]|SPV E6[05]0|One M8|X525a|PG86100|PC36100|XV6975|PJ83100[);/ ]|2PYB2|2PZC5|0PJA10|0PJA2'
|
58
60
|
device: 'smartphone'
|
59
61
|
models:
|
60
62
|
# explicit smartphone models
|
63
|
+
- regex: '2PZC5[);/ ]'
|
64
|
+
model: 'U11'
|
61
65
|
- regex: 'XV6975[);/ ]'
|
62
66
|
model: 'Imagio'
|
63
67
|
- regex: 'PG86100[);/ ]'
|
@@ -127,40 +131,52 @@ HTC:
|
|
127
131
|
|
128
132
|
# microsoft
|
129
133
|
Microsoft:
|
130
|
-
regex: 'KIN\.(One|Two)|RM-(?:1031|106[57]|109[02]|1096|1099|1109|
|
134
|
+
regex: 'KIN\.(One|Two)|RM-(?:1010|1031|106[57]|107[23467]|1089|109[02]|1096|1099|1109|111[34]|1127|1141|1154|994)|Microsoft; Lumia|Lumia (?:1530|1320|950|850|650|640|550|535|435)'
|
131
135
|
device: 'smartphone'
|
132
136
|
models:
|
133
137
|
- regex: 'KIN\.(One|Two)'
|
134
138
|
device: 'feature phone'
|
135
139
|
model: 'Kin $1'
|
136
140
|
|
137
|
-
- regex: 'RM-
|
138
|
-
model: 'Lumia 532'
|
139
|
-
- regex: 'RM-106[57]'
|
140
|
-
model: 'Lumia 640 XL'
|
141
|
-
- regex: 'RM-1096'
|
142
|
-
model: 'Lumia 640 XL'
|
143
|
-
- regex: 'RM-109[02]'
|
144
|
-
model: 'Lumia 535'
|
145
|
-
- regex: 'RM-1099'
|
141
|
+
- regex: 'RM-1099|Lumia 430'
|
146
142
|
model: 'Lumia 430'
|
147
|
-
- regex: 'RM-
|
148
|
-
model: 'Lumia 640'
|
149
|
-
- regex: 'RM-1114'
|
143
|
+
- regex: 'RM-1114|Lumia 435'
|
150
144
|
model: 'Lumia 435'
|
151
|
-
- regex: 'RM-
|
152
|
-
model: 'Lumia
|
153
|
-
- regex: 'RM-
|
145
|
+
- regex: 'RM-1031|Lumia 532'
|
146
|
+
model: 'Lumia 532'
|
147
|
+
- regex: 'RM-109[02]|RM-1089|Lumia 535'
|
148
|
+
model: 'Lumia 535'
|
149
|
+
- regex: 'RM-1141|Lumia 540'
|
154
150
|
model: 'Lumia 540'
|
155
|
-
- regex: 'RM-
|
151
|
+
- regex: 'RM-1127|Lumia 550'
|
152
|
+
model: 'Lumia 550'
|
153
|
+
- regex: 'RM-1010'
|
154
|
+
model: 'Lumia 638'
|
155
|
+
- regex: 'RM-106[57]|RM-1096|Lumia 640 XL'
|
156
|
+
model: 'Lumia 640 XL'
|
157
|
+
device: 'phablet'
|
158
|
+
- regex: 'RM-1109|RM-1113|RM-107[23467]|Lumia 640'
|
159
|
+
model: 'Lumia 640'
|
160
|
+
- regex: 'RM-1154|Lumia 650'
|
156
161
|
model: 'Lumia 650'
|
162
|
+
- regex: 'Lumia 850'
|
163
|
+
model: 'Lumia 850'
|
164
|
+
- regex: 'Lumia 950 XL'
|
165
|
+
model: 'Lumia 950 XL'
|
166
|
+
device: 'phablet'
|
167
|
+
- regex: 'Lumia 950'
|
168
|
+
model: 'Lumia 950'
|
169
|
+
- regex: 'RM-994|Lumia 1320'
|
170
|
+
model: 'Lumia 1320'
|
171
|
+
- regex: 'Lumia 1530'
|
172
|
+
model: 'Lumia 1530'
|
157
173
|
|
158
174
|
- regex: 'Microsoft; Lumia ([^;/)]+)[;/)]'
|
159
175
|
model: 'Lumia $1'
|
160
176
|
|
161
177
|
# NOKIA
|
162
178
|
Nokia:
|
163
|
-
regex: 'Nokia|Lumia|Maemo RX|portalmmm/2\.0 N7|portalmmm/2\.0 NK|nok[0-9]+|Symbian.*\s([a-z0-9]+)$|RX-51 N900|TA-[0-9]{4}'
|
179
|
+
regex: 'Nokia(?!Browser|Webview|; GT-I8750)|Lumia|Maemo RX|portalmmm/2\.0 N7|portalmmm/2\.0 NK|nok[0-9]+|Symbian.*\s([a-z0-9]+)$|RX-51 N900|TA-[0-9]{4}|ARM; 909'
|
164
180
|
device: 'smartphone'
|
165
181
|
models:
|
166
182
|
# Nokia branded phones by HMD Global
|
@@ -178,12 +194,121 @@ Nokia:
|
|
178
194
|
- regex: 'TA-10(04|12|52)'
|
179
195
|
model: '8'
|
180
196
|
# 2018 Models
|
181
|
-
- regex: 'Nokia
|
182
|
-
model: '
|
197
|
+
- regex: 'Nokia 8\.1'
|
198
|
+
model: '8.1'
|
199
|
+
- regex: 'Nokia 8 Sirocco'
|
200
|
+
model: '8 Sirocco'
|
201
|
+
- regex: 'Nokia 7\.1'
|
202
|
+
model: '7.1'
|
203
|
+
- regex: 'Nokia 7 plus'
|
204
|
+
model: '7 plus'
|
205
|
+
- regex: 'Nokia 6\.1 Plus'
|
206
|
+
model: '6.1 Plus'
|
207
|
+
- regex: 'Nokia 6\.1'
|
208
|
+
model: '6.1'
|
209
|
+
- regex: 'Nokia 5\.1 Plus'
|
210
|
+
model: '5.1 Plus'
|
211
|
+
- regex: 'Nokia 5\.1'
|
212
|
+
model: '5.1'
|
213
|
+
- regex: 'Nokia 3\.1'
|
214
|
+
model: '3.1'
|
215
|
+
- regex: 'Nokia 2\.1'
|
216
|
+
model: '2.1'
|
217
|
+
- regex: 'Nokia 1 Plus'
|
218
|
+
model: '1 Plus'
|
219
|
+
- regex: 'Nokia 1'
|
220
|
+
model: '1'
|
183
221
|
|
184
222
|
# Nokia phones
|
185
223
|
- regex: 'RX-51 N900'
|
186
224
|
model: 'N900'
|
225
|
+
- regex: '(?: )?(Nokia500|nokiaasha500(?:dualsim)?)(?: Build|[_);/])'
|
226
|
+
model: 'Asha 500'
|
227
|
+
- regex: 'Nokia5130c(?:-2)?'
|
228
|
+
model: '5130 XpressMusic'
|
229
|
+
- regex: 'Nokia5230'
|
230
|
+
model: 'Nuron'
|
231
|
+
- regex: 'Nokia5233'
|
232
|
+
model: '5233'
|
233
|
+
- regex: 'Nokia5800d-1'
|
234
|
+
model: '5800 XpressMusic'
|
235
|
+
- regex: 'Nokia6210Navigator'
|
236
|
+
model: 'Navigator'
|
237
|
+
- regex: 'Nokia8800e?'
|
238
|
+
model: 'Sapphire Arte'
|
239
|
+
- regex: 'NOKIA-RH-17'
|
240
|
+
model: '2280'
|
241
|
+
- regex: 'NOKIA-RH-27'
|
242
|
+
model: '6225'
|
243
|
+
- regex: 'NOKIA-RH-34'
|
244
|
+
model: '6585'
|
245
|
+
- regex: 'NOKIA-RH-48'
|
246
|
+
model: '3105'
|
247
|
+
- regex: 'NOKIA-RM-11'
|
248
|
+
model: '3205'
|
249
|
+
- regex: 'Nokia808 PureView'
|
250
|
+
model: '808 PureView'
|
251
|
+
- regex: 'Nokia ?([0-9]{4})c(?:-)?'
|
252
|
+
model: '$1 Classic'
|
253
|
+
- regex: 'Nokia ?([0-9]{4})s(?:-)?'
|
254
|
+
model: '$1 Slide'
|
255
|
+
- regex: 'Nokia ?([0-9]{4})'
|
256
|
+
model: '$1'
|
257
|
+
- regex: '(?: )?Nokia([235][0-9]{2})(?: Build|[_);/])'
|
258
|
+
model: 'Asha $1'
|
259
|
+
- regex: 'Nokia([CEX]-?[0-9]{1,2}i?)-[0-9]{1,2}u?(?: Build|[_);/])'
|
260
|
+
model: '$1'
|
261
|
+
|
262
|
+
- regex: 'Nokia;? 520T'
|
263
|
+
model: 'Lumia 520T'
|
264
|
+
- regex: 'RM-91[45]'
|
265
|
+
model: 'Lumia 520'
|
266
|
+
- regex: 'RM-997|Nokia 526'
|
267
|
+
model: 'Lumia 526'
|
268
|
+
- regex: 'RM-846'
|
269
|
+
model: 'Lumia 620'
|
270
|
+
- regex: 'RM-97[68]'
|
271
|
+
model: 'Lumia 630'
|
272
|
+
- regex: 'RM-97[45]'
|
273
|
+
model: 'Lumia 635'
|
274
|
+
- regex: 'RM-1027'
|
275
|
+
model: 'Lumia 636'
|
276
|
+
- regex: 'NOKIA;? 710'
|
277
|
+
model: 'Lumia 710'
|
278
|
+
- regex: 'Nokia;? 720T'
|
279
|
+
model: 'Lumia 720T'
|
280
|
+
- regex: 'RM-885'
|
281
|
+
model: 'Lumia 720'
|
282
|
+
- regex: 'Lumia 730'
|
283
|
+
model: 'Lumia 730'
|
284
|
+
- regex: 'RM-103[89]'
|
285
|
+
model: 'Lumia 735'
|
286
|
+
- regex: 'Nokia;? 800C'
|
287
|
+
model: 'Lumia 800C'
|
288
|
+
- regex: 'Nokia;? 800'
|
289
|
+
model: 'Lumia 800'
|
290
|
+
- regex: 'Nokia 820'
|
291
|
+
model: 'Lumia 820'
|
292
|
+
- regex: 'RM-984'
|
293
|
+
model: 'Lumia 830'
|
294
|
+
- regex: 'Nokia;? 900'
|
295
|
+
model: 'Lumia 900'
|
296
|
+
- regex: '(RM-82[12]|Nokia;? 920)(?: Build|[_);/])'
|
297
|
+
model: 'Lumia 920'
|
298
|
+
- regex: '(RM-89[23]|RM-910|Nokia;? 925)(?: Build|[a_);/])'
|
299
|
+
model: 'Lumia 925'
|
300
|
+
- regex: 'Lumia 929'
|
301
|
+
model: 'Lumia Icon'
|
302
|
+
- regex: 'RM-1045'
|
303
|
+
model: 'Lumia 930'
|
304
|
+
- regex: '(ARM; 909|NOKIA;? 909|NOKIA; id300)(?: Build|[_);/])'
|
305
|
+
model: 'Lumia 1020'
|
306
|
+
- regex: 'NOKIA;? 1520\.1'
|
307
|
+
model: 'Lumia 1520.1'
|
308
|
+
|
309
|
+
- regex: 'Nokia ([A-Za-z0-9\. ]+)(?: Build|[_);/])'
|
310
|
+
model: '$1'
|
311
|
+
|
187
312
|
- regex: 'Nokia(N[0-9]+)'
|
188
313
|
model: '$1'
|
189
314
|
- regex: 'Nokia-([a-z0-9]+)'
|
@@ -316,117 +441,160 @@ TiPhone:
|
|
316
441
|
|
317
442
|
# Apple
|
318
443
|
Apple:
|
319
|
-
regex: '(?:iTunes-)?Apple[ _]?TV|(?:Apple-|iTunes-)?(?:iPad|iPhone)|iPh[0-9],[0-9]|CFNetwork'
|
444
|
+
regex: '(?:iTunes-)?Apple[ _]?TV|(?:Apple-|iTunes-)?(?<!like )(?:iPad|iPhone)|iPh[0-9],[0-9]|CFNetwork'
|
320
445
|
models:
|
321
446
|
# specific smartphone devices
|
322
|
-
- regex: '(?:Apple-)?iPh(?:one)?1[C,]1'
|
447
|
+
- regex: '(?:Apple-)?iPh(?:one)?1[C,_]1'
|
323
448
|
model: 'iPhone'
|
324
449
|
device: 'smartphone'
|
325
|
-
- regex: '(?:Apple-)?iPh(?:one)?1[C,]2'
|
450
|
+
- regex: '(?:Apple-)?iPh(?:one)?1[C,_]2'
|
326
451
|
model: 'iPhone 3G'
|
327
452
|
device: 'smartphone'
|
328
|
-
- regex: '(?:Apple-)?iPh(?:one)?2[C,]1'
|
453
|
+
- regex: '(?:Apple-)?iPh(?:one)?2[C,_]1'
|
329
454
|
model: 'iPhone 3GS'
|
330
455
|
device: 'smartphone'
|
331
|
-
- regex: '(?:Apple-)?iPh(?:one)?3[C,][123]'
|
456
|
+
- regex: '(?:Apple-)?iPh(?:one)?3[C,_][123]'
|
332
457
|
model: 'iPhone 4'
|
333
458
|
device: 'smartphone'
|
334
|
-
- regex: '(?:Apple-)?iPh(?:one)?4[C,]1'
|
459
|
+
- regex: '(?:Apple-)?iPh(?:one)?4[C,_]1|1C2%254enohPi'
|
335
460
|
model: 'iPhone 4S'
|
336
461
|
device: 'smartphone'
|
337
|
-
- regex: '(?:Apple-)?iPh(?:one)?5[C,][12]'
|
462
|
+
- regex: '(?:Apple-)?iPh(?:one)?5[C,_][12]'
|
338
463
|
model: 'iPhone 5'
|
339
464
|
device: 'smartphone'
|
340
|
-
- regex: '(?:Apple-)?iPh(?:one)?5[C,][34]'
|
465
|
+
- regex: '(?:Apple-)?iPh(?:one)?5[C,_][34]'
|
341
466
|
model: 'iPhone 5C'
|
342
467
|
device: 'smartphone'
|
343
|
-
- regex: '(?:Apple-)?iPh(?:one)?6[C,][12]'
|
468
|
+
- regex: '(?:Apple-)?iPh(?:one)?6[C,_][12]'
|
344
469
|
model: 'iPhone 5S'
|
345
470
|
device: 'smartphone'
|
346
|
-
- regex: '(?:Apple-)?iPh(?:one)?7[C,]1'
|
471
|
+
- regex: '(?:Apple-)?iPh(?:one)?7[C,_]1|1C2%257enohPi'
|
347
472
|
model: 'iPhone 6 Plus'
|
348
473
|
device: 'phablet'
|
349
|
-
- regex: '(?:Apple-)?iPh(?:one)?7[C,]2'
|
474
|
+
- regex: '(?:Apple-)?iPh(?:one)?7[C,_]2'
|
350
475
|
model: 'iPhone 6'
|
351
476
|
device: 'smartphone'
|
352
|
-
- regex: '(?:Apple-)?iPh(?:one)?8[C,]
|
353
|
-
model: 'iPhone 6s'
|
354
|
-
device: 'smartphone'
|
355
|
-
- regex: '(?:Apple-)?iPh(?:one)?8[C,]2'
|
477
|
+
- regex: '(?:Apple-)?iPh(?:one)?8[C,_]2'
|
356
478
|
model: 'iPhone 6s Plus'
|
357
479
|
device: 'phablet'
|
358
|
-
- regex: '(?:Apple-)?iPh(?:one)?8[C,]
|
480
|
+
- regex: '(?:Apple-)?iPh(?:one)?8[C,_]1|iPhone 6s'
|
481
|
+
model: 'iPhone 6s'
|
482
|
+
device: 'smartphone'
|
483
|
+
- regex: '(?:Apple-)?iPh(?:one)?8[C,_]4'
|
359
484
|
model: 'iPhone SE'
|
360
485
|
device: 'smartphone'
|
361
|
-
- regex: '(?:Apple-)?iPh(?:one)?9[C,][13]'
|
486
|
+
- regex: '(?:Apple-)?iPh(?:one)?9[C,_][13]'
|
362
487
|
model: 'iPhone 7'
|
363
488
|
device: 'smartphone'
|
364
|
-
- regex: '(?:Apple-)?iPh(?:one)?9[C,][24]'
|
489
|
+
- regex: '(?:Apple-)?iPh(?:one)?9[C,_][24]'
|
365
490
|
model: 'iPhone 7 Plus'
|
366
491
|
device: 'phablet'
|
367
|
-
- regex: '(?:Apple-)?iPh(?:one)?10[C,][14]'
|
492
|
+
- regex: '(?:Apple-)?iPh(?:one)?10[C,_][14]'
|
368
493
|
model: 'iPhone 8'
|
369
494
|
device: 'smartphone'
|
370
|
-
- regex: '(?:Apple-)?iPh(?:one)?10[C,][25]'
|
495
|
+
- regex: '(?:Apple-)?iPh(?:one)?10[C,_][25]'
|
371
496
|
model: 'iPhone 8 Plus'
|
372
497
|
device: 'phablet'
|
373
|
-
- regex: '(?:Apple-)?iPh(?:one)?10[C,][36]'
|
498
|
+
- regex: '(?:Apple-)?iPh(?:one)?10[C,_][36]|iPhone X'
|
374
499
|
model: 'iPhone X'
|
375
500
|
device: 'phablet'
|
501
|
+
- regex: '(?:Apple-)?iPh(?:one)?11[C,_][2]'
|
502
|
+
model: 'iPhone XS'
|
503
|
+
device: 'smartphone'
|
504
|
+
- regex: '(?:Apple-)?iPh(?:one)?11[C,_][46]'
|
505
|
+
model: 'iPhone XS Max'
|
506
|
+
device: 'phablet'
|
507
|
+
- regex: '(?:Apple-)?iPh(?:one)?11[C,_][8]'
|
508
|
+
model: 'iPhone XR'
|
509
|
+
device: 'smartphone'
|
510
|
+
- regex: '(?:Apple-)?iPh(?:one)?12[C,_][1]'
|
511
|
+
model: 'iPhone 11'
|
512
|
+
device: 'smartphone'
|
513
|
+
- regex: '(?:Apple-)?iPh(?:one)?12[C,_][3]'
|
514
|
+
model: 'iPhone 11 Pro'
|
515
|
+
device: 'phablet'
|
516
|
+
- regex: '(?:Apple-)?iPh(?:one)?12[C,_][5]'
|
517
|
+
model: 'iPhone 11 Pro Max'
|
518
|
+
device: 'phablet'
|
376
519
|
|
377
520
|
# specific tablet devices
|
378
|
-
- regex: '(?:Apple-)?iPad1[C,]1'
|
521
|
+
- regex: '(?:Apple-)?iPad1[C,_]1'
|
379
522
|
model: 'iPad'
|
380
523
|
device: 'tablet'
|
381
|
-
- regex: '(?:Apple-)?iPad2[C,][1234]'
|
524
|
+
- regex: '(?:Apple-)?iPad2[C,_][1234]'
|
382
525
|
model: 'iPad 2'
|
383
526
|
device: 'tablet'
|
384
|
-
- regex: '(?:Apple-)?iPad2[C,][567]'
|
527
|
+
- regex: '(?:Apple-)?iPad2[C,_][567]'
|
385
528
|
model: 'iPad Mini'
|
386
529
|
device: 'tablet'
|
387
|
-
- regex: '(?:Apple-)?iPad3[C,][123]'
|
530
|
+
- regex: '(?:Apple-)?iPad3[C,_][123]'
|
388
531
|
model: 'iPad 3'
|
389
532
|
device: 'tablet'
|
390
|
-
- regex: '(?:Apple-)?iPad3[C,][456]'
|
533
|
+
- regex: '(?:Apple-)?iPad3[C,_][456]'
|
391
534
|
model: 'iPad 4'
|
392
535
|
device: 'tablet'
|
393
|
-
- regex: '(?:Apple-)?iPad4[C,][123]'
|
536
|
+
- regex: '(?:Apple-)?iPad4[C,_][123]'
|
394
537
|
model: 'iPad Air'
|
395
538
|
device: 'tablet'
|
396
|
-
- regex: '(?:Apple-)?iPad4[C,][456]'
|
539
|
+
- regex: '(?:Apple-)?iPad4[C,_][456]'
|
397
540
|
model: 'iPad Mini 2'
|
398
541
|
device: 'tablet'
|
399
|
-
- regex: '(?:Apple-)?iPad4[C,][789]'
|
542
|
+
- regex: '(?:Apple-)?iPad4[C,_][789]'
|
400
543
|
model: 'iPad Mini 3'
|
401
544
|
device: 'tablet'
|
402
|
-
- regex: '(?:Apple-)?iPad5[C,][12]'
|
545
|
+
- regex: '(?:Apple-)?iPad5[C,_][12]'
|
403
546
|
model: 'iPad Mini 4'
|
404
547
|
device: 'tablet'
|
405
|
-
- regex: '(?:Apple-)?iPad5[C,][34]'
|
548
|
+
- regex: '(?:Apple-)?iPad5[C,_][34]'
|
406
549
|
model: 'iPad Air 2'
|
407
550
|
device: 'tablet'
|
408
|
-
- regex: '(?:Apple-)?iPad6[C,][34]'
|
551
|
+
- regex: '(?:Apple-)?iPad6[C,_][34]'
|
409
552
|
model: 'iPad Pro 9.7'
|
410
553
|
device: 'tablet'
|
411
|
-
- regex: '(?:Apple-)?iPad6[C,][78]'
|
554
|
+
- regex: '(?:Apple-)?iPad6[C,_][78]'
|
412
555
|
model: 'iPad Pro 12.9'
|
413
556
|
device: 'tablet'
|
414
|
-
- regex: '(?:Apple-)?iPad6[C,](?:11|12)'
|
415
|
-
model: 'iPad 5'
|
557
|
+
- regex: '(?:Apple-)?iPad6[C,_](?:11|12)'
|
558
|
+
model: 'iPad 5 9.7'
|
416
559
|
device: 'tablet'
|
417
|
-
- regex: '(?:Apple-)?iPad7[C,][12]'
|
560
|
+
- regex: '(?:Apple-)?iPad7[C,_][12]'
|
418
561
|
model: 'iPad Pro 2 12.9'
|
419
562
|
device: 'tablet'
|
420
|
-
- regex: '(?:Apple-)?iPad7[C,][34]'
|
563
|
+
- regex: '(?:Apple-)?iPad7[C,_][34]'
|
421
564
|
model: 'iPad Pro 10.5'
|
422
565
|
device: 'tablet'
|
423
|
-
- regex: '(?:Apple-)?iPad7[C,][56]'
|
424
|
-
model: 'iPad 6'
|
566
|
+
- regex: '(?:Apple-)?iPad7[C,_][56]'
|
567
|
+
model: 'iPad 6 9.7'
|
568
|
+
device: 'tablet'
|
569
|
+
- regex: '(?:Apple-)?iPad7[C,_](?:11|12)'
|
570
|
+
model: 'iPad 7 10.2'
|
571
|
+
device: 'tablet'
|
572
|
+
- regex: '(?:Apple-)?iPad8[C,_][1-4]'
|
573
|
+
model: 'iPad Pro 3 11.0'
|
574
|
+
device: 'tablet'
|
575
|
+
- regex: '(?:Apple-)?iPad8[C,_][5-8]'
|
576
|
+
model: 'iPad Pro 3 12.9'
|
425
577
|
device: 'tablet'
|
426
578
|
|
579
|
+
- regex: 'Apple-?TV2[C,_]1'
|
580
|
+
model: 'Apple TV 2'
|
581
|
+
device: 'tv'
|
582
|
+
- regex: 'Apple-?TV3[C,_][12]'
|
583
|
+
model: 'Apple TV 3'
|
584
|
+
device: 'tv'
|
585
|
+
- regex: 'Apple-?TV5[C,_]3'
|
586
|
+
model: 'Apple TV 4'
|
587
|
+
device: 'tv'
|
588
|
+
- regex: 'Apple-?TV6[C,_]2'
|
589
|
+
model: 'Apple TV 4K'
|
590
|
+
device: 'tv'
|
591
|
+
|
427
592
|
- regex: '(?:iTunes-)?Apple[ _]?TV'
|
428
593
|
model: 'Apple TV'
|
429
594
|
device: 'tv'
|
595
|
+
- regex: 'HomePod'
|
596
|
+
model: 'HomePod'
|
597
|
+
device: 'smart speaker'
|
430
598
|
- regex: 'iTunes-iPad/[0-9]+(?:\.[0-9]+)* \(([^;]+);'
|
431
599
|
model: 'iPad $1'
|
432
600
|
device: 'tablet'
|
@@ -442,7 +610,7 @@ Apple:
|
|
442
610
|
|
443
611
|
# micromax
|
444
612
|
MicroMax:
|
445
|
-
regex: '(?:MicroMax[ \-\_]?[a-z0-9]+|Q327)|P70221 Build'
|
613
|
+
regex: '(?:MicroMax[ \-\_]?[a-z0-9]+|Q327)|P70221 Build|YU(5040|5530)[);/ ]'
|
446
614
|
device: 'smartphone'
|
447
615
|
models:
|
448
616
|
- regex: 'AQ5001'
|
@@ -456,6 +624,10 @@ MicroMax:
|
|
456
624
|
model: 'Bolt'
|
457
625
|
- regex: 'Q417'
|
458
626
|
model: 'Canvas Mega'
|
627
|
+
- regex: 'YU5040[);/ ]'
|
628
|
+
model: 'YU Yureka YU5040'
|
629
|
+
- regex: 'YU5530[);/ ]'
|
630
|
+
model: 'YU Yureka S YU5530'
|
459
631
|
- regex: 'Q424'
|
460
632
|
model: 'Bolt Selfie'
|
461
633
|
- regex: 'Q426'
|
@@ -468,9 +640,23 @@ MicroMax:
|
|
468
640
|
|
469
641
|
# 3Q
|
470
642
|
3Q:
|
471
|
-
regex: '
|
643
|
+
regex: 'AC0731B|AC1024C|AC7803C|BC9710AM|EL72B|LC0720C|LC0723B|LC0725B|LC0804B|LC0808B|LC0809B|LC0810C|LC0816C|LC0901D|LC1016C|MT0724B|MT0729[BD]|MT0811B|OC1020A|RC0709B|RC0710B|RC0718C|RC0719H|RC0721B|RC0722C|RC0726B|RC0734H|RC0743H|RC0817C|RC1018C|RC1019G|RC1025F|RC1301C|RC7802F|RC9711B|RC9712C|RC9716B|RC9717B|RC9724C|RC9726C|RC9727F|RC9730C|RC9731C|TS0807B|TS1013B|VM0711A|VM1017A|RC0813C|QS9719D|QS9718C|QS9715F|QS1023H|QS0815C|QS0730C|QS0728C|QS0717D|QS0716D|QS0715C|MT7801C|TS9708B|AC0732C|MT0739D|MT0812E|(?:3Q_)?ER71B'
|
472
644
|
device: 'tablet'
|
473
|
-
|
645
|
+
models:
|
646
|
+
- regex: 'MT0724B|LC0901D|LC0816C|LC0810C|LC0809B|LC0808B|LC0804B|LC0725B|LC0723B'
|
647
|
+
model: 'Qoo! P-Pad'
|
648
|
+
- regex: 'VM1017A|TS1013B|TS0807B|RC9731C|RC9730C|RC9727F|RC9726C|RC9724C|RC9717B|RC9716B|RC9712C|RC9711B|RC1301C|RC1025F|RC1019G|RC1018C|RC0817C|RC0813C|RC0743H|RC0734H|RC0726B|RC0722C|RC0721B|RC0719H|RC0718C|RC0710B|RC0709B|QS9715F|QS1023H|QS0815C|QS0730C|QS0728C|QS0717D|QS0716D|QS0715C|MT0811B|MT0739D|MT0729[BD]|LC1016C|LC0720C|BC9710AM|AC1024C|AC0731B'
|
649
|
+
model: 'Qoo! Q-Pad'
|
650
|
+
- regex: 'MT7801C|QS9718C|QS9719D|VM0711A|OC1020A'
|
651
|
+
model: 'Qoo! Surf'
|
652
|
+
- regex: 'TS9708B'
|
653
|
+
model: 'Surf TS1009B'
|
654
|
+
- regex: 'AC7803C|AC0732C'
|
655
|
+
model: 'Qoo! Lite'
|
656
|
+
- regex: 'MT0812E|RC7802F'
|
657
|
+
model: 'Qoo! Meta'
|
658
|
+
- regex: 'EL72B|(?:3Q_)?ER71B'
|
659
|
+
model: 'Qoo! Q-Book'
|
474
660
|
|
475
661
|
# 4Good
|
476
662
|
4Good:
|
@@ -480,7 +666,9 @@ MicroMax:
|
|
480
666
|
- regex: 'T700i_3G'
|
481
667
|
model: 'T700i 3G'
|
482
668
|
device: 'tablet'
|
483
|
-
- regex: '
|
669
|
+
- regex: 'S555m[_ ]4G'
|
670
|
+
model: 'People'
|
671
|
+
- regex: '(S(?:450m|501m)[_ ][43]G|Light A103)'
|
484
672
|
model: '$1'
|
485
673
|
- regex: '4Good[ _]([^;/]+) Build'
|
486
674
|
model: '$1'
|
@@ -511,7 +699,7 @@ AllCall:
|
|
511
699
|
|
512
700
|
# Bravis
|
513
701
|
Bravis:
|
514
|
-
regex: 'Bravis[ _]|A501 Bright|NB(?:106M|10[1-8]|751|7[145]|8[57]1|76)|NP101|NP 104 3G|B501'
|
702
|
+
regex: 'Bravis[ _]|A501 Bright|NB(?:106M|10[1-8]|751|7[145]|8[57]1|76)|NP101|NP 104 3G|B501|N1-570 Space'
|
515
703
|
device: 'smartphone'
|
516
704
|
models:
|
517
705
|
- regex: 'A501 Bright'
|
@@ -530,6 +718,8 @@ Bravis:
|
|
530
718
|
model: 'Trend'
|
531
719
|
- regex: 'B501'
|
532
720
|
model: 'Easy'
|
721
|
+
- regex: 'N1-570'
|
722
|
+
model: 'Space'
|
533
723
|
- regex: 'BRAVIS[ ]A554'
|
534
724
|
model: 'A554 Grand'
|
535
725
|
- regex: 'BRAVIS[ _]SLIM[ _]3G'
|
@@ -546,7 +736,7 @@ Bravis:
|
|
546
736
|
|
547
737
|
# Acer
|
548
738
|
Acer:
|
549
|
-
regex: 'acer|(?<!ZTE BLADE )a(?:101|110|2[10]0|211|50[10]|51[10]|70[10])[);/ ]|Android.*V3[67]0[);/ ]|Android.*Z1[23456]0 Build|Android.*Z5\d{2} Build|Android.*T0[234678] Build|A1-830|A1-81[01]|A3-A[1234][01]|B1-7[1235678][01]|B1-7[23]3|B1-8[1235]0|B1-A71|B3-A[12]0|B3-A3[02]|E39
|
739
|
+
regex: 'acer|(?<!ZTE BLADE )a(?:101|110|2[10]0|211|50[10]|51[10]|70[10])[);/ ]|Android.*V3[67]0[);/ ]|Android.*Z1[23456]0 Build|Android.*Z5\d{2} Build|Android.*T0[234678] Build|Android.*S55[);/ ]|A1-830|A1-81[01]|A1-7[23]4|A3-A[1234][01]|B1-7[1235678][01]|B1-7[23]3|B1-8[1235]0|B1-A71|B3-A[12]0|B3-A3[02]|E39[);/ ]|S5[12]0 Build|DA[0-9]+HQ?L[);/ ]|Aspire V5-121|Predator G9-793|GT-810'
|
550
740
|
device: 'smartphone'
|
551
741
|
models:
|
552
742
|
# smart displays
|
@@ -567,60 +757,121 @@ Acer:
|
|
567
757
|
- regex: 'A1-830'
|
568
758
|
model: 'Iconia A1'
|
569
759
|
device: 'tablet'
|
760
|
+
- regex: 'A1-7[23]4'
|
761
|
+
model: 'Iconia Talk S'
|
762
|
+
device: 'tablet'
|
570
763
|
- regex: 'A3-A[12][01]'
|
571
764
|
model: 'Iconia A3'
|
572
765
|
device: 'tablet'
|
573
766
|
- regex: 'A3-A[34]0'
|
574
767
|
model: 'Iconia Tab 10'
|
575
768
|
device: 'tablet'
|
576
|
-
- regex: 'B1-7[
|
769
|
+
- regex: 'B1-7[5678]0|B1-730HD'
|
770
|
+
model: 'Iconia One 7'
|
771
|
+
device: 'tablet'
|
772
|
+
- regex: 'B1-7[123][01]|B1-A71'
|
577
773
|
model: 'Iconia B1'
|
578
774
|
device: 'tablet'
|
579
775
|
- regex: 'B1-7[23]3'
|
580
776
|
model: 'Iconia Talk 7'
|
581
777
|
device: 'tablet'
|
582
|
-
- regex: 'B1-7[678]0'
|
583
|
-
model: 'Iconia One 7'
|
584
|
-
device: 'tablet'
|
585
778
|
- regex: 'B1-8[1235]0'
|
586
779
|
model: 'Iconia One 8'
|
587
780
|
device: 'tablet'
|
588
781
|
- regex: 'B3-A[12]0|B3-A3[02]'
|
589
782
|
model: 'Iconia One 10'
|
590
783
|
device: 'tablet'
|
784
|
+
- regex: 'A101'
|
785
|
+
model: 'Vangogh'
|
786
|
+
device: 'tablet'
|
787
|
+
- regex: 'A200'
|
788
|
+
model: 'Picasso E'
|
789
|
+
device: 'tablet'
|
790
|
+
- regex: 'A50[01]'
|
791
|
+
model: 'Picasso'
|
792
|
+
device: 'tablet'
|
793
|
+
- regex: 'Acer One 7'
|
794
|
+
model: 'One 7'
|
795
|
+
device: 'tablet'
|
796
|
+
- regex: 'GT-810'
|
797
|
+
model: 'Predator 8'
|
798
|
+
device: 'tablet'
|
591
799
|
|
592
800
|
# explicit smartphone models
|
593
|
-
- regex: 'E39
|
801
|
+
- regex: 'E39[);/ ]'
|
594
802
|
model: 'Liquid E700'
|
803
|
+
- regex: 'E310[);/ ]'
|
804
|
+
model: 'Liquid Mini'
|
805
|
+
- regex: 'E320(?:-orange)?[);/ ]'
|
806
|
+
model: 'Liquid Express'
|
807
|
+
- regex: 'E310[);/ ]'
|
808
|
+
model: 'beTouch E210'
|
595
809
|
- regex: 'Android.*V360[);/ ]'
|
596
|
-
model: 'Liquid E1'
|
810
|
+
model: 'Liquid E1 Duo'
|
597
811
|
- regex: 'Android.*V370[);/ ]'
|
598
|
-
model: 'Liquid E2'
|
599
|
-
- regex: 'S510
|
812
|
+
model: 'Liquid E2 Duo'
|
813
|
+
- regex: 'S510[);/ ]'
|
600
814
|
model: 'Liquid S1'
|
601
|
-
- regex: 'S520
|
815
|
+
- regex: 'S520[);/ ]'
|
602
816
|
model: 'Liquid S2'
|
603
|
-
- regex: '
|
817
|
+
- regex: '(?:Acer_)?P400[);/ ]'
|
818
|
+
model: 'neoTouch P400'
|
819
|
+
- regex: '(?:Acer_)?P300[);/ ]'
|
820
|
+
model: 'neoTouch P300'
|
821
|
+
- regex: '(?:Acer_)?S200[);/ ]'
|
822
|
+
model: 'neoTouch S200'
|
823
|
+
- regex: '(?:Acer_)?E100[);/ ]'
|
824
|
+
model: 'beTouch E100'
|
825
|
+
- regex: 'Android.*Z1([234])0[);/ ]'
|
604
826
|
model: 'Liquid Z$1'
|
605
|
-
- regex: 'Android.*
|
606
|
-
model: 'Liquid
|
607
|
-
- regex: 'Android.*
|
827
|
+
- regex: 'Android.*Z110[);/ ]'
|
828
|
+
model: 'Liquid Z110'
|
829
|
+
- regex: 'Android.*Z150[);/ ]'
|
830
|
+
model: 'Liquid Z5 Duo'
|
831
|
+
- regex: 'Android.*Z160[);/ ]'
|
832
|
+
model: 'Liquid Z4 Duo'
|
833
|
+
- regex: 'Android.*Z(5\d{2})[);/ ]'
|
608
834
|
model: 'Liquid Z$1'
|
609
|
-
- regex: 'Android.*
|
835
|
+
- regex: 'Android.*S57[);/ ]'
|
836
|
+
model: 'Liquid Jade Z'
|
837
|
+
- regex: 'Android.*T02[);/ ]'
|
610
838
|
model: 'Liquid Z530'
|
611
|
-
- regex: 'Android.*T03
|
839
|
+
- regex: 'Android.*T03[);/ ]'
|
612
840
|
model: 'Liquid Z630'
|
613
|
-
- regex: 'Android.*T04
|
841
|
+
- regex: 'Android.*T04[);/ ]'
|
614
842
|
model: 'Liquid Z630S'
|
615
|
-
- regex: 'Android.*T06
|
843
|
+
- regex: 'Android.*T06[);/ ]'
|
616
844
|
model: 'Liquid Zest'
|
617
|
-
- regex: 'Android.*T07
|
845
|
+
- regex: 'Android.*T07[);/ ]'
|
618
846
|
model: 'Liquid Zest 4G'
|
619
|
-
- regex: 'Android.*T08
|
847
|
+
- regex: 'Android.*T08[);/ ]'
|
620
848
|
model: 'Liquid Zest Plus'
|
621
|
-
- regex: '
|
849
|
+
- regex: 'TM01[);/ ]'
|
850
|
+
model: 'Liquid M330'
|
851
|
+
- regex: 'M220[);/ ]'
|
852
|
+
model: 'Liquid M220'
|
853
|
+
- regex: 'AcerTD600'
|
854
|
+
model: 'TD600'
|
855
|
+
- regex: 'Android.*S55[);/ ]'
|
856
|
+
model: 'Liquid Jade'
|
857
|
+
|
858
|
+
# desktop models
|
859
|
+
- regex: '(?:Acer )?(Chromebook R1[13])'
|
860
|
+
model: '$1'
|
861
|
+
device: 'desktop'
|
862
|
+
- regex: '(?:Acer )?(Chromebook 14)'
|
863
|
+
model: '$1'
|
864
|
+
device: 'desktop'
|
865
|
+
- regex: '(Aspire V5-121)'
|
866
|
+
model: '$1'
|
867
|
+
device: 'desktop'
|
868
|
+
- regex: '(Predator G9-793)'
|
869
|
+
model: '$1'
|
870
|
+
device: 'desktop'
|
871
|
+
|
872
|
+
- regex: 'Acer; ?([^;\(\)/]+)'
|
622
873
|
model: '$1'
|
623
|
-
- regex: 'Acer[ _\-]?([^;\)]+)
|
874
|
+
- regex: 'Acer(?! ?inc)[ _\-]?([^;\(\)/]+)[();/ ]'
|
624
875
|
model: '$1'
|
625
876
|
- regex: 'acer[\-_]([a-z0-9]+)'
|
626
877
|
model: '$1'
|
@@ -721,7 +972,7 @@ Arian Space:
|
|
721
972
|
|
722
973
|
# Alcatel
|
723
974
|
Alcatel:
|
724
|
-
regex: 'Alcatel|Alc[a-z0-9]+|One[ _]?Touch|idol3|(?:4003[AJ]|4009[ADEFIKMSX]|4013[DEJKMX]|4014[ADEKMX]|4015[ADNTX]|4016[ADX]|4017[ADEFSX]|4018[ADEFMX]|4024[EDX]|4027[ADNX]|4028[AEJS]|4032[ADEX]|4034[ADEFGX]|4035[ADXY]|4045[ADEX]|4047[ADFGNX]|4049[DEGMX]|4060[SW]|4114E|5009[AD]|5010[DEGSUX]|5011A|5012[DFG]|5015[ADEX]|5016[AXJ]|5017[ABDEOX]|5019D|5022[EDX]|5023[EF]|5024A|5025[
|
975
|
+
regex: 'Alcatel|Alc(?!or )[a-z0-9]+|One[ _]?Touch|idol3|(?:4003[AJ]|4009[ADEFIKMSX]|4013[DEJKMX]|4014[ADEKMX]|4015[ADNTX]|4016[ADX]|4017[ADEFSX]|4018[ADEFMX]|4024[EDX]|4027[ADNX]|4028[AEJS]|4032[ADEX]|4034[ADEFGX]|4035[ADXY]|4045[ADEX]|4047[ADFGNX]|4049[DEGMX]|4060[SW]|4114E|5009[AD]|5010[DEGSUX]|5011A|5012[DFG]|5015[ADEX]|5016[AXJ]|5017[ABDEOX]|5019D|5022[EDX]|5023[EF]|5024A|5025[DEG]|5026[AD]|5027B|5033[AX]|5033D[ _]RU|5034D|5038[ADEX]|5041C|5042[ADEFGWX]|5044[ADGIKOPSTY]|5045[ADFGIJTXY]|5046[ADGIJSTUY]|5047[DIUY]|5049[EGSWZ]|5050[ASXY]|5051[ADEJMTWX]|5052[AD]|5054[ADNSTWX]|5056[ADEGIJMNTUWX]|5057M|5058[AIY]|5059[ADXYZ]|5065[ADNWX]|5070D|5080[ADFQUX]|5085[ABCDGHIJNOQY]|5086[ADY]|5090[AIY]|5095[IKY]|5098[OS]|5099[ADYUI]|5116J|5145A|6016[ADEX]|6036[AXY]|6037[BKY]|6039[AHJKY]|6043[AD]|6044D|6045[BFIKOY]|6050[AFY]|6055[ABDHIKPUYZ]|6058[ADX]|6060S|6062W|6070K|7040[ADEFKRT]|7041[DX]|7043[AEKY]|7044[AX]|7045Y|7048[ASWX]|7055A|7070X|8030Y|8050[DEGX]|8063|9001[DIX]|9002X|9003[AX]|9024O|9005X|9007[ATX]|9008[ADIJNTUX]|9010X|9022X|9203A|A570BL|I213|I216X)[);/ ]|TIMXL'
|
725
976
|
device: 'smartphone'
|
726
977
|
models:
|
727
978
|
- regex: '(?:5022[EDX]|5070D)[);/ ]'
|
@@ -762,7 +1013,7 @@ Alcatel:
|
|
762
1013
|
model: 'One Touch Pop 3'
|
763
1014
|
- regex: '(?:5015[AE]|5016[AJ]|5065[ADWX]|5116J)[);/ ]'
|
764
1015
|
model: 'One Touch Pop 3 5"'
|
765
|
-
- regex: '(?:5025[
|
1016
|
+
- regex: '(?:5025[DEG]|5054[ADSTX])[);/ ]'
|
766
1017
|
model: 'One Touch Pop 3 5.5"'
|
767
1018
|
- regex: '5015D[);/ ]'
|
768
1019
|
model: 'One Touch Pop 3 Dual SIM'
|
@@ -790,6 +1041,8 @@ Alcatel:
|
|
790
1041
|
model: 'One Touch Dawn'
|
791
1042
|
- regex: '5024A[);/ ]'
|
792
1043
|
model: '1S'
|
1044
|
+
- regex: '5034D[);/ ]'
|
1045
|
+
model: '3L'
|
793
1046
|
- regex: '7040[RT][);/ ]'
|
794
1047
|
model: 'One Touch Fierce 2'
|
795
1048
|
- regex: '5056[NW]'
|
@@ -932,6 +1185,22 @@ Alcatel:
|
|
932
1185
|
device: 'tablet'
|
933
1186
|
- regex: '7048[ASWX][);/ ]'
|
934
1187
|
model: 'One Touch Go Play'
|
1188
|
+
- regex: '(?:Alcatel-)?OT-802[);/ ]'
|
1189
|
+
model: 'Wave'
|
1190
|
+
- regex: 'ALCATEL_ONE_TOUCH_768T[);/ ]'
|
1191
|
+
model: 'Island'
|
1192
|
+
- regex: '(?:TRIBE_)?3075A[);/ ]'
|
1193
|
+
model: 'One Touch Tribe'
|
1194
|
+
- regex: 'ALCATEL_one_touch_585[);/ ]'
|
1195
|
+
model: 'One Touch 585'
|
1196
|
+
- regex: 'ALCATEL_ONE_TOUCH_838[);/ ]'
|
1197
|
+
model: 'One Touch 838'
|
1198
|
+
- regex: 'ALCATEL_one_touch_813d[);/ ]'
|
1199
|
+
model: 'One Touch 813D'
|
1200
|
+
- regex: 'ALCATEL_one_touch_813[);/ ]'
|
1201
|
+
model: 'One Touch 813'
|
1202
|
+
- regex: 'OT871A'
|
1203
|
+
model: 'One Touch 871A'
|
935
1204
|
- regex: '(?:Alcatel[ _])?One[ _]?Touch[ _]((?:T[0-9]+|TAB[^/;]+|EVO[78](?:HD)?)) Build'
|
936
1205
|
device: 'tablet'
|
937
1206
|
model: 'One Touch $1'
|
@@ -957,6 +1226,12 @@ Alcatel:
|
|
957
1226
|
model: 'U5 Lite'
|
958
1227
|
- regex: '4047A[);/ ]'
|
959
1228
|
model: 'U5 Plus'
|
1229
|
+
- regex: '4044[CV][);/ ]'
|
1230
|
+
model: 'Quick Flip'
|
1231
|
+
- regex: '4044O[);/ ]'
|
1232
|
+
model: 'Cingular Flip 2'
|
1233
|
+
- regex: '4044[MNT][);/ ]'
|
1234
|
+
model: 'Go Flip'
|
960
1235
|
- regex: '5044[GS][);/ ]'
|
961
1236
|
model: 'U50'
|
962
1237
|
- regex: '5033[AX][);/ ]'
|
@@ -979,6 +1254,8 @@ Alcatel:
|
|
979
1254
|
model: '7'
|
980
1255
|
- regex: 'Alcatel UP'
|
981
1256
|
model: ''
|
1257
|
+
- regex: '(?:ALCATEL_)?A383G[);/ ]'
|
1258
|
+
model: 'Big Easy Plus'
|
982
1259
|
- regex: '5041C'
|
983
1260
|
model: 'TETRA'
|
984
1261
|
- regex: 'ALCATEL([^/;]+) Build'
|
@@ -992,13 +1269,19 @@ Alcatel:
|
|
992
1269
|
|
993
1270
|
# Allview
|
994
1271
|
Allview:
|
995
|
-
regex: 'Allview|A4You|A5_(?:Easy(?:_TM)?|Ready(?:_TM)?|Quad|Quad_Plus_TM)|A[56789]_Lite|A5Smiley|A6_Duo|AX4Nano|C6_Duo|E[23]_Living|E3_(?:Jump|Sign)|E4_Lite|M9_Connect|P(?:43_Easy|[5689]_Energy|6_Energy_Lite|[68]_Energy_Mini(?:_TM)?|(41|[458])_eMagic(?:_TM)?|[589](?:_)?Life(?:_TM)?|[567]_Lite(?:_TM)?|6_plus|[45678]_Pro|7_Seon|10_Style|7_Xtreme|6_Qmax|4_Quad)|V(?:[13]_Viper|1_Viper_I|2_Viper_(?:E|I|S|X|X_plus|Xe))|X(?:[1234]_Soul_Xtreme|[12345]_Soul|3_Soul_Lite|[24]Soul_Mini(?:_TM)?|4_Soul_Mini_S(?:_TM)?|[234]_Soul_Style(?:_TM)?|2_Soul_Style_Plus|2_Twin)|Viva_H801'
|
1272
|
+
regex: 'Allview|A4You|A5_(?:Easy(?:_TM)?|Ready(?:_TM)?|Quad|Quad_Plus_TM)|A[56789]_Lite|A5Smiley|A6_Duo|AX2_Frenzy|AX4Nano|AX5NanoQ|C6_Duo|E[23]_Living|E3_(?:Jump|Sign)|E4_Lite|M9_Connect|P(?:43_Easy|[5689]_Energy|6_Energy_Lite|[68]_Energy_Mini(?:_TM)?|(41|[458])_eMagic(?:_TM)?|[589](?:_)?Life(?:_TM)?|[567]_Lite(?:_TM)?|6_plus|[45678]_Pro|7_Seon|10_Style|7_Xtreme|6_Qmax|4_Quad)|V(?:[13]_Viper|1_Viper_I|2_Viper_(?:E|I|S|X|X_plus|Xe))|X(?:[1234]_Soul_Xtreme|[12345]_Soul|3_Soul_Lite|[24]Soul_Mini(?:_TM)?|4_Soul_Mini_S(?:_TM)?|[234]_Soul_Style(?:_TM)?|2_Soul_Style_Plus|2_Twin)|Viva_H801'
|
996
1273
|
device: 'smartphone'
|
997
1274
|
models:
|
998
1275
|
- regex: 'A4You'
|
999
1276
|
model: 'A4 You'
|
1277
|
+
- regex: 'AX2_Frenzy'
|
1278
|
+
model: 'AX2 Frenzy'
|
1279
|
+
device: 'tablet'
|
1000
1280
|
- regex: 'AX4Nano'
|
1001
1281
|
model: 'AX4 Nano'
|
1282
|
+
- regex: 'AX5NanoQ'
|
1283
|
+
model: 'AX5 Nano Q'
|
1284
|
+
device: 'tablet'
|
1002
1285
|
- regex: 'C6_Duo'
|
1003
1286
|
model: 'C6 Duo'
|
1004
1287
|
- regex: 'E([23])_Living'
|
@@ -1091,10 +1374,12 @@ Allview:
|
|
1091
1374
|
model: 'A5 Quad'
|
1092
1375
|
- regex: 'A6_Duo'
|
1093
1376
|
model: 'A6 Duo'
|
1094
|
-
- regex: '
|
1095
|
-
model: '
|
1096
|
-
- regex: '
|
1097
|
-
model: '
|
1377
|
+
- regex: 'Impera S'
|
1378
|
+
model: 'Impera S'
|
1379
|
+
- regex: 'ALLVIEW P4i'
|
1380
|
+
model: 'AllDro P4'
|
1381
|
+
- regex: 'Allview_P2'
|
1382
|
+
model: 'AllDro'
|
1098
1383
|
|
1099
1384
|
# explicit tablet models
|
1100
1385
|
- regex: 'AllviewCityPlus'
|
@@ -1115,6 +1400,32 @@ Allview:
|
|
1115
1400
|
- regex: 'Viva_H801'
|
1116
1401
|
device: 'tablet'
|
1117
1402
|
model: 'Viva H801'
|
1403
|
+
- regex: 'ALLVIEW ?SPEEDI'
|
1404
|
+
device: 'tablet'
|
1405
|
+
model: 'Speed I'
|
1406
|
+
- regex: 'ALLVIEW ?SPEED'
|
1407
|
+
device: 'tablet'
|
1408
|
+
model: 'Speed'
|
1409
|
+
- regex: 'ALLVIEWSPEED'
|
1410
|
+
device: 'tablet'
|
1411
|
+
model: 'Speed'
|
1412
|
+
- regex: 'AX4Nano'
|
1413
|
+
device: 'tablet'
|
1414
|
+
model: 'AX4 Nano'
|
1415
|
+
- regex: 'ALLVIEW_TX1_Quasar'
|
1416
|
+
device: 'tablet'
|
1417
|
+
model: 'TX1 Quasar'
|
1418
|
+
|
1419
|
+
- regex: 'Allview[ _-]([^;/]+) Build'
|
1420
|
+
model: '$1'
|
1421
|
+
- regex: 'Allview[ _-]([^;/]+)[;/)]'
|
1422
|
+
model: '$1'
|
1423
|
+
|
1424
|
+
# Allwinner
|
1425
|
+
Allwinner:
|
1426
|
+
regex: 'QUAD-CORE A64 p3'
|
1427
|
+
device: 'tablet'
|
1428
|
+
model: 'A64 QUAD-CORE p3'
|
1118
1429
|
|
1119
1430
|
# altron
|
1120
1431
|
altron:
|
@@ -1181,6 +1492,13 @@ Ainol:
|
|
1181
1492
|
regex: 'Numy|novo[0-9]'
|
1182
1493
|
device: 'tablet'
|
1183
1494
|
models:
|
1495
|
+
- regex: 'Numy 3G AX1'
|
1496
|
+
model: 'Novo 7 Numy AX1 3G'
|
1497
|
+
- regex: 'Numy_3G_AX3'
|
1498
|
+
model: 'Numy AX3 Sword'
|
1499
|
+
- regex: 'Numy_3G_BW1'
|
1500
|
+
model: 'Numy 3G Talos 2'
|
1501
|
+
|
1184
1502
|
- regex: 'Numy[ _]([^;/]+) Build'
|
1185
1503
|
model: 'Numy $1'
|
1186
1504
|
- regex: 'Novo([0-9]+)[ \-]([^;/]+) Build'
|
@@ -1191,6 +1509,8 @@ Archos:
|
|
1191
1509
|
regex: '(?:YL-)?Archos'
|
1192
1510
|
device: 'smartphone'
|
1193
1511
|
models:
|
1512
|
+
- regex: 'Archos (Oxygen 63)[);/ ]'
|
1513
|
+
model: '$1'
|
1194
1514
|
- regex: 'Archos ?5[);/ ]'
|
1195
1515
|
device: 'tablet'
|
1196
1516
|
model: '5'
|
@@ -1351,7 +1671,7 @@ Assistant:
|
|
1351
1671
|
|
1352
1672
|
# Ark
|
1353
1673
|
Ark:
|
1354
|
-
regex: '(ARK[_ -])?Benefit[_ -]([^/;]*) Build|EDGE A5HD|ICON (R40\+|R45)|Impulse[ _](P[12])'
|
1674
|
+
regex: '(ARK[_ -])?Benefit[_ -]([^/;]*) Build|EDGE A5HD|ICON (R40\+|R45)|Impulse[ _](P[12])|Wizard_1[/;) ]'
|
1355
1675
|
device: 'smartphone'
|
1356
1676
|
models:
|
1357
1677
|
- regex: '(?:ARK[_ -])?Benefit[_ -]([^/;]*) Build'
|
@@ -1364,6 +1684,8 @@ Ark:
|
|
1364
1684
|
model: 'Edge $1'
|
1365
1685
|
- regex: 'ICON (R40\+|R45)'
|
1366
1686
|
model: 'Icon $1'
|
1687
|
+
- regex: 'Wizard_1'
|
1688
|
+
model: 'Wizard 1'
|
1367
1689
|
|
1368
1690
|
# Garmin-Asus
|
1369
1691
|
Garmin-Asus:
|
@@ -1379,7 +1701,7 @@ Garmin-Asus:
|
|
1379
1701
|
|
1380
1702
|
# Asus
|
1381
1703
|
Asus:
|
1382
|
-
regex: 'Asus|Transformer|TF300T|Slider SL101|PadFone|ME302(?:C|KL)|ME301T|ME371MG|ME17(?:1|2V|3X)|(?:K0[01][0-9a-z]|P(?:00[18ACIL]|01[MTVWYZ]|01MA|01T_1|02[13478])(?: Build|\))|X015D|X018D|X003|X00[7ABT]D|Z00D|Z00[MTY]D|Z01[7FGHKMR]D)[);/ ]|ZB(631|602|633|55[135]|50[01])KL|ZC(55[134]|520|600)KL|ZA550KL|ZE(520|620|55[2345])KL|ZD55[23]KL|ZS6[23]0KL|
|
1704
|
+
regex: 'Asus|Transformer|TF300T|Slider SL101|PadFone|ME302(?:C|KL)|ME301T|ME371MG|ME17(?:1|2V|3X)|(?:K0[01][0-9a-z]|P(?:00[18ACIL]|01[MTVWYZ]|01MA|01T_1|02[13478])(?: Build|\))|X015D|X018D|X003|X00[7ABT]D|Z00D|Z00[MTY]D|Z01[7FGHKMR]D)[);/ ]|ZB(631|602|633|55[135]|50[01])KL|ZC(55[134]|520|600)KL|ZA550KL|ZE(520|620|55[2345])KL|ZD55[23]KL|ZS6[23]0KL|ZB(500KG|601KL)'
|
1383
1705
|
device: 'smartphone'
|
1384
1706
|
models:
|
1385
1707
|
# explicit tablet models
|
@@ -1501,6 +1823,8 @@ Asus:
|
|
1501
1823
|
model: 'ZenFone C'
|
1502
1824
|
- regex: '(?:ASUS_)?(X00PD|ZB555KL)'
|
1503
1825
|
model: 'ZenFone Max M1'
|
1826
|
+
- regex: '(?:ASUS_)?(ZB601KL)'
|
1827
|
+
model: 'ZenFone Max Pro M1'
|
1504
1828
|
- regex: '(?:ASUS_)?(X01AD|ZB633KL)'
|
1505
1829
|
model: 'ZenFone Max M2'
|
1506
1830
|
- regex: '(?:ASUS_)?(?:Z00[AD]|Z008D|Z008|Z00AD[AB]?)'
|
@@ -1583,6 +1907,8 @@ Asus:
|
|
1583
1907
|
model: 'ZenFone Zoom'
|
1584
1908
|
- regex: '(?:ASUS_)?Z01QD'
|
1585
1909
|
model: 'ROG Phone'
|
1910
|
+
- regex: '(?:ASUS_)?I001DA'
|
1911
|
+
model: 'ROG Phone 2'
|
1586
1912
|
|
1587
1913
|
# general detections
|
1588
1914
|
- regex: 'Asus(?:-|;)?([a-z0-9]+)'
|
@@ -1751,11 +2077,13 @@ Bluegood:
|
|
1751
2077
|
|
1752
2078
|
# Blackview
|
1753
2079
|
Blackview:
|
1754
|
-
regex: '(BV([2456789]000|(5[58]|9[56])00)(?:[ _](?:PRO))?|(P10000(?:[ _](?:PRO))?)|omega[ _]pro|Alife[ _][PS]1|Heatwave|DM550)'
|
2080
|
+
regex: '(BV([2456789]000|(5[58]|9[56])00)(?:[ _](?:PRO))?|(P10000(?:[ _](?:PRO))?)|omega[ _]pro|Alife[ _][PS]1|Heatwave|DM550|BV9700Pro)'
|
1755
2081
|
device: 'smartphone'
|
1756
2082
|
models:
|
1757
2083
|
- regex: '(BV6000S)'
|
1758
2084
|
model: '$1'
|
2085
|
+
- regex: '(BV9700)Pro'
|
2086
|
+
model: '$1 Pro'
|
1759
2087
|
- regex: 'BV9000Pro-F'
|
1760
2088
|
model: 'BV9000 Pro F'
|
1761
2089
|
- regex: '(BV([48]000|9[56]00))Pro'
|
@@ -1860,27 +2188,91 @@ Brondi:
|
|
1860
2188
|
model: 'SURFING TAB $1'
|
1861
2189
|
device: 'tablet'
|
1862
2190
|
|
2191
|
+
# VGO TEL
|
2192
|
+
VGO TEL:
|
2193
|
+
regex: 'Venture V8'
|
2194
|
+
device: 'smartphone'
|
2195
|
+
models:
|
2196
|
+
- regex: 'Venture V8'
|
2197
|
+
model: 'Venture V8'
|
2198
|
+
|
1863
2199
|
# Vivo
|
1864
2200
|
Vivo:
|
1865
|
-
regex: '((?:VIV-|BBG-)?vivo)|V1813BA|V1818T|V1731CA|V1809T|V1813T'
|
2201
|
+
regex: '((?:VIV-|BBG-)?vivo)|V1813BA|V1818T|V1731CA|V1809T|V1813T|V1818A'
|
1866
2202
|
device: 'smartphone'
|
1867
2203
|
models:
|
1868
|
-
- regex: '(?:VIV-|BBG-)?vivo[ _]1601
|
2204
|
+
- regex: '(?:VIV-|BBG-)?vivo[ _]1601[);/ ]'
|
1869
2205
|
model: 'V5'
|
1870
2206
|
- regex: 'V1813BA'
|
1871
2207
|
model: 'Z3'
|
2208
|
+
- regex: 'Vivo ONE'
|
2209
|
+
model: 'One'
|
2210
|
+
- regex: 'X9Plus'
|
2211
|
+
model: 'X9 Plus'
|
2212
|
+
- regex: 'X20Plus'
|
2213
|
+
model: 'X20 Plus'
|
1872
2214
|
- regex: 'V1809T'
|
1873
2215
|
model: 'X23'
|
1874
|
-
- regex: '
|
2216
|
+
- regex: 'V1818[AT]|vivo 181[45]'
|
1875
2217
|
model: 'Y93'
|
1876
2218
|
- regex: 'V1813T'
|
1877
2219
|
model: 'Y97'
|
1878
2220
|
- regex: 'V1731CA'
|
1879
2221
|
model: 'Y73'
|
1880
|
-
- regex: 'vivo
|
2222
|
+
- regex: 'vivo 18(16|20)'
|
1881
2223
|
model: 'Y91i'
|
1882
|
-
- regex: 'vivo
|
2224
|
+
- regex: 'vivo 1606'
|
2225
|
+
model: 'Y53i'
|
2226
|
+
- regex: 'vivo 1603'
|
2227
|
+
model: 'Y55l'
|
2228
|
+
- regex: 'vivo 1609'
|
2229
|
+
model: 'V5 Lite'
|
2230
|
+
- regex: 'vivo 1610'
|
2231
|
+
model: 'Y55s'
|
2232
|
+
- regex: 'vivo 1611'
|
2233
|
+
model: 'V5 Plus'
|
2234
|
+
- regex: 'vivo 181[17]'
|
1883
2235
|
model: 'Y91'
|
2236
|
+
- regex: 'vivo (1713|1612)'
|
2237
|
+
model: 'V5s'
|
2238
|
+
- regex: 'vivo 1714'
|
2239
|
+
model: 'Y69'
|
2240
|
+
- regex: 'vivo 1716'
|
2241
|
+
model: 'V7 Plus'
|
2242
|
+
- regex: 'vivo 1718'
|
2243
|
+
model: 'V7'
|
2244
|
+
- regex: 'vivo 1719'
|
2245
|
+
model: 'Y65'
|
2246
|
+
- regex: 'vivo 1723'
|
2247
|
+
model: 'V9'
|
2248
|
+
- regex: 'vivo 1726'
|
2249
|
+
model: 'Y83 Pro'
|
2250
|
+
- regex: 'vivo 1721'
|
2251
|
+
model: 'X20'
|
2252
|
+
- regex: 'vivo 1724'
|
2253
|
+
model: 'Y71'
|
2254
|
+
- regex: 'vivo 1725'
|
2255
|
+
model: 'X21'
|
2256
|
+
- regex: 'vivo 1727'
|
2257
|
+
model: 'V9 Youth'
|
2258
|
+
- regex: 'vivo 1801'
|
2259
|
+
model: 'Y71i'
|
2260
|
+
- regex: 'vivo 1804'
|
2261
|
+
model: 'V11 Pro'
|
2262
|
+
- regex: 'vivo 1805'
|
2263
|
+
model: 'Nex'
|
2264
|
+
- regex: 'vivo 1806'
|
2265
|
+
model: 'V11i'
|
2266
|
+
- regex: 'vivo 1807'
|
2267
|
+
model: 'Y95'
|
2268
|
+
- regex: 'vivo 180([38]|8i)'
|
2269
|
+
model: 'Y81'
|
2270
|
+
- regex: 'vivo 1818'
|
2271
|
+
model: 'V15 Pro'
|
2272
|
+
- regex: 'vivo 1902'
|
2273
|
+
model: 'Y17'
|
2274
|
+
- regex: 'vivo 1909'
|
2275
|
+
model: 'V17 Pro'
|
1884
2276
|
- regex: 'vivo 1812'
|
1885
2277
|
model: 'Y81i'
|
1886
2278
|
- regex: '(?:VIV-|BBG-)?vivo[ _]([^/;]+) Build'
|
@@ -1915,8 +2307,8 @@ Beeline:
|
|
1915
2307
|
regex: 'Beeline'
|
1916
2308
|
device: 'smartphone'
|
1917
2309
|
models:
|
1918
|
-
- regex: '
|
1919
|
-
model: 'Pro
|
2310
|
+
- regex: 'Beeline[_ ]Pro[_ ]([26])'
|
2311
|
+
model: 'Pro $1'
|
1920
2312
|
- regex: 'Tab (Fast|Pro)'
|
1921
2313
|
model: 'Tab $1'
|
1922
2314
|
device: 'tablet'
|
@@ -1995,230 +2387,297 @@ bq:
|
|
1995
2387
|
regex: 'Aquaris|bq [^/;]+ Build|BQS-([0-9]{4})|(BQ(ru)?[_ -][0-9]{3,4})'
|
1996
2388
|
device: 'smartphone'
|
1997
2389
|
models:
|
1998
|
-
- regex: 'BQ
|
1999
|
-
model: 'Strike
|
2000
|
-
- regex: 'BQ(ru)?-
|
2001
|
-
model: '
|
2002
|
-
- regex: 'BQ(
|
2003
|
-
model: '
|
2004
|
-
|
2005
|
-
|
2006
|
-
|
2007
|
-
|
2008
|
-
|
2009
|
-
|
2010
|
-
- regex: 'BQ-
|
2011
|
-
model: '
|
2012
|
-
|
2013
|
-
|
2014
|
-
|
2015
|
-
|
2016
|
-
- regex: 'BQ
|
2017
|
-
model: '
|
2018
|
-
|
2019
|
-
|
2020
|
-
|
2021
|
-
|
2022
|
-
- regex: 'BQ-
|
2023
|
-
model: '
|
2024
|
-
|
2025
|
-
|
2026
|
-
|
2027
|
-
|
2028
|
-
- regex: 'BQ-
|
2029
|
-
model: '
|
2030
|
-
|
2031
|
-
|
2032
|
-
|
2033
|
-
|
2034
|
-
- regex: 'BQ-
|
2035
|
-
model: '
|
2036
|
-
|
2037
|
-
|
2038
|
-
|
2039
|
-
|
2040
|
-
- regex: 'BQ-
|
2041
|
-
model: '
|
2042
|
-
|
2043
|
-
|
2390
|
+
- regex: 'BQ(ru)?-(5209L|5044)'
|
2391
|
+
model: 'Strike LTE'
|
2392
|
+
- regex: 'BQ(S|ru)?-(5070|6040L)'
|
2393
|
+
model: 'Magic'
|
2394
|
+
- regex: 'BQ-9011(G)?'
|
2395
|
+
model: 'Vision'
|
2396
|
+
device: 'tablet'
|
2397
|
+
- regex: 'BQ-8068L'
|
2398
|
+
model: 'Hornet Plus Pro'
|
2399
|
+
- regex: 'BQ-8067L'
|
2400
|
+
model: 'Hornet Plus'
|
2401
|
+
device: 'tablet'
|
2402
|
+
- regex: 'BQ-8052G'
|
2403
|
+
model: 'BQ-8052G'
|
2404
|
+
device: 'tablet'
|
2405
|
+
- regex: 'BQ-8041L'
|
2406
|
+
model: 'Art'
|
2407
|
+
device: 'tablet'
|
2408
|
+
- regex: 'BQ-7084G'
|
2409
|
+
model: 'Simple'
|
2410
|
+
device: 'tablet'
|
2411
|
+
- regex: 'BQ-7061G'
|
2412
|
+
model: 'Andros'
|
2413
|
+
device: 'tablet'
|
2414
|
+
- regex: 'BQ-7051G'
|
2415
|
+
model: 'Elba'
|
2416
|
+
device: 'tablet'
|
2417
|
+
- regex: 'BQ-7036L'
|
2418
|
+
model: 'Hornet'
|
2419
|
+
device: 'tablet'
|
2420
|
+
- regex: 'BQ-7022(G)?'
|
2421
|
+
model: 'Canion'
|
2422
|
+
device: 'tablet'
|
2423
|
+
- regex: 'BQ-7021G'
|
2424
|
+
model: 'Hit'
|
2425
|
+
device: 'tablet'
|
2426
|
+
- regex: 'BQ-7010G'
|
2427
|
+
model: 'Max'
|
2428
|
+
device: 'tablet'
|
2429
|
+
- regex: 'BQ-7006G'
|
2430
|
+
model: 'Union'
|
2431
|
+
device: 'tablet'
|
2432
|
+
- regex: 'BQ-7003'
|
2433
|
+
model: 'Jamaica'
|
2434
|
+
device: 'tablet'
|
2435
|
+
- regex: 'BQ-6200L|BQ-6000L'
|
2436
|
+
model: 'Aurora'
|
2044
2437
|
- regex: 'BQ(ru)?[ -]6015L'
|
2045
2438
|
model: 'Universe'
|
2439
|
+
- regex: 'BQ-6010G'
|
2440
|
+
model: 'Practic'
|
2046
2441
|
- regex: 'BQ-6001L|BQ-6050'
|
2047
2442
|
model: 'Jumbo'
|
2048
|
-
- regex: 'BQ-5700L'
|
2049
|
-
model: 'Space X'
|
2050
|
-
- regex: 'BQ(ru)?-5201'
|
2051
|
-
model: 'Space'
|
2052
|
-
- regex: 'BQ(ru)?-(5209L|5044)'
|
2053
|
-
model: 'Strike LTE'
|
2054
|
-
- regex: 'BQ-4526|BQ-5004G'
|
2055
|
-
model: 'Fox'
|
2056
|
-
- regex: 'BQ(ru)?[- ]402[68]'
|
2057
|
-
model: 'Up!'
|
2058
|
-
- regex: 'BQ-(4585|5011G)'
|
2059
|
-
model: 'Fox View'
|
2060
|
-
- regex: 'BQS-5025'
|
2061
|
-
model: 'High Way'
|
2062
|
-
- regex: 'BQ-5008L'
|
2063
|
-
model: 'Brave'
|
2064
|
-
- regex: 'BQ-5052'
|
2065
|
-
model: 'Sense'
|
2066
|
-
- regex: 'BQ-5512L|BQ-5528L'
|
2067
|
-
model: 'Strike Forward'
|
2068
|
-
- regex: 'BQ-5003L'
|
2069
|
-
model: 'Shark Pro'
|
2070
|
-
- regex: 'BQ-5005L'
|
2071
|
-
model: 'Intense'
|
2072
|
-
- regex: 'BQ-5522'
|
2073
|
-
model: 'Next'
|
2074
2443
|
- regex: 'BQ-5707G'
|
2075
2444
|
model: 'Next Music'
|
2445
|
+
- regex: 'BQ-5702'
|
2446
|
+
model: 'Spring'
|
2447
|
+
- regex: 'BQ-5700L'
|
2448
|
+
model: 'Space X'
|
2449
|
+
- regex: 'BQ-5594'
|
2450
|
+
model: 'Strike Power Max'
|
2076
2451
|
- regex: 'BQ-5591'
|
2077
2452
|
model: 'Jeans'
|
2078
|
-
- regex: 'BQ-
|
2079
|
-
model: '
|
2080
|
-
- regex: 'BQ
|
2081
|
-
model: '
|
2082
|
-
- regex: '
|
2083
|
-
model: '
|
2084
|
-
- regex: '
|
2085
|
-
model: '
|
2453
|
+
- regex: 'BQ-5522'
|
2454
|
+
model: 'Next'
|
2455
|
+
- regex: 'BQ(ru)?-5521'
|
2456
|
+
model: 'Strike Power Max'
|
2457
|
+
- regex: 'BQ-5520L'
|
2458
|
+
model: 'Silk'
|
2459
|
+
- regex: 'BQ-5519L'
|
2460
|
+
model: 'Fast Plus'
|
2461
|
+
- regex: 'BQ-5517L'
|
2462
|
+
model: 'Twin Pro'
|
2463
|
+
- regex: 'BQ-5516L'
|
2464
|
+
model: 'Twin'
|
2086
2465
|
- regex: 'BQS-5515'
|
2087
2466
|
model: 'Wide'
|
2088
|
-
- regex: '
|
2089
|
-
model: '
|
2467
|
+
- regex: 'BQ-5515(L)?'
|
2468
|
+
model: 'Fast'
|
2469
|
+
- regex: 'BQ-5512L|BQ-5528L'
|
2470
|
+
model: 'Strike Forward'
|
2471
|
+
- regex: 'BQ-5511L'
|
2472
|
+
model: 'Bliss'
|
2473
|
+
- regex: 'BQ(ru)?-5510'
|
2474
|
+
model: 'Strike Power Max 4G'
|
2475
|
+
- regex: 'BQ-5508L'
|
2476
|
+
model: 'Next LTE'
|
2477
|
+
- regex: 'BQ-5507L'
|
2478
|
+
model: 'Iron Max'
|
2479
|
+
- regex: 'BQ(ru)?-5504'
|
2480
|
+
model: 'Strike Selfie Max'
|
2481
|
+
- regex: 'BQ(ru)?-5503'
|
2482
|
+
model: 'Nice 2'
|
2483
|
+
- regex: 'BQS-5502'
|
2484
|
+
model: 'Hammer'
|
2485
|
+
- regex: 'BQS-5501'
|
2486
|
+
model: 'Kawasaki'
|
2090
2487
|
- regex: 'BQS-5500'
|
2091
2488
|
model: 'Vancouver'
|
2092
|
-
- regex: 'BQ
|
2093
|
-
model: '
|
2094
|
-
- regex: 'BQ
|
2095
|
-
model: 'Velvet'
|
2096
|
-
- regex: 'BQ
|
2097
|
-
model: '
|
2098
|
-
- regex: 'BQ-
|
2099
|
-
model: '
|
2489
|
+
- regex: 'BQ-5500L'
|
2490
|
+
model: 'Advance'
|
2491
|
+
- regex: 'BQ-5302G'
|
2492
|
+
model: 'Velvet 2'
|
2493
|
+
- regex: 'BQ-5301'
|
2494
|
+
model: 'Strike View'
|
2495
|
+
- regex: 'BQ-5300G'
|
2496
|
+
model: 'Velvet View'
|
2497
|
+
- regex: 'BQ(ru)?-5211|BQS-5020'
|
2498
|
+
model: 'Strike'
|
2499
|
+
- regex: 'BQ-5206L'
|
2500
|
+
model: 'Balance'
|
2501
|
+
- regex: 'BQ(ru)?-5204|BQS-5050'
|
2502
|
+
model: 'Strike Selfie'
|
2503
|
+
- regex: 'BQ(ru)?-5203'
|
2504
|
+
model: 'Vision'
|
2100
2505
|
- regex: 'BQ(ru)?-5202'
|
2101
2506
|
model: 'Space Lite'
|
2102
|
-
- regex: 'BQ(ru)?-
|
2103
|
-
model: '
|
2104
|
-
- regex: 'BQ
|
2105
|
-
model: '
|
2507
|
+
- regex: 'BQ(ru)?-5201'
|
2508
|
+
model: 'Space'
|
2509
|
+
- regex: 'BQ-5082'
|
2510
|
+
model: 'Sense 2'
|
2511
|
+
- regex: 'BQ-5071'
|
2512
|
+
model: 'Belief'
|
2513
|
+
- regex: 'BQS-5065|BQ-5340'
|
2514
|
+
model: 'Choice'
|
2106
2515
|
- regex: 'BQ(ru)?-5059|BQ-5514G'
|
2107
2516
|
model: 'Strike Power'
|
2108
|
-
- regex: 'BQ(ru)?-4072'
|
2109
|
-
model: 'Strike Mini'
|
2110
|
-
- regex: 'BQ(ru)?-5521'
|
2111
|
-
model: 'Strike Power Max'
|
2112
2517
|
- regex: 'BQ-5058'
|
2113
2518
|
model: 'Strike Power Easy'
|
2114
|
-
- regex: 'BQ-6200L|BQ-6000L'
|
2115
|
-
model: 'Aurora'
|
2116
|
-
- regex: 'BQ(ru)?-5000'
|
2117
|
-
model: 'Tokyo'
|
2118
|
-
- regex: 'BQ-6010G'
|
2119
|
-
model: 'Practic'
|
2120
|
-
- regex: 'BQ(ru)?-5204|BQS-5050'
|
2121
|
-
model: 'Strike Selfie'
|
2122
|
-
- regex: 'BQ(ru)?-5504'
|
2123
|
-
model: 'Strike Selfie Max'
|
2124
2519
|
- regex: 'BQ(ru)?-5057'
|
2125
2520
|
model: 'Strike 2'
|
2126
|
-
- regex: 'BQ
|
2127
|
-
model: '
|
2128
|
-
- regex: '
|
2129
|
-
model: '
|
2521
|
+
- regex: 'BQ-5056|BQS-5030'
|
2522
|
+
model: 'Fresh'
|
2523
|
+
- regex: 'BQS-5055'
|
2524
|
+
model: 'Turbo Plus'
|
2525
|
+
- regex: 'BQ(ru)?-5054'
|
2526
|
+
model: 'Crystal'
|
2527
|
+
- regex: 'BQ-5052'
|
2528
|
+
model: 'Sense'
|
2529
|
+
- regex: 'BQ(S)?-5045'
|
2530
|
+
model: 'Fast'
|
2531
|
+
- regex: 'BQ(ru)?-5037|BQ-5514L'
|
2532
|
+
model: 'Strike Power 4G'
|
2533
|
+
- regex: 'BQ(ru)?-5035'
|
2534
|
+
model: 'Velvet'
|
2130
2535
|
- regex: 'BQ(ru)?-5033'
|
2131
2536
|
model: 'Shark'
|
2132
|
-
- regex: 'BQ-4077'
|
2133
|
-
model: 'Shark Mini'
|
2134
2537
|
- regex: 'BQ-5032'
|
2135
2538
|
model: 'Element'
|
2136
|
-
- regex: '
|
2137
|
-
model: '
|
2138
|
-
- regex: '
|
2139
|
-
model: '
|
2140
|
-
- regex: 'BQ-
|
2141
|
-
model: '
|
2142
|
-
- regex: 'BQ-
|
2143
|
-
model: '
|
2144
|
-
- regex: '
|
2145
|
-
model: '
|
2539
|
+
- regex: 'BQS-5025'
|
2540
|
+
model: 'High Way'
|
2541
|
+
- regex: 'BQ(ru)?-5022'
|
2542
|
+
model: 'Bond'
|
2543
|
+
- regex: 'BQ-5015L'
|
2544
|
+
model: 'First'
|
2545
|
+
- regex: 'BQ-5012L'
|
2546
|
+
model: 'Rich'
|
2547
|
+
- regex: 'BQS-5011'
|
2548
|
+
model: 'Monte Carlo'
|
2549
|
+
- regex: 'BQ-5010G'
|
2550
|
+
model: 'Spot'
|
2551
|
+
- regex: 'BQS-5010'
|
2552
|
+
model: 'Prague'
|
2553
|
+
- regex: 'BQ-5009L'
|
2554
|
+
model: 'Trend'
|
2555
|
+
- regex: 'BQS-500[59]'
|
2556
|
+
model: 'Sydney'
|
2557
|
+
- regex: 'BQ-5008L'
|
2558
|
+
model: 'Brave'
|
2146
2559
|
- regex: 'BQ-5007L'
|
2147
2560
|
model: 'Iron'
|
2148
|
-
- regex: '
|
2149
|
-
model: '
|
2150
|
-
- regex: 'BQ-
|
2151
|
-
model: '
|
2152
|
-
- regex: '
|
2153
|
-
model: '
|
2154
|
-
- regex: '
|
2155
|
-
model: '
|
2156
|
-
|
2157
|
-
|
2158
|
-
|
2159
|
-
|
2160
|
-
- regex: 'BQ-
|
2161
|
-
model: '
|
2162
|
-
|
2163
|
-
|
2164
|
-
|
2165
|
-
|
2166
|
-
- regex: '
|
2167
|
-
model: '
|
2168
|
-
|
2169
|
-
|
2170
|
-
|
2171
|
-
|
2172
|
-
- regex: '
|
2173
|
-
model: '
|
2174
|
-
|
2561
|
+
- regex: 'BQS-5006'
|
2562
|
+
model: 'Los Angeles'
|
2563
|
+
- regex: 'BQ-5005L'
|
2564
|
+
model: 'Intense'
|
2565
|
+
- regex: 'BQS-5004'
|
2566
|
+
model: 'Paris'
|
2567
|
+
- regex: 'BQ-5003L'
|
2568
|
+
model: 'Shark Pro'
|
2569
|
+
- regex: 'BQ-5002G'
|
2570
|
+
model: 'Fun'
|
2571
|
+
- regex: 'BQS-5002'
|
2572
|
+
model: 'Colombo'
|
2573
|
+
- regex: 'BQ-5001L'
|
2574
|
+
model: 'Contact'
|
2575
|
+
- regex: 'BQS-5001'
|
2576
|
+
model: 'Milan'
|
2577
|
+
- regex: 'BQ(ru|S)?-5000'
|
2578
|
+
model: 'Tokyo'
|
2579
|
+
- regex: 'BQS-4800'
|
2580
|
+
model: 'Blade'
|
2581
|
+
- regex: 'BQS-4707'
|
2582
|
+
model: 'Montreal'
|
2583
|
+
- regex: 'BQS-4702'
|
2584
|
+
model: 'Оsaka'
|
2585
|
+
- regex: 'BQS-4701'
|
2586
|
+
model: 'Venice'
|
2587
|
+
- regex: 'BQ-(?:4585|5011G)'
|
2588
|
+
model: 'Fox View'
|
2589
|
+
- regex: 'BQS-4570'
|
2590
|
+
model: 'Drive'
|
2591
|
+
- regex: 'BQS-4560'
|
2592
|
+
model: 'Golf'
|
2593
|
+
- regex: 'BQS-4555'
|
2594
|
+
model: 'Turbo'
|
2595
|
+
- regex: 'BQS-4550'
|
2596
|
+
model: 'Richmond'
|
2597
|
+
- regex: 'BQ-(?:4526|5004G)'
|
2598
|
+
model: 'Fox'
|
2599
|
+
- regex: 'BQS-4525'
|
2600
|
+
model: 'Vienna'
|
2601
|
+
- regex: 'BQS-4516'
|
2602
|
+
model: 'Singapore'
|
2603
|
+
- regex: 'BQS-4515'
|
2604
|
+
model: 'Moscow'
|
2605
|
+
- regex: 'BQS-4510'
|
2606
|
+
model: 'Florence'
|
2607
|
+
- regex: 'BQS-4505'
|
2608
|
+
model: 'Santiago'
|
2609
|
+
- regex: 'BQS-4503'
|
2610
|
+
model: 'Dubai'
|
2611
|
+
- regex: 'BQS-4502'
|
2612
|
+
model: 'Kingston'
|
2613
|
+
- regex: 'BQS-4501 Bristol'
|
2614
|
+
model: 'Bristol'
|
2615
|
+
- regex: 'BQ-4501G'
|
2616
|
+
model: 'Fox Easy'
|
2617
|
+
- regex: 'BQ-4077'
|
2618
|
+
model: 'Shark Mini'
|
2619
|
+
- regex: 'BQ(ru)?-4072'
|
2620
|
+
model: 'Strike Mini'
|
2621
|
+
- regex: 'BQ(ru)?[- ]402[68]'
|
2622
|
+
model: 'Up!'
|
2623
|
+
- regex: 'BQS-4010'
|
2624
|
+
model: 'Aspen'
|
2625
|
+
- regex: 'BQS-4009'
|
2626
|
+
model: 'Orleans'
|
2627
|
+
- regex: 'BQS-4008'
|
2628
|
+
model: 'Shanghai'
|
2629
|
+
- regex: 'BQS-4007'
|
2630
|
+
model: 'Valencia'
|
2631
|
+
- regex: 'BQS-4005'
|
2632
|
+
model: 'Seoul'
|
2633
|
+
- regex: 'BQS-4004'
|
2634
|
+
model: 'Dusseldorf'
|
2635
|
+
- regex: 'BQS-4003'
|
2636
|
+
model: 'Verona'
|
2637
|
+
- regex: 'BQ-4001G'
|
2638
|
+
model: 'Cool'
|
2639
|
+
- regex: 'BQS-4001'
|
2640
|
+
model: 'Oxford'
|
2641
|
+
- regex: 'BQS-3510'
|
2642
|
+
model: 'Aspen Mini'
|
2643
|
+
- regex: 'BQS-3503'
|
2644
|
+
model: 'Bombay'
|
2175
2645
|
- regex: 'BQ-1085L'
|
2176
2646
|
model: 'Hornet Max Pro'
|
2177
2647
|
device: 'tablet'
|
2178
2648
|
- regex: 'BQ-1084L'
|
2179
2649
|
model: 'Hornet Max'
|
2180
2650
|
device: 'tablet'
|
2181
|
-
- regex: 'BQ-
|
2182
|
-
model: '
|
2183
|
-
- regex: 'BQ-7010G'
|
2184
|
-
model: 'Max'
|
2185
|
-
device: 'tablet'
|
2186
|
-
- regex: 'BQ-7051G'
|
2187
|
-
model: 'Elba'
|
2651
|
+
- regex: 'BQ-1083G'
|
2652
|
+
model: 'Armor Pro Plus'
|
2188
2653
|
device: 'tablet'
|
2189
2654
|
- regex: 'BQ-1082G'
|
2190
2655
|
model: 'Armor Pro'
|
2191
2656
|
device: 'tablet'
|
2192
|
-
- regex: 'BQ-1083G'
|
2193
|
-
model: 'Armor Pro Plus'
|
2194
|
-
device: 'tablet'
|
2195
2657
|
- regex: 'BQ-1077L'
|
2196
2658
|
model: 'Armor Pro LTE'
|
2197
2659
|
device: 'tablet'
|
2198
|
-
- regex: 'BQ
|
2199
|
-
model: '
|
2200
|
-
device: 'tablet'
|
2201
|
-
- regex: 'BQ-8041L'
|
2202
|
-
model: 'Art'
|
2203
|
-
device: 'tablet'
|
2204
|
-
- regex: 'BQ-7006G'
|
2205
|
-
model: 'Union'
|
2660
|
+
- regex: 'BQ(ru)?-1057L'
|
2661
|
+
model: 'Passion'
|
2206
2662
|
device: 'tablet'
|
2207
2663
|
- regex: 'BQ-1051G'
|
2208
2664
|
model: 'Corsika'
|
2209
2665
|
device: 'tablet'
|
2210
|
-
- regex: 'BQ-8052G'
|
2211
|
-
model: 'BQ-8052G'
|
2212
|
-
device: 'tablet'
|
2213
2666
|
- regex: 'BQ-1050G'
|
2214
2667
|
model: 'Hawaii'
|
2215
2668
|
device: 'tablet'
|
2216
2669
|
- regex: 'BQ-1008G'
|
2217
2670
|
model: 'Grace'
|
2218
2671
|
device: 'tablet'
|
2219
|
-
- regex: '
|
2220
|
-
model: '
|
2672
|
+
- regex: 'Aquaris M8'
|
2673
|
+
model: 'Aquaris M8'
|
2221
2674
|
device: 'tablet'
|
2675
|
+
- regex: 'BQ(ru)?[_ ]5590'
|
2676
|
+
model: 'Spring'
|
2677
|
+
- regex: 'BQ(S)?-(6016L|5520)'
|
2678
|
+
model: 'Mercury'
|
2679
|
+
- regex: 'BQ(S)?-(5701L|5060)'
|
2680
|
+
model: 'Slim'
|
2222
2681
|
- regex: '(BQ-7850|BQ-700[12]G|BQ-8002G|BQ-905[12]G|BQ-9702G|BQ-7056G)'
|
2223
2682
|
model: '$1'
|
2224
2683
|
device: 'tablet'
|
@@ -2243,9 +2702,15 @@ bq:
|
|
2243
2702
|
- regex: 'BQ-7050G'
|
2244
2703
|
model: 'Malta'
|
2245
2704
|
device: 'tablet'
|
2705
|
+
- regex: 'BQ-7000G'
|
2706
|
+
model: 'Сharm'
|
2707
|
+
device: 'tablet'
|
2246
2708
|
- regex: 'BQ-7005G'
|
2247
2709
|
model: 'Maui'
|
2248
2710
|
device: 'tablet'
|
2711
|
+
- regex: 'BQ-7098G'
|
2712
|
+
model: 'Armor Power'
|
2713
|
+
device: 'tablet'
|
2249
2714
|
- regex: 'BQ-1007'
|
2250
2715
|
model: 'Necker'
|
2251
2716
|
device: 'tablet'
|
@@ -2314,6 +2779,16 @@ Casio:
|
|
2314
2779
|
- regex: 'C811 4G[);/ ]'
|
2315
2780
|
model: "G'zOne Commando 4G LTE"
|
2316
2781
|
|
2782
|
+
# Casper
|
2783
|
+
Casper:
|
2784
|
+
regex: 'CASPER_|VIA_(G4|M4|P2|V8C)'
|
2785
|
+
device: 'smartphone'
|
2786
|
+
models:
|
2787
|
+
- regex: 'CASPER_VIA_(E2|M[13]|V[69])'
|
2788
|
+
model: 'VIA $1'
|
2789
|
+
- regex: 'VIA_(G4|M4|P2|V8C)'
|
2790
|
+
model: 'VIA $1'
|
2791
|
+
|
2317
2792
|
# Cat
|
2318
2793
|
Cat:
|
2319
2794
|
regex: 'Cat ?(tablet|stargate|nova)|B15Q'
|
@@ -2518,7 +2993,7 @@ ConCorde:
|
|
2518
2993
|
|
2519
2994
|
# Condor
|
2520
2995
|
Condor:
|
2521
|
-
regex: '(?:PGN\-?[456][012][0-9]|PHS\-601|Plume L1)[;/) ]|CTAB[^/;]+ Build'
|
2996
|
+
regex: 'Allure M3|(?:PGN\-?[456][012][0-9]|PHS\-601|Plume L1)[;/) ]|CTAB[^/;]+ Build'
|
2522
2997
|
device: 'smartphone'
|
2523
2998
|
models:
|
2524
2999
|
- regex: 'CTAB([^/;]+) Build'
|
@@ -2539,6 +3014,8 @@ Condor:
|
|
2539
3014
|
model: 'C8S'
|
2540
3015
|
- regex: 'PGN\-?506'
|
2541
3016
|
model: 'C7'
|
3017
|
+
- regex: 'Allure M3'
|
3018
|
+
model: 'Allure M3'
|
2542
3019
|
- regex: 'PGN\-?507'
|
2543
3020
|
model: 'Allure A9'
|
2544
3021
|
- regex: 'PGN\-?508'
|
@@ -2617,6 +3094,14 @@ Coolpad:
|
|
2617
3094
|
- regex: '(?:YL-)?Coolpad[ _\-]?([a-z0-9\-]+)'
|
2618
3095
|
model: '$1'
|
2619
3096
|
|
3097
|
+
# Clarmin
|
3098
|
+
Clarmin:
|
3099
|
+
regex: 'Clarmin'
|
3100
|
+
device: 'smartphone'
|
3101
|
+
models:
|
3102
|
+
- regex: 'Clarmin_B6'
|
3103
|
+
model: 'B6'
|
3104
|
+
|
2620
3105
|
# Cricket
|
2621
3106
|
Cricket:
|
2622
3107
|
regex: 'Cricket-([a-z0-9]+)'
|
@@ -2647,11 +3132,13 @@ Crosscall:
|
|
2647
3132
|
|
2648
3133
|
# Cube
|
2649
3134
|
Cube:
|
2650
|
-
regex: '(<!myPhone ?)Cube|(U[0-9]+GT|K8GT)'
|
3135
|
+
regex: '(<!myPhone ?)Cube|(U[0-9]+GT|K8GT)|(T8-PLUSM?S?)[);/ ]'
|
2651
3136
|
device: 'tablet'
|
2652
3137
|
models:
|
2653
3138
|
- regex: 'U27GT'
|
2654
3139
|
model: 'Talk 8'
|
3140
|
+
- regex: 'T8-PLUSM?S?[);/ ]'
|
3141
|
+
model: 'T8 Ultimate'
|
2655
3142
|
- regex: 'U55GT'
|
2656
3143
|
model: 'Talk 79'
|
2657
3144
|
- regex: 'U65GT'
|
@@ -2689,7 +3176,7 @@ CUBOT:
|
|
2689
3176
|
model: 'Power'
|
2690
3177
|
- regex: 'CUBOT_X18_Plus'
|
2691
3178
|
model: 'X18 Plus'
|
2692
|
-
- regex: 'CUBOT[ _](H3|J3|P7|P20|
|
3179
|
+
- regex: 'CUBOT[ _](A5|C6W|H3|J3|P7|P20|R9|R11|X18)'
|
2693
3180
|
model: '$1'
|
2694
3181
|
- regex: 'CUBOT ([^;/]+) Build'
|
2695
3182
|
model: '$1'
|
@@ -2774,6 +3261,12 @@ Dell:
|
|
2774
3261
|
models:
|
2775
3262
|
- regex: 'XCD35'
|
2776
3263
|
model: 'XCD35'
|
3264
|
+
- regex: '(?:Dell )?Venue Build'
|
3265
|
+
model: 'Venue'
|
3266
|
+
device: 'smartphone'
|
3267
|
+
- regex: 'Dell; Venue Pro'
|
3268
|
+
model: 'Venue Pro'
|
3269
|
+
device: 'smartphone'
|
2777
3270
|
- regex: '(?:Dell )?(Streak|Venue) ?([^/;]*) Build'
|
2778
3271
|
model: '$1 $2'
|
2779
3272
|
device: 'tablet'
|
@@ -2797,7 +3290,7 @@ Desay:
|
|
2797
3290
|
|
2798
3291
|
# DEXP
|
2799
3292
|
DEXP:
|
2800
|
-
regex: 'DEXP|(?:Ursus|Ixion)[ _]([^;/)]+)|H135[ _]Build'
|
3293
|
+
regex: 'DEXP|(?:Ursus|Ixion)[ _]([^;/)]+)|H135[ _]Build|(BL150|BS155|BS160|BS550|BS650)[);/ ]'
|
2801
3294
|
device: 'smartphone'
|
2802
3295
|
models:
|
2803
3296
|
|
@@ -2811,7 +3304,8 @@ DEXP:
|
|
2811
3304
|
- regex: 'H135[ _]Build'
|
2812
3305
|
model: 'Atlas'
|
2813
3306
|
device: 'desktop'
|
2814
|
-
|
3307
|
+
- regex: '(BL150|BS155|BS160|BS550|BS650)[);/ ]'
|
3308
|
+
model: '$1'
|
2815
3309
|
- regex: 'DEXP[ _]([^;/]+) Build'
|
2816
3310
|
model: '$1'
|
2817
3311
|
- regex: 'DEXP[ _]([^);/]+)[);/ ]'
|
@@ -2862,7 +3356,7 @@ Digiland:
|
|
2862
3356
|
|
2863
3357
|
# Digma
|
2864
3358
|
Digma:
|
2865
|
-
regex: 'Digma[_ ]([^;/]+) Build|HIT HT707[10]MG|CITI 1902 3G|(CITI (?:[A-Z0-9]+) 3G) C[ST]500[67]PG|iDrQ10 3G|iDxD8 3G|iDnD7|HIT 4G HT7074ML|IDX5|(iDx10|iDx7)|MVM900H(?:WZ|C)|MVM908HCZ|iDxD10 3G|(iDxD[45]|iDxQ5)|iDxD7[_ ]3G|PS604M|PT452E|Linx A400 3G LT4001PG|Linx C500 3G LT5001PG|Linx PS474S|NS6902QL|NS9797MG|((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\.ST]+|Prime)(?:[ _][43]G)?)|(VOX[ _](?:[0-9\.A-Z]+)[_ ][43]G)'
|
3359
|
+
regex: 'Digma[_ ]([^;/]+) Build|HIT HT707[10]MG|CITI 1902 3G|(CITI (?:[A-Z0-9]+) 3G) C[ST]500[67]PG|iDrQ10 3G|iDxD8 3G|iDnD7|HIT 4G HT7074ML|IDX5|(iDx10|iDx7)|MVM900H(?:WZ|C)|MVM908HCZ|iDxD10 3G|(iDxD[45]|iDxQ5)|iDxD7[_ ]3G|PS604M|PT452E|Linx A400 3G LT4001PG|Linx C500 3G LT5001PG|Linx PS474S|LS504[01]PL|LT40(47|54)MG|LS405[01]MG|LS5053ML|LT5048MG|LT5052ML|LT4049PG|NS6902QL|NS9797MG|((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\.ST]+|Prime)(?:[ _][43]G)?)|(VOX[ _](?:[0-9\.A-Z]+)[_ ][43]G)'
|
2866
3360
|
device: 'smartphone'
|
2867
3361
|
models:
|
2868
3362
|
- regex: 'HIT HT707[10]MG'
|
@@ -2877,6 +3371,26 @@ Digma:
|
|
2877
3371
|
model: '$1'
|
2878
3372
|
- regex: 'PS604M'
|
2879
3373
|
model: 'Linx 6.0'
|
3374
|
+
- regex: 'LT4049PG'
|
3375
|
+
model: 'Linx Atom 3G'
|
3376
|
+
- regex: 'LT5048MG'
|
3377
|
+
model: 'Linx Joy 3G'
|
3378
|
+
- regex: 'LT5052ML'
|
3379
|
+
model: 'Linx Base 4G'
|
3380
|
+
- regex: 'LT4047MG'
|
3381
|
+
model: 'Linx Alfa 3G'
|
3382
|
+
- regex: 'LS4050MG'
|
3383
|
+
model: 'Linx X1 3G'
|
3384
|
+
- regex: 'LS4051MG'
|
3385
|
+
model: 'Linx X1 Pro 3G'
|
3386
|
+
- regex: 'LT4054MG'
|
3387
|
+
model: 'Linx Argo 3G'
|
3388
|
+
- regex: 'LS5041PL'
|
3389
|
+
model: 'Linx Trix 4G'
|
3390
|
+
- regex: 'LS5040PL'
|
3391
|
+
model: 'Linx Rage 4G'
|
3392
|
+
- regex: 'LS5053ML'
|
3393
|
+
model: 'Linx Pay 4G'
|
2880
3394
|
- regex: '(Linx A400 3G) LT4001PG'
|
2881
3395
|
model: '$1'
|
2882
3396
|
- regex: '(Linx C500 3G) LT5001PG'
|
@@ -2940,7 +3454,7 @@ DoCoMo:
|
|
2940
3454
|
|
2941
3455
|
# Doogee
|
2942
3456
|
Doogee:
|
2943
|
-
regex: 'DOOGEE[ _-]|Valencia2_Y100pro|X5max(?:[_ ]PRO)?|(BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)[);/ ]|BL[579]000[);/ ]|BL12000|BL5500[_ ]Lite'
|
3457
|
+
regex: 'DOOGEE[ _-]|Valencia2_Y100pro|X5max(?:[_ ]PRO)?|(KISSME|BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)[);/ ]|BL[579]000[);/ ]|BL12000|BL5500[_ ]Lite'
|
2944
3458
|
device: 'smartphone'
|
2945
3459
|
models:
|
2946
3460
|
- regex: 'Valencia2_Y100pro'
|
@@ -2953,6 +3467,8 @@ Doogee:
|
|
2953
3467
|
model: 'BL5500 Lite'
|
2954
3468
|
- regex: 'BL12000'
|
2955
3469
|
model: 'BL12000'
|
3470
|
+
- regex: 'KISSME-DG580'
|
3471
|
+
model: 'Kissme DG580'
|
2956
3472
|
- regex: '(X5max(?:[_ ]PRO)?)'
|
2957
3473
|
model: '$1'
|
2958
3474
|
- regex: '(?:DOOGEE[ _-])?(BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|Valencia2_Y100pro|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)[);/ ]'
|
@@ -3147,6 +3663,17 @@ Evercoss:
|
|
3147
3663
|
- regex: 'A75A\*'
|
3148
3664
|
model: 'A75A Star'
|
3149
3665
|
|
3666
|
+
# Eurostar
|
3667
|
+
Eurostar:
|
3668
|
+
regex: '(ET7002C-H12|Onyx-[13]S)[/;) ]'
|
3669
|
+
device: 'smartphone'
|
3670
|
+
models:
|
3671
|
+
- regex: 'Onyx-([13]S)[/;) ]'
|
3672
|
+
model: 'Onyx $1'
|
3673
|
+
- regex: 'ET7002C-H12[/;) ]'
|
3674
|
+
model: 'ePad 4S'
|
3675
|
+
device: 'tablet'
|
3676
|
+
|
3150
3677
|
# Eton
|
3151
3678
|
Eton:
|
3152
3679
|
regex: 'Eton'
|
@@ -3169,6 +3696,12 @@ Rikomagic:
|
|
3169
3696
|
device: 'tv'
|
3170
3697
|
model: 'MK$1'
|
3171
3698
|
|
3699
|
+
# Rinno
|
3700
|
+
Rinno:
|
3701
|
+
regex: 'Rinno (R(?:400|505))'
|
3702
|
+
device: 'smartphone'
|
3703
|
+
model: '$1'
|
3704
|
+
|
3172
3705
|
# Riviera
|
3173
3706
|
Riviera:
|
3174
3707
|
regex: 'RIVIERA '
|
@@ -3185,7 +3718,7 @@ Senseit:
|
|
3185
3718
|
|
3186
3719
|
# Sony & Sony Ericsson (combined as they are mixed up)
|
3187
3720
|
Sony:
|
3188
|
-
regex: 'Sony(?: ?Ericsson)?|SGP|Xperia|([456]0[12]|701)SO|C1[569]0[45]|C2[01]0[45]|C230[45]|C530[236]|C550[23]|C6[56]0[236]|C6616|C68(?:0[26]|[34]3)|C69(?:0[236]|16|43)|D200[45]|D21(?:0[45]|14)|D22(?:0[236]|12|43)|D230[2356]|D240[36]|D25(?:02|33)|D510[236]|D530[36]|D5316|D5322|D5503|D58[03]3|D65(?:0[23]|43|63)|D66[03458]3|D66[14]6|D6708|E(?:20[0345]3|2006|210[45]|2115|2124|230[36]|2312|23[356]3|530[36]|53[3456]3|5506|55[356]3|56[46305][36]|58[02]3|65[35]3|66[0358]3|68[358]3)|F311[12356]|F331[13]|F321[12356]|F5[13]21|F5122|F813[12]|F833[12]|G312[135]|G311[26]|G322[136]|G3212|G331[123]|G3412|G3416|G342[136]|G823[12]|G834[123]|G8[14]4[12]|H(?:3113|3123|3133|3213|3223|3311|3321|4113|4133|4213|4233|4311|4331|4413|4433|82[167]6|83[12]4|8416|9436)|(?:WT|LT|SO|ST|SK|MK)[0-9]+[a-z]+[0-9]*(?: Build|\))|X?L39H|XM50[ht]|W960|portalmmm/2\.0 K|S3[69]h|SOL2[246]|SOV3[1234567]|X10[ia]v?|E1[05][ai]v?|MT[0-9]{2}[a-z]? Build|SO-0(?:[12]C|[345]D|[234]E|[1235]F|[1234]G|[134]H|[1234]J|
|
3721
|
+
regex: 'Sony(?: ?Ericsson)?|SGP|Xperia|([456]0[12]|701)SO|C1[569]0[45]|C2[01]0[45]|C230[45]|C530[236]|C550[23]|C6[56]0[236]|C6616|C68(?:0[26]|[34]3)|C69(?:0[236]|16|43)|D200[45]|D21(?:0[45]|14)|D22(?:0[236]|12|43)|D230[2356]|D240[36]|D25(?:02|33)|D510[236]|D530[36]|D5316|D5322|D5503|D58[03]3|D65(?:0[23]|43|63)|D66[03458]3|D66[14]6|D6708|E(?:20[0345]3|2006|210[45]|2115|2124|230[36]|2312|23[356]3|530[36]|53[3456]3|5506|55[356]3|56[46305][36]|58[02]3|65[35]3|66[0358]3|68[358]3)|I[34]312|I4332|F311[12356]|F331[13]|F321[12356]|F5[13]21|F5122|F813[12]|F833[12]|G312[135]|G311[26]|G322[136]|G3212|G331[123]|G3412|G3416|G342[136]|G823[12]|G834[123]|G8[14]4[12]|H(?:3113|3123|3133|3213|3223|3311|3321|4113|4133|4213|4233|4311|4331|4413|4433|82[167]6|83[12]4|8416|9436)|(?:WT|LT|SO|ST|SK|MK)[0-9]+[a-z]+[0-9]*(?: Build|\))|X?L39H|XM50[ht]|W960|portalmmm/2\.0 K|S3[69]h|SOL2[246]|SOV3[1234567]|X10[ia]v?|E1[05][ai]v?|MT[0-9]{2}[a-z]? Build|SO-0(?:[12]C|[345]D|[234]E|[1235]F|[1234]G|[134]H|[1234]J|[12]K)|R800[aix]|J9110|J81[17]0|I[34]113|I3[12]23|I42[19]3|H9493|H8296|H8166|H4493|LiveWithWalkman'
|
3189
3722
|
device: 'smartphone'
|
3190
3723
|
models:
|
3191
3724
|
# SONY ERICSSON: explicit smartphone models
|
@@ -3314,9 +3847,11 @@ Sony:
|
|
3314
3847
|
# SONY: explicit smartphone models
|
3315
3848
|
- regex: 'SO-04G'
|
3316
3849
|
model: 'Xperia A4'
|
3317
|
-
- regex: '(?:Sony(?:Ericsson)?)?
|
3850
|
+
- regex: '(?:Sony(?:Ericsson)?)?I(?:4113|31[12]3)'
|
3851
|
+
model: 'Xperia 10'
|
3852
|
+
- regex: '(?:Sony(?:Ericsson)?)?I(?:42[19]3|3223)'
|
3318
3853
|
model: 'Xperia 10 Plus'
|
3319
|
-
- regex: '(?:Sony(?:Ericsson)?)?
|
3854
|
+
- regex: '(?:Sony(?:Ericsson)?)?J(?:9110|81[17]0)'
|
3320
3855
|
model: 'Xperia 1'
|
3321
3856
|
- regex: '(?:Sony(?:Ericsson)?)?LT22i'
|
3322
3857
|
model: 'Xperia P'
|
@@ -3397,6 +3932,10 @@ Sony:
|
|
3397
3932
|
model: 'Xperia L2'
|
3398
3933
|
- regex: 'H43[13]1'
|
3399
3934
|
model: 'Xperia L2 Dual'
|
3935
|
+
- regex: 'I3312'
|
3936
|
+
model: 'Xperia L3'
|
3937
|
+
- regex: 'I43[13]2'
|
3938
|
+
model: 'Xperia L3 Dual'
|
3400
3939
|
- regex: '(?:Sony(?:Ericsson)?)?D2302'
|
3401
3940
|
model: 'Xperia M2 Dual'
|
3402
3941
|
- regex: '(?:Sony(?:Ericsson)?)?D230[356]'
|
@@ -3469,7 +4008,7 @@ Sony:
|
|
3469
4008
|
model: 'Xperia XA Ultra Dual'
|
3470
4009
|
- regex: '(?:Sony(?:Ericsson)?)?F833[12]|SOV34|601SO|SO-01J'
|
3471
4010
|
model: 'Xperia XZ'
|
3472
|
-
- regex: '(?:Sony(?:Ericsson)?)?(?:701SO|SOV36|G834[123])'
|
4011
|
+
- regex: '(?:Sony(?:Ericsson)?)?(?:701SO|SOV36|G834[123]|SO-01K)'
|
3473
4012
|
model: 'Xperia XZ1'
|
3474
4013
|
- regex: '(?:Sony(?:Ericsson)?)?G8441|SO-02K'
|
3475
4014
|
model: 'Xperia XZ1 Compact'
|
@@ -3658,6 +4197,17 @@ eTouch:
|
|
3658
4197
|
device: 'smartphone'
|
3659
4198
|
model: '$1'
|
3660
4199
|
|
4200
|
+
# Etuline
|
4201
|
+
Etuline:
|
4202
|
+
regex: '(ETL-S(?:3520|4521|5042|5084|6022)|ETL-T(?:752G|882G|9[78]0))[/); ]'
|
4203
|
+
device: 'smartphone'
|
4204
|
+
models:
|
4205
|
+
- regex: '(ETL-S(?:[^/); ]+))'
|
4206
|
+
model: '$1'
|
4207
|
+
- regex: '(ETL-T(?:[^/); ]+))'
|
4208
|
+
device: 'tablet'
|
4209
|
+
model: '$1'
|
4210
|
+
|
3661
4211
|
# Storex
|
3662
4212
|
Storex:
|
3663
4213
|
regex: "eZee[^a-z]*Tab ?([^;/]*) Build|STOREX LinkBox"
|
@@ -3687,6 +4237,8 @@ Evolio:
|
|
3687
4237
|
models:
|
3688
4238
|
- regex: 'M4MAGIC'
|
3689
4239
|
model: 'M4 Magic'
|
4240
|
+
- regex: 'Evolio_M5Pro'
|
4241
|
+
model: 'M5 Pro'
|
3690
4242
|
- regex: 'Evolio[ _](M6|S4 Cobalt|S5|X10|Yuppi)'
|
3691
4243
|
model: '$1'
|
3692
4244
|
|
@@ -3811,6 +4363,12 @@ Fairphone:
|
|
3811
4363
|
device: 'smartphone'
|
3812
4364
|
model: '$1'
|
3813
4365
|
|
4366
|
+
# Famoco
|
4367
|
+
Famoco:
|
4368
|
+
regex: '(FX[123]00)'
|
4369
|
+
device: 'smartphone'
|
4370
|
+
model: '$1'
|
4371
|
+
|
3814
4372
|
# FiGO
|
3815
4373
|
FiGO:
|
3816
4374
|
regex: 'ATRIUM II F55L2|TRIO F40LT|EPIC F50G|Gravity X55L|Orion M50L|ULTRA M50G|M405B|VIRTUE3|F55L Build'
|
@@ -3930,8 +4488,10 @@ G-TiDE:
|
|
3930
4488
|
models:
|
3931
4489
|
- regex: 'Shining7'
|
3932
4490
|
model: 'Shining 7'
|
3933
|
-
- regex: 'G-TiDE_(A1|
|
4491
|
+
- regex: 'G-TiDE_(A1|S[34])'
|
3934
4492
|
model: '$1'
|
4493
|
+
- regex: 'G-TiDE V6'
|
4494
|
+
model: 'V6'
|
3935
4495
|
- regex: 'E(57|60|66|72|77)'
|
3936
4496
|
model: '$1'
|
3937
4497
|
|
@@ -3992,6 +4552,9 @@ Ginzzu:
|
|
3992
4552
|
models:
|
3993
4553
|
- regex: 'GINZZU[_ ]?(S40[17]0|S4710|ST6040)'
|
3994
4554
|
model: '$1'
|
4555
|
+
- regex: 'GINZZU[_ ]?(GT-7105)'
|
4556
|
+
model: '$1'
|
4557
|
+
device: 'tablet'
|
3995
4558
|
- regex: '(RS6[12]D) ULTIMATE'
|
3996
4559
|
model: '$1 Ultimate'
|
3997
4560
|
- regex: '((?:RS(?:7[14]|81|9[67])D)|S50[45]0|S5120|S40[23]0|RS8502|RS9602|RS94D)[);/ ]'
|
@@ -3999,7 +4562,7 @@ Ginzzu:
|
|
3999
4562
|
|
4000
4563
|
# Gionee
|
4001
4564
|
Gionee:
|
4002
|
-
regex: '(?:GIO-)?GIONEE[ _-]?[a-z0-9]+|(?:Dream_D1|V188S?|GN[0-9]{3,4}[a-z]?)[);/ ]|F103(?: Pro)? Build|P5 mini Build|M7 Power '
|
4565
|
+
regex: '(?:GIO-)?GIONEE[ _-]?[a-z0-9]+|(?:Dream_D1|V188S?|GN[0-9]{3,4}[a-z]?)[);/ ]|F103(?: Pro)? Build|P5 mini Build|P7 Max Build|M7 Power '
|
4003
4566
|
device: 'smartphone'
|
4004
4567
|
models:
|
4005
4568
|
- regex: 'GN810[);/ ]'
|
@@ -4017,6 +4580,8 @@ Gionee:
|
|
4017
4580
|
model: 'M7 Power'
|
4018
4581
|
- regex: 'P5 mini Build'
|
4019
4582
|
model: 'P5 mini'
|
4583
|
+
- regex: 'P7 Max Build'
|
4584
|
+
model: 'P7 Max'
|
4020
4585
|
- regex: '(?:(?:GIO-)?GIONEE[ _-])?Dream_D1[);/ ]'
|
4021
4586
|
model: 'Dream D1'
|
4022
4587
|
- regex: '(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+).*Android'
|
@@ -4104,7 +4669,7 @@ Goly:
|
|
4104
4669
|
|
4105
4670
|
# Google
|
4106
4671
|
Google:
|
4107
|
-
regex: 'Nexus|GoogleTV|Glass|CrKey[^a-z0-9]|Pixel Build|Pixel (?:XL|C|[23]|[23] XL)'
|
4672
|
+
regex: 'Nexus|GoogleTV|Glass|CrKey[^a-z0-9]|Pixel(?: Build|\))|Pixel (?:XL|C|[23]|[23] XL)'
|
4108
4673
|
device: 'smartphone'
|
4109
4674
|
models:
|
4110
4675
|
- regex: 'Glass'
|
@@ -4125,7 +4690,7 @@ Google:
|
|
4125
4690
|
- regex: 'GoogleTV'
|
4126
4691
|
device: 'tv'
|
4127
4692
|
model: 'GoogleTV'
|
4128
|
-
- regex: 'Pixel Build'
|
4693
|
+
- regex: 'Pixel(?: Build|\))'
|
4129
4694
|
model: 'Pixel'
|
4130
4695
|
- regex: 'Pixel XL'
|
4131
4696
|
model: 'Pixel XL'
|
@@ -4257,6 +4822,17 @@ Hi-Level:
|
|
4257
4822
|
device: 'tablet'
|
4258
4823
|
model: 'HLV-T$1'
|
4259
4824
|
|
4825
|
+
# Hoffmann
|
4826
|
+
Hoffmann:
|
4827
|
+
regex: '(HOFFMANN|Neo[_ ]A[139]00)[);/ ]'
|
4828
|
+
device: 'smartphone'
|
4829
|
+
models:
|
4830
|
+
- regex: 'Neo[_ ](A[139]00)'
|
4831
|
+
model: 'Neo $1'
|
4832
|
+
- regex: 'HOFFMANN[ _]X[-_ ](Prime|Twist)'
|
4833
|
+
model: 'X $1'
|
4834
|
+
|
4835
|
+
|
4260
4836
|
# Homtom
|
4261
4837
|
Homtom:
|
4262
4838
|
regex: 'Homtom|(?:HT[0-9]{1,2})(?: ?Pro)?[);/ ]'
|
@@ -4285,23 +4861,33 @@ Hoozo:
|
|
4285
4861
|
|
4286
4862
|
# Huawei
|
4287
4863
|
Huawei:
|
4288
|
-
regex: '(HW-)?(?:Huawei|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANE|ARE|ATH|ATU|AUM|BAC|BAH|BG2|BGO|BKK|BKL|BLA|BLL|BLN|BND|BTV|CAG|CAM|CAN|CAZ|CHC|CHE[12]?|CHM|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|GRA|HMA|HRY|HWI|H[36]0|INE|JAT|JDN2|JKM|JMM|JSN|KIW|KOB|KSA|LDN|LLD|LND|LON|LUA|
|
4864
|
+
regex: '(HW-)?(?:Huawei|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANE|ARE|ARS|ATH|ATU|AUM|BAC|BAH|BAH2|BG2|BGO|BKK|BKL|BLA|BLL|BLN|BND|BTV|CAG|CAM|CAN|CAZ|CHC|CHE[12]?|CHM|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|GRA|HLK|HMA|HRY|HWI|H[36]0|INE|JAT|JDN|JDN2|JKM|JMM|JSN|KIW|KNT|KOB|KSA|LDN|LLD|LND|LON|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEM|NEO|NXT|PAR|PCT|PIC|PLE|PLK|POT|PRA|RIO|RNE|RVL|SCC|SCL|SEA|SHT|SLA|SNE|STF|STK|TAG|TIT|TNY|TRT|VCE|VEN|VIE|VKY|VNS|VOG|VRD|VTR|WAS|YAL|G(?:527|620S|621|630|735)|Y(?:221|330|550|6[23]5))-(?:[A-Z]{0,2}[0-9]{1,4}[A-Z]{0,2}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))[);/ ])|hi6210sft|HRY-LX1MEB|GEM-70[1-3]L|PE-UL00|VRD-W09'
|
4289
4865
|
device: 'smartphone'
|
4290
4866
|
models:
|
4867
|
+
- regex: 'ARS-([AT]L00|L22)[);/ ]'
|
4868
|
+
model: 'Y Max'
|
4291
4869
|
- regex: 'U(8230|8661|8667)[);/ ]'
|
4292
4870
|
model: 'U$1'
|
4293
4871
|
- regex: 'TAG-[ACT]L00'
|
4294
4872
|
model: 'Enjoy 5S'
|
4295
|
-
- regex: '
|
4296
|
-
model: 'Enjoy
|
4297
|
-
- regex: '
|
4873
|
+
- regex: 'DIG-(?:TL10|AL00)'
|
4874
|
+
model: 'Enjoy 6S'
|
4875
|
+
- regex: 'NCE-AL[10]0'
|
4876
|
+
model: 'Enjoy 6'
|
4877
|
+
- regex: 'SLA-(?:AL00|TL10)'
|
4878
|
+
model: 'Enjoy 7' # Nova Lite (2017)
|
4879
|
+
- regex: 'DUA-[TA]L00'
|
4880
|
+
model: 'Honor Play 7'
|
4881
|
+
- regex: 'FIG-(?:AL[10]0|TL10)'
|
4298
4882
|
model: 'Enjoy 7S'
|
4299
|
-
- regex: 'LDN-(?:
|
4883
|
+
- regex: 'LDN-(?:AL[12]0|TL20)'
|
4300
4884
|
model: 'Enjoy 8'
|
4301
|
-
- regex: 'ATU-AL1'
|
4885
|
+
- regex: 'ATU-(?:AL1|TL10)'
|
4302
4886
|
model: 'Enjoy 8e'
|
4303
4887
|
- regex: 'FLA-AL10'
|
4304
4888
|
model: 'Enjoy 8 Plus'
|
4889
|
+
- regex: 'MRD-[TA]L00'
|
4890
|
+
model: 'Enjoy 9e'
|
4305
4891
|
- regex: 'U8500[);/ ]'
|
4306
4892
|
model: 'Ideos X2'
|
4307
4893
|
- regex: 'U8510[);/ ]'
|
@@ -4342,21 +4928,30 @@ Huawei:
|
|
4342
4928
|
model: 'Ascend Y550'
|
4343
4929
|
- regex: 'U9508[);/ ]'
|
4344
4930
|
model: 'Honor 2'
|
4345
|
-
- regex: 'YAL-L21
|
4931
|
+
- regex: 'YAL-(?:L21|AL00)'
|
4346
4932
|
model: 'Honor 20'
|
4933
|
+
- regex: 'YAL-L41[);/ ]'
|
4934
|
+
model: 'Honor 20 Pro'
|
4347
4935
|
- regex: 'VOG-AL00[);/ ]'
|
4348
4936
|
model: 'Honor P30 Pro'
|
4349
|
-
- regex: 'CHE2?-[UT]L00[HM]?|CHE1-CL[12]0|CHE2-L(?:
|
4937
|
+
- regex: 'CHE2?-[UT]L00[HM]?|CHE1-CL[12]0|CHE2-L(?:1[12]|23)|Che1-L04|CHE-TL00'
|
4350
4938
|
model: 'Honor 4X'
|
4351
4939
|
- regex: 'CHM-[CUT]L00[HM]?'
|
4352
4940
|
model: 'Honor Play 4C'
|
4941
|
+
- regex: 'JDN-AL00'
|
4942
|
+
model: 'Honor Pad 2'
|
4943
|
+
device: 'tablet'
|
4944
|
+
- regex: 'JAT-AL00'
|
4945
|
+
model: 'Honor Play 8A'
|
4946
|
+
- regex: 'KNT-(?:AL[12]0|[TU]L10)'
|
4947
|
+
model: 'Honor V8'
|
4353
4948
|
- regex: 'DUK-AL20'
|
4354
4949
|
model: 'Honor V9'
|
4355
4950
|
- regex: 'JMM-AL[10]0'
|
4356
4951
|
model: 'Honor V9 Play'
|
4357
4952
|
- regex: 'BKL-(?:AL00|AL20|AL30|L09|TL10)'
|
4358
4953
|
model: 'Honor V10'
|
4359
|
-
- regex: 'PCT-
|
4954
|
+
- regex: 'PCT-[TA]L10'
|
4360
4955
|
model: 'Honor V20'
|
4361
4956
|
- regex: 'BKL-L04'
|
4362
4957
|
model: 'Honor View 10'
|
@@ -4370,7 +4965,7 @@ Huawei:
|
|
4370
4965
|
model: 'Honor 4A'
|
4371
4966
|
- regex: '(?:Honor_|HW-)?CAM-(?:AL00|TL00H|TL00)(?:_TD)?[);/ ]'
|
4372
4967
|
model: 'Honor 5A'
|
4373
|
-
- regex: '(?:Honor_|HW-)?KIW-(?:AL10|TL00H|L2[124]|UL00)(?:_TD)?[);/ ]'
|
4968
|
+
- regex: '(?:Honor_|HW-)?KIW-(?:AL10|TL00H|[TC]L00|L2[124]|UL00)(?:_TD)?[);/ ]'
|
4374
4969
|
model: 'Honor 5X'
|
4375
4970
|
- regex: '(?:Honor_|HW-)?CHM-U01(?:_TD)?[);/ ]'
|
4376
4971
|
model: 'Honor 4C'
|
@@ -4378,21 +4973,23 @@ Huawei:
|
|
4378
4973
|
model: 'Honor 6'
|
4379
4974
|
- regex: 'MYA-TL10'
|
4380
4975
|
model: 'Honor 6 Play'
|
4976
|
+
- regex: 'PE-UL00'
|
4977
|
+
model: 'Honor 6 Plus'
|
4381
4978
|
- regex: '(?:Honor_|HW-)?SCL-L01(?:_TD)?[);/ ]'
|
4382
4979
|
model: 'Honor Y6'
|
4383
4980
|
- regex: '(?:Honor_|HW-)?LYO-L21'
|
4384
|
-
model: 'Honor Y6 II Compact'
|
4981
|
+
model: 'Honor Y6 II Compact' # Honor 5A
|
4385
4982
|
- regex: '(?:Honor_|HW-)?PLK-(?:AL10|CL00|TL00|TL01H?|UL00|L01)[);/ ]'
|
4386
4983
|
model: 'Honor 7'
|
4387
|
-
- regex: 'AUM-(?:AL[20]0|L33)'
|
4984
|
+
- regex: 'AUM-(?:AL[20]0|L33[A]?|TL20)'
|
4388
4985
|
model: 'Honor 7A'
|
4389
4986
|
- regex: 'AUM-L29'
|
4390
4987
|
model: 'Honor 7A Pro'
|
4391
|
-
- regex: '(?:Honor_|HW-)?(?:LND-AL[34]0|
|
4988
|
+
- regex: '(?:Honor_|HW-)?(?:LND-(?:AL[34]0|L29|TL40)|AUM-L41)[);/ ]'
|
4392
4989
|
model: 'Honor 7C'
|
4393
|
-
- regex: '(?:Honor_|HW-)?DUA-L22[);/ ]'
|
4990
|
+
- regex: '(?:Honor_|HW-)?DUA-(?:L22|LX3)[);/ ]'
|
4394
4991
|
model: 'Honor 7S'
|
4395
|
-
- regex: '(?:Honor_|HW-)?NEM-(?:AL10|L51|UL10)[);/ ]'
|
4992
|
+
- regex: '(?:Honor_|HW-)?NEM-(?:AL10|L51|UL10|TL00)[);/ ]'
|
4396
4993
|
model: 'Honor 5C'
|
4397
4994
|
- regex: '(?:Honor_|HW-)?NEM-(?:L22|TL00H)[);/ ]'
|
4398
4995
|
model: 'Honor 5C Dual SIM'
|
@@ -4404,7 +5001,7 @@ Huawei:
|
|
4404
5001
|
model: 'Honor 6C Pro'
|
4405
5002
|
- regex: '(?:HONOR[ _]?)?BLN-(?:L2[124]|AL[1234]0|TL[01]0)'
|
4406
5003
|
model: 'Honor 6X'
|
4407
|
-
- regex: 'ATH-AL00'
|
5004
|
+
- regex: 'ATH-(?:AL00|UL00|TL00H)'
|
4408
5005
|
model: 'Honor 7i'
|
4409
5006
|
- regex: '(?:HONOR[ _]?)?BND-(?:AL[01]0|TL10|L2[14]|L31)'
|
4410
5007
|
model: 'Honor 7X'
|
@@ -4418,21 +5015,23 @@ Huawei:
|
|
4418
5015
|
model: 'Honor 8X'
|
4419
5016
|
- regex: 'KSA-LX9'
|
4420
5017
|
model: 'Honor 8S'
|
4421
|
-
- regex: 'ARE-AL[10]0|
|
5018
|
+
- regex: 'ARE-(?:AL[10]0|L22HN|TL00)'
|
4422
5019
|
model: 'Honor 8X Max'
|
4423
5020
|
- regex: 'PRA-(?:AL00X|AL00|TL10)'
|
4424
5021
|
model: 'Honor 8 Lite'
|
4425
|
-
- regex: 'DUK-L09'
|
5022
|
+
- regex: 'DUK-(?:L09|TL30)'
|
4426
5023
|
model: 'Honor 8 Pro'
|
4427
5024
|
- regex: 'JAT-L41'
|
4428
5025
|
model: 'Honor 8A Pro'
|
4429
5026
|
- regex: 'VEN-L22'
|
4430
5027
|
model: 'Honor 8 Smart'
|
4431
|
-
- regex: 'STF-(?:AL[10]0|L09)'
|
5028
|
+
- regex: 'STF-(?:AL[10]0|L09|TL10)'
|
4432
5029
|
model: 'Honor 9'
|
5030
|
+
- regex: 'HLK-AL00'
|
5031
|
+
model: 'Honor 9X'
|
4433
5032
|
- regex: 'LLD-AL[23]0'
|
4434
5033
|
model: 'Honor 9i'
|
4435
|
-
- regex: 'LLD-(?:AL[01]0|L[23]1)'
|
5034
|
+
- regex: 'LLD-(?:AL[01]0|L[23]1|TL10)'
|
4436
5035
|
model: 'Honor 9 Lite'
|
4437
5036
|
- regex: 'COL-(?:AL[01]0|TL[01]0|L29)'
|
4438
5037
|
model: 'Honor 10'
|
@@ -4446,7 +5045,7 @@ Huawei:
|
|
4446
5045
|
model: 'Honor Holly 4 Plus'
|
4447
5046
|
- regex: 'TNY-AL00'
|
4448
5047
|
model: 'Honor Magic 2'
|
4449
|
-
- regex: 'COR-(?:AL[01]0|L29)'
|
5048
|
+
- regex: 'COR-(?:AL[01]0|L29|TL10)'
|
4450
5049
|
model: 'Honor Play'
|
4451
5050
|
- regex: 'EDI-AL10'
|
4452
5051
|
model: 'Honor Note 8'
|
@@ -4454,7 +5053,7 @@ Huawei:
|
|
4454
5053
|
model: 'Honor Note 10'
|
4455
5054
|
- regex: 'GRA-(?:L09|UL00)'
|
4456
5055
|
model: 'P8'
|
4457
|
-
- regex: 'ALE-L(?:02|21|23)|ALE-UL00'
|
5056
|
+
- regex: 'ALE-L(?:02|21|23)|ALE-UL00|ALE-TL00'
|
4458
5057
|
model: 'P8 Lite (2015)'
|
4459
5058
|
- regex: 'PRA-L(?:A1|X2|X1|X3)|hi6210sft'
|
4460
5059
|
model: 'P8 Lite (2017)'
|
@@ -4466,13 +5065,13 @@ Huawei:
|
|
4466
5065
|
model: 'Nova 2'
|
4467
5066
|
- regex: 'HWI-[AT]L00'
|
4468
5067
|
model: 'Nova 2S'
|
4469
|
-
- regex: 'BAC-L01'
|
5068
|
+
- regex: 'BAC-(?:L01|TL00)'
|
4470
5069
|
model: 'Nova 2 Plus'
|
4471
5070
|
- regex: 'BAC-(?:AL00|L2[12])'
|
4472
5071
|
model: 'Nova 2 Plus Dual SIM'
|
4473
5072
|
- regex: 'RNE-L[02]2'
|
4474
5073
|
model: 'Nova 2I'
|
4475
|
-
- regex: 'PAR-(?:
|
5074
|
+
- regex: 'PAR-(?:[AT]L00|LX[19]|TL20)'
|
4476
5075
|
model: 'Nova 3'
|
4477
5076
|
- regex: 'ANE-AL00'
|
4478
5077
|
model: 'Nova 3e'
|
@@ -4480,7 +5079,7 @@ Huawei:
|
|
4480
5079
|
model: 'Nova 3i'
|
4481
5080
|
- regex: 'SEA-AL10'
|
4482
5081
|
model: 'Nova 5 Pro'
|
4483
|
-
- regex: 'VCE-L22'
|
5082
|
+
- regex: 'VCE-(L22|[AT]L00)'
|
4484
5083
|
model: 'Nova 4'
|
4485
5084
|
- regex: 'MAR-AL00'
|
4486
5085
|
model: 'Nova 4e'
|
@@ -4490,7 +5089,7 @@ Huawei:
|
|
4490
5089
|
model: 'Nova Smart'
|
4491
5090
|
- regex: 'RIO-L03'
|
4492
5091
|
model: 'GX8'
|
4493
|
-
- regex: 'EVA-(?:
|
5092
|
+
- regex: 'EVA-(?:AL[10]0|L[012]9|[TCD]L00)'
|
4494
5093
|
model: 'P9'
|
4495
5094
|
- regex: 'VNS-L(?:[23]1|62)'
|
4496
5095
|
model: 'P9 Lite'
|
@@ -4508,15 +5107,15 @@ Huawei:
|
|
4508
5107
|
model: 'P10 Selfie'
|
4509
5108
|
- regex: 'VKY-(?:AL00|L09|L29)'
|
4510
5109
|
model: 'P10 Plus'
|
4511
|
-
- regex: 'EML-(?:
|
5110
|
+
- regex: 'EML-(?:[TA]L00|L[02]9)'
|
4512
5111
|
model: 'P20'
|
4513
|
-
- regex: 'ANE-LX[123]'
|
5112
|
+
- regex: 'ANE-(?:LX[123]|TL00)'
|
4514
5113
|
model: 'P20 Lite'
|
4515
|
-
- regex: 'CLT-(?:AL0[01]|L(?:04|[02]9))'
|
5114
|
+
- regex: 'CLT-(?:AL0[01]|TL00|L(?:04|[02]9))'
|
4516
5115
|
model: 'P20 Pro'
|
4517
5116
|
- regex: 'ELE-L(?:04|09|29)|ELE-AL00'
|
4518
5117
|
model: 'P30'
|
4519
|
-
- regex: 'VOG-L(?:04|09|29)'
|
5118
|
+
- regex: 'VOG-L(?:04|09|29)|VOG-TL00'
|
4520
5119
|
model: 'P30 Pro'
|
4521
5120
|
- regex: 'MAR-LX(1M|2)'
|
4522
5121
|
model: 'P30 Lite'
|
@@ -4542,13 +5141,13 @@ Huawei:
|
|
4542
5141
|
model: 'Y5II'
|
4543
5142
|
- regex: 'MYA-(?:L(?:02|03|2[23])|U29)'
|
4544
5143
|
model: 'Y5 (2017)'
|
4545
|
-
- regex: 'AMN-LX[
|
5144
|
+
- regex: 'AMN-LX[129]'
|
4546
5145
|
model: 'Y5 (2019)'
|
4547
5146
|
- regex: 'CRO-L[02]3'
|
4548
5147
|
model: 'Y5 Lite (2017)'
|
4549
5148
|
- regex: 'CAG-L[02]3'
|
4550
5149
|
model: 'Y5 Lite (2018)'
|
4551
|
-
- regex: 'DRA-LX2'
|
5150
|
+
- regex: 'DRA-(?:LX2|AL00)'
|
4552
5151
|
model: 'Y5 Prime (2018)'
|
4553
5152
|
- regex: 'DRA-LX5'
|
4554
5153
|
model: 'Y5 lite'
|
@@ -4564,7 +5163,7 @@ Huawei:
|
|
4564
5163
|
model: 'Y6II'
|
4565
5164
|
- regex: 'ATU-L(?:11|21|22|X3)'
|
4566
5165
|
model: 'Y6 (2018)'
|
4567
|
-
- regex: 'MRD-
|
5166
|
+
- regex: 'MRD-L(?:X1[F]?|X3)'
|
4568
5167
|
model: 'Y6 (2019)'
|
4569
5168
|
- regex: 'TIT-(?:AL00|L01)'
|
4570
5169
|
model: 'Y6 Pro'
|
@@ -4576,17 +5175,19 @@ Huawei:
|
|
4576
5175
|
model: 'Y7 (2017)'
|
4577
5176
|
- regex: 'LDN-L(?:01|X3)'
|
4578
5177
|
model: 'Y7 (2018)'
|
4579
|
-
- regex: 'DUB-LX[13]'
|
5178
|
+
- regex: 'DUB-(?:LX[13]|TL00)'
|
4580
5179
|
model: 'Y7 (2019)'
|
4581
|
-
- regex: '
|
5180
|
+
- regex: 'DUB-AL20'
|
5181
|
+
model: 'Y7 Pro (2019)'
|
5182
|
+
- regex: 'LDN-(?:AL00|L21)|TRT-TL10'
|
4582
5183
|
model: 'Y7 Prime'
|
4583
5184
|
- regex: 'LDN-(?:LX2|TL10)|TRT-(?:L21A|L53)'
|
4584
5185
|
model: 'Y7 Prime (2018)'
|
4585
|
-
- regex: 'DUB-LX2'
|
5186
|
+
- regex: 'DUB-(?:LX2|AL00)'
|
4586
5187
|
model: 'Y7 Pro (2019)'
|
4587
|
-
- regex: 'FLA-LX[123]'
|
5188
|
+
- regex: 'FLA-(LX[123]|AL20|TL10)'
|
4588
5189
|
model: 'Y9 (2018)'
|
4589
|
-
- regex: 'JKM-(?:
|
5190
|
+
- regex: 'JKM-(?:[TA]L00|LX[123])'
|
4590
5191
|
model: 'Y9 (2019)'
|
4591
5192
|
- regex: 'STK-(L2[12]|LX3)'
|
4592
5193
|
model: 'Y9 Prime (2019)'
|
@@ -4598,17 +5199,17 @@ Huawei:
|
|
4598
5199
|
model: 'Y635 Dual SIM'
|
4599
5200
|
- regex: 'NXT-(?:AL10|L29)'
|
4600
5201
|
model: 'Mate 8'
|
4601
|
-
- regex: 'MHA-(?:L[02]9|
|
5202
|
+
- regex: 'MHA-(?:L[02]9|[AT]L00)'
|
4602
5203
|
model: 'Mate 9'
|
4603
5204
|
- regex: 'BLL-L23'
|
4604
5205
|
model: 'Mate 9 Lite'
|
4605
5206
|
- regex: 'LON-(?:AL00|L29)'
|
4606
5207
|
model: 'Mate 9 Pro'
|
4607
|
-
- regex: 'ALP-(?:
|
5208
|
+
- regex: 'ALP-(?:[TA]L00|L[02]9)'
|
4608
5209
|
model: 'Mate 10'
|
4609
5210
|
- regex: 'RNE-(?:AL00|L(?:01|03|21|23))'
|
4610
5211
|
model: 'Mate 10 Lite'
|
4611
|
-
- regex: 'BLA-(?:A09|L[02]9|
|
5212
|
+
- regex: 'BLA-(?:A09|L[02]9|[TA]L00)'
|
4612
5213
|
model: 'Mate 10 Pro'
|
4613
5214
|
- regex: 'HMA-(?:[AT]L00|L[02]9)'
|
4614
5215
|
model: 'Mate 20'
|
@@ -4616,11 +5217,11 @@ Huawei:
|
|
4616
5217
|
model: 'P30 Pro'
|
4617
5218
|
- regex: 'LYA-AL00P'
|
4618
5219
|
model: 'Mate 20 RS'
|
4619
|
-
- regex: 'LYA-(?:AL[01]0|L[02]9)'
|
5220
|
+
- regex: 'LYA-(?:AL[01]0|L[02]9|L0C|TL00)'
|
4620
5221
|
model: 'Mate 20 Pro'
|
4621
5222
|
- regex: 'SNE-(?:AL00|LX[0-3])'
|
4622
5223
|
model: 'Mate 20 Lite'
|
4623
|
-
- regex: 'EVR-(?:
|
5224
|
+
- regex: 'EVR-(?:[TA]L00|L29)'
|
4624
5225
|
model: 'Mate 20 X'
|
4625
5226
|
- regex: 'CRR-(?:L09|UL00)'
|
4626
5227
|
model: 'Mate S'
|
@@ -4642,25 +5243,31 @@ Huawei:
|
|
4642
5243
|
- regex: 'CMR-(?:AL[01]9|W09)'
|
4643
5244
|
device: 'tablet'
|
4644
5245
|
model: 'MediaPad M5 10.8'
|
4645
|
-
- regex: '
|
5246
|
+
- regex: 'GEM-70[1-3]L'
|
5247
|
+
device: 'tablet'
|
5248
|
+
model: 'MediaPad X2'
|
5249
|
+
- regex: 'JDN2-(:?L09|AL00)|BAH2-(?:L09|W19)'
|
4646
5250
|
device: 'tablet'
|
4647
5251
|
model: 'MediaPad M5 lite'
|
4648
5252
|
- regex: 'SHT-(?:AL|W)09'
|
4649
5253
|
device: 'tablet'
|
4650
5254
|
model: 'MediaPad M5 8.4'
|
5255
|
+
- regex: 'VRD-(AL|W)09'
|
5256
|
+
device: 'tablet'
|
5257
|
+
model: 'MediaPad M6 8.4'
|
4651
5258
|
- regex: 'BTV-W09'
|
4652
5259
|
device: 'tablet'
|
4653
5260
|
model: 'MediaPad M3 8'
|
4654
|
-
- regex: 'BAH-W09|CPN-(?:L|W)09'
|
5261
|
+
- regex: 'BAH-W09|CPN-(?:L|W)09|CPN-AL00'
|
4655
5262
|
device: 'tablet'
|
4656
5263
|
model: 'MediaPad M3 Lite'
|
4657
|
-
- regex: 'BAH-L09'
|
5264
|
+
- regex: 'BAH-(?:L09|AL00)'
|
4658
5265
|
device: 'tablet'
|
4659
5266
|
model: 'MediaPad M3 Lite 10'
|
4660
5267
|
- regex: 'BTV-DL09'
|
4661
5268
|
device: 'tablet'
|
4662
5269
|
model: 'MediaPad M3'
|
4663
|
-
- regex: 'AGS2-(?:
|
5270
|
+
- regex: 'AGS2-(?:[LW]09|L03)'
|
4664
5271
|
device: 'tablet'
|
4665
5272
|
model: 'MediaPad T5 10'
|
4666
5273
|
- regex: 'AGS-(?:L0[39]|W09)'
|
@@ -4678,6 +5285,9 @@ Huawei:
|
|
4678
5285
|
- regex: '(?:BGO-DL09|PLE-70[13]L)'
|
4679
5286
|
device: 'tablet'
|
4680
5287
|
model: 'MediaPad T2 7.0 Pro'
|
5288
|
+
- regex: 'JDN-L01'
|
5289
|
+
device: 'tablet'
|
5290
|
+
model: 'MediaPad T2 8.0 Pro'
|
4681
5291
|
- regex: 'FDR-A01(?:L|w)'
|
4682
5292
|
device: 'tablet'
|
4683
5293
|
model: 'MediaPad T2 10.0 Pro'
|
@@ -4773,10 +5383,10 @@ iRola:
|
|
4773
5383
|
|
4774
5384
|
# Irbis
|
4775
5385
|
Irbis:
|
4776
|
-
regex: 'TZ(753|85[47]|86[45]|88[124]|89[12]|49)|T(?:Zone|Zart)|(SP(?:0[56]|2[01]|4[1-36]|45[45]|50))[;)\ ]'
|
5386
|
+
regex: 'TZ(150|165|17[5-8]|77[17]|753|794|8[34]1|85[47]|86[45]|88[124]|89[12]|49|716|772)|T(?:Zone|Zart)|(SP(?:0[56]|2[01]|4[1-36]|45[45]|50))[;)\ ]'
|
4777
5387
|
device: 'tablet'
|
4778
5388
|
models:
|
4779
|
-
- regex: '(TZ(?:753|85[47]|86[45]|88[124]|89[12]|49)|T(?:Zone|Zart))[;)\ ]'
|
5389
|
+
- regex: '(TZ(?:150|165|17[5-8]|77[17]|753|794|8[34]1|85[47]|86[45]|88[124]|89[12]|49|716|772)|T(?:Zone|Zart))[;)\ ]'
|
4780
5390
|
model: '$1'
|
4781
5391
|
- regex: '(SP(?:0[56]|2[01]|4[1-36]|45[45]|50))[;)\ ]'
|
4782
5392
|
device: 'smartphone'
|
@@ -4794,11 +5404,13 @@ iBerry:
|
|
4794
5404
|
|
4795
5405
|
# iHunt
|
4796
5406
|
iHunt:
|
4797
|
-
regex: 'iHunt|One_ Love_|TITAN_P11000_PRO|Like_(3|4U|3_Pro)|X300 Elite'
|
5407
|
+
regex: 'iHunt|One_ Love_|TITAN_P11000_PRO|Like_(3|4U|3_Pro)|X300 Elite|S10_Tank_2019'
|
4798
5408
|
device: 'smartphone'
|
4799
5409
|
models:
|
4800
5410
|
- regex: 'iHunt_Like'
|
4801
5411
|
model: 'Like'
|
5412
|
+
- regex: 'S10_Tank_2019'
|
5413
|
+
model: 'S10 Tank 2019'
|
4802
5414
|
- regex: 'One_ Love_'
|
4803
5415
|
model: 'One Love'
|
4804
5416
|
- regex: 'TITAN_P11000_PRO'
|
@@ -4924,6 +5536,12 @@ LYF:
|
|
4924
5536
|
- regex: 'LYF/([^/]+)/'
|
4925
5537
|
model: '$1'
|
4926
5538
|
|
5539
|
+
# Lumus
|
5540
|
+
Lumus:
|
5541
|
+
regex: 'NEOSR620[;)/ ]'
|
5542
|
+
device: 'smartphone'
|
5543
|
+
model: 'Neo SR620'
|
5544
|
+
|
4927
5545
|
# M4tel
|
4928
5546
|
M4tel:
|
4929
5547
|
regex: 'M4 SS[0-9]{4}(?:-R)?|M4_B[23]'
|
@@ -4982,6 +5600,12 @@ IMO Mobile:
|
|
4982
5600
|
- regex: 'IMO Q2'
|
4983
5601
|
model: 'Q2'
|
4984
5602
|
|
5603
|
+
# iLA
|
5604
|
+
iLA:
|
5605
|
+
regex: 'iLA[-_ ](Silk|X)[);/ ]'
|
5606
|
+
device: 'smartphone'
|
5607
|
+
model: '$1'
|
5608
|
+
|
4985
5609
|
# iNew
|
4986
5610
|
iNew:
|
4987
5611
|
regex: 'iNew|(?:V7A|V3 Plus|V3-?E|V3C)(?: Build|[;/\)])'
|
@@ -5130,11 +5754,17 @@ Infinix:
|
|
5130
5754
|
|
5131
5755
|
# InFocus
|
5132
5756
|
InFocus:
|
5133
|
-
regex: '(
|
5757
|
+
regex: 'IF(9001|9007|9021|9035) Build'
|
5134
5758
|
device: 'smartphone'
|
5135
5759
|
models:
|
5136
|
-
- regex: '
|
5137
|
-
model: '
|
5760
|
+
- regex: 'IF9001'
|
5761
|
+
model: 'Turbo 5'
|
5762
|
+
- regex: 'IF9007'
|
5763
|
+
model: 'A3'
|
5764
|
+
- regex: 'IF9021'
|
5765
|
+
model: 'Turbo 5 Plus'
|
5766
|
+
- regex: 'IF9035'
|
5767
|
+
model: 'A2'
|
5138
5768
|
|
5139
5769
|
# InnJoo
|
5140
5770
|
InnJoo:
|
@@ -5156,6 +5786,24 @@ Innostream:
|
|
5156
5786
|
device: 'feature phone'
|
5157
5787
|
model: 'INNO$1'
|
5158
5788
|
|
5789
|
+
# Insignia
|
5790
|
+
Insignia:
|
5791
|
+
regex: 'NS-(P11A8100|P10A8100|P10A6100|P16AT08|P16AT10|P16AT785HD|P08A7100|P10A7100)[);/ ]'
|
5792
|
+
device: 'tablet'
|
5793
|
+
models:
|
5794
|
+
- regex: 'NS-P11A8100'
|
5795
|
+
model: '11.6"'
|
5796
|
+
- regex: 'NS-(P10A6100|P16AT10)'
|
5797
|
+
model: 'Flex 10.1"'
|
5798
|
+
- regex: 'NS-P16AT08'
|
5799
|
+
model: 'Flex 8"'
|
5800
|
+
- regex: 'NS-P08A7100'
|
5801
|
+
model: '8"'
|
5802
|
+
- regex: 'NS-(P10A8100|P10A7100)'
|
5803
|
+
model: '10.1"'
|
5804
|
+
- regex: 'NS-P16AT785HD'
|
5805
|
+
model: 'Flex Elite 7.85"'
|
5806
|
+
|
5159
5807
|
# Inq
|
5160
5808
|
INQ:
|
5161
5809
|
regex: 'INQ[/ ]'
|
@@ -5169,11 +5817,13 @@ INQ:
|
|
5169
5817
|
|
5170
5818
|
# Intex
|
5171
5819
|
Intex:
|
5172
|
-
regex: 'Intex|(Aqua|Cloud[ _][XY][0-9]{1})'
|
5820
|
+
regex: 'Intex|(Aqua|Cloud[ _][XY][0-9]{1}|Cloud (?:Fame|Glory) 4G)'
|
5173
5821
|
device: 'smartphone'
|
5174
5822
|
models:
|
5175
5823
|
- regex: 'Intex[ _]([^/;]*)[ _]Build'
|
5176
5824
|
model: '$1'
|
5825
|
+
- regex: '(Cloud (?:Fame|Glory) 4G)'
|
5826
|
+
model: '$1'
|
5177
5827
|
- regex: '(Aqua|Cloud)[ _\.]([^/;\)]+)(?:[ _]Build|(?<!Build)/|\))'
|
5178
5828
|
model: '$1 $2'
|
5179
5829
|
- regex: 'Intex[ _]([a-z0-9_+\-]+)'
|
@@ -5277,11 +5927,13 @@ iTel:
|
|
5277
5927
|
|
5278
5928
|
# JAY-Tech
|
5279
5929
|
JAY-Tech:
|
5280
|
-
regex: 'TPC-[A-Z0-9]+'
|
5930
|
+
regex: 'TPC-[A-Z0-9]+|TPCY-TX[TE][^);/ ]+'
|
5281
5931
|
device: 'tablet'
|
5282
5932
|
models:
|
5283
5933
|
- regex: 'TPC-([A-Z0-9]+)'
|
5284
5934
|
model: 'Tablet PC $1'
|
5935
|
+
- regex: '(TPCY-TX[TE][^);/ ]+)'
|
5936
|
+
model: '$1'
|
5285
5937
|
|
5286
5938
|
# Jiayu
|
5287
5939
|
Jiayu:
|
@@ -5325,6 +5977,12 @@ Kalley:
|
|
5325
5977
|
- regex: 'ELEMENT Q'
|
5326
5978
|
model: 'Element Q'
|
5327
5979
|
|
5980
|
+
# Kaan
|
5981
|
+
Kaan:
|
5982
|
+
regex: 'KAAN[ _](N[12]|A1)[);/ ]'
|
5983
|
+
device: 'smartphone'
|
5984
|
+
model: '$1'
|
5985
|
+
|
5328
5986
|
# Kazam
|
5329
5987
|
Kazam:
|
5330
5988
|
regex: 'Kazam ([^;/]+) Build|Trooper_X[0-9][0-9][);/ ]|Tornado 348'
|
@@ -5493,13 +6151,18 @@ KDDI:
|
|
5493
6151
|
|
5494
6152
|
# Kodak
|
5495
6153
|
Kodak:
|
5496
|
-
regex: 'KODAK'
|
6154
|
+
regex: 'KODAK|IM5[);/ ]'
|
5497
6155
|
device: 'smartphone'
|
5498
6156
|
models:
|
6157
|
+
- regex: 'IM5'
|
6158
|
+
model: 'IM5'
|
5499
6159
|
- regex: 'KODAK_SMARTWAY_((M|T)1)'
|
5500
6160
|
model: 'Smartway $1'
|
5501
6161
|
- regex: 'SMARTWAY X1'
|
5502
6162
|
model: 'Smartway X1'
|
6163
|
+
- regex: 'Tablet (7|10)'
|
6164
|
+
device: 'tablet'
|
6165
|
+
model: 'Tablet $1'
|
5503
6166
|
|
5504
6167
|
# KOPO
|
5505
6168
|
KOPO:
|
@@ -5537,7 +6200,7 @@ K-Touch:
|
|
5537
6200
|
|
5538
6201
|
# kyocera
|
5539
6202
|
Kyocera:
|
5540
|
-
regex: 'Kyocera|KWC-|QC-|C5120|C5170|C5155|C5215|C6730|C6750|C6522N?|C6530N|C6740|C6743|
|
6203
|
+
regex: 'Kyocera|KWC-|QC-|C5120|C5170|C5155|C5215|C6730|C6750|C6522N?|C6530N|C6740|C6743|E6[89]10|KYL21|KYY23|S2151|KC-S701'
|
5541
6204
|
device: 'smartphone'
|
5542
6205
|
models:
|
5543
6206
|
# explicit smartphone models
|
@@ -5563,12 +6226,16 @@ Kyocera:
|
|
5563
6226
|
model: 'Hydro Reach'
|
5564
6227
|
- regex: 'E6810'
|
5565
6228
|
model: 'DuraForce Pro'
|
6229
|
+
- regex: 'E6910'
|
6230
|
+
model: 'DuraForce Pro 2'
|
5566
6231
|
- regex: 'KC-S701'
|
5567
6232
|
model: 'Torque'
|
5568
6233
|
- regex: 'KYL21'
|
5569
6234
|
model: 'Digno S'
|
5570
6235
|
- regex: 'KYY23'
|
5571
6236
|
model: 'Urbano L03'
|
6237
|
+
- regex: '(?:Kyocera-)?E6790'
|
6238
|
+
model: 'DuraForce XD'
|
5572
6239
|
|
5573
6240
|
# explicit feature phone models
|
5574
6241
|
- regex: 'S2151'
|
@@ -5602,6 +6269,14 @@ LAIQ:
|
|
5602
6269
|
- regex: '(Glam|New York)'
|
5603
6270
|
model: '$1'
|
5604
6271
|
|
6272
|
+
# AIS
|
6273
|
+
AIS:
|
6274
|
+
regex: 'iris708'
|
6275
|
+
device: 'smartphone'
|
6276
|
+
models:
|
6277
|
+
- regex: 'iris708'
|
6278
|
+
model: 'LAVA PRO 4.5'
|
6279
|
+
|
5605
6280
|
# Lava
|
5606
6281
|
Lava:
|
5607
6282
|
regex: 'Lava[ _]|iris[ _]?([^/;]+)(?:\)| Build)|A(?:67|76) Build|X1 Selfie Build|X41 Plus Build|Flair Z1|PixelV1|Z61_2GB'
|
@@ -5656,7 +6331,7 @@ Lanix:
|
|
5656
6331
|
device: 'tablet'
|
5657
6332
|
- regex: 'X120C'
|
5658
6333
|
model: 'Ilium X120C'
|
5659
|
-
- regex: 'Ilium[ _](Alpha 3|L(?:200|6[12]0|9[125]0|1[0124]00|1050|1120)|LT5[012]0|M[
|
6334
|
+
- regex: 'Ilium[ _](Alpha 3|L(?:200|6[12]0|9[125]0|1[0124]00|1050|1120)|LT5[012]0|M[1379]|S(?:106|520|6[27]0)|X(?:1[12]0|2[0126]0|5[12]0|500B|710))'
|
5660
6335
|
model: 'Ilium $1'
|
5661
6336
|
- regex: 'ILIUM[ _]([^;/]+) Build'
|
5662
6337
|
model: 'Ilium $1'
|
@@ -5784,6 +6459,19 @@ Leotec:
|
|
5784
6459
|
- regex: 'LESPH5014'
|
5785
6460
|
model: 'Krypton K150'
|
5786
6461
|
|
6462
|
+
# Lephone
|
6463
|
+
Lephone:
|
6464
|
+
regex: 'lephone[ _]'
|
6465
|
+
device: 'smartphone'
|
6466
|
+
models:
|
6467
|
+
- regex: 'lephone[ _](K7|K10)'
|
6468
|
+
device: 'feature phone'
|
6469
|
+
model: '$1'
|
6470
|
+
- regex: 'lephone[ _](W(1[0125]|[279])|T2)[/;) ]'
|
6471
|
+
model: '$1'
|
6472
|
+
- regex: 'lephone_W7_plus'
|
6473
|
+
model: 'W7 Plus'
|
6474
|
+
|
5787
6475
|
# lenco
|
5788
6476
|
Lenco:
|
5789
6477
|
regex: 'Lenco ([^/;]*) Build'
|
@@ -5877,6 +6565,12 @@ Lenovo:
|
|
5877
6565
|
- regex: 'TB-X304F'
|
5878
6566
|
model: 'TAB 4 10'
|
5879
6567
|
device: 'tablet'
|
6568
|
+
- regex: 'Lenovo TB-X505F'
|
6569
|
+
model: 'M10'
|
6570
|
+
device: 'tablet'
|
6571
|
+
- regex: 'Lenovo TB-X104[FXL]'
|
6572
|
+
model: 'E10'
|
6573
|
+
device: 'tablet'
|
5880
6574
|
- regex: 'Tab2A([0-9]-[0-9]{2}[a-z]?)'
|
5881
6575
|
model: 'TAB 2 A$1'
|
5882
6576
|
device: 'tablet'
|
@@ -5908,6 +6602,8 @@ Lenovo:
|
|
5908
6602
|
model: 'K3 Note'
|
5909
6603
|
- regex: 'A7010a48 Build'
|
5910
6604
|
model: 'K4 Note'
|
6605
|
+
- regex: 'A7010a48(?: Build|\))'
|
6606
|
+
model: 'K4 Vibe'
|
5911
6607
|
- regex: 'A7020a4[08](?: Build|\))'
|
5912
6608
|
model: 'K5 Note'
|
5913
6609
|
- regex: '(?:Lenovo-)?A6020(?:a40|l36)(?: Build|\))'
|
@@ -6026,7 +6722,7 @@ Lexibook:
|
|
6026
6722
|
|
6027
6723
|
# LG
|
6028
6724
|
LG:
|
6029
|
-
regex: 'LG|portalmmm/2\.0 (?:KE|KG|KP|L3)|(?:VX[0-9]+|L-0[12]D|L-07C|P713|LM-(V350
|
6725
|
+
regex: 'LG|portalmmm/2\.0 (?:KE|KG|KP|L3)|(?:VX[0-9]+|L-0[12]D|L-07C|P713|LM-(Q910|V350[N]?|V409N|X510WM|X525|Q815[SL]|X410([KL]|UM|PM)|X420N|X510[KLS]|X415[KLS]|Q850|Q925L|Q725[KL]|Q710(?:FGN|\(FGN\)|\.FGN?)?|X2[12]0(?:APM|\(G\)|CM|G)?|G710(N|VM)?|V405|V500N|G820(N|QM[0127]|UMB)?|(X410|Q610)(?:\(FGN?\)|\.FN|\.F(?:GN?)?)))[);/ ]|NetCast|RS987|RS500|VS(?:50[01]|835|98[78]|99[56]|(410|415|425|500)PP)|Nexsus 5|LML(414D|211B|713D|212V)L|LM-X(625N|210K|212\(G\)|410S)|VK810 4G|VK815'
|
6030
6726
|
device: 'smartphone'
|
6031
6727
|
models:
|
6032
6728
|
- regex: 'LG-D325'
|
@@ -6045,7 +6741,7 @@ LG:
|
|
6045
6741
|
model: 'G4 Stylus'
|
6046
6742
|
- regex: 'LG-H735'
|
6047
6743
|
model: 'G4 Beat'
|
6048
|
-
- regex: 'LG-H8(?:20|30|5[08]|60)'
|
6744
|
+
- regex: 'LG-H8(?:20|30|5[08]|60)|VS987'
|
6049
6745
|
model: 'G5'
|
6050
6746
|
- regex: 'LG-H84[05]'
|
6051
6747
|
model: 'G5 SE'
|
@@ -6053,6 +6749,8 @@ LG:
|
|
6053
6749
|
model: 'G6'
|
6054
6750
|
- regex: 'LM-Q850'
|
6055
6751
|
model: 'G7 Fit'
|
6752
|
+
- regex: 'LM-Q910'
|
6753
|
+
model: 'G7 One'
|
6056
6754
|
- regex: 'LM-G820(N|QM[0127]|UMB)?'
|
6057
6755
|
model: 'G8'
|
6058
6756
|
- regex: 'VS501'
|
@@ -6087,21 +6785,27 @@ LG:
|
|
6087
6785
|
model: 'Q8+'
|
6088
6786
|
- regex: 'LM-Q925L'
|
6089
6787
|
model: 'Q9'
|
6090
|
-
- regex: '
|
6788
|
+
- regex: 'VS835'
|
6789
|
+
model: 'Stylo 2 V'
|
6790
|
+
- regex: 'LM-Q710|LML713DL'
|
6091
6791
|
model: 'Stylo 4'
|
6092
|
-
- regex: 'LM-
|
6792
|
+
- regex: 'LM-G710(N|VM)?'
|
6093
6793
|
model: 'G7 ThinQ'
|
6094
6794
|
- regex: 'LM-X210CM'
|
6095
6795
|
model: 'Fortune 2'
|
6096
6796
|
- regex: 'LM-X410\.F[);/ ]'
|
6097
6797
|
model: 'Premier Pro'
|
6798
|
+
- regex: 'LML414DL[);/ ]'
|
6799
|
+
model: 'Premier Pro LTE'
|
6098
6800
|
- regex: 'LM-X525'
|
6099
6801
|
model: 'Q60'
|
6802
|
+
- regex: 'LM-X210K'
|
6803
|
+
model: 'X2'
|
6100
6804
|
- regex: 'LM-X510WM'
|
6101
6805
|
model: 'X Power 3'
|
6102
|
-
- regex: 'LM-
|
6806
|
+
- regex: 'LM-X(?:41[05]K|410S)'
|
6103
6807
|
model: 'X4'
|
6104
|
-
- regex: 'LM-(
|
6808
|
+
- regex: 'LM-X(415[LS]|410L)'
|
6105
6809
|
model: 'X4+'
|
6106
6810
|
- regex: 'LM-X410\.FN'
|
6107
6811
|
model: 'K11'
|
@@ -6109,8 +6813,8 @@ LG:
|
|
6109
6813
|
model: 'K30'
|
6110
6814
|
- regex: 'LM-X410'
|
6111
6815
|
model: 'LM-X410'
|
6112
|
-
- regex: 'LM-
|
6113
|
-
model: '
|
6816
|
+
- regex: 'LM-X420N'
|
6817
|
+
model: 'X4 (2019)'
|
6114
6818
|
- regex: 'LM-X510[KLS]'
|
6115
6819
|
model: 'X5'
|
6116
6820
|
- regex: 'LM-X625N1'
|
@@ -6123,10 +6827,14 @@ LG:
|
|
6123
6827
|
model: 'V40 ThinQ'
|
6124
6828
|
- regex: 'LM-V500N'
|
6125
6829
|
model: 'V50'
|
6126
|
-
- regex: '(?:LG-)?(?:RS987|H901)'
|
6830
|
+
- regex: '(?:LG-)?(?:RS987|H901|H96[0128]|VS990)'
|
6127
6831
|
model: 'V10'
|
6128
6832
|
- regex: '(?:LG-)?RS500'
|
6129
6833
|
model: 'K8 4G'
|
6834
|
+
- regex: '(?:LG-)?VS500'
|
6835
|
+
model: 'K8 V'
|
6836
|
+
- regex: 'LM-X212\(G\)'
|
6837
|
+
model: 'K8 (2018)'
|
6130
6838
|
- regex: '(?:LG-)?H91[058]'
|
6131
6839
|
model: 'V20'
|
6132
6840
|
- regex: '(?:LG-)?H990(?:DS|N|T)?'
|
@@ -6141,6 +6849,8 @@ LG:
|
|
6141
6849
|
model: 'V30'
|
6142
6850
|
- regex: '(?:LG-)?VS410PP'
|
6143
6851
|
model: 'Optimus Zone'
|
6852
|
+
- regex: 'LM-V350[N]?'
|
6853
|
+
model: 'V35'
|
6144
6854
|
- regex: '(?:LG-)?VS415PP'
|
6145
6855
|
model: 'Optimus Zone 2'
|
6146
6856
|
- regex: '(?:LG-)?VS425PP'
|
@@ -6181,6 +6891,8 @@ LG:
|
|
6181
6891
|
model: 'Optimus 4X HD'
|
6182
6892
|
- regex: '(?:LG-)?H340n?'
|
6183
6893
|
model: 'Leon'
|
6894
|
+
- regex: '(?:LG-)?H422'
|
6895
|
+
model: 'Spirit'
|
6184
6896
|
- regex: '(?:LG)?C660'
|
6185
6897
|
model: 'Optimus Pro'
|
6186
6898
|
- regex: 'LML211BL|LML212VL'
|
@@ -6201,6 +6913,12 @@ LG:
|
|
6201
6913
|
- regex: 'LG-V521'
|
6202
6914
|
model: 'G Pad X 8.0'
|
6203
6915
|
device: 'tablet'
|
6916
|
+
- regex: 'VK810'
|
6917
|
+
model: 'G Pad 8.3 LTE'
|
6918
|
+
device: 'tablet'
|
6919
|
+
- regex: 'VK815'
|
6920
|
+
model: 'G Pad X 8.3'
|
6921
|
+
device: 'tablet'
|
6204
6922
|
|
6205
6923
|
- regex: 'webOS.TV'
|
6206
6924
|
device: 'tv'
|
@@ -6393,9 +7111,38 @@ Majestic:
|
|
6393
7111
|
|
6394
7112
|
# Manta Multimedia
|
6395
7113
|
Manta Multimedia:
|
6396
|
-
regex: '((?<!/)MID713|MID(?:06[SN]|08[S]?|12|13|14|15|701|702|703|704|705(?:DC)?|706[AS]?|707|708|709|711|712|714|717|781|801|802|901|1001|1002|1003|1004(?: 3G)?|1005|1009|1010|7802|9701|9702))[);/ ]'
|
6397
|
-
device: '
|
6398
|
-
|
7114
|
+
regex: 'MSP950(1[45]|2[01])|MSP96017|((?<!/)MID713|MID(?:06[SN]|08[S]?|12|13|14|15|701|702|703|704|705(?:DC)?|706[AS]?|707|708|709|711|712|714|717|781|801|802|901|1001|1002|1003|1004(?: 3G)?|1005|1009|1010|7802|9701|9702))[);/ ]'
|
7115
|
+
device: 'smartphone'
|
7116
|
+
models:
|
7117
|
+
- regex: '((?<!/)MID713|MID(?:06[SN]|08[S]?|12|13|14|15|701|702|703|704|705(?:DC)?|706[AS]?|707|708|709|711|712|714|717|781|801|802|901|1001|1002|1003|1004(?: 3G)?|1005|1009|1010|7802|9701|9702))[);/ ]'
|
7118
|
+
device: 'tablet'
|
7119
|
+
model: '$1'
|
7120
|
+
- regex: 'MSP95014'
|
7121
|
+
model: 'Titano 3'
|
7122
|
+
- regex: 'MSP95015'
|
7123
|
+
model: 'Mezo 2'
|
7124
|
+
- regex: 'MSP95020'
|
7125
|
+
model: 'Rocky 2'
|
7126
|
+
- regex: 'MSP95021'
|
7127
|
+
model: 'Rocky 3 Pro'
|
7128
|
+
- regex: 'MSP96017'
|
7129
|
+
model: 'Forto 2'
|
7130
|
+
|
7131
|
+
# Masstel
|
7132
|
+
Masstel:
|
7133
|
+
regex: 'Masstel'
|
7134
|
+
device: 'smartphone'
|
7135
|
+
models:
|
7136
|
+
- regex: 'Masstel[_ ](Juno[_ ]Q3|X9|N4[56]0|N5[2458]0|N536|M05|M1[29]0|M1[125]|M250|M25)[);/ ]'
|
7137
|
+
model: '$1'
|
7138
|
+
- regex: 'Masstel[_ ]\((M18)\)'
|
7139
|
+
model: '$1'
|
7140
|
+
- regex: 'Masstel_Tab7LTE[);/ ]'
|
7141
|
+
model: 'Tab 7 LTE'
|
7142
|
+
device: 'tablet'
|
7143
|
+
- regex: 'Masstel Tab (840|700i)[);/ ]'
|
7144
|
+
model: 'Tab $1'
|
7145
|
+
device: 'tablet'
|
6399
7146
|
|
6400
7147
|
# Maxwest
|
6401
7148
|
Maxwest:
|
@@ -6521,7 +7268,7 @@ Mediacom:
|
|
6521
7268
|
|
6522
7269
|
# Medion
|
6523
7270
|
Medion:
|
6524
|
-
regex: 'Medion|(?:MD_)?LIFETAB|X5001[);/ ]|[SPX]10[0-9]{2}X[);/ ]'
|
7271
|
+
regex: 'Medion|(?:MD_)?LIFETAB|X5001[);/ ]|([SPX]10[0-9]{2}X|E10[45]1X)[);/ ]'
|
6525
7272
|
device: 'smartphone'
|
6526
7273
|
models:
|
6527
7274
|
- regex: '(?:MD_)?LIFETAB_([a-z0-9]+)'
|
@@ -6529,6 +7276,9 @@ Medion:
|
|
6529
7276
|
model: 'Lifetab $1'
|
6530
7277
|
- regex: 'X5001'
|
6531
7278
|
model: 'Life X5001'
|
7279
|
+
- regex: '(E10[45]1X)[);/ ]'
|
7280
|
+
device: 'tablet'
|
7281
|
+
model: '$1'
|
6532
7282
|
- regex: '([SPX]10[0-9]{2}X)[);/ ]'
|
6533
7283
|
model: 'Lifetab $1'
|
6534
7284
|
device: 'tablet'
|
@@ -6597,6 +7347,28 @@ Meizu:
|
|
6597
7347
|
- regex: 'MZ-([^/;]+) Build'
|
6598
7348
|
model: '$1'
|
6599
7349
|
|
7350
|
+
# Meitu
|
7351
|
+
Meitu:
|
7352
|
+
regex: '(Meitu[2]?|MP1503|MP1512|MP160[23]|MP170[19])[ ;/)]'
|
7353
|
+
device: 'smartphone'
|
7354
|
+
models:
|
7355
|
+
- regex: 'MP1503[ ;/)]'
|
7356
|
+
model: 'M6'
|
7357
|
+
- regex: 'MP1512[ ;/)]'
|
7358
|
+
model: 'M6s'
|
7359
|
+
- regex: 'MP1602[ ;/)]'
|
7360
|
+
model: 'T8'
|
7361
|
+
- regex: 'MP1701[ ;/)]'
|
7362
|
+
model: 'T8s'
|
7363
|
+
- regex: 'MP1603[ ;/)]'
|
7364
|
+
model: 'M8'
|
7365
|
+
- regex: 'MP1709[ ;/)]'
|
7366
|
+
model: 'M8s'
|
7367
|
+
- regex: 'Meitu2[ ;/)]'
|
7368
|
+
model: '2'
|
7369
|
+
- regex: 'Meitu (Kiss|M4)[ ;/)]'
|
7370
|
+
model: '$1'
|
7371
|
+
|
6600
7372
|
# Memup
|
6601
7373
|
Memup:
|
6602
7374
|
regex: 'SlidePad ?([^;/]*) Build|SPNG?[0-9]{2,4}[a-z]{0,2}[ ;/)]|SP704CE?'
|
@@ -6700,6 +7472,12 @@ Mobiola:
|
|
6700
7472
|
- regex: 'Wave5'
|
6701
7473
|
model: 'Wave 5'
|
6702
7474
|
|
7475
|
+
# Mobicel
|
7476
|
+
Mobicel:
|
7477
|
+
regex: 'Mobicel_(R1)'
|
7478
|
+
device: 'smartphone'
|
7479
|
+
model: '$1'
|
7480
|
+
|
6703
7481
|
# Mobiistar
|
6704
7482
|
Mobiistar:
|
6705
7483
|
regex: 'Mobiistar|Zumbo_|PRIME X MAX'
|
@@ -6719,6 +7497,8 @@ Mobiistar:
|
|
6719
7497
|
model: 'Lai Zumbo J (2017)'
|
6720
7498
|
- regex: 'Mobiistar_Zumbo_J2'
|
6721
7499
|
model: 'Lai Zumbo J2'
|
7500
|
+
- regex: 'Mobiistar[_ ]Zumbo[_ ]S2'
|
7501
|
+
model: 'Zumbo S2'
|
6722
7502
|
- regex: 'mobiistar ZUMBO Power'
|
6723
7503
|
model: 'Zumbo Power'
|
6724
7504
|
- regex: 'mobiistar[ _]LAI[ _]YUNA[ _]([1XCS])'
|
@@ -6783,6 +7563,18 @@ Mobistel:
|
|
6783
7563
|
device: 'smartphone'
|
6784
7564
|
model: '$1'
|
6785
7565
|
|
7566
|
+
# Mecool
|
7567
|
+
Mecool:
|
7568
|
+
regex: '(KM9PRO|BB2 PRO|KII PRO)[);/ ]'
|
7569
|
+
device: 'tv'
|
7570
|
+
models:
|
7571
|
+
- regex: 'KM9PRO'
|
7572
|
+
model: 'KM9 Pro'
|
7573
|
+
- regex: 'BB2 PRO'
|
7574
|
+
model: 'BB2 Pro'
|
7575
|
+
- regex: 'KII PRO'
|
7576
|
+
model: 'KII Pro'
|
7577
|
+
|
6786
7578
|
# Modecom
|
6787
7579
|
Modecom:
|
6788
7580
|
regex: 'Modecom|Free(?:Way )?Tab|xino z[\d]+ x[\d]+'
|
@@ -6813,7 +7605,7 @@ Mofut:
|
|
6813
7605
|
|
6814
7606
|
# motorola
|
6815
7607
|
Motorola:
|
6816
|
-
regex: 'MOT|(?<!AN)DROID ?(?:Build|[a-z0-9]+)|portalmmm/2.0 (?:E378i|L6|L7|v3)|XOOM [^;/]*Build|XT1021|(?:XT|MZ|MB|ME)[0-9]{3,4}[a-z]?(?:\(Defy\)|-0[1-5])?(?: Build|\))'
|
7608
|
+
regex: 'MOT(?!TO)|(?<!AN)DROID ?(?:Build|[a-z0-9]+)|portalmmm/2.0 (?:E378i|L6|L7|v3)|XOOM [^;/]*Build|XT1021|XT180[3-5]|(?:XT|MZ|MB|ME)[0-9]{3,4}[a-z]?(?:\(Defy\)|-0[1-5])?(?: Build|\))'
|
6817
7609
|
device: 'smartphone'
|
6818
7610
|
models:
|
6819
7611
|
# Explicit feature phone models
|
@@ -6898,6 +7690,12 @@ Motorola:
|
|
6898
7690
|
model: 'Droid Turbo'
|
6899
7691
|
- regex: '(?:MOT-|Motorola-)?XT10(?:28|3[1234]|68|69)'
|
6900
7692
|
model: 'Moto G'
|
7693
|
+
- regex: '(?:MOT-|Motorola-)?XT180[3-5]'
|
7694
|
+
model: 'Moto G5s Plus'
|
7695
|
+
- regex: '(?:MOT-|Motorola-)?XT168[57]'
|
7696
|
+
model: 'Moto G5 Plus'
|
7697
|
+
- regex: '(?:MOT-|Motorola-)?XT1670' #XT1671 XT1677
|
7698
|
+
model: 'Moto G5'
|
6901
7699
|
- regex: '(?:MOT-|Motorola-)?XT10(?:49|5[23568]|60|9[23457])'
|
6902
7700
|
model: 'Moto X'
|
6903
7701
|
- regex: '(?:MOT-|Motorola-)?XT1562'
|
@@ -7039,7 +7837,7 @@ Navon:
|
|
7039
7837
|
|
7040
7838
|
# NOA
|
7041
7839
|
NOA:
|
7042
|
-
regex: 'NOA[ _]|HummerLE'
|
7840
|
+
regex: 'NOA[ _]|HummerLE|NextSE'
|
7043
7841
|
device: 'smartphone'
|
7044
7842
|
models:
|
7045
7843
|
- regex: 'NOA[_ ]CORE[_ ]FORTE'
|
@@ -7050,6 +7848,8 @@ NOA:
|
|
7050
7848
|
model: 'Hummer Lite'
|
7051
7849
|
- regex: 'NOA[_ ]MOVEse'
|
7052
7850
|
model: 'Move SE'
|
7851
|
+
- regex: 'NextSE'
|
7852
|
+
model: 'Next SE'
|
7053
7853
|
- regex: 'NOA[_ ]NEXT'
|
7054
7854
|
model: 'Next'
|
7055
7855
|
- regex: 'NOA[_ ]VISION[_ ]H3SE'
|
@@ -7069,6 +7869,11 @@ NOA:
|
|
7069
7869
|
- regex: 'NOA[_ ]([^;)/ ]+)'
|
7070
7870
|
model: '$1'
|
7071
7871
|
|
7872
|
+
Nobby:
|
7873
|
+
regex: 'Nobby[ ]S500[;/) ]'
|
7874
|
+
device: 'smartphone'
|
7875
|
+
model: 'S500'
|
7876
|
+
|
7072
7877
|
# nec
|
7073
7878
|
NEC:
|
7074
7879
|
regex: 'NEC[ _\-]|KGT/2\.0|portalmmm/1\.0 (?:DB|N)|(?:portalmmm|o2imode)/2.0[ ,]N'
|
@@ -7186,9 +7991,12 @@ Noblex:
|
|
7186
7991
|
|
7187
7992
|
# Nomi
|
7188
7993
|
Nomi:
|
7189
|
-
regex: 'Nomi[ _-]'
|
7994
|
+
regex: 'Nomi[ _-]|C101010 Ultra2[;/) ]'
|
7190
7995
|
device: 'smartphone'
|
7191
7996
|
models:
|
7997
|
+
- regex: 'C101010 Ultra2'
|
7998
|
+
model: 'Ultra 2'
|
7999
|
+
device: 'tablet'
|
7192
8000
|
- regex: 'Nomi[ _-]([^;/]+) Build'
|
7193
8001
|
model: '$1'
|
7194
8002
|
- regex: 'Nomi[ _-]([^;/)]+)[;/)]'
|
@@ -7445,19 +8253,23 @@ OnePlus:
|
|
7445
8253
|
|
7446
8254
|
# oppo
|
7447
8255
|
OPPO:
|
7448
|
-
regex: '(?:OB-)?OPPO[ _]?([a-z0-9]+)|N1T|(?:X90[07][0679]|U707T?|X909T?|R(?:10[01]1|2001|201[07]|6007|7005|7007|80[13579]|81[13579]|82[01379]|83[013]|800[067]|8015|810[679]|811[13]|820[057])[KLSTW]?|N520[79]|N5117|A33f|A33fw|A37fw?|PAAM00|PAC[T|M]00|PBAM00)[);/ ]|R7kf|R7plusf|R7Plusm|A1601|CPH[0-9]{4}|PCAM10|PADM00|RMX18(0[1579]|11|3[13]|2[15]|[45]1|45)|CPH19(69|79|23|1[179])|
|
8256
|
+
regex: '(?:OB-)?OPPO[ _]?([a-z0-9]+)|N1T|(?:X90[07][0679]|U707T?|X909T?|R(?:10[01]1|2001|201[07]|6007|7005|7007|80[13579]|81[13579]|82[01379]|83[013]|800[067]|8015|810[679]|811[13]|820[057])[KLSTW]?|N520[79]|N5117|A33f|A33fw|A37fw?|PAAM00|PAC[T|M]00|PBAM00)[);/ ]|R7kf|R7plusf|R7Plusm|A1601|CPH[0-9]{4}|PCAM10|PADM00|PBBT00|PBBM[03]0|RMX18(0[1579]|11|3[13]|2[15]|[45]1|45)|CPH19(69|79|23|1[179])|RMX(1827|194[135]|19[01]1|1971)|PC[CD]M00|PBAT00|PBCM[13]0|PBE[MT]00|PBFM00|PAFM00'
|
7449
8257
|
device: 'smartphone'
|
7450
8258
|
models:
|
7451
8259
|
- regex: '(?:OPPO[ _]?)?U707T?[);/ ]'
|
7452
8260
|
model: 'Find Way S'
|
7453
8261
|
- regex: '(?:OPPO[ _]?)?CPH1979[);/ ]'
|
7454
8262
|
model: 'Reno Z'
|
8263
|
+
- regex: 'CPH1945'
|
8264
|
+
model: 'Reno2 Z'
|
7455
8265
|
- regex: 'CPH1969'
|
7456
8266
|
model: 'F11 Pro'
|
7457
8267
|
- regex: 'CPH1911'
|
7458
8268
|
model: 'F11'
|
7459
8269
|
- regex: 'CPH1917'
|
7460
8270
|
model: 'Reno'
|
8271
|
+
- regex: 'CPH1921'
|
8272
|
+
model: 'Reno 5G'
|
7461
8273
|
- regex: 'PCCM00'
|
7462
8274
|
model: 'Reno 10X'
|
7463
8275
|
- regex: 'CPH1919'
|
@@ -7546,6 +8358,12 @@ OPPO:
|
|
7546
8358
|
model: 'A3s'
|
7547
8359
|
- regex: '(?:OPPO[ _]?)?(?:CPH1809|PBAT00)[);/ ]'
|
7548
8360
|
model: 'A5'
|
8361
|
+
- regex: 'CPH1933'
|
8362
|
+
model: 'A5 (2020)'
|
8363
|
+
- regex: '(?:OPPO[ _]?)?CPH1938[);/ ]'
|
8364
|
+
model: 'A9 (EN)'
|
8365
|
+
- regex: 'CPH1937'
|
8366
|
+
model: 'A9 (2020)'
|
7549
8367
|
- regex: '(?:OPPO[ _]?)?CPH18(19|21)[);/ ]'
|
7550
8368
|
model: 'F7'
|
7551
8369
|
- regex: '(?:OPPO[ _]?)?CPH1823[);/ ]'
|
@@ -7560,6 +8378,8 @@ OPPO:
|
|
7560
8378
|
model: 'A3'
|
7561
8379
|
- regex: '(?:OPPO[ _]?)?CPH1851[);/ ]'
|
7562
8380
|
model: 'AX5'
|
8381
|
+
- regex: 'CPH1920'
|
8382
|
+
model: 'AX5s'
|
7563
8383
|
- regex: '(?:OPPO[ _]?)?CPH1859[);/ ]'
|
7564
8384
|
model: 'F7'
|
7565
8385
|
- regex: '(?:OPPO[ _]?)?CPH1861[);/ ]'
|
@@ -7568,7 +8388,7 @@ OPPO:
|
|
7568
8388
|
model: 'K1'
|
7569
8389
|
- regex: 'RMX1811'
|
7570
8390
|
model: 'RealMe C1'
|
7571
|
-
- regex: 'RMX194[
|
8391
|
+
- regex: 'RMX194[135]'
|
7572
8392
|
model: 'RealMe C2'
|
7573
8393
|
- regex: 'RMX1831'
|
7574
8394
|
model: 'RealMe U1'
|
@@ -7576,9 +8396,9 @@ OPPO:
|
|
7576
8396
|
model: 'Find X'
|
7577
8397
|
- regex: '(?:OPPO[ _]?)?CPH1877[);/ ]'
|
7578
8398
|
model: 'R17 Pro'
|
7579
|
-
- regex: '(?:OPPO[ _]?)?(?:CPH1879|
|
8399
|
+
- regex: '(?:OPPO[ _]?)?(?:CPH1879|PBE[MT]00)[);/ ]'
|
7580
8400
|
model: 'R17'
|
7581
|
-
- regex: '(?:OPPO[ _]?)?CPH1881[);/ ]'
|
8401
|
+
- regex: '(?:OPPO[ _]?)?(?:CPH1825|CPH1881)[);/ ]'
|
7582
8402
|
model: 'F9'
|
7583
8403
|
- regex: '(?:OPPO[ _]?)?CPH1893[);/ ]'
|
7584
8404
|
model: 'R17 Neo'
|
@@ -7586,26 +8406,42 @@ OPPO:
|
|
7586
8406
|
model: 'A7'
|
7587
8407
|
- regex: '(?:OPPO[ _]?)?CPH1903[);/ ]'
|
7588
8408
|
model: 'AX7'
|
7589
|
-
- regex: '(?:OPPO[ _]?)?A37f(w)? Build'
|
8409
|
+
- regex: '(?:OPPO[ _]?)?A37f(w)?(?: Build|\))'
|
7590
8410
|
model: 'A37f$1'
|
7591
8411
|
- regex: '(?:OPPO[ _]?)?PADM00'
|
7592
8412
|
model: 'A3'
|
7593
8413
|
- regex: '(?:OPPO[ _]?)?PBAM00'
|
7594
8414
|
model: 'A5'
|
7595
|
-
- regex: '(?:OPPO[ _]?)?A1601
|
8415
|
+
- regex: '(?:OPPO[ _]?)?A1601[);/ ]'
|
7596
8416
|
model: 'F1s'
|
7597
8417
|
- regex: '(?:OPPO[ _]?)?R1011 Build'
|
7598
8418
|
model: 'Joy Plus'
|
7599
|
-
- regex: '(?:OPPO[ _]?)?(?:PAC[TM]00|PAAM00)
|
8419
|
+
- regex: '(?:OPPO[ _]?)?(?:PAC[TM]00|PAAM00)[);/ ]'
|
7600
8420
|
model: 'R15'
|
8421
|
+
- regex: 'PBCM10[);/ ]'
|
8422
|
+
model: 'R15x'
|
7601
8423
|
- regex: 'RMX180[59]'
|
7602
8424
|
model: 'Realme 2'
|
7603
8425
|
- regex: 'RMX180[17]'
|
7604
8426
|
model: 'Realme 2 Pro'
|
7605
8427
|
- regex: 'RMX1833|RMX182[15]'
|
7606
8428
|
model: 'Realme 3'
|
8429
|
+
- regex: 'RMX1827'
|
8430
|
+
model: 'Realme 3i'
|
7607
8431
|
- regex: 'RMX1851'
|
7608
8432
|
model: 'Realme 3 Pro'
|
8433
|
+
- regex: 'RMX1901'
|
8434
|
+
model: 'Realme X'
|
8435
|
+
- regex: 'RMX1911'
|
8436
|
+
model: 'Realme 5'
|
8437
|
+
- regex: 'RMX1971'
|
8438
|
+
model: 'Realme 5 Pro'
|
8439
|
+
- regex: '(PBBT00|PBBM00)[);/ ]'
|
8440
|
+
model: 'A7x'
|
8441
|
+
- regex: 'PCDM00[);/ ]'
|
8442
|
+
model: 'A7n'
|
8443
|
+
- regex: 'PBBM30[);/ ]'
|
8444
|
+
model: 'A3s'
|
7609
8445
|
- regex: 'N1T?[);/ ]'
|
7610
8446
|
model: 'N1T'
|
7611
8447
|
device: 'phablet'
|
@@ -7633,7 +8469,7 @@ Opsson:
|
|
7633
8469
|
|
7634
8470
|
# orange
|
7635
8471
|
Orange:
|
7636
|
-
regex: 'SPV[ \-]?([a-z0-9]+)|Orange[ _-]([^/;]+) Build|SC/IHD92|FunTab ([^/;]+) Build'
|
8472
|
+
regex: 'SPV[ \-]?([a-z0-9]+)|Orange[ _-](?!Tahiti-LS\))([^/;]+)( Build|\))(?<!Tahiti-LS\))|SC/IHD92|FunTab ([^/;]+) Build'
|
7637
8473
|
device: 'smartphone'
|
7638
8474
|
models:
|
7639
8475
|
- regex: 'SC/IHD92'
|
@@ -7645,7 +8481,11 @@ Orange:
|
|
7645
8481
|
- regex: 'FunTab ([^/;]+) Build'
|
7646
8482
|
model: 'FunTab $1'
|
7647
8483
|
device: 'tablet'
|
7648
|
-
- regex: 'Orange[ _-]([
|
8484
|
+
- regex: 'Orange[ _-](Rise)(3[12]|5[12])[ ;/)]'
|
8485
|
+
model: '$1 $2'
|
8486
|
+
- regex: 'Orange[ _-](Dive)72[ ;/)]'
|
8487
|
+
model: '$1 72'
|
8488
|
+
- regex: 'Orange[ _-](Daytona|Dive (30|7[13])|Dublin|Fova|Gova|Hi 4G|Hiro|Kivo|Monte Carlo|Neva 80|Neva play|Nura|Reyo|Rise[_ ](3[034]|40|5[34])|Rono|Roya|San Francisco|Tactile internet 2|Tado|Yomi|Yumo|Zali)[ ;/)]'
|
7649
8489
|
model: '$1'
|
7650
8490
|
- regex: 'SPV[ \-]?([a-z0-9]+)'
|
7651
8491
|
model: 'SPV $1'
|
@@ -7806,7 +8646,7 @@ Pentagram:
|
|
7806
8646
|
|
7807
8647
|
# philips
|
7808
8648
|
Philips:
|
7809
|
-
regex: 'Philips|AND1E[);/ ]|NETTV/|PI3210G|
|
8649
|
+
regex: 'Philips|AND1E[);/ ]|NETTV/|PI3210G|TLE(821L|722G)'
|
7810
8650
|
device: 'smartphone'
|
7811
8651
|
models:
|
7812
8652
|
- regex: 'AND1E(?: TV)?[);/ ]'
|
@@ -7818,6 +8658,9 @@ Philips:
|
|
7818
8658
|
- regex: '(TLE821L)[);/ ]'
|
7819
8659
|
model: '$1 4G LTE'
|
7820
8660
|
device: 'tablet'
|
8661
|
+
- regex: '(TLE722G)[);/ ]'
|
8662
|
+
model: '$1'
|
8663
|
+
device: 'tablet'
|
7821
8664
|
- regex: 'Philips, BDP([0-9]{4})'
|
7822
8665
|
model: 'Blu-ray Player (BDP$1)'
|
7823
8666
|
device: 'tv'
|
@@ -7972,6 +8815,12 @@ Rokit:
|
|
7972
8815
|
- regex: 'IO Pro'
|
7973
8816
|
model: 'IO Pro'
|
7974
8817
|
|
8818
|
+
# Rombica
|
8819
|
+
Rombica:
|
8820
|
+
regex: 'SSQ-A0500[);/ ]'
|
8821
|
+
device: 'tv'
|
8822
|
+
model: 'Smart Stick 4K'
|
8823
|
+
|
7975
8824
|
# Rover
|
7976
8825
|
Rover:
|
7977
8826
|
regex: 'Rover ([0-9]+)'
|
@@ -8012,7 +8861,7 @@ Siemens:
|
|
8012
8861
|
model: '$1'
|
8013
8862
|
- regex: 'SIE(?:MENS )?[\-]?([a-z0-9]+)'
|
8014
8863
|
model: '$1'
|
8015
|
-
- regex: '(S55|SL45i)'
|
8864
|
+
- regex: '(?:SIE-)?(S55|SL45i)'
|
8016
8865
|
model: '$1'
|
8017
8866
|
- regex: 'portalmmm/2.0 (SI[a-z0-9]+)'
|
8018
8867
|
model: '$1'
|
@@ -8205,10 +9054,10 @@ Samsung:
|
|
8205
9054
|
- regex: '(?:SAMSUNG-)?SM-T285'
|
8206
9055
|
device: 'tablet'
|
8207
9056
|
model: 'GALAXY Tab A 7.0" LTE'
|
8208
|
-
- regex: '(?:SAMSUNG-)?SM-
|
9057
|
+
- regex: '(?:SAMSUNG-)?SM-T3[58]0'
|
8209
9058
|
device: 'tablet'
|
8210
9059
|
model: 'GALAXY Tab A 8.0" WiFi'
|
8211
|
-
- regex: '(?:SAMSUNG-)?SM-(?:P350|T3[58]5
|
9060
|
+
- regex: '(?:SAMSUNG-)?SM-(?:P350|T3[58]5)'
|
8212
9061
|
device: 'tablet'
|
8213
9062
|
model: 'GALAXY Tab A 8.0" LTE'
|
8214
9063
|
- regex: '(?:SAMSUNG-)?SM-T295'
|
@@ -8241,6 +9090,12 @@ Samsung:
|
|
8241
9090
|
- regex: '(?:SAMSUNG-)?SM-T39[57]'
|
8242
9091
|
device: 'tablet'
|
8243
9092
|
model: 'GALAXY Tab Active 2'
|
9093
|
+
- regex: '(?:SAMSUNG-)?SM-M305'
|
9094
|
+
device: 'tablet'
|
9095
|
+
model: 'GALAXY M30'
|
9096
|
+
- regex: '(?:SAMSUNG-)?SM-M405'
|
9097
|
+
device: 'tablet'
|
9098
|
+
model: 'GALAXY M40'
|
8244
9099
|
|
8245
9100
|
# explicit smartphone models
|
8246
9101
|
- regex: '(?:SAMSUNG-)?SM-G850[AMSWY]'
|
@@ -8509,6 +9364,8 @@ Samsung:
|
|
8509
9364
|
model: 'GALAXY A9 Pro'
|
8510
9365
|
- regex: '(?:SAMSUNG-)?SM-A105[FGM]'
|
8511
9366
|
model: 'GALAXY A10'
|
9367
|
+
- regex: '(?:SAMSUNG-)?SM-A107[FM]'
|
9368
|
+
model: 'GALAXY A10s'
|
8512
9369
|
- regex: '(?:SAMSUNG-)?SM-A205[FG]'
|
8513
9370
|
model: 'GALAXY A20'
|
8514
9371
|
- regex: '(?:SAMSUNG-)?SM-A202[FG]'
|
@@ -8517,6 +9374,8 @@ Samsung:
|
|
8517
9374
|
model: 'GALAXY A30'
|
8518
9375
|
- regex: '(?:SAMSUNG-)?SM-A405FN'
|
8519
9376
|
model: 'GALAXY A40'
|
9377
|
+
- regex: '(?:SAMSUNG-)?SM-A3051'
|
9378
|
+
model: 'GALAXY A40s'
|
8520
9379
|
- regex: '(?:SAMSUNG-)?SM-A505(?:FN|[FG])'
|
8521
9380
|
model: 'GALAXY A50'
|
8522
9381
|
- regex: '(?:SAMSUNG-)?SM-A705(?:FN|[FG])'
|
@@ -8537,6 +9396,10 @@ Samsung:
|
|
8537
9396
|
model: 'GALAXY J1 Ace'
|
8538
9397
|
- regex: '(?:SAMSUNG-)?SM-J200[FGHY]'
|
8539
9398
|
model: 'GALAXY J2'
|
9399
|
+
- regex: '(?:SAMSUNG-)?SM-J260AZ'
|
9400
|
+
model: 'GALAXY J2 Pure'
|
9401
|
+
- regex: '(?:SAMSUNG-)?SM-J260([AFGM]|T1)'
|
9402
|
+
model: 'GALAXY J2 Core'
|
8540
9403
|
- regex: '(?:SAMSUNG-)?SM-J(?:210F|250[FM])'
|
8541
9404
|
model: 'GALAXY J2 Pro'
|
8542
9405
|
- regex: '(?:SAMSUNG-)?SM-J320(?:FN|[AFGHMNPV])'
|
@@ -8561,7 +9424,7 @@ Samsung:
|
|
8561
9424
|
model: 'GALAXY J6+'
|
8562
9425
|
- regex: '(?:SAMSUNG-)?SM-J410F'
|
8563
9426
|
model: 'GALAXY J4 Core'
|
8564
|
-
- regex: '(?:SAMSUNG-)?SM-
|
9427
|
+
- regex: '(?:SAMSUNG-)?SM-J415(?:F|FN)'
|
8565
9428
|
model: 'GALAXY J4+'
|
8566
9429
|
- regex: '(?:SAMSUNG-)?SM-J7[01]0(?:8|F|FN|H|K|M|MN)'
|
8567
9430
|
model: 'GALAXY J7'
|
@@ -8599,6 +9462,8 @@ Samsung:
|
|
8599
9462
|
model: 'GALAXY M10'
|
8600
9463
|
- regex: '(?:SAMSUNG-)?SM-M205[FG]'
|
8601
9464
|
model: 'GALAXY M20'
|
9465
|
+
- regex: '(?:SAMSUNG-)?SM-M307(F|FN)'
|
9466
|
+
model: 'GALAXY M30s'
|
8602
9467
|
- regex: '(?:SAMSUNG-)?SM-G850F'
|
8603
9468
|
model: 'GALAXY Alpha'
|
8604
9469
|
- regex: '(?:SAMSUNG-)?SM-G910S'
|
@@ -8711,7 +9576,7 @@ Samsung:
|
|
8711
9576
|
- regex: '(?:SAMSUNG-)?GT-I920[05]'
|
8712
9577
|
model: 'GALAXY Mega 6.3'
|
8713
9578
|
device: 'phablet'
|
8714
|
-
- regex: '(?:SAMSUNG-)?SM-N930F|SCV34'
|
9579
|
+
- regex: '(?:SAMSUNG-)?(?:SM-N930F|SCV34)'
|
8715
9580
|
model: 'GALAXY Note 7'
|
8716
9581
|
device: 'phablet'
|
8717
9582
|
- regex: '(?:SAMSUNG[- ])?SM-N950|SCV37'
|
@@ -8720,6 +9585,12 @@ Samsung:
|
|
8720
9585
|
- regex: '(?:SAMSUNG[- ])?SM-N960'
|
8721
9586
|
model: 'GALAXY Note 9'
|
8722
9587
|
device: 'phablet'
|
9588
|
+
- regex: '(?:SAMSUNG[- ])?SM-N970(?:0|8|9|D|F|J|K|L|S|U1|U|W8|X)'
|
9589
|
+
model: 'GALAXY Note 10'
|
9590
|
+
device: 'phablet'
|
9591
|
+
- regex: '(?:SAMSUNG[- ])?(?:SM-N975(?:0|F|U|U1|W|X|Xu)|SM-N976[BV])'
|
9592
|
+
model: 'GALAXY Note 10+'
|
9593
|
+
device: 'phablet'
|
8723
9594
|
|
8724
9595
|
# explicit feature phones
|
8725
9596
|
- regex: '(?:SAMSUNG-)?GT-E2152'
|
@@ -9232,9 +10103,14 @@ Prestigio:
|
|
9232
10103
|
models:
|
9233
10104
|
- regex: 'PMT3277_3G'
|
9234
10105
|
model: 'MultiPad Ranger 7.0 3G'
|
10106
|
+
- regex: 'PMT3201_4G'
|
10107
|
+
model: 'Grace 4G'
|
9235
10108
|
- regex: 'PMT3287_3G'
|
9236
10109
|
model: 'MultiPad Ranger 8.0 3G'
|
9237
|
-
|
10110
|
+
- regex: 'PSP7546DUO([ _][A-Z]{2})?'
|
10111
|
+
model: 'X Pro'
|
10112
|
+
- regex: 'PSP7610DUO([ _][A-Z]{2})?'
|
10113
|
+
model: 'S Max'
|
9238
10114
|
- regex: '(PM[PT][0-9]+[a-z0-9_]+)[);/ ]'
|
9239
10115
|
model: '$1'
|
9240
10116
|
- regex: '((?:PAP|PSP)[0-9]+[a-z0-9_]+(?: DUO)?)[);/ ]'
|
@@ -9259,13 +10135,24 @@ Sanyo:
|
|
9259
10135
|
- regex: 'MobilePhone ([a-z0-9\-]+)'
|
9260
10136
|
model: '$1'
|
9261
10137
|
|
9262
|
-
# Qilive
|
10138
|
+
# Qilive (Auchan)
|
9263
10139
|
Qilive:
|
9264
|
-
regex: 'Qilive [0-9][^;/]*|
|
10140
|
+
regex: 'Qilive [0-9][^;/]*|Q(8S55IN4G2|10S5[37]IN4G|10S5IN4GR|10S6IN4G|6T7IN)'
|
9265
10141
|
device: 'smartphone'
|
9266
10142
|
models:
|
9267
10143
|
- regex: 'Q8S55IN4G2'
|
9268
|
-
model: '
|
10144
|
+
model: 'Q8 5.5" 4G'
|
10145
|
+
- regex: 'Q10S53IN4G'
|
10146
|
+
model: 'Q10 5.3" 4G'
|
10147
|
+
- regex: 'Q10S57IN4G'
|
10148
|
+
model: 'Q10 5.7" 4G'
|
10149
|
+
- regex: 'Q10S5IN4GR'
|
10150
|
+
model: 'Q10 5.0" 4G'
|
10151
|
+
- regex: 'Q10S6IN4G'
|
10152
|
+
model: 'Q10 6.0" 4G'
|
10153
|
+
- regex: 'Q6T7IN'
|
10154
|
+
model: 'Q6'
|
10155
|
+
device: 'tablet'
|
9269
10156
|
- regex: 'Qilive ([0-5][^;/]*) Build'
|
9270
10157
|
model: '$1'
|
9271
10158
|
- regex: 'Qilive ([0-5][^;/]*)/'
|
@@ -9453,7 +10340,7 @@ Star:
|
|
9453
10340
|
|
9454
10341
|
# Kindle
|
9455
10342
|
Amazon:
|
9456
|
-
regex: 'KF(?:OT|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|SAW[IA]|GIWI|SUWI)[);/ ]|Kindle|Silk/\d+\.\d+|Amazon (?:Tate|Jem)|AFT[BMST]|SD4930UR'
|
10343
|
+
regex: 'KF(?:OT|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|SAW[IA]|GIWI|SUWI)[);/ ]|Kindle|Silk/\d+\.\d+|Amazon (?:Tate|Jem)|AFT[BMST]|SD4930UR|AEO(BC|KN)[);/ ]'
|
9457
10344
|
device: 'tablet'
|
9458
10345
|
models:
|
9459
10346
|
- regex: 'AFTB'
|
@@ -9508,10 +10395,26 @@ Amazon:
|
|
9508
10395
|
- regex: 'Kindle'
|
9509
10396
|
model: 'Kindle'
|
9510
10397
|
|
10398
|
+
- regex: 'AEO(BC|KN)[);/ ]'
|
10399
|
+
model: 'Echo'
|
10400
|
+
device: 'smart speaker'
|
10401
|
+
|
9511
10402
|
# Symphony
|
9512
10403
|
Symphony:
|
9513
|
-
regex: 'SYMPHONY[ \_]([a-z0-9]+)'
|
10404
|
+
regex: 'SYMPHONY[ \_]([a-z0-9]+)|roar (V20|E80)'
|
9514
10405
|
device: 'smartphone'
|
10406
|
+
models:
|
10407
|
+
- regex: 'roar V20'
|
10408
|
+
model: 'Roar V20'
|
10409
|
+
- regex: 'roar E80'
|
10410
|
+
model: 'Roar E80'
|
10411
|
+
- regex: 'SYMPHONY[ \_]([a-z0-9]+)'
|
10412
|
+
model: '$1'
|
10413
|
+
|
10414
|
+
# Syrox
|
10415
|
+
Syrox:
|
10416
|
+
regex: '(SYX-(?:T70[04]|T10[12]))[;)/ ]'
|
10417
|
+
device: 'tablet'
|
9515
10418
|
model: '$1'
|
9516
10419
|
|
9517
10420
|
# Qtek
|
@@ -9548,14 +10451,14 @@ T-Mobile:
|
|
9548
10451
|
|
9549
10452
|
# Tcl
|
9550
10453
|
TCL:
|
9551
|
-
regex: 'TCL[ -][a-z0-9]+|(TCL[_ -][^;/]+|7040N) Build|TCLGalaG60|A502DL'
|
10454
|
+
regex: 'TCL[_ -][a-z0-9]+|(TCL[_ -][^;/]+|7040N) Build|TCLGalaG60|A502DL'
|
9552
10455
|
device: 'smartphone'
|
9553
10456
|
models:
|
9554
10457
|
- regex: 'TCLGalaG60'
|
9555
10458
|
model: 'Gala G60'
|
9556
10459
|
- regex: 'TCL[_ -]([^;/]+) Build'
|
9557
10460
|
model: '$1'
|
9558
|
-
- regex: 'TCL[ -]([a-z0-9]+)'
|
10461
|
+
- regex: 'TCL[_ -]([a-z0-9]+)'
|
9559
10462
|
model: '$1'
|
9560
10463
|
- regex: '(7040N)'
|
9561
10464
|
model: '$1'
|
@@ -9574,13 +10477,34 @@ Teclast:
|
|
9574
10477
|
|
9575
10478
|
# Tecno Mobile
|
9576
10479
|
Tecno Mobile:
|
9577
|
-
regex: 'Tecno|Phantom6|Phantom6-Plus'
|
10480
|
+
regex: 'Tecno|Phantom6|Phantom6-Plus|DP7C Pro-SGA1'
|
9578
10481
|
device: 'smartphone'
|
9579
10482
|
models:
|
9580
10483
|
- regex: 'Phantom6-Plus'
|
9581
10484
|
model: 'Phantom 6 Plus'
|
9582
10485
|
- regex: 'Phantom6'
|
9583
10486
|
model: 'Phantom 6'
|
10487
|
+
- regex: 'TECNO[ _]ID6[);/ ]'
|
10488
|
+
model: 'Camon iClick 2'
|
10489
|
+
- regex: 'Tecno[ _]7C[);/ ]'
|
10490
|
+
model: 'DroidPad 7C'
|
10491
|
+
device: 'tablet'
|
10492
|
+
- regex: 'DP7C Pro-SGA1[);/ ]'
|
10493
|
+
model: 'DroidPad 7C Pro'
|
10494
|
+
device: 'tablet'
|
10495
|
+
- regex: 'TECNO[ _]DP10A Pro[);/ ]'
|
10496
|
+
model: 'DroidPad 10A Pro'
|
10497
|
+
device: 'tablet'
|
10498
|
+
- regex: 'TECNO[ _]P904[);/ ]'
|
10499
|
+
model: 'DroidPad 10D 4G'
|
10500
|
+
device: 'tablet'
|
10501
|
+
- regex: 'Tecno[ _]CB7[j]?'
|
10502
|
+
model: 'Camon i4'
|
10503
|
+
- regex: 'Tecno[ _]DP8D[);/ ]'
|
10504
|
+
model: 'DroidPad 8D'
|
10505
|
+
device: 'tablet'
|
10506
|
+
- regex: 'Tecno[ _]LB8'
|
10507
|
+
model: 'Pouvoir 3 Plus'
|
9584
10508
|
- regex: 'Tecno ([^;/]+) Build'
|
9585
10509
|
model: '$1'
|
9586
10510
|
- regex: 'Tecno[ _]?([a-z0-9_\-]+)'
|
@@ -9613,7 +10537,7 @@ Tesco:
|
|
9613
10537
|
|
9614
10538
|
# teXet
|
9615
10539
|
teXet:
|
9616
|
-
regex: 'Texet|(NaviPad [^/;]*) Build|TM-(?:1046|1058|1057|1067|3000|3200R|3500|4003|4071|450[34]|451[30]|4377|4082R|550[83]|5010|5017|
|
10540
|
+
regex: 'Texet|(NaviPad [^/;]*) Build|TM-(?:1046|1058|1057|1067|3000|3200R|3500|4003|4071|450[34]|451[30]|4377|4082R|550[83]|5010|5017|507[4-7]|5[23]77|6003|6906|702[13]|7055HD|709[69]|9747BT|9758|9751HD|9767|5513|520[410]|5505|507[13]|5581|7859|8044|9748[ _]3G|9720|7047HD[ _]3G|9757|9740|4982|4515|4083|500[3567]|5571|3204R|5016|8043|7047HD[ _]3G|8041HD|8066|705[23]|7041|8041HD|8051|8048|974[96]|973[78]W|974[10]|9743W|9750HD|7043XD|7049|7887|7037W|702[46])|TB-(771A|711A)|X-Force[\(-]?TM-5009\)?|X-Plus[\(-]?TM-5577\)?|X-pad (?:AIR 8|iX 7) 3G'
|
9617
10541
|
device: 'tablet'
|
9618
10542
|
models:
|
9619
10543
|
- regex: 'TM-9749'
|
@@ -9653,7 +10577,7 @@ teXet:
|
|
9653
10577
|
- regex: 'TM-4503'
|
9654
10578
|
device: 'smartphone'
|
9655
10579
|
model: 'X-Quad'
|
9656
|
-
- regex: '(TM-(?:3000|3200R|4003|4083|4377|4504|451[30]|500[35]|5[23]77|5571|3204R|520[04]|5581|5505|
|
10580
|
+
- regex: '(TM-(?:3000|3200R|4003|4083|4377|4504|451[30]|500[35]|5[23]77|5571|3204R|520[04]|5581|5505|507[13]|5017|507[4-7]|6003|5513))'
|
9657
10581
|
device: 'smartphone'
|
9658
10582
|
model: '$1'
|
9659
10583
|
- regex: 'TM-5006'
|
@@ -9771,6 +10695,16 @@ Timovi:
|
|
9771
10695
|
- regex: 'Infinit_Lite_2'
|
9772
10696
|
model: 'Infinit Lite 2'
|
9773
10697
|
|
10698
|
+
# Tooky
|
10699
|
+
Tooky:
|
10700
|
+
regex: 'TOOKY'
|
10701
|
+
device: 'smartphone'
|
10702
|
+
models:
|
10703
|
+
- regex: 'TOOKY (A19|W1|T8[368]|T1982)[);/ ]'
|
10704
|
+
model: '$1'
|
10705
|
+
- regex: 'TOOKY A9PLUS[);/ ]'
|
10706
|
+
model: 'A9 Plus'
|
10707
|
+
|
9774
10708
|
# Tolino
|
9775
10709
|
Tolino:
|
9776
10710
|
regex: 'Tolino Tab ([^/;]+) Build'
|
@@ -9902,9 +10836,9 @@ Uhappy:
|
|
9902
10836
|
|
9903
10837
|
# Unimax
|
9904
10838
|
Unimax:
|
9905
|
-
regex: 'U(67[013]|680)C'
|
10839
|
+
regex: 'U((?:67[013]|680)C|(?:452|504)TL|683CL)[);/ ]'
|
9906
10840
|
device: 'smartphone'
|
9907
|
-
model: 'U$
|
10841
|
+
model: 'U$1'
|
9908
10842
|
|
9909
10843
|
# Unowhy
|
9910
10844
|
Unowhy:
|
@@ -10009,6 +10943,11 @@ Unonu:
|
|
10009
10943
|
- regex: 'Unonu[ _-]?([^;/)]+)[);/ ]'
|
10010
10944
|
model: '$1'
|
10011
10945
|
|
10946
|
+
# UTOK
|
10947
|
+
UTOK:
|
10948
|
+
regex: 'UTOK (45[01]D)'
|
10949
|
+
device: 'smartphone'
|
10950
|
+
model: '$1'
|
10012
10951
|
|
10013
10952
|
# Vastking
|
10014
10953
|
Vastking:
|
@@ -10045,9 +10984,15 @@ Vitelcom:
|
|
10045
10984
|
- regex: 'portalmmm/[12].0 (TSM[a-z0-9 ]+)'
|
10046
10985
|
model: '$1'
|
10047
10986
|
|
10987
|
+
# Fengxiang
|
10988
|
+
Fengxiang:
|
10989
|
+
regex: '(vKB011B|vKB004L)'
|
10990
|
+
device: 'tablet'
|
10991
|
+
model: '$1'
|
10992
|
+
|
10048
10993
|
# VK Mobile
|
10049
10994
|
VK Mobile:
|
10050
|
-
regex: 'VK(?!share)[\-]?([a-z0-9 ]+)[
|
10995
|
+
regex: 'VK(?!share)[\-]?([a-z0-9 ]+)([;\)/ ]| Build)'
|
10051
10996
|
device: 'feature phone'
|
10052
10997
|
model: '$1'
|
10053
10998
|
|
@@ -10079,6 +11024,12 @@ Vertu:
|
|
10079
11024
|
device: 'feature phone'
|
10080
11025
|
model: '$1'
|
10081
11026
|
|
11027
|
+
# Venso mobile
|
11028
|
+
Venso:
|
11029
|
+
regex: '(CX-508)[/;) ]'
|
11030
|
+
device: 'smartphone'
|
11031
|
+
model: '$1'
|
11032
|
+
|
10082
11033
|
# Verizon
|
10083
11034
|
Verizon:
|
10084
11035
|
regex: 'QTA(SUN[12]|XIA1|QZ3|QZ3KID|IR7)|QMV7B'
|
@@ -10175,8 +11126,12 @@ Vodafone:
|
|
10175
11126
|
model: 'Smart X9'
|
10176
11127
|
- regex: 'VFD 610'
|
10177
11128
|
model: 'Smart N8'
|
11129
|
+
- regex: 'Smart ultra 6'
|
11130
|
+
model: 'Smart Ultra 6'
|
10178
11131
|
- regex: 'VFD 700'
|
10179
11132
|
model: 'Smart Ultra 7'
|
11133
|
+
- regex: 'VFD 720'
|
11134
|
+
model: 'Smart N9'
|
10180
11135
|
- regex: 'VFD 900'
|
10181
11136
|
model: 'Smart Platinum 7'
|
10182
11137
|
- regex: 'Vodafone[ _]875[);/ ]'
|
@@ -10210,6 +11165,9 @@ Vodafone:
|
|
10210
11165
|
- regex: 'Smart ?Tab ?4G'
|
10211
11166
|
device: 'tablet'
|
10212
11167
|
model: 'Smart Tab 4G' # Alcatel
|
11168
|
+
- regex: 'Smart ?Tab ?4'
|
11169
|
+
model: 'Smart Tab 4' # ZTE
|
11170
|
+
device: 'tablet'
|
10213
11171
|
- regex: 'SmartTab7[);/ -]'
|
10214
11172
|
model: 'Smart Tab 7' # ZTE
|
10215
11173
|
device: 'tablet'
|
@@ -10238,7 +11196,7 @@ Vodafone:
|
|
10238
11196
|
|
10239
11197
|
# Vonino
|
10240
11198
|
Vonino:
|
10241
|
-
regex: 'Vonino|
|
11199
|
+
regex: 'Vonino|Epic (?:E8|P7)|Gyga[ _](?:X|S|QS|XS)|Jax[ _](?:Q|QS|S|X|Mini)|Magnet[ _]M[19]|Navo_QS|Onyx_(QS|Z)|Orin_QS|Pluri[ _](?:[BCMQ]7|[CQ]8)|Sirius_QS|Volt[ _][XS]|Xavy_T7|Xylo[ _][XSP]|Zun[ _]X[OS]?'
|
10242
11200
|
device: 'smartphone'
|
10243
11201
|
models:
|
10244
11202
|
- regex: 'Zun[ _]XO'
|
@@ -10269,6 +11227,9 @@ Vonino:
|
|
10269
11227
|
model: 'Jax $1'
|
10270
11228
|
- regex: 'Jax[ _]Mini'
|
10271
11229
|
model: 'Jax Mini'
|
11230
|
+
- regex: 'Epic (E8|P7)'
|
11231
|
+
model: 'Epic $1'
|
11232
|
+
device: 'tablet'
|
10272
11233
|
- regex: 'Pluri[ _](B|C|M|Q)7'
|
10273
11234
|
model: 'Pluri $17'
|
10274
11235
|
device: 'tablet'
|
@@ -10281,6 +11242,15 @@ Vonino:
|
|
10281
11242
|
- regex: 'Navo_QS'
|
10282
11243
|
model: 'Navo QS'
|
10283
11244
|
device: 'tablet'
|
11245
|
+
- regex: 'Onyx_(QS|Z)'
|
11246
|
+
model: 'Onyx $1'
|
11247
|
+
device: 'tablet'
|
11248
|
+
- regex: 'Orin_QS'
|
11249
|
+
model: 'Orin QS'
|
11250
|
+
device: 'tablet'
|
11251
|
+
- regex: 'Sirius_QS'
|
11252
|
+
model: 'Sirius QS'
|
11253
|
+
device: 'tablet'
|
10284
11254
|
- regex: 'Xavy_T7'
|
10285
11255
|
model: 'Xavy T7'
|
10286
11256
|
device: 'tablet'
|
@@ -10582,13 +11552,13 @@ X-View:
|
|
10582
11552
|
|
10583
11553
|
# Xiaomi
|
10584
11554
|
Xiaomi:
|
10585
|
-
regex: 'Xiaomi(?!/MiuiBrowser)|(?:MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+|MIX(?: 2S?)?)[);/ ]|HM (?:[^/;]+) (?:Build|MIUI)|(?:2014501|2014011|201481[
|
11555
|
+
regex: 'Xiaomi(?!/MiuiBrowser)|(?:MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+|MIX(?: 2S?)?)[);/ ]|HM (?:[^/;]+) (?:Build|MIUI)|(?:2014501|2014011|201481[12378]|201302[23]|2013061) Build|Redmi|POCOPHONE|SKR-[AH]0|SKW-[AH]0|POCO F1'
|
10586
11556
|
device: 'smartphone'
|
10587
11557
|
models:
|
10588
11558
|
# specific smartphone models
|
10589
11559
|
- regex: 'SKR-[AH]0'
|
10590
11560
|
model: 'Black Shark'
|
10591
|
-
- regex: 'SKW-
|
11561
|
+
- regex: 'SKW-[AH]0'
|
10592
11562
|
model: 'Black Shark 2'
|
10593
11563
|
- regex: 'Xiaomi_2014501|2014501 Build'
|
10594
11564
|
model: 'Hongmi 4G'
|
@@ -10596,27 +11566,86 @@ Xiaomi:
|
|
10596
11566
|
model: 'Hongmi 1S'
|
10597
11567
|
- regex: 'Xiaomi_201302[23]|201302[23] Build'
|
10598
11568
|
model: 'Hongmi'
|
10599
|
-
- regex: '
|
11569
|
+
- regex: 'Xiaomi_2014818|2014818 Build'
|
11570
|
+
model: 'Hongmi 2 3G'
|
11571
|
+
- regex: 'Xiaomi_2014817|2014817 Build'
|
10600
11572
|
model: 'Hongmi 2'
|
11573
|
+
- regex: 'Xiaomi_201481[123]|201481[123] Build'
|
11574
|
+
model: 'Hongmi 2 4G'
|
11575
|
+
- regex: 'Mi 9 SE[);/ ]'
|
11576
|
+
model: 'MI 9 SE'
|
11577
|
+
- regex: 'MI 8 Lite[);/ ]'
|
11578
|
+
model: 'MI 8 Lite'
|
11579
|
+
- regex: 'MI 5s Plus[);/ ]'
|
11580
|
+
model: 'MI 5s Plus'
|
10601
11581
|
- regex: 'Xiaomi_2013061|2013061 Build'
|
10602
11582
|
model: 'MI 3'
|
10603
11583
|
- regex: 'Mi-4c[);/ ]'
|
10604
11584
|
model: 'MI 4C'
|
11585
|
+
- regex: 'MI MAX 3[);/ ]'
|
11586
|
+
model: 'MI MAX 3'
|
11587
|
+
- regex: 'MI MAX 2[);/ ]'
|
11588
|
+
model: 'MI MAX 2'
|
11589
|
+
- regex: 'Mi A2 Lite[);/ ]'
|
11590
|
+
model: 'MI A2 Lite'
|
11591
|
+
- regex: 'MIX 3[);/ ]'
|
11592
|
+
model: 'MI MIX 3'
|
10605
11593
|
- regex: 'MIX 2S[);/ ]'
|
10606
11594
|
model: 'MI MIX 2S'
|
10607
11595
|
- regex: 'MIX 2[);/ ]'
|
10608
11596
|
model: 'MI MIX 2'
|
10609
11597
|
- regex: 'MIX[);/ ]'
|
10610
11598
|
model: 'MI MIX'
|
10611
|
-
- regex: 'POCOPHONE F1'
|
11599
|
+
- regex: 'POCOPHONE F1|POCO F1'
|
10612
11600
|
model: 'Pocophone F1'
|
11601
|
+
- regex: 'Redmi 5 Plus'
|
11602
|
+
model: 'Redmi 5 Plus'
|
11603
|
+
- regex: 'HM 2A[);/ ]'
|
11604
|
+
model: 'Redmi 2A'
|
11605
|
+
- regex: 'HM 1S[CW]?[);/ ]'
|
11606
|
+
model: 'Redmi 1S'
|
11607
|
+
- regex: 'HM 1[);/ ]'
|
11608
|
+
model: 'Redmi 1'
|
11609
|
+
- regex: 'MI PAD 4 PLUS[);/ ]'
|
11610
|
+
model: 'Mi Pad 4 Plus'
|
11611
|
+
device: 'tablet'
|
11612
|
+
- regex: 'MI PAD 4[);/ ]'
|
11613
|
+
model: 'Mi Pad 4'
|
11614
|
+
device: 'tablet'
|
11615
|
+
- regex: 'MI PAD 3[);/ ]'
|
11616
|
+
model: 'Mi Pad 3'
|
11617
|
+
device: 'tablet'
|
11618
|
+
- regex: 'MI PAD 2[);/ ]'
|
11619
|
+
model: 'Mi Pad 2'
|
11620
|
+
device: 'tablet'
|
11621
|
+
- regex: 'MI PAD[);/ ]'
|
11622
|
+
model: 'Mi Pad'
|
11623
|
+
device: 'tablet'
|
11624
|
+
- regex: 'HM NOTE 1W (?:Build|MIUI)'
|
11625
|
+
device: 'phablet'
|
11626
|
+
model: 'Redmi Note'
|
11627
|
+
- regex: 'HM NOTE 1TD (?:Build|MIUI)'
|
11628
|
+
device: 'phablet'
|
11629
|
+
model: 'Hongmi Note 1TD'
|
11630
|
+
- regex: 'HM NOTE 1(?:LTE|S)(?:W|GLOBAL|TD)? (?:Build|MIUI)'
|
11631
|
+
device: 'phablet'
|
11632
|
+
model: 'Redmi Note 4G'
|
11633
|
+
- regex: 'Redmi Note 6 Pro'
|
11634
|
+
model: 'Redmi Note 6 Pro'
|
11635
|
+
device: 'phablet'
|
11636
|
+
- regex: 'Redmi Note 5 Pro'
|
11637
|
+
model: 'Redmi Note 5 Pro'
|
11638
|
+
device: 'phablet'
|
11639
|
+
- regex: 'Redmi Note 5A Prime'
|
11640
|
+
model: 'Redmi Note 5A Prime'
|
11641
|
+
device: 'phablet'
|
10613
11642
|
|
10614
|
-
- regex: 'Redmi Note ([^;/) ]+)?'
|
11643
|
+
- regex: 'Redmi[ _]Note[ _]([^;/) ]+)?'
|
10615
11644
|
model: 'Redmi Note $1'
|
10616
11645
|
device: 'phablet'
|
10617
|
-
- regex: 'Redmi ([^;/) ]+)?'
|
11646
|
+
- regex: 'Redmi[ _]([^;/) ]+)?'
|
10618
11647
|
model: 'Redmi $1'
|
10619
|
-
- regex: 'MI Note ([^;/) ]+)?'
|
11648
|
+
- regex: 'MI[ _]Note[ _]([^;/) ]+)?'
|
10620
11649
|
model: 'MI Note $1'
|
10621
11650
|
device: 'phablet'
|
10622
11651
|
- regex: '(MI(?:-One)?[ _](?:[^;/]*))Build'
|
@@ -10646,7 +11675,7 @@ Xolo:
|
|
10646
11675
|
models:
|
10647
11676
|
- regex: 'BLACK-1XM'
|
10648
11677
|
model: 'Black 1X'
|
10649
|
-
- regex: '(Q600|Q700s?|Q800|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5.[05])[);/ ]'
|
11678
|
+
- regex: '(Q600 Club|Q600|Q700s?|Q800|Q1000s Plus|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5.[05])[);/ ]'
|
10650
11679
|
model: '$1'
|
10651
11680
|
- regex: 'Xolo[ _]?([^;/]+) Build'
|
10652
11681
|
model: '$1'
|
@@ -10915,6 +11944,18 @@ Toshiba:
|
|
10915
11944
|
- regex: 'portalmmm/[12].0 (TS[a-z0-9 ]+)'
|
10916
11945
|
model: '$1'
|
10917
11946
|
|
11947
|
+
# Vivax
|
11948
|
+
Vivax:
|
11949
|
+
regex: 'VIVAX|(Fly5[_ ]Lite)[;)/ ]'
|
11950
|
+
device: 'smartphone'
|
11951
|
+
models:
|
11952
|
+
- regex: 'Fly5[_ ]Lite'
|
11953
|
+
model: 'Fly 5 Lite'
|
11954
|
+
- regex: 'VIVAX[ _]Fly3'
|
11955
|
+
model: 'Fly 3'
|
11956
|
+
- regex: 'SMART Point X5010'
|
11957
|
+
model: 'Smart Point X5010'
|
11958
|
+
|
10918
11959
|
# Fly
|
10919
11960
|
Fly:
|
10920
11961
|
regex: 'Fly(?!Flow|touch)|FS50[1-9]|FS51[0-8]|FS52[0-9]|FS530|FS55[134]|FS40[1-9]|FS45[1-9]|4FS06|MERIDIAN-|(?:IQ[0-9]{3,})[ _]?(?:Quad|Firebird|Quattro|Turbo|Magic)?(?: Build|[;/\)])'
|
@@ -11184,22 +12225,53 @@ Zenek:
|
|
11184
12225
|
Zopo:
|
11185
12226
|
regex: '(?:ZOPO[_ ])?(Flash X3|ZP[0-9]{2,}[^/;]+) Build'
|
11186
12227
|
device: 'smartphone'
|
11187
|
-
|
12228
|
+
models:
|
12229
|
+
- regex: 'ZP998[);/ ]'
|
12230
|
+
model: 'C2 II'
|
12231
|
+
- regex: '(?:ZOPO_)?ZP980[+][);/ ]'
|
12232
|
+
model: 'ZP980+'
|
12233
|
+
- regex: '(?:ZOPO_)?ZP980[);/ ]'
|
12234
|
+
model: 'Scorpio'
|
12235
|
+
- regex: 'ZP952[);/ ]'
|
12236
|
+
model: 'Speed 7 Plus'
|
12237
|
+
- regex: 'ZP951[);/ ]'
|
12238
|
+
model: 'Speed 7'
|
12239
|
+
- regex: 'ZP950[+h]?[);/ ]'
|
12240
|
+
model: 'Leader Max'
|
12241
|
+
- regex: 'ZP(?:900H?|910)[);/ ]'
|
12242
|
+
model: 'Leader'
|
12243
|
+
- regex: 'ZP(?:800H|810)[);/ ]'
|
12244
|
+
model: 'Libero HD'
|
12245
|
+
- regex: 'ZP500[+]?[);/ ]'
|
12246
|
+
model: 'Libero'
|
12247
|
+
- regex: 'ZP330[);/ ]'
|
12248
|
+
model: 'Color C'
|
12249
|
+
- regex: 'ZP300[S+]?[);/ ]'
|
12250
|
+
model: 'Field'
|
12251
|
+
- regex: 'ZP200[+]?[);/ ]'
|
12252
|
+
model: 'Shining'
|
12253
|
+
- regex: 'ZP100[);/ ]'
|
12254
|
+
model: 'Pilot'
|
12255
|
+
|
12256
|
+
- regex: '(Flash X3|ZP[0-9]{2,}[^/;]+) Build'
|
12257
|
+
model: '$1'
|
11188
12258
|
|
11189
12259
|
# ZTE
|
11190
12260
|
ZTE:
|
11191
|
-
regex: 'ZTE|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade (?:L110|L[2357]|L7A|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310|460|465|475|520|530|602)|V580)|N9[15]8St|NX(?:403A|404H|406E|40[X2]|507J|503A|505J|506J|508J|510J|512J|511J|513J|521J|523J_V1|529J|531J|541J|549J|551J|563J|569[HJ]|573J|575J|591J|595J|597J|601J|907J|616J)|N951[0579]|N9180|N9101|N913[67]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:233V|331|667T|768G|792|81[25]|82[08]|83[12359]|85[125]|851M|(557|
|
12261
|
+
regex: 'ZTE|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade (?:L110|L[2357]|L7A|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310|460|465|475|520|530|602)|V580)|N9[15]8St|NX(?:403A|404H|406E|40[X2]|507J|503A|505J|506J|508J|510J|512J|511J|513J|521J|523J_V1|529J|531J|541J|549J|551J|563J|569[HJ]|573J|575J|591J|595J|597J|601J|907J|616J)|N951[0579]|N9180|N9101|N913[67]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:233V|331|667T|768G|792|81[25]|82[08]|83[12359]|85[125]|851M|(557|71[67]|798|836|861|916)BL|986DL|(232|718|828)TL|(233|353|558|717|799|837|862|899|917|963)VL|955A|95[678]|965|97[018]|98[1237]|986U|999)|Apex2|G (LTE|Lux)|Vec)[);/ ]|KIS II Max|Kis 3|Z930L'
|
11192
12262
|
device: 'smartphone'
|
11193
12263
|
models:
|
11194
12264
|
# explicit smartphone models
|
11195
12265
|
- regex: 'N799D[);/ ]'
|
11196
|
-
model: '
|
12266
|
+
model: 'Blade Eg'
|
11197
12267
|
- regex: 'N918St[);/ ]'
|
11198
12268
|
model: 'V5S'
|
11199
12269
|
- regex: 'N958St[);/ ]'
|
11200
12270
|
model: 'V5 Max'
|
11201
12271
|
- regex: 'N9101[);/ ]'
|
11202
12272
|
model: 'Imperial'
|
12273
|
+
- regex: 'N9120[);/ ]'
|
12274
|
+
model: 'Avid'
|
11203
12275
|
- regex: 'N9136[);/ ]'
|
11204
12276
|
model: 'Prestige 2'
|
11205
12277
|
- regex: 'N9137[);/ ]'
|
@@ -11207,11 +12279,11 @@ ZTE:
|
|
11207
12279
|
- regex: 'N9180[);/ ]'
|
11208
12280
|
model: 'V5'
|
11209
12281
|
- regex: 'N9510[);/ ]'
|
11210
|
-
model: '
|
12282
|
+
model: 'Warp 4G'
|
11211
12283
|
- regex: 'N9517[);/ ]'
|
11212
12284
|
model: 'Blade Force'
|
11213
12285
|
- regex: 'N9515[);/ ]'
|
11214
|
-
model: '
|
12286
|
+
model: 'Warp Sync'
|
11215
12287
|
- regex: 'N9519[);/ ]'
|
11216
12288
|
model: 'Warp 7'
|
11217
12289
|
- regex: 'N9520[);/ ]'
|
@@ -11224,8 +12296,8 @@ ZTE:
|
|
11224
12296
|
model: 'Vital'
|
11225
12297
|
- regex: 'NX40[X2][);/ ]'
|
11226
12298
|
model: 'Nubia Z5 mini'
|
11227
|
-
- regex: 'NX(
|
11228
|
-
model: 'Nubia Z5S
|
12299
|
+
- regex: 'NX(403[AE]|406E|404H)[);/ ]'
|
12300
|
+
model: 'Nubia Z5S Mini'
|
11229
12301
|
- regex: 'NX503A[);/ ]'
|
11230
12302
|
model: 'Nubia Z5S'
|
11231
12303
|
- regex: 'NX506J[);/ ]'
|
@@ -11254,8 +12326,10 @@ ZTE:
|
|
11254
12326
|
model: 'Nubia Z18S'
|
11255
12327
|
- regex: 'NX551J[);/ ]'
|
11256
12328
|
model: 'Nubia M2'
|
11257
|
-
- regex: '
|
12329
|
+
- regex: 'NX563J[);/ ]'
|
11258
12330
|
model: 'Nubia Z17'
|
12331
|
+
- regex: 'NX569H[);/ ]'
|
12332
|
+
model: 'Nubia Z17 Mini'
|
11259
12333
|
- regex: 'NX595J'
|
11260
12334
|
model: 'Nubia Z17S'
|
11261
12335
|
- regex: 'NX513J[);/ ]'
|
@@ -11279,12 +12353,34 @@ ZTE:
|
|
11279
12353
|
- regex: '[UV]9180[);/ ]'
|
11280
12354
|
model: 'V5 Red Bull'
|
11281
12355
|
- regex: '[UV]9815[);/ ]'
|
11282
|
-
model: 'Grand Memo'
|
12356
|
+
model: 'Grand Memo LTE'
|
12357
|
+
- regex: 'V779M'
|
12358
|
+
model: 'Joey Jump 2'
|
12359
|
+
- regex: 'V807'
|
12360
|
+
model: 'Blade C'
|
12361
|
+
- regex: 'V809'
|
12362
|
+
model: 'Blade C2'
|
12363
|
+
- regex: '(?:ZTE_)?V829'
|
12364
|
+
model: 'Blade G Pro'
|
12365
|
+
- regex: 'V882'
|
12366
|
+
model: 'Lord'
|
12367
|
+
- regex: 'V967S'
|
12368
|
+
model: 'Grand X2'
|
12369
|
+
- regex: 'V970M?|V987'
|
12370
|
+
model: 'Grand X'
|
12371
|
+
- regex: 'V8000'
|
12372
|
+
model: 'Nova 4'
|
12373
|
+
- regex: 'Z95[67]'
|
12374
|
+
model: 'Grand X4'
|
11283
12375
|
- regex: 'Z987'
|
11284
12376
|
model: 'Grand X Max+'
|
12377
|
+
- regex: '(?:ZTE_)?Grand[ _]Era'
|
12378
|
+
model: 'Grand Era'
|
12379
|
+
- regex: 'V788D'
|
12380
|
+
model: 'Kis Plus'
|
11285
12381
|
- regex: 'Z331[);/ ]'
|
11286
12382
|
model: 'Z331'
|
11287
|
-
- regex: 'Blade (A(310|460|465|475|520|530|602)|L110|V580)[);/ ]'
|
12383
|
+
- regex: 'Blade (A(0620|310|452|460|462|465|475|510|512|520|530|602|612|910)|L110|V0730|V0800|V580|V1000)[);/ ]'
|
11288
12384
|
model: 'Blade $1'
|
11289
12385
|
- regex: 'Blade L2 Plus[);/ ]'
|
11290
12386
|
model: 'Blade L2 Plus'
|
@@ -11292,24 +12388,36 @@ ZTE:
|
|
11292
12388
|
model: 'Blade L2'
|
11293
12389
|
- regex: 'Blade L3 Plus[);/ ]'
|
11294
12390
|
model: 'Blade L3 Plus'
|
12391
|
+
- regex: 'Blade L3 Apex[);/ ]'
|
12392
|
+
model: 'Blade L3 Apex'
|
11295
12393
|
- regex: 'Blade L3[);/ ]'
|
11296
12394
|
model: 'Blade L3'
|
12395
|
+
- regex: 'Blade L5 Plus[);/ ]'
|
12396
|
+
model: 'Blade L5 Plus'
|
11297
12397
|
- regex: 'Blade L5[);/ ]'
|
11298
12398
|
model: 'Blade L5'
|
12399
|
+
- regex: 'Blade L6[);/ ]'
|
12400
|
+
model: 'Blade L6'
|
12401
|
+
- regex: 'Blade L7A[);/ ]'
|
12402
|
+
model: 'Blade L7A'
|
12403
|
+
- regex: 'Blade L7[);/ ]'
|
12404
|
+
model: 'Blade L7'
|
11299
12405
|
- regex: 'Blade L8[);/ ]'
|
11300
12406
|
model: 'Blade L8'
|
12407
|
+
- regex: 'Blade S6 Plus[);/ ]'
|
12408
|
+
model: 'Blade S6 Plus'
|
11301
12409
|
- regex: 'Blade S6[);/ ]'
|
11302
12410
|
model: 'Blade S6'
|
12411
|
+
- regex: 'T920[);/ ]'
|
12412
|
+
model: 'Blade S7'
|
11303
12413
|
- regex: 'Blade V6 MAX[);/ ]'
|
11304
12414
|
model: 'Blade V6 Max'
|
11305
12415
|
- regex: 'Blade V6 Plus[);/ ]'
|
11306
12416
|
model: 'Blade V6 Plus'
|
11307
12417
|
- regex: 'Blade V6[);/ ]'
|
11308
12418
|
model: 'Blade V6'
|
11309
|
-
- regex: 'Blade
|
11310
|
-
model: 'Blade
|
11311
|
-
- regex: 'Blade L7[);/ ]'
|
11312
|
-
model: 'Blade L7'
|
12419
|
+
- regex: 'Blade (?:V7 Lite|V0720)[);/ ]'
|
12420
|
+
model: 'Blade V7 Lite'
|
11313
12421
|
- regex: 'Blade V7[);/ ]'
|
11314
12422
|
model: 'Blade V7'
|
11315
12423
|
- regex: 'Blade X7[);/ ]'
|
@@ -11322,6 +12430,12 @@ ZTE:
|
|
11322
12430
|
model: 'Blade V9 Vita'
|
11323
12431
|
- regex: 'Blade V9[);/ ]'
|
11324
12432
|
model: 'Blade V9'
|
12433
|
+
- regex: 'Blade V10 Vita[);/ ]'
|
12434
|
+
model: 'Blade V10 Vita'
|
12435
|
+
- regex: 'BLADE V0820[);/ ]'
|
12436
|
+
model: 'Blade V8 Lite'
|
12437
|
+
- regex: 'BLADE V0850[);/ ]'
|
12438
|
+
model: 'Blade V8 Mini'
|
11325
12439
|
- regex: '(Apex2|G (LTE|Lux)|Vec)'
|
11326
12440
|
model: 'Blade $1'
|
11327
12441
|
- regex: 'Z768G[);/ ]'
|
@@ -11336,6 +12450,8 @@ ZTE:
|
|
11336
12450
|
model: 'Blade V8 Pro'
|
11337
12451
|
- regex: 'Z839'
|
11338
12452
|
model: 'Blade Vantage'
|
12453
|
+
- regex: 'Z930L'
|
12454
|
+
model: 'Unico LTE'
|
11339
12455
|
- regex: 'Z965'
|
11340
12456
|
model: 'Blade X'
|
11341
12457
|
- regex: 'Z981'
|
@@ -11346,16 +12462,14 @@ ZTE:
|
|
11346
12462
|
model: 'Blade X Max'
|
11347
12463
|
- regex: 'Z717[BV]L[);/ ]'
|
11348
12464
|
model: 'Citrine LTE'
|
11349
|
-
- regex: 'Z233V'
|
11350
|
-
model: 'Cymbal LTE'
|
11351
12465
|
- regex: 'Z233VL'
|
11352
12466
|
model: 'Cymbal-C LTE'
|
12467
|
+
- regex: 'Z233V'
|
12468
|
+
model: 'Cymbal LTE'
|
11353
12469
|
- regex: 'Z232TL'
|
11354
12470
|
model: 'Cymbal-G LTE'
|
11355
12471
|
- regex: 'Z353VL'
|
11356
12472
|
model: 'Cymbal-T LTE'
|
11357
|
-
- regex: 'Z95[67]'
|
11358
|
-
model: 'Grand X 4'
|
11359
12473
|
- regex: 'Z718TL'
|
11360
12474
|
model: 'Jasper LTE'
|
11361
12475
|
- regex: 'KIS II Max'
|
@@ -11368,8 +12482,6 @@ ZTE:
|
|
11368
12482
|
model: 'Majesty Pro Plus LTE'
|
11369
12483
|
- regex: 'Z828TL'
|
11370
12484
|
model: 'Midnight Pro LTE'
|
11371
|
-
- regex: 'NX406E[);/ ]'
|
11372
|
-
model: 'Nubia Z5S'
|
11373
12485
|
- regex: 'Z792'
|
11374
12486
|
model: 'Fanfare'
|
11375
12487
|
- regex: 'Z812'
|
@@ -11383,7 +12495,7 @@ ZTE:
|
|
11383
12495
|
- regex: 'Z835'
|
11384
12496
|
model: 'Maven 3'
|
11385
12497
|
- regex: 'Z851[);/ ]'
|
11386
|
-
model: 'Prelude
|
12498
|
+
model: 'Prelude Plus'
|
11387
12499
|
- regex: 'Z851M'
|
11388
12500
|
model: 'Overture 3'
|
11389
12501
|
- regex: 'Z852'
|
@@ -11414,15 +12526,37 @@ ZTE:
|
|
11414
12526
|
model: 'ZMax Z970'
|
11415
12527
|
- regex: 'Z986DL'
|
11416
12528
|
model: 'MAX Blue LTE'
|
12529
|
+
- regex: 'Z992'
|
12530
|
+
model: 'Avail 2'
|
11417
12531
|
- regex: 'Z999'
|
11418
12532
|
model: 'Axon M'
|
11419
|
-
- regex: '
|
12533
|
+
- regex: 'B2016'
|
12534
|
+
model: 'Axon Mini'
|
12535
|
+
- regex: 'A2015'
|
12536
|
+
model: 'Axon Tianji'
|
12537
|
+
- regex: 'A2017[GU]?'
|
11420
12538
|
model: 'Axon 7'
|
12539
|
+
- regex: 'A2019G Pro'
|
12540
|
+
model: 'Axon Pro'
|
11421
12541
|
- regex: 'B2017G'
|
11422
12542
|
model: 'Axon 7 Mini'
|
12543
|
+
- regex: 'A2020G? Pro[);/ ]'
|
12544
|
+
model: 'Axon 10 Pro'
|
11423
12545
|
- regex: 'Z667T'
|
11424
12546
|
model: 'Zinger'
|
11425
|
-
|
12547
|
+
- regex: 'V?975|geek'
|
12548
|
+
model: 'Geek'
|
12549
|
+
- regex: 'Z716BL'
|
12550
|
+
model: 'Citrine LTE'
|
12551
|
+
- regex: 'X500'
|
12552
|
+
model: 'Score'
|
12553
|
+
- regex: 'X501'
|
12554
|
+
model: 'Groove'
|
12555
|
+
- regex: 'G-X991'
|
12556
|
+
model: 'Rio'
|
12557
|
+
- regex: 'F-450'
|
12558
|
+
model: 'Adamant'
|
12559
|
+
|
11426
12560
|
- regex: 'AxonPhone ([^;/]+) Build'
|
11427
12561
|
model: 'AxonPhone $1'
|
11428
12562
|
- regex: '([a-z0-9]+)_USA_Cricket'
|
@@ -11504,11 +12638,19 @@ MTC:
|
|
11504
12638
|
|
11505
12639
|
# MegaFon
|
11506
12640
|
MegaFon:
|
11507
|
-
regex: 'MFLoginPh'
|
12641
|
+
regex: 'MFLoginPh|(MFLogin4|MS3B|SP-A5|SP-A20i)[)\; ]'
|
11508
12642
|
device: 'smartphone'
|
11509
12643
|
models:
|
11510
12644
|
- regex: 'MFLoginPh'
|
11511
12645
|
model: 'Login+'
|
12646
|
+
- regex: 'MFLogin4'
|
12647
|
+
model: 'Login 4 LTE'
|
12648
|
+
- regex: 'MS3B'
|
12649
|
+
model: 'Optima'
|
12650
|
+
- regex: 'SP-A20i'
|
12651
|
+
model: 'Mint'
|
12652
|
+
- regex: '(SP-A5)'
|
12653
|
+
model: '$1'
|
11512
12654
|
|
11513
12655
|
# Inoi
|
11514
12656
|
Inoi:
|
@@ -11569,6 +12711,12 @@ Simbans:
|
|
11569
12711
|
- regex: 'SX2W'
|
11570
12712
|
model: 'SX2W'
|
11571
12713
|
|
12714
|
+
# MYFON
|
12715
|
+
MYFON:
|
12716
|
+
regex: 'MYPAD7s'
|
12717
|
+
device: 'tablet'
|
12718
|
+
model: 'My Pad 7s'
|
12719
|
+
|
11572
12720
|
# X-TIGI
|
11573
12721
|
X-TIGI:
|
11574
12722
|
regex: 'X[-_]TIGI'
|
@@ -11585,6 +12733,24 @@ X-TIGI:
|
|
11585
12733
|
- regex: 'X[-_]TIGI[ _-]([^/;)]+) Build'
|
11586
12734
|
model: '$1'
|
11587
12735
|
|
12736
|
+
# Xiaolajiao
|
12737
|
+
Xiaolajiao:
|
12738
|
+
regex: '(LA2-(?:L|S[N]?))[);/ ]'
|
12739
|
+
device: 'smartphone'
|
12740
|
+
model: '$1'
|
12741
|
+
|
12742
|
+
# Ritmix
|
12743
|
+
Ritmix:
|
12744
|
+
regex: 'RMD[-_](10(?:2[68]|5[89])|726)[);/ ]'
|
12745
|
+
device: 'tablet'
|
12746
|
+
model: 'RMD-$1'
|
12747
|
+
|
12748
|
+
# Ross&Moor
|
12749
|
+
'Ross&Moor':
|
12750
|
+
regex: 'RMD[-_](974R|600)[);/ ]'
|
12751
|
+
device: 'tablet'
|
12752
|
+
model: 'RMD-$1'
|
12753
|
+
|
11588
12754
|
# R-TV
|
11589
12755
|
R-TV:
|
11590
12756
|
regex: 'R-TV BOX[ _]?(MINI\+|X99|X10 PRO|[RXS]10)'
|
@@ -11618,7 +12784,17 @@ Yandex:
|
|
11618
12784
|
device: 'smartphone'
|
11619
12785
|
model: '$1'
|
11620
12786
|
|
12787
|
+
# FORME
|
12788
|
+
FORME:
|
12789
|
+
regex: 'FORME[ _-]'
|
12790
|
+
device: 'smartphone'
|
12791
|
+
models:
|
12792
|
+
- regex: 'FORME[ _-]F520[;)\ ]'
|
12793
|
+
model: 'Forever'
|
12794
|
+
- regex: 'FORME[ _-](A37|R7S)[;)\ ]'
|
12795
|
+
model: '$1'
|
12796
|
+
|
11621
12797
|
Shuttle:
|
11622
12798
|
regex: '(PNT-704[025])[;)/ ]'
|
11623
12799
|
device: 'tablet'
|
11624
|
-
model: '$1'
|
12800
|
+
model: '$1'
|