device_detector 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +5 -4
- data/CHANGELOG.md +4 -4
- data/README.md +6 -8
- data/lib/device_detector.rb +2 -2
- data/lib/device_detector/version.rb +1 -1
- data/regexes/bots.yml +461 -10
- data/regexes/client/browser_engine.yml +4 -1
- data/regexes/client/browsers.yml +167 -17
- data/regexes/client/feed_readers.yml +30 -0
- data/regexes/client/libraries.yml +38 -0
- data/regexes/client/mediaplayers.yml +4 -0
- data/regexes/client/mobile_apps.yml +82 -1
- data/regexes/client/pim.yml +4 -0
- data/regexes/device/mobiles.yml +1761 -138
- data/regexes/device/portable_media_player.yml +2 -4
- data/regexes/device/televisions.yml +16 -2
- data/regexes/oss.yml +25 -4
- data/spec/device_detector/detector_fixtures_spec.rb +51 -11
- data/spec/device_detector_spec.rb +20 -0
- data/spec/fixtures/client/browser.yml +446 -11
- data/spec/fixtures/client/feed_reader.yml +25 -1
- data/spec/fixtures/client/library.yml +55 -1
- data/spec/fixtures/client/mediaplayer.yml +6 -0
- data/spec/fixtures/client/mobile_app.yml +81 -1
- data/spec/fixtures/client/pim.yml +7 -1
- data/spec/fixtures/detector/bots.yml +668 -108
- data/spec/fixtures/detector/camera.yml +14 -8
- data/spec/fixtures/detector/car_browser.yml +4 -3
- data/spec/fixtures/detector/console.yml +38 -24
- data/spec/fixtures/detector/desktop.yml +981 -687
- data/spec/fixtures/detector/feature_phone.yml +82 -41
- data/spec/fixtures/detector/feed_reader.yml +37 -0
- data/spec/fixtures/detector/mobile_apps.yml +257 -0
- data/spec/fixtures/detector/phablet.yml +569 -163
- data/spec/fixtures/detector/portable_media_player.yml +24 -16
- data/spec/fixtures/detector/smart_display.yml +8 -5
- data/spec/fixtures/detector/smartphone-1.yml +4698 -4235
- data/spec/fixtures/detector/smartphone-2.yml +4804 -4256
- data/spec/fixtures/detector/smartphone-3.yml +5060 -4603
- data/spec/fixtures/detector/smartphone-4.yml +6803 -2637
- data/spec/fixtures/detector/smartphone-5.yml +7044 -0
- data/spec/fixtures/detector/smartphone.yml +4380 -3904
- data/spec/fixtures/detector/tablet-1.yml +4530 -4036
- data/spec/fixtures/detector/tablet-2.yml +4875 -25
- data/spec/fixtures/detector/tablet.yml +3266 -2764
- data/spec/fixtures/detector/tv.yml +563 -206
- data/spec/fixtures/detector/unknown.yml +1033 -863
- data/spec/fixtures/parser/oss.yml +114 -2
- data/spec/fixtures/parser/vendorfragments.yml +2 -2
- metadata +5 -3
data/regexes/client/pim.yml
CHANGED
data/regexes/device/mobiles.yml
CHANGED
@@ -81,9 +81,15 @@ HTC:
|
|
81
81
|
|
82
82
|
- regex: 'NexusHD2' # custom rom for hd2
|
83
83
|
model: 'HD2'
|
84
|
-
- regex: 'HTC[ _\-]
|
84
|
+
- regex: 'HTC[ _\-]P715a'
|
85
85
|
device: 'tablet'
|
86
|
-
model: '
|
86
|
+
model: 'P715a'
|
87
|
+
- regex: 'HTC[ _\-]Flyer Build'
|
88
|
+
device: 'tablet'
|
89
|
+
model: 'Flyer'
|
90
|
+
- regex: 'HTC[ _\-]Flyer[ _\-]([\w]{1,5})'
|
91
|
+
device: 'tablet'
|
92
|
+
model: 'Flyer $1'
|
87
93
|
- regex: 'HTC[ _\-]One[ _\-]max[);/ ]'
|
88
94
|
device: 'phablet'
|
89
95
|
model: 'One max'
|
@@ -115,14 +121,44 @@ HTC:
|
|
115
121
|
- regex: '(One M8)'
|
116
122
|
model: '$1'
|
117
123
|
|
124
|
+
# microsoft
|
125
|
+
Microsoft:
|
126
|
+
regex: 'KIN\.(One|Two)|RM-(?:1031|106[57]|109[02]|1099|1109|1114|1127|1141|1154)|Microsoft; Lumia'
|
127
|
+
device: 'smartphone'
|
128
|
+
models:
|
129
|
+
- regex: 'KIN\.(One|Two)'
|
130
|
+
device: 'feature phone'
|
131
|
+
model: 'Kin $1'
|
132
|
+
|
133
|
+
- regex: 'RM-1031'
|
134
|
+
model: 'Lumia 532'
|
135
|
+
- regex: 'RM-106[57]'
|
136
|
+
model: 'Lumia 640 XL'
|
137
|
+
- regex: 'RM-109[02]'
|
138
|
+
model: 'Lumia 535'
|
139
|
+
- regex: 'RM-1099'
|
140
|
+
model: 'Lumia 430'
|
141
|
+
- regex: 'RM-1109'
|
142
|
+
model: 'Lumia 640'
|
143
|
+
- regex: 'RM-1114'
|
144
|
+
model: 'Lumia 435'
|
145
|
+
- regex: 'RM-1127'
|
146
|
+
model: 'Lumia 550'
|
147
|
+
- regex: 'RM-1141'
|
148
|
+
model: 'Lumia 540'
|
149
|
+
- regex: 'RM-1154'
|
150
|
+
model: 'Lumia 650'
|
151
|
+
|
152
|
+
- regex: 'Microsoft; Lumia ([^;/)]+)[;/)]'
|
153
|
+
model: 'Lumia $1'
|
154
|
+
|
118
155
|
# NOKIA
|
119
156
|
Nokia:
|
120
|
-
regex: 'Nokia|Lumia|Maemo RX|portalmmm/2\.0 N7|portalmmm/2\.0 NK|nok[0-9]+|Symbian.*\s([a-z0-9]+)$|RX-51 N900'
|
157
|
+
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} Build'
|
121
158
|
device: 'smartphone'
|
122
159
|
models:
|
123
160
|
- regex: 'RX-51 N900'
|
124
161
|
model: 'N900'
|
125
|
-
device: 'tablet'
|
126
162
|
- regex: 'Nokia(N[0-9]+)'
|
127
163
|
model: '$1'
|
128
164
|
- regex: 'Nokia-([a-z0-9]+)'
|
@@ -152,6 +188,18 @@ Nokia:
|
|
152
188
|
device: 'feature phone'
|
153
189
|
model: '$1'
|
154
190
|
|
191
|
+
# Nokia branded phones by HMD Global
|
192
|
+
- regex: 'TA-10(07|23|29|35)'
|
193
|
+
model: '2'
|
194
|
+
- regex: 'TA-10(20|28|32|38)'
|
195
|
+
model: '3'
|
196
|
+
- regex: 'TA-10(24|27|44|53)'
|
197
|
+
model: '5'
|
198
|
+
- regex: 'TA-10(00|03|21|25|33|39)'
|
199
|
+
model: '6'
|
200
|
+
- regex: 'TA-10(04|12)'
|
201
|
+
model: '8'
|
202
|
+
|
155
203
|
# CnM
|
156
204
|
CnM:
|
157
205
|
regex: 'CnM'
|
@@ -162,9 +210,13 @@ CnM:
|
|
162
210
|
|
163
211
|
# RIM/BlackBerry
|
164
212
|
RIM:
|
165
|
-
regex: 'BB10;|BlackBerry|rim[0-9]+|PlayBook'
|
213
|
+
regex: 'BB10;|BlackBerry|rim[0-9]+|PlayBook|STV100-4|STH100-2'
|
166
214
|
device: 'smartphone'
|
167
215
|
models:
|
216
|
+
- regex: 'STV100-4'
|
217
|
+
model: 'BlackBerry Priv'
|
218
|
+
- regex: 'STH100-2'
|
219
|
+
model: 'BlackBerry DTEK50'
|
168
220
|
- regex: 'BB10; ([a-z0-9\- ]+)\)'
|
169
221
|
model: 'BlackBerry $1'
|
170
222
|
- regex: 'PlayBook.+RIM Tablet OS'
|
@@ -195,9 +247,12 @@ Palm:
|
|
195
247
|
|
196
248
|
# HP
|
197
249
|
HP:
|
198
|
-
regex: 'TouchPad/\d+\.\d+|hp-tablet|HP ?iPAQ|webOS.*P160U|HP Slate|HP [78]|Compaq [7|8]'
|
250
|
+
regex: 'TouchPad/\d+\.\d+|hp-tablet|HP ?iPAQ|webOS.*P160U|HP Slate|HP [78]|Compaq [7|8]|HP; [^;/)]+'
|
199
251
|
device: 'smartphone'
|
200
252
|
models:
|
253
|
+
- regex: 'HP Slate 6 Voice Tab'
|
254
|
+
model: 'Slate 6 VoiceTab'
|
255
|
+
device: 'phablet'
|
201
256
|
- regex: 'HP ([78][^/;]*) Build'
|
202
257
|
model: 'Slate $1'
|
203
258
|
device: 'tablet'
|
@@ -213,6 +268,8 @@ HP:
|
|
213
268
|
- regex: 'TouchPad/(\d+\.\d+)|hp-tablet'
|
214
269
|
model: 'TouchPad'
|
215
270
|
device: 'tablet'
|
271
|
+
- regex: 'HP; ([^;/)]+)'
|
272
|
+
model: '$1'
|
216
273
|
- regex: 'HP(?: )?iPAQ(?: )?([a-z0-9]+)'
|
217
274
|
model: 'iPAQ $1'
|
218
275
|
- regex: 'webOS.*(P160U)'
|
@@ -259,6 +316,30 @@ Apple:
|
|
259
316
|
- regex: '(?:Apple-)?iPh(?:one)?7[C,]2'
|
260
317
|
model: 'iPhone 6'
|
261
318
|
device: 'smartphone'
|
319
|
+
- regex: '(?:Apple-)?iPh(?:one)?8[C,]1'
|
320
|
+
model: 'iPhone 6s'
|
321
|
+
device: 'smartphone'
|
322
|
+
- regex: '(?:Apple-)?iPh(?:one)?8[C,]2'
|
323
|
+
model: 'iPhone 6s Plus'
|
324
|
+
device: 'phablet'
|
325
|
+
- regex: '(?:Apple-)?iPh(?:one)?8[C,]4'
|
326
|
+
model: 'iPhone SE'
|
327
|
+
device: 'smartphone'
|
328
|
+
- regex: '(?:Apple-)?iPh(?:one)?9[C,][13]'
|
329
|
+
model: 'iPhone 7'
|
330
|
+
device: 'smartphone'
|
331
|
+
- regex: '(?:Apple-)?iPh(?:one)?9[C,][24]'
|
332
|
+
model: 'iPhone 7 Plus'
|
333
|
+
device: 'phablet'
|
334
|
+
- regex: '(?:Apple-)?iPh(?:one)?10[C,][14]'
|
335
|
+
model: 'iPhone 8'
|
336
|
+
device: 'smartphone'
|
337
|
+
- regex: '(?:Apple-)?iPh(?:one)?10[C,][25]'
|
338
|
+
model: 'iPhone 8 Plus'
|
339
|
+
device: 'phablet'
|
340
|
+
- regex: '(?:Apple-)?iPh(?:one)?10[C,][36]'
|
341
|
+
model: 'iPhone X'
|
342
|
+
device: 'phablet'
|
262
343
|
|
263
344
|
# specific tablet devices
|
264
345
|
- regex: '(?:Apple-)?iPad1[C,]1'
|
@@ -285,9 +366,24 @@ Apple:
|
|
285
366
|
- regex: '(?:Apple-)?iPad4[C,][789]'
|
286
367
|
model: 'iPad Mini 3'
|
287
368
|
device: 'tablet'
|
369
|
+
- regex: '(?:Apple-)?iPad5[C,][12]'
|
370
|
+
model: 'iPad Mini 4'
|
371
|
+
device: 'tablet'
|
288
372
|
- regex: '(?:Apple-)?iPad5[C,][34]'
|
289
373
|
model: 'iPad Air 2'
|
290
374
|
device: 'tablet'
|
375
|
+
- regex: '(?:Apple-)?iPad6[C,][34]'
|
376
|
+
model: 'iPad Pro 9.7'
|
377
|
+
device: 'tablet'
|
378
|
+
- regex: '(?:Apple-)?iPad6[C,][78]'
|
379
|
+
model: 'iPad Pro 12.9'
|
380
|
+
device: 'tablet'
|
381
|
+
- regex: '(?:Apple-)?iPad7[C,][12]'
|
382
|
+
model: 'iPad Pro 2 12.9'
|
383
|
+
device: 'tablet'
|
384
|
+
- regex: '(?:Apple-)?iPad7[C,][34]'
|
385
|
+
model: 'iPad Pro 10.5'
|
386
|
+
device: 'tablet'
|
291
387
|
|
292
388
|
- regex: '(?:iTunes-)?AppleTV'
|
293
389
|
model: 'Apple TV'
|
@@ -301,7 +397,7 @@ Apple:
|
|
301
397
|
|
302
398
|
# micromax
|
303
399
|
MicroMax:
|
304
|
-
regex: 'MicroMax[ \-\_]?[a-z0-9]
|
400
|
+
regex: '(MicroMax[ \-\_]?[a-z0-9]+|Q327)'
|
305
401
|
device: 'smartphone'
|
306
402
|
models:
|
307
403
|
- regex: 'MicroMax(?:[ \-\_])?(P[a-z0-9]+)'
|
@@ -309,6 +405,8 @@ MicroMax:
|
|
309
405
|
device: 'tablet'
|
310
406
|
- regex: 'MicroMax(?:[ \-\_])?([a-z0-9]+)'
|
311
407
|
model: '$1'
|
408
|
+
- regex: 'Q327'
|
409
|
+
model: 'Bolt'
|
312
410
|
|
313
411
|
# 3Q
|
314
412
|
3Q:
|
@@ -316,9 +414,38 @@ MicroMax:
|
|
316
414
|
device: 'tablet'
|
317
415
|
model: '$1'
|
318
416
|
|
417
|
+
# 4Good
|
418
|
+
4Good:
|
419
|
+
regex: '4Good[ _]|(?:4Good)?(S450m [43]G|S555m 4G|S501m 3G|T700i_3G|Light A103)'
|
420
|
+
device: 'smartphone'
|
421
|
+
models:
|
422
|
+
- regex: 'T700i_3G'
|
423
|
+
model: 'T700i 3G'
|
424
|
+
device: 'tablet'
|
425
|
+
- regex: '(S(?:450m|555m|501m)[_ ][43]G|Light A103)'
|
426
|
+
model: '$1'
|
427
|
+
- regex: '4Good[ _]([^;/]+) Build'
|
428
|
+
model: '$1'
|
429
|
+
- regex: '4Good[ _]([^);/ ]+)'
|
430
|
+
model: '$1'
|
431
|
+
|
432
|
+
# Bravis
|
433
|
+
Bravis:
|
434
|
+
regex: 'Bravis|A501 Bright|NB(?:10[56]|751|7[145])|NP101'
|
435
|
+
device: 'smartphone'
|
436
|
+
models:
|
437
|
+
- regex: 'A501 Bright'
|
438
|
+
model: 'A501 Bright'
|
439
|
+
- regex: 'Bravis[_ ]([^;\)]+) Build'
|
440
|
+
model: '$1'
|
441
|
+
- regex: '(NB(?:10[156]|751|7[145])|NP101)'
|
442
|
+
model: '$1'
|
443
|
+
device: 'tablet'
|
444
|
+
|
445
|
+
|
319
446
|
# Acer
|
320
447
|
Acer:
|
321
|
-
regex: 'acer|a(?:101|110|200|210|211|500|501|510|511|700|701)[);/ ]|Android.*V3[67]0[);/ ]|Android.*Z1[23456]0 Build|Android.*
|
448
|
+
regex: 'acer|(?<!ZTE BLADE )a(?:101|110|200|210|211|500|501|510|511|700|701)[);/ ]|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 Build|S5[12]0 Build|DA[0-9]+HQ?L[);/ ]'
|
322
449
|
device: 'smartphone'
|
323
450
|
models:
|
324
451
|
# smart displays
|
@@ -342,9 +469,24 @@ Acer:
|
|
342
469
|
- regex: 'A3-A[12][01]'
|
343
470
|
model: 'Iconia A3'
|
344
471
|
device: 'tablet'
|
345
|
-
- regex: '
|
472
|
+
- regex: 'A3-A[34]0'
|
473
|
+
model: 'Iconia Tab 10'
|
474
|
+
device: 'tablet'
|
475
|
+
- regex: 'B1-7[1235][01]|B1-A71'
|
346
476
|
model: 'Iconia B1'
|
347
477
|
device: 'tablet'
|
478
|
+
- regex: 'B1-7[23]3'
|
479
|
+
model: 'Iconia Talk 7'
|
480
|
+
device: 'tablet'
|
481
|
+
- regex: 'B1-7[678]0'
|
482
|
+
model: 'Iconia One 7'
|
483
|
+
device: 'tablet'
|
484
|
+
- regex: 'B1-8[1235]0'
|
485
|
+
model: 'Iconia One 8'
|
486
|
+
device: 'tablet'
|
487
|
+
- regex: 'B3-A[12]0|B3-A3[02]'
|
488
|
+
model: 'Iconia One 10'
|
489
|
+
device: 'tablet'
|
348
490
|
|
349
491
|
# explicit smartphone models
|
350
492
|
- regex: 'E39 Build'
|
@@ -361,8 +503,20 @@ Acer:
|
|
361
503
|
model: 'Liquid Z$1'
|
362
504
|
- regex: 'Android.*Z160 Build'
|
363
505
|
model: 'Liquid Z4'
|
364
|
-
- regex: 'Android.*
|
365
|
-
model: 'Liquid
|
506
|
+
- regex: 'Android.*Z(5\d{2}) Build'
|
507
|
+
model: 'Liquid Z$1'
|
508
|
+
- regex: 'Android.*T02 Build'
|
509
|
+
model: 'Liquid Z530'
|
510
|
+
- regex: 'Android.*T03 Build'
|
511
|
+
model: 'Liquid Z630'
|
512
|
+
- regex: 'Android.*T04 Build'
|
513
|
+
model: 'Liquid Z630S'
|
514
|
+
- regex: 'Android.*T06 Build'
|
515
|
+
model: 'Liquid Zest'
|
516
|
+
- regex: 'Android.*T07 Build'
|
517
|
+
model: 'Liquid Zest 4G'
|
518
|
+
- regex: 'Android.*T08 Build'
|
519
|
+
model: 'Liquid Zest Plus'
|
366
520
|
- regex: 'Acer; ?([^;\)]+)'
|
367
521
|
model: '$1'
|
368
522
|
- regex: 'Acer[ _\-]?([^;\)]+) Build'
|
@@ -381,9 +535,42 @@ Airness:
|
|
381
535
|
|
382
536
|
# Alcatel
|
383
537
|
Alcatel:
|
384
|
-
regex: 'Alcatel|Alc[a-z0-9]+|One[ _]?Touch'
|
385
|
-
device: 'smartphone'
|
386
|
-
models:
|
538
|
+
regex: 'Alcatel|Alc[a-z0-9]+|One[ _]?Touch|(?:6036Y|6039H|50[16]5X|9005X|I213|5015D|5045D|5051X|6050[AFY]|6055K|8050D|4013M|I216X)[);/ ]'
|
539
|
+
device: 'smartphone'
|
540
|
+
models:
|
541
|
+
- regex: '50[16]5X[);/ ]'
|
542
|
+
model: 'One Touch Pop 3'
|
543
|
+
- regex: '5015D[);/ ]'
|
544
|
+
model: 'One Touch Pop 3 Dual SIM'
|
545
|
+
- regex: '5051X[);/ ]'
|
546
|
+
model: 'One Touch Pop 4'
|
547
|
+
- regex: '6036Y[);/ ]'
|
548
|
+
model: 'One Touch Idol 2 mini'
|
549
|
+
- regex: '6050[AFY][);/ ]'
|
550
|
+
model: 'One Touch Idol 2S'
|
551
|
+
- regex: '6039H[);/ ]'
|
552
|
+
model: 'One Touch Idol 3'
|
553
|
+
- regex: '6055K[);/ ]'
|
554
|
+
model: 'One Touch Idol 4'
|
555
|
+
- regex: 'I213[);/ ]'
|
556
|
+
model: 'One Touch Pixi 7'
|
557
|
+
device: 'tablet'
|
558
|
+
- regex: '8050D[);/ ]'
|
559
|
+
model: 'One Touch Pixi 4'
|
560
|
+
- regex: '5045D[);/ ]'
|
561
|
+
model: 'One Touch Pixi 4 5"'
|
562
|
+
- regex: 'I216X[);/ ]'
|
563
|
+
model: 'One Touch Pixi 7'
|
564
|
+
device: 'tablet'
|
565
|
+
- regex: '9005X[);/ ]'
|
566
|
+
model: 'One Touch Pixi 8'
|
567
|
+
device: 'tablet'
|
568
|
+
- regex: 'P320X'
|
569
|
+
model: 'One Touch POP 8'
|
570
|
+
device: 'tablet'
|
571
|
+
- regex: 'P310X'
|
572
|
+
model: 'One Touch POP 7'
|
573
|
+
device: 'tablet'
|
387
574
|
- regex: '(?:Alcatel[ _])?One[ _]?Touch[ _]((?:T[0-9]+|TAB[^/;]+|EVO[78](?:HD)?)) Build'
|
388
575
|
device: 'tablet'
|
389
576
|
model: 'One Touch $1'
|
@@ -401,12 +588,36 @@ Alcatel:
|
|
401
588
|
model: '$1'
|
402
589
|
- regex: 'Alc([a-z0-9]+)'
|
403
590
|
model: '$1'
|
591
|
+
- regex: '4013M'
|
592
|
+
model: 'One Touch Pixi 3'
|
404
593
|
|
405
594
|
# Allview
|
406
595
|
Allview:
|
407
|
-
regex: 'Allview'
|
408
|
-
device: 'smartphone'
|
409
|
-
models:
|
596
|
+
regex: 'Allview|P[567]_Lite(?:_TM)?|P5_Energy|P6_Energy_(?:Lite|Mini)|X2_Soul_Xtreme|A5_(?:Easy|Ready|Quad_Plus_TM)|A6_Duo|A[89]_Lite'
|
597
|
+
device: 'smartphone'
|
598
|
+
models:
|
599
|
+
- regex: 'P([567])_Lite(?:_TM)?'
|
600
|
+
model: 'P$1 Lite'
|
601
|
+
- regex: 'P5_Energy'
|
602
|
+
model: 'P5 Energy'
|
603
|
+
- regex: 'P6_Energy_Lite'
|
604
|
+
model: 'P6 Energy Lite'
|
605
|
+
- regex: 'P6_Energy_mini'
|
606
|
+
model: 'P6 Energy Mini'
|
607
|
+
- regex: 'X2_Soul_Xtreme'
|
608
|
+
model: 'X2 Soul Xtreme'
|
609
|
+
- regex: 'A5_Easy'
|
610
|
+
model: 'A5 Easy'
|
611
|
+
- regex: 'A5_Ready'
|
612
|
+
model: 'A5 Ready'
|
613
|
+
- regex: 'A5_Quad_Plus_TM'
|
614
|
+
model: 'A5 Quad Plus'
|
615
|
+
- regex: 'A6_Duo'
|
616
|
+
model: 'A6 Duo'
|
617
|
+
- regex: 'A8_Lite'
|
618
|
+
model: 'A8 Lite'
|
619
|
+
- regex: 'A9_Lite'
|
620
|
+
model: 'A9 Lite'
|
410
621
|
- regex: 'Allview[ _-]([^;/]+) Build'
|
411
622
|
model: '$1'
|
412
623
|
- regex: 'Allview[ _-]([^;/]+)[;/)]'
|
@@ -557,7 +768,7 @@ Garmin-Asus:
|
|
557
768
|
|
558
769
|
# Asus
|
559
770
|
Asus:
|
560
|
-
regex: 'Asus|Transformer|TF300T|Slider SL101|PadFone|ME302(?:C|KL)|ME301T|ME371MG|ME17(?:1|2V|3X)|(?:K0[01][0-9a-z]|Z00D)[);/ ]'
|
771
|
+
regex: 'Asus|Transformer|TF300T|Slider SL101|PadFone|ME302(?:C|KL)|ME301T|ME371MG|ME17(?:1|2V|3X)|(?:K0[01][0-9a-z]|Z00D|Z00YD)[);/ ]'
|
561
772
|
device: 'smartphone'
|
562
773
|
models:
|
563
774
|
# explicit tablet models
|
@@ -576,7 +787,7 @@ Asus:
|
|
576
787
|
- regex: 'ME301T[);/ ]'
|
577
788
|
model: 'MeMO Pad Smart 10'
|
578
789
|
device: 'tablet'
|
579
|
-
- regex: 'K01[3A][);/ ]'
|
790
|
+
- regex: '(?:K01[3A]|K007|K00R)[);/ ]'
|
580
791
|
model: 'MeMO Pad 7'
|
581
792
|
device: 'tablet'
|
582
793
|
- regex: 'K01E[);/ ]'
|
@@ -633,13 +844,16 @@ Asus:
|
|
633
844
|
model: 'Fonepad 8'
|
634
845
|
device: 'phablet'
|
635
846
|
|
636
|
-
|
637
847
|
# explicit smartphone models
|
638
848
|
- regex: '(?:ASUS_)?Z007'
|
639
849
|
model: 'ZenFone C'
|
640
850
|
- regex: '(?:ASUS_)?(?:Z00D|Z008D|Z00AD[AB]?)'
|
641
851
|
model: 'ZenFone 2'
|
642
|
-
- regex: '(?:ASUS_)
|
852
|
+
- regex: '(?:ASUS_)(Z00YD)'
|
853
|
+
model: '$1'
|
854
|
+
- regex: '(?:ASUS_)?Z00[ERL]D'
|
855
|
+
model: 'ZenFone 2 Laser'
|
856
|
+
- regex: '(?:ASUS_)?T00[IQ1]'
|
643
857
|
model: 'ZenFone 4'
|
644
858
|
- regex: '(?:ASUS_)?T00[JF]'
|
645
859
|
model: 'ZenFone 5'
|
@@ -649,6 +863,20 @@ Asus:
|
|
649
863
|
model: 'ZenFone 5 Lite'
|
650
864
|
- regex: '(?:ASUS_)?(?:T00G|Z002)'
|
651
865
|
model: 'ZenFone 6'
|
866
|
+
- regex: '(?:ASUS_)?Z010D'
|
867
|
+
model: 'ZenFone Max'
|
868
|
+
- regex: '(?:ASUS_)?X014D'
|
869
|
+
model: 'ZenFone Go Plus'
|
870
|
+
- regex: '(?:ASUS_)?(Z00[SV]D|X009[DB][DA])'
|
871
|
+
model: 'ZenFone Go'
|
872
|
+
- regex: '(?:ASUS_)?X013D'
|
873
|
+
model: 'ZenFone Go Life'
|
874
|
+
- regex: '(?:ASUS_)?(X008)'
|
875
|
+
model: 'ZenFone 3 Pegasus'
|
876
|
+
- regex: '(?:ASUS_)?Z00UD'
|
877
|
+
model: 'ZenFone Selfie'
|
878
|
+
- regex: '(?:ASUS_)?(Z017DA|ZE520KL)'
|
879
|
+
model: 'ZenFone 3'
|
652
880
|
|
653
881
|
# general detections
|
654
882
|
- regex: 'Asus(?:-|;)?([a-z0-9]+)'
|
@@ -686,6 +914,16 @@ Avvio:
|
|
686
914
|
- regex: 'Avvio[ _]([a-z0-9\-]+)'
|
687
915
|
model: '$1'
|
688
916
|
|
917
|
+
# Azumi Mobile
|
918
|
+
"Azumi Mobile":
|
919
|
+
regex: 'Azumi[_ ]'
|
920
|
+
device: 'smartphone'
|
921
|
+
models:
|
922
|
+
- regex: 'Azumi[_ ]([^/;]+) Build'
|
923
|
+
model: '$1'
|
924
|
+
- regex: 'Azumi[_ ]([a-z0-9_]+)'
|
925
|
+
model: '$1'
|
926
|
+
|
689
927
|
#Barnes & Noble
|
690
928
|
'Barnes & Noble':
|
691
929
|
regex: 'Nook|BN[TR]V[0-9]+'
|
@@ -698,11 +936,39 @@ Avvio:
|
|
698
936
|
- regex: '(BN[TR]V[0-9]+)'
|
699
937
|
model: 'Nook $1'
|
700
938
|
|
939
|
+
# BGH
|
940
|
+
BGH:
|
941
|
+
regex: '(?<!Positivo )BGH ([^/;]+) Build'
|
942
|
+
device: 'smartphone'
|
943
|
+
model: '$1'
|
944
|
+
|
945
|
+
# Bitel
|
946
|
+
Bitel:
|
947
|
+
regex: 'Bitel[ _-]([^/;]+) Build'
|
948
|
+
device: 'smartphone'
|
949
|
+
model: '$1'
|
950
|
+
|
701
951
|
# Blu
|
702
952
|
Blu:
|
703
|
-
regex: 'blu ([^/;]+) Build'
|
953
|
+
regex: '(?:blu|Dash)[ _]([^/;]+) Build'
|
704
954
|
device: 'smartphone'
|
705
|
-
|
955
|
+
models:
|
956
|
+
- regex: 'DASH[ _]([^/;]+) Build'
|
957
|
+
model: 'Dash $1'
|
958
|
+
- regex: 'blu[ _]([^/;]+) Build'
|
959
|
+
model: '$1'
|
960
|
+
|
961
|
+
# Blackview
|
962
|
+
Blackview:
|
963
|
+
regex: '(BV[2567]000(?:[ _](?:PRO))?|omega[ _]pro|Alife[ _][PS]1|Heatwave|DM550)[ _]Build'
|
964
|
+
device: 'smartphone'
|
965
|
+
models:
|
966
|
+
- regex: '(BV[2567]000(?:[ _](?:PRO))?)[ _]Build'
|
967
|
+
model: '$1'
|
968
|
+
- regex: 'omega[ _]pro'
|
969
|
+
model: 'Omega Pro'
|
970
|
+
- regex: '(Alife[ _][PS]1|DM550|Heatwave)'
|
971
|
+
model: '$1'
|
706
972
|
|
707
973
|
# Boway
|
708
974
|
Boway:
|
@@ -785,11 +1051,35 @@ BenQ:
|
|
785
1051
|
device: 'feature phone'
|
786
1052
|
model: '$1'
|
787
1053
|
|
1054
|
+
# Blaupunkt
|
1055
|
+
Blaupunkt:
|
1056
|
+
regex: 'Atlantis[_ ](?:1001A|1010A|A10\.G402)|Discovery[_ ](?:111C|1000C|1001A?)|Endeavour[_ ](?:785|101[GLM]|1000|1001|101[03]|1100)|Polaris[_ ]803'
|
1057
|
+
device: 'tablet'
|
1058
|
+
models:
|
1059
|
+
- regex: 'Discovery[_ ]111C'
|
1060
|
+
model: 'Discovery 111C'
|
1061
|
+
- regex: 'Discovery[_ ]1000C'
|
1062
|
+
model: 'Discovery 1000C'
|
1063
|
+
- regex: 'Discovery[_ ]1001A'
|
1064
|
+
model: 'Discovery 1001A'
|
1065
|
+
- regex: 'Discovery[_ ]1001'
|
1066
|
+
model: 'Discovery 1001'
|
1067
|
+
- regex: 'Endeavour[_ ](101[GLM]|785|100[01]|101[03]|1100)'
|
1068
|
+
model: 'Endeavour $1'
|
1069
|
+
- regex: 'Polaris[_ ](803)'
|
1070
|
+
model: 'Polaris $1'
|
1071
|
+
- regex: 'Atlantis[_ ](1001A|1010A|A10\.G402)'
|
1072
|
+
model: 'Atlantis $1'
|
1073
|
+
|
788
1074
|
# Bmobile
|
789
1075
|
Bmobile:
|
790
|
-
regex: '
|
1076
|
+
regex: 'Bmobile[_ ]'
|
791
1077
|
device: 'smartphone'
|
792
|
-
|
1078
|
+
models:
|
1079
|
+
- regex: 'Bmobile[_ ]([^/;]+) Build'
|
1080
|
+
model: '$1'
|
1081
|
+
- regex: 'Bmobile[_ ]([a-z0-9]+)'
|
1082
|
+
model: '$1'
|
793
1083
|
|
794
1084
|
# bq
|
795
1085
|
bq:
|
@@ -843,9 +1133,12 @@ Casio:
|
|
843
1133
|
|
844
1134
|
# Cat
|
845
1135
|
Cat:
|
846
|
-
regex: 'Cat ?(tablet|stargate|nova)'
|
1136
|
+
regex: 'Cat ?(tablet|stargate|nova)|B15Q'
|
847
1137
|
device: 'tablet'
|
848
1138
|
models:
|
1139
|
+
- regex: 'B15Q'
|
1140
|
+
model: 'B15Q'
|
1141
|
+
device: 'smartphone'
|
849
1142
|
- regex: 'Cat ?(?:tablet)? ?((?:Galactica|Nova|StarGate|PHOENIX)[^/;]*) Build'
|
850
1143
|
model: '$1'
|
851
1144
|
- regex: 'Cat ?tablet'
|
@@ -900,6 +1193,12 @@ Changhong:
|
|
900
1193
|
model: '$1'
|
901
1194
|
device: 'tablet'
|
902
1195
|
|
1196
|
+
# China Mobile
|
1197
|
+
'China Mobile':
|
1198
|
+
regex: '(M812C|1501_M02|9930i|A1303|A309W) Build'
|
1199
|
+
device: 'smartphone'
|
1200
|
+
model: '$1'
|
1201
|
+
|
903
1202
|
# Compal
|
904
1203
|
Compal:
|
905
1204
|
regex: 'Compal-[a-z0-9]+'
|
@@ -920,15 +1219,88 @@ ConCorde:
|
|
920
1219
|
- regex: 'ConCorde ([^/;]+) Build'
|
921
1220
|
model: '$1'
|
922
1221
|
|
1222
|
+
# Condor
|
1223
|
+
Condor:
|
1224
|
+
regex: '(?:PGN\-?[456][012][0-9]|PHS\-601)[;/) ]|CTAB[^/;]+ Build'
|
1225
|
+
device: 'smartphone'
|
1226
|
+
models:
|
1227
|
+
- regex: 'CTAB([^/;]+) Build'
|
1228
|
+
device: 'tablet'
|
1229
|
+
model: 'CTAB $1'
|
1230
|
+
|
1231
|
+
- regex: 'PHS\-601'
|
1232
|
+
model: 'C8'
|
1233
|
+
- regex: 'PGN\-?403'
|
1234
|
+
model: 'C4+ Noir'
|
1235
|
+
- regex: 'PGN\-?404'
|
1236
|
+
model: 'C7 Mini'
|
1237
|
+
- regex: 'PGN\-?409'
|
1238
|
+
model: 'Plume P4'
|
1239
|
+
- regex: 'PGN\-?504'
|
1240
|
+
model: 'C5'
|
1241
|
+
- regex: 'PGN\-?505'
|
1242
|
+
model: 'C8S'
|
1243
|
+
- regex: 'PGN\-?506'
|
1244
|
+
model: 'C7'
|
1245
|
+
- regex: 'PGN\-?507'
|
1246
|
+
model: 'Allure A9'
|
1247
|
+
- regex: 'PGN\-?508'
|
1248
|
+
model: 'C6+'
|
1249
|
+
- regex: 'PGN\-?509'
|
1250
|
+
model: 'C6 Pro'
|
1251
|
+
- regex: 'PGN\-?511'
|
1252
|
+
model: 'Allure A9 Plus'
|
1253
|
+
- regex: 'PGN\-?513'
|
1254
|
+
model: 'Griffe G4'
|
1255
|
+
- regex: 'PGN\-?514'
|
1256
|
+
model: 'Plume P7'
|
1257
|
+
- regex: 'PGN\-?515'
|
1258
|
+
model: 'Plume P4 Pro'
|
1259
|
+
- regex: 'PGN\-?516'
|
1260
|
+
model: 'Plume P5'
|
1261
|
+
- regex: 'PGN\-?51[78]'
|
1262
|
+
model: 'Plume P6'
|
1263
|
+
- regex: 'PGN\-?521'
|
1264
|
+
model: 'Griffe G4 Plus'
|
1265
|
+
- regex: 'PGN\-?522'
|
1266
|
+
model: 'P6 Plus'
|
1267
|
+
- regex: 'PGN\-?523'
|
1268
|
+
model: 'P7 Plus'
|
1269
|
+
- regex: 'PGN\-?527'
|
1270
|
+
model: 'Plume P4 Plus'
|
1271
|
+
- regex: 'PGN\-?528'
|
1272
|
+
model: 'Plume P6 Pro Lte'
|
1273
|
+
- regex: 'PGN\-?605'
|
1274
|
+
model: 'Plume P8'
|
1275
|
+
- regex: 'PGN\-?606'
|
1276
|
+
model: 'Allure A55'
|
1277
|
+
- regex: 'PGN\-?607'
|
1278
|
+
model: 'Allure A100'
|
1279
|
+
- regex: 'PGN\-?608'
|
1280
|
+
model: 'Allure A55 Slim'
|
1281
|
+
- regex: 'PGN\-?609'
|
1282
|
+
model: 'Allure A100 Lite'
|
1283
|
+
- regex: 'PGN\-?610'
|
1284
|
+
model: 'Plume P8 Lite'
|
1285
|
+
- regex: 'PGN\-?611'
|
1286
|
+
model: 'Allure A8'
|
1287
|
+
- regex: 'PGN\-?612'
|
1288
|
+
model: 'Allure A8 Plus'
|
1289
|
+
- regex: 'PGN\-?613'
|
1290
|
+
model: 'Allure A55 Plus'
|
1291
|
+
|
1292
|
+
- regex: 'PGN\-?([0-9]{3})'
|
1293
|
+
model: 'PGN-$1'
|
1294
|
+
|
923
1295
|
# Coolpad
|
924
1296
|
Coolpad:
|
925
|
-
regex: '(?:YL-)?Coolpad|8190Q[ ;/\)]|8295 Build'
|
1297
|
+
regex: '(?:YL-)?Coolpad|8190Q[ ;/\)]|(8295|5860S) Build'
|
926
1298
|
device: 'smartphone'
|
927
1299
|
models:
|
928
1300
|
- regex: '8190Q[ ;/\)]'
|
929
1301
|
model: '8190Q'
|
930
|
-
- regex: '8295 Build'
|
931
|
-
model: '
|
1302
|
+
- regex: '(5860S|8295) Build'
|
1303
|
+
model: '$1'
|
932
1304
|
- regex: '(?:YL-)?Coolpad[ _\-]?([^/;]+) Build'
|
933
1305
|
model: '$1'
|
934
1306
|
- regex: '(?:YL-)?Coolpad[ _\-]?([a-z0-9\-]+)'
|
@@ -948,15 +1320,21 @@ Cricket:
|
|
948
1320
|
|
949
1321
|
# Crosscall
|
950
1322
|
Crosscall:
|
951
|
-
regex: 'Crosscall'
|
1323
|
+
regex: 'Crosscall|ODYSSEY_Plus|Odyssey S1|Trekker-[MSX][123]'
|
952
1324
|
device: 'smartphone'
|
953
1325
|
models:
|
954
1326
|
- regex: 'Crosscall ([^;/]+) Build'
|
955
1327
|
model: '$1'
|
1328
|
+
- regex: 'ODYSSEY_Plus'
|
1329
|
+
model: 'ODYSSEY+'
|
1330
|
+
- regex: 'Odyssey S1'
|
1331
|
+
model: 'ODYSSEY S1'
|
1332
|
+
- regex: 'Trekker-([MSX][123](?: Core)?)'
|
1333
|
+
model: 'Trekker-$1'
|
956
1334
|
|
957
1335
|
# Cube
|
958
1336
|
Cube:
|
959
|
-
regex: 'Cube|(U[0-9]+GT|K8GT)'
|
1337
|
+
regex: '(<!myPhone ?)Cube|(U[0-9]+GT|K8GT)'
|
960
1338
|
device: 'tablet'
|
961
1339
|
models:
|
962
1340
|
- regex: 'U27GT'
|
@@ -983,6 +1361,16 @@ CUBOT:
|
|
983
1361
|
- regex: '([^;/]+) Build/CUBOT'
|
984
1362
|
model: '$1'
|
985
1363
|
|
1364
|
+
# Cyrus
|
1365
|
+
Cyrus:
|
1366
|
+
regex: 'Cyrus[ _-]'
|
1367
|
+
device: 'smartphone'
|
1368
|
+
models:
|
1369
|
+
- regex: 'Cyrus[ _-]?([^;/)]+) Build'
|
1370
|
+
model: '$1'
|
1371
|
+
- regex: 'Cyrus[ _-]?([^;/)]+)[);/ ]'
|
1372
|
+
model: '$1'
|
1373
|
+
|
986
1374
|
# Datang
|
987
1375
|
Datang:
|
988
1376
|
regex: 'DATANG'
|
@@ -1007,7 +1395,7 @@ Denver:
|
|
1007
1395
|
|
1008
1396
|
# Dell
|
1009
1397
|
Dell:
|
1010
|
-
regex: 'Dell|Venue|XCD35'
|
1398
|
+
regex: 'Dell[^a-z]|Venue|XCD35'
|
1011
1399
|
device: 'smartphone'
|
1012
1400
|
models:
|
1013
1401
|
- regex: 'XCD35'
|
@@ -1033,6 +1421,28 @@ Desay:
|
|
1033
1421
|
- regex: 'Desay[ _-]?([^;/)]+)[);/ ]'
|
1034
1422
|
model: '$1'
|
1035
1423
|
|
1424
|
+
# DEXP
|
1425
|
+
DEXP:
|
1426
|
+
regex: 'DEXP|(?:Ursus|Ixion)[ _]([^;/]+) Build|H135[ _]Build'
|
1427
|
+
device: 'smartphone'
|
1428
|
+
models:
|
1429
|
+
|
1430
|
+
- regex: 'Ixion[_ ]([^;/]+) Build'
|
1431
|
+
model: 'Ixion $1'
|
1432
|
+
|
1433
|
+
- regex: 'Ursus ([^;/]+) Build'
|
1434
|
+
model: 'Ursus $1'
|
1435
|
+
device: 'tablet'
|
1436
|
+
|
1437
|
+
- regex: 'H135[ _]Build'
|
1438
|
+
model: 'Atlas'
|
1439
|
+
device: 'desktop'
|
1440
|
+
|
1441
|
+
- regex: 'DEXP[ _]([^;/]+) Build'
|
1442
|
+
model: '$1'
|
1443
|
+
- regex: 'DEXP[ _]([^);/]+)[);/ ]'
|
1444
|
+
model: '$1'
|
1445
|
+
|
1036
1446
|
# Dbtel
|
1037
1447
|
Dbtel:
|
1038
1448
|
regex: 'DBTEL(?:[\-/])?([a-z0-9]+)'
|
@@ -1045,6 +1455,72 @@ Dicam:
|
|
1045
1455
|
device: 'feature phone'
|
1046
1456
|
model: '$1'
|
1047
1457
|
|
1458
|
+
# Digma
|
1459
|
+
Digma:
|
1460
|
+
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)'
|
1461
|
+
device: 'smartphone'
|
1462
|
+
models:
|
1463
|
+
- regex: 'HIT HT707[10]MG'
|
1464
|
+
model: 'HIT 3G'
|
1465
|
+
device: 'tablet'
|
1466
|
+
- regex: 'iDx5'
|
1467
|
+
model: 'iDx5'
|
1468
|
+
- regex: 'iDxD10 3G'
|
1469
|
+
model: 'iDxD10 3G'
|
1470
|
+
device: 'tablet'
|
1471
|
+
- regex: '(VOX[ _](?:[0-9\.A-Z]+)[_ ][43]G)'
|
1472
|
+
model: '$1'
|
1473
|
+
- regex: 'PS604M'
|
1474
|
+
model: 'Linx 6.0'
|
1475
|
+
- regex: '(Linx A400 3G) LT4001PG'
|
1476
|
+
model: '$1'
|
1477
|
+
- regex: '(Linx C500 3G) LT5001PG'
|
1478
|
+
model: '$1'
|
1479
|
+
- regex: '(Linx PS474S)'
|
1480
|
+
model: '$1'
|
1481
|
+
- regex: 'PT452E'
|
1482
|
+
model: 'Linx 4.5'
|
1483
|
+
- regex: 'MVM900H(?:WZ|C)'
|
1484
|
+
model: 'iDx8'
|
1485
|
+
device: 'tablet'
|
1486
|
+
- regex: 'MVM908HCZ'
|
1487
|
+
model: 'iDx9'
|
1488
|
+
device: 'tablet'
|
1489
|
+
- regex: '(iDxD7[_ ]3G)'
|
1490
|
+
model: '$1'
|
1491
|
+
device: 'tablet'
|
1492
|
+
- regex: '(iDx10|iDx7)'
|
1493
|
+
model: '$1'
|
1494
|
+
- regex: '(iDxD[45]|iDxQ5)'
|
1495
|
+
model: '$1'
|
1496
|
+
- regex: 'HIT 4G HT7074ML'
|
1497
|
+
model: 'HIT 4G'
|
1498
|
+
device: 'tablet'
|
1499
|
+
- regex: '(CITI 1902 3G)'
|
1500
|
+
model: '$1'
|
1501
|
+
device: 'tablet'
|
1502
|
+
- regex: '(CITI (?:[A-Z0-9]+) 3G) C[ST]500[67]PG'
|
1503
|
+
model: '$1'
|
1504
|
+
device: 'tablet'
|
1505
|
+
- regex: 'iDxD8 3G'
|
1506
|
+
model: 'D-Plane2 8'
|
1507
|
+
device: 'tablet'
|
1508
|
+
- regex: '(iDrQ10 3G|iDnD7)'
|
1509
|
+
model: '$1'
|
1510
|
+
device: 'tablet'
|
1511
|
+
- regex: 'NS6902QL'
|
1512
|
+
model: 'Platina 7.2 4G'
|
1513
|
+
device: 'tablet'
|
1514
|
+
- regex: 'NS9797MG'
|
1515
|
+
model: 'Platina 7.2 3G'
|
1516
|
+
device: 'tablet'
|
1517
|
+
- regex: '((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\.ST]+|Prime)(?:[ _][43]G)?)'
|
1518
|
+
model: '$1'
|
1519
|
+
device: 'tablet'
|
1520
|
+
- regex: 'Digma[_ ]([^;/]+) Build'
|
1521
|
+
model: '$1'
|
1522
|
+
device: 'tablet'
|
1523
|
+
|
1048
1524
|
# DoCoMo
|
1049
1525
|
DoCoMo:
|
1050
1526
|
regex: 'DoCoMo|\;FOMA|KGT/1\.0'
|
@@ -1059,10 +1535,10 @@ DoCoMo:
|
|
1059
1535
|
|
1060
1536
|
# Doogee
|
1061
1537
|
Doogee:
|
1062
|
-
regex: 'DOOGEE[ _-]|((?:BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|
|
1538
|
+
regex: 'DOOGEE[ _-]|((?:BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|TITANS2?))[ -_](DG[0-9]+C?)[);/ ]'
|
1063
1539
|
device: 'smartphone'
|
1064
1540
|
models:
|
1065
|
-
- regex: '(?:DOOGEE[ _-])?((?:BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|
|
1541
|
+
- regex: '(?:DOOGEE[ _-])?((?:BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|TITANS2?))[ -_](DG[0-9]+C?)[);/ ]'
|
1066
1542
|
model: '$1 $2'
|
1067
1543
|
- regex: 'DOOGEE[ _-]([^);/]+) Build'
|
1068
1544
|
model: '$1'
|
@@ -1085,6 +1561,16 @@ Dopod:
|
|
1085
1561
|
device: 'feature phone'
|
1086
1562
|
model: '$1'
|
1087
1563
|
|
1564
|
+
# Doro
|
1565
|
+
Doro:
|
1566
|
+
regex: 'Doro'
|
1567
|
+
device: 'smartphone'
|
1568
|
+
models:
|
1569
|
+
- regex: 'Doro[ _-]?([^;/)]+) Build'
|
1570
|
+
model: '$1'
|
1571
|
+
- regex: 'Doro[ _-]([0-9a-z]+)'
|
1572
|
+
model: '$1'
|
1573
|
+
|
1088
1574
|
# Dune HD
|
1089
1575
|
'Dune HD':
|
1090
1576
|
regex: 'DuneHD'
|
@@ -1156,9 +1642,19 @@ ECS:
|
|
1156
1642
|
|
1157
1643
|
# Elephone
|
1158
1644
|
Elephone:
|
1159
|
-
regex: 'Elephone[ _\-]([^/;]+) Build'
|
1645
|
+
regex: 'Elephone[ _\-]([^/;]+) Build|P6000( ?Pro| ?Plus|\+| ?02)? Build'
|
1160
1646
|
device: 'smartphone'
|
1161
|
-
|
1647
|
+
models:
|
1648
|
+
- regex: 'Elephone[ _\-]([^/;]+) Build'
|
1649
|
+
model: '$1'
|
1650
|
+
- regex: 'P6000 Build'
|
1651
|
+
model: 'P6000'
|
1652
|
+
- regex: 'P6000(\+| ?Plus) Build'
|
1653
|
+
model: 'P6000 Plus'
|
1654
|
+
- regex: 'P6000 02 Build'
|
1655
|
+
model: 'P6000 02'
|
1656
|
+
- regex: 'P6000 ?Pro Build'
|
1657
|
+
model: 'P6000 Pro'
|
1162
1658
|
|
1163
1659
|
# Energy Sistem
|
1164
1660
|
'Energy Sistem':
|
@@ -1188,9 +1684,15 @@ Rikomagic:
|
|
1188
1684
|
device: 'tv'
|
1189
1685
|
model: 'MK$1'
|
1190
1686
|
|
1687
|
+
# Senseit
|
1688
|
+
Senseit:
|
1689
|
+
regex: 'SENSEIT[ _]?([^;/)]+) Build'
|
1690
|
+
device: 'smartphone'
|
1691
|
+
model: '$1'
|
1692
|
+
|
1191
1693
|
# Sony & Sony Ericsson (combined as they are mixed up)
|
1192
1694
|
Sony:
|
1193
|
-
regex: 'Sony(?: ?Ericsson)?|SGP|Xperia|C1[569]0[45]|C2[01]0[45]|C2305|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]|D5322|D5503|D58[03]3|D65(?:0[23]|43)|D66[
|
1695
|
+
regex: 'Sony(?: ?Ericsson)?|SGP|Xperia|C1[569]0[45]|C2[01]0[45]|C2305|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]|D5322|D5503|D58[03]3|D65(?:0[23]|43)|D66[035]3|E210[45]|E2115|E5506|E2033|E2[03]03|E23[36]3|E2306|E2312|E2353|E53[03]3|E55[36]3|E56[46305][36]|E58[02]3|E65[35]3|E66[0358]3|E68[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|G3423|G823[12]|G8[14]4[12]|(?: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|X10[ia]v?|E1[05][ai]v?|MT[0-9]{2}[a-z]? Build|SO-0(?:[345]D|[234]E|[12]C|[1235]F|[12]G)|R800[aix]|LiveWithWalkman'
|
1194
1696
|
device: 'smartphone'
|
1195
1697
|
models:
|
1196
1698
|
# SONY ERICSSON: explicit smartphone models
|
@@ -1355,6 +1857,10 @@ Sony:
|
|
1355
1857
|
model: 'Xperia E'
|
1356
1858
|
- regex: '(?:Sony(?:Ericsson)?)?C160[45]'
|
1357
1859
|
model: 'Xperia E Dual'
|
1860
|
+
- regex: '(?:Sony(?:Ericsson)?)?(?:E210[45]|E2115)'
|
1861
|
+
model: 'Xperia E4'
|
1862
|
+
- regex: '(?:Sony(?:Ericsson)?)?E2003'
|
1863
|
+
model: 'Xperia E4G'
|
1358
1864
|
- regex: '(?:Sony(?:Ericsson)?)?C190[45]'
|
1359
1865
|
model: 'Xperia M'
|
1360
1866
|
- regex: '(?:Sony(?:Ericsson)?)?C200[45]'
|
@@ -1384,21 +1890,37 @@ Sony:
|
|
1384
1890
|
model: 'Xperia E3'
|
1385
1891
|
- regex: '(?:Sony(?:Ericsson)?)?D2212'
|
1386
1892
|
model: 'Xperia E3 Dual'
|
1893
|
+
- regex: '(?:Sony(?:Ericsson)?)?E2033'
|
1894
|
+
model: 'Xperia E4g Dual'
|
1387
1895
|
- regex: '(?:Sony(?:Ericsson)?)?D2302'
|
1388
1896
|
model: 'Xperia M2 Dual'
|
1389
1897
|
- regex: '(?:Sony(?:Ericsson)?)?D230[356]'
|
1390
1898
|
model: 'Xperia M2'
|
1391
1899
|
- regex: '(?:Sony(?:Ericsson)?)?D240[36]'
|
1392
1900
|
model: 'Xperia M2 Aqua'
|
1393
|
-
- regex: '(?:Sony(?:Ericsson)?)?
|
1901
|
+
- regex: '(?:Sony(?:Ericsson)?)?(?:E230[36]|E23[35]3)'
|
1394
1902
|
model: 'Xperia M4 Aqua'
|
1903
|
+
- regex: '(?:Sony(?:Ericsson)?)?(?:E2312|E2363)'
|
1904
|
+
model: 'Xperia M4 Aqua Dual'
|
1905
|
+
- regex: '(?:Sony(?:Ericsson)?)?E56[05][36]'
|
1906
|
+
model: 'Xperia M5'
|
1907
|
+
- regex: '(?:Sony(?:Ericsson)?)?E56[436]3'
|
1908
|
+
model: 'Xperia M5 Dual'
|
1395
1909
|
- regex: '(?:Sony(?:Ericsson)?)?D2502'
|
1396
1910
|
model: 'Xperia C3 Dual'
|
1397
1911
|
- regex: '(?:Sony(?:Ericsson)?)?D2533'
|
1398
1912
|
model: 'Xperia C3'
|
1913
|
+
- regex: '(?:Sony(?:Ericsson)?)?E5303'
|
1914
|
+
model: 'Xperia C4'
|
1915
|
+
- regex: '(?:Sony(?:Ericsson)?)?E53[03]3'
|
1916
|
+
model: 'Xperia C4 Dual'
|
1917
|
+
- regex: '(?:Sony(?:Ericsson)?)?E5506'
|
1918
|
+
model: 'Xperia C5 Ultra'
|
1919
|
+
- regex: '(?:Sony(?:Ericsson)?)?E55[36]3'
|
1920
|
+
model: 'Xperia C5 Ultra Dual'
|
1399
1921
|
- regex: '(?:Sony(?:Ericsson)?)?D510[236]'
|
1400
1922
|
model: 'Xperia T3'
|
1401
|
-
- regex: '(?:Sony(?:Ericsson)?)?D530[36]|XM50[ht]'
|
1923
|
+
- regex: '(?:Sony(?:Ericsson)?)?(?:D530[36]|XM50[ht])'
|
1402
1924
|
model: 'Xperia T2 Ultra'
|
1403
1925
|
device: 'phablet'
|
1404
1926
|
- regex: '(?:Sony(?:Ericsson)?)?D5322'
|
@@ -1412,16 +1934,64 @@ Sony:
|
|
1412
1934
|
model: 'Xperia Z2'
|
1413
1935
|
- regex: '(?:Sony(?:Ericsson)?)?(?:D66[05]3|SO-01G)'
|
1414
1936
|
model: 'Xperia Z3'
|
1415
|
-
- regex: '(?:Sony(?:Ericsson)?)?(?:
|
1937
|
+
- regex: '(?:Sony(?:Ericsson)?)?(?:D6633)'
|
1938
|
+
model: 'Xperia Z3 Dual'
|
1939
|
+
- regex: '(?:Sony(?:Ericsson)?)?(?:E65[35]3)'
|
1416
1940
|
model: 'Xperia Z3+'
|
1417
1941
|
- regex: '(?:Sony(?:Ericsson)?)?(?:E58[02]3)'
|
1418
1942
|
model: 'Xperia Z5 Compact'
|
1943
|
+
- regex: '(?:Sony(?:Ericsson)?)?E66[05]3'
|
1944
|
+
model: 'Xperia Z5'
|
1945
|
+
- regex: '(?:Sony(?:Ericsson)?)?E66[38]3'
|
1946
|
+
model: 'Xperia Z5 Dual'
|
1947
|
+
- regex: '(?:Sony(?:Ericsson)?)?E68[58]3'
|
1948
|
+
model: 'Xperia Z5 Premium'
|
1949
|
+
- regex: '(?:Sony(?:Ericsson)?)?E6833'
|
1950
|
+
model: 'Xperia Z5 Premium Dual'
|
1951
|
+
- regex: '(?:Sony(?:Ericsson)?)?F311[135]'
|
1952
|
+
model: 'Xperia XA'
|
1953
|
+
- regex: '(?:Sony(?:Ericsson)?)?F311[26]'
|
1954
|
+
model: 'Xperia XA Dual'
|
1955
|
+
- regex: '(?:Sony(?:Ericsson)?)?F321[135]'
|
1956
|
+
model: 'Xperia XA Ultra'
|
1957
|
+
- regex: '(?:Sony(?:Ericsson)?)?F321[26]'
|
1958
|
+
model: 'Xperia XA Ultra Dual'
|
1959
|
+
- regex: '(?:Sony(?:Ericsson)?)?F833[12]'
|
1960
|
+
model: 'Xperia XZ'
|
1961
|
+
- regex: '(?:Sony(?:Ericsson)?)?G8441'
|
1962
|
+
model: 'Xperia XZ1 Compact'
|
1963
|
+
- regex: '(?:Sony(?:Ericsson)?)?F331[13]'
|
1964
|
+
model: 'Xperia E5'
|
1965
|
+
- regex: '(?:Sony(?:Ericsson)?)?G312[135]|G311[26]'
|
1966
|
+
model: 'Xperia XA1'
|
1967
|
+
- regex: '(?:Sony(?:Ericsson)?)?G3412|G3423'
|
1968
|
+
model: 'Xperia XA1 Plus'
|
1969
|
+
- regex: '(?:Sony(?:Ericsson)?)?G322[136]|G3212'
|
1970
|
+
model: 'Xperia XA1 Ultra'
|
1971
|
+
- regex: '(?:Sony(?:Ericsson)?)?G823[12]'
|
1972
|
+
model: 'Xperia XZs'
|
1973
|
+
- regex: '(?:Sony(?:Ericsson)?)?G814[12]'
|
1974
|
+
model: 'Xperia XZ Premium'
|
1975
|
+
- regex: '(?:Sony(?:Ericsson)?)?G331[13]'
|
1976
|
+
model: 'Xperia L1'
|
1977
|
+
- regex: '(?:Sony(?:Ericsson)?)?G3312'
|
1978
|
+
model: 'Xperia L1 Dual'
|
1419
1979
|
- regex: '(?:Sony(?:Ericsson)?)?SO-04E'
|
1420
1980
|
model: 'Xperia A'
|
1421
1981
|
- regex: '(?:Sony(?:Ericsson)?)?SO-04D'
|
1422
1982
|
model: 'Xperia GX'
|
1423
1983
|
- regex: '(?:Sony(?:Ericsson)?)?SO-05D'
|
1424
1984
|
model: 'Xperia SX'
|
1985
|
+
- regex: '(?:Sony(?:Ericsson)?)?F5121'
|
1986
|
+
model: 'Xperia X'
|
1987
|
+
- regex: '(?:Sony(?:Ericsson)?)?F5122'
|
1988
|
+
model: 'Xperia X Dual'
|
1989
|
+
- regex: '(?:Sony(?:Ericsson)?)?F5321'
|
1990
|
+
model: 'Xperia X Compact'
|
1991
|
+
- regex: '(?:Sony(?:Ericsson)?)?F8131'
|
1992
|
+
model: 'Xperia X Performance'
|
1993
|
+
- regex: '(?:Sony(?:Ericsson)?)?F8132'
|
1994
|
+
model: 'Xperia X Performance Dual'
|
1425
1995
|
|
1426
1996
|
# SONY: explicit tablet models
|
1427
1997
|
- regex: 'SGP(?:311|312|321)[);/ ]|SO-03E'
|
@@ -1521,6 +2091,57 @@ Evertek:
|
|
1521
2091
|
- regex: '(Ever(?:Glory|Shine|Miracle|Mellow|Classic|Trendy|Fancy|Vivid|Slim|Glow|Magic|Smart|Star)[^/;]*) Build'
|
1522
2092
|
model: '$1'
|
1523
2093
|
|
2094
|
+
# Evolveo
|
2095
|
+
Evolveo:
|
2096
|
+
regex: 'EVOLVEO[ _]([^;/]*) Build'
|
2097
|
+
device: 'smartphone'
|
2098
|
+
models:
|
2099
|
+
- regex: 'Smart TV ([^;/]*) Build'
|
2100
|
+
device: 'tv'
|
2101
|
+
model: 'Smart TV $1'
|
2102
|
+
- regex: 'EVOLVEO[ _]([^;/]*) Build'
|
2103
|
+
model: '$1'
|
2104
|
+
|
2105
|
+
# Explay
|
2106
|
+
Explay:
|
2107
|
+
regex: 'Explay|ActiveD[ _]|Atlant |Informer[ _][0-9]+|CinemaTV 3G|Surfer[ _][0-9\.]|sQuad[ _][0-9\.]|Onliner[1-3]|RioPlay'
|
2108
|
+
device: 'tablet'
|
2109
|
+
models:
|
2110
|
+
- regex: 'ActiveD[ _]7.4[ _]3G'
|
2111
|
+
model: 'ActiveD 7.4 3G'
|
2112
|
+
- regex: 'ActiveD[ _]8.2[ _]3G'
|
2113
|
+
model: 'ActiveD 8.2 3G'
|
2114
|
+
- regex: 'CinemaTV[ _]3G'
|
2115
|
+
model: 'CinemaTV 3G'
|
2116
|
+
- regex: 'Informer[ _]([0-9]+(?:[ _]3G)?)'
|
2117
|
+
model: 'Informer $1'
|
2118
|
+
- regex: 'Surfer[ _]([0-9\.]+(?:[ _]3G)?)'
|
2119
|
+
model: 'Surfer $1'
|
2120
|
+
- regex: 'sQuad[ _]([0-9\.]+(?:[ _]3G)?)'
|
2121
|
+
model: 'sQuad $1'
|
2122
|
+
- regex: 'Onliner([1-3])'
|
2123
|
+
model: 'Onliner $1'
|
2124
|
+
- regex: 'Atlant[;/) ]'
|
2125
|
+
device: 'smartphone'
|
2126
|
+
model: 'Atlant'
|
2127
|
+
- regex: 'Explay[ _-]([^;/]+) Build'
|
2128
|
+
model: '$1'
|
2129
|
+
- regex: 'Explay[ _-]([^;/]+)[;/)]'
|
2130
|
+
model: '$1'
|
2131
|
+
- regex: '(RioPlay)[;/) ]'
|
2132
|
+
device: 'smartphone'
|
2133
|
+
model: 'Rio Play'
|
2134
|
+
|
2135
|
+
# EKO
|
2136
|
+
EKO:
|
2137
|
+
regex: 'EKO'
|
2138
|
+
device: 'smartphone'
|
2139
|
+
models:
|
2140
|
+
- regex: 'EKO[ _-]?([^;/)]+) Build'
|
2141
|
+
model: '$1'
|
2142
|
+
- regex: 'EKO[ _-]?([^;/)]+)[);/ ]'
|
2143
|
+
model: '$1'
|
2144
|
+
|
1524
2145
|
# Ezze
|
1525
2146
|
Ezze:
|
1526
2147
|
regex: 'EZZE-|EZ[a-z0-9]+'
|
@@ -1554,7 +2175,7 @@ Fairphone:
|
|
1554
2175
|
|
1555
2176
|
# Fujitsu
|
1556
2177
|
Fujitsu:
|
1557
|
-
regex: 'F-01F|F-02[EF]|F-05[DE]|F-06E|F-08D|F-09E'
|
2178
|
+
regex: 'F-01F|F-02[EF]|F-05[DE]|F-06E|F-08D|F-09E|M532[);/ ]'
|
1558
2179
|
device: 'smartphone'
|
1559
2180
|
models:
|
1560
2181
|
- regex: 'F-01F'
|
@@ -1578,6 +2199,9 @@ Fujitsu:
|
|
1578
2199
|
- regex: 'F-05E'
|
1579
2200
|
model: 'Arrows Tab F-05E'
|
1580
2201
|
device: 'tablet'
|
2202
|
+
- regex: 'M532[);/ ]'
|
2203
|
+
model: 'Stylistic'
|
2204
|
+
device: 'tablet'
|
1581
2205
|
|
1582
2206
|
# Gemini
|
1583
2207
|
Gemini:
|
@@ -1638,10 +2262,22 @@ Vizio:
|
|
1638
2262
|
|
1639
2263
|
# GOCLEVER
|
1640
2264
|
GOCLEVER:
|
1641
|
-
regex: 'GOCLEVER|QUANTUM|ARIES|INSIGNIA'
|
2265
|
+
regex: 'GOCLEVER|QUANTUM|ARIES|INSIGNIA|ORION_|ELIPSO'
|
1642
2266
|
device: 'smartphone'
|
1643
2267
|
models:
|
1644
|
-
- regex: '(
|
2268
|
+
- regex: 'QUANTUM_(1010N|1010M|900)'
|
2269
|
+
model: 'QUANTUM $1'
|
2270
|
+
device: 'tablet'
|
2271
|
+
- regex: 'INSIGNIA_785_PRO'
|
2272
|
+
model: 'INSIGNIA 785 PRO'
|
2273
|
+
device: 'tablet'
|
2274
|
+
- regex: '(ORION|ARIES|ELIPSO)[_ ](71|101|102)'
|
2275
|
+
model: '$1 $2'
|
2276
|
+
device: 'tablet'
|
2277
|
+
- regex: 'TQ700N'
|
2278
|
+
model: 'QUANTUM 700N'
|
2279
|
+
device: 'tablet'
|
2280
|
+
- regex: '((?:QUANTUM|ARIES|INSIGNIA|ORION|ELIPSO)[ _-]?[^;/]+) Build'
|
1645
2281
|
model: '$1'
|
1646
2282
|
- regex: 'GOCLEVER[ _-]TAB[ _-]?([^;/]+) Build'
|
1647
2283
|
model: 'TAB $1'
|
@@ -1659,6 +2295,7 @@ GOCLEVER:
|
|
1659
2295
|
- regex: 'GOCLEVER[ _-]?([^;/)]+)[;/)]'
|
1660
2296
|
model: '$1'
|
1661
2297
|
|
2298
|
+
|
1662
2299
|
# Goly
|
1663
2300
|
Goly:
|
1664
2301
|
regex: 'Goly[ _-]'
|
@@ -1671,7 +2308,7 @@ Goly:
|
|
1671
2308
|
|
1672
2309
|
# Google
|
1673
2310
|
Google:
|
1674
|
-
regex: 'Nexus|GoogleTV|Glass|CrKey[^a-z0-9]'
|
2311
|
+
regex: 'Nexus|GoogleTV|Glass|CrKey[^a-z0-9]|Pixel Build|Pixel (?:XL|C|2|2 XL) Build'
|
1675
2312
|
device: 'smartphone'
|
1676
2313
|
models:
|
1677
2314
|
- regex: 'Glass'
|
@@ -1692,6 +2329,17 @@ Google:
|
|
1692
2329
|
- regex: 'GoogleTV'
|
1693
2330
|
device: 'tv'
|
1694
2331
|
model: 'GoogleTV'
|
2332
|
+
- regex: 'Pixel Build'
|
2333
|
+
model: 'Pixel'
|
2334
|
+
- regex: 'Pixel XL'
|
2335
|
+
model: 'Pixel XL'
|
2336
|
+
- regex: 'Pixel 2 XL'
|
2337
|
+
model: 'Pixel 2 XL'
|
2338
|
+
- regex: 'Pixel 2'
|
2339
|
+
model: 'Pixel 2'
|
2340
|
+
- regex: 'Pixel C'
|
2341
|
+
device: 'tablet'
|
2342
|
+
model: 'Pixel C'
|
1695
2343
|
|
1696
2344
|
# Gradiente
|
1697
2345
|
Gradiente:
|
@@ -1745,7 +2393,7 @@ Hasee:
|
|
1745
2393
|
|
1746
2394
|
# Hisense
|
1747
2395
|
Hisense:
|
1748
|
-
regex: '(?:HS-)?Hisense ([^;/]+) Build|Hisense [^);/]+|HS-(?:U|EG?|I|T|X)[0-9]+[a-z0-9\-]*|E270BSA|M470BS[AE]|E2281'
|
2396
|
+
regex: '(?:HS-)?Hisense ([^;/]+) Build|Hisense [^);/]+|HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\-]*|E270BSA|M470BS[AE]|E2281|EG680'
|
1749
2397
|
device: 'smartphone'
|
1750
2398
|
models:
|
1751
2399
|
# explicit tablet models
|
@@ -1758,8 +2406,10 @@ Hisense:
|
|
1758
2406
|
- regex: 'E2281'
|
1759
2407
|
device: 'tablet'
|
1760
2408
|
model: 'Sero 8'
|
2409
|
+
- regex: 'EG680'
|
2410
|
+
model: 'Smartfren Andromax Z'
|
1761
2411
|
|
1762
|
-
- regex: '(HS-(?:U|EG?|I|T|X)[0-9]+[a-z0-9\-]*)'
|
2412
|
+
- regex: '(HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\-]*)'
|
1763
2413
|
model: '$1'
|
1764
2414
|
- regex: '(?:HS-)?Hisense ([^;/]+) Build'
|
1765
2415
|
model: '$1'
|
@@ -1772,6 +2422,16 @@ Hi-Level:
|
|
1772
2422
|
device: 'tablet'
|
1773
2423
|
model: 'HLV-T$1'
|
1774
2424
|
|
2425
|
+
# Homtom
|
2426
|
+
Homtom:
|
2427
|
+
regex: 'Homtom|(?:HT[0-9]{1,2})(?: ?Pro)? Build'
|
2428
|
+
device: 'smartphone'
|
2429
|
+
models:
|
2430
|
+
- regex: '(HT[0-9]{1,2}(?: ?Pro)?) Build'
|
2431
|
+
model: '$1'
|
2432
|
+
- regex: 'Homtom ([^;/]+) Build'
|
2433
|
+
model: '$1'
|
2434
|
+
|
1775
2435
|
# Hosin
|
1776
2436
|
Hosin:
|
1777
2437
|
regex: 'HOSIN[ _-]'
|
@@ -1784,7 +2444,7 @@ Hosin:
|
|
1784
2444
|
|
1785
2445
|
# Huawei
|
1786
2446
|
Huawei:
|
1787
|
-
regex: '(HW-)?(?:Huawei|Ideos|Honor[ _]|(?:H60-L(?:01|02|03|04|11|12)|H30-(?:C00|L01M?|L02|U10|T00|T10)|G621-TL00M?|PLK-(?:AL10|CL00|TL00|TL01H?|UL00|L01)|SCL-(?:AL00|CL00|TL00H
|
2447
|
+
regex: '(HW-)?(?:Huawei|Ideos|Honor[ _]|(?:H60-L(?:01|02|03|04|11|12)|H30-(?:C00|L01M?|L02|U10|T00|T10)|G621-TL00M?|PLK-(?:AL10|CL00|TL00|TL01H?|UL00|L01)|SCL-(?:AL00|CL00|TL00H?|L01)|CH(?:E2?|M)-[CUT]L00[HM]?|CHE1-CL[12]0|CHE2-L11|CHM-U01|KIW-L21|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508)|NEM-L[52][21]|PLE-70[13]L|BLN-(?:L2[124]|AL10)|BND-(?:AL10|L21)|PRA-L[AX]1|PRA-AL00X|RNE-L22)[);/ ])|Bucare Y330-U05'
|
1788
2448
|
device: 'smartphone'
|
1789
2449
|
models:
|
1790
2450
|
- regex: 'U(8230|8661|8667)[);/ ]'
|
@@ -1817,10 +2477,55 @@ Huawei:
|
|
1817
2477
|
model: 'Honor 3C'
|
1818
2478
|
- regex: '(?:Honor_|HW-)?SCL-(?:AL00|CL00|TL00H?)(?:_TD)?[);/ ]'
|
1819
2479
|
model: 'Honor 4A'
|
2480
|
+
- regex: '(?:Honor_|HW-)?KIW-L21(?:_TD)?[);/ ]'
|
2481
|
+
model: 'Honor 5X'
|
2482
|
+
- regex: '(?:Honor_|HW-)?CHM-U01(?:_TD)?[);/ ]'
|
2483
|
+
model: 'Honor 4C'
|
1820
2484
|
- regex: '(?:Honor_|HW-)?H60-L(?:01|02|03|04|11|12)(?:_TD)?[);/ ]'
|
1821
2485
|
model: 'Honor 6'
|
2486
|
+
- regex: '(?:Honor_|HW-)?SCL-L01(?:_TD)?[);/ ]'
|
2487
|
+
model: 'Honor Y6'
|
1822
2488
|
- regex: '(?:Honor_|HW-)?PLK-(?:AL10|CL00|TL00|TL01H?|UL00|L01)[);/ ]'
|
1823
2489
|
model: 'Honor 7'
|
2490
|
+
- regex: '(?:Honor_|HW-)?NEM-L51[);/ ]'
|
2491
|
+
model: 'Honor 5C'
|
2492
|
+
- regex: '(?:Honor_|HW-)?NEM-L22[);/ ]'
|
2493
|
+
model: 'Honor 5C Dual SIM'
|
2494
|
+
- regex: '(?:Honor_|HW-)?NEM-L21[);/ ]'
|
2495
|
+
model: 'Honor 7 Lite'
|
2496
|
+
- regex: '(?:HONOR[ _]?)?BLN-(?:L2[124]|AL10)'
|
2497
|
+
model: 'Honor 6X'
|
2498
|
+
- regex: '(?:HONOR[ _]?)?BND-(?:AL10|L21)'
|
2499
|
+
model: 'Honor 7X'
|
2500
|
+
- regex: 'PRA-AL00X'
|
2501
|
+
model: 'Honor 8 Lite'
|
2502
|
+
- regex: 'GRA-L09'
|
2503
|
+
model: 'P8'
|
2504
|
+
- regex: 'ALE-L(02|21|23)'
|
2505
|
+
model: 'P8 Lite (2015)'
|
2506
|
+
- regex: 'PRA-L[AX]1'
|
2507
|
+
model: 'P8 Lite (2017)'
|
2508
|
+
- regex: 'RNE-L22'
|
2509
|
+
model: 'Nova 2I'
|
2510
|
+
- regex: 'EVA-L09'
|
2511
|
+
model: 'P9'
|
2512
|
+
- regex: 'VTR-L09'
|
2513
|
+
model: 'P10'
|
2514
|
+
- regex: 'CAM-L21'
|
2515
|
+
model: 'Y6II'
|
2516
|
+
- regex: 'MHA-L[02]9'
|
2517
|
+
model: 'Mate 9'
|
2518
|
+
- regex: 'Bucare Y330-U05'
|
2519
|
+
model: 'Y330-U05'
|
2520
|
+
- regex: 'T1-A21w'
|
2521
|
+
device: 'tablet'
|
2522
|
+
model: 'Honor Tablet Note'
|
2523
|
+
- regex: 'PLE-70[13]L'
|
2524
|
+
device: 'tablet'
|
2525
|
+
model: 'MediaPad T2 7.0 Pro'
|
2526
|
+
- regex: 'T1-A21L'
|
2527
|
+
device: 'tablet'
|
2528
|
+
model: 'MediaPad T1 10'
|
1824
2529
|
- regex: '(MediaPad[^/;]*) Build'
|
1825
2530
|
device: 'tablet'
|
1826
2531
|
model: '$1'
|
@@ -1892,6 +2597,82 @@ iBerry:
|
|
1892
2597
|
- regex: 'AUXUS ([^/;]+) Build'
|
1893
2598
|
model: '$1'
|
1894
2599
|
|
2600
|
+
# IconBIT
|
2601
|
+
IconBIT:
|
2602
|
+
regex: 'NT-3506M'
|
2603
|
+
device: 'smartphone'
|
2604
|
+
models:
|
2605
|
+
- regex: 'NT-3506M'
|
2606
|
+
model: 'NetTAB Mercury Quad FHD'
|
2607
|
+
|
2608
|
+
# LYF
|
2609
|
+
LYF:
|
2610
|
+
regex: '(LYF[ _])?LS-[45][0-9]{3}'
|
2611
|
+
device: 'smartphone'
|
2612
|
+
models:
|
2613
|
+
- regex: 'LS-4004'
|
2614
|
+
model: 'Flame 2'
|
2615
|
+
- regex: 'LS-5501'
|
2616
|
+
model: 'Earth 1'
|
2617
|
+
- regex: 'LS-5021'
|
2618
|
+
model: 'Earth 2'
|
2619
|
+
- regex: 'LS-5505'
|
2620
|
+
model: 'Water F1'
|
2621
|
+
- regex: 'LS-4503'
|
2622
|
+
model: 'Flame LS-4503'
|
2623
|
+
- regex: 'LS-4001'
|
2624
|
+
model: 'Flame 3'
|
2625
|
+
- regex: 'LS-4003'
|
2626
|
+
model: 'Flame 4'
|
2627
|
+
- regex: 'LS-4002'
|
2628
|
+
model: 'Flame 5'
|
2629
|
+
- regex: 'LS-4005'
|
2630
|
+
model: 'Flame 6'
|
2631
|
+
- regex: '(LYF[ _])?LS-4006'
|
2632
|
+
model: 'Flame 7'
|
2633
|
+
- regex: 'LS-4008'
|
2634
|
+
model: 'Flame 7S'
|
2635
|
+
- regex: 'LS-4505'
|
2636
|
+
model: 'Flame 8'
|
2637
|
+
- regex: 'LS-5002'
|
2638
|
+
model: 'Water 1'
|
2639
|
+
- regex: 'LS-5005'
|
2640
|
+
model: 'Water 4'
|
2641
|
+
- regex: 'LS-5006'
|
2642
|
+
model: 'Water 6'
|
2643
|
+
- regex: 'LS-5008'
|
2644
|
+
model: 'Water 2'
|
2645
|
+
- regex: 'LS-5009'
|
2646
|
+
model: 'Wind 6'
|
2647
|
+
- regex: 'LS-5013'
|
2648
|
+
model: 'Wind 5'
|
2649
|
+
- regex: 'LS-5014'
|
2650
|
+
model: 'Wind 4'
|
2651
|
+
- regex: 'LS-5010'
|
2652
|
+
model: 'Wind 1'
|
2653
|
+
- regex: 'LS-5015'
|
2654
|
+
model: 'Water 8'
|
2655
|
+
- regex: 'LS-5016'
|
2656
|
+
model: 'Wind 7'
|
2657
|
+
- regex: 'LS-5504'
|
2658
|
+
model: 'Water 7'
|
2659
|
+
- regex: 'LS-5017'
|
2660
|
+
model: 'Water 11'
|
2661
|
+
- regex: 'LS-5018'
|
2662
|
+
model: 'Wind 4S'
|
2663
|
+
- regex: 'LS-5020'
|
2664
|
+
model: 'Water 10'
|
2665
|
+
- regex: 'LS-5201'
|
2666
|
+
model: 'Water F1S'
|
2667
|
+
- regex: 'LS-5502'
|
2668
|
+
model: 'Wind 3'
|
2669
|
+
- regex: 'LS-5503'
|
2670
|
+
model: 'Water 3'
|
2671
|
+
- regex: 'LS-5506'
|
2672
|
+
model: 'Water 9'
|
2673
|
+
- regex: 'LS-6001'
|
2674
|
+
model: 'Wind 2'
|
2675
|
+
|
1895
2676
|
# iNew
|
1896
2677
|
iNew:
|
1897
2678
|
regex: 'iNew|(?:V7A|V3 Plus|V3-?E|V3C)(?: Build|[;/\)])'
|
@@ -2014,7 +2795,15 @@ iTel:
|
|
2014
2795
|
- regex: 'iTel_([a-z0-9\-_]*)'
|
2015
2796
|
model: '$1'
|
2016
2797
|
|
2017
|
-
#
|
2798
|
+
# JAY-Tech
|
2799
|
+
JAY-Tech:
|
2800
|
+
regex: 'TPC-[A-Z0-9]+'
|
2801
|
+
device: 'tablet'
|
2802
|
+
models:
|
2803
|
+
- regex: 'TPC-([A-Z0-9]+)'
|
2804
|
+
model: 'Tablet PC $1'
|
2805
|
+
|
2806
|
+
# Jiayu
|
2018
2807
|
Jiayu:
|
2019
2808
|
regex: '(JY-[a-z0-9]+)[);/ ]'
|
2020
2809
|
device: 'smartphone'
|
@@ -2038,6 +2827,28 @@ Kazam:
|
|
2038
2827
|
- regex: 'Kazam ([^;/]+) Build'
|
2039
2828
|
model: '$1'
|
2040
2829
|
|
2830
|
+
# Kiano
|
2831
|
+
Kiano:
|
2832
|
+
regex: 'Kiano|Elegance_5_0|CORE 10.1 DUAL 3G|Intelect ?(7|8|10)|Slim ?Tab ?\d+(?:[_ ]3GR?)?[);/ ]|Cavion[_ ]'
|
2833
|
+
device: 'smartphone'
|
2834
|
+
models:
|
2835
|
+
- regex: 'Slim ?Tab ?(\d+)(?:[_ ]3GR?)?'
|
2836
|
+
model: 'Slim Tab $1'
|
2837
|
+
device: 'tablet'
|
2838
|
+
- regex: 'Cavion[_ ](?:Base[_ ])?(\d+)'
|
2839
|
+
model: 'Cavion Base $1'
|
2840
|
+
device: 'tablet'
|
2841
|
+
- regex: 'CORE 10.1 DUAL 3G'
|
2842
|
+
model: 'CORE 10.1 DUAL 3G'
|
2843
|
+
device: 'tablet'
|
2844
|
+
- regex: 'Elegance_5_0'
|
2845
|
+
model: 'Elegance 5.0'
|
2846
|
+
- regex: '(Kiano)?(Intelect|Elegance) ?(7|8|10)?'
|
2847
|
+
model: '$2 $3'
|
2848
|
+
device: 'tablet'
|
2849
|
+
- regex: 'Kiano[ _]([^;/]+) Build'
|
2850
|
+
model: '$1'
|
2851
|
+
|
2041
2852
|
# Kingsun
|
2042
2853
|
Kingsun:
|
2043
2854
|
regex: 'Kingsun[ _-]'
|
@@ -2149,17 +2960,37 @@ Kyocera:
|
|
2149
2960
|
|
2150
2961
|
# Lava
|
2151
2962
|
Lava:
|
2152
|
-
regex: 'iris[ _]?([^/;]+)(?:\)| Build)'
|
2963
|
+
regex: 'Lava |iris[ _]?([^/;]+)(?:\)| Build)'
|
2153
2964
|
device: 'smartphone'
|
2154
2965
|
models:
|
2155
2966
|
- regex: 'iris[ _]?([^/;]+)(?:\)| Build)'
|
2156
2967
|
model: 'Iris $1'
|
2968
|
+
- regex: 'Lava[ _]?([^/;]+)(?:/| Build)'
|
2969
|
+
model: '$1'
|
2970
|
+
|
2971
|
+
# Landvo
|
2972
|
+
Landvo:
|
2973
|
+
regex: 'XM[123]00|(?<!Blade )S6 Build'
|
2974
|
+
device: 'smartphone'
|
2975
|
+
models:
|
2976
|
+
- regex: 'S6 Build'
|
2977
|
+
model: 'S6'
|
2978
|
+
- regex: 'XM([123])00([^/;]*) Build'
|
2979
|
+
model: 'XM$100$2'
|
2157
2980
|
|
2158
2981
|
# lanix
|
2159
2982
|
Lanix:
|
2160
|
-
regex: 'LANIX-([a-z0-9]+)'
|
2983
|
+
regex: 'LANIX-([a-z0-9]+)|ILIUM[ _]([^;/]+) Build'
|
2161
2984
|
device: 'feature phone'
|
2162
|
-
|
2985
|
+
models:
|
2986
|
+
- regex: 'ILIUM[ _]PAD[ _]([^;/]+) Build'
|
2987
|
+
model: 'Ilium Pad $1'
|
2988
|
+
device: 'tablet'
|
2989
|
+
- regex: 'ILIUM[ _]([^;/]+) Build'
|
2990
|
+
model: 'Ilium $1'
|
2991
|
+
device: 'smartphone'
|
2992
|
+
- regex: 'LANIX-([a-z0-9]+)'
|
2993
|
+
model: '$1'
|
2163
2994
|
|
2164
2995
|
# lct
|
2165
2996
|
LCT:
|
@@ -2181,6 +3012,24 @@ LCT:
|
|
2181
3012
|
- regex: 'Le ?Pan ?([^;/]+) Build'
|
2182
3013
|
model: '$1'
|
2183
3014
|
|
3015
|
+
# LeEco
|
3016
|
+
LeEco:
|
3017
|
+
regex: 'LeEco|Le ?X[0-9][^;/]+|Le Max|Le [12]'
|
3018
|
+
device: 'smartphone'
|
3019
|
+
models:
|
3020
|
+
- regex: 'Le ?X([^;/]+) Build'
|
3021
|
+
model: 'Le X$1'
|
3022
|
+
- regex: 'Le ?X([^ ;/]+)'
|
3023
|
+
model: 'Le X$1'
|
3024
|
+
- regex: 'Le ?([12][^;/]+) Build'
|
3025
|
+
model: 'Le $1'
|
3026
|
+
- regex: 'Le Max([^;/]*) Build'
|
3027
|
+
model: 'Le Max$1'
|
3028
|
+
- regex: 'Le Max([^ ;/]*)'
|
3029
|
+
model: 'Le Max$1'
|
3030
|
+
- regex: 'LeEco ([^;/]+) Build'
|
3031
|
+
model: '$1'
|
3032
|
+
|
2184
3033
|
# lenco
|
2185
3034
|
Lenco:
|
2186
3035
|
regex: 'Lenco ([^/;]*) Build'
|
@@ -2189,10 +3038,47 @@ Lenco:
|
|
2189
3038
|
|
2190
3039
|
# lenovo
|
2191
3040
|
Lenovo:
|
2192
|
-
regex: '(?:LNV-)?Lenovo|IdeaTab|IdeaPad|Thinkpad|Yoga Tablet'
|
3041
|
+
regex: '(?:LNV-)?Lenovo|IdeaTab|IdeaPad|Thinkpad|Yoga Tablet|Tab2A[0-9]-[0-9]{2}[a-z]?|YT3-X50L|ZUK[ -_]'
|
2193
3042
|
device: 'smartphone'
|
2194
3043
|
models:
|
2195
|
-
- regex: 'Lenovo
|
3044
|
+
- regex: 'Lenovo ?G780'
|
3045
|
+
model: 'G780'
|
3046
|
+
device: 'desktop'
|
3047
|
+
- regex: 'Lenovo ?A3500-FL'
|
3048
|
+
model: 'IdeaTab A7-40'
|
3049
|
+
device: 'tablet'
|
3050
|
+
- regex: 'Lenovo ?A3500-(H|HV|F)'
|
3051
|
+
model: 'IdeaTab A7-50'
|
3052
|
+
device: 'tablet'
|
3053
|
+
- regex: 'Lenovo ?A5500-[HF]'
|
3054
|
+
model: 'IdeaTab A8-50'
|
3055
|
+
device: 'tablet'
|
3056
|
+
- regex: 'Lenovo ?A7600-[HF]'
|
3057
|
+
model: 'IdeaTab A10-70'
|
3058
|
+
device: 'tablet'
|
3059
|
+
- regex: 'TB2-X30[FL]'
|
3060
|
+
model: 'Tab 2 A10-30'
|
3061
|
+
device: 'tablet'
|
3062
|
+
- regex: 'YT3-X50[FL]'
|
3063
|
+
model: 'Yoga Tab 3'
|
3064
|
+
device: 'tablet'
|
3065
|
+
- regex: 'TB3-710[IF]'
|
3066
|
+
model: 'TAB3 7 Essential'
|
3067
|
+
device: 'tablet'
|
3068
|
+
- regex: 'Lenovo ?B8000(-[FH])?'
|
3069
|
+
model: 'Yoga Tablet 10'
|
3070
|
+
device: 'tablet'
|
3071
|
+
- regex: 'Lenovo ?B6000(-[FH])?'
|
3072
|
+
model: 'Yoga Tablet 8'
|
3073
|
+
device: 'tablet'
|
3074
|
+
- regex: 'YT3-X90(L|F|X)'
|
3075
|
+
model: 'Yoga 3 Pro'
|
3076
|
+
device: 'tablet'
|
3077
|
+
- regex: 'YT3-850[FL]'
|
3078
|
+
model: 'Yoga Tab 3 8'
|
3079
|
+
device: 'tablet'
|
3080
|
+
|
3081
|
+
- regex: 'Lenovo ([ASB][0-9]{4})[A-Z]?\-[EHF]'
|
2196
3082
|
model: 'IdeaTab $1'
|
2197
3083
|
device: 'tablet'
|
2198
3084
|
- regex: 'ThinkPadTablet_(A[0-9]{3})_'
|
@@ -2204,15 +3090,67 @@ Lenovo:
|
|
2204
3090
|
- regex: 'IdeaPad ?([^;/]*) Build'
|
2205
3091
|
model: 'IdeaPad $1'
|
2206
3092
|
device: 'tablet'
|
2207
|
-
- regex: 'Lenovo ([^/;]*) Build'
|
2208
|
-
model: '$1'
|
3093
|
+
- regex: 'Lenovo TAB ?([^/;]*) Build'
|
3094
|
+
model: 'TAB $1'
|
3095
|
+
device: 'tablet'
|
3096
|
+
- regex: 'Lenovo ?A3300-(?:GV|H)'
|
3097
|
+
model: 'TAB 2 A7-30'
|
3098
|
+
device: 'tablet'
|
3099
|
+
- regex: 'Tab2A([0-9]-[0-9]{2}[a-z]?)'
|
3100
|
+
model: 'TAB 2 A$1'
|
3101
|
+
device: 'tablet'
|
2209
3102
|
- regex: 'IdeaTab[ \-_]?([a-z0-9]+)'
|
2210
3103
|
model: 'IdeaTab $1'
|
2211
3104
|
device: 'tablet'
|
2212
3105
|
- regex: 'Yoga Tablet([^;/]+) Build'
|
2213
3106
|
model: 'Yoga Tablet$1'
|
2214
3107
|
device: 'tablet'
|
2215
|
-
- regex: '
|
3108
|
+
- regex: 'Lenovo TB\-X704F Build/NMF26F'
|
3109
|
+
model: 'Tab 4 10 Plus'
|
3110
|
+
device: 'tablet'
|
3111
|
+
- regex: 'Lenovo (TB[0-9]?\-[a-z0-9\-]+) Build'
|
3112
|
+
model: '$1'
|
3113
|
+
device: 'tablet'
|
3114
|
+
- regex: 'ZUK[ -_]([^/;]*) Build'
|
3115
|
+
model: 'ZUK $1'
|
3116
|
+
- regex: 'Lenovo ([^/;]*) Build'
|
3117
|
+
model: '$1'
|
3118
|
+
- regex: '(?:LNV-|Lenovo-)?Lenovo[ \-_]?([a-z0-9_+\-]+)'
|
3119
|
+
model: '$1'
|
3120
|
+
|
3121
|
+
# Lexand
|
3122
|
+
Lexand:
|
3123
|
+
regex: '(?:SC7 PRO HD|S5A[1-4]|S4A[1-5]|S6A1|A811|A802)[);/ ]|Lexand ([^;/]+) Build'
|
3124
|
+
device: 'smartphone'
|
3125
|
+
models:
|
3126
|
+
- regex: 'A(811|802)'
|
3127
|
+
device: 'tablet'
|
3128
|
+
model: 'A$1'
|
3129
|
+
|
3130
|
+
- regex: 'S4A1'
|
3131
|
+
model: 'Vega'
|
3132
|
+
- regex: 'S4A2'
|
3133
|
+
model: 'Irida'
|
3134
|
+
- regex: 'S4A3'
|
3135
|
+
model: 'Pallada'
|
3136
|
+
- regex: 'S4A5'
|
3137
|
+
model: 'Oxygen'
|
3138
|
+
- regex: 'S4A4 NEON'
|
3139
|
+
model: 'S4A4 Neon'
|
3140
|
+
- regex: 'S5A1'
|
3141
|
+
model: 'Callisto'
|
3142
|
+
- regex: 'S5A2'
|
3143
|
+
model: 'Overon'
|
3144
|
+
- regex: 'S5A3'
|
3145
|
+
model: 'Capella'
|
3146
|
+
- regex: 'S5A4'
|
3147
|
+
model: 'Argon'
|
3148
|
+
- regex: 'S6A1'
|
3149
|
+
model: 'Antares'
|
3150
|
+
- regex: 'SC7 PRO HD'
|
3151
|
+
model: 'SC7 PRO HD'
|
3152
|
+
|
3153
|
+
- regex: 'Lexand ([^;/]+) Build'
|
2216
3154
|
model: '$1'
|
2217
3155
|
|
2218
3156
|
# lexibook
|
@@ -2271,9 +3209,11 @@ Lexibook:
|
|
2271
3209
|
|
2272
3210
|
# lg
|
2273
3211
|
LG:
|
2274
|
-
regex: 'LG|portalmmm/2\.0 (?:KE|KG|KP|L3)|(?:VX[0-9]+|L-0[12]D|L-07C|P713)[);/ ]|NetCast'
|
3212
|
+
regex: 'LG|portalmmm/2\.0 (?:KE|KG|KP|L3)|(?:VX[0-9]+|L-0[12]D|L-07C|P713)[);/ ]|NetCast|VS995'
|
2275
3213
|
device: 'smartphone'
|
2276
3214
|
models:
|
3215
|
+
- regex: 'LG-D855'
|
3216
|
+
model: 'G3'
|
2277
3217
|
- regex: 'P713'
|
2278
3218
|
model: 'Optimus L7II'
|
2279
3219
|
- regex: 'L-01D'
|
@@ -2283,6 +3223,19 @@ LG:
|
|
2283
3223
|
- regex: 'L-07C'
|
2284
3224
|
model: 'Optimus Bright L-07C'
|
2285
3225
|
|
3226
|
+
- regex: 'LG-V490'
|
3227
|
+
model: 'G Pad 8.0'
|
3228
|
+
device: 'tablet'
|
3229
|
+
- regex: 'LG-V500'
|
3230
|
+
model: 'G Pad 8.3'
|
3231
|
+
device: 'tablet'
|
3232
|
+
- regex: 'LG-V700'
|
3233
|
+
model: 'G Pad 10.1'
|
3234
|
+
device: 'tablet'
|
3235
|
+
- regex: 'LG-V935'
|
3236
|
+
model: 'G Pad II 10.1'
|
3237
|
+
device: 'tablet'
|
3238
|
+
|
2286
3239
|
- regex: 'webOS.TV'
|
2287
3240
|
device: 'tv'
|
2288
3241
|
model: 'WebOS TV'
|
@@ -2306,6 +3259,8 @@ LG:
|
|
2306
3259
|
model: '$1'
|
2307
3260
|
- regex: '(VX[0-9]+)'
|
2308
3261
|
model: '$1'
|
3262
|
+
- regex: 'VS995'
|
3263
|
+
model: 'V20'
|
2309
3264
|
|
2310
3265
|
# Lingwin
|
2311
3266
|
Lingwin:
|
@@ -2319,15 +3274,25 @@ Lingwin:
|
|
2319
3274
|
|
2320
3275
|
# Logicom
|
2321
3276
|
Logicom:
|
2322
|
-
regex: '(TAB950|TAB1062|E731|E812|E912|E1031)[);/ ]'
|
3277
|
+
regex: '(TAB950|TAB1062|E731|E812|E912|E1031|POWER BOT|(?:B|C|M|ID|VR) ?BOT ?(?:TAB )?([0-9]+\+?)(?:PLUS)?|KT712A_4\.4|L-?IXIR[0-9]*|L-ITE|L-?EMENT)[_);/ ]'
|
2323
3278
|
device: 'tablet'
|
2324
|
-
|
2325
|
-
|
2326
|
-
|
2327
|
-
|
2328
|
-
|
2329
|
-
|
2330
|
-
|
3279
|
+
models:
|
3280
|
+
- regex: 'KT712A_4.4'
|
3281
|
+
model: 'L-ixir Tab 701'
|
3282
|
+
- regex: 'LIXIR1041'
|
3283
|
+
model: 'L-ixir Tab 1041'
|
3284
|
+
- regex: 'L-?IXIR TAB ([^;/]+) Build'
|
3285
|
+
model: 'L-ixir Tab $1'
|
3286
|
+
- regex: 'L-ITE[ _]([^;/]+) Build'
|
3287
|
+
model: 'L-ite Tab $1'
|
3288
|
+
- regex: 'L-?EMENT[ _](?:TAB)?([^;/]+) Build'
|
3289
|
+
model: 'L-ement Tab $1'
|
3290
|
+
- regex: '(TAB950|TAB1062|E731|E812|E912|E1031)[);/ ]'
|
3291
|
+
model: '$1'
|
3292
|
+
- regex: 'POWER BOT'
|
3293
|
+
model: 'POWER BOT'
|
3294
|
+
- regex: '((?:B|C|M|ID|VR)) ?BOT ?((?:TAB )?([0-9]+\+?)(?:PLUS)?)'
|
3295
|
+
model: '$1 BOT $2'
|
2331
3296
|
|
2332
3297
|
# Konka
|
2333
3298
|
Konka:
|
@@ -2348,6 +3313,22 @@ Konka:
|
|
2348
3313
|
device: 'feature phone'
|
2349
3314
|
model: '$1'
|
2350
3315
|
|
3316
|
+
# Konrow
|
3317
|
+
Konrow:
|
3318
|
+
regex: '(?:BIGCOOL|COOLFIVE|COOL-K|Just5|Link5)[);/ ]'
|
3319
|
+
device: 'smartphone'
|
3320
|
+
models:
|
3321
|
+
- regex: 'BIGCOOL[);/ ]'
|
3322
|
+
model: 'BigCool'
|
3323
|
+
- regex: 'COOL-K[);/ ]'
|
3324
|
+
model: 'Cool-K'
|
3325
|
+
- regex: 'COOLFIVE[);/ ]'
|
3326
|
+
model: 'Cool Five'
|
3327
|
+
- regex: 'Just5[);/ ]'
|
3328
|
+
model: 'Just 5'
|
3329
|
+
- regex: 'Link5[);/ ]'
|
3330
|
+
model: 'Link 5'
|
3331
|
+
|
2351
3332
|
# Karbonn
|
2352
3333
|
Karbonn:
|
2353
3334
|
regex: '(?:Browser-)?Karbonn'
|
@@ -2422,7 +3403,7 @@ Majestic:
|
|
2422
3403
|
|
2423
3404
|
# Manta Multimedia
|
2424
3405
|
Manta Multimedia:
|
2425
|
-
regex: '(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|1001|1002|1003|1004(?: 3G)?|1005|7802|9701|9702))[);/ ]'
|
3406
|
+
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))[);/ ]'
|
2426
3407
|
device: 'tablet'
|
2427
3408
|
model: '$1'
|
2428
3409
|
|
@@ -2528,12 +3509,17 @@ Mediacom:
|
|
2528
3509
|
|
2529
3510
|
# Medion
|
2530
3511
|
Medion:
|
2531
|
-
regex: 'Medion|(?:MD_)?LIFETAB'
|
3512
|
+
regex: 'Medion|(?:MD_)?LIFETAB|X5001[);/ ]|[SPX]10[0-9]{2}X[);/ ]'
|
2532
3513
|
device: 'smartphone'
|
2533
3514
|
models:
|
2534
3515
|
- regex: '(?:MD_)?LIFETAB_([a-z0-9]+)'
|
2535
3516
|
device: 'tablet'
|
2536
3517
|
model: 'Lifetab $1'
|
3518
|
+
- regex: 'X5001'
|
3519
|
+
model: 'Life X5001'
|
3520
|
+
- regex: '([SPX]10[0-9]{2}X)[);/ ]'
|
3521
|
+
model: 'Lifetab $1'
|
3522
|
+
device: 'tablet'
|
2537
3523
|
- regex: 'Medion(?: Smartphone)? ([^/;]+) Build'
|
2538
3524
|
model: '$1'
|
2539
3525
|
|
@@ -2549,17 +3535,19 @@ MEEG:
|
|
2549
3535
|
|
2550
3536
|
# Meizu
|
2551
3537
|
Meizu:
|
2552
|
-
regex: '(M04[05]|M35[1356]|MX[ -]?[
|
3538
|
+
regex: 'Meizu|MZ-[a-z]|(M04[05]|M35[1356]|MX[ -]?[2345](?: Pro)?|(?:MZ-)?m[1-6] note|M57[18]C|M3S)[);/ ]'
|
2553
3539
|
device: 'smartphone'
|
2554
3540
|
models:
|
2555
3541
|
- regex: '(?:MZ-)?M571C'
|
2556
3542
|
device: 'phablet'
|
2557
3543
|
model: 'M2 Note'
|
2558
|
-
- regex: '(?:MZ-)?m(1
|
3544
|
+
- regex: '(?:MZ-)?m([1-6]) note[);/ ]'
|
2559
3545
|
device: 'phablet'
|
2560
3546
|
model: 'M$1 Note'
|
2561
3547
|
- regex: '(?:MZ-)?M578C'
|
2562
3548
|
model: 'M2'
|
3549
|
+
- regex: 'M3S'
|
3550
|
+
model: 'M3S'
|
2563
3551
|
- regex: '(M04[05]|MX[ -]?2)[);/ ]'
|
2564
3552
|
model: 'MX2'
|
2565
3553
|
- regex: '(M35[1356]|MX[ -]?3)[);/ ]'
|
@@ -2568,6 +3556,14 @@ Meizu:
|
|
2568
3556
|
model: 'MX4 Pro'
|
2569
3557
|
- regex: 'MX[ -]?4[);/ ]'
|
2570
3558
|
model: 'MX4'
|
3559
|
+
- regex: 'MX[ -]?5[);/ ]'
|
3560
|
+
model: 'MX5'
|
3561
|
+
- regex: '(?:MZ-)?Meizu[_ ]([^/;]+) Build'
|
3562
|
+
model: '$1'
|
3563
|
+
- regex: '(?:MZ-)?Meizu[_ ]([a-z0-9_]+)'
|
3564
|
+
model: '$1'
|
3565
|
+
- regex: 'MZ-([^/;]+) Build'
|
3566
|
+
model: '$1'
|
2571
3567
|
|
2572
3568
|
# Memup
|
2573
3569
|
Memup:
|
@@ -2615,6 +3611,16 @@ Mitsubishi:
|
|
2615
3611
|
- regex: 'portalmmm/[12]\.0 (M[a-z0-9]+)'
|
2616
3612
|
model: '$1'
|
2617
3613
|
|
3614
|
+
# MIXC
|
3615
|
+
MIXC:
|
3616
|
+
regex: '(M35|M20|G7106|G7108)[ );/]'
|
3617
|
+
device: 'smartphone'
|
3618
|
+
models:
|
3619
|
+
- regex: '(M[0-9]{1,2})[ );/]'
|
3620
|
+
model: '$1'
|
3621
|
+
- regex: '(G[0-9]{4})[ );/]'
|
3622
|
+
model: '$1'
|
3623
|
+
|
2618
3624
|
# MSI
|
2619
3625
|
MSI:
|
2620
3626
|
regex: 'Primo ?(?:91|76)|Enjoy 7 Plus'
|
@@ -2640,10 +3646,27 @@ MLLED:
|
|
2640
3646
|
|
2641
3647
|
# Mobistel
|
2642
3648
|
Mobistel:
|
2643
|
-
regex: '(Cynus [^/;]+) Build'
|
3649
|
+
regex: '(Cynus[ _][^/;]+) Build'
|
2644
3650
|
device: 'smartphone'
|
2645
3651
|
model: '$1'
|
2646
3652
|
|
3653
|
+
# Modecom
|
3654
|
+
Modecom:
|
3655
|
+
regex: 'Modecom|Free(?:Way )?Tab|xino z[\d]+ x[\d]+'
|
3656
|
+
device: 'tablet'
|
3657
|
+
models:
|
3658
|
+
- regex: 'xino Z([\d]+) X([\d]+)'
|
3659
|
+
model: 'Xino Z$1 X$2'
|
3660
|
+
device: 'smartphone'
|
3661
|
+
|
3662
|
+
- regex: 'FreeTab[ _\-]?([^/;]+)? Build'
|
3663
|
+
model: 'FreeTab $1'
|
3664
|
+
- regex: 'FreeTab[ _\-]?((?!Build)[^);/ ]+)?'
|
3665
|
+
model: 'FreeTab $1'
|
3666
|
+
- regex: 'FreeWay Tab[ _\-]?([^/;]+) Build'
|
3667
|
+
model: 'FreeWay Tab $1'
|
3668
|
+
- regex: 'FreeWay Tab[ _\-]?((?!Build)[^);/ ]+)'
|
3669
|
+
model: 'FreeWay Tab $1'
|
2647
3670
|
|
2648
3671
|
# Mofut
|
2649
3672
|
Mofut:
|
@@ -2657,7 +3680,7 @@ Mofut:
|
|
2657
3680
|
|
2658
3681
|
# motorola
|
2659
3682
|
Motorola:
|
2660
|
-
regex: 'MOT|(?<!AN)DROID ?(?:Build|[a-z0-9]+)|portalmmm/2.0 (?:E378i|L6|L7|v3)|XOOM [^;/]*Build|(?:XT|MZ|MB|ME)[0-9]{3,4}[a-z]?(?:\(Defy\))?(?: Build|\))'
|
3683
|
+
regex: 'MOT|(?<!AN)DROID ?(?:Build|[a-z0-9]+)|portalmmm/2.0 (?:E378i|L6|L7|v3)|XOOM [^;/]*Build|(?:XT|MZ|MB|ME)[0-9]{3,4}[a-z]?(?:\(Defy\)|-0[1-3])?(?: Build|\))'
|
2661
3684
|
device: 'smartphone'
|
2662
3685
|
models:
|
2663
3686
|
# Explicit feature phone models
|
@@ -2666,6 +3689,8 @@ Motorola:
|
|
2666
3689
|
device: 'feature phone'
|
2667
3690
|
|
2668
3691
|
# Explicit smartphone models
|
3692
|
+
- regex: 'Moto G'
|
3693
|
+
model: 'Moto G'
|
2669
3694
|
- regex: '(?:MOT-|Motorola-)?XT300'
|
2670
3695
|
model: 'Spice'
|
2671
3696
|
- regex: '(?:MOT-|Motorola-)?XT30[35]'
|
@@ -2740,6 +3765,8 @@ Motorola:
|
|
2740
3765
|
model: 'Moto X'
|
2741
3766
|
- regex: '(?:MOT-|Motorola-)?XT1080'
|
2742
3767
|
model: 'Droid Ultra'
|
3768
|
+
- regex: '(?:MOT-|Motorola-)?XT1635(?:-0[1-3])?'
|
3769
|
+
model: 'Moto Z Play'
|
2743
3770
|
|
2744
3771
|
- regex: 'Motorola[ _\-]([a-z0-9]+)'
|
2745
3772
|
model: '$1'
|
@@ -2766,13 +3793,21 @@ Motorola:
|
|
2766
3793
|
|
2767
3794
|
# myphone
|
2768
3795
|
MyPhone:
|
2769
|
-
regex: '(?:MyPhone|MyPad) [^;/]+ Build'
|
3796
|
+
regex: '(?:MyPhone|MyPad|MyTab)[ _][^;/]+ Build|Cube_LTE|myTab10II'
|
2770
3797
|
device: 'smartphone'
|
2771
3798
|
models:
|
2772
|
-
- regex: 'MyPad ([^;/]+) Build'
|
3799
|
+
- regex: 'MyPad[ _]([^;/]+) Build'
|
2773
3800
|
model: 'MyPad $1'
|
2774
3801
|
device: 'tablet'
|
2775
|
-
- regex: '
|
3802
|
+
- regex: 'MyTab[ _]([^;/]+) Build'
|
3803
|
+
model: 'MyTab $1'
|
3804
|
+
device: 'tablet'
|
3805
|
+
- regex: 'myTab10II'
|
3806
|
+
model: 'MyTab 10 II'
|
3807
|
+
device: 'tablet'
|
3808
|
+
- regex: 'Cube_LTE'
|
3809
|
+
model: 'Cube LTE'
|
3810
|
+
- regex: 'MyPhone[ _]([^;/]+) Build'
|
2776
3811
|
model: '$1'
|
2777
3812
|
|
2778
3813
|
# M.T.T.
|
@@ -2798,6 +3833,16 @@ NEC:
|
|
2798
3833
|
- regex: '(?:portalmmm|o2imode)/2\.0[ ,](N[a-z0-9]+)'
|
2799
3834
|
model: '$1'
|
2800
3835
|
|
3836
|
+
# Neffos
|
3837
|
+
Neffos:
|
3838
|
+
regex: 'Neffos'
|
3839
|
+
device: 'smartphone'
|
3840
|
+
models:
|
3841
|
+
- regex: 'Neffos ([^/;]+) Build'
|
3842
|
+
model: '$1'
|
3843
|
+
- regex: 'Neffos ([^/;]+)/'
|
3844
|
+
model: '$1'
|
3845
|
+
|
2801
3846
|
# newgen
|
2802
3847
|
Newgen:
|
2803
3848
|
regex: 'NEWGEN\-([a-z0-9]+)'
|
@@ -2867,6 +3912,16 @@ Noain:
|
|
2867
3912
|
- regex: 'NOAIN[ _-]([^;/)]+)[;/)]'
|
2868
3913
|
model: '$1'
|
2869
3914
|
|
3915
|
+
# Noblex
|
3916
|
+
Noblex:
|
3917
|
+
regex: 'Noblex|NBX-'
|
3918
|
+
device: 'smartphone'
|
3919
|
+
models:
|
3920
|
+
- regex: '(?:Noblex|NBX)[ _-]([^;/]+) Build'
|
3921
|
+
model: '$1'
|
3922
|
+
- regex: '(?:Noblex|NBX)[ _-]([^;/)]+)[;/)]'
|
3923
|
+
model: '$1'
|
3924
|
+
|
2870
3925
|
# Nomi
|
2871
3926
|
Nomi:
|
2872
3927
|
regex: 'Nomi[ _-]'
|
@@ -2877,6 +3932,23 @@ Nomi:
|
|
2877
3932
|
- regex: 'Nomi[ _-]([^;/)]+)[;/)]'
|
2878
3933
|
model: '$1'
|
2879
3934
|
|
3935
|
+
# Nous
|
3936
|
+
Nous:
|
3937
|
+
regex: 'NS([356]|500[346]|5511) Build'
|
3938
|
+
device: 'smartphone'
|
3939
|
+
models:
|
3940
|
+
- regex: '(NS[0-9]{1,4}) Build'
|
3941
|
+
model: '$1'
|
3942
|
+
|
3943
|
+
# Nvidia
|
3944
|
+
Nvidia:
|
3945
|
+
regex: '(SHIELD Tablet K1) Build'
|
3946
|
+
device: 'tablet'
|
3947
|
+
models:
|
3948
|
+
- regex: '(SHIELD Tablet K1) Build'
|
3949
|
+
model: '$1'
|
3950
|
+
|
3951
|
+
|
2880
3952
|
# o2
|
2881
3953
|
O2:
|
2882
3954
|
regex: 'Xda|O2[ \-]|COCOON'
|
@@ -2891,6 +3963,58 @@ O2:
|
|
2891
3963
|
- regex: 'O2-([a-z0-9]+)'
|
2892
3964
|
model: '$1'
|
2893
3965
|
|
3966
|
+
# Odys
|
3967
|
+
Odys:
|
3968
|
+
regex: 'ODYS[ _-]|IEOS[_ ]([^/;]+)|NOON(?:_PRO)? Build|SPACE10_(?:PLUS|PRO)_3G|THOR_?10|TAO_X10|RAPID_?(?:10|7)_?LTE|MAVEN_?10_|CONNECT[78]|ELEMENT10_PLUS_3G|XELIO[_0-9P]'
|
3969
|
+
device: 'tablet'
|
3970
|
+
models:
|
3971
|
+
- regex: 'XELIOPHONETAB3'
|
3972
|
+
model: 'Xelio Phonetab 3'
|
3973
|
+
- regex: 'XELIO_NEXT_10_PLUS_3G'
|
3974
|
+
model: 'Xelio Next 10 Plus 3G'
|
3975
|
+
- regex: 'XELIO_PHONE_TAB7_3G'
|
3976
|
+
model: 'Xelio Phonetab 7 3G'
|
3977
|
+
- regex: 'XELIO10EXTREME'
|
3978
|
+
model: 'Xelio 10 Xtreme'
|
3979
|
+
- regex: 'XELIO10_PLUS_3G'
|
3980
|
+
model: 'Xelio 10 Plus 3G'
|
3981
|
+
- regex: 'ELEMENT10_PLUS_3G'
|
3982
|
+
model: 'Element 10 Plus 3G'
|
3983
|
+
- regex: 'CONNECT8PLUS'
|
3984
|
+
model: 'Connect 8 Plus'
|
3985
|
+
- regex: 'CONNECT7PRO'
|
3986
|
+
model: 'Connect 7 Pro'
|
3987
|
+
- regex: 'MAVEN_?10_PRO_PLUS_3G'
|
3988
|
+
model: 'Maven 10 Pro Plus 3G'
|
3989
|
+
- regex: 'MAVEN_?10_?PLUS'
|
3990
|
+
model: 'Maven 10 Plus'
|
3991
|
+
- regex: 'MAVEN_?10_?PRO'
|
3992
|
+
model: 'Maven 10 Pro'
|
3993
|
+
- regex: 'MAVEN_?10_?HD'
|
3994
|
+
model: 'Maven 10 HD'
|
3995
|
+
- regex: 'RAPID_?7_?LTE'
|
3996
|
+
model: 'Rapid 7 LTE'
|
3997
|
+
- regex: 'RAPID_?10_?LTE'
|
3998
|
+
model: 'Rapid 10 LTE'
|
3999
|
+
- regex: 'TAO_X10'
|
4000
|
+
model: 'Tao X10'
|
4001
|
+
- regex: 'SPACE10_PLUS_3G'
|
4002
|
+
model: 'Space 10 Plus 3G'
|
4003
|
+
- regex: 'SPACE10_PRO_3G'
|
4004
|
+
model: 'Space 10 Pro 3G'
|
4005
|
+
- regex: 'THOR_?10 Build'
|
4006
|
+
model: 'Thor 10'
|
4007
|
+
- regex: 'THOR_?10_PLUS_3G'
|
4008
|
+
model: 'Thor 10 Plus 3G'
|
4009
|
+
- regex: 'IEOS[ _]([^/;]+) Build'
|
4010
|
+
model: 'Ieos $1'
|
4011
|
+
- regex: '(?:ODYS[ _-])?NOON Build'
|
4012
|
+
model: 'Noon'
|
4013
|
+
- regex: '(?:ODYS[ _-])?NOON_PRO Build'
|
4014
|
+
model: 'Noon Pro'
|
4015
|
+
- regex: 'Odys[ _-]([^/;]+) Build'
|
4016
|
+
model: '$1'
|
4017
|
+
|
2894
4018
|
# onda
|
2895
4019
|
Onda:
|
2896
4020
|
regex: 'Onda'
|
@@ -2906,9 +4030,29 @@ Onda:
|
|
2906
4030
|
- regex: 'Onda ([a-z0-9]+)'
|
2907
4031
|
model: '$1'
|
2908
4032
|
|
4033
|
+
# OnePlus
|
4034
|
+
OnePlus:
|
4035
|
+
regex: '(?:du_)?ONEPLUS|(?:A0001|A2001|A2003|A2005|A3003|A3000|A3010|A5000|E1003) Build'
|
4036
|
+
device: 'smartphone'
|
4037
|
+
models:
|
4038
|
+
- regex: 'A0001'
|
4039
|
+
model: 'One'
|
4040
|
+
- regex: 'A2001|A2003|A2005'
|
4041
|
+
model: '2'
|
4042
|
+
- regex: 'E1003'
|
4043
|
+
model: 'X'
|
4044
|
+
- regex: 'A3003|A3000'
|
4045
|
+
model: '3'
|
4046
|
+
- regex: 'A3010'
|
4047
|
+
model: '3T'
|
4048
|
+
- regex: 'A5000'
|
4049
|
+
model: '5'
|
4050
|
+
- regex: '(?:du_)?ONEPLUS ?([^;/]+) Build'
|
4051
|
+
model: '$1'
|
4052
|
+
|
2909
4053
|
# oppo
|
2910
4054
|
OPPO:
|
2911
|
-
regex: '(?:OB-)?OPPO[ _]?([a-z0-9]+)|N1T|(?:X90[07][
|
4055
|
+
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|A37f[);/ ]|CPH[0-9]{4}'
|
2912
4056
|
device: 'smartphone'
|
2913
4057
|
models:
|
2914
4058
|
- regex: '(?:OPPO[ _]?)?U707T?[);/ ]'
|
@@ -2919,6 +4063,8 @@ OPPO:
|
|
2919
4063
|
model: 'Find 7'
|
2920
4064
|
- regex: '(?:OPPO[ _]?)?X900[067][);/ ]'
|
2921
4065
|
model: 'Find 7a'
|
4066
|
+
- regex: '(?:OPPO[ _]?)?X9009[);/ ]'
|
4067
|
+
model: 'F1 Plus'
|
2922
4068
|
- regex: '(?:OPPO[ _]?)?R8006[);/ ]'
|
2923
4069
|
model: 'R1L'
|
2924
4070
|
- regex: '(?:OPPO[ _]?)?R800[07][);/ ]'
|
@@ -2947,6 +4093,32 @@ OPPO:
|
|
2947
4093
|
model: 'N3'
|
2948
4094
|
- regex: '(?:OPPO[ _]?)?N5117[);/ ]'
|
2949
4095
|
model: 'N1 Mini'
|
4096
|
+
- regex: '(?:OPPO[ _]?)?CPH1609[);/ ]'
|
4097
|
+
model: 'F3'
|
4098
|
+
- regex: '(?:OPPO[ _]?)?CPH1707[);/ ]'
|
4099
|
+
model: 'R11'
|
4100
|
+
- regex: '(?:OPPO[ _]?)?CPH1715[);/ ]'
|
4101
|
+
model: 'A77'
|
4102
|
+
- regex: '(?:OPPO[ _]?)?CPH1717[);/ ]'
|
4103
|
+
model: 'A71'
|
4104
|
+
- regex: '(?:OPPO[ _]?)?CPH1719[);/ ]'
|
4105
|
+
model: 'R11s'
|
4106
|
+
- regex: '(?:OPPO[ _]?)?CPH1721[);/ ]'
|
4107
|
+
model: 'R11s Plus'
|
4108
|
+
- regex: '(?:OPPO[ _]?)?CPH172[37][);/ ]'
|
4109
|
+
model: 'F5'
|
4110
|
+
- regex: '(?:OPPO[ _]?)?CPH1725[);/ ]'
|
4111
|
+
model: 'F5 Youth'
|
4112
|
+
- regex: '(?:OPPO[ _]?)?CPH1607[);/ ]'
|
4113
|
+
model: 'R9s'
|
4114
|
+
- regex: '(?:OPPO[ _]?)?CPH1611[);/ ]'
|
4115
|
+
model: 'R9s Plus'
|
4116
|
+
- regex: '(?:OPPO[ _]?)?CPH1613[);/ ]'
|
4117
|
+
model: 'F3 Plus'
|
4118
|
+
- regex: '(?:OPPO[ _]?)?CPH1701[);/ ]'
|
4119
|
+
model: 'A57'
|
4120
|
+
- regex: 'A37f'
|
4121
|
+
model: 'A37f'
|
2950
4122
|
|
2951
4123
|
- regex: 'N1T?[);/ ]'
|
2952
4124
|
model: 'N1T'
|
@@ -2974,16 +4146,22 @@ Opsson:
|
|
2974
4146
|
|
2975
4147
|
# orange
|
2976
4148
|
Orange:
|
2977
|
-
regex: 'SPV[ \-]?([a-z0-9]+)|Orange ([^/;]+) Build|SC/IHD92'
|
4149
|
+
regex: 'SPV[ \-]?([a-z0-9]+)|Orange ([^/;]+) Build|SC/IHD92|FunTab ([^/;]+) Build'
|
2978
4150
|
device: 'smartphone'
|
2979
4151
|
models:
|
4152
|
+
- regex: 'SC/IHD92'
|
4153
|
+
model: 'Livebox Play'
|
4154
|
+
device: 'tv' # set top box
|
4155
|
+
- regex: 'Sego'
|
4156
|
+
model: 'Sego'
|
4157
|
+
device: 'tablet'
|
4158
|
+
- regex: 'FunTab ([^/;]+) Build'
|
4159
|
+
model: 'FunTab $1'
|
4160
|
+
device: 'tablet'
|
2980
4161
|
- regex: 'Orange ([^/;]+) Build'
|
2981
4162
|
model: '$1'
|
2982
4163
|
- regex: 'SPV[ \-]?([a-z0-9]+)'
|
2983
4164
|
model: 'SPV $1'
|
2984
|
-
- regex: 'SC/IHD92'
|
2985
|
-
model: 'Livebox Play'
|
2986
|
-
device: 'tv' # set top box
|
2987
4165
|
|
2988
4166
|
# Ouki
|
2989
4167
|
Ouki:
|
@@ -3001,14 +4179,21 @@ Ouki:
|
|
3001
4179
|
|
3002
4180
|
# Overmax
|
3003
4181
|
Overmax:
|
3004
|
-
regex: 'OV-[a-z]+(?:[
|
4182
|
+
regex: 'OV-[a-z]+(?:[^;(/]*)[();/ ]|Qualcore 1010'
|
3005
4183
|
device: 'tablet'
|
3006
4184
|
models:
|
3007
|
-
- regex: 'OV-
|
3008
|
-
model: '
|
4185
|
+
- regex: 'OV-V10'
|
4186
|
+
model: 'Vertis Yard'
|
3009
4187
|
device: 'smartphone'
|
4188
|
+
- regex: 'OV-Vertis[ _-]([^;/]+) Build'
|
4189
|
+
model: 'Vertis $1'
|
4190
|
+
device: 'smartphone'
|
4191
|
+
|
4192
|
+
- regex: 'Qualcore 1010'
|
4193
|
+
model: 'Qualcore 1010'
|
4194
|
+
device: 'tablet'
|
3010
4195
|
|
3011
|
-
- regex: '(OV-[a-z]+(?:[
|
4196
|
+
- regex: '(OV-[a-z]+(?:[^;(/]*))(?<!Build)[();/ ]'
|
3012
4197
|
model: '$1'
|
3013
4198
|
|
3014
4199
|
# Oysters
|
@@ -3024,9 +4209,13 @@ Oysters:
|
|
3024
4209
|
|
3025
4210
|
# panasonic
|
3026
4211
|
Panasonic:
|
3027
|
-
regex: 'Panasonic|PANATV[0-9]+|Viera/|P902i[);/ ]'
|
4212
|
+
regex: 'Panasonic|PANATV[0-9]+|Viera/|P902i[);/ ]|Eluga[ _]'
|
3028
4213
|
device: 'smartphone'
|
3029
4214
|
models:
|
4215
|
+
- regex: 'Eluga[ _-]([^;/]+) Build'
|
4216
|
+
model: 'Eluga $1'
|
4217
|
+
- regex: 'Eluga[ _-]([^;/]+)[;/)]'
|
4218
|
+
model: 'Eluga $1'
|
3030
4219
|
- regex: 'P902i[);/ ]'
|
3031
4220
|
device: 'feature phone'
|
3032
4221
|
model: 'P902i'
|
@@ -3036,19 +4225,42 @@ Panasonic:
|
|
3036
4225
|
- regex: 'PANATV[0-9]+|Viera/'
|
3037
4226
|
device: 'tv'
|
3038
4227
|
model: 'Smart TV'
|
3039
|
-
- regex: 'Panasonic[ \-]?([a-z0-9]+)'
|
4228
|
+
- regex: 'Panasonic[ _\-]?([a-z0-9]+)'
|
3040
4229
|
model: '$1'
|
3041
4230
|
- regex: 'portalmmm/2.0 (P[a-z0-9]+)'
|
3042
4231
|
model: '$1'
|
3043
4232
|
|
4233
|
+
# Pentagram
|
4234
|
+
Pentagram:
|
4235
|
+
regex: 'Pentagram|Quadra|Monster X5'
|
4236
|
+
device: 'tablet'
|
4237
|
+
models:
|
4238
|
+
- regex: '(?:PENTAGRAM[_ ])?EON[_ ]PRIX'
|
4239
|
+
model: 'Eon Prix'
|
4240
|
+
- regex: 'Quadra 7( UltraSlim)?'
|
4241
|
+
model: 'Quadra 7 UltraSlim'
|
4242
|
+
- regex: 'Monster X5?'
|
4243
|
+
model: 'Monster X5'
|
4244
|
+
device: 'smartphone'
|
4245
|
+
- regex: 'Quadra ?([^);/]*) Build'
|
4246
|
+
model: 'Quadra $1'
|
4247
|
+
- regex: 'Pentagram ?TAB ?([^);/]*) Build'
|
4248
|
+
model: 'Tab $1'
|
4249
|
+
- regex: 'Pentagram ?([^);/]*) Build'
|
4250
|
+
model: '$1'
|
4251
|
+
device: 'smartphone'
|
4252
|
+
|
3044
4253
|
# philips
|
3045
4254
|
Philips:
|
3046
|
-
regex: 'Philips|AND1E[);/ ]|NETTV
|
4255
|
+
regex: 'Philips|AND1E[);/ ]|NETTV/|PI3210G'
|
3047
4256
|
device: 'smartphone'
|
3048
4257
|
models:
|
3049
4258
|
- regex: 'AND1E(?: TV)?[);/ ]'
|
3050
4259
|
model: 'Android TV'
|
3051
4260
|
device: 'tv'
|
4261
|
+
- regex: '(PI3210G)'
|
4262
|
+
model: '$1'
|
4263
|
+
device: 'tablet'
|
3052
4264
|
- regex: 'Philips, BDP([0-9]{4})'
|
3053
4265
|
model: 'Blu-ray Player (BDP$1)'
|
3054
4266
|
device: 'tv'
|
@@ -3057,9 +4269,7 @@ Philips:
|
|
3057
4269
|
device: 'tv'
|
3058
4270
|
- regex: 'Philips-FISIO ([a-z0-9]+)'
|
3059
4271
|
model: 'Fisio $1'
|
3060
|
-
- regex: 'Philips[ ]?([a-z0-9]+)'
|
3061
|
-
model: '$1'
|
3062
|
-
- regex: 'Philips-([a-z0-9\-@]+)'
|
4272
|
+
- regex: 'Philips[ _-]?([a-z0-9\-@]+)'
|
3063
4273
|
model: '$1'
|
3064
4274
|
|
3065
4275
|
# phoneOne
|
@@ -3138,6 +4348,12 @@ Pomp:
|
|
3138
4348
|
- regex: 'POMP[ _-]([^;/)]+)[;/)]'
|
3139
4349
|
model: '$1'
|
3140
4350
|
|
4351
|
+
# PPTV
|
4352
|
+
PPTV:
|
4353
|
+
regex: '(KING 7S?)'
|
4354
|
+
device: 'smartphone'
|
4355
|
+
model: '$1'
|
4356
|
+
|
3141
4357
|
# ProScan
|
3142
4358
|
ProScan:
|
3143
4359
|
regex: 'PLT([^;/]+) Build'
|
@@ -3188,7 +4404,7 @@ Siemens:
|
|
3188
4404
|
|
3189
4405
|
# Samsung
|
3190
4406
|
Samsung:
|
3191
|
-
regex: 'SAMSUNG|Maple |SC-(?:
|
4407
|
+
regex: 'SAMSUNG|Maple |SC-(?:02[CH]|04E|01F)|N[57]100|N5110|N9100|S(?:CH|GH|PH|EC|AM|HV|HW|M)-|SMART-TV|GT-|Galaxy|(?:portalmmm|o2imode)/2\.0 [SZ]|sam[rua]|vollo Vi86[);/ ]|(?:OTV-)?SMT-E5015|ISW11SC'
|
3192
4408
|
device: 'smartphone'
|
3193
4409
|
models:
|
3194
4410
|
# explicit tv models
|
@@ -3305,9 +4521,12 @@ Samsung:
|
|
3305
4521
|
- regex: '(?:SAMSUNG-)?SM-T315'
|
3306
4522
|
device: 'tablet'
|
3307
4523
|
model: 'GALAXY Tab 3 8.0" LTE'
|
4524
|
+
- regex: '(?:SAMSUNG-)?SM-T330'
|
4525
|
+
device: 'tablet'
|
4526
|
+
model: 'GALAXY Tab 4 8.0" WiFi'
|
3308
4527
|
- regex: '(?:SAMSUNG-)?SM-T335'
|
3309
4528
|
device: 'tablet'
|
3310
|
-
model: 'GALAXY Tab 8.0" LTE'
|
4529
|
+
model: 'GALAXY Tab 4 8.0" LTE'
|
3311
4530
|
- regex: '(?:SAMSUNG-)?SM-T520'
|
3312
4531
|
device: 'tablet'
|
3313
4532
|
model: 'GALAXY TabPRO 10.1" WiFi'
|
@@ -3338,9 +4557,27 @@ Samsung:
|
|
3338
4557
|
- regex: '(?:SAMSUNG-)?SM-T805'
|
3339
4558
|
device: 'tablet'
|
3340
4559
|
model: 'GALAXY Tab S 10.5" LTE'
|
4560
|
+
- regex: '(?:SAMSUNG-)?SM-T813'
|
4561
|
+
device: 'tablet'
|
4562
|
+
model: 'GALAXY Tab S2 9.7" WiFi'
|
4563
|
+
- regex: '(?:SAMSUNG-)?SM-T815'
|
4564
|
+
device: 'tablet'
|
4565
|
+
model: 'GALAXY Tab S2 9.7" LTE'
|
3341
4566
|
- regex: '(?:SAMSUNG-)?SM-T900'
|
3342
4567
|
device: 'tablet'
|
3343
4568
|
model: 'GALAXY TabPRO 12.2" WiFi'
|
4569
|
+
- regex: '(?:SAMSUNG-)?SM-T550'
|
4570
|
+
device: 'tablet'
|
4571
|
+
model: 'GALAXY Tab A 9.7" WiFi'
|
4572
|
+
- regex: '(?:SAMSUNG-)?SM-T555'
|
4573
|
+
device: 'tablet'
|
4574
|
+
model: 'GALAXY Tab A 9.7" LTE'
|
4575
|
+
- regex: '(?:SAMSUNG-)?SM-T580'
|
4576
|
+
device: 'tablet'
|
4577
|
+
model: 'GALAXY Tab A 10.1" WiFi (2016)'
|
4578
|
+
- regex: '(?:SAMSUNG-)?SM-T560'
|
4579
|
+
device: 'tablet'
|
4580
|
+
model: 'GALAXY Tab E 9.6"'
|
3344
4581
|
|
3345
4582
|
# explicit smartphone models
|
3346
4583
|
- regex: '(?:SAMSUNG-)?GT-B5330'
|
@@ -3399,6 +4636,8 @@ Samsung:
|
|
3399
4636
|
model: 'GALAXY S II Plus'
|
3400
4637
|
- regex: '(?:SAMSUNG-)?(?:GT-I919[05]|SCH-I435)'
|
3401
4638
|
model: 'GALAXY S4 mini'
|
4639
|
+
- regex: '(?:SAMSUNG-)?GT-I9515'
|
4640
|
+
model: 'GALAXY S4 Value Edition'
|
3402
4641
|
- regex: '(?:SAMSUNG-)?GT-I9295'
|
3403
4642
|
model: 'GALAXY S4 ACTIVE'
|
3404
4643
|
- regex: '(?:SAMSUNG-)?(?:GT-I9300|SCH-I535|SCH-L710)'
|
@@ -3441,6 +4680,24 @@ Samsung:
|
|
3441
4680
|
model: 'GALAXY DUOS 2'
|
3442
4681
|
- regex: '(?:SAMSUNG-)?GT-S7710'
|
3443
4682
|
model: 'GALAXY Xcover 2'
|
4683
|
+
- regex: '(?:SAMSUNG-)?GT-S8500'
|
4684
|
+
model: 'Wave'
|
4685
|
+
- regex: '(?:SAMSUNG-)?GT-S8530'
|
4686
|
+
model: 'Wave II'
|
4687
|
+
- regex: '(?:SAMSUNG-)?GT-S8600'
|
4688
|
+
model: 'Wave 3'
|
4689
|
+
- regex: '(?:SAMSUNG-)?GT-S5380'
|
4690
|
+
model: 'Wave Y'
|
4691
|
+
- regex: '(?:SAMSUNG-)?GT-S7250'
|
4692
|
+
model: 'Wave M'
|
4693
|
+
- regex: '(?:SAMSUNG-)?GT-S5250'
|
4694
|
+
model: 'Wave 525'
|
4695
|
+
- regex: '(?:SAMSUNG-)?GT-S5330'
|
4696
|
+
model: 'Wave 533'
|
4697
|
+
- regex: '(?:SAMSUNG-)?GT-S5780'
|
4698
|
+
model: 'Wave 578'
|
4699
|
+
- regex: '(?:SAMSUNG-)?GT-S7230'
|
4700
|
+
model: 'Wave 723'
|
3444
4701
|
- regex: '(?:SAMSUNG-)?SM-C101'
|
3445
4702
|
model: 'GALAXY S4 zoom'
|
3446
4703
|
- regex: '(?:SAMSUNG-)?SM-C115'
|
@@ -3451,12 +4708,34 @@ Samsung:
|
|
3451
4708
|
model: 'GALAXY CORE LTE'
|
3452
4709
|
- regex: '(?:SAMSUNG-)?SM-G3815'
|
3453
4710
|
model: 'GALAXY EXPRESS II'
|
4711
|
+
- regex: '(?:SAMSUNG-)?SM-G388F'
|
4712
|
+
model: 'GALAXY Xcover 3'
|
4713
|
+
- regex: '(?:SAMSUNG-)?SM-G390F'
|
4714
|
+
model: 'GALAXY Xcover 4'
|
3454
4715
|
- regex: '(?:SAMSUNG-)?SM-G800'
|
3455
4716
|
model: 'GALAXY S5 mini'
|
3456
4717
|
- regex: '(?:SAMSUNG-)?SM-G9009D'
|
3457
4718
|
model: 'GALAXY S5 Dual-SIM'
|
3458
4719
|
- regex: '(?:SAMSUNG-)?SM-G900|GALAXY-S5'
|
3459
4720
|
model: 'GALAXY S5'
|
4721
|
+
- regex: '(?:SAMSUNG-)?SM-G901F'
|
4722
|
+
model: 'GALAXY S5 LTE+'
|
4723
|
+
- regex: '(?:SAMSUNG-)?SM-G903F'
|
4724
|
+
model: 'GALAXY S5 Neo'
|
4725
|
+
- regex: '(?:SAMSUNG-)?SM-G920F'
|
4726
|
+
model: 'GALAXY S6'
|
4727
|
+
- regex: '(?:SAMSUNG-)?SM-G925F'
|
4728
|
+
model: 'GALAXY S6 edge'
|
4729
|
+
- regex: '(?:SAMSUNG-)?SM-G928F'
|
4730
|
+
model: 'GALAXY S6 edge+'
|
4731
|
+
- regex: '(?:SAMSUNG-)?SM-G930F'
|
4732
|
+
model: 'GALAXY S7'
|
4733
|
+
- regex: '(?:SAMSUNG-)?SM-G935F|SC-02H'
|
4734
|
+
model: 'GALAXY S7 edge'
|
4735
|
+
- regex: '(?:SAMSUNG-)?SM-G950F'
|
4736
|
+
model: 'GALAXY S8'
|
4737
|
+
- regex: '(?:SAMSUNG-)?SM-G955F'
|
4738
|
+
model: 'GALAXY S8+'
|
3460
4739
|
- regex: '(?:SAMSUNG-)?SCH-I200'
|
3461
4740
|
model: 'GALAXY Stellar'
|
3462
4741
|
- regex: '(?:SAMSUNG-)?SCH-I829'
|
@@ -3467,6 +4746,28 @@ Samsung:
|
|
3467
4746
|
model: 'GALAXY Centura'
|
3468
4747
|
- regex: 'vollo Vi86[);/ ]'
|
3469
4748
|
model: 'Vollo Vi86'
|
4749
|
+
- regex: '(?:SAMSUNG-)?SM-A300FU'
|
4750
|
+
model: 'GALAXY A3 (2015)'
|
4751
|
+
- regex: '(?:SAMSUNG-)?SM-A310F'
|
4752
|
+
model: 'GALAXY A3 (2016)'
|
4753
|
+
- regex: '(?:SAMSUNG-)?SM-A320FL'
|
4754
|
+
model: 'GALAXY A3 (2017)'
|
4755
|
+
- regex: '(?:SAMSUNG-)?SM-A500FU'
|
4756
|
+
model: 'GALAXY A5 (2015)'
|
4757
|
+
- regex: '(?:SAMSUNG-)?SM-A510F'
|
4758
|
+
model: 'GALAXY A5 (2016)'
|
4759
|
+
- regex: '(?:SAMSUNG-)?SM-A520F'
|
4760
|
+
model: 'GALAXY A5 (2017)'
|
4761
|
+
- regex: '(?:SAMSUNG-)?GT-I9301I'
|
4762
|
+
model: 'GALAXY S III Neo'
|
4763
|
+
- regex: '(?:SAMSUNG-)?SM-J320FN?'
|
4764
|
+
model: 'GALAXY J3 (2016)'
|
4765
|
+
- regex: '(?:SAMSUNG-)?SM-J500FN'
|
4766
|
+
model: 'GALAXY J5 (2015)'
|
4767
|
+
- regex: '(?:SAMSUNG-)?SM-J510FN'
|
4768
|
+
model: 'GALAXY J5 (2016)'
|
4769
|
+
- regex: '(?:SAMSUNG-)?SM-G850F'
|
4770
|
+
model: 'GALAXY Alpha'
|
3470
4771
|
|
3471
4772
|
# explicit phablet models
|
3472
4773
|
- regex: '(?:SAMSUNG-)?GT-I9060'
|
@@ -3511,12 +4812,24 @@ Samsung:
|
|
3511
4812
|
- regex: '(?:SAMSUNG-)?SM-N915'
|
3512
4813
|
model: 'GALAXY Note 4 Edge'
|
3513
4814
|
device: 'phablet'
|
4815
|
+
- regex: '(?:SAMSUNG-)?SM-N920[0CIST]'
|
4816
|
+
model: 'GALAXY Note 5'
|
4817
|
+
device: 'phablet'
|
4818
|
+
- regex: '(?:SAMSUNG-)?SM-N9208'
|
4819
|
+
model: 'GALAXY Note 5 Duos'
|
4820
|
+
device: 'phablet'
|
3514
4821
|
- regex: '(?:SAMSUNG-)?GT-I915[028]'
|
3515
4822
|
model: 'GALAXY Mega 5.8'
|
3516
4823
|
device: 'phablet'
|
3517
4824
|
- regex: '(?:SAMSUNG-)?GT-I920[05]'
|
3518
4825
|
model: 'GALAXY Mega 6.3'
|
3519
4826
|
device: 'phablet'
|
4827
|
+
- regex: '(?:SAMSUNG-)?SM-N930F'
|
4828
|
+
model: 'GALAXY Note 7'
|
4829
|
+
device: 'phablet'
|
4830
|
+
- regex: '(?:SAMSUNG[- ])?SM-N950'
|
4831
|
+
model: 'GALAXY Note 8'
|
4832
|
+
device: 'phablet'
|
3520
4833
|
|
3521
4834
|
# explicit feature phones
|
3522
4835
|
- regex: '(?:SAMSUNG-)?GT-E2152'
|
@@ -3645,6 +4958,34 @@ Smartfren:
|
|
3645
4958
|
model: '$1'
|
3646
4959
|
device: 'tablet'
|
3647
4960
|
|
4961
|
+
# Smartisan
|
4962
|
+
Smartisan:
|
4963
|
+
regex: 'SM(?:70[15]|801|901|919)|OD10[35]|YQ60[1357][ /;\)]'
|
4964
|
+
device: 'smartphone'
|
4965
|
+
models:
|
4966
|
+
- regex: 'SM70[15]'
|
4967
|
+
model: 'T1'
|
4968
|
+
- regex: 'SM801'
|
4969
|
+
model: 'T2'
|
4970
|
+
- regex: 'SM901'
|
4971
|
+
model: 'M1'
|
4972
|
+
- regex: 'SM919'
|
4973
|
+
model: 'M1L'
|
4974
|
+
- regex: 'YQ60[1357]'
|
4975
|
+
model: 'U1'
|
4976
|
+
- regex: 'OD10[35]'
|
4977
|
+
model: 'Pro'
|
4978
|
+
|
4979
|
+
# STK
|
4980
|
+
STK:
|
4981
|
+
regex: 'STK[_ ]'
|
4982
|
+
device: 'smartphone'
|
4983
|
+
models:
|
4984
|
+
- regex: 'STK[_ ]([^/;]+) Build'
|
4985
|
+
model: '$1'
|
4986
|
+
- regex: 'STK[_ ]([a-z0-9]+)'
|
4987
|
+
model: '$1'
|
4988
|
+
|
3648
4989
|
# Stonex
|
3649
4990
|
Stonex:
|
3650
4991
|
regex: 'STX[ -]([^;/]+)'
|
@@ -3661,6 +5002,15 @@ SuperSonic:
|
|
3661
5002
|
device: 'tablet'
|
3662
5003
|
model: '$1'
|
3663
5004
|
|
5005
|
+
# Supra
|
5006
|
+
Supra:
|
5007
|
+
regex: 'SUPRA ([^;/]+) Build'
|
5008
|
+
device: 'smartphone'
|
5009
|
+
models:
|
5010
|
+
- regex: 'SUPRA ([^;/]+) Build'
|
5011
|
+
device: 'tablet'
|
5012
|
+
model: '$1'
|
5013
|
+
|
3664
5014
|
# Sumvision
|
3665
5015
|
Sumvision:
|
3666
5016
|
regex: '(Cyclone [^/;]+) Build'
|
@@ -3783,12 +5133,17 @@ Positivo:
|
|
3783
5133
|
|
3784
5134
|
# Prestigio
|
3785
5135
|
Prestigio:
|
3786
|
-
regex: '(?:PMP|PAP)[0-9]+[a-z0-9_]+[);/ ]'
|
5136
|
+
regex: '(?:PMP|PAP|PMT|PSP)[0-9]+[a-z0-9_]+[);/ ]'
|
3787
5137
|
device: 'tablet'
|
3788
5138
|
models:
|
3789
|
-
- regex: '
|
5139
|
+
- regex: 'PMT3277_3G'
|
5140
|
+
model: 'MultiPad Ranger 7.0 3G'
|
5141
|
+
- regex: 'PMT3287_3G'
|
5142
|
+
model: 'MultiPad Ranger 8.0 3G'
|
5143
|
+
|
5144
|
+
- regex: '(PM[PT][0-9]+[a-z0-9_]+)[);/ ]'
|
3790
5145
|
model: '$1'
|
3791
|
-
- regex: '(PAP[0-9]+[a-z0-9_]+(?: DUO)?)[);/ ]'
|
5146
|
+
- regex: '((?:PAP|PSP)[0-9]+[a-z0-9_]+(?: DUO)?)[);/ ]'
|
3792
5147
|
model: '$1'
|
3793
5148
|
device: 'smartphone'
|
3794
5149
|
|
@@ -3886,10 +5241,12 @@ Spice:
|
|
3886
5241
|
|
3887
5242
|
# Sharp
|
3888
5243
|
Sharp:
|
3889
|
-
regex: 'SHARP|SBM|SH-?[0-9]+[a-z]?[);/ ]|AQUOS'
|
5244
|
+
regex: 'SHARP|SBM|SH-?[0-9]+[a-z]?[);/ ]|AQUOS|506SH'
|
3890
5245
|
device: 'smartphone'
|
3891
5246
|
models:
|
3892
5247
|
# explicit smartphone models
|
5248
|
+
- regex: '506SH'
|
5249
|
+
model: 'Aquos Xx3'
|
3893
5250
|
- regex: 'SH-02E'
|
3894
5251
|
model: 'Aquos Phone Zeta'
|
3895
5252
|
- regex: 'SH06D'
|
@@ -3938,7 +5295,7 @@ Star:
|
|
3938
5295
|
|
3939
5296
|
# Kindle
|
3940
5297
|
Amazon:
|
3941
|
-
regex: 'KF(?:OT|TT|JWI|JWA|
|
5298
|
+
regex: 'KF(?:OT|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|SAW[IA]|GIWI)[);/ ]|Kindle|Silk/\d+\.\d+|Amazon (?:Tate|Jem)|AFT[BM]|SD4930UR'
|
3942
5299
|
device: 'tablet'
|
3943
5300
|
models:
|
3944
5301
|
- regex: 'AFTB'
|
@@ -3947,6 +5304,8 @@ Amazon:
|
|
3947
5304
|
- regex: 'AFTM'
|
3948
5305
|
model: 'Fire TV stick'
|
3949
5306
|
device: 'tv'
|
5307
|
+
- regex: 'KFFOWI[);/ ]'
|
5308
|
+
model: 'Fire 7"'
|
3950
5309
|
- regex: 'KFTT[);/ ]'
|
3951
5310
|
model: 'Kindle Fire HD'
|
3952
5311
|
- regex: 'KFJWI[);/ ]|Amazon Jem'
|
@@ -3967,10 +5326,18 @@ Amazon:
|
|
3967
5326
|
model: 'Fire HD 6'
|
3968
5327
|
- regex: 'KFASWI[);/ ]'
|
3969
5328
|
model: 'Fire HD 7'
|
5329
|
+
- regex: 'KFAUWI[);/ ]'
|
5330
|
+
model: 'Fire HD 7 2017'
|
5331
|
+
- regex: 'KFGIWI[);/ ]'
|
5332
|
+
model: 'Fire HD 8 2016'
|
5333
|
+
- regex: 'KFDOWI[);/ ]'
|
5334
|
+
model: 'Fire HD 8 2017'
|
3970
5335
|
- regex: 'KFSAWI[);/ ]'
|
3971
5336
|
model: 'Fire HDX 8.9'
|
3972
5337
|
- regex: 'KFSAWA[);/ ]'
|
3973
5338
|
model: 'Fire HDX 8.9 4G'
|
5339
|
+
- regex: 'KFTBWI[);/ ]'
|
5340
|
+
model: 'Fire HD 10'
|
3974
5341
|
- regex: 'SD4930UR'
|
3975
5342
|
model: 'Fire Phone'
|
3976
5343
|
device: 'smartphone'
|
@@ -4003,15 +5370,35 @@ T-Mobile:
|
|
4003
5370
|
- regex: 'T-Mobile[ _]([a-z0-9_ ]+)'
|
4004
5371
|
model: '$1'
|
4005
5372
|
|
5373
|
+
# TB Touch
|
5374
|
+
'TB Touch':
|
5375
|
+
regex: 'Ignis [89]'
|
5376
|
+
device: 'tablet'
|
5377
|
+
models:
|
5378
|
+
- regex: 'Ignis ([89])'
|
5379
|
+
model: 'Ignis $1'
|
5380
|
+
|
4006
5381
|
# Tcl
|
4007
5382
|
TCL:
|
4008
|
-
regex: 'TCL[ -][a-z0-9]+|TCL[_ -][^;/]
|
5383
|
+
regex: 'TCL[ -][a-z0-9]+|(TCL[_ -][^;/]+|7040N) Build'
|
4009
5384
|
device: 'smartphone'
|
4010
5385
|
models:
|
4011
5386
|
- regex: 'TCL[_ -]([^;/]+) Build'
|
4012
5387
|
model: '$1'
|
4013
5388
|
- regex: 'TCL[ -]([a-z0-9]+)'
|
4014
5389
|
model: '$1'
|
5390
|
+
- regex: '(7040N)'
|
5391
|
+
model: '$1'
|
5392
|
+
|
5393
|
+
# Teclast
|
5394
|
+
Teclast:
|
5395
|
+
regex: 'Teclast|Tbook'
|
5396
|
+
device: 'tablet'
|
5397
|
+
models:
|
5398
|
+
- regex: 'Tbook[_ -]([^;/]+) Build'
|
5399
|
+
model: 'Tbook $1'
|
5400
|
+
- regex: 'Teclast[_ -]([^;/]+) Build'
|
5401
|
+
model: '$1'
|
4015
5402
|
|
4016
5403
|
# Tecno Mobile
|
4017
5404
|
Tecno Mobile:
|
@@ -4025,9 +5412,13 @@ Tecno Mobile:
|
|
4025
5412
|
|
4026
5413
|
# Tesco
|
4027
5414
|
Tesco:
|
4028
|
-
regex: 'Hudl ([^/;]+) Build'
|
5415
|
+
regex: 'Hudl ([^/;]+) Build|W032i-C3[);/ ]'
|
4029
5416
|
device: 'tablet'
|
4030
|
-
|
5417
|
+
models:
|
5418
|
+
- regex: 'Hudl ([^/;]+) Build'
|
5419
|
+
model: 'Hudl $1'
|
5420
|
+
- regex: 'W032i-C3[);/ ]'
|
5421
|
+
model: 'Op3n Dott'
|
4031
5422
|
|
4032
5423
|
# teXet
|
4033
5424
|
teXet:
|
@@ -4087,6 +5478,14 @@ Toplux:
|
|
4087
5478
|
device: 'feature phone'
|
4088
5479
|
model: '$1'
|
4089
5480
|
|
5481
|
+
# TrekStor
|
5482
|
+
TrekStor:
|
5483
|
+
regex: 'TrekStor ([^/;]+) Build'
|
5484
|
+
device: 'tablet'
|
5485
|
+
models:
|
5486
|
+
- regex: 'TrekStor ([^/;]+) Build'
|
5487
|
+
model: '$1'
|
5488
|
+
|
4090
5489
|
# Trevi
|
4091
5490
|
Trevi:
|
4092
5491
|
regex: 'Trevi[ _]|TAB[ _]10[ _]3G[ _]V16|TAB[ _](7|8)[ _]3G[ _]V8|TAB9 3G|MINITAB 3GV|Phablet[ _](?:4|4\.5|5|5\,3|6)[ _]?[CSQ]|REVERSE[ _]5\.5[ _]?Q'
|
@@ -4146,6 +5545,44 @@ UTStarcom:
|
|
4146
5545
|
device: 'feature phone'
|
4147
5546
|
model: '$1'
|
4148
5547
|
|
5548
|
+
# Ulefone
|
5549
|
+
Ulefone:
|
5550
|
+
regex: 'Ulefone|(Armor(?:[ _]2)?|U00[78][ _]Pro|Be[ _]X|Be[ _]Touch(?:[ _][23])?|Be[ _](?:One|Pure)(?:[ _]Lite)?) Build'
|
5551
|
+
device: 'smartphone'
|
5552
|
+
models:
|
5553
|
+
- regex: 'Be[ _]Touch([ _][23])?'
|
5554
|
+
model: 'Be Touch$1'
|
5555
|
+
- regex: 'Be[ _]Pure[ _]Lite'
|
5556
|
+
model: 'Be Pure Lite'
|
5557
|
+
- regex: 'Be[ _]Pure'
|
5558
|
+
model: 'Be Pure'
|
5559
|
+
- regex: 'Be[ _]One[ _]Lite'
|
5560
|
+
model: 'Be One Lite'
|
5561
|
+
- regex: 'Be[ _]One'
|
5562
|
+
model: 'Be One'
|
5563
|
+
- regex: 'Be[ _]X'
|
5564
|
+
model: 'Be X'
|
5565
|
+
- regex: 'U007 Pro'
|
5566
|
+
model: 'U007 Pro'
|
5567
|
+
- regex: 'U008 Pro'
|
5568
|
+
model: 'U008 Pro'
|
5569
|
+
- regex: 'Armor[ _]2 Build'
|
5570
|
+
model: 'Armor 2'
|
5571
|
+
- regex: 'Armor Build'
|
5572
|
+
model: 'Armor'
|
5573
|
+
- regex: 'Ulefone[ _-]?([^;/]+) Build'
|
5574
|
+
model: '$1'
|
5575
|
+
- regex: 'Ulefone[ _-]?([^;/)]+)[;/)]'
|
5576
|
+
model: '$1'
|
5577
|
+
|
5578
|
+
# UMIDIGI
|
5579
|
+
UMIDIGI:
|
5580
|
+
regex: 'UMI(?:DIGI)?[ _]'
|
5581
|
+
device: 'smartphone'
|
5582
|
+
models:
|
5583
|
+
- regex: 'UMI(?:DIGI)?[ _]([^/;]+) Build'
|
5584
|
+
model: '$1'
|
5585
|
+
|
4149
5586
|
# Uniscope
|
4150
5587
|
Uniscope:
|
4151
5588
|
regex: 'Uniscope'
|
@@ -4169,6 +5606,9 @@ ViewSonic:
|
|
4169
5606
|
regex: 'ViewSonic|VSD[0-9]+[);/ ]|ViewPad|ViewPhone'
|
4170
5607
|
device: 'smart display'
|
4171
5608
|
models:
|
5609
|
+
- regex: '(?:ViewSonic-)?V500[);/ ]'
|
5610
|
+
model: 'V500'
|
5611
|
+
device: 'smartphone'
|
4172
5612
|
- regex: '(?:ViewSonic-)?ViewPhone ?([^;/]+) Build'
|
4173
5613
|
model: 'ViewPhone $1'
|
4174
5614
|
device: 'smartphone'
|
@@ -4202,6 +5642,14 @@ Vertu:
|
|
4202
5642
|
device: 'feature phone'
|
4203
5643
|
model: '$1'
|
4204
5644
|
|
5645
|
+
# Verykool
|
5646
|
+
Verykool:
|
5647
|
+
regex: 'verykool'
|
5648
|
+
device: 'smartphone'
|
5649
|
+
models:
|
5650
|
+
- regex: 'verykool[ _]?([^/;]+) Build'
|
5651
|
+
model: '$1'
|
5652
|
+
|
4205
5653
|
# Videocon
|
4206
5654
|
Videocon:
|
4207
5655
|
regex: 'Videocon[_ \-]|VT75C'
|
@@ -4214,9 +5662,27 @@ Videocon:
|
|
4214
5662
|
|
4215
5663
|
# Vodafone
|
4216
5664
|
Vodafone:
|
4217
|
-
regex: 'Vodafone[ _-]|Smart ?Tab ?(?:III? ?)?(?:|4G|7|10)[);/ -]|VodafoneSmartChat'
|
4218
|
-
device: 'smartphone'
|
4219
|
-
models:
|
5665
|
+
regex: 'Vodafone[ _-]|Smart ?Tab ?(?:III? ?)?(?:|4G|7|10)[);/ -]|VodafoneSmartChat|VFD[ _][0-9]+[;/) ]'
|
5666
|
+
device: 'smartphone'
|
5667
|
+
models:
|
5668
|
+
- regex: 'VFD 100'
|
5669
|
+
model: 'Smart Mini'
|
5670
|
+
- regex: 'VFD 200'
|
5671
|
+
model: 'Smart First 7'
|
5672
|
+
- regex: 'VFD 300'
|
5673
|
+
model: 'Smart Mini 7'
|
5674
|
+
- regex: 'VFD 50[02]'
|
5675
|
+
model: 'Smart Turbo 7'
|
5676
|
+
- regex: 'VFD 51[013]'
|
5677
|
+
model: 'Smart E8'
|
5678
|
+
- regex: 'VFD 600'
|
5679
|
+
model: 'Smart Prime 7'
|
5680
|
+
- regex: 'VFD 610'
|
5681
|
+
model: 'Smart N8'
|
5682
|
+
- regex: 'VFD 700'
|
5683
|
+
model: 'Smart Ultra 7'
|
5684
|
+
- regex: 'VFD 900'
|
5685
|
+
model: 'Smart Platinum 7'
|
4220
5686
|
- regex: 'Vodafone[ _]875[);/ ]'
|
4221
5687
|
model: 'Smart Mini' # Alcatel
|
4222
5688
|
- regex: 'Vodafone[ _]975N?[);/ ]'
|
@@ -4231,6 +5697,15 @@ Vodafone:
|
|
4231
5697
|
model: 'Smart Chat'
|
4232
5698
|
|
4233
5699
|
# explicit table models
|
5700
|
+
- regex: 'VFD 1100'
|
5701
|
+
device: 'tablet'
|
5702
|
+
model: 'Tab Mini 7'
|
5703
|
+
- regex: 'VFD 1300'
|
5704
|
+
device: 'tablet'
|
5705
|
+
model: 'Smart Tab N8'
|
5706
|
+
- regex: 'VFD 1400'
|
5707
|
+
device: 'tablet'
|
5708
|
+
model: 'Tab Prime 7'
|
4234
5709
|
- regex: 'Smart ?Tab ?3G'
|
4235
5710
|
device: 'tablet'
|
4236
5711
|
model: 'Smart Tab 3G'
|
@@ -4256,6 +5731,8 @@ Vodafone:
|
|
4256
5731
|
model: 'Smart Tab III 10' # Lenovo
|
4257
5732
|
device: 'tablet'
|
4258
5733
|
|
5734
|
+
- regex: 'VFD[ _]([0-9]+)[;/) ]'
|
5735
|
+
model: 'VFD $1'
|
4259
5736
|
- regex: 'Vodafone[ _-]([^;/]+) Build'
|
4260
5737
|
model: '$1'
|
4261
5738
|
- regex: 'Vodafone[ _-]([a-z0-9_-]+)'
|
@@ -4325,16 +5802,16 @@ Wexler:
|
|
4325
5802
|
|
4326
5803
|
# Wiko
|
4327
5804
|
Wiko:
|
4328
|
-
regex: '(?:WIKO-)?CINK_[a-z0-9_]+|(?:WIKO-)?HIGHWAY_[a-z0-9_]+|(?:WIKO-)?(?:Cink
|
5805
|
+
regex: '(?:WIKO-)?CINK_[a-z0-9_]+|(?:WIKO-)?HIGHWAY_[a-z0-9_]+|(?:WIKO-)?(?:Cink([^/;]*)|Highway([^/;]*)|Iggy|Stairway|Rainbow ?(Jam|Lite|Up)?|Darkside|Darkmoon|Darkfull|Darknight|Freddy|Jerry[2]?|Sublim|Ozzy|JIMMY|Barry|Birdy|Bloom|Getaway|Goa|Kite|Lenny[234]?(?: Plus)?|Slide|Sunset2?|Sunny[2]?(?: Plus)?|Tommy[2]?|PULP|Wax|Ridge(?: Fab)?)(?: 4G)? Build'
|
4329
5806
|
device: 'smartphone'
|
4330
5807
|
models:
|
4331
5808
|
- regex: '(?:WIKO-)?CINK_([a-z0-9_]+)'
|
4332
5809
|
model: 'Cink $1'
|
4333
|
-
- regex: '(?:Wiko-)?Cink(
|
5810
|
+
- regex: '(?:Wiko-)?Cink([^/;]*) Build'
|
4334
5811
|
model: 'Cink$1'
|
4335
5812
|
- regex: '(?:WIKO-)?HIGHWAY_([a-z0-9_]+)'
|
4336
5813
|
model: 'Highway $1'
|
4337
|
-
- regex: '(?:Wiko-)?Highway(
|
5814
|
+
- regex: '(?:Wiko-)?Highway([^/;]*) Build'
|
4338
5815
|
model: 'Highway$1'
|
4339
5816
|
- regex: '(?:WIKO-)?Iggy Build'
|
4340
5817
|
model: 'Iggy'
|
@@ -4348,8 +5825,8 @@ Wiko:
|
|
4348
5825
|
model: 'Ridge 4G'
|
4349
5826
|
- regex: '(?:WIKO-)?Rainbow Build'
|
4350
5827
|
model: 'Rainbow'
|
4351
|
-
- regex: '(?:WIKO-)?Rainbow
|
4352
|
-
model: 'Rainbow
|
5828
|
+
- regex: '(?:WIKO-)?Rainbow ([^/;]+) Build'
|
5829
|
+
model: 'Rainbow $1'
|
4353
5830
|
- regex: '(?:WIKO-)?Darkside Build'
|
4354
5831
|
model: 'Darkside'
|
4355
5832
|
- regex: '(?:WIKO-)?Darkmoon Build'
|
@@ -4370,20 +5847,58 @@ Wiko:
|
|
4370
5847
|
model: 'Bloom'
|
4371
5848
|
- regex: '(?:WIKO-)?JIMMY Build'
|
4372
5849
|
model: 'Jimmy'
|
5850
|
+
- regex: '(?:WIKO-)?Jerry Build'
|
5851
|
+
model: 'Jerry'
|
5852
|
+
- regex: '(?:WIKO-)?Jerry2 Build'
|
5853
|
+
model: 'Jerry 2'
|
4373
5854
|
- regex: '(?:WIKO-)?Getaway Build'
|
4374
5855
|
model: 'Getaway'
|
4375
5856
|
- regex: '(?:WIKO-)?Goa Build'
|
4376
5857
|
model: 'Goa'
|
5858
|
+
- regex: '(?:WIKO-)?Freddy Build'
|
5859
|
+
model: 'Freddy'
|
4377
5860
|
- regex: '(?:WIKO-)?Kite Build'
|
4378
5861
|
model: 'Kite'
|
4379
5862
|
- regex: '(?:WIKO-)?Lenny Build'
|
4380
5863
|
model: 'Lenny'
|
5864
|
+
- regex: '(?:WIKO-)?Lenny[ -_]?2 Build'
|
5865
|
+
model: 'Lenny 2'
|
5866
|
+
- regex: '(?:WIKO-)?Lenny[ -_]?3 Build'
|
5867
|
+
model: 'Lenny 3'
|
5868
|
+
- regex: '(?:WIKO-)?Lenny[ -_]?4 Build'
|
5869
|
+
model: 'Lenny 4'
|
5870
|
+
- regex: '(?:WIKO-)?Lenny[ -_]?4 Plus Build'
|
5871
|
+
model: 'Lenny 4 Plus'
|
4381
5872
|
- regex: '(?:WIKO-)?Slide Build'
|
4382
5873
|
model: 'Slide'
|
4383
5874
|
- regex: '(?:WIKO-)?Sunset Build'
|
4384
5875
|
model: 'Sunset'
|
5876
|
+
- regex: '(?:WIKO-)?Sunset2 Build'
|
5877
|
+
model: 'Sunset 2'
|
5878
|
+
- regex: '(?:WIKO-)?Sunny Build'
|
5879
|
+
model: 'Sunny'
|
5880
|
+
- regex: '(?:WIKO-)?Sunny2 Build'
|
5881
|
+
model: 'Sunny 2'
|
5882
|
+
- regex: '(?:WIKO-)?Sunny2 Plus Build'
|
5883
|
+
model: 'Sunny 2 Plus'
|
5884
|
+
- regex: '(?:WIKO-)?Tommy Build'
|
5885
|
+
model: 'Tommy'
|
5886
|
+
- regex: '(?:WIKO-)?Tommy2 Build'
|
5887
|
+
model: 'Tommy 2'
|
4385
5888
|
- regex: '(?:WIKO-)?Wax Build'
|
4386
5889
|
model: 'Wax'
|
5890
|
+
- regex: '(?:WIKO-)?Pulp Build'
|
5891
|
+
model: 'Pulp'
|
5892
|
+
|
5893
|
+
# Wileyfox
|
5894
|
+
Wileyfox:
|
5895
|
+
regex: '(?:Wileyfox [^/]+)|Swift([^/]+) Build'
|
5896
|
+
device: 'smartphone'
|
5897
|
+
models:
|
5898
|
+
- regex: 'Wileyfox ([^/]+) Build'
|
5899
|
+
model: '$1'
|
5900
|
+
- regex: 'Swift ([^/]+) Build'
|
5901
|
+
model: 'Swift $1'
|
4387
5902
|
|
4388
5903
|
# Wolder
|
4389
5904
|
Wolder:
|
@@ -4396,6 +5911,12 @@ Wolder:
|
|
4396
5911
|
device: 'tablet'
|
4397
5912
|
model: 'miTab $1'
|
4398
5913
|
|
5914
|
+
# Wolfgang
|
5915
|
+
Wolfgang:
|
5916
|
+
regex: 'AT[ _-]AS([0-9A-Z]+)[);/ ]'
|
5917
|
+
device: 'smartphone'
|
5918
|
+
model: 'AT-AS$1'
|
5919
|
+
|
4399
5920
|
# Wonu
|
4400
5921
|
Wonu:
|
4401
5922
|
regex: 'Wonu ([a-z0-9]+)'
|
@@ -4404,13 +5925,13 @@ Wonu:
|
|
4404
5925
|
|
4405
5926
|
# Woxter
|
4406
5927
|
Woxter:
|
4407
|
-
regex: 'Woxter ([^/;]+) Build'
|
5928
|
+
regex: 'Woxter[ _]([^/;]+) Build'
|
4408
5929
|
device: 'tablet'
|
4409
5930
|
model: '$1'
|
4410
5931
|
|
4411
5932
|
#Xiaomi
|
4412
5933
|
Xiaomi:
|
4413
|
-
regex: 'Xiaomi|(MI [a-z0-9]+|MI-One[ _]?[a-z0-9]+)[);/ ]|HM ([^/;]+) Build|(2014501|2014011|201481[13]|201302[23]|2013061) Build|Redmi'
|
5934
|
+
regex: 'Xiaomi|(MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+)[);/ ]|HM ([^/;]+) (?:Build|MIUI)|(2014501|2014011|201481[13]|201302[23]|2013061) Build|Redmi'
|
4414
5935
|
device: 'smartphone'
|
4415
5936
|
models:
|
4416
5937
|
# specific smartphone models
|
@@ -4424,23 +5945,25 @@ Xiaomi:
|
|
4424
5945
|
model: 'Hongmi'
|
4425
5946
|
- regex: 'Xiaomi_2013061|2013061 Build'
|
4426
5947
|
model: 'MI 3'
|
5948
|
+
- regex: 'Mi-4c[);/ ]'
|
5949
|
+
model: 'MI 4C'
|
4427
5950
|
|
4428
|
-
- regex: 'Redmi Note ([^;/]+)?
|
5951
|
+
- regex: 'Redmi Note ([^;/]+)? .+?\)'
|
4429
5952
|
model: 'Redmi Note $1'
|
4430
5953
|
device: 'phablet'
|
4431
|
-
- regex: 'Redmi ([^;/]+)?
|
5954
|
+
- regex: 'Redmi ([^;/]+)? .+?\)'
|
4432
5955
|
model: 'Redmi $1'
|
4433
|
-
- regex: 'MI Note ([^;/]+)?
|
5956
|
+
- regex: 'MI Note ([^;/]+)? .+?\)'
|
4434
5957
|
model: 'MI Note $1'
|
4435
5958
|
device: 'phablet'
|
4436
5959
|
- regex: '(MI(?:-One)?[ _](?:[^;/]*))Build'
|
4437
5960
|
model: '$1'
|
4438
5961
|
- regex: '(MI [a-z0-9]+|MI-One[ _]?[a-z0-9]+)[);/ ]'
|
4439
5962
|
model: '$1'
|
4440
|
-
- regex: 'HM Note ([^/;]+) Build'
|
5963
|
+
- regex: 'HM Note ([^/;]+) (?:Build|MIUI)'
|
4441
5964
|
device: 'phablet'
|
4442
5965
|
model: 'HM Note $1'
|
4443
|
-
- regex: 'HM ([^/;]+) Build'
|
5966
|
+
- regex: 'HM ([^/;]+) (?:Build|MIUI)'
|
4444
5967
|
model: 'HM $1'
|
4445
5968
|
|
4446
5969
|
# Xolo
|
@@ -4532,7 +6055,7 @@ Zonda:
|
|
4532
6055
|
|
4533
6056
|
# Toshiba
|
4534
6057
|
Toshiba:
|
4535
|
-
regex: 'Toshiba|TSBNetTV/|portalmmm/[12].0 TS|T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AT(100|200|270|300|330|374|400|470|500|503|570|703|830)'
|
6058
|
+
regex: 'Toshiba|TSBNetTV/|portalmmm/[12].0 TS|T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AT(10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500|503|570|703|830)'
|
4536
6059
|
device: 'smartphone'
|
4537
6060
|
models:
|
4538
6061
|
# explicit smartphone models
|
@@ -4560,6 +6083,12 @@ Toshiba:
|
|
4560
6083
|
- regex: 'AT(100|200|270|300|330|374|400|470|500|503|570|703|830)'
|
4561
6084
|
model: 'Regza AT$1'
|
4562
6085
|
device: 'tablet'
|
6086
|
+
- regex: 'AT10([PL])E-A'
|
6087
|
+
model: 'Excite AT10$1-A'
|
6088
|
+
device: 'tablet'
|
6089
|
+
- regex: 'AT10-A'
|
6090
|
+
model: 'Excite AT10-A'
|
6091
|
+
device: 'tablet'
|
4563
6092
|
|
4564
6093
|
- regex: 'TSBNetTV/'
|
4565
6094
|
device: 'tv'
|
@@ -4573,7 +6102,7 @@ Toshiba:
|
|
4573
6102
|
|
4574
6103
|
# Fly
|
4575
6104
|
Fly:
|
4576
|
-
regex: 'Fly(?!Flow|touch)|MERIDIAN-|(?:IQ[0-9]{3,})[ _]?(?:Quad|Firebird|Quattro|Turbo|Magic)?(?: Build|[;/\)])'
|
6105
|
+
regex: 'Fly(?!Flow|touch)|FS50[1-9]|FS511|FS551|FS40[1-7]|FS452|FS451|FS454|4FS06|MERIDIAN-|(?:IQ[0-9]{3,})[ _]?(?:Quad|Firebird|Quattro|Turbo|Magic)?(?: Build|[;/\)])'
|
4577
6106
|
device: 'smartphone'
|
4578
6107
|
models:
|
4579
6108
|
- regex: '(?:Fly_)?IQ310(?: Build|[;/\)])'
|
@@ -4582,6 +6111,44 @@ Fly:
|
|
4582
6111
|
|
4583
6112
|
- regex: '(?:Fly_)?IQ236(?: Build|[;/\)])'
|
4584
6113
|
model: 'Victory'
|
6114
|
+
- regex: 'FS506'
|
6115
|
+
model: 'Cirrus 3'
|
6116
|
+
- regex: 'FS403'
|
6117
|
+
model: 'Cumulus 1'
|
6118
|
+
- regex: 'FS508'
|
6119
|
+
model: 'Cirrus 6'
|
6120
|
+
- regex: 'FS511'
|
6121
|
+
model: 'Cirrus 7'
|
6122
|
+
- regex: 'FS509'
|
6123
|
+
model: 'Nimbus 9'
|
6124
|
+
- regex: 'FS406'
|
6125
|
+
model: 'Stratus 5'
|
6126
|
+
- regex: 'FS404'
|
6127
|
+
model: 'Stratus 3'
|
6128
|
+
- regex: 'FS504'
|
6129
|
+
model: 'Cirrus 2'
|
6130
|
+
- regex: 'FS407'
|
6131
|
+
model: 'Stratus 6'
|
6132
|
+
- regex: 'FS401'
|
6133
|
+
model: 'Stratus 1'
|
6134
|
+
- regex: 'FS402'
|
6135
|
+
model: 'Stratus 2'
|
6136
|
+
- regex: 'FS501'
|
6137
|
+
model: 'Nimbus 3'
|
6138
|
+
- regex: 'FS502'
|
6139
|
+
model: 'Cirrus 1'
|
6140
|
+
- regex: 'FS505'
|
6141
|
+
model: 'Nimbus 7'
|
6142
|
+
- regex: 'FS551'
|
6143
|
+
model: 'Nimbus 4'
|
6144
|
+
- regex: 'FS454'
|
6145
|
+
model: 'Nimbus 8'
|
6146
|
+
- regex: 'FS452'
|
6147
|
+
model: 'Nimbus 2'
|
6148
|
+
- regex: 'FS451'
|
6149
|
+
model: 'Nimbus 1'
|
6150
|
+
- regex: 'FS405'
|
6151
|
+
model: 'Stratus 4'
|
4585
6152
|
- regex: '(?:Fly_)?IQ237(?: Build|[;/\)])'
|
4586
6153
|
model: 'Dynamic'
|
4587
6154
|
- regex: '(?:Fly_)?IQ238(?: Build|[;/\)])'
|
@@ -4652,6 +6219,8 @@ Fly:
|
|
4652
6219
|
model: 'Energy 2'
|
4653
6220
|
- regex: '(?:Fly_)?IQ4412 Quad(?: Build|[;/\)])'
|
4654
6221
|
model: 'Coral'
|
6222
|
+
- regex: '(?:Fly_)?IQ4413[ _]Quad(?: Build|[;/\)])'
|
6223
|
+
model: 'Evo Chic 3'
|
4655
6224
|
- regex: '(?:Fly_)?IQ4414 Quad(?: Build|[;/\)])'
|
4656
6225
|
model: 'Evo Tech 3'
|
4657
6226
|
- regex: '(?:Fly_)?IQ4415 Quad(?: Build|[;/\)])'
|
@@ -4673,11 +6242,31 @@ Fly:
|
|
4673
6242
|
- regex: 'MERIDIAN-([a-z0-9]+)'
|
4674
6243
|
model: '$1'
|
4675
6244
|
|
4676
|
-
#
|
4677
|
-
|
4678
|
-
regex: '
|
4679
|
-
device: '
|
4680
|
-
|
6245
|
+
# Freetel
|
6246
|
+
Freetel:
|
6247
|
+
regex: '(FTJ152[ABCD]|FT141B|FT142D_LTEXM|FT142A?|FTJ161B|FTJ152E|FTJ162D) Build'
|
6248
|
+
device: 'smartphone'
|
6249
|
+
models:
|
6250
|
+
- regex: 'FTJ152C'
|
6251
|
+
model: 'Samurai Miyabi'
|
6252
|
+
- regex: 'FT141B'
|
6253
|
+
model: 'Nico'
|
6254
|
+
- regex: 'FT142D_LTEXM'
|
6255
|
+
model: 'XM'
|
6256
|
+
- regex: 'FT142A?'
|
6257
|
+
model: 'Priori 2'
|
6258
|
+
- regex: 'FTJ152A'
|
6259
|
+
model: 'Priori 3'
|
6260
|
+
- regex: 'FTJ162D'
|
6261
|
+
model: 'Priori 4'
|
6262
|
+
- regex: 'FTJ152B'
|
6263
|
+
model: 'Priori 3S LTE'
|
6264
|
+
- regex: 'FTJ152D'
|
6265
|
+
model: 'Samurai Kiwami'
|
6266
|
+
- regex: 'FTJ161B'
|
6267
|
+
model: 'Samurai Rei'
|
6268
|
+
- regex: 'FTJ152E'
|
6269
|
+
model: 'Katana 1'
|
4681
6270
|
|
4682
6271
|
# Zeemi
|
4683
6272
|
Zeemi:
|
@@ -4697,7 +6286,7 @@ Zopo:
|
|
4697
6286
|
|
4698
6287
|
# ZTE
|
4699
6288
|
ZTE:
|
4700
|
-
regex: 'ZTE|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade S6|N9[15]8St|NX(?:403A|40[X2]|507J|503A|505J|506J|508J|510J|511J|513J|601J)|Z331|N9510|N9180|N9101|N9515|N952[01]|N9810|N799D|[UV]9180|[UV]9815|Z768G)[);/ ]'
|
6289
|
+
regex: 'ZTE|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade (?:L[2357]|S6|V[678]|X7|A520)|N9[15]8St|NX(?:403A|40[X2]|507J|503A|505J|506J|508J|510J|511J|513J|529J|531J|549J|601J)|Z331|N9510|N9180|N9101|NX406E|N9515|N952[01]|N9810|N799D|[UV]9180|[UV]9815|Z768G|Z820|Z981|A460)[);/ ]'
|
4701
6290
|
device: 'smartphone'
|
4702
6291
|
models:
|
4703
6292
|
# explicit smartphone models
|
@@ -4739,6 +6328,12 @@ ZTE:
|
|
4739
6328
|
model: 'Nubia Z9 mini'
|
4740
6329
|
- regex: 'NX510J[);/ ]'
|
4741
6330
|
model: 'Nubia Z9 max'
|
6331
|
+
- regex: 'NX531J[);/ ]'
|
6332
|
+
model: 'Nubia Z11'
|
6333
|
+
- regex: 'NX529J[);/ ]'
|
6334
|
+
model: 'Nubia Z11 mini'
|
6335
|
+
- regex: 'NX549J[);/ ]'
|
6336
|
+
model: 'Nubia Z11 mini S'
|
4742
6337
|
- regex: 'NX513J[);/ ]'
|
4743
6338
|
model: 'Nubia My Prague'
|
4744
6339
|
- regex: 'NX601J[);/ ]'
|
@@ -4749,10 +6344,44 @@ ZTE:
|
|
4749
6344
|
model: 'Grand Memo'
|
4750
6345
|
- regex: 'Z331[);/ ]'
|
4751
6346
|
model: 'Z331'
|
6347
|
+
- regex: 'Blade A520[);/ ]'
|
6348
|
+
model: 'Blade A520'
|
6349
|
+
- regex: 'Blade L2 Plus[);/ ]'
|
6350
|
+
model: 'Blade L2 Plus'
|
6351
|
+
- regex: 'Blade L2[);/ ]'
|
6352
|
+
model: 'Blade L2'
|
6353
|
+
- regex: 'Blade L3 Plus[);/ ]'
|
6354
|
+
model: 'Blade L3 Plus'
|
6355
|
+
- regex: 'Blade L3[);/ ]'
|
6356
|
+
model: 'Blade L3'
|
6357
|
+
- regex: 'Blade L5[);/ ]'
|
6358
|
+
model: 'Blade L5'
|
4752
6359
|
- regex: 'Blade S6[);/ ]'
|
4753
6360
|
model: 'Blade S6'
|
6361
|
+
- regex: 'Blade V6 MAX[);/ ]'
|
6362
|
+
model: 'Blade V6 Max'
|
6363
|
+
- regex: 'Blade V6 Plus[);/ ]'
|
6364
|
+
model: 'Blade V6 Plus'
|
6365
|
+
- regex: 'Blade V6[);/ ]'
|
6366
|
+
model: 'Blade V6'
|
6367
|
+
- regex: 'Blade L7[);/ ]'
|
6368
|
+
model: 'Blade L7'
|
6369
|
+
- regex: 'Blade V7[);/ ]'
|
6370
|
+
model: 'Blade V7'
|
6371
|
+
- regex: 'Blade X7[);/ ]'
|
6372
|
+
model: 'Blade X7'
|
6373
|
+
- regex: 'Blade V8 SE[);/ ]'
|
6374
|
+
model: 'Blade V8 SE'
|
4754
6375
|
- regex: 'Z768G[);/ ]'
|
4755
6376
|
model: 'Midnight'
|
6377
|
+
- regex: 'Z820[);/ ]'
|
6378
|
+
model: 'Obsidian'
|
6379
|
+
- regex: 'Z981[);/ ]'
|
6380
|
+
model: 'ZMAX Pro'
|
6381
|
+
- regex: 'Blade (A460)'
|
6382
|
+
model: 'Blade $1'
|
6383
|
+
- regex: 'NX406E[);/ ]'
|
6384
|
+
model: 'Nubia Z5S'
|
4756
6385
|
|
4757
6386
|
- regex: 'AxonPhone ([^;/]+) Build'
|
4758
6387
|
model: 'AxonPhone $1'
|
@@ -4767,21 +6396,15 @@ ZTE:
|
|
4767
6396
|
model: '$1'
|
4768
6397
|
- regex: 'ZTE[ _]([a-z0-9]+)'
|
4769
6398
|
model: '$1'
|
6399
|
+
# Zen'
|
6400
|
+
Zen:
|
6401
|
+
regex: '(Admire[_ ][^/;]+|Cinemax[^/;)]+)(?:Build|\) U)'
|
6402
|
+
device: 'smartphone'
|
6403
|
+
model: '$1'
|
4770
6404
|
|
4771
|
-
#
|
4772
|
-
|
4773
|
-
|
4774
|
-
|
4775
|
-
|
6405
|
+
# Devices with undectable brand, but detectable model
|
6406
|
+
Unknown:
|
6407
|
+
regex: 'WebTV/(\d+\.\d+)'
|
6408
|
+
device: 'tv'
|
6409
|
+
model: 'Web TV'
|
4776
6410
|
|
4777
|
-
# OnePlus
|
4778
|
-
OnePlus:
|
4779
|
-
regex: '(?:A0001|A2005|E1003) Build'
|
4780
|
-
device: 'smartphone'
|
4781
|
-
models:
|
4782
|
-
- regex: 'A0001'
|
4783
|
-
model: 'One'
|
4784
|
-
- regex: 'A2005'
|
4785
|
-
model: 'Two'
|
4786
|
-
- regex: 'E1003'
|
4787
|
-
model: 'X'
|