device_detector 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -1
- data/README.md +19 -5
- data/lib/device_detector/browser.rb +141 -7
- data/lib/device_detector/client_hint.rb +100 -32
- data/lib/device_detector/device.rb +188 -1
- data/lib/device_detector/os.rb +109 -7
- data/lib/device_detector/parser.rb +6 -5
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector.rb +56 -23
- data/regexes/bots.yml +1242 -213
- data/regexes/client/browser_engine.yml +11 -2
- data/regexes/client/browsers.yml +543 -102
- data/regexes/client/feed_readers.yml +1 -1
- data/regexes/client/hints/apps.yml +29 -3
- data/regexes/client/hints/browsers.yml +87 -5
- data/regexes/client/libraries.yml +107 -1
- data/regexes/client/mediaplayers.yml +15 -1
- data/regexes/client/mobile_apps.yml +413 -117
- data/regexes/client/pim.yml +36 -2
- data/regexes/device/car_browsers.yml +16 -0
- data/regexes/device/consoles.yml +18 -5
- data/regexes/device/mobiles.yml +4180 -1210
- data/regexes/device/notebooks.yml +14 -1
- data/regexes/device/portable_media_player.yml +7 -1
- data/regexes/device/shell_tv.yml +12 -0
- data/regexes/device/televisions.yml +409 -47
- data/regexes/oss.yml +661 -238
- metadata +3 -3
@@ -3,6 +3,7 @@
|
|
3
3
|
class DeviceDetector
|
4
4
|
class Device < Parser
|
5
5
|
# order is relevant for testing with fixtures
|
6
|
+
# https://github.com/matomo-org/device-detector/blob/75d88bbefb0182f9207c9f48dc39b1bc8c7cc43f/Parser/Device/AbstractDeviceParser.php#L59-L74
|
6
7
|
DEVICE_NAMES = [
|
7
8
|
'desktop',
|
8
9
|
'smartphone',
|
@@ -20,6 +21,7 @@ class DeviceDetector
|
|
20
21
|
'peripheral'
|
21
22
|
].freeze
|
22
23
|
|
24
|
+
# https://github.com/matomo-org/device-detector/blob/75d88bbefb0182f9207c9f48dc39b1bc8c7cc43f/Parser/Device/AbstractDeviceParser.php#L83-L1951
|
23
25
|
DEVICE_BRANDS = {
|
24
26
|
'5E' => '2E',
|
25
27
|
'5IV' => '5IVE',
|
@@ -34,10 +36,12 @@ class DeviceDetector
|
|
34
36
|
'88' => '8848',
|
35
37
|
'10M' => '10moons',
|
36
38
|
'41' => 'A1',
|
39
|
+
'AK1' => 'A&K',
|
37
40
|
'00' => 'Accent',
|
38
41
|
'ACC' => 'Accesstyle',
|
39
42
|
'AE' => 'Ace',
|
40
43
|
'AC' => 'Acer',
|
44
|
+
'ACL' => 'Aceline',
|
41
45
|
'3K' => 'Acteck',
|
42
46
|
'ACT' => 'actiMirror',
|
43
47
|
'A9' => 'Advan',
|
@@ -49,12 +53,14 @@ class DeviceDetector
|
|
49
53
|
'A3' => 'AGM',
|
50
54
|
'AEE' => 'AEEZO',
|
51
55
|
'J0' => 'AG Mobile',
|
56
|
+
'AJI' => 'Ajib',
|
52
57
|
'AZ' => 'Ainol',
|
53
58
|
'AIR' => 'Airis',
|
54
59
|
'AI' => 'Airness',
|
55
60
|
'ARP' => 'Airpha',
|
56
61
|
'AT' => 'Airties',
|
57
62
|
'7U' => 'Airtel',
|
63
|
+
'AIT' => 'AirTouch',
|
58
64
|
'U0' => 'AIRON',
|
59
65
|
'0A' => 'AIS',
|
60
66
|
'AW' => 'Aiwa',
|
@@ -64,9 +70,11 @@ class DeviceDetector
|
|
64
70
|
'Q3' => 'AKIRA',
|
65
71
|
'1A' => 'Alba',
|
66
72
|
'AL' => 'Alcatel',
|
73
|
+
'AL0' => 'Alienware',
|
67
74
|
'20' => 'Alcor',
|
68
75
|
'XY' => 'Alps',
|
69
76
|
'XYA' => 'XY Auto',
|
77
|
+
'AAU' => 'AAUW',
|
70
78
|
'7L' => 'ALDI NORD',
|
71
79
|
'6L' => 'ALDI SÜD',
|
72
80
|
'3L' => 'Alfawise',
|
@@ -78,8 +86,11 @@ class DeviceDetector
|
|
78
86
|
'A7' => 'Allwinner',
|
79
87
|
'A1' => 'Altech UEC',
|
80
88
|
'66' => 'Altice',
|
89
|
+
'ALM' => 'Altimo',
|
81
90
|
'A5' => 'altron',
|
91
|
+
'ALT' => 'Altus',
|
82
92
|
'KN' => 'Amazon',
|
93
|
+
'AMZ' => 'Amazon Basics',
|
83
94
|
'AMA' => 'AMA',
|
84
95
|
'AG' => 'AMGOO',
|
85
96
|
'9A' => 'Amigoo',
|
@@ -88,7 +99,9 @@ class DeviceDetector
|
|
88
99
|
'54' => 'AMCV',
|
89
100
|
'60' => 'Andowl',
|
90
101
|
'ANX' => 'ANXONIT',
|
102
|
+
'ANC' => 'ANBERNIC',
|
91
103
|
'6J' => 'Angelcare',
|
104
|
+
'ANG' => 'AngelTech',
|
92
105
|
'7A' => 'Anry',
|
93
106
|
'A0' => 'ANS',
|
94
107
|
'74' => 'Anker',
|
@@ -98,9 +111,12 @@ class DeviceDetector
|
|
98
111
|
'55' => 'AOpen',
|
99
112
|
'RW' => 'Aoro',
|
100
113
|
'9Y' => 'Aocos',
|
114
|
+
'AOW' => 'Aocwei',
|
101
115
|
'AP' => 'Apple',
|
116
|
+
'ARC' => 'Arçelik',
|
102
117
|
'AR' => 'Archos',
|
103
118
|
'AB' => 'Arian Space',
|
119
|
+
'ARI' => 'Arival',
|
104
120
|
'A6' => 'Ark',
|
105
121
|
'5A' => 'ArmPhone',
|
106
122
|
'AN' => 'Arnova',
|
@@ -119,6 +135,7 @@ class DeviceDetector
|
|
119
135
|
'AU' => 'Asus',
|
120
136
|
'6A' => 'AT&T',
|
121
137
|
'ATH' => 'Athesi',
|
138
|
+
'ATE' => 'Atlantic Electrics',
|
122
139
|
'5Q' => 'Atmaca Elektronik',
|
123
140
|
'YH' => 'ATMAN',
|
124
141
|
'2A' => 'Atom',
|
@@ -128,22 +145,29 @@ class DeviceDetector
|
|
128
145
|
'AX' => 'Audiovox',
|
129
146
|
'AJ' => 'AURIS',
|
130
147
|
'YZ' => 'Autan',
|
148
|
+
'AUP' => 'AUPO',
|
131
149
|
'ZA' => 'Avenzo',
|
132
150
|
'AH' => 'AVH',
|
133
151
|
'AV' => 'Avvio',
|
134
152
|
'AVA' => 'Avaya',
|
153
|
+
'AXE' => 'AXEN',
|
135
154
|
'AY' => 'Axxion',
|
136
155
|
'AXX' => 'AXXA',
|
156
|
+
'AYA' => 'AYA',
|
137
157
|
'YR' => 'AYYA',
|
138
158
|
'XA' => 'Axioo',
|
139
159
|
'AM' => 'Azumi Mobile',
|
160
|
+
'AZE' => 'Azeyou',
|
140
161
|
'WW' => 'Awow',
|
162
|
+
'AWO' => 'AWOX',
|
141
163
|
'XU' => 'AUX',
|
142
164
|
'BAC' => 'Backcell',
|
143
165
|
'BFF' => 'BAFF',
|
144
166
|
'BO' => 'BangOlufsen',
|
145
167
|
'BN' => 'Barnes & Noble',
|
146
168
|
'BAR' => 'BARTEC',
|
169
|
+
'BAS' => 'BASE',
|
170
|
+
'BAU' => 'BAUHN',
|
147
171
|
'BB' => 'BBK',
|
148
172
|
'0B' => 'BB Mobile',
|
149
173
|
'B6' => 'BDF',
|
@@ -154,6 +178,7 @@ class DeviceDetector
|
|
154
178
|
'B5' => 'Beeline',
|
155
179
|
'B0' => 'Beelink',
|
156
180
|
'BL' => 'Beetel',
|
181
|
+
'BEK' => 'Beko',
|
157
182
|
'2X' => 'Benco',
|
158
183
|
'BQ' => 'BenQ',
|
159
184
|
'BS' => 'BenQ-Siemens',
|
@@ -178,6 +203,7 @@ class DeviceDetector
|
|
178
203
|
'ZB' => 'Bittium',
|
179
204
|
'BK' => 'Bkav',
|
180
205
|
'5B' => 'Black Bear',
|
206
|
+
'BLK' => 'Black Box',
|
181
207
|
'BF' => 'Black Fox',
|
182
208
|
'BPC' => 'Blackpcs',
|
183
209
|
'B2' => 'Blackview',
|
@@ -205,6 +231,7 @@ class DeviceDetector
|
|
205
231
|
'BW' => 'Boway',
|
206
232
|
'BOO' => 'Boost',
|
207
233
|
'BOK' => 'Bookeen',
|
234
|
+
'BOT' => 'Botech',
|
208
235
|
'BX' => 'bq',
|
209
236
|
'8B' => 'Brandt',
|
210
237
|
'BRA' => 'BrandCode',
|
@@ -217,7 +244,9 @@ class DeviceDetector
|
|
217
244
|
'B1' => 'Bush',
|
218
245
|
'4Q' => 'Bundy',
|
219
246
|
'Y8' => 'Bubblegum',
|
247
|
+
'BMW' => 'BMW',
|
220
248
|
'C9' => 'CAGI',
|
249
|
+
'CAD' => 'CADENA',
|
221
250
|
'CT' => 'Capitel',
|
222
251
|
'G3' => 'CG Mobile',
|
223
252
|
'37' => 'CGV',
|
@@ -229,8 +258,12 @@ class DeviceDetector
|
|
229
258
|
'CA' => 'Cat',
|
230
259
|
'BC' => 'Camfone',
|
231
260
|
'CJ' => 'Cavion',
|
261
|
+
'CAN' => 'Canal+',
|
232
262
|
'4D' => 'Canal Digital',
|
233
263
|
'CNG' => 'Canguro',
|
264
|
+
'CNT' => 'CCIT',
|
265
|
+
'CEC' => 'Cecotec',
|
266
|
+
'CEP' => 'CEPTER',
|
234
267
|
'CEI' => 'Ceibal',
|
235
268
|
'02' => 'Cell-C',
|
236
269
|
'CEL' => 'Cellacom',
|
@@ -239,6 +272,7 @@ class DeviceDetector
|
|
239
272
|
'CE' => 'Celkon',
|
240
273
|
'CG' => 'Cellution',
|
241
274
|
'62' => 'Centric',
|
275
|
+
'CEN' => 'CENTEK',
|
242
276
|
'C2' => 'Changhong',
|
243
277
|
'CHA' => 'Chainway',
|
244
278
|
'CHG' => 'ChiliGreen',
|
@@ -246,11 +280,14 @@ class DeviceDetector
|
|
246
280
|
'C3' => 'China Mobile',
|
247
281
|
'U9' => 'China Telecom',
|
248
282
|
'CI' => 'Chico Mobile',
|
283
|
+
'CIA' => 'C Idea',
|
249
284
|
'CIP' => 'CipherLab',
|
250
285
|
'CIT' => 'Citycall',
|
251
286
|
'1C' => 'Chuwi',
|
252
287
|
'L8' => 'Clarmin',
|
253
288
|
'25' => 'Claresta',
|
289
|
+
'CLA' => 'CLAYTON',
|
290
|
+
'CLT' => 'Clovertek',
|
254
291
|
'1J' => 'Cloud',
|
255
292
|
'CD' => 'Cloudfone',
|
256
293
|
'6C' => 'Cloudpad',
|
@@ -272,14 +309,17 @@ class DeviceDetector
|
|
272
309
|
'8C' => 'Connex',
|
273
310
|
'53' => 'Connectce',
|
274
311
|
'CON' => 'Conceptum',
|
312
|
+
'CED' => 'Continental Edison',
|
275
313
|
'9C' => 'Colors',
|
276
314
|
'CO' => 'Coolpad',
|
277
315
|
'COO' => 'Coopers',
|
316
|
+
'CDE' => 'COOD-E',
|
278
317
|
'4R' => 'CORN',
|
279
318
|
'1O' => 'Cosmote',
|
280
319
|
'CW' => 'Cowon',
|
281
320
|
'75' => 'Covia',
|
282
321
|
'QG' => 'COYOTE',
|
322
|
+
'CKK' => 'CKK Mobile',
|
283
323
|
'YW' => 'ClearPHONE',
|
284
324
|
'33' => 'Clementoni',
|
285
325
|
'CR' => 'CreNova',
|
@@ -292,6 +332,7 @@ class DeviceDetector
|
|
292
332
|
'CTR' => 'Ctroniq',
|
293
333
|
'CU' => 'Cube',
|
294
334
|
'CB' => 'CUBOT',
|
335
|
+
'CUI' => 'Cuiud',
|
295
336
|
'CV' => 'CVTE',
|
296
337
|
'CWO' => 'Cwowdefu',
|
297
338
|
'C4' => 'Cyrus',
|
@@ -299,6 +340,7 @@ class DeviceDetector
|
|
299
340
|
'DA' => 'Danew',
|
300
341
|
'DAN' => 'Dany',
|
301
342
|
'DA1' => 'DangcapHD',
|
343
|
+
'DAR' => 'Daria',
|
302
344
|
'DT' => 'Datang',
|
303
345
|
'D7' => 'Datawind',
|
304
346
|
'7D' => 'Datamini',
|
@@ -313,6 +355,7 @@ class DeviceDetector
|
|
313
355
|
'DL0' => 'DL',
|
314
356
|
'DE' => 'Denver',
|
315
357
|
'DS' => 'Desay',
|
358
|
+
'DSD' => 'DSDevices',
|
316
359
|
'DSI' => 'DSIC',
|
317
360
|
'DW' => 'DeWalt',
|
318
361
|
'DX' => 'DEXP',
|
@@ -322,6 +365,7 @@ class DeviceDetector
|
|
322
365
|
'8D' => 'DF',
|
323
366
|
'DGT' => 'DGTEC',
|
324
367
|
'DG' => 'Dialog',
|
368
|
+
'DIA' => 'DIALN',
|
325
369
|
'DI' => 'Dicam',
|
326
370
|
'D4' => 'Digi',
|
327
371
|
'D3' => 'Digicel',
|
@@ -332,6 +376,7 @@ class DeviceDetector
|
|
332
376
|
'DIG' => 'Digit4G',
|
333
377
|
'DIC' => 'DIGICOM',
|
334
378
|
'Q0' => 'DIGIFORS',
|
379
|
+
'DIK' => 'DIKOM',
|
335
380
|
'DQ' => 'DISH',
|
336
381
|
'DIS' => 'Disney',
|
337
382
|
'9D' => 'Ditecma',
|
@@ -339,10 +384,12 @@ class DeviceDetector
|
|
339
384
|
'1D' => 'Diva',
|
340
385
|
'DIV' => 'DiverMax',
|
341
386
|
'D6' => 'Divisat',
|
387
|
+
'DIO' => 'DIORA',
|
342
388
|
'X6' => 'DIXON',
|
343
389
|
'DIM' => 'DIMO',
|
344
390
|
'5D' => 'DING DING',
|
345
391
|
'DIN' => 'Dinax',
|
392
|
+
'DNA' => 'Dinalink',
|
346
393
|
'DM' => 'DMM',
|
347
394
|
'DN' => 'DNS',
|
348
395
|
'DC' => 'DoCoMo',
|
@@ -357,6 +404,7 @@ class DeviceDetector
|
|
357
404
|
'JQ' => 'Doppio',
|
358
405
|
'DR' => 'Doro',
|
359
406
|
'ZD' => 'DORLAND',
|
407
|
+
'DRO' => 'Droidlogic',
|
360
408
|
'D8' => 'Droxio',
|
361
409
|
'DJ' => 'Dragon Touch',
|
362
410
|
'DRA' => 'DRAGON',
|
@@ -368,10 +416,12 @@ class DeviceDetector
|
|
368
416
|
'UD' => 'DUNNS Mobile',
|
369
417
|
'DUU' => 'Duubee',
|
370
418
|
'DUR' => 'Durabook',
|
419
|
+
'DYO' => 'Dyon',
|
371
420
|
'DTE' => 'D-Tech',
|
372
421
|
'DLI' => 'D-Link',
|
373
422
|
'ENO' => 'eNOVA',
|
374
423
|
'IN2' => 'iNOVA',
|
424
|
+
'IN3' => 'inovo',
|
375
425
|
'INH' => 'Inhon',
|
376
426
|
'EB' => 'E-Boda',
|
377
427
|
'EJ' => 'Engel',
|
@@ -379,8 +429,10 @@ class DeviceDetector
|
|
379
429
|
'ENI' => 'ENIE',
|
380
430
|
'2E' => 'E-Ceros',
|
381
431
|
'E8' => 'E-tel',
|
432
|
+
'EAS' => 'EAS Electric',
|
382
433
|
'EP' => 'Easypix',
|
383
434
|
'EQ' => 'Eagle',
|
435
|
+
'EGS' => 'EagleSoar',
|
384
436
|
'EA' => 'EBEST',
|
385
437
|
'YC' => 'EBEN',
|
386
438
|
'E4' => 'Echo Mobiles',
|
@@ -389,6 +441,7 @@ class DeviceDetector
|
|
389
441
|
'35' => 'ECON',
|
390
442
|
'ECC' => 'ECOO',
|
391
443
|
'ZZ' => 'ecom',
|
444
|
+
'EDE' => 'Edenwood',
|
392
445
|
'E6' => 'EE',
|
393
446
|
'GW' => 'EGL',
|
394
447
|
'EFT' => 'EFT',
|
@@ -403,6 +456,7 @@ class DeviceDetector
|
|
403
456
|
'03' => 'Electroneum',
|
404
457
|
'Z8' => 'ELECTRONIA',
|
405
458
|
'EL1' => 'Elecson',
|
459
|
+
'ELK' => 'Elektroland',
|
406
460
|
'L0' => 'Element',
|
407
461
|
'EG' => 'Elenberg',
|
408
462
|
'EL' => 'Elephone',
|
@@ -426,6 +480,7 @@ class DeviceDetector
|
|
426
480
|
'EE' => 'Essential',
|
427
481
|
'E2' => 'Essentielb',
|
428
482
|
'6E' => 'eSTAR',
|
483
|
+
'ETO' => 'ETOE',
|
429
484
|
'EN' => 'Eton',
|
430
485
|
'ET' => 'eTouch',
|
431
486
|
'1E' => 'Etuline',
|
@@ -444,12 +499,15 @@ class DeviceDetector
|
|
444
499
|
'4Z' => 'Exmart',
|
445
500
|
'EH' => 'EXO',
|
446
501
|
'EX' => 'Explay',
|
502
|
+
'EXP' => 'Express LUCK',
|
447
503
|
'E5' => 'Extrem',
|
504
|
+
'EXL' => 'ExtraLink',
|
448
505
|
'EF' => 'EXCEED',
|
449
506
|
'QE' => 'EWIS',
|
450
507
|
'EI' => 'Ezio',
|
451
508
|
'EZ' => 'Ezze',
|
452
509
|
'UF' => 'EYU',
|
510
|
+
'EYE' => 'Eyemoo',
|
453
511
|
'UE1' => 'UE',
|
454
512
|
'5F' => 'F150',
|
455
513
|
'FPS' => 'F+',
|
@@ -464,6 +522,7 @@ class DeviceDetector
|
|
464
522
|
'FAR' => 'Farassoo',
|
465
523
|
'FB' => 'Fantec',
|
466
524
|
'FE' => 'Fengxiang',
|
525
|
+
'FEN' => 'Fenoti',
|
467
526
|
'F7' => 'Fero',
|
468
527
|
'67' => 'FEONAL',
|
469
528
|
'FI' => 'FiGO',
|
@@ -474,11 +533,15 @@ class DeviceDetector
|
|
474
533
|
'FX' => 'Finlux',
|
475
534
|
'F3' => 'FireFly Mobile',
|
476
535
|
'F8' => 'FISE',
|
536
|
+
'FIT' => 'FITCO',
|
537
|
+
'FLM' => 'Filimo',
|
477
538
|
'FIL' => 'FILIX',
|
478
539
|
'FL' => 'Fly',
|
479
540
|
'QC' => 'FLYCAT',
|
541
|
+
'FLY' => 'FLYCOAY',
|
480
542
|
'FLU' => 'Fluo',
|
481
543
|
'FN' => 'FNB',
|
544
|
+
'FOB' => 'Fobem',
|
482
545
|
'FD' => 'Fondi',
|
483
546
|
'0F' => 'Fourel',
|
484
547
|
'44' => 'Four Mobile',
|
@@ -491,7 +554,9 @@ class DeviceDetector
|
|
491
554
|
'FOD' => 'FoxxD',
|
492
555
|
'FJ' => 'FOODO',
|
493
556
|
'FOS' => 'FOSSiBOT',
|
557
|
+
'FRE' => 'free',
|
494
558
|
'FT' => 'Freetel',
|
559
|
+
'FEY' => 'FreeYond',
|
495
560
|
'FRU' => 'Frunsi',
|
496
561
|
'F4' => 'F&U',
|
497
562
|
'1F' => 'FMT',
|
@@ -508,6 +573,7 @@ class DeviceDetector
|
|
508
573
|
'G9' => 'G-Touch',
|
509
574
|
'GFO' => 'Gfone',
|
510
575
|
'GTM' => 'GTMEDIA',
|
576
|
+
'GTX' => 'GTX',
|
511
577
|
'0G' => 'GFive',
|
512
578
|
'GM' => 'Garmin-Asus',
|
513
579
|
'GA' => 'Gateway',
|
@@ -524,6 +590,7 @@ class DeviceDetector
|
|
524
590
|
'GE' => 'Geotel',
|
525
591
|
'Q4' => 'Geotex',
|
526
592
|
'GEO' => 'GEOZON',
|
593
|
+
'GNO' => 'Getnord',
|
527
594
|
'GER' => 'Gear Mobile',
|
528
595
|
'GH' => 'Ghia',
|
529
596
|
'2C' => 'Ghong',
|
@@ -535,6 +602,7 @@ class DeviceDetector
|
|
535
602
|
'GI' => 'Gionee',
|
536
603
|
'GIR' => 'GIRASOLE',
|
537
604
|
'G4' => 'Globex',
|
605
|
+
'GLB' => 'Globmall',
|
538
606
|
'38' => 'GLONYX',
|
539
607
|
'U6' => 'Glofiish',
|
540
608
|
'G7' => 'GoGEN',
|
@@ -543,6 +611,8 @@ class DeviceDetector
|
|
543
611
|
'GB' => 'Gol Mobile',
|
544
612
|
'GL' => 'Goly',
|
545
613
|
'GOL' => 'GoldMaster',
|
614
|
+
'GOS' => 'GoldStar',
|
615
|
+
'GOB' => 'GOLDBERG',
|
546
616
|
'GX' => 'GLX',
|
547
617
|
'G5' => 'Gome',
|
548
618
|
'G1' => 'GoMobile',
|
@@ -552,11 +622,13 @@ class DeviceDetector
|
|
552
622
|
'GOO' => 'GOODTEL',
|
553
623
|
'8G' => 'Gplus',
|
554
624
|
'GR' => 'Gradiente',
|
625
|
+
'GRE' => 'Graetz',
|
555
626
|
'GP' => 'Grape',
|
556
627
|
'G6' => 'Gree',
|
557
628
|
'GRA' => 'Great Asia',
|
558
629
|
'3G' => 'Greentel',
|
559
630
|
'GRO' => 'Green Orange',
|
631
|
+
'GRL' => 'Green Lion',
|
560
632
|
'GR1' => 'GroBerwert',
|
561
633
|
'GF' => 'Gretel',
|
562
634
|
'82' => 'Gresso',
|
@@ -569,9 +641,11 @@ class DeviceDetector
|
|
569
641
|
'9F' => 'HAOVM',
|
570
642
|
'HAQ' => 'HAOQIN',
|
571
643
|
'HA' => 'Haier',
|
644
|
+
'HEC' => 'HEC',
|
572
645
|
'XH' => 'Haipai',
|
573
646
|
'HAN' => 'Handheld',
|
574
647
|
'HE' => 'HannSpree',
|
648
|
+
'HNS' => 'Hanseatic',
|
575
649
|
'HK' => 'Hardkernel',
|
576
650
|
'HAR' => 'Harper',
|
577
651
|
'HA1' => 'Hartens',
|
@@ -584,14 +658,18 @@ class DeviceDetector
|
|
584
658
|
'ZH' => 'Hezire',
|
585
659
|
'HEX' => 'HexaByte',
|
586
660
|
'HEW' => 'HeadWolf',
|
661
|
+
'HEI' => 'Heimat',
|
587
662
|
'HL' => 'Hi-Level',
|
588
663
|
'3H' => 'Hi',
|
589
664
|
'HIB' => 'Hiberg',
|
665
|
+
'HBY' => 'HiBy',
|
590
666
|
'HIH' => 'HiHi',
|
591
667
|
'HIK' => 'HiKing',
|
592
668
|
'H2' => 'Highscreen',
|
593
669
|
'Q1' => 'High Q',
|
670
|
+
'HIG' => 'HiGrace',
|
594
671
|
'1H' => 'Hipstreet',
|
672
|
+
'HIR' => 'Hiremco',
|
595
673
|
'HI' => 'Hisense',
|
596
674
|
'HIP' => 'HIPER',
|
597
675
|
'HC' => 'Hitachi',
|
@@ -599,9 +677,14 @@ class DeviceDetector
|
|
599
677
|
'W3' => 'HiMax',
|
600
678
|
'8X' => 'Hi Nova',
|
601
679
|
'HLL' => 'HLLO',
|
680
|
+
'HKC' => 'HKC',
|
681
|
+
'HMD' => 'HMD',
|
602
682
|
'8W' => 'HKPro',
|
683
|
+
'HOF' => 'HOFER',
|
603
684
|
'H1' => 'Hoffmann',
|
685
|
+
'HOM' => 'Homatics',
|
604
686
|
'H0' => 'Hometech',
|
687
|
+
'HLB' => 'HOLLEBERG',
|
605
688
|
'HM' => 'Homtom',
|
606
689
|
'HZ' => 'Hoozo',
|
607
690
|
'H7' => 'Horizon',
|
@@ -634,6 +717,7 @@ class DeviceDetector
|
|
634
717
|
'IM' => 'i-mate',
|
635
718
|
'IO' => 'i-mobile',
|
636
719
|
'INN' => 'I-INN',
|
720
|
+
'IPL' => 'I-Plus',
|
637
721
|
'OF' => 'iOutdoor',
|
638
722
|
'IB' => 'iBall',
|
639
723
|
'IY' => 'iBerry',
|
@@ -651,6 +735,7 @@ class DeviceDetector
|
|
651
735
|
'2K' => 'IKI Mobile',
|
652
736
|
'IK' => 'iKoMo',
|
653
737
|
'58' => 'iKon',
|
738
|
+
'588' => 'iKonia',
|
654
739
|
'I7' => 'iLA',
|
655
740
|
'2I' => 'iLife',
|
656
741
|
'1I' => 'iMars',
|
@@ -658,17 +743,20 @@ class DeviceDetector
|
|
658
743
|
'U4' => 'iMan',
|
659
744
|
'ILE' => 'iLepo',
|
660
745
|
'IL' => 'IMO Mobile',
|
746
|
+
'IMA' => 'Imaq',
|
661
747
|
'IM1' => 'Imose',
|
662
748
|
'I3' => 'Impression',
|
663
749
|
'FC' => 'INCAR',
|
664
750
|
'2H' => 'Inch',
|
665
751
|
'6I' => 'Inco',
|
752
|
+
'INK' => 'Inka',
|
666
753
|
'IW' => 'iNew',
|
667
754
|
'IF' => 'Infinix',
|
668
755
|
'INF' => 'Infiniton',
|
669
756
|
'I0' => 'InFocus',
|
670
757
|
'IN1' => 'InFone',
|
671
758
|
'II' => 'Inkti',
|
759
|
+
'MIR' => 'Infomir',
|
672
760
|
'81' => 'InfoKit',
|
673
761
|
'I5' => 'InnJoo',
|
674
762
|
'26' => 'Innos',
|
@@ -711,13 +799,16 @@ class DeviceDetector
|
|
711
799
|
'QW' => 'iWaylink',
|
712
800
|
'I9' => 'iZotron',
|
713
801
|
'IXT' => 'iXTech',
|
802
|
+
'IOT' => 'IOTWE',
|
714
803
|
'JA' => 'JAY-Tech',
|
715
804
|
'KJ' => 'Jiake',
|
716
805
|
'JD' => 'Jedi',
|
806
|
+
'JEE' => 'Jeep',
|
717
807
|
'J6' => 'Jeka',
|
718
808
|
'JF' => 'JFone',
|
719
809
|
'JI' => 'Jiayu',
|
720
810
|
'JG' => 'Jinga',
|
811
|
+
'JIN' => 'Jin Tu',
|
721
812
|
'JX' => 'Jio',
|
722
813
|
'VJ' => 'Jivi',
|
723
814
|
'JK' => 'JKL',
|
@@ -748,8 +839,10 @@ class DeviceDetector
|
|
748
839
|
'KHA' => 'Khadas',
|
749
840
|
'KS' => 'Kempler & Strauss',
|
750
841
|
'K3' => 'Keneksi',
|
842
|
+
'KHI' => 'KENSHI',
|
751
843
|
'KX' => 'Kenxinda',
|
752
844
|
'KEN' => 'Kenbo',
|
845
|
+
'KND' => 'Kendo',
|
753
846
|
'KZG' => 'KZG',
|
754
847
|
'K1' => 'Kiano',
|
755
848
|
'5W' => 'Kingbox',
|
@@ -760,6 +853,7 @@ class DeviceDetector
|
|
760
853
|
'46' => 'Kiowa',
|
761
854
|
'KV' => 'Kivi',
|
762
855
|
'64' => 'Kvant',
|
856
|
+
'KVA' => 'KVADRA',
|
763
857
|
'0K' => 'Klipad',
|
764
858
|
'KNM' => 'KN Mobile',
|
765
859
|
'KC' => 'Kocaso',
|
@@ -786,6 +880,7 @@ class DeviceDetector
|
|
786
880
|
'8K' => 'Kult',
|
787
881
|
'KU' => 'Kumai',
|
788
882
|
'6K' => 'Kurio',
|
883
|
+
'KYD' => 'Kydos',
|
789
884
|
'KY' => 'Kyocera',
|
790
885
|
'KQ' => 'Kyowon',
|
791
886
|
'1K' => 'Kzen',
|
@@ -798,6 +893,7 @@ class DeviceDetector
|
|
798
893
|
'Z3' => 'Laurus',
|
799
894
|
'LEC' => 'Lectrus',
|
800
895
|
'LV' => 'Lava',
|
896
|
+
'LVI' => 'Lville',
|
801
897
|
'LC' => 'LCT',
|
802
898
|
'L5' => 'Leagoo',
|
803
899
|
'U3' => 'Leben',
|
@@ -809,6 +905,7 @@ class DeviceDetector
|
|
809
905
|
'LEG' => 'Legend',
|
810
906
|
'L4' => 'Lemhoov',
|
811
907
|
'W9' => 'LEMFO',
|
908
|
+
'LEM' => 'Lemco',
|
812
909
|
'LN' => 'Lenco',
|
813
910
|
'LE' => 'Lenovo',
|
814
911
|
'LT' => 'Leotec',
|
@@ -824,6 +921,7 @@ class DeviceDetector
|
|
824
921
|
'LIN' => 'Linsay',
|
825
922
|
'LF' => 'Lifemaxx',
|
826
923
|
'LI' => 'Lingwin',
|
924
|
+
'LIB' => 'Lingbo',
|
827
925
|
'LIM' => 'Lime',
|
828
926
|
'LJ' => 'L-Max',
|
829
927
|
'LW' => 'Linnex',
|
@@ -835,6 +933,7 @@ class DeviceDetector
|
|
835
933
|
'1L' => 'Logic',
|
836
934
|
'LH' => 'Logic Instrument',
|
837
935
|
'LM' => 'Logicom',
|
936
|
+
'LOG' => 'Logik',
|
838
937
|
'GY' => 'LOKMAT',
|
839
938
|
'LPX' => 'LPX-G',
|
840
939
|
'0L' => 'Lumigon',
|
@@ -851,6 +950,8 @@ class DeviceDetector
|
|
851
950
|
'92' => 'MAC AUDIO',
|
852
951
|
'MJ' => 'Majestic',
|
853
952
|
'FQ' => 'Mafe',
|
953
|
+
'MAG' => 'MAG',
|
954
|
+
'MA2' => 'MAGCH',
|
854
955
|
'6Y' => 'Magicsee',
|
855
956
|
'23' => 'Magnus',
|
856
957
|
'NH' => 'Manhattan',
|
@@ -866,28 +967,34 @@ class DeviceDetector
|
|
866
967
|
'3X' => 'Mastertech',
|
867
968
|
'MAS' => 'Master-G',
|
868
969
|
'50' => 'Matrix',
|
970
|
+
'MAT' => 'Matco Tools',
|
869
971
|
'7M' => 'Maxcom',
|
870
972
|
'7M1' => 'Maxfone',
|
871
973
|
'ZM' => 'Maximus',
|
872
974
|
'6X' => 'Maxtron',
|
873
975
|
'0D' => 'MAXVI',
|
976
|
+
'MAX' => 'Maxwell',
|
874
977
|
'XZ' => 'MAXX',
|
875
978
|
'MW' => 'Maxwest',
|
876
979
|
'M0' => 'Maze',
|
877
980
|
'YM' => 'Maze Speed',
|
878
981
|
'87' => 'Malata',
|
982
|
+
'MAU' => 'Maunfeld',
|
879
983
|
'28' => 'MBOX',
|
880
984
|
'FK' => 'MBI',
|
985
|
+
'MBK' => 'MBK',
|
881
986
|
'3D' => 'MDC Store',
|
882
987
|
'1Y' => 'MDTV',
|
883
988
|
'09' => 'meanIT',
|
884
989
|
'M3' => 'Mecer',
|
885
990
|
'M3M' => 'M3 Mobile',
|
886
991
|
'0M' => 'Mecool',
|
992
|
+
'MEM' => 'MeMobile',
|
887
993
|
'MC' => 'Mediacom',
|
888
994
|
'MK' => 'MediaTek',
|
889
995
|
'MD' => 'Medion',
|
890
996
|
'M2' => 'MEEG',
|
997
|
+
'MEG' => 'MEGA VISION',
|
891
998
|
'MP' => 'MegaFon',
|
892
999
|
'X0' => 'mPhone',
|
893
1000
|
'3M' => 'Meitu',
|
@@ -895,8 +1002,10 @@ class DeviceDetector
|
|
895
1002
|
'0E' => 'Melrose',
|
896
1003
|
'MU' => 'Memup',
|
897
1004
|
'ME' => 'Metz',
|
1005
|
+
'MEO' => 'MEO',
|
898
1006
|
'MX' => 'MEU',
|
899
1007
|
'MI' => 'MicroMax',
|
1008
|
+
'MIP' => 'mipo',
|
900
1009
|
'MS' => 'Microsoft',
|
901
1010
|
'6Q' => 'Microtech',
|
902
1011
|
'1X' => 'Minix',
|
@@ -905,6 +1014,7 @@ class DeviceDetector
|
|
905
1014
|
'MO' => 'Mio',
|
906
1015
|
'X7' => 'Mione',
|
907
1016
|
'M7' => 'Miray',
|
1017
|
+
'MIT' => 'Mitchell & Brown',
|
908
1018
|
'8M' => 'Mito',
|
909
1019
|
'MT' => 'Mitsubishi',
|
910
1020
|
'0Y' => 'Mitsui',
|
@@ -925,6 +1035,7 @@ class DeviceDetector
|
|
925
1035
|
'6W' => 'MobiWire',
|
926
1036
|
'9M' => 'Mobo',
|
927
1037
|
'MOB' => 'Mobell',
|
1038
|
+
'MVO' => 'Mobvoi',
|
928
1039
|
'M4' => 'Modecom',
|
929
1040
|
'MF' => 'Mofut',
|
930
1041
|
'MR' => 'Motorola',
|
@@ -956,6 +1067,7 @@ class DeviceDetector
|
|
956
1067
|
'MYG' => 'MygPad',
|
957
1068
|
'MWA' => 'MwalimuPlus',
|
958
1069
|
'NEO' => 'neoCore',
|
1070
|
+
'NER' => 'Neoregent',
|
959
1071
|
'08' => 'Nabi',
|
960
1072
|
'N7' => 'National',
|
961
1073
|
'NC' => 'Navcity',
|
@@ -963,6 +1075,7 @@ class DeviceDetector
|
|
963
1075
|
'7V' => 'Navitel',
|
964
1076
|
'N3' => 'Navon',
|
965
1077
|
'7R' => 'NavRoad',
|
1078
|
+
'NAB' => 'NABO',
|
966
1079
|
'NAS' => 'NASCO',
|
967
1080
|
'NP' => 'Naomi Phone',
|
968
1081
|
'NAN' => 'Nanho',
|
@@ -975,10 +1088,12 @@ class DeviceDetector
|
|
975
1088
|
'1N' => 'Neomi',
|
976
1089
|
'7Q' => 'Neon IQ',
|
977
1090
|
'8F' => 'Neolix',
|
1091
|
+
'NET' => 'NetBox',
|
978
1092
|
'NA' => 'Netgear',
|
979
1093
|
'NEM' => 'Netmak',
|
980
1094
|
'NU' => 'NeuImage',
|
981
1095
|
'NEU' => 'NeuTab',
|
1096
|
+
'NEV' => 'NEVIR',
|
982
1097
|
'NW' => 'Newgen',
|
983
1098
|
'N9' => 'Newland',
|
984
1099
|
'0N' => 'Newman',
|
@@ -995,6 +1110,7 @@ class DeviceDetector
|
|
995
1110
|
'NTT' => 'NTT West',
|
996
1111
|
'4N' => 'NextTab',
|
997
1112
|
'NEX' => 'NEXT',
|
1113
|
+
'NST' => 'Next & NextStar',
|
998
1114
|
'NJO' => 'nJoy',
|
999
1115
|
'NG' => 'NGM',
|
1000
1116
|
'NZ' => 'NG Optics',
|
@@ -1005,6 +1121,8 @@ class DeviceDetector
|
|
1005
1121
|
'N5' => 'NOA',
|
1006
1122
|
'N1' => 'Noain',
|
1007
1123
|
'N6' => 'Nobby',
|
1124
|
+
'NOC' => 'Novacom',
|
1125
|
+
'NOS' => 'NoviSea',
|
1008
1126
|
'NOV' => 'Novey',
|
1009
1127
|
'NO1' => 'NOVO',
|
1010
1128
|
'57' => 'Nubia',
|
@@ -1016,6 +1134,7 @@ class DeviceDetector
|
|
1016
1134
|
'2N' => 'Nomu',
|
1017
1135
|
'6H' => 'Noontec',
|
1018
1136
|
'NR' => 'Nordmende',
|
1137
|
+
'NOR' => 'NORMANDE',
|
1019
1138
|
'7N' => 'NorthTech',
|
1020
1139
|
'NOT' => 'Nothing Phone',
|
1021
1140
|
'5N' => 'Nos',
|
@@ -1028,6 +1147,7 @@ class DeviceDetector
|
|
1028
1147
|
'NUV' => 'NuVision',
|
1029
1148
|
'NV' => 'Nvidia',
|
1030
1149
|
'NY' => 'NYX Mobile',
|
1150
|
+
'NON' => 'N-one',
|
1031
1151
|
'O3' => 'O+',
|
1032
1152
|
'OT' => 'O2',
|
1033
1153
|
'O7' => 'Oale',
|
@@ -1043,6 +1163,7 @@ class DeviceDetector
|
|
1043
1163
|
'OLA' => 'Olax',
|
1044
1164
|
'OLK' => 'Olkya',
|
1045
1165
|
'OLY' => 'Olympia',
|
1166
|
+
'OCE' => 'OCEANIC',
|
1046
1167
|
'OLT' => 'OLTO',
|
1047
1168
|
'OJ' => 'Ookee',
|
1048
1169
|
'OD' => 'Onda',
|
@@ -1051,9 +1172,12 @@ class DeviceDetector
|
|
1051
1172
|
'ONL' => 'OneLern',
|
1052
1173
|
'OAN' => 'Oangcc',
|
1053
1174
|
'OX' => 'Onix',
|
1175
|
+
'OIN' => 'Onida',
|
1054
1176
|
'3O' => 'ONYX BOOX',
|
1055
1177
|
'O4' => 'ONN',
|
1056
1178
|
'9Q' => 'Onkyo',
|
1179
|
+
'ONV' => 'ONVO',
|
1180
|
+
'OOR' => 'Ooredoo',
|
1057
1181
|
'2O' => 'OpelMobile',
|
1058
1182
|
'OH' => 'Openbox',
|
1059
1183
|
'7Y' => 'Obabox',
|
@@ -1062,6 +1186,7 @@ class DeviceDetector
|
|
1062
1186
|
'OPT' => 'Optoma',
|
1063
1187
|
'OPH' => 'Ophone',
|
1064
1188
|
'OR' => 'Orange',
|
1189
|
+
'ORA' => 'Orava',
|
1065
1190
|
'O5' => 'Orbic',
|
1066
1191
|
'Y6' => 'Orbita',
|
1067
1192
|
'ORB' => 'Orbsmart',
|
@@ -1086,12 +1211,17 @@ class DeviceDetector
|
|
1086
1211
|
'OZ' => 'OzoneHD',
|
1087
1212
|
'OLL' => 'Ollee',
|
1088
1213
|
'7P' => 'P-UP',
|
1214
|
+
'PRA' => 'Pacific Research Alliance',
|
1215
|
+
'PAG' => 'PAGRAER',
|
1216
|
+
'PAD' => 'Padpro',
|
1089
1217
|
'YP' => 'Paladin',
|
1090
1218
|
'PM' => 'Palm',
|
1091
1219
|
'PN' => 'Panacom',
|
1092
1220
|
'PA' => 'Panasonic',
|
1221
|
+
'PNV' => 'Panavox',
|
1093
1222
|
'PT' => 'Pantech',
|
1094
1223
|
'PAN' => 'Pano',
|
1224
|
+
'PND' => 'Panodic',
|
1095
1225
|
'PA1' => 'Panoramic',
|
1096
1226
|
'PLT' => 'Platoon',
|
1097
1227
|
'94' => 'Packard Bell',
|
@@ -1103,6 +1233,7 @@ class DeviceDetector
|
|
1103
1233
|
'PC' => 'PCD',
|
1104
1234
|
'PD' => 'PCD Argentina',
|
1105
1235
|
'PE' => 'PEAQ',
|
1236
|
+
'PEN' => 'Penta',
|
1106
1237
|
'PG' => 'Pentagram',
|
1107
1238
|
'PQ' => 'Pendoo',
|
1108
1239
|
'93' => 'Perfeo',
|
@@ -1122,6 +1253,7 @@ class DeviceDetector
|
|
1122
1253
|
'PIR' => 'PIRANHA',
|
1123
1254
|
'PIN' => 'PINE',
|
1124
1255
|
'9P' => 'Planet Computers',
|
1256
|
+
'PLA' => 'Play Now',
|
1125
1257
|
'PY' => 'Ployer',
|
1126
1258
|
'P4' => 'Plum',
|
1127
1259
|
'PLU' => 'PlusStyle',
|
@@ -1154,6 +1286,7 @@ class DeviceDetector
|
|
1154
1286
|
'P6' => 'Proline',
|
1155
1287
|
'5O' => 'Prology',
|
1156
1288
|
'P1' => 'ProScan',
|
1289
|
+
'PRO' => 'PROSONIC',
|
1157
1290
|
'P7' => 'Protruly',
|
1158
1291
|
'R0' => 'ProVision',
|
1159
1292
|
'7O' => 'Polestar',
|
@@ -1165,6 +1298,7 @@ class DeviceDetector
|
|
1165
1298
|
'QH' => 'Q-Touch',
|
1166
1299
|
'QB' => 'Q.Bell',
|
1167
1300
|
'QI' => 'Qilive',
|
1301
|
+
'QIN' => 'QIN',
|
1168
1302
|
'QM' => 'QMobile',
|
1169
1303
|
'QT' => 'Qtek',
|
1170
1304
|
'Q9' => 'QTECH',
|
@@ -1178,6 +1312,7 @@ class DeviceDetector
|
|
1178
1312
|
'YQ' => 'QLink',
|
1179
1313
|
'QY' => 'Qnet Mobile',
|
1180
1314
|
'WJ' => 'Qware',
|
1315
|
+
'QWT' => 'QWATT',
|
1181
1316
|
'R2' => 'R-TV',
|
1182
1317
|
'RA' => 'Ramos',
|
1183
1318
|
'0R' => 'Raspberry',
|
@@ -1201,6 +1336,7 @@ class DeviceDetector
|
|
1201
1336
|
'RP' => 'Revo',
|
1202
1337
|
'REV' => 'Revomovil',
|
1203
1338
|
'8R' => 'Retroid Pocket',
|
1339
|
+
'REN' => 'Renova',
|
1204
1340
|
'RIC' => 'Ricoh',
|
1205
1341
|
'RI' => 'Rikomagic',
|
1206
1342
|
'RM' => 'RIM',
|
@@ -1213,6 +1349,7 @@ class DeviceDetector
|
|
1213
1349
|
'RR' => 'Roadrover',
|
1214
1350
|
'QR' => 'ROADMAX',
|
1215
1351
|
'ROC' => 'Roam Cat',
|
1352
|
+
'ROT' => 'Rocket',
|
1216
1353
|
'R1' => 'Rokit',
|
1217
1354
|
'ROI' => 'ROiK',
|
1218
1355
|
'RK' => 'Roku',
|
@@ -1232,13 +1369,16 @@ class DeviceDetector
|
|
1232
1369
|
'RY' => 'Ryte',
|
1233
1370
|
'X5' => 'Saba',
|
1234
1371
|
'8L' => 'S-TELL',
|
1372
|
+
'8L1' => 'S-Color',
|
1235
1373
|
'4O' => 'S2Tel',
|
1236
1374
|
'89' => 'Seatel',
|
1237
1375
|
'SEW' => 'Sewoo',
|
1238
1376
|
'SE1' => 'SEEWO',
|
1239
1377
|
'Y7' => 'Saiet',
|
1378
|
+
'SLF' => 'SAILF',
|
1240
1379
|
'X1' => 'Safaricom',
|
1241
1380
|
'SG' => 'Sagem',
|
1381
|
+
'SAG' => 'Sagemcom',
|
1242
1382
|
'4L' => 'Salora',
|
1243
1383
|
'SA' => 'Samsung',
|
1244
1384
|
'SAT' => 'Samtech',
|
@@ -1256,6 +1396,7 @@ class DeviceDetector
|
|
1256
1396
|
'SCO' => 'Scosmos',
|
1257
1397
|
'ZG' => 'Schok',
|
1258
1398
|
'G8' => 'SEG',
|
1399
|
+
'SEX' => 'SEHMAX',
|
1259
1400
|
'SD' => 'Sega',
|
1260
1401
|
'0U' => 'Selecline',
|
1261
1402
|
'9G' => 'Selenga',
|
@@ -1283,8 +1424,10 @@ class DeviceDetector
|
|
1283
1424
|
'1S' => 'Sigma',
|
1284
1425
|
'70' => 'Silelis',
|
1285
1426
|
'SJ' => 'Silent Circle',
|
1427
|
+
'SIL' => 'Silva Schneider',
|
1286
1428
|
'10' => 'Simbans',
|
1287
1429
|
'98' => 'Simply',
|
1430
|
+
'SIM' => 'simfer',
|
1288
1431
|
'52' => 'Singtech',
|
1289
1432
|
'31' => 'Siragon',
|
1290
1433
|
'83' => 'Sirin Labs',
|
@@ -1294,6 +1437,7 @@ class DeviceDetector
|
|
1294
1437
|
'SK' => 'Skyworth',
|
1295
1438
|
'SKY' => 'Skyline',
|
1296
1439
|
'SK1' => 'SkyStream',
|
1440
|
+
'SKT' => 'Skytech',
|
1297
1441
|
'SKK' => 'SKK Mobile',
|
1298
1442
|
'14' => 'Smadl',
|
1299
1443
|
'19' => 'Smailo',
|
@@ -1306,6 +1450,7 @@ class DeviceDetector
|
|
1306
1450
|
'SM1' => 'Smartex',
|
1307
1451
|
'SC' => 'Smartfren',
|
1308
1452
|
'S7' => 'Smartisan',
|
1453
|
+
'SMU' => 'SMUX',
|
1309
1454
|
'JR' => 'Sylvania',
|
1310
1455
|
'SYH' => 'SYH',
|
1311
1456
|
'3Y' => 'Smarty',
|
@@ -1316,21 +1461,26 @@ class DeviceDetector
|
|
1316
1461
|
'JL' => 'SOLO',
|
1317
1462
|
'SOS' => 'SOSH',
|
1318
1463
|
'SOD' => 'Soda',
|
1464
|
+
'SOL' => 'Solas',
|
1319
1465
|
'16' => 'Solone',
|
1320
1466
|
'OI' => 'Sonim',
|
1467
|
+
'SVE' => 'Sveon',
|
1321
1468
|
'SO' => 'Sony',
|
1322
1469
|
'SE' => 'Sony Ericsson',
|
1323
1470
|
'X2' => 'Soundmax',
|
1471
|
+
'SUL' => 'SoulLink',
|
1324
1472
|
'8S' => 'Soyes',
|
1325
1473
|
'77' => 'SONOS',
|
1326
1474
|
'68' => 'Soho Style',
|
1327
1475
|
'SOB' => 'SobieTech',
|
1328
1476
|
'PK' => 'Spark',
|
1477
|
+
'SPX' => 'Sparx',
|
1329
1478
|
'FS' => 'SPC',
|
1330
1479
|
'6S' => 'Spectrum',
|
1331
1480
|
'43' => 'Spectralink',
|
1332
1481
|
'SP' => 'Spice',
|
1333
1482
|
'84' => 'Sprint',
|
1483
|
+
'SPU' => 'SPURT',
|
1334
1484
|
'QS' => 'SQOOL',
|
1335
1485
|
'S4' => 'Star',
|
1336
1486
|
'OL' => 'Starlight',
|
@@ -1348,6 +1498,7 @@ class DeviceDetector
|
|
1348
1498
|
'69' => 'Stylo',
|
1349
1499
|
'9S' => 'Sugar',
|
1350
1500
|
'SUR' => 'Surge',
|
1501
|
+
'SUF' => 'Surfans',
|
1351
1502
|
'06' => 'Subor',
|
1352
1503
|
'SZ' => 'Sumvision',
|
1353
1504
|
'0H' => 'Sunstech',
|
@@ -1356,6 +1507,8 @@ class DeviceDetector
|
|
1356
1507
|
'5Y' => 'Sunny',
|
1357
1508
|
'W8' => 'SUNWIND',
|
1358
1509
|
'SBX' => 'SuperBOX',
|
1510
|
+
'SBR' => 'Sber',
|
1511
|
+
'SGE' => 'Super General',
|
1359
1512
|
'SU' => 'SuperSonic',
|
1360
1513
|
'79' => 'SuperTab',
|
1361
1514
|
'S5' => 'Supra',
|
@@ -1367,19 +1520,21 @@ class DeviceDetector
|
|
1367
1520
|
'SWI' => 'Switel',
|
1368
1521
|
'SS' => 'SWISSMOBILITY',
|
1369
1522
|
'1W' => 'Swisstone',
|
1370
|
-
'W7' => 'SWTV',
|
1371
1523
|
'SSK' => 'SSKY',
|
1372
1524
|
'SYC' => 'Syco',
|
1373
1525
|
'SM' => 'Symphony',
|
1374
1526
|
'4S' => 'Syrox',
|
1527
|
+
'SYS' => 'System76',
|
1375
1528
|
'TM' => 'T-Mobile',
|
1376
1529
|
'T96' => 'T96',
|
1530
|
+
'TAD' => 'TADAAM',
|
1377
1531
|
'TK' => 'Takara',
|
1378
1532
|
'73' => 'Tambo',
|
1379
1533
|
'9N' => 'Tanix',
|
1380
1534
|
'U5' => 'Taiga System',
|
1381
1535
|
'TAL' => 'Talius',
|
1382
1536
|
'7G' => 'TAG Tech',
|
1537
|
+
'TAU' => 'TAUBE',
|
1383
1538
|
'T5' => 'TB Touch',
|
1384
1539
|
'TC' => 'TCL',
|
1385
1540
|
'T0' => 'TD Systems',
|
@@ -1390,20 +1545,24 @@ class DeviceDetector
|
|
1390
1545
|
'TE1' => 'TechSmart',
|
1391
1546
|
'TX' => 'TechniSat',
|
1392
1547
|
'TT' => 'TechnoTrend',
|
1548
|
+
'TTS' => 'TECHNOSAT',
|
1393
1549
|
'TP' => 'TechPad',
|
1394
1550
|
'TPS' => 'TPS',
|
1395
1551
|
'9E' => 'Techwood',
|
1396
1552
|
'7F' => 'Technopc',
|
1553
|
+
'TCH' => 'Techstorm',
|
1397
1554
|
'T7' => 'Teclast',
|
1398
1555
|
'TB' => 'Tecno Mobile',
|
1399
1556
|
'TEC' => 'TecToy',
|
1400
1557
|
'91' => 'TEENO',
|
1558
|
+
'TLK' => 'Telkom',
|
1401
1559
|
'2L' => 'Tele2',
|
1402
1560
|
'TL' => 'Telefunken',
|
1403
1561
|
'TG' => 'Telego',
|
1404
1562
|
'T2' => 'Telenor',
|
1405
1563
|
'TE' => 'Telit',
|
1406
1564
|
'65' => 'Telia',
|
1565
|
+
'TLY' => 'Telly',
|
1407
1566
|
'TEL' => 'Telma',
|
1408
1567
|
'PW' => 'Telpo',
|
1409
1568
|
'TLS' => 'TeloSystems',
|
@@ -1434,6 +1593,7 @@ class DeviceDetector
|
|
1434
1593
|
'T1' => 'Tolino',
|
1435
1594
|
'0T' => 'Tone',
|
1436
1595
|
'TY' => 'Tooky',
|
1596
|
+
'TYD' => 'TYD',
|
1437
1597
|
'TOO' => 'TOOGO',
|
1438
1598
|
'T9' => 'Top House',
|
1439
1599
|
'DK' => 'Topelotek',
|
@@ -1452,13 +1612,16 @@ class DeviceDetector
|
|
1452
1612
|
'5R' => 'Transpeed',
|
1453
1613
|
'T6' => 'TrekStor',
|
1454
1614
|
'T3' => 'Trevi',
|
1615
|
+
'TRI' => 'TriaPlay',
|
1455
1616
|
'TJ' => 'Trifone',
|
1456
1617
|
'Q5' => 'Trident',
|
1457
1618
|
'4T' => 'Tronsmart',
|
1458
1619
|
'11' => 'True',
|
1459
1620
|
'JT' => 'True Slim',
|
1460
1621
|
'J1' => 'Trio',
|
1622
|
+
'THT' => 'Tsinghua Tongfang',
|
1461
1623
|
'5C' => 'TTEC',
|
1624
|
+
'TTF' => 'TTfone',
|
1462
1625
|
'TTK' => 'TTK-TV',
|
1463
1626
|
'TU' => 'Tunisie Telecom',
|
1464
1627
|
'1T' => 'Turbo',
|
@@ -1467,13 +1630,17 @@ class DeviceDetector
|
|
1467
1630
|
'5T' => 'TurboKids',
|
1468
1631
|
'UR' => 'Turkcell',
|
1469
1632
|
'4U' => 'TuCEL',
|
1633
|
+
'TUV' => 'Tuvio',
|
1470
1634
|
'2U' => 'Türk Telekom',
|
1471
1635
|
'TV' => 'TVC',
|
1472
1636
|
'TW' => 'TWM',
|
1473
1637
|
'Z1' => 'TWZ',
|
1474
1638
|
'6T' => 'Twoe',
|
1639
|
+
'TWN' => 'TwinMOS',
|
1475
1640
|
'15' => 'Tymes',
|
1476
1641
|
'UC' => 'U.S. Cellular',
|
1642
|
+
'UD1' => 'UD',
|
1643
|
+
'UGI' => 'UGINE',
|
1477
1644
|
'UG' => 'Ugoos',
|
1478
1645
|
'U1' => 'Uhans',
|
1479
1646
|
'UH' => 'Uhappy',
|
@@ -1508,9 +1675,13 @@ class DeviceDetector
|
|
1508
1675
|
'VP' => 'Vargo',
|
1509
1676
|
'VC' => 'Vankyo',
|
1510
1677
|
'VAL' => 'VALEM',
|
1678
|
+
'VA2' => 'VALE',
|
1511
1679
|
'VAT' => 'VALTECH',
|
1680
|
+
'VAN' => 'VANGUARD',
|
1681
|
+
'VAW' => 'VANWIN',
|
1512
1682
|
'VB' => 'VC',
|
1513
1683
|
'VN' => 'Venso',
|
1684
|
+
'VNP' => 'VNPT Technology',
|
1514
1685
|
'VEN' => 'Venstar',
|
1515
1686
|
'UV' => 'Venturer',
|
1516
1687
|
'VQ' => 'Vega',
|
@@ -1555,6 +1726,7 @@ class DeviceDetector
|
|
1555
1726
|
'VIT' => 'Vityaz',
|
1556
1727
|
'9V' => 'Vision Touch',
|
1557
1728
|
'VIL' => 'Visual Land',
|
1729
|
+
'VI1' => 'VILLAON',
|
1558
1730
|
'VK' => 'VK Mobile',
|
1559
1731
|
'JM' => 'v-mobile',
|
1560
1732
|
'VHO' => 'V-HOPE',
|
@@ -1562,6 +1734,7 @@ class DeviceDetector
|
|
1562
1734
|
'VGE' => 'V-Gen',
|
1563
1735
|
'V0' => 'VKworld',
|
1564
1736
|
'VM' => 'Vodacom',
|
1737
|
+
'VOC' => 'VOCAL',
|
1565
1738
|
'VF' => 'Vodafone',
|
1566
1739
|
'7W' => 'VOGA',
|
1567
1740
|
'V2' => 'Vonino',
|
@@ -1577,16 +1750,25 @@ class DeviceDetector
|
|
1577
1750
|
'VY' => 'Voyo',
|
1578
1751
|
'VOL' => 'Völfen',
|
1579
1752
|
'VO1' => 'Volt',
|
1753
|
+
'VOP' => 'Volla',
|
1754
|
+
'V02' => 'VOLIA',
|
1580
1755
|
'VH' => 'Vsmart',
|
1581
1756
|
'V9' => 'Vsun',
|
1582
1757
|
'VU' => 'Vulcan',
|
1583
1758
|
'3V' => 'VVETIME',
|
1584
1759
|
'ZC' => 'VUCATIMES',
|
1760
|
+
'VO2' => 'VOLKANO',
|
1585
1761
|
'VUE' => 'Vue Micro',
|
1762
|
+
'WAK' => 'Walker',
|
1586
1763
|
'WA' => 'Walton',
|
1587
1764
|
'WAF' => 'WAF',
|
1765
|
+
'WAO' => 'W&O',
|
1588
1766
|
'WAL' => 'Waltter',
|
1767
|
+
'WAI' => 'Wainyok',
|
1589
1768
|
'WHI' => 'White Mobile',
|
1769
|
+
'WHO' => 'Whoop',
|
1770
|
+
'WBL' => 'We. by Loewe.',
|
1771
|
+
'WCP' => 'WeChip',
|
1590
1772
|
'WM' => 'Weimei',
|
1591
1773
|
'WE' => 'WellcoM',
|
1592
1774
|
'W6' => 'WELLINGTON',
|
@@ -1615,6 +1797,7 @@ class DeviceDetector
|
|
1615
1797
|
'WL' => 'Wolder',
|
1616
1798
|
'WG' => 'Wolfgang',
|
1617
1799
|
'WQ' => 'Wolki',
|
1800
|
+
'WON' => 'WONDER',
|
1618
1801
|
'WO' => 'Wonu',
|
1619
1802
|
'W1' => 'Woo',
|
1620
1803
|
'WR' => 'Wortmann',
|
@@ -1631,6 +1814,7 @@ class DeviceDetector
|
|
1631
1814
|
'96Q' => 'X96Q',
|
1632
1815
|
'A95' => 'A95X',
|
1633
1816
|
'XG' => 'Xgody',
|
1817
|
+
'XGE' => 'XGEM',
|
1634
1818
|
'QX' => 'XGIMI',
|
1635
1819
|
'XL' => 'Xiaolajiao',
|
1636
1820
|
'XI' => 'Xiaomi',
|
@@ -1639,6 +1823,7 @@ class DeviceDetector
|
|
1639
1823
|
'XO' => 'Xolo',
|
1640
1824
|
'XR' => 'Xoro',
|
1641
1825
|
'XS' => 'Xshitou',
|
1826
|
+
'XSM' => 'Xsmart',
|
1642
1827
|
'4X' => 'Xtouch',
|
1643
1828
|
'X8' => 'Xtratech',
|
1644
1829
|
'XCR' => 'Xcruiser',
|
@@ -1686,6 +1871,7 @@ class DeviceDetector
|
|
1686
1871
|
'FZ' => 'ZIFRO',
|
1687
1872
|
'ZX' => 'Ziox',
|
1688
1873
|
'ZIK' => 'ZIK',
|
1874
|
+
'ZKI' => 'Z-Kai',
|
1689
1875
|
'ZIG' => 'Zigo',
|
1690
1876
|
'ZIN' => 'Zinox',
|
1691
1877
|
'ZO' => 'Zonda',
|
@@ -1701,6 +1887,7 @@ class DeviceDetector
|
|
1701
1887
|
'Z4' => 'ZH&K',
|
1702
1888
|
'OW' => 'öwn',
|
1703
1889
|
'WBF' => 'Webfleet',
|
1890
|
+
'WSS' => 'WS',
|
1704
1891
|
|
1705
1892
|
# legacy brands, might be removed in future versions
|
1706
1893
|
'WB' => 'Web TV',
|