device_detector 1.0.7 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +25 -4
- data/lib/device_detector/browser.rb +184 -5
- data/lib/device_detector/client_hint.rb +181 -0
- data/lib/device_detector/device.rb +522 -3
- data/lib/device_detector/os.rb +33 -3
- data/lib/device_detector/parser.rb +25 -3
- data/lib/device_detector/vendor_fragment.rb +25 -0
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector.rb +82 -16
- data/regexes/bots.yml +757 -17
- data/regexes/client/browsers.yml +365 -54
- data/regexes/client/hints/apps.yml +102 -0
- data/regexes/client/hints/browsers.yml +195 -0
- data/regexes/client/libraries.yml +200 -3
- data/regexes/client/mobile_apps.yml +396 -14
- data/regexes/client/pim.yml +15 -0
- data/regexes/device/car_browsers.yml +1 -1
- data/regexes/device/consoles.yml +8 -3
- data/regexes/device/mobiles.yml +12126 -2425
- data/regexes/device/portable_media_player.yml +24 -2
- data/regexes/device/shell_tv.yml +16 -0
- data/regexes/device/televisions.yml +26 -4
- data/regexes/oss.yml +381 -50
- metadata +11 -7
@@ -22,6 +22,7 @@ class DeviceDetector
|
|
22
22
|
|
23
23
|
DEVICE_BRANDS = {
|
24
24
|
'5E' => '2E',
|
25
|
+
'5IV' => '5IVE',
|
25
26
|
'2F' => 'F2 Mobile',
|
26
27
|
'3Q' => '3Q',
|
27
28
|
'J7' => '7 Mobile',
|
@@ -31,30 +32,41 @@ class DeviceDetector
|
|
31
32
|
'04' => '4ife',
|
32
33
|
'36' => '360',
|
33
34
|
'88' => '8848',
|
35
|
+
'10M' => '10moons',
|
34
36
|
'41' => 'A1',
|
35
37
|
'00' => 'Accent',
|
38
|
+
'ACC' => 'Accesstyle',
|
36
39
|
'AE' => 'Ace',
|
37
40
|
'AC' => 'Acer',
|
38
41
|
'3K' => 'Acteck',
|
42
|
+
'ACT' => 'actiMirror',
|
39
43
|
'A9' => 'Advan',
|
40
44
|
'AD' => 'Advance',
|
45
|
+
'ADV' => 'Advantage Air',
|
41
46
|
'76' => 'Adronix',
|
42
47
|
'AF' => 'AfriOne',
|
48
|
+
'FY' => 'AFFIX',
|
43
49
|
'A3' => 'AGM',
|
50
|
+
'AEE' => 'AEEZO',
|
44
51
|
'J0' => 'AG Mobile',
|
45
52
|
'AZ' => 'Ainol',
|
53
|
+
'AIR' => 'Airis',
|
46
54
|
'AI' => 'Airness',
|
55
|
+
'ARP' => 'Airpha',
|
47
56
|
'AT' => 'Airties',
|
57
|
+
'7U' => 'Airtel',
|
48
58
|
'U0' => 'AIRON',
|
49
59
|
'0A' => 'AIS',
|
50
60
|
'AW' => 'Aiwa',
|
51
61
|
'85' => 'Aiuto',
|
62
|
+
'U7' => 'AIDATA',
|
52
63
|
'AK' => 'Akai',
|
53
64
|
'Q3' => 'AKIRA',
|
54
65
|
'1A' => 'Alba',
|
55
66
|
'AL' => 'Alcatel',
|
56
67
|
'20' => 'Alcor',
|
57
68
|
'XY' => 'Alps',
|
69
|
+
'XYA' => 'XY Auto',
|
58
70
|
'7L' => 'ALDI NORD',
|
59
71
|
'6L' => 'ALDI SÜD',
|
60
72
|
'3L' => 'Alfawise',
|
@@ -62,17 +74,21 @@ class DeviceDetector
|
|
62
74
|
'AA' => 'AllCall',
|
63
75
|
'3A' => 'AllDocube',
|
64
76
|
'A2' => 'Allview',
|
77
|
+
'ALI' => 'ALLINmobile',
|
65
78
|
'A7' => 'Allwinner',
|
66
79
|
'A1' => 'Altech UEC',
|
67
80
|
'66' => 'Altice',
|
68
81
|
'A5' => 'altron',
|
69
82
|
'KN' => 'Amazon',
|
83
|
+
'AMA' => 'AMA',
|
70
84
|
'AG' => 'AMGOO',
|
71
85
|
'9A' => 'Amigoo',
|
72
86
|
'AO' => 'Amoi',
|
73
87
|
'3J' => 'Amino',
|
74
88
|
'54' => 'AMCV',
|
75
89
|
'60' => 'Andowl',
|
90
|
+
'ANX' => 'ANXONIT',
|
91
|
+
'6J' => 'Angelcare',
|
76
92
|
'7A' => 'Anry',
|
77
93
|
'A0' => 'ANS',
|
78
94
|
'74' => 'Anker',
|
@@ -80,6 +96,7 @@ class DeviceDetector
|
|
80
96
|
'O8' => 'AOC',
|
81
97
|
'J2' => 'AOYODKG',
|
82
98
|
'55' => 'AOpen',
|
99
|
+
'RW' => 'Aoro',
|
83
100
|
'9Y' => 'Aocos',
|
84
101
|
'AP' => 'Apple',
|
85
102
|
'AR' => 'Archos',
|
@@ -89,6 +106,7 @@ class DeviceDetector
|
|
89
106
|
'AN' => 'Arnova',
|
90
107
|
'AS' => 'ARRIS',
|
91
108
|
'AQ' => 'Aspera',
|
109
|
+
'HJ' => 'Aquarius',
|
92
110
|
'40' => 'Artel',
|
93
111
|
'21' => 'Artizlee',
|
94
112
|
'59' => 'ArtLine',
|
@@ -97,32 +115,52 @@ class DeviceDetector
|
|
97
115
|
'1U' => 'Astro',
|
98
116
|
'A4' => 'Ask',
|
99
117
|
'A8' => 'Assistant',
|
118
|
+
'ASS' => 'ASSE',
|
100
119
|
'AU' => 'Asus',
|
101
120
|
'6A' => 'AT&T',
|
121
|
+
'ATH' => 'Athesi',
|
122
|
+
'5Q' => 'Atmaca Elektronik',
|
123
|
+
'YH' => 'ATMAN',
|
102
124
|
'2A' => 'Atom',
|
125
|
+
'ATO' => 'ATOL',
|
103
126
|
'Z2' => 'Atvio',
|
127
|
+
'ATI' => 'Attila',
|
104
128
|
'AX' => 'Audiovox',
|
105
129
|
'AJ' => 'AURIS',
|
130
|
+
'YZ' => 'Autan',
|
106
131
|
'ZA' => 'Avenzo',
|
107
132
|
'AH' => 'AVH',
|
108
133
|
'AV' => 'Avvio',
|
134
|
+
'AVA' => 'Avaya',
|
109
135
|
'AY' => 'Axxion',
|
136
|
+
'AXX' => 'AXXA',
|
137
|
+
'YR' => 'AYYA',
|
110
138
|
'XA' => 'Axioo',
|
111
139
|
'AM' => 'Azumi Mobile',
|
112
140
|
'WW' => 'Awow',
|
141
|
+
'XU' => 'AUX',
|
142
|
+
'BAC' => 'Backcell',
|
143
|
+
'BFF' => 'BAFF',
|
113
144
|
'BO' => 'BangOlufsen',
|
114
145
|
'BN' => 'Barnes & Noble',
|
146
|
+
'BAR' => 'BARTEC',
|
115
147
|
'BB' => 'BBK',
|
116
148
|
'0B' => 'BB Mobile',
|
117
149
|
'B6' => 'BDF',
|
118
150
|
'QD' => 'BDQ',
|
151
|
+
'8Z' => 'BDsharing',
|
152
|
+
'BEF' => 'Beafon',
|
119
153
|
'BE' => 'Becker',
|
120
154
|
'B5' => 'Beeline',
|
121
155
|
'B0' => 'Beelink',
|
122
156
|
'BL' => 'Beetel',
|
157
|
+
'2X' => 'Benco',
|
123
158
|
'BQ' => 'BenQ',
|
124
159
|
'BS' => 'BenQ-Siemens',
|
125
160
|
'4Y' => 'Benzo',
|
161
|
+
'XJ' => 'Benesse',
|
162
|
+
'BEN' => 'BenWee',
|
163
|
+
'YB' => 'Beista',
|
126
164
|
'BY' => 'BS Mobile',
|
127
165
|
'BZ' => 'Bezkam',
|
128
166
|
'9B' => 'Bellphone',
|
@@ -132,33 +170,49 @@ class DeviceDetector
|
|
132
170
|
'B8' => 'BIHEE',
|
133
171
|
'1B' => 'Billion',
|
134
172
|
'BA' => 'BilimLand',
|
173
|
+
'BIL' => 'Billow',
|
135
174
|
'BH' => 'BioRugged',
|
136
175
|
'BI' => 'Bird',
|
137
176
|
'BT' => 'Bitel',
|
138
177
|
'B7' => 'Bitmore',
|
178
|
+
'ZB' => 'Bittium',
|
139
179
|
'BK' => 'Bkav',
|
140
180
|
'5B' => 'Black Bear',
|
141
181
|
'BF' => 'Black Fox',
|
182
|
+
'BPC' => 'Blackpcs',
|
142
183
|
'B2' => 'Blackview',
|
184
|
+
'2Y' => 'b2m',
|
143
185
|
'BP' => 'Blaupunkt',
|
144
186
|
'BU' => 'Blu',
|
187
|
+
'BUS' => 'BluSlate',
|
188
|
+
'BUZ' => 'BuzzTV',
|
145
189
|
'B3' => 'Bluboo',
|
146
190
|
'2B' => 'Bluedot',
|
147
191
|
'BD' => 'Bluegood',
|
148
192
|
'LB' => 'Bluewave',
|
149
193
|
'J8' => 'Bluebird',
|
194
|
+
'BSS' => 'BlueSky',
|
150
195
|
'7B' => 'Blloc',
|
151
196
|
'UB' => 'Bleck',
|
152
197
|
'Q2' => 'Blow',
|
198
|
+
'BLI' => 'BLISS',
|
153
199
|
'BM' => 'Bmobile',
|
154
200
|
'Y5' => 'BMAX',
|
201
|
+
'BMX' => 'BMXC',
|
155
202
|
'B9' => 'Bobarry',
|
156
203
|
'B4' => 'bogo',
|
204
|
+
'BOL' => 'Bolva',
|
157
205
|
'BW' => 'Boway',
|
206
|
+
'BOO' => 'Boost',
|
207
|
+
'BOK' => 'Bookeen',
|
158
208
|
'BX' => 'bq',
|
159
209
|
'8B' => 'Brandt',
|
210
|
+
'BRA' => 'BrandCode',
|
160
211
|
'BV' => 'Bravis',
|
212
|
+
'BRV' => 'BRAVE',
|
213
|
+
'BRG' => 'Brigmton',
|
161
214
|
'BR' => 'Brondi',
|
215
|
+
'XF' => 'BROR',
|
162
216
|
'BJ' => 'BrightSign',
|
163
217
|
'B1' => 'Bush',
|
164
218
|
'4Q' => 'Bundy',
|
@@ -169,22 +223,31 @@ class DeviceDetector
|
|
169
223
|
'37' => 'CGV',
|
170
224
|
'CP' => 'Captiva',
|
171
225
|
'CF' => 'Carrefour',
|
226
|
+
'CA1' => 'Carbon Mobile',
|
172
227
|
'CS' => 'Casio',
|
173
228
|
'R4' => 'Casper',
|
174
229
|
'CA' => 'Cat',
|
175
230
|
'BC' => 'Camfone',
|
176
231
|
'CJ' => 'Cavion',
|
177
232
|
'4D' => 'Canal Digital',
|
233
|
+
'CNG' => 'Canguro',
|
234
|
+
'CEI' => 'Ceibal',
|
178
235
|
'02' => 'Cell-C',
|
236
|
+
'CEL' => 'Cellacom',
|
179
237
|
'34' => 'CellAllure',
|
180
238
|
'7C' => 'Celcus',
|
181
239
|
'CE' => 'Celkon',
|
182
240
|
'CG' => 'Cellution',
|
183
241
|
'62' => 'Centric',
|
184
242
|
'C2' => 'Changhong',
|
243
|
+
'CHA' => 'Chainway',
|
244
|
+
'CHG' => 'ChiliGreen',
|
185
245
|
'CH' => 'Cherry Mobile',
|
186
246
|
'C3' => 'China Mobile',
|
247
|
+
'U9' => 'China Telecom',
|
187
248
|
'CI' => 'Chico Mobile',
|
249
|
+
'CIP' => 'CipherLab',
|
250
|
+
'CIT' => 'Citycall',
|
188
251
|
'1C' => 'Chuwi',
|
189
252
|
'L8' => 'Clarmin',
|
190
253
|
'25' => 'Claresta',
|
@@ -199,19 +262,25 @@ class DeviceDetector
|
|
199
262
|
'CL' => 'Compal',
|
200
263
|
'CQ' => 'Compaq',
|
201
264
|
'C7' => 'ComTrade Tesla',
|
265
|
+
'7Z' => 'COMPUMAX',
|
202
266
|
'C8' => 'Concord',
|
203
267
|
'CC' => 'ConCorde',
|
204
268
|
'C5' => 'Condor',
|
269
|
+
'C5M' => 'C5 Mobile',
|
205
270
|
'4C' => 'Conquest',
|
206
271
|
'3C' => 'Contixo',
|
207
272
|
'8C' => 'Connex',
|
208
273
|
'53' => 'Connectce',
|
274
|
+
'CON' => 'Conceptum',
|
209
275
|
'9C' => 'Colors',
|
210
276
|
'CO' => 'Coolpad',
|
277
|
+
'COO' => 'Coopers',
|
211
278
|
'4R' => 'CORN',
|
212
279
|
'1O' => 'Cosmote',
|
213
280
|
'CW' => 'Cowon',
|
214
281
|
'75' => 'Covia',
|
282
|
+
'QG' => 'COYOTE',
|
283
|
+
'YW' => 'ClearPHONE',
|
215
284
|
'33' => 'Clementoni',
|
216
285
|
'CR' => 'CreNova',
|
217
286
|
'CX' => 'Crescent',
|
@@ -219,39 +288,61 @@ class DeviceDetector
|
|
219
288
|
'CM' => 'Crius Mea',
|
220
289
|
'0C' => 'Crony',
|
221
290
|
'C1' => 'Crosscall',
|
291
|
+
'4W' => 'Crown',
|
292
|
+
'CTR' => 'Ctroniq',
|
222
293
|
'CU' => 'Cube',
|
223
294
|
'CB' => 'CUBOT',
|
224
295
|
'CV' => 'CVTE',
|
296
|
+
'CWO' => 'Cwowdefu',
|
225
297
|
'C4' => 'Cyrus',
|
226
298
|
'D5' => 'Daewoo',
|
227
299
|
'DA' => 'Danew',
|
300
|
+
'DAN' => 'Dany',
|
301
|
+
'DA1' => 'DangcapHD',
|
228
302
|
'DT' => 'Datang',
|
229
303
|
'D7' => 'Datawind',
|
230
304
|
'7D' => 'Datamini',
|
231
305
|
'6D' => 'Datalogic',
|
232
306
|
'D1' => 'Datsun',
|
233
307
|
'DZ' => 'Dazen',
|
308
|
+
'DAS' => 'DASS',
|
234
309
|
'DB' => 'Dbtel',
|
310
|
+
'DBP' => 'DbPhone',
|
311
|
+
'DCO' => 'Dcode',
|
235
312
|
'DL' => 'Dell',
|
313
|
+
'DL0' => 'DL',
|
236
314
|
'DE' => 'Denver',
|
237
315
|
'DS' => 'Desay',
|
316
|
+
'DSI' => 'DSIC',
|
238
317
|
'DW' => 'DeWalt',
|
239
318
|
'DX' => 'DEXP',
|
319
|
+
'DEY' => 'DEYI',
|
320
|
+
'DEN' => 'Denali',
|
321
|
+
'DEA' => 'DEALDIG',
|
240
322
|
'8D' => 'DF',
|
323
|
+
'DGT' => 'DGTEC',
|
241
324
|
'DG' => 'Dialog',
|
242
325
|
'DI' => 'Dicam',
|
243
326
|
'D4' => 'Digi',
|
244
327
|
'D3' => 'Digicel',
|
328
|
+
'DDG' => 'Digidragon',
|
245
329
|
'DH' => 'Digihome',
|
246
330
|
'DD' => 'Digiland',
|
331
|
+
'DIJ' => 'DIJITSU',
|
332
|
+
'DIG' => 'Digit4G',
|
333
|
+
'DIC' => 'DIGICOM',
|
247
334
|
'Q0' => 'DIGIFORS',
|
248
335
|
'DQ' => 'DISH',
|
336
|
+
'DIS' => 'Disney',
|
249
337
|
'9D' => 'Ditecma',
|
250
338
|
'D2' => 'Digma',
|
251
339
|
'1D' => 'Diva',
|
340
|
+
'DIV' => 'DiverMax',
|
252
341
|
'D6' => 'Divisat',
|
253
342
|
'X6' => 'DIXON',
|
343
|
+
'DIM' => 'DIMO',
|
254
344
|
'5D' => 'DING DING',
|
345
|
+
'DIN' => 'Dinax',
|
255
346
|
'DM' => 'DMM',
|
256
347
|
'DN' => 'DNS',
|
257
348
|
'DC' => 'DoCoMo',
|
@@ -260,42 +351,74 @@ class DeviceDetector
|
|
260
351
|
'DO' => 'Doogee',
|
261
352
|
'D0' => 'Doopro',
|
262
353
|
'DV' => 'Doov',
|
354
|
+
'DOM' => 'Dom.ru',
|
263
355
|
'DP' => 'Dopod',
|
356
|
+
'DPA' => 'DPA',
|
357
|
+
'JQ' => 'Doppio',
|
264
358
|
'DR' => 'Doro',
|
359
|
+
'ZD' => 'DORLAND',
|
265
360
|
'D8' => 'Droxio',
|
266
361
|
'DJ' => 'Dragon Touch',
|
362
|
+
'DRA' => 'DRAGON',
|
267
363
|
'DY' => 'Dreamgate',
|
364
|
+
'DRE' => 'DreamTab',
|
365
|
+
'DR1' => 'DreamStar',
|
366
|
+
'DTA' => 'Dtac',
|
268
367
|
'DU' => 'Dune HD',
|
269
368
|
'UD' => 'DUNNS Mobile',
|
369
|
+
'DUU' => 'Duubee',
|
370
|
+
'DUR' => 'Durabook',
|
371
|
+
'DTE' => 'D-Tech',
|
372
|
+
'DLI' => 'D-Link',
|
373
|
+
'ENO' => 'eNOVA',
|
374
|
+
'IN2' => 'iNOVA',
|
375
|
+
'INH' => 'Inhon',
|
270
376
|
'EB' => 'E-Boda',
|
271
377
|
'EJ' => 'Engel',
|
378
|
+
'ENA' => 'ENACOM',
|
379
|
+
'ENI' => 'ENIE',
|
272
380
|
'2E' => 'E-Ceros',
|
273
381
|
'E8' => 'E-tel',
|
274
382
|
'EP' => 'Easypix',
|
275
383
|
'EQ' => 'Eagle',
|
276
384
|
'EA' => 'EBEST',
|
385
|
+
'YC' => 'EBEN',
|
277
386
|
'E4' => 'Echo Mobiles',
|
387
|
+
'EQ1' => 'Equator',
|
278
388
|
'ES' => 'ECS',
|
279
389
|
'35' => 'ECON',
|
390
|
+
'ECC' => 'ECOO',
|
391
|
+
'ZZ' => 'ecom',
|
280
392
|
'E6' => 'EE',
|
393
|
+
'GW' => 'EGL',
|
394
|
+
'EFT' => 'EFT',
|
281
395
|
'EK' => 'EKO',
|
282
396
|
'EY' => 'Einstein',
|
283
397
|
'EM' => 'Eks Mobility',
|
284
398
|
'UE' => 'Ematic',
|
399
|
+
'EMR' => 'Emporia',
|
285
400
|
'4K' => 'EKT',
|
401
|
+
'EKI' => 'EKINOX',
|
286
402
|
'7E' => 'ELARI',
|
287
403
|
'03' => 'Electroneum',
|
288
404
|
'Z8' => 'ELECTRONIA',
|
405
|
+
'EL1' => 'Elecson',
|
289
406
|
'L0' => 'Element',
|
290
407
|
'EG' => 'Elenberg',
|
291
408
|
'EL' => 'Elephone',
|
292
409
|
'JE' => 'Elekta',
|
410
|
+
'ELE' => 'Elevate',
|
293
411
|
'4E' => 'Eltex',
|
412
|
+
'ELM' => 'Elong Mobile',
|
294
413
|
'ED' => 'Energizer',
|
295
414
|
'E1' => 'Energy Sistem',
|
296
415
|
'3E' => 'Enot',
|
416
|
+
'ENT' => 'Entity',
|
417
|
+
'ENV' => 'Envizen',
|
297
418
|
'8E' => 'Epik One',
|
419
|
+
'EPK' => 'Epic',
|
298
420
|
'XP' => 'Epson',
|
421
|
+
'EPH' => 'Ephone',
|
299
422
|
'E7' => 'Ergo',
|
300
423
|
'EC' => 'Ericsson',
|
301
424
|
'05' => 'Erisson',
|
@@ -307,11 +430,15 @@ class DeviceDetector
|
|
307
430
|
'ET' => 'eTouch',
|
308
431
|
'1E' => 'Etuline',
|
309
432
|
'EU' => 'Eurostar',
|
433
|
+
'4J' => 'Eurocase',
|
310
434
|
'E9' => 'Evercoss',
|
311
435
|
'EV' => 'Evertek',
|
436
|
+
'EVE' => 'Everest',
|
437
|
+
'EV1' => 'Everex',
|
312
438
|
'E3' => 'Evolio',
|
313
439
|
'EO' => 'Evolveo',
|
314
440
|
'0Q' => 'Evoo',
|
441
|
+
'5U' => 'EVPAD',
|
315
442
|
'E0' => 'EvroMedia',
|
316
443
|
'XE' => 'ExMobile',
|
317
444
|
'4Z' => 'Exmart',
|
@@ -322,24 +449,35 @@ class DeviceDetector
|
|
322
449
|
'QE' => 'EWIS',
|
323
450
|
'EI' => 'Ezio',
|
324
451
|
'EZ' => 'Ezze',
|
452
|
+
'UF' => 'EYU',
|
453
|
+
'UE1' => 'UE',
|
325
454
|
'5F' => 'F150',
|
455
|
+
'FPS' => 'F+',
|
326
456
|
'F6' => 'Facebook',
|
457
|
+
'FAC' => 'Facetel',
|
458
|
+
'FA1' => 'Facime',
|
327
459
|
'FA' => 'Fairphone',
|
328
460
|
'FM' => 'Famoco',
|
461
|
+
'FAM' => 'Famous',
|
329
462
|
'17' => 'FarEasTone',
|
330
463
|
'9R' => 'FaRao Pro',
|
464
|
+
'FAR' => 'Farassoo',
|
331
465
|
'FB' => 'Fantec',
|
332
466
|
'FE' => 'Fengxiang',
|
333
467
|
'F7' => 'Fero',
|
334
468
|
'67' => 'FEONAL',
|
335
469
|
'FI' => 'FiGO',
|
470
|
+
'J9' => 'FiGi',
|
471
|
+
'FIG' => 'Figgers',
|
336
472
|
'F9' => 'FiiO',
|
337
473
|
'F1' => 'FinePower',
|
338
474
|
'FX' => 'Finlux',
|
339
475
|
'F3' => 'FireFly Mobile',
|
340
476
|
'F8' => 'FISE',
|
477
|
+
'FIL' => 'FILIX',
|
341
478
|
'FL' => 'Fly',
|
342
479
|
'QC' => 'FLYCAT',
|
480
|
+
'FLU' => 'Fluo',
|
343
481
|
'FN' => 'FNB',
|
344
482
|
'FD' => 'Fondi',
|
345
483
|
'0F' => 'Fourel',
|
@@ -350,24 +488,43 @@ class DeviceDetector
|
|
350
488
|
'FR' => 'Forstar',
|
351
489
|
'RF' => 'Fortis',
|
352
490
|
'FO' => 'Foxconn',
|
491
|
+
'FOD' => 'FoxxD',
|
492
|
+
'FJ' => 'FOODO',
|
493
|
+
'FOS' => 'FOSSiBOT',
|
353
494
|
'FT' => 'Freetel',
|
495
|
+
'FRU' => 'Frunsi',
|
354
496
|
'F4' => 'F&U',
|
355
497
|
'1F' => 'FMT',
|
498
|
+
'FPT' => 'FPT',
|
356
499
|
'FG' => 'Fuego',
|
357
500
|
'FU' => 'Fujitsu',
|
501
|
+
'4F' => 'Funai',
|
502
|
+
'5J' => 'Fusion5',
|
503
|
+
'FF' => 'Future Mobile Technology',
|
504
|
+
'FFF' => 'FFF SmartLife',
|
358
505
|
'FW' => 'FNF',
|
506
|
+
'FXT' => 'Fxtec',
|
359
507
|
'GT' => 'G-TiDE',
|
360
508
|
'G9' => 'G-Touch',
|
509
|
+
'GFO' => 'Gfone',
|
510
|
+
'GTM' => 'GTMEDIA',
|
361
511
|
'0G' => 'GFive',
|
362
512
|
'GM' => 'Garmin-Asus',
|
363
513
|
'GA' => 'Gateway',
|
364
514
|
'99' => 'Galaxy Innovations',
|
515
|
+
'GA1' => 'Galactic',
|
516
|
+
'GAM' => 'Gamma',
|
517
|
+
'GAZ' => 'Gazer',
|
518
|
+
'GEA' => 'Geanee',
|
519
|
+
'GEN' => 'Geant',
|
365
520
|
'GD' => 'Gemini',
|
366
521
|
'GN' => 'General Mobile',
|
367
522
|
'2G' => 'Genesis',
|
368
523
|
'G2' => 'GEOFOX',
|
369
524
|
'GE' => 'Geotel',
|
370
525
|
'Q4' => 'Geotex',
|
526
|
+
'GEO' => 'GEOZON',
|
527
|
+
'GER' => 'Gear Mobile',
|
371
528
|
'GH' => 'Ghia',
|
372
529
|
'2C' => 'Ghong',
|
373
530
|
'GJ' => 'Ghost',
|
@@ -376,6 +533,7 @@ class DeviceDetector
|
|
376
533
|
'GZ' => 'Ginzzu',
|
377
534
|
'1G' => 'Gini',
|
378
535
|
'GI' => 'Gionee',
|
536
|
+
'GIR' => 'GIRASOLE',
|
379
537
|
'G4' => 'Globex',
|
380
538
|
'38' => 'GLONYX',
|
381
539
|
'U6' => 'Glofiish',
|
@@ -384,110 +542,165 @@ class DeviceDetector
|
|
384
542
|
'5G' => 'Gocomma',
|
385
543
|
'GB' => 'Gol Mobile',
|
386
544
|
'GL' => 'Goly',
|
545
|
+
'GOL' => 'GoldMaster',
|
387
546
|
'GX' => 'GLX',
|
388
547
|
'G5' => 'Gome',
|
389
548
|
'G1' => 'GoMobile',
|
390
549
|
'GO' => 'Google',
|
391
550
|
'G0' => 'Goophone',
|
392
551
|
'6G' => 'Gooweel',
|
552
|
+
'GOO' => 'GOODTEL',
|
553
|
+
'8G' => 'Gplus',
|
393
554
|
'GR' => 'Gradiente',
|
394
555
|
'GP' => 'Grape',
|
395
556
|
'G6' => 'Gree',
|
557
|
+
'GRA' => 'Great Asia',
|
396
558
|
'3G' => 'Greentel',
|
559
|
+
'GRO' => 'Green Orange',
|
560
|
+
'GR1' => 'GroBerwert',
|
397
561
|
'GF' => 'Gretel',
|
398
562
|
'82' => 'Gresso',
|
399
563
|
'GU' => 'Grundig',
|
400
564
|
'GV' => 'Gtel',
|
565
|
+
'CUO' => 'Guophone',
|
566
|
+
'H13' => 'H133',
|
401
567
|
'9Z' => 'H96',
|
402
568
|
'HF' => 'Hafury',
|
569
|
+
'9F' => 'HAOVM',
|
570
|
+
'HAQ' => 'HAOQIN',
|
403
571
|
'HA' => 'Haier',
|
572
|
+
'XH' => 'Haipai',
|
573
|
+
'HAN' => 'Handheld',
|
404
574
|
'HE' => 'HannSpree',
|
405
575
|
'HK' => 'Hardkernel',
|
576
|
+
'HAR' => 'Harper',
|
577
|
+
'HA1' => 'Hartens',
|
406
578
|
'HS' => 'Hasee',
|
579
|
+
'8H' => 'Hamlet',
|
580
|
+
'HAM' => 'Hammer',
|
581
|
+
'HAT' => 'Hathway',
|
407
582
|
'H6' => 'Helio',
|
408
583
|
'HQ' => 'HERO',
|
409
584
|
'ZH' => 'Hezire',
|
585
|
+
'HEX' => 'HexaByte',
|
586
|
+
'HEW' => 'HeadWolf',
|
410
587
|
'HL' => 'Hi-Level',
|
411
588
|
'3H' => 'Hi',
|
589
|
+
'HIB' => 'Hiberg',
|
590
|
+
'HIH' => 'HiHi',
|
591
|
+
'HIK' => 'HiKing',
|
412
592
|
'H2' => 'Highscreen',
|
413
593
|
'Q1' => 'High Q',
|
414
594
|
'1H' => 'Hipstreet',
|
415
595
|
'HI' => 'Hisense',
|
596
|
+
'HIP' => 'HIPER',
|
416
597
|
'HC' => 'Hitachi',
|
417
598
|
'H8' => 'Hitech',
|
418
599
|
'W3' => 'HiMax',
|
600
|
+
'8X' => 'Hi Nova',
|
601
|
+
'HLL' => 'HLLO',
|
602
|
+
'8W' => 'HKPro',
|
419
603
|
'H1' => 'Hoffmann',
|
420
604
|
'H0' => 'Hometech',
|
421
605
|
'HM' => 'Homtom',
|
422
606
|
'HZ' => 'Hoozo',
|
423
607
|
'H7' => 'Horizon',
|
608
|
+
'4H' => 'Horizont',
|
424
609
|
'HO' => 'Hosin',
|
425
610
|
'H3' => 'Hotel',
|
426
611
|
'HV' => 'Hotwav',
|
612
|
+
'U8' => 'Hot Pepper',
|
613
|
+
'JH' => 'HOTREALS',
|
427
614
|
'HW' => 'How',
|
428
615
|
'WH' => 'Honeywell',
|
429
616
|
'HP' => 'HP',
|
617
|
+
'HDC' => 'HDC',
|
430
618
|
'HT' => 'HTC',
|
619
|
+
'QZ' => 'Huagan',
|
431
620
|
'HD' => 'Huadoo',
|
432
621
|
'HG' => 'Huavi',
|
433
622
|
'HU' => 'Huawei',
|
434
623
|
'HX' => 'Humax',
|
435
624
|
'HR' => 'Hurricane',
|
436
625
|
'H5' => 'Huskee',
|
626
|
+
'HUG' => 'Hugerock',
|
437
627
|
'HY' => 'Hyrican',
|
438
628
|
'HN' => 'Hyundai',
|
439
629
|
'7H' => 'Hyve',
|
630
|
+
'HYT' => 'Hytera',
|
631
|
+
'HYK' => 'Hykker',
|
440
632
|
'3I' => 'i-Cherry',
|
441
633
|
'IJ' => 'i-Joy',
|
442
634
|
'IM' => 'i-mate',
|
443
635
|
'IO' => 'i-mobile',
|
636
|
+
'INN' => 'I-INN',
|
444
637
|
'OF' => 'iOutdoor',
|
445
638
|
'IB' => 'iBall',
|
446
639
|
'IY' => 'iBerry',
|
447
640
|
'7I' => 'iBrit',
|
641
|
+
'IBO' => 'ibowin',
|
448
642
|
'I2' => 'IconBIT',
|
449
643
|
'IC' => 'iDroid',
|
644
|
+
'IDI' => 'iDino',
|
645
|
+
'6Z' => 'iData',
|
450
646
|
'IG' => 'iGet',
|
451
647
|
'IH' => 'iHunt',
|
452
648
|
'IA' => 'Ikea',
|
649
|
+
'IYO' => 'iYou',
|
453
650
|
'8I' => 'IKU Mobile',
|
454
651
|
'2K' => 'IKI Mobile',
|
455
652
|
'IK' => 'iKoMo',
|
653
|
+
'58' => 'iKon',
|
456
654
|
'I7' => 'iLA',
|
457
655
|
'2I' => 'iLife',
|
458
656
|
'1I' => 'iMars',
|
657
|
+
'IMI' => 'iMI',
|
459
658
|
'U4' => 'iMan',
|
659
|
+
'ILE' => 'iLepo',
|
460
660
|
'IL' => 'IMO Mobile',
|
661
|
+
'IM1' => 'Imose',
|
461
662
|
'I3' => 'Impression',
|
462
663
|
'FC' => 'INCAR',
|
463
664
|
'2H' => 'Inch',
|
464
665
|
'6I' => 'Inco',
|
465
666
|
'IW' => 'iNew',
|
466
667
|
'IF' => 'Infinix',
|
668
|
+
'INF' => 'Infiniton',
|
467
669
|
'I0' => 'InFocus',
|
670
|
+
'IN1' => 'InFone',
|
468
671
|
'II' => 'Inkti',
|
469
672
|
'81' => 'InfoKit',
|
470
673
|
'I5' => 'InnJoo',
|
471
674
|
'26' => 'Innos',
|
472
675
|
'IN' => 'Innostream',
|
473
676
|
'I4' => 'Inoi',
|
677
|
+
'INO' => 'iNo Mobile',
|
474
678
|
'IQ' => 'INQ',
|
475
679
|
'QN' => 'iQ&T',
|
476
680
|
'IS' => 'Insignia',
|
477
681
|
'YI' => 'INSYS',
|
478
682
|
'IT' => 'Intek',
|
683
|
+
'INT' => 'Intel',
|
479
684
|
'IX' => 'Intex',
|
480
685
|
'IV' => 'Inverto',
|
481
686
|
'32' => 'Invens',
|
482
687
|
'4I' => 'Invin',
|
688
|
+
'INA' => 'iNavi',
|
483
689
|
'I1' => 'iOcean',
|
690
|
+
'IMU' => 'iMuz',
|
484
691
|
'IP' => 'iPro',
|
692
|
+
'X9' => 'iPEGTOP',
|
485
693
|
'8Q' => 'IQM',
|
694
|
+
'Q8' => 'IRA',
|
486
695
|
'I6' => 'Irbis',
|
487
696
|
'5I' => 'Iris',
|
697
|
+
'IRE' => 'iReplace',
|
488
698
|
'IR' => 'iRola',
|
489
699
|
'IU' => 'iRulu',
|
700
|
+
'IRO' => 'iRobot',
|
490
701
|
'9I' => 'iSWAG',
|
702
|
+
'9J' => 'iSafe Mobile',
|
703
|
+
'IST' => 'iStar',
|
491
704
|
'86' => 'IT',
|
492
705
|
'IZ' => 'iTel',
|
493
706
|
'0I' => 'iTruck',
|
@@ -495,41 +708,60 @@ class DeviceDetector
|
|
495
708
|
'IE' => 'iView',
|
496
709
|
'0J' => 'iVooMi',
|
497
710
|
'UI' => 'ivvi',
|
711
|
+
'QW' => 'iWaylink',
|
498
712
|
'I9' => 'iZotron',
|
713
|
+
'IXT' => 'iXTech',
|
499
714
|
'JA' => 'JAY-Tech',
|
500
715
|
'KJ' => 'Jiake',
|
716
|
+
'JD' => 'Jedi',
|
501
717
|
'J6' => 'Jeka',
|
502
718
|
'JF' => 'JFone',
|
503
719
|
'JI' => 'Jiayu',
|
504
720
|
'JG' => 'Jinga',
|
721
|
+
'JX' => 'Jio',
|
505
722
|
'VJ' => 'Jivi',
|
506
723
|
'JK' => 'JKL',
|
724
|
+
'JR1' => 'JREN',
|
507
725
|
'JO' => 'Jolla',
|
726
|
+
'JP' => 'Joy',
|
727
|
+
'JOY' => 'JoySurf',
|
508
728
|
'UJ' => 'Juniper Systems',
|
509
729
|
'J5' => 'Just5',
|
730
|
+
'7J' => 'Jumper',
|
731
|
+
'JPA' => 'JPay',
|
510
732
|
'JV' => 'JVC',
|
733
|
+
'JXD' => 'JXD',
|
511
734
|
'JS' => 'Jesy',
|
512
735
|
'KT' => 'K-Touch',
|
736
|
+
'KLT' => 'K-Lite',
|
513
737
|
'K4' => 'Kaan',
|
514
738
|
'K7' => 'Kaiomy',
|
515
739
|
'KL' => 'Kalley',
|
516
740
|
'K6' => 'Kanji',
|
517
741
|
'KA' => 'Karbonn',
|
518
742
|
'K5' => 'KATV1',
|
743
|
+
'KAP' => 'Kapsys',
|
519
744
|
'K0' => 'Kata',
|
520
745
|
'KZ' => 'Kazam',
|
521
746
|
'9K' => 'Kazuna',
|
522
747
|
'KD' => 'KDDI',
|
748
|
+
'KHA' => 'Khadas',
|
523
749
|
'KS' => 'Kempler & Strauss',
|
524
750
|
'K3' => 'Keneksi',
|
525
751
|
'KX' => 'Kenxinda',
|
752
|
+
'KEN' => 'Kenbo',
|
753
|
+
'KZG' => 'KZG',
|
526
754
|
'K1' => 'Kiano',
|
755
|
+
'5W' => 'Kingbox',
|
527
756
|
'KI' => 'Kingsun',
|
757
|
+
'KIS' => 'Kinstone',
|
528
758
|
'KF' => 'KINGZONE',
|
759
|
+
'KIN' => 'Kingstar',
|
529
760
|
'46' => 'Kiowa',
|
530
761
|
'KV' => 'Kivi',
|
531
762
|
'64' => 'Kvant',
|
532
763
|
'0K' => 'Klipad',
|
764
|
+
'KNM' => 'KN Mobile',
|
533
765
|
'KC' => 'Kocaso',
|
534
766
|
'KK' => 'Kodak',
|
535
767
|
'KG' => 'Kogan',
|
@@ -541,12 +773,15 @@ class DeviceDetector
|
|
541
773
|
'K9' => 'Kooper',
|
542
774
|
'KP' => 'KOPO',
|
543
775
|
'KR' => 'Koridy',
|
776
|
+
'XK' => 'Koslam',
|
544
777
|
'K2' => 'KRONO',
|
545
778
|
'KE' => 'Krüger&Matz',
|
546
779
|
'5K' => 'KREZ',
|
547
780
|
'WK' => 'KRIP',
|
781
|
+
'KRA' => 'Kraft',
|
548
782
|
'KH' => 'KT-Tech',
|
549
783
|
'Z6' => 'KUBO',
|
784
|
+
'KUG' => 'KuGou',
|
550
785
|
'K8' => 'Kuliao',
|
551
786
|
'8K' => 'Kult',
|
552
787
|
'KU' => 'Kumai',
|
@@ -558,21 +793,27 @@ class DeviceDetector
|
|
558
793
|
'L6' => 'Land Rover',
|
559
794
|
'L2' => 'Landvo',
|
560
795
|
'LA' => 'Lanix',
|
796
|
+
'LA1' => 'Lanin',
|
561
797
|
'LK' => 'Lark',
|
562
798
|
'Z3' => 'Laurus',
|
799
|
+
'LEC' => 'Lectrus',
|
563
800
|
'LV' => 'Lava',
|
564
801
|
'LC' => 'LCT',
|
565
802
|
'L5' => 'Leagoo',
|
566
803
|
'U3' => 'Leben',
|
804
|
+
'LEB' => 'LeBest',
|
567
805
|
'LD' => 'Ledstar',
|
806
|
+
'LEE' => 'Leelbox',
|
568
807
|
'L1' => 'LeEco',
|
569
808
|
'4B' => 'Leff',
|
809
|
+
'LEG' => 'Legend',
|
570
810
|
'L4' => 'Lemhoov',
|
571
811
|
'W9' => 'LEMFO',
|
572
812
|
'LN' => 'Lenco',
|
573
813
|
'LE' => 'Lenovo',
|
574
814
|
'LT' => 'Leotec',
|
575
815
|
'LP' => 'Le Pan',
|
816
|
+
'ZJ' => 'Leke',
|
576
817
|
'L7' => 'Lephone',
|
577
818
|
'LZ' => 'Lesia',
|
578
819
|
'L3' => 'Lexand',
|
@@ -580,16 +821,25 @@ class DeviceDetector
|
|
580
821
|
'LG' => 'LG',
|
581
822
|
'39' => 'Liberton',
|
582
823
|
'5L' => 'Linsar',
|
824
|
+
'LIN' => 'Linsay',
|
583
825
|
'LF' => 'Lifemaxx',
|
584
826
|
'LI' => 'Lingwin',
|
827
|
+
'LIM' => 'Lime',
|
585
828
|
'LJ' => 'L-Max',
|
586
829
|
'LW' => 'Linnex',
|
830
|
+
'JJ' => 'Listo',
|
831
|
+
'LNM' => 'LNMBBS',
|
587
832
|
'LO' => 'Loewe',
|
588
833
|
'YL' => 'Loview',
|
834
|
+
'LOV' => 'Lovme',
|
589
835
|
'1L' => 'Logic',
|
836
|
+
'LH' => 'Logic Instrument',
|
590
837
|
'LM' => 'Logicom',
|
838
|
+
'GY' => 'LOKMAT',
|
839
|
+
'LPX' => 'LPX-G',
|
591
840
|
'0L' => 'Lumigon',
|
592
841
|
'LU' => 'Lumus',
|
842
|
+
'LUM' => 'Lumitel',
|
593
843
|
'L9' => 'Luna',
|
594
844
|
'LR' => 'Luxor',
|
595
845
|
'LY' => 'LYF',
|
@@ -601,27 +851,38 @@ class DeviceDetector
|
|
601
851
|
'92' => 'MAC AUDIO',
|
602
852
|
'MJ' => 'Majestic',
|
603
853
|
'FQ' => 'Mafe',
|
854
|
+
'6Y' => 'Magicsee',
|
604
855
|
'23' => 'Magnus',
|
605
856
|
'NH' => 'Manhattan',
|
857
|
+
'MAN' => 'Mango',
|
606
858
|
'5M' => 'Mann',
|
607
859
|
'MA' => 'Manta Multimedia',
|
608
860
|
'Z0' => 'Mantra',
|
609
861
|
'J4' => 'Mara',
|
862
|
+
'MAR' => 'Marshal',
|
863
|
+
'8Y' => 'Massgo',
|
864
|
+
'MA1' => 'Mascom',
|
610
865
|
'2M' => 'Masstel',
|
866
|
+
'3X' => 'Mastertech',
|
867
|
+
'MAS' => 'Master-G',
|
611
868
|
'50' => 'Matrix',
|
612
869
|
'7M' => 'Maxcom',
|
870
|
+
'7M1' => 'Maxfone',
|
613
871
|
'ZM' => 'Maximus',
|
614
872
|
'6X' => 'Maxtron',
|
615
873
|
'0D' => 'MAXVI',
|
874
|
+
'XZ' => 'MAXX',
|
616
875
|
'MW' => 'Maxwest',
|
617
876
|
'M0' => 'Maze',
|
618
877
|
'YM' => 'Maze Speed',
|
619
878
|
'87' => 'Malata',
|
620
879
|
'28' => 'MBOX',
|
880
|
+
'FK' => 'MBI',
|
621
881
|
'3D' => 'MDC Store',
|
622
882
|
'1Y' => 'MDTV',
|
623
883
|
'09' => 'meanIT',
|
624
884
|
'M3' => 'Mecer',
|
885
|
+
'M3M' => 'M3 Mobile',
|
625
886
|
'0M' => 'Mecool',
|
626
887
|
'MC' => 'Mediacom',
|
627
888
|
'MK' => 'MediaTek',
|
@@ -637,8 +898,10 @@ class DeviceDetector
|
|
637
898
|
'MX' => 'MEU',
|
638
899
|
'MI' => 'MicroMax',
|
639
900
|
'MS' => 'Microsoft',
|
901
|
+
'6Q' => 'Microtech',
|
640
902
|
'1X' => 'Minix',
|
641
903
|
'OM' => 'Mintt',
|
904
|
+
'MIN' => 'Mint',
|
642
905
|
'MO' => 'Mio',
|
643
906
|
'X7' => 'Mione',
|
644
907
|
'M7' => 'Miray',
|
@@ -648,19 +911,29 @@ class DeviceDetector
|
|
648
911
|
'M5' => 'MIXC',
|
649
912
|
'2D' => 'MIVO',
|
650
913
|
'1Z' => 'MiXzo',
|
914
|
+
'MIW' => 'MIWANG',
|
651
915
|
'ML' => 'MLLED',
|
652
916
|
'LS' => 'MLS',
|
917
|
+
'MLA' => 'MLAB',
|
918
|
+
'5H' => 'MMI',
|
653
919
|
'4M' => 'Mobicel',
|
654
920
|
'M6' => 'Mobiistar',
|
921
|
+
'MOK' => 'Mobile Kingdom',
|
655
922
|
'MH' => 'Mobiola',
|
656
923
|
'MB' => 'Mobistel',
|
657
924
|
'ID' => 'MobiIoT',
|
658
925
|
'6W' => 'MobiWire',
|
659
926
|
'9M' => 'Mobo',
|
927
|
+
'MOB' => 'Mobell',
|
660
928
|
'M4' => 'Modecom',
|
661
929
|
'MF' => 'Mofut',
|
662
930
|
'MR' => 'Motorola',
|
931
|
+
'MIV' => 'Motiv',
|
663
932
|
'MV' => 'Movic',
|
933
|
+
'MOV' => 'Movitel',
|
934
|
+
'MO1' => 'MOVISUN',
|
935
|
+
'MOS' => 'Mosimosi',
|
936
|
+
'MOX' => 'Moxee',
|
664
937
|
'MM' => 'Mpman',
|
665
938
|
'MZ' => 'MSI',
|
666
939
|
'3R' => 'MStar',
|
@@ -669,6 +942,7 @@ class DeviceDetector
|
|
669
942
|
'72' => 'M-Tech',
|
670
943
|
'9H' => 'M-Horse',
|
671
944
|
'1R' => 'Multilaser',
|
945
|
+
'MPS' => 'MultiPOS',
|
672
946
|
'1M' => 'MYFON',
|
673
947
|
'MY' => 'MyPhone',
|
674
948
|
'51' => 'Myros',
|
@@ -677,7 +951,11 @@ class DeviceDetector
|
|
677
951
|
'3T' => 'MyTab',
|
678
952
|
'MG' => 'MyWigo',
|
679
953
|
'J3' => 'Mymaga',
|
954
|
+
'MYM' => 'MyMobile',
|
680
955
|
'07' => 'MyGica',
|
956
|
+
'MYG' => 'MygPad',
|
957
|
+
'MWA' => 'MwalimuPlus',
|
958
|
+
'NEO' => 'neoCore',
|
681
959
|
'08' => 'Nabi',
|
682
960
|
'N7' => 'National',
|
683
961
|
'NC' => 'Navcity',
|
@@ -685,33 +963,50 @@ class DeviceDetector
|
|
685
963
|
'7V' => 'Navitel',
|
686
964
|
'N3' => 'Navon',
|
687
965
|
'7R' => 'NavRoad',
|
966
|
+
'NAS' => 'NASCO',
|
688
967
|
'NP' => 'Naomi Phone',
|
968
|
+
'NAN' => 'Nanho',
|
689
969
|
'NE' => 'NEC',
|
970
|
+
'NDP' => 'Nedaphone',
|
690
971
|
'8N' => 'Necnot',
|
691
972
|
'NF' => 'Neffos',
|
973
|
+
'9X' => 'Neo',
|
974
|
+
'NEK' => 'NEKO',
|
692
975
|
'1N' => 'Neomi',
|
693
976
|
'7Q' => 'Neon IQ',
|
977
|
+
'8F' => 'Neolix',
|
694
978
|
'NA' => 'Netgear',
|
979
|
+
'NEM' => 'Netmak',
|
695
980
|
'NU' => 'NeuImage',
|
981
|
+
'NEU' => 'NeuTab',
|
696
982
|
'NW' => 'Newgen',
|
697
983
|
'N9' => 'Newland',
|
698
984
|
'0N' => 'Newman',
|
699
985
|
'NS' => 'NewsMy',
|
700
986
|
'ND' => 'Newsday',
|
701
987
|
'HB' => 'New Balance',
|
988
|
+
'BRI' => 'New Bridge',
|
702
989
|
'XB' => 'NEXBOX',
|
703
990
|
'NX' => 'Nexian',
|
991
|
+
'7X' => 'Nexa',
|
704
992
|
'N8' => 'NEXON',
|
705
993
|
'N2' => 'Nextbit',
|
706
994
|
'NT' => 'NextBook',
|
995
|
+
'NTT' => 'NTT West',
|
707
996
|
'4N' => 'NextTab',
|
997
|
+
'NEX' => 'NEXT',
|
998
|
+
'NJO' => 'nJoy',
|
708
999
|
'NG' => 'NGM',
|
709
1000
|
'NZ' => 'NG Optics',
|
1001
|
+
'NZP' => 'NGpon',
|
710
1002
|
'NN' => 'Nikon',
|
711
1003
|
'NI' => 'Nintendo',
|
1004
|
+
'NIN' => 'NINETEC',
|
712
1005
|
'N5' => 'NOA',
|
713
1006
|
'N1' => 'Noain',
|
714
1007
|
'N6' => 'Nobby',
|
1008
|
+
'NOV' => 'Novey',
|
1009
|
+
'NO1' => 'NOVO',
|
715
1010
|
'57' => 'Nubia',
|
716
1011
|
'JN' => 'NOBUX',
|
717
1012
|
'NB' => 'Noblex',
|
@@ -719,14 +1014,18 @@ class DeviceDetector
|
|
719
1014
|
'NK' => 'Nokia',
|
720
1015
|
'NM' => 'Nomi',
|
721
1016
|
'2N' => 'Nomu',
|
1017
|
+
'6H' => 'Noontec',
|
722
1018
|
'NR' => 'Nordmende',
|
723
1019
|
'7N' => 'NorthTech',
|
1020
|
+
'NOT' => 'Nothing Phone',
|
724
1021
|
'5N' => 'Nos',
|
725
1022
|
'NO' => 'Nous',
|
726
1023
|
'NQ' => 'Novex',
|
1024
|
+
'NOD' => 'noDROPOUT',
|
727
1025
|
'NJ' => 'NuAns',
|
728
1026
|
'NL' => 'NUU Mobile',
|
729
1027
|
'N0' => 'Nuvo',
|
1028
|
+
'NUV' => 'NuVision',
|
730
1029
|
'NV' => 'Nvidia',
|
731
1030
|
'NY' => 'NYX Mobile',
|
732
1031
|
'O3' => 'O+',
|
@@ -734,67 +1033,102 @@ class DeviceDetector
|
|
734
1033
|
'O7' => 'Oale',
|
735
1034
|
'OC' => 'OASYS',
|
736
1035
|
'OB' => 'Obi',
|
737
|
-
'
|
1036
|
+
'OBR' => 'Ober',
|
1037
|
+
'OQ' => 'Meta',
|
738
1038
|
'O1' => 'Odys',
|
1039
|
+
'ODP' => 'Odotpad',
|
739
1040
|
'O9' => 'Ok',
|
740
1041
|
'OA' => 'Okapia',
|
1042
|
+
'OKI' => 'Oking',
|
1043
|
+
'OLA' => 'Olax',
|
1044
|
+
'OLK' => 'Olkya',
|
1045
|
+
'OLY' => 'Olympia',
|
1046
|
+
'OLT' => 'OLTO',
|
1047
|
+
'OJ' => 'Ookee',
|
741
1048
|
'OD' => 'Onda',
|
742
1049
|
'ON' => 'OnePlus',
|
1050
|
+
'ONC' => 'OneClick',
|
1051
|
+
'ONL' => 'OneLern',
|
1052
|
+
'OAN' => 'Oangcc',
|
743
1053
|
'OX' => 'Onix',
|
744
1054
|
'3O' => 'ONYX BOOX',
|
745
1055
|
'O4' => 'ONN',
|
1056
|
+
'9Q' => 'Onkyo',
|
746
1057
|
'2O' => 'OpelMobile',
|
747
1058
|
'OH' => 'Openbox',
|
1059
|
+
'7Y' => 'Obabox',
|
748
1060
|
'OP' => 'OPPO',
|
749
1061
|
'OO' => 'Opsson',
|
1062
|
+
'OPT' => 'Optoma',
|
1063
|
+
'OPH' => 'Ophone',
|
750
1064
|
'OR' => 'Orange',
|
751
1065
|
'O5' => 'Orbic',
|
752
1066
|
'Y6' => 'Orbita',
|
1067
|
+
'ORB' => 'Orbsmart',
|
753
1068
|
'OS' => 'Ordissimo',
|
1069
|
+
'8O' => 'Orion',
|
1070
|
+
'OTT' => 'OTTO',
|
754
1071
|
'OK' => 'Ouki',
|
755
1072
|
'0O' => 'OINOM',
|
756
1073
|
'QK' => 'OKWU',
|
1074
|
+
'QQ' => 'OMIX',
|
757
1075
|
'56' => 'OKSI',
|
758
1076
|
'OE' => 'Oukitel',
|
759
1077
|
'OU' => 'OUYA',
|
1078
|
+
'JB' => 'OUJIA',
|
760
1079
|
'OV' => 'Overmax',
|
761
1080
|
'30' => 'Ovvi',
|
762
1081
|
'O2' => 'Owwo',
|
1082
|
+
'OSC' => 'OSCAL',
|
763
1083
|
'OY' => 'Oysters',
|
1084
|
+
'QF' => 'OYSIN',
|
764
1085
|
'O6' => 'Oyyu',
|
765
1086
|
'OZ' => 'OzoneHD',
|
1087
|
+
'OLL' => 'Ollee',
|
766
1088
|
'7P' => 'P-UP',
|
767
1089
|
'YP' => 'Paladin',
|
768
1090
|
'PM' => 'Palm',
|
769
1091
|
'PN' => 'Panacom',
|
770
1092
|
'PA' => 'Panasonic',
|
771
1093
|
'PT' => 'Pantech',
|
1094
|
+
'PAN' => 'Pano',
|
1095
|
+
'PA1' => 'Panoramic',
|
1096
|
+
'PLT' => 'Platoon',
|
772
1097
|
'94' => 'Packard Bell',
|
773
1098
|
'H9' => 'Parrot Mobile',
|
1099
|
+
'PAR' => 'Partner Mobile',
|
1100
|
+
'PAP' => 'PAPYRE',
|
774
1101
|
'PB' => 'PCBOX',
|
1102
|
+
'PCS' => 'PC Smart',
|
775
1103
|
'PC' => 'PCD',
|
776
1104
|
'PD' => 'PCD Argentina',
|
777
1105
|
'PE' => 'PEAQ',
|
778
1106
|
'PG' => 'Pentagram',
|
779
1107
|
'PQ' => 'Pendoo',
|
780
1108
|
'93' => 'Perfeo',
|
1109
|
+
'8J' => 'Pelitt',
|
781
1110
|
'1P' => 'Phicomm',
|
782
1111
|
'4P' => 'Philco',
|
783
1112
|
'PH' => 'Philips',
|
784
1113
|
'5P' => 'Phonemax',
|
785
1114
|
'PO' => 'phoneOne',
|
786
1115
|
'PI' => 'Pioneer',
|
1116
|
+
'PIC' => 'Pioneer Computers',
|
787
1117
|
'PJ' => 'PiPO',
|
788
1118
|
'8P' => 'Pixelphone',
|
789
1119
|
'9O' => 'Pixela',
|
790
1120
|
'PX' => 'Pixus',
|
791
1121
|
'QP' => 'Pico',
|
1122
|
+
'PIR' => 'PIRANHA',
|
1123
|
+
'PIN' => 'PINE',
|
792
1124
|
'9P' => 'Planet Computers',
|
793
1125
|
'PY' => 'Ployer',
|
794
1126
|
'P4' => 'Plum',
|
1127
|
+
'PLU' => 'PlusStyle',
|
795
1128
|
'22' => 'Pluzz',
|
796
1129
|
'P8' => 'PocketBook',
|
797
1130
|
'0P' => 'POCO',
|
1131
|
+
'FH' => 'Point Mobile',
|
798
1132
|
'PV' => 'Point of View',
|
799
1133
|
'PL' => 'Polaroid',
|
800
1134
|
'Q6' => 'Polar',
|
@@ -809,10 +1143,13 @@ class DeviceDetector
|
|
809
1143
|
'3F' => 'Porsche',
|
810
1144
|
'P3' => 'PPTV',
|
811
1145
|
'FP' => 'Premio',
|
1146
|
+
'PR1' => 'Premier',
|
812
1147
|
'PR' => 'Prestigio',
|
813
1148
|
'P9' => 'Primepad',
|
1149
|
+
'PRM' => 'PRIME',
|
814
1150
|
'6P' => 'Primux',
|
815
1151
|
'2P' => 'Prixton',
|
1152
|
+
'PRI' => 'Pritom',
|
816
1153
|
'PF' => 'PROFiLO',
|
817
1154
|
'P6' => 'Proline',
|
818
1155
|
'5O' => 'Prology',
|
@@ -821,6 +1158,9 @@ class DeviceDetector
|
|
821
1158
|
'R0' => 'ProVision',
|
822
1159
|
'7O' => 'Polestar',
|
823
1160
|
'PU' => 'PULID',
|
1161
|
+
'UP' => 'Purism',
|
1162
|
+
'PUN' => 'Punos',
|
1163
|
+
'QFX' => 'QFX',
|
824
1164
|
'Q7' => 'Q-Box',
|
825
1165
|
'QH' => 'Q-Touch',
|
826
1166
|
'QB' => 'Q.Bell',
|
@@ -829,25 +1169,39 @@ class DeviceDetector
|
|
829
1169
|
'QT' => 'Qtek',
|
830
1170
|
'Q9' => 'QTECH',
|
831
1171
|
'QA' => 'Quantum',
|
1172
|
+
'QUE' => 'Quest',
|
1173
|
+
'QUA' => 'Quatro',
|
832
1174
|
'QU' => 'Quechua',
|
1175
|
+
'QUI' => 'Quipus',
|
833
1176
|
'QO' => 'Qumo',
|
834
1177
|
'UQ' => 'Qubo',
|
1178
|
+
'YQ' => 'QLink',
|
835
1179
|
'QY' => 'Qnet Mobile',
|
1180
|
+
'WJ' => 'Qware',
|
836
1181
|
'R2' => 'R-TV',
|
837
1182
|
'RA' => 'Ramos',
|
838
1183
|
'0R' => 'Raspberry',
|
839
1184
|
'R9' => 'Ravoz',
|
840
1185
|
'RZ' => 'Razer',
|
841
1186
|
'95' => 'Rakuten',
|
1187
|
+
'RAY' => 'Raylandz',
|
842
1188
|
'RC' => 'RCA Tablets',
|
843
1189
|
'2R' => 'Reach',
|
1190
|
+
'REL' => 'RelNAT',
|
844
1191
|
'RB' => 'Readboy',
|
845
1192
|
'RE' => 'Realme',
|
1193
|
+
'RE1' => 'Redbean',
|
846
1194
|
'R8' => 'RED',
|
1195
|
+
'REW' => 'Redway',
|
1196
|
+
'6F' => 'Redfox',
|
1197
|
+
'RE2' => 'RedLine',
|
847
1198
|
'RD' => 'Reeder',
|
848
1199
|
'Z9' => 'REGAL',
|
849
1200
|
'RH' => 'Remdun',
|
850
1201
|
'RP' => 'Revo',
|
1202
|
+
'REV' => 'Revomovil',
|
1203
|
+
'8R' => 'Retroid Pocket',
|
1204
|
+
'RIC' => 'Ricoh',
|
851
1205
|
'RI' => 'Rikomagic',
|
852
1206
|
'RM' => 'RIM',
|
853
1207
|
'RN' => 'Rinno',
|
@@ -855,34 +1209,52 @@ class DeviceDetector
|
|
855
1209
|
'R7' => 'Ritzviva',
|
856
1210
|
'RV' => 'Riviera',
|
857
1211
|
'6R' => 'Rivo',
|
1212
|
+
'RIZ' => 'Rizzen',
|
858
1213
|
'RR' => 'Roadrover',
|
1214
|
+
'QR' => 'ROADMAX',
|
1215
|
+
'ROC' => 'Roam Cat',
|
859
1216
|
'R1' => 'Rokit',
|
1217
|
+
'ROI' => 'ROiK',
|
860
1218
|
'RK' => 'Roku',
|
861
1219
|
'R3' => 'Rombica',
|
862
1220
|
'R5' => 'Ross&Moor',
|
863
1221
|
'RO' => 'Rover',
|
864
1222
|
'R6' => 'RoverPad',
|
865
1223
|
'RQ' => 'RoyQueen',
|
1224
|
+
'RJ' => 'Royole',
|
866
1225
|
'RT' => 'RT Project',
|
867
1226
|
'RG' => 'RugGear',
|
1227
|
+
'RUG' => 'Ruggex',
|
1228
|
+
'RUT' => 'RuggeTech',
|
868
1229
|
'RU' => 'Runbo',
|
1230
|
+
'RUP' => 'Rupa',
|
869
1231
|
'RL' => 'Ruio',
|
870
1232
|
'RY' => 'Ryte',
|
871
1233
|
'X5' => 'Saba',
|
872
1234
|
'8L' => 'S-TELL',
|
1235
|
+
'4O' => 'S2Tel',
|
873
1236
|
'89' => 'Seatel',
|
1237
|
+
'SEW' => 'Sewoo',
|
1238
|
+
'SE1' => 'SEEWO',
|
874
1239
|
'Y7' => 'Saiet',
|
875
1240
|
'X1' => 'Safaricom',
|
876
1241
|
'SG' => 'Sagem',
|
877
1242
|
'4L' => 'Salora',
|
878
1243
|
'SA' => 'Samsung',
|
1244
|
+
'SAT' => 'Samtech',
|
1245
|
+
'SAM' => 'Samtron',
|
1246
|
+
'SNA' => 'SNAMI',
|
879
1247
|
'S0' => 'Sanei',
|
880
1248
|
'12' => 'Sansui',
|
1249
|
+
'SAK' => 'Sankey',
|
881
1250
|
'SQ' => 'Santin',
|
882
1251
|
'SY' => 'Sanyo',
|
1252
|
+
'SAN' => 'SANY',
|
883
1253
|
'S9' => 'Savio',
|
884
1254
|
'Y4' => 'SCBC',
|
885
1255
|
'CZ' => 'Schneider',
|
1256
|
+
'SCO' => 'Scosmos',
|
1257
|
+
'ZG' => 'Schok',
|
886
1258
|
'G8' => 'SEG',
|
887
1259
|
'SD' => 'Sega',
|
888
1260
|
'0U' => 'Selecline',
|
@@ -896,9 +1268,12 @@ class DeviceDetector
|
|
896
1268
|
'S6' => 'Senseit',
|
897
1269
|
'EW' => 'Senwa',
|
898
1270
|
'24' => 'Seeken',
|
1271
|
+
'SEB' => 'SEBBE',
|
899
1272
|
'61' => 'Seuic',
|
900
1273
|
'SX' => 'SFR',
|
1274
|
+
'SGI' => 'SGIN',
|
901
1275
|
'SH' => 'Sharp',
|
1276
|
+
'JU' => 'Shanling',
|
902
1277
|
'7S' => 'Shift Phones',
|
903
1278
|
'78' => 'Shivaki',
|
904
1279
|
'RS' => 'Shtrikh-M',
|
@@ -912,25 +1287,35 @@ class DeviceDetector
|
|
912
1287
|
'98' => 'Simply',
|
913
1288
|
'52' => 'Singtech',
|
914
1289
|
'31' => 'Siragon',
|
915
|
-
'83' => 'Sirin
|
1290
|
+
'83' => 'Sirin Labs',
|
1291
|
+
'5Z' => 'SK Broadband',
|
916
1292
|
'GK' => 'SKG',
|
917
1293
|
'SW' => 'Sky',
|
918
1294
|
'SK' => 'Skyworth',
|
1295
|
+
'SKY' => 'Skyline',
|
1296
|
+
'SK1' => 'SkyStream',
|
1297
|
+
'SKK' => 'SKK Mobile',
|
919
1298
|
'14' => 'Smadl',
|
920
1299
|
'19' => 'Smailo',
|
921
1300
|
'SR' => 'Smart Electronic',
|
1301
|
+
'SMA' => 'Smart Kassel',
|
922
1302
|
'49' => 'Smart',
|
923
1303
|
'47' => 'SmartBook',
|
924
1304
|
'3B' => 'Smartab',
|
925
1305
|
'80' => 'SMARTEC',
|
1306
|
+
'SM1' => 'Smartex',
|
926
1307
|
'SC' => 'Smartfren',
|
927
1308
|
'S7' => 'Smartisan',
|
1309
|
+
'JR' => 'Sylvania',
|
1310
|
+
'SYH' => 'SYH',
|
928
1311
|
'3Y' => 'Smarty',
|
929
1312
|
'HH' => 'Smooth Mobile',
|
930
1313
|
'1Q' => 'Smotreshka',
|
931
1314
|
'SF' => 'Softbank',
|
932
1315
|
'9L' => 'SOLE',
|
933
1316
|
'JL' => 'SOLO',
|
1317
|
+
'SOS' => 'SOSH',
|
1318
|
+
'SOD' => 'Soda',
|
934
1319
|
'16' => 'Solone',
|
935
1320
|
'OI' => 'Sonim',
|
936
1321
|
'SO' => 'Sony',
|
@@ -939,6 +1324,7 @@ class DeviceDetector
|
|
939
1324
|
'8S' => 'Soyes',
|
940
1325
|
'77' => 'SONOS',
|
941
1326
|
'68' => 'Soho Style',
|
1327
|
+
'SOB' => 'SobieTech',
|
942
1328
|
'PK' => 'Spark',
|
943
1329
|
'FS' => 'SPC',
|
944
1330
|
'6S' => 'Spectrum',
|
@@ -956,10 +1342,12 @@ class DeviceDetector
|
|
956
1342
|
'GQ' => 'STG Telecom',
|
957
1343
|
'S2' => 'Stonex',
|
958
1344
|
'ST' => 'Storex',
|
1345
|
+
'STR' => 'Stream',
|
959
1346
|
'71' => 'StrawBerry',
|
960
1347
|
'96' => 'STRONG',
|
961
1348
|
'69' => 'Stylo',
|
962
1349
|
'9S' => 'Sugar',
|
1350
|
+
'SUR' => 'Surge',
|
963
1351
|
'06' => 'Subor',
|
964
1352
|
'SZ' => 'Sumvision',
|
965
1353
|
'0H' => 'Sunstech',
|
@@ -967,34 +1355,48 @@ class DeviceDetector
|
|
967
1355
|
'5S' => 'Sunvell',
|
968
1356
|
'5Y' => 'Sunny',
|
969
1357
|
'W8' => 'SUNWIND',
|
1358
|
+
'SBX' => 'SuperBOX',
|
970
1359
|
'SU' => 'SuperSonic',
|
971
1360
|
'79' => 'SuperTab',
|
972
1361
|
'S5' => 'Supra',
|
1362
|
+
'SUP' => 'Supraim',
|
973
1363
|
'ZS' => 'Suzuki',
|
974
1364
|
'2J' => 'Sunmi',
|
1365
|
+
'SUN' => 'Sunmax',
|
975
1366
|
'0W' => 'Swipe',
|
1367
|
+
'SWI' => 'Switel',
|
976
1368
|
'SS' => 'SWISSMOBILITY',
|
977
1369
|
'1W' => 'Swisstone',
|
978
1370
|
'W7' => 'SWTV',
|
1371
|
+
'SSK' => 'SSKY',
|
1372
|
+
'SYC' => 'Syco',
|
979
1373
|
'SM' => 'Symphony',
|
980
1374
|
'4S' => 'Syrox',
|
981
1375
|
'TM' => 'T-Mobile',
|
1376
|
+
'T96' => 'T96',
|
982
1377
|
'TK' => 'Takara',
|
983
1378
|
'73' => 'Tambo',
|
984
1379
|
'9N' => 'Tanix',
|
985
1380
|
'U5' => 'Taiga System',
|
1381
|
+
'TAL' => 'Talius',
|
986
1382
|
'7G' => 'TAG Tech',
|
987
1383
|
'T5' => 'TB Touch',
|
988
1384
|
'TC' => 'TCL',
|
989
1385
|
'T0' => 'TD Systems',
|
1386
|
+
'YY' => 'TD Tech',
|
990
1387
|
'H4' => 'Technicolor',
|
1388
|
+
'TEA' => 'TeachTouch',
|
991
1389
|
'Z5' => 'Technika',
|
1390
|
+
'TE1' => 'TechSmart',
|
992
1391
|
'TX' => 'TechniSat',
|
993
1392
|
'TT' => 'TechnoTrend',
|
994
1393
|
'TP' => 'TechPad',
|
1394
|
+
'TPS' => 'TPS',
|
995
1395
|
'9E' => 'Techwood',
|
1396
|
+
'7F' => 'Technopc',
|
996
1397
|
'T7' => 'Teclast',
|
997
1398
|
'TB' => 'Tecno Mobile',
|
1399
|
+
'TEC' => 'TecToy',
|
998
1400
|
'91' => 'TEENO',
|
999
1401
|
'2L' => 'Tele2',
|
1000
1402
|
'TL' => 'Telefunken',
|
@@ -1002,32 +1404,51 @@ class DeviceDetector
|
|
1002
1404
|
'T2' => 'Telenor',
|
1003
1405
|
'TE' => 'Telit',
|
1004
1406
|
'65' => 'Telia',
|
1407
|
+
'TEL' => 'Telma',
|
1005
1408
|
'PW' => 'Telpo',
|
1409
|
+
'TLS' => 'TeloSystems',
|
1410
|
+
'TER' => 'Teracube',
|
1006
1411
|
'TD' => 'Tesco',
|
1007
1412
|
'TA' => 'Tesla',
|
1008
1413
|
'9T' => 'Tetratab',
|
1414
|
+
'TET' => 'TETC',
|
1009
1415
|
'TZ' => 'teXet',
|
1010
1416
|
'29' => 'Teknosa',
|
1417
|
+
'JZ' => 'TJC',
|
1418
|
+
'JC' => 'TENPLUS',
|
1011
1419
|
'T4' => 'ThL',
|
1012
1420
|
'TN' => 'Thomson',
|
1013
1421
|
'O0' => 'Thuraya',
|
1014
1422
|
'TI' => 'TIANYU',
|
1423
|
+
'JY' => 'Tigers',
|
1015
1424
|
'8T' => 'Time2',
|
1016
1425
|
'TQ' => 'Timovi',
|
1426
|
+
'TIM' => 'TIMvision',
|
1017
1427
|
'2T' => 'Tinai',
|
1018
1428
|
'TF' => 'Tinmo',
|
1019
1429
|
'TH' => 'TiPhone',
|
1430
|
+
'YV' => 'TiVo',
|
1431
|
+
'TIB' => 'Tibuta',
|
1020
1432
|
'Y3' => 'TOKYO',
|
1433
|
+
'TOX' => 'TOX',
|
1021
1434
|
'T1' => 'Tolino',
|
1022
1435
|
'0T' => 'Tone',
|
1023
1436
|
'TY' => 'Tooky',
|
1437
|
+
'TOO' => 'TOOGO',
|
1024
1438
|
'T9' => 'Top House',
|
1025
1439
|
'DK' => 'Topelotek',
|
1026
1440
|
'42' => 'Topway',
|
1027
1441
|
'TO' => 'Toplux',
|
1442
|
+
'TOD' => 'TOPDON',
|
1443
|
+
'TOP' => 'TopDevice',
|
1444
|
+
'TO2' => 'TOPSHOWS',
|
1028
1445
|
'7T' => 'Torex',
|
1446
|
+
'TOR' => 'Torque',
|
1447
|
+
'6O' => 'TOSCIDO',
|
1448
|
+
'TO1' => 'Topsion',
|
1029
1449
|
'TS' => 'Toshiba',
|
1030
1450
|
'T8' => 'Touchmate',
|
1451
|
+
'TOU' => 'Touch Plus',
|
1031
1452
|
'5R' => 'Transpeed',
|
1032
1453
|
'T6' => 'TrekStor',
|
1033
1454
|
'T3' => 'Trevi',
|
@@ -1038,6 +1459,7 @@ class DeviceDetector
|
|
1038
1459
|
'JT' => 'True Slim',
|
1039
1460
|
'J1' => 'Trio',
|
1040
1461
|
'5C' => 'TTEC',
|
1462
|
+
'TTK' => 'TTK-TV',
|
1041
1463
|
'TU' => 'Tunisie Telecom',
|
1042
1464
|
'1T' => 'Turbo',
|
1043
1465
|
'TR' => 'Turbo-X',
|
@@ -1058,77 +1480,124 @@ class DeviceDetector
|
|
1058
1480
|
'UL' => 'Ulefone',
|
1059
1481
|
'UA' => 'Umax',
|
1060
1482
|
'UM' => 'UMIDIGI',
|
1483
|
+
'UNT' => 'Unitech',
|
1061
1484
|
'UZ' => 'Unihertz',
|
1062
1485
|
'3Z' => 'UZ Mobile',
|
1063
1486
|
'UX' => 'Unimax',
|
1487
|
+
'UNQ' => 'Uniqcell',
|
1064
1488
|
'US' => 'Uniscope',
|
1489
|
+
'UNI' => 'Unistrong',
|
1065
1490
|
'U2' => 'UNIWA',
|
1491
|
+
'UND' => 'Uniden',
|
1066
1492
|
'UO' => 'Unnecto',
|
1493
|
+
'UNN' => 'Unnion Technologies',
|
1067
1494
|
'UU' => 'Unonu',
|
1068
1495
|
'UN' => 'Unowhy',
|
1496
|
+
'UY' => 'UNNO',
|
1497
|
+
'UOO' => 'UOOGOU',
|
1498
|
+
'UNB' => 'Unblock Tech',
|
1069
1499
|
'UK' => 'UTOK',
|
1070
1500
|
'3U' => 'IUNI',
|
1071
1501
|
'UT' => 'UTStarcom',
|
1072
1502
|
'6U' => 'UTime',
|
1073
1503
|
'9U' => 'Urovo',
|
1504
|
+
'UW' => 'U-Magic',
|
1074
1505
|
'5V' => 'VAIO',
|
1075
1506
|
'WV' => 'VAVA',
|
1076
1507
|
'VA' => 'Vastking',
|
1077
1508
|
'VP' => 'Vargo',
|
1078
1509
|
'VC' => 'Vankyo',
|
1510
|
+
'VAL' => 'VALEM',
|
1511
|
+
'VAT' => 'VALTECH',
|
1079
1512
|
'VB' => 'VC',
|
1080
1513
|
'VN' => 'Venso',
|
1514
|
+
'VEN' => 'Venstar',
|
1081
1515
|
'UV' => 'Venturer',
|
1082
1516
|
'VQ' => 'Vega',
|
1517
|
+
'WC' => 'VEON',
|
1083
1518
|
'4V' => 'Verico',
|
1084
1519
|
'V4' => 'Verizon',
|
1085
1520
|
'VR' => 'Vernee',
|
1086
1521
|
'VX' => 'Vertex',
|
1087
1522
|
'VE' => 'Vertu',
|
1523
|
+
'VET' => 'VETAS',
|
1088
1524
|
'VL' => 'Verykool',
|
1525
|
+
'QV' => 'Verssed',
|
1526
|
+
'VER' => 'Versus',
|
1089
1527
|
'V8' => 'Vesta',
|
1528
|
+
'VEK' => 'Vekta',
|
1090
1529
|
'VT' => 'Vestel',
|
1091
1530
|
'48' => 'Vexia',
|
1092
1531
|
'V6' => 'VGO TEL',
|
1532
|
+
'QJ' => 'VDVD',
|
1533
|
+
'VIC' => 'Victurio',
|
1093
1534
|
'VD' => 'Videocon',
|
1094
1535
|
'VW' => 'Videoweb',
|
1095
1536
|
'VS' => 'ViewSonic',
|
1096
1537
|
'V7' => 'Vinga',
|
1097
1538
|
'V3' => 'Vinsoc',
|
1539
|
+
'XD' => 'Vinabox',
|
1540
|
+
'FV' => 'Vios',
|
1098
1541
|
'0V' => 'Vipro',
|
1099
1542
|
'ZV' => 'Virzo',
|
1543
|
+
'VIP' => 'Viper',
|
1100
1544
|
'VI' => 'Vitelcom',
|
1545
|
+
'VIB' => 'ViBox',
|
1101
1546
|
'8V' => 'Viumee',
|
1102
1547
|
'V5' => 'Vivax',
|
1548
|
+
'VIV' => 'VIVIMAGE',
|
1103
1549
|
'VV' => 'Vivo',
|
1104
1550
|
'6V' => 'VIWA',
|
1551
|
+
'VII' => 'VIIPOO',
|
1552
|
+
'VID' => 'VIDA',
|
1105
1553
|
'VZ' => 'Vizio',
|
1554
|
+
'VIZ' => 'Vizmo',
|
1555
|
+
'VIT' => 'Vityaz',
|
1106
1556
|
'9V' => 'Vision Touch',
|
1557
|
+
'VIL' => 'Visual Land',
|
1107
1558
|
'VK' => 'VK Mobile',
|
1108
1559
|
'JM' => 'v-mobile',
|
1560
|
+
'VHO' => 'V-HOPE',
|
1561
|
+
'VHM' => 'V-HOME',
|
1562
|
+
'VGE' => 'V-Gen',
|
1109
1563
|
'V0' => 'VKworld',
|
1110
1564
|
'VM' => 'Vodacom',
|
1111
1565
|
'VF' => 'Vodafone',
|
1566
|
+
'7W' => 'VOGA',
|
1112
1567
|
'V2' => 'Vonino',
|
1113
1568
|
'1V' => 'Vontar',
|
1114
1569
|
'VG' => 'Vorago',
|
1115
1570
|
'2V' => 'Vorke',
|
1571
|
+
'8U' => 'Vorcom',
|
1572
|
+
'JW' => 'Vortex',
|
1573
|
+
'VOR' => 'Vormor',
|
1116
1574
|
'V1' => 'Voto',
|
1117
1575
|
'Z7' => 'VOX',
|
1118
1576
|
'VO' => 'Voxtel',
|
1119
1577
|
'VY' => 'Voyo',
|
1578
|
+
'VOL' => 'Völfen',
|
1579
|
+
'VO1' => 'Volt',
|
1120
1580
|
'VH' => 'Vsmart',
|
1121
1581
|
'V9' => 'Vsun',
|
1122
1582
|
'VU' => 'Vulcan',
|
1123
1583
|
'3V' => 'VVETIME',
|
1584
|
+
'ZC' => 'VUCATIMES',
|
1585
|
+
'VUE' => 'Vue Micro',
|
1124
1586
|
'WA' => 'Walton',
|
1587
|
+
'WAF' => 'WAF',
|
1588
|
+
'WAL' => 'Waltter',
|
1589
|
+
'WHI' => 'White Mobile',
|
1125
1590
|
'WM' => 'Weimei',
|
1126
1591
|
'WE' => 'WellcoM',
|
1127
1592
|
'W6' => 'WELLINGTON',
|
1128
1593
|
'WD' => 'Western Digital',
|
1129
1594
|
'WT' => 'Westpoint',
|
1595
|
+
'WAN' => 'Wanmukang',
|
1596
|
+
'WA1' => 'WANSA',
|
1130
1597
|
'WY' => 'Wexler',
|
1131
1598
|
'3W' => 'WE',
|
1599
|
+
'WEC' => 'Wecool',
|
1600
|
+
'WEE' => 'Weelikeit',
|
1132
1601
|
'WP' => 'Wieppo',
|
1133
1602
|
'W2' => 'Wigor',
|
1134
1603
|
'WI' => 'Wiko',
|
@@ -1138,9 +1607,11 @@ class DeviceDetector
|
|
1138
1607
|
'9W' => 'Winmax',
|
1139
1608
|
'W5' => 'Winnovo',
|
1140
1609
|
'WU' => 'Wintouch',
|
1610
|
+
'WIS' => 'Winstar',
|
1141
1611
|
'W0' => 'Wiseasy',
|
1142
1612
|
'2W' => 'Wizz',
|
1143
1613
|
'W4' => 'WIWA',
|
1614
|
+
'WIZ' => 'WizarPos',
|
1144
1615
|
'WL' => 'Wolder',
|
1145
1616
|
'WG' => 'Wolfgang',
|
1146
1617
|
'WQ' => 'Wolki',
|
@@ -1148,38 +1619,65 @@ class DeviceDetector
|
|
1148
1619
|
'W1' => 'Woo',
|
1149
1620
|
'WR' => 'Wortmann',
|
1150
1621
|
'WX' => 'Woxter',
|
1622
|
+
'XQ' => 'X-AGE',
|
1623
|
+
'XEL' => 'XElectron',
|
1151
1624
|
'X3' => 'X-BO',
|
1625
|
+
'XMO' => 'X-Mobile',
|
1152
1626
|
'XT' => 'X-TIGI',
|
1153
1627
|
'XV' => 'X-View',
|
1154
1628
|
'X4' => 'X.Vision',
|
1629
|
+
'X88' => 'X88',
|
1630
|
+
'X96' => 'X96',
|
1631
|
+
'96Q' => 'X96Q',
|
1632
|
+
'A95' => 'A95X',
|
1155
1633
|
'XG' => 'Xgody',
|
1156
1634
|
'QX' => 'XGIMI',
|
1157
1635
|
'XL' => 'Xiaolajiao',
|
1158
1636
|
'XI' => 'Xiaomi',
|
1637
|
+
'XW' => 'Xiaodu',
|
1159
1638
|
'XN' => 'Xion',
|
1160
1639
|
'XO' => 'Xolo',
|
1161
1640
|
'XR' => 'Xoro',
|
1162
1641
|
'XS' => 'Xshitou',
|
1163
1642
|
'4X' => 'Xtouch',
|
1164
1643
|
'X8' => 'Xtratech',
|
1644
|
+
'XCR' => 'Xcruiser',
|
1645
|
+
'XCO' => 'XCOM',
|
1646
|
+
'XCL' => 'Xcell',
|
1647
|
+
'XWA' => 'Xwave',
|
1165
1648
|
'YD' => 'Yandex',
|
1166
1649
|
'YA' => 'Yarvik',
|
1167
1650
|
'Y2' => 'Yes',
|
1651
|
+
'YES' => 'Yestel',
|
1168
1652
|
'YE' => 'Yezz',
|
1653
|
+
'YG' => 'YEPEN',
|
1654
|
+
'YEL' => 'YELLYOUTH',
|
1169
1655
|
'YK' => 'Yoka TV',
|
1170
1656
|
'YO' => 'Yota',
|
1657
|
+
'YOU' => 'Youin',
|
1658
|
+
'YO1' => 'Youwei',
|
1659
|
+
'YOO' => 'Yooz',
|
1171
1660
|
'YT' => 'Ytone',
|
1661
|
+
'Y9' => 'YOTOPT',
|
1172
1662
|
'Y1' => 'Yu',
|
1663
|
+
'YF' => 'YU Fly',
|
1173
1664
|
'Y0' => 'YUHO',
|
1174
1665
|
'YN' => 'Yuno',
|
1666
|
+
'YUN' => 'YUNDOO',
|
1667
|
+
'YUS' => 'YunSong',
|
1668
|
+
'YUM' => 'YUMKEM',
|
1175
1669
|
'YU' => 'Yuandao',
|
1176
1670
|
'YS' => 'Yusun',
|
1177
1671
|
'YJ' => 'YASIN',
|
1178
1672
|
'YX' => 'Yxtel',
|
1179
1673
|
'0Z' => 'Zatec',
|
1180
1674
|
'2Z' => 'Zaith',
|
1675
|
+
'ZAM' => 'Zamolxe',
|
1676
|
+
'ZEA' => 'Zealot',
|
1181
1677
|
'PZ' => 'Zebra',
|
1678
|
+
'ZE1' => 'Zeblaze',
|
1182
1679
|
'ZE' => 'Zeemi',
|
1680
|
+
'WZ' => 'Zeeker',
|
1183
1681
|
'ZN' => 'Zen',
|
1184
1682
|
'ZK' => 'Zenek',
|
1185
1683
|
'ZL' => 'Zentality',
|
@@ -1187,8 +1685,14 @@ class DeviceDetector
|
|
1187
1685
|
'ZI' => 'Zidoo',
|
1188
1686
|
'FZ' => 'ZIFRO',
|
1189
1687
|
'ZX' => 'Ziox',
|
1688
|
+
'ZIK' => 'ZIK',
|
1689
|
+
'ZIG' => 'Zigo',
|
1690
|
+
'ZIN' => 'Zinox',
|
1190
1691
|
'ZO' => 'Zonda',
|
1692
|
+
'ZW' => 'Zonko',
|
1191
1693
|
'ZP' => 'Zopo',
|
1694
|
+
'ZOO' => 'ZoomSmart',
|
1695
|
+
'ZO1' => 'Zoom',
|
1192
1696
|
'ZT' => 'ZTE',
|
1193
1697
|
'ZU' => 'Zuum',
|
1194
1698
|
'ZY' => 'Zync',
|
@@ -1196,6 +1700,8 @@ class DeviceDetector
|
|
1196
1700
|
'ZQ' => 'ZYQ',
|
1197
1701
|
'Z4' => 'ZH&K',
|
1198
1702
|
'OW' => 'öwn',
|
1703
|
+
'WBF' => 'Webfleet',
|
1704
|
+
|
1199
1705
|
# legacy brands, might be removed in future versions
|
1200
1706
|
'WB' => 'Web TV',
|
1201
1707
|
'XX' => 'Unknown'
|
@@ -1218,11 +1724,24 @@ class DeviceDetector
|
|
1218
1724
|
end
|
1219
1725
|
|
1220
1726
|
def brand
|
1221
|
-
regex_meta[:brand]
|
1727
|
+
return regex_meta[:brand] if regex_meta[:brand] == 'Sony Ericsson'
|
1728
|
+
|
1729
|
+
brand = regex_meta[:regex_name] || regex_meta[:brand] || vendor_fragment.name || fix_for_x_music
|
1730
|
+
return if brand == 'Unknown'
|
1731
|
+
|
1732
|
+
brand
|
1222
1733
|
end
|
1223
1734
|
|
1224
1735
|
private
|
1225
1736
|
|
1737
|
+
def fix_for_x_music
|
1738
|
+
user_agent&.include?('X-music Ⅲ') ? 'OneClick' : nil
|
1739
|
+
end
|
1740
|
+
|
1741
|
+
def vendor_fragment
|
1742
|
+
::DeviceDetector::VendorFragment.new(user_agent)
|
1743
|
+
end
|
1744
|
+
|
1226
1745
|
# The order of files needs to be the same as the order of device
|
1227
1746
|
# parser classes used in the piwik project.
|
1228
1747
|
def filenames
|