ua-parser-js 0.8.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ua-parser-js might be problematic. Click here for more details.

@@ -97,15 +97,6 @@
97
97
  "type": "mobile"
98
98
  }
99
99
  },
100
- {
101
- "desc": "ASUS Zenfone Max Pro",
102
- "ua": "Mozilla/5.0 (Linux; Android 9; ZB602KL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
103
- "expect": {
104
- "vendor": "ASUS",
105
- "model": "ZB602KL",
106
- "type": "mobile"
107
- }
108
- },
109
100
  {
110
101
  "desc": "ASUS Zenfone Max Pro (M1)",
111
102
  "ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X00TD Build/OPM1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36",
@@ -214,24 +205,6 @@
214
205
  "type": "mobile"
215
206
  }
216
207
  },
217
- {
218
- "desc": "Fairphone 2",
219
- "ua": "Mozilla/5.0 (Linux; Android 7.1.2; FP2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
220
- "expect": {
221
- "vendor": "Fairphone",
222
- "model": "FP2",
223
- "type": "mobile"
224
- }
225
- },
226
- {
227
- "desc": "Fairphone 3",
228
- "ua": "Mozilla/5.0 (Linux; Android 9; FP3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
229
- "expect": {
230
- "vendor": "Fairphone",
231
- "model": "FP3",
232
- "type": "mobile"
233
- }
234
- },
235
208
  {
236
209
  "desc": "HTC Desire 820",
237
210
  "ua": "Mozilla/5.0 (Linux; Android 6.0.1; HTC Desire 820 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36",
@@ -296,643 +269,256 @@
296
269
  }
297
270
  },
298
271
  {
299
- "desc": "HUAWEI MediaPad M3 Lite 10",
300
- "ua": "Mozilla/5.0 (Linux; Android 7.0; BAH-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36",
272
+ "desc": "iPad using UCBrowser",
273
+ "ua": "Mozilla/5.0 (iPad; U; CPU OS 11_2 like Mac OS X; zh-CN; iPad5,3) AppleWebKit/534.46 (KHTML, like Gecko) UCBrowser/3.0.1.776 U3/ Mobile/10A403 Safari/7543.48.3",
301
274
  "expect": {
302
- "vendor": "Huawei",
303
- "model": "BAH-L09",
275
+ "vendor": "Apple",
276
+ "model": "iPad",
304
277
  "type": "tablet"
305
278
  }
306
279
  },
307
280
  {
308
- "desc": "HUAWEI MediaPad M5 Lite",
309
- "ua": "Mozilla/5.0 (Linux; Android 8.0.0; BAH2-W19 Build/HUAWEIBAH2-W19; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Safari/537.36",
281
+ "desc": "iPad Air",
282
+ "ua": "Mozilla/5.0 (iPad; CPU OS 12_4_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPad4,1;FBMD/iPad;FBSN/iOS;FBSV/12.4.5;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5;FBCR/]",
310
283
  "expect": {
311
- "vendor": "Huawei",
312
- "model": "BAH2-W19",
284
+ "vendor": "Apple",
285
+ "model": "iPad",
313
286
  "type": "tablet"
314
287
  }
315
288
  },
316
289
  {
317
- "desc": "HUAWEI MediaPad M5",
318
- "ua": "Mozilla/5.0 (Linux; Android 9; SHT-AL09 Build/HUAWEISHT-AL09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.90 Mobile Safari/537.36",
290
+ "desc": "iPad using Facebook Browser",
291
+ "ua": "Mozilla/5.0 (iPad; CPU OS 14_4_2 like Mac OS X) WebKit/8610 (KHTML, like Gecko) Mobile/18D70 [FBAN/FBIOS;FBDV/iPad7,11;FBMD/iPad;FBSN/iOS;FBSV/14.4.2;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5]",
319
292
  "expect": {
320
- "vendor": "Huawei",
321
- "model": "SHT-AL09",
293
+ "vendor": "Apple",
294
+ "model": "iPad",
322
295
  "type": "tablet"
323
296
  }
324
297
  },
325
298
  {
326
- "desc": "HUAWEI MediaPad T5",
327
- "ua": "Mozilla/5.0 (Linux; Android 8.0.0; AGS2-L09 Build/HUAWEIAGS2-L09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/84.0.4147.125 Safari/537.36",
299
+ "desc": "iPod",
300
+ "ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
328
301
  "expect": {
329
- "vendor": "Huawei",
330
- "model": "AGS2-L09",
331
- "type": "tablet"
302
+ "vendor": "Apple",
303
+ "model": "iPod touch",
304
+ "type": "mobile"
332
305
  }
333
306
  },
334
307
  {
335
- "desc": "HUAWEI MediaPad T10",
336
- "ua": "Mozilla/5.0 (Linux; Android 10; AGR-W09 Build/HUAWEIAGR-W09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Safari/537.36",
308
+ "desc": "Lenovo Tab 2",
309
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.1; Lenovo TAB 2 A7-30HC Build/LRX21M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.157 Safari/537.36",
337
310
  "expect": {
338
- "vendor": "Huawei",
339
- "model": "AGR-W09",
311
+ "vendor": "Lenovo",
312
+ "model": "TAB 2 A7",
340
313
  "type": "tablet"
341
314
  }
342
315
  },
343
- {
344
- "desc": "HUAWEI MediaPad T10s",
345
- "ua": "Mozilla/5.0 (Linux; Android 10; AGS3-W09 Build/HUAWEIAGS3-W09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Safari/537.36",
316
+ {
317
+ "desc": "Lenovo Phone",
318
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; Lenovo PB2-650M Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.105 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/311.0.0.44.117;]",
346
319
  "expect": {
347
- "vendor": "Huawei",
348
- "model": "AGS3-W09",
349
- "type": "tablet"
320
+ "vendor": "Lenovo",
321
+ "model": "PB2-650M",
322
+ "type": "mobile"
350
323
  }
351
324
  },
352
325
  {
353
- "desc": "Huawei MatePad T 10",
354
- "ua": "Mozilla/5.0 (Linux; Android 10; AGR-L09; HMSCore 5.0.4.301) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.3.304 Safari/537.36",
326
+ "desc": "Lenovo Tab 3 Pro",
327
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Lenovo YT3-X90F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
355
328
  "expect": {
356
- "vendor": "Huawei",
357
- "model": "AGR-L09",
329
+ "vendor": "Lenovo",
330
+ "model": "YT3-X90F",
358
331
  "type": "tablet"
359
332
  }
360
333
  },
361
334
  {
362
- "desc": "Huawei M3",
363
- "ua": "Mozilla/5.0 (Linux; Android 7.0; BTV-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
335
+ "desc": "Lenovo Tab 4",
336
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; Lenovo TB-X304F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
364
337
  "expect": {
365
- "vendor": "Huawei",
366
- "model": "BTV-W09",
338
+ "vendor": "Lenovo",
339
+ "model": "TB-X304F",
367
340
  "type": "tablet"
368
341
  }
369
342
  },
370
343
  {
371
- "desc": "Huawei Mate 10 Pro",
372
- "ua": "Mozilla/5.0 (Linux; Android 8.0; BLA-L29 Build/HUAWEIBLA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.6 Mobile Safari/537.36",
344
+ "desc": "Lenovo Tab 4",
345
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Lenovo TAB 2 A7-30HC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
373
346
  "expect": {
374
- "vendor": "Huawei",
375
- "model": "BLA-L29",
376
- "type": "mobile"
347
+ "vendor": "Lenovo",
348
+ "model": "TAB 2 A7",
349
+ "type": "tablet"
377
350
  }
378
351
  },
379
352
  {
380
- "desc": "Huawei Mate X",
381
- "ua": "Mozilla/5.0 (Linux; Android 9; TAH-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Safari/537.36",
353
+ "desc": "Lenovo Tab 7 Essential",
354
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; Lenovo TB-7304X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
382
355
  "expect": {
383
- "vendor": "Huawei",
384
- "model": "TAH-AN00",
385
- "type": "mobile"
356
+ "vendor": "Lenovo",
357
+ "model": "TB-7304X",
358
+ "type": "tablet"
386
359
  }
387
360
  },
388
361
  {
389
- "desc": "Huawei Mate X2",
390
- "ua": "Mozilla/5.0 (Linux; Android 10; TET-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
362
+ "desc": "Lenovo Tab M10",
363
+ "ua": "Mozilla/5.0 (Linux; arm_64; Android 9; Lenovo TB-X606F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.4.99.01 Safari/537.36",
391
364
  "expect": {
392
- "vendor": "Huawei",
393
- "model": "TET-AN00",
394
- "type": "mobile"
365
+ "vendor": "Lenovo",
366
+ "model": "TB-X606F",
367
+ "type": "tablet"
395
368
  }
396
369
  },
397
370
  {
398
- "desc": "Huawei Mate 20 X",
399
- "ua": "Mozilla/5.0 (Linux; Android 9; EVR-L29 Build/HUAWEIEVR-L29; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36",
400
- "expect": {
401
- "vendor": "Huawei",
402
- "model": "EVR-L29",
403
- "type": "mobile"
404
- }
405
- },
406
- {
407
- "desc": "Huawei Mate 20 Pro",
408
- "ua": "Mozilla/5.0 (Linux; Android 9; LYA-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
409
- "expect": {
410
- "vendor": "Huawei",
411
- "model": "LYA-L09",
412
- "type": "mobile"
413
- }
414
- },
415
- {
416
- "desc": "Huawei Mate 20 Pro",
417
- "ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
418
- "expect": {
419
- "vendor": "Huawei",
420
- "model": "LYA-AL00",
421
- "type": "mobile"
422
- }
423
- },
424
- {
425
- "desc": "Huawei P20 Lite",
426
- "ua": "Mozilla/5.0 (Linux; Android 8.0.0; ANE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
371
+ "desc": "LG K500",
372
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; LG-K500 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36",
427
373
  "expect": {
428
- "vendor": "Huawei",
429
- "model": "ANE-LX1",
374
+ "vendor": "LG",
375
+ "model": "K500",
430
376
  "type": "mobile"
431
377
  }
432
378
  },
433
379
  {
434
- "desc": "Huawei P20",
435
- "ua": "Mozilla/5.0 (Linux; Android 8.1.0; EML-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Mobile Safari/537.36",
436
- "expect": {
437
- "vendor": "Huawei",
438
- "model": "EML-L29",
439
- "type": "mobile"
440
- }
441
- },
442
- {
443
- "desc": "Huawei P20 Pro",
444
- "ua": "Mozilla/5.0 (Linux; Android 9; CLT-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
380
+ "desc": "LG Nexus 4",
381
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.1; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
445
382
  "expect": {
446
- "vendor": "Huawei",
447
- "model": "CLT-L29",
383
+ "vendor": "LG",
384
+ "model": "Nexus 4",
448
385
  "type": "mobile"
449
386
  }
450
387
  },
451
388
  {
452
- "desc": "Huawei P30",
453
- "ua": "Mozilla/5.0 (Linux; Android 9; ELE-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36",
389
+ "desc": "LG Nexus 4",
390
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.3; en-us; Google Nexus 4 - 4.3 - API 18 - 768x1280 Build/JLS36G) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
454
391
  "expect": {
455
- "vendor": "Huawei",
456
- "model": "ELE-L29",
392
+ "vendor": "LG",
393
+ "model": "Nexus 4",
457
394
  "type": "mobile"
458
395
  }
459
396
  },
460
397
  {
461
- "desc": "Huawei P30 Pro",
462
- "ua": "Mozilla/5.0 (Linux; Android 9; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
398
+ "desc": "LG Nexus 5",
399
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
463
400
  "expect": {
464
- "vendor": "Huawei",
465
- "model": "VOG-L29",
401
+ "vendor": "LG",
402
+ "model": "Nexus 5",
466
403
  "type": "mobile"
467
404
  }
468
405
  },
469
406
  {
470
- "desc": "Huawei P40",
471
- "ua": "Mozilla/5.0 (Linux; Android 10; ANA-AN00 Build/HUAWEIANA-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.26 SP-engine/2.22.0 baiduboxapp/11.26.0.10 (Baidu; P1 10) NABar/1.0",
407
+ "desc": "LG Wing",
408
+ "ua": "Mozilla/5.0 (Linux; Android 10; LM-F100N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36",
472
409
  "expect": {
473
- "vendor": "Huawei",
474
- "model": "ANA-AN00",
410
+ "vendor": "LG",
411
+ "model": "LM-F100N",
475
412
  "type": "mobile"
476
413
  }
477
414
  },
478
415
  {
479
- "desc": "Huawei P40 Pro",
480
- "ua": "Mozilla/5.0 (Linux; Android 10; ELS-AN00 Build/HUAWEIELS-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 mailapp/6.0.0",
416
+ "desc": "LG Smart TV",
417
+ "ua": "Mozilla/5.0 (DirectFB; U; Linux mips; en) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) LG Browser (; LG NetCast.TV-2011)",
481
418
  "expect": {
482
- "vendor": "Huawei",
483
- "model": "ELS-AN00",
484
- "type": "mobile"
419
+ "vendor": "LG",
420
+ "model": "undefined",
421
+ "type": "smarttv"
485
422
  }
486
423
  },
487
424
  {
488
- "desc": "Huawei 30 Pro+",
489
- "ua": "Mozilla/5.0 (Linux; Android 10; EBG-AN10 Build/HUAWEIEBG-AN10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.86 Mobile Safari/537.36 EdgA/42.0.0.2741",
425
+ "desc": "LG Smart TV",
426
+ "ua": "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/53.0.2785 34 Safari/537.31 SmartTV/8.5",
490
427
  "expect": {
491
- "vendor": "Huawei",
492
- "model": "EBG-AN10",
493
- "type": "mobile"
428
+ "vendor": "LG",
429
+ "model": "undefined",
430
+ "type": "smarttv"
494
431
  }
495
432
  },
496
433
  {
497
- "desc": "Huawei 30S",
498
- "ua": "Mozilla/5.0 (Linux; Android 10; CDY-AN90 Build/HUAWEICDY-AN90; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 mailapp/5.8.0",
434
+ "desc": "Meizu M5 Note",
435
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; M5 Note Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043024 Safari/537.36 MicroMessenger/6.5.7.1040 NetType/WIFI Language/zh_CN",
499
436
  "expect": {
500
- "vendor": "Huawei",
501
- "model": "CDY-AN90",
437
+ "vendor": "Meizu",
438
+ "model": "M5 Note",
502
439
  "type": "mobile"
503
440
  }
504
441
  },
505
442
  {
506
- "desc": "Huawei Enjoy10e",
507
- "ua": "Dalvik/2.1.0 (Linux; U; Android 10; MED-AL00 Build/HUAWEIMED-AL00)",
443
+ "desc": "Microsoft Lumia 950",
444
+ "ua": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
508
445
  "expect": {
509
- "vendor": "Huawei",
510
- "model": "MED-AL00",
446
+ "vendor": "Microsoft",
447
+ "model": "Lumia 950",
511
448
  "type": "mobile"
512
449
  }
513
450
  },
514
451
  {
515
- "desc": "Huawei Honor 6A",
516
- "ua": "Mozilla/5.0 (Linux; Android 7.0; DLI-L22 Build/HONORDLI-L22; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/252.0.0.22.355;]",
452
+ "desc": "Microsoft Surface Duo",
453
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 10; Surface Duo Build/2020.1014.61)",
517
454
  "expect": {
518
- "vendor": "Huawei",
519
- "model": "DLI-L22",
520
- "type": "mobile"
455
+ "vendor": "Microsoft",
456
+ "model": "Surface Duo",
457
+ "type": "tablet"
521
458
  }
522
459
  },
523
460
  {
524
- "desc": "Huawei Honor 7",
525
- "ua": "Mozilla/5.0 (Linux; Android 6.0; PLK-L01 Build/HONORPLK-L01; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Mobile Safari/537.36",
461
+ "desc": "Motorola Moto X",
462
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-38) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36",
526
463
  "expect": {
527
- "vendor": "Huawei",
528
- "model": "PLK-L01",
464
+ "vendor": "Motorola",
465
+ "model": "XT1097",
529
466
  "type": "mobile"
530
467
  }
531
468
  },
532
469
  {
533
- "desc": "Huawei 10 Lite",
534
- "ua": "Mozilla/5.0 (Linux; Android 9; HRY-LX1 Build/HONORHRY-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36",
535
- "expect": {
536
- "vendor": "Huawei",
537
- "model": "HRY-LX1",
538
- "type": "mobile"
470
+ "desc" : "Meizu M3S",
471
+ "ua" : "Mozilla/5.0 (X11; Linux; Android 5.1; MZ-M3s Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrom/45.0.2454.94 Mobile Safari/537.36",
472
+ "expect" :
473
+ {
474
+ "vendor" : "Meizu",
475
+ "model" : "M3s",
476
+ "type" : "mobile"
539
477
  }
540
478
  },
541
479
  {
542
- "desc": "Huawei Y7 2018",
543
- "ua": "Mozilla/5.0 (Linux; Android 8.0.0; LDN-L01) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.62 Mobile Safari/537.36",
544
- "expect": {
545
- "vendor": "Huawei",
546
- "model": "LDN-L01",
547
- "type": "mobile"
480
+ "desc" : "Microsoft Lumia 950",
481
+ "ua" : "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
482
+ "expect" :
483
+ {
484
+ "vendor" : "Microsoft",
485
+ "model" : "Lumia 950",
486
+ "type" : "mobile"
548
487
  }
549
488
  },
550
489
  {
551
- "desc": "Huawei Honor 8X",
552
- "ua": "Mozilla/5.0 (Linux; Android 9; JSN-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36",
490
+ "desc": "Motorola Nexus 6",
491
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.20 Mobile Safari/537.36",
553
492
  "expect": {
554
- "vendor": "Huawei",
555
- "model": "JSN-L21",
493
+ "vendor": "Motorola",
494
+ "model": "Nexus 6",
556
495
  "type": "mobile"
557
496
  }
558
497
  },
559
498
  {
560
- "desc": "Huawei Y6 2019",
561
- "ua": "Mozilla/5.0 (Linux; Android 9; MRD-LX1N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
499
+ "desc": "Motorola Droid RAZR 4G",
500
+ "ua": "Mozilla/5.0 (Linux; U; Android 2.3; xx-xx; DROID RAZR 4G Build/6.5.1-73_DHD-11_M1-29) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
562
501
  "expect": {
563
- "vendor": "Huawei",
564
- "model": "MRD-LX1N",
502
+ "vendor": "Motorola",
503
+ "model": "DROID RAZR 4G",
565
504
  "type": "mobile"
566
505
  }
567
506
  },
568
507
  {
569
- "desc": "Huawei Y9 2019",
570
- "ua": "Mozilla/5.0 (Linux; Android 9; JKM-LX2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
508
+ "desc": "Motorola RAZR 2019",
509
+ "ua": "Mozilla/5.0 (Linux; Android 9; motorola razr) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.1 Chrome/75.0.3770.143 Mobile Safari/537.36",
571
510
  "expect": {
572
- "vendor": "Huawei",
573
- "model": "JKM-LX2",
511
+ "vendor": "Motorola",
512
+ "model": "razr",
574
513
  "type": "mobile"
575
514
  }
576
515
  },
577
516
  {
578
- "desc": "Huawei Y5",
579
- "ua": "Mozilla/5.0 (Linux; Android 9; AMN-LX3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
517
+ "desc": "iPhone",
518
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53",
580
519
  "expect": {
581
- "vendor": "Huawei",
582
- "model": "AMN-LX3",
583
- "type": "mobile"
584
- }
585
- },
586
- {
587
- "desc": "Huawei Y7p",
588
- "ua": "Mozilla/5.0 (Linux; Android 9; ART-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36",
589
- "expect": {
590
- "vendor": "Huawei",
591
- "model": "ART-L29",
592
- "type": "mobile"
593
- }
594
- },
595
- {
596
- "desc": "Huawei Mate 20 Lite",
597
- "ua": "Mozilla/5.0 (Linux; Android 8.1.0; SNE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.116 Mobile Safari/537.36",
598
- "expect": {
599
- "vendor": "Huawei",
600
- "model": "SNE-LX1",
601
- "type": "mobile"
602
- }
603
- },
604
- {
605
- "desc": "Huawei P10 Lite",
606
- "ua": "Mozilla/5.0 (Linux; Android 8.0.0; WAS-LX1A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36",
607
- "expect": {
608
- "vendor": "Huawei",
609
- "model": "WAS-LX1A",
610
- "type": "mobile"
611
- }
612
- },
613
- {
614
- "desc": "Huawei Y5 Lite 2018",
615
- "ua": "Mozilla/5.0 (Linux; Android 8.1.0; DRA-LX5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
616
- "expect": {
617
- "vendor": "Huawei",
618
- "model": "DRA-LX5",
619
- "type": "mobile"
620
- }
621
- },
622
- {
623
- "desc": "Huawei Honor 8C",
624
- "ua": "Mozilla/5.0 (Linux; Android 8.1.0; BKK-LX2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
625
- "expect": {
626
- "vendor": "Huawei",
627
- "model": "BKK-LX2",
628
- "type": "mobile"
629
- }
630
- },
631
- {
632
- "desc": "iPad using UCBrowser",
633
- "ua": "Mozilla/5.0 (iPad; U; CPU OS 11_2 like Mac OS X; zh-CN; iPad5,3) AppleWebKit/534.46 (KHTML, like Gecko) UCBrowser/3.0.1.776 U3/ Mobile/10A403 Safari/7543.48.3",
634
- "expect": {
635
- "vendor": "Apple",
636
- "model": "iPad",
637
- "type": "tablet"
638
- }
639
- },
640
- {
641
- "desc": "iPad Air",
642
- "ua": "Mozilla/5.0 (iPad; CPU OS 12_4_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPad4,1;FBMD/iPad;FBSN/iOS;FBSV/12.4.5;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5;FBCR/]",
643
- "expect": {
644
- "vendor": "Apple",
645
- "model": "iPad",
646
- "type": "tablet"
647
- }
648
- },
649
- {
650
- "desc": "iPad using Facebook Browser",
651
- "ua": "Mozilla/5.0 (iPad; CPU OS 14_4_2 like Mac OS X) WebKit/8610 (KHTML, like Gecko) Mobile/18D70 [FBAN/FBIOS;FBDV/iPad7,11;FBMD/iPad;FBSN/iOS;FBSV/14.4.2;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5]",
652
- "expect": {
653
- "vendor": "Apple",
654
- "model": "iPad",
655
- "type": "tablet"
656
- }
657
- },
658
- {
659
- "desc": "iPod",
660
- "ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
661
- "expect": {
662
- "vendor": "Apple",
663
- "model": "iPod touch",
664
- "type": "mobile"
665
- }
666
- },
667
- {
668
- "desc": "Lenovo Tab 2",
669
- "ua": "Mozilla/5.0 (Linux; Android 5.0.1; Lenovo TAB 2 A7-30HC Build/LRX21M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.157 Safari/537.36",
670
- "expect": {
671
- "vendor": "Lenovo",
672
- "model": "TAB 2 A7",
673
- "type": "tablet"
674
- }
675
- },
676
- {
677
- "desc": "Lenovo Phone",
678
- "ua": "Mozilla/5.0 (Linux; Android 6.0; Lenovo PB2-650M Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.105 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/311.0.0.44.117;]",
679
- "expect": {
680
- "vendor": "Lenovo",
681
- "model": "PB2-650M",
682
- "type": "mobile"
683
- }
684
- },
685
- {
686
- "desc": "Lenovo Tab 3 Pro",
687
- "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Lenovo YT3-X90F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
688
- "expect": {
689
- "vendor": "Lenovo",
690
- "model": "YT3-X90F",
691
- "type": "tablet"
692
- }
693
- },
694
- {
695
- "desc": "Lenovo Tab 4",
696
- "ua": "Mozilla/5.0 (Linux; Android 7.1.1; Lenovo TB-X304F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
697
- "expect": {
698
- "vendor": "Lenovo",
699
- "model": "TB-X304F",
700
- "type": "tablet"
701
- }
702
- },
703
- {
704
- "desc": "Lenovo Tab 4",
705
- "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Lenovo TAB 2 A7-30HC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
706
- "expect": {
707
- "vendor": "Lenovo",
708
- "model": "TAB 2 A7",
709
- "type": "tablet"
710
- }
711
- },
712
- {
713
- "desc": "Lenovo Tab 7 Essential",
714
- "ua": "Mozilla/5.0 (Linux; Android 7.0; Lenovo TB-7304X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
715
- "expect": {
716
- "vendor": "Lenovo",
717
- "model": "TB-7304X",
718
- "type": "tablet"
719
- }
720
- },
721
- {
722
- "desc": "Lenovo Tab M10",
723
- "ua": "Mozilla/5.0 (Linux; arm_64; Android 9; Lenovo TB-X606F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.4.99.01 Safari/537.36",
724
- "expect": {
725
- "vendor": "Lenovo",
726
- "model": "TB-X606F",
727
- "type": "tablet"
728
- }
729
- },
730
- {
731
- "desc": "LG V40 ThinQ",
732
- "ua": "Mozilla/5.0 (Linux; Android 9; LM-V405) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
733
- "expect": {
734
- "vendor": "LG",
735
- "model": "LM-V405",
736
- "type": "mobile"
737
- }
738
- },
739
- {
740
- "desc": "LG K30",
741
- "ua": "Mozilla/5.0 (Linux; Android 8.1.0; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
742
- "expect": {
743
- "vendor": "LG",
744
- "model": "LM-X410.F",
745
- "type": "mobile"
746
- }
747
- },
748
- {
749
- "desc": "LG K30",
750
- "ua": "Mozilla/5.0 (Linux; Android 9; LM-X410.FGN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
751
- "expect": {
752
- "vendor": "LG",
753
- "model": "LM-X410.FGN",
754
- "type": "mobile"
755
- }
756
- },
757
- {
758
- "desc": "LG Stylo 5",
759
- "ua": "Mozilla/5.0 (Linux; Android 9; LM-Q720) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
760
- "expect": {
761
- "vendor": "LG",
762
- "model": "LM-Q720",
763
- "type": "mobile"
764
- }
765
- },
766
- {
767
- "desc": "LG G7 ThinQ",
768
- "ua": "Mozilla/5.0 (Linux; Android 9; LM-G710VM Build/PKQ1.181105.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.136 Mobile Safari/537.36",
769
- "expect": {
770
- "vendor": "LG",
771
- "model": "LM-G710VM",
772
- "type": "mobile"
773
- }
774
- },
775
- {
776
- "desc": "LG K500",
777
- "ua": "Mozilla/5.0 (Linux; Android 6.0.1; LG-K500 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36",
778
- "expect": {
779
- "vendor": "LG",
780
- "model": "K500",
781
- "type": "mobile"
782
- }
783
- },
784
- {
785
- "desc": "LG Nexus 4",
786
- "ua": "Mozilla/5.0 (Linux; Android 4.2.1; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
787
- "expect": {
788
- "vendor": "LG",
789
- "model": "Nexus 4",
790
- "type": "mobile"
791
- }
792
- },
793
- {
794
- "desc": "LG Nexus 4",
795
- "ua": "Mozilla/5.0 (Linux; U; Android 4.3; en-us; Google Nexus 4 - 4.3 - API 18 - 768x1280 Build/JLS36G) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
796
- "expect": {
797
- "vendor": "LG",
798
- "model": "Nexus 4",
799
- "type": "mobile"
800
- }
801
- },
802
- {
803
- "desc": "LG Nexus 5",
804
- "ua": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
805
- "expect": {
806
- "vendor": "LG",
807
- "model": "Nexus 5",
808
- "type": "mobile"
809
- }
810
- },
811
- {
812
- "desc": "LG Wing",
813
- "ua": "Mozilla/5.0 (Linux; Android 10; LM-F100N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36",
814
- "expect": {
815
- "vendor": "LG",
816
- "model": "LM-F100N",
817
- "type": "mobile"
818
- }
819
- },
820
- {
821
- "desc": "LG Smart TV",
822
- "ua": "Mozilla/5.0 (DirectFB; U; Linux mips; en) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) LG Browser (; LG NetCast.TV-2011)",
823
- "expect": {
824
- "vendor": "LG",
825
- "model": "undefined",
826
- "type": "smarttv"
827
- }
828
- },
829
- {
830
- "desc": "LG Smart TV",
831
- "ua": "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/53.0.2785 34 Safari/537.31 SmartTV/8.5",
832
- "expect": {
833
- "vendor": "LG",
834
- "model": "undefined",
835
- "type": "smarttv"
836
- }
837
- },
838
- {
839
- "desc": "LG Android TV",
840
- "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; LG Android TV Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
841
- "expect": {
842
- "vendor": "LG",
843
- "model": "undefined",
844
- "type": "smarttv"
845
- }
846
- },
847
- {
848
- "desc": "Meizu M5 Note",
849
- "ua": "Mozilla/5.0 (Linux; Android 6.0; M5 Note Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043024 Safari/537.36 MicroMessenger/6.5.7.1040 NetType/WIFI Language/zh_CN",
850
- "expect": {
851
- "vendor": "Meizu",
852
- "model": "M5 Note",
853
- "type": "mobile"
854
- }
855
- },
856
- {
857
- "desc": "Microsoft Lumia 950",
858
- "ua": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
859
- "expect": {
860
- "vendor": "Microsoft",
861
- "model": "Lumia 950",
862
- "type": "mobile"
863
- }
864
- },
865
- {
866
- "desc": "Microsoft Surface Duo",
867
- "ua": "Dalvik/2.1.0 (Linux; U; Android 10; Surface Duo Build/2020.1014.61)",
868
- "expect": {
869
- "vendor": "Microsoft",
870
- "model": "Surface Duo",
871
- "type": "tablet"
872
- }
873
- },
874
- {
875
- "desc": "Motorola Moto X",
876
- "ua": "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-38) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36",
877
- "expect": {
878
- "vendor": "Motorola",
879
- "model": "XT1097",
880
- "type": "mobile"
881
- }
882
- },
883
- {
884
- "desc" : "Meizu M3S",
885
- "ua" : "Mozilla/5.0 (X11; Linux; Android 5.1; MZ-M3s Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrom/45.0.2454.94 Mobile Safari/537.36",
886
- "expect" :
887
- {
888
- "vendor" : "Meizu",
889
- "model" : "M3s",
890
- "type" : "mobile"
891
- }
892
- },
893
- {
894
- "desc" : "Microsoft Lumia 950",
895
- "ua" : "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
896
- "expect" :
897
- {
898
- "vendor" : "Microsoft",
899
- "model" : "Lumia 950",
900
- "type" : "mobile"
901
- }
902
- },
903
- {
904
- "desc": "Motorola Nexus 6",
905
- "ua": "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.20 Mobile Safari/537.36",
906
- "expect": {
907
- "vendor": "Motorola",
908
- "model": "Nexus 6",
909
- "type": "mobile"
910
- }
911
- },
912
- {
913
- "desc": "Motorola Droid RAZR 4G",
914
- "ua": "Mozilla/5.0 (Linux; U; Android 2.3; xx-xx; DROID RAZR 4G Build/6.5.1-73_DHD-11_M1-29) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
915
- "expect": {
916
- "vendor": "Motorola",
917
- "model": "DROID RAZR 4G",
918
- "type": "mobile"
919
- }
920
- },
921
- {
922
- "desc": "Motorola RAZR 2019",
923
- "ua": "Mozilla/5.0 (Linux; Android 9; motorola razr) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.1 Chrome/75.0.3770.143 Mobile Safari/537.36",
924
- "expect": {
925
- "vendor": "Motorola",
926
- "model": "razr",
927
- "type": "mobile"
928
- }
929
- },
930
- {
931
- "desc": "iPhone",
932
- "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53",
933
- "expect": {
934
- "vendor": "Apple",
935
- "model": "iPhone",
520
+ "vendor": "Apple",
521
+ "model": "iPhone",
936
522
  "type": "mobile"
937
523
  }
938
524
  },
@@ -1053,30 +639,12 @@
1053
639
  "type": "mobile"
1054
640
  }
1055
641
  },
1056
- {
1057
- "desc": "Oculus Quest",
1058
- "ua": "Mozilla/5.0 (Linux; Android 10; Quest) AppleWebKit/537.36 (KHTML, like Gecko) OculusBrowser/15.0.0.0.22.280317669 SamsungBrowser/4.0 Chrome/89.0.4389.90 VR Safari/537.36",
1059
- "expect": {
1060
- "vendor": "Facebook",
1061
- "model": "Quest",
1062
- "type": "wearable"
1063
- }
1064
- },
1065
- {
1066
- "desc": "Oculus Quest 2",
1067
- "ua": "Mozilla/5.0 (Linux; Android 10; Quest 2) AppleWebKit/537.36 (KHTML, like Gecko) OculusBrowser/15.0.0.0.22.280317669 SamsungBrowser/4.0 Chrome/89.0.4389.90 VR Safari/537.36",
1068
- "expect": {
1069
- "vendor": "Facebook",
1070
- "model": "Quest 2",
1071
- "type": "wearable"
1072
- }
1073
- },
1074
642
  {
1075
643
  "desc": "OnePlus One",
1076
644
  "ua": "Mozilla/5.0 (Linux; Android 4.4.4; A0001 Build/KTU84Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.59 Mobile Safari/537.36",
1077
645
  "expect": {
1078
646
  "vendor": "OnePlus",
1079
- "model": "A0001",
647
+ "model": "1",
1080
648
  "type": "mobile"
1081
649
  }
1082
650
  },
@@ -1085,16 +653,7 @@
1085
653
  "ua": "Mozilla/5.0 (Linux; Android 4.4.2; OnePlus One A0001 Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Mobile Safari/537.36",
1086
654
  "expect": {
1087
655
  "vendor": "OnePlus",
1088
- "model": "A0001",
1089
- "type": "mobile"
1090
- }
1091
- },
1092
- {
1093
- "desc": "OnePlus 2",
1094
- "ua": "Mozilla/5.0 (Linux; Android 6.0.1; ONE A2003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
1095
- "expect": {
1096
- "vendor": "OnePlus",
1097
- "model": "A2003",
656
+ "model": "1",
1098
657
  "type": "mobile"
1099
658
  }
1100
659
  },
@@ -1269,15 +828,6 @@
1269
828
  "type": "mobile"
1270
829
  }
1271
830
  },
1272
- {
1273
- "desc": "Realme C2",
1274
- "ua": "Mozilla/5.0 (Linux; Android 9; RMX1941) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1275
- "expect": {
1276
- "vendor": "Realme",
1277
- "model": "RMX1941",
1278
- "type": "mobile"
1279
- }
1280
- },
1281
831
  {
1282
832
  "desc": "Realme Narzo 20",
1283
833
  "ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; RMX2193 Build/QP1A.190711.020) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
@@ -1287,15 +837,6 @@
1287
837
  "type": "mobile"
1288
838
  }
1289
839
  },
1290
- {
1291
- "desc": "Realme 2 Pro",
1292
- "ua": "Mozilla/5.0 (Linux; Android 9; RMX1801) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
1293
- "expect": {
1294
- "vendor": "Realme",
1295
- "model": "RMX1801",
1296
- "type": "mobile"
1297
- }
1298
- },
1299
840
  {
1300
841
  "desc": "Philips SmartTV",
1301
842
  "ua": "Opera/9.80 HbbTV/1.1.1 (; Philips; ; ; ; ) NETTV/4.0.2; en) Version/11.60",
@@ -1305,33 +846,6 @@
1305
846
  "type": "smarttv"
1306
847
  }
1307
848
  },
1308
- {
1309
- "desc": "Roku",
1310
- "ua": "Mozilla/5.0 (Roku) AppleWebKit/537.36 (KHTML, like Gecko) Web/1.1 Safari/537.36",
1311
- "expect": {
1312
- "vendor": "Roku",
1313
- "model": "",
1314
- "type": "smarttv"
1315
- }
1316
- },
1317
- {
1318
- "desc": "Roku",
1319
- "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Roku/DVP-8.10 (468.10E04145A)",
1320
- "expect": {
1321
- "vendor": "Roku",
1322
- "model": "DVP-8.10",
1323
- "type": "smarttv"
1324
- }
1325
- },
1326
- {
1327
- "desc": "Roku",
1328
- "ua": "Roku4640X/DVP-7.70 (297.70E04154A)",
1329
- "expect": {
1330
- "vendor": "Roku",
1331
- "model": "DVP-7.70",
1332
- "type": "smarttv"
1333
- }
1334
- },
1335
849
  {
1336
850
  "desc": "Kindle Fire HD",
1337
851
  "ua": "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true",
@@ -1566,33 +1080,6 @@
1566
1080
  "type": "smarttv"
1567
1081
  }
1568
1082
  },
1569
- {
1570
- "desc": "Sharp Aquos B10",
1571
- "ua": "Mozilla/5.0 (Linux; Android 7.0; SH-A01) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Mobile Safari/537.36",
1572
- "expect": {
1573
- "vendor": "Sharp",
1574
- "model": "SH-A01",
1575
- "type": "mobile"
1576
- }
1577
- },
1578
- {
1579
- "desc": "Sharp Aquos L2",
1580
- "ua": "Mozilla/5.0 (Linux; Android 7.0; SH-L02 Build/S4045) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36",
1581
- "expect": {
1582
- "vendor": "Sharp",
1583
- "model": "SH-L02",
1584
- "type": "mobile"
1585
- }
1586
- },
1587
- {
1588
- "desc": "Sharp Aquos R2",
1589
- "ua": "Mozilla/5.0 (Linux; Android 8.0; SHV42) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36",
1590
- "expect": {
1591
- "vendor": "Sharp",
1592
- "model": "SHV42",
1593
- "type": "mobile"
1594
- }
1595
- },
1596
1083
  {
1597
1084
  "desc": "Sony G8141 (Xperia XZ Premium)",
1598
1085
  "ua": "Mozilla/5.0 (Linux; Android 8.0.0; G8141) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36",
@@ -1665,15 +1152,6 @@
1665
1152
  "type": "mobile"
1666
1153
  }
1667
1154
  },
1668
- {
1669
- "desc": "Sony Xperia 1ii",
1670
- "ua": "Mozilla/5.0 (Linux; Android 10; SOG01) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
1671
- "expect": {
1672
- "vendor": "Sony",
1673
- "model": "SOG01",
1674
- "type": "mobile"
1675
- }
1676
- },
1677
1155
  {
1678
1156
  "desc": "Sony Xperia 10ii",
1679
1157
  "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AU52) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
@@ -1829,51 +1307,6 @@
1829
1307
  "type": "mobile"
1830
1308
  }
1831
1309
  },
1832
- {
1833
- "desc": "Xiaomi Mi Max 3",
1834
- "ua": "Mozilla/5.0 (Linux; Android 9; MI MAX 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Mobile Safari/537.36",
1835
- "expect": {
1836
- "vendor": "Xiaomi",
1837
- "model": "MI MAX 3",
1838
- "type": "mobile"
1839
- }
1840
- },
1841
- {
1842
- "desc": "Xiaomi Mi A1",
1843
- "ua": "Mozilla/5.0 (Linux; Android 9; Mi A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.101 Mobile Safari/537.36",
1844
- "expect": {
1845
- "vendor": "Xiaomi",
1846
- "model": "Mi A1",
1847
- "type": "mobile"
1848
- }
1849
- },
1850
- {
1851
- "desc": "Xiaomi Mi A2 Lite",
1852
- "ua": "Mozilla/5.0 (Linux; Android 9; Mi A2 Lite) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.62 Mobile Safari/537.36",
1853
- "expect": {
1854
- "vendor": "Xiaomi",
1855
- "model": "Mi A2 Lite",
1856
- "type": "mobile"
1857
- }
1858
- },
1859
- {
1860
- "desc": "Xiaomi Mi 9 SE",
1861
- "ua": "Mozilla/5.0 (Linux; Android 9; Mi 9 SE) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
1862
- "expect": {
1863
- "vendor": "Xiaomi",
1864
- "model": "Mi 9 SE",
1865
- "type": "mobile"
1866
- }
1867
- },
1868
- {
1869
- "desc": "Xiaomi Mi A2",
1870
- "ua": "Mozilla/5.0 (Linux; Android 9; Mi A2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36",
1871
- "expect": {
1872
- "vendor": "Xiaomi",
1873
- "model": "Mi A2",
1874
- "type": "mobile"
1875
- }
1876
- },
1877
1310
  {
1878
1311
  "desc": "Xiaomi MI PAD 2",
1879
1312
  "ua": "Mozilla/5.0 (Linux; Android 5.1; MI PAD 2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Safari/537.36 [FB_IAB/FB4A;FBAV/137.0.0.24.91;]",
@@ -2260,10 +1693,9 @@
2260
1693
  }
2261
1694
  },
2262
1695
  {
2263
- "desc": "docomo SH-02M",
1696
+ "desc": "Android Phone Unidentified Vendor (docomo SH-02M)",
2264
1697
  "ua": "Mozilla/5.0 (Linux; Android 9; SH-02M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
2265
1698
  "expect": {
2266
- "vendor": "Sharp",
2267
1699
  "model": "SH-02M",
2268
1700
  "type": "mobile"
2269
1701
  }
@@ -2393,65 +1825,38 @@
2393
1825
  }
2394
1826
  },
2395
1827
  {
2396
- "desc": "ZTE-Z431",
2397
- "ua": "ZTE-Z431/1.4.0 NetFront/4.2 QTV5.1 Profile/MIDP-2.1 Configuration/CLDC-1.1",
2398
- "expect": {
2399
- "vendor": "ZTE",
2400
- "model": "Z431",
2401
- "type": "mobile"
2402
- }
2403
- },
2404
- {
2405
- "desc": "ZTE",
2406
- "ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; ZTE-Z740G Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
2407
- "expect": {
2408
- "vendor": "ZTE",
2409
- "model": "Z740G",
2410
- "type": "mobile"
2411
- }
2412
- },
2413
- {
2414
- "desc": "ZTE K Series Tablet",
2415
- "ua": "Mozilla/5.0 (Linux; Android 6.0.1; K88 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
2416
- "expect": {
2417
- "vendor": "ZTE",
2418
- "model": "K88",
2419
- "type": "tablet"
2420
- }
2421
- },
2422
- {
2423
- "desc": "ZTE Nubia Red Magic 3",
2424
- "ua": "Mozilla/5.0 (Linux; Android 9; NX629J Build/PKQ1.190321.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/45016 Mobile Safari/537.36 MMWEBID/4064 MicroMessenger/7.0.10.1580(0x27000A34) Process/tools NetType/WIFI Language/zh_CN ABI/arm64",
1828
+ "desc": "ZTE-Z431",
1829
+ "ua": "ZTE-Z431/1.4.0 NetFront/4.2 QTV5.1 Profile/MIDP-2.1 Configuration/CLDC-1.1",
2425
1830
  "expect": {
2426
1831
  "vendor": "ZTE",
2427
- "model": "NX629J",
1832
+ "model": "Z431",
2428
1833
  "type": "mobile"
2429
1834
  }
2430
1835
  },
2431
1836
  {
2432
- "desc": "ZTE Blade A5",
2433
- "ua": "Mozilla/5.0 (Linux; Android 9; ZTE Blade A5 2019) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
1837
+ "desc": "ZTE",
1838
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; ZTE-Z740G Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
2434
1839
  "expect": {
2435
1840
  "vendor": "ZTE",
2436
- "model": "Blade A5 2019",
1841
+ "model": "Z740G",
2437
1842
  "type": "mobile"
2438
1843
  }
2439
1844
  },
2440
1845
  {
2441
- "desc": "ZTE BLADE V0730",
2442
- "ua": "Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V0730) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
1846
+ "desc": "ZTE K Series Tablet",
1847
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; K88 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
2443
1848
  "expect": {
2444
1849
  "vendor": "ZTE",
2445
- "model": "BLADE V0730",
2446
- "type": "mobile"
1850
+ "model": "K88",
1851
+ "type": "tablet"
2447
1852
  }
2448
1853
  },
2449
1854
  {
2450
- "desc": "ZTE B2017G",
2451
- "ua": "Mozilla/5.0 (Linux; Android 7.1.1; ZTE B2017G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
1855
+ "desc": "ZTE Nubia Red Magic 3",
1856
+ "ua": "Mozilla/5.0 (Linux; Android 9; NX629J Build/PKQ1.190321.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/45016 Mobile Safari/537.36 MMWEBID/4064 MicroMessenger/7.0.10.1580(0x27000A34) Process/tools NetType/WIFI Language/zh_CN ABI/arm64",
2452
1857
  "expect": {
2453
1858
  "vendor": "ZTE",
2454
- "model": "B2017G",
1859
+ "model": "NX629J",
2455
1860
  "type": "mobile"
2456
1861
  }
2457
1862
  },
@@ -2663,253 +2068,379 @@
2663
2068
  }
2664
2069
  },
2665
2070
  {
2666
- "desc": "Amazon Fire 7",
2667
- "ua": "Mozilla/5.0 (Linux; Android 5.1.1; KFAUWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/80.5.3 like Chrome/80.0.3987.162 Safari/537.36",
2071
+ "desc": "HUAWEI MediaPad M3 Lite 10",
2072
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; BAH-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36",
2668
2073
  "expect": {
2669
- "vendor": "Amazon",
2670
- "model": "KFAUWI",
2074
+ "vendor": "Huawei",
2075
+ "model": "BAH-L09",
2671
2076
  "type": "tablet"
2672
2077
  }
2673
2078
  },
2674
2079
  {
2675
- "desc": "AT&T Radiant Core U304AA",
2676
- "ua": "Dalvik/2.1.0 (Linux; U; Android 9; U304AA Build/P00610)",
2677
- "expect": {
2678
- "vendor": "AT&T",
2679
- "model": "U304AA",
2680
- "type": "mobile"
2681
- }
2682
- },
2683
- {
2684
- "desc": "Vodafone Smart Tab 4G",
2685
- "ua": "Mozilla/5.0 (Linux; Android 4.4.4; Vodafone Smart Tab 4G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
2080
+ "desc": "HUAWEI MediaPad M5 Lite",
2081
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; BAH2-W19 Build/HUAWEIBAH2-W19; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Safari/537.36",
2686
2082
  "expect": {
2687
- "vendor": "Vodafone",
2688
- "model": "Smart Tab 4G",
2083
+ "vendor": "Huawei",
2084
+ "model": "BAH2-W19",
2689
2085
  "type": "tablet"
2690
2086
  }
2691
2087
  },
2692
2088
  {
2693
- "desc": "Vodafone Smart ultra 6",
2694
- "ua": "Mozilla/5.0 (Linux; Android 5.0.2; Vodafone Smart ultra 6 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
2089
+ "desc": "HUAWEI MediaPad M5",
2090
+ "ua": "Mozilla/5.0 (Linux; Android 9; SHT-AL09 Build/HUAWEISHT-AL09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.90 Mobile Safari/537.36",
2695
2091
  "expect": {
2696
- "vendor": "Vodafone",
2697
- "model": "Smart ultra 6",
2092
+ "vendor": "Huawei",
2093
+ "model": "SHT-AL09",
2698
2094
  "type": "tablet"
2699
2095
  }
2700
2096
  },
2701
2097
  {
2702
- "desc": "4ife 4K Smart TV Box",
2703
- "ua": "Mozilla/5.0 (Linux; Android 4.4.2; 4ife 4K Smart TV Box Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36 Vinebre",
2704
- "expect": {
2705
- "vendor": "undefined",
2706
- "model": "undefined",
2707
- "type": "smarttv"
2708
- }
2709
- },
2710
- {
2711
- "desc": "FaceBook Mobile App",
2712
- "ua": "[FBAN/FBIOS;FBAV/283.0.0.44.117;FBBV/238386386;FBDV/iPhone12,1;FBMD/iPhone;FBSN/iOS;FBSV/13.6.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBRV/240127608]",
2713
- "expect": {
2714
- "type": "mobile"
2715
- }
2716
- },
2717
- {
2718
- "desc": "Issue #454",
2719
- "ua": "Mosamzilla/5.0 (Windows; U; Win98; en-US; rv:1.7.5) Gecko/20050603 Netscape/8.0.2",
2720
- "expect": {
2721
- "vendor": "undefined",
2722
- "model": "undefined",
2723
- "type": "undefined"
2724
- }
2725
- },
2726
- {
2727
- "desc": "Alcatel",
2728
- "ua": "Mozilla/5.0 (Linux; Android 4.4.2; ALCATEL A564C Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
2729
- "expect": {
2730
- "vendor": "ALCATEL",
2731
- "model": "A564C",
2732
- "type": "mobile"
2733
- }
2734
- },
2735
- {
2736
- "desc": "Alcatel Go Flip",
2737
- "ua": "Mozilla/5.0 (Mobile; ALCATEL4044T; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0",
2738
- "expect": {
2739
- "vendor": "ALCATEL",
2740
- "model": "4044T",
2741
- "type": "mobile"
2742
- }
2743
- },
2744
- {
2745
- "desc": "Jolla",
2746
- "ua": "Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0",
2747
- "expect": {
2748
- "vendor": "Jolla",
2749
- "model": "undefined",
2750
- "type": "mobile"
2751
- }
2752
- },
2753
- {
2754
- "desc": "Xbox One",
2755
- "ua": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; Xbox; Xbox One)",
2756
- "expect": {
2757
- "vendor": "Microsoft",
2758
- "model": "Xbox One",
2759
- "type": "console"
2760
- }
2761
- },
2762
- {
2763
- "desc": "Xbox",
2764
- "ua": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Xbox)",
2765
- "expect": {
2766
- "vendor": "Microsoft",
2767
- "model": "Xbox",
2768
- "type": "console"
2769
- }
2770
- },
2771
- {
2772
- "desc": "Nvidia Shield Tablet",
2773
- "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SHIELD Tablet Build/LVY48E; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/45.0.2454.19 Safari/537.36",
2098
+ "desc": "HUAWEI MediaPad T5",
2099
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; AGS2-L09 Build/HUAWEIAGS2-L09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/84.0.4147.125 Safari/537.36",
2774
2100
  "expect": {
2775
- "vendor": "Nvidia",
2776
- "model": "SHIELD Tablet",
2101
+ "vendor": "Huawei",
2102
+ "model": "AGS2-L09",
2777
2103
  "type": "tablet"
2778
2104
  }
2779
2105
  },
2780
2106
  {
2781
- "desc": "Ouya",
2782
- "ua": "Mozilla/5.0 (Linux; Android 4.1.2; OUYA Console Build/JZO54L-OUYA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
2783
- "expect": {
2784
- "vendor": "OUYA",
2785
- "model": "undefined",
2786
- "type": "console"
2787
- }
2788
- },
2789
- {
2790
- "desc": "Vivo Y52s",
2791
- "ua": "Mozilla/5.0 (Linux; Android 10; V2057A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/12.10 SP-engine/2.28.0 baiduboxapp/12.10.0.10 (Baidu; P1 10) NABar/1.0",
2107
+ "desc": "HUAWEI MediaPad T10",
2108
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGR-W09 Build/HUAWEIAGR-W09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Safari/537.36",
2792
2109
  "expect": {
2793
- "vendor": "Vivo",
2794
- "model": "V2057A",
2795
- "type": "mobile"
2110
+ "vendor": "Huawei",
2111
+ "model": "AGR-W09",
2112
+ "type": "tablet"
2796
2113
  }
2797
2114
  },
2798
2115
  {
2799
- "desc": "Vivo X60",
2800
- "ua": "Mozilla/5.0 (Linux; Android 11; V2046A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/8.8.71.0",
2116
+ "desc": "HUAWEI MediaPad T10s",
2117
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGS3-W09 Build/HUAWEIAGS3-W09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Safari/537.36",
2801
2118
  "expect": {
2802
- "vendor": "Vivo",
2803
- "model": "V2046A",
2804
- "type": "mobile"
2119
+ "vendor": "Huawei",
2120
+ "model": "AGS3-W09",
2121
+ "type": "tablet"
2805
2122
  }
2806
2123
  },
2807
2124
  {
2808
- "desc": "Vivo Y79A",
2809
- "ua": "Mozilla/5.0 (Linux; Android 7.1.2; vivo Y79A Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
2125
+ "desc": "Huawei MatePad T 10",
2126
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGR-L09; HMSCore 5.0.4.301) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.3.304 Safari/537.36",
2810
2127
  "expect": {
2811
- "vendor": "Vivo",
2812
- "model": "Y79A",
2813
- "type": "mobile"
2128
+ "vendor": "Huawei",
2129
+ "model": "AGR-L09",
2130
+ "type": "tablet"
2814
2131
  }
2815
2132
  },
2816
2133
  {
2817
- "desc": "Vivo Y97",
2818
- "ua": "Mozilla/5.0 (Linux; Android 8.1.0; V1813T Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
2134
+ "desc": "Huawei Mate 10 Pro",
2135
+ "ua": "Mozilla/5.0 (Linux; Android 8.0; BLA-L29 Build/HUAWEIBLA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.6 Mobile Safari/537.36",
2819
2136
  "expect": {
2820
- "vendor": "Vivo",
2821
- "model": "V1813T",
2137
+ "vendor": "Huawei",
2138
+ "model": "BLA-L29",
2822
2139
  "type": "mobile"
2823
2140
  }
2824
2141
  },
2825
2142
  {
2826
- "desc": "Vivo iQOO Pro",
2827
- "ua": "Mozilla/5.0 (Linux; Android 11; V1916A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.1.10.6",
2143
+ "desc": "Huawei Mate X",
2144
+ "ua": "Mozilla/5.0 (Linux; Android 9; TAH-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Safari/537.36",
2828
2145
  "expect": {
2829
- "vendor": "Vivo",
2830
- "model": "V1916A",
2146
+ "vendor": "Huawei",
2147
+ "model": "TAH-AN00",
2831
2148
  "type": "mobile"
2832
2149
  }
2833
2150
  },
2834
2151
  {
2835
- "desc": "Unknown Mobile using Firefox",
2836
- "ua": "Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0",
2152
+ "desc": "Huawei Mate X2",
2153
+ "ua": "Mozilla/5.0 (Linux; Android 10; TET-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
2837
2154
  "expect": {
2838
- "vendor": "undefined",
2839
- "model": "undefined",
2155
+ "vendor": "Huawei",
2156
+ "model": "TET-AN00",
2840
2157
  "type": "mobile"
2841
2158
  }
2842
2159
  },
2843
2160
  {
2844
- "desc": "Unknown Tablet using Firefox",
2845
- "ua": "Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0",
2846
- "expect": {
2847
- "vendor": "undefined",
2848
- "model": "undefined",
2849
- "type": "tablet"
2850
- }
2851
- },
2852
- {
2853
- "desc": "Unknown Mobile using Focus for Android",
2854
- "ua": "Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Mobile Safari/537.36",
2855
- "expect": {
2856
- "vendor": "undefined",
2857
- "model": "undefined",
2858
- "type": "mobile"
2859
- }
2161
+ "desc": "Huawei Mate 20 X",
2162
+ "ua": "Mozilla/5.0 (Linux; Android 9; EVR-L29 Build/HUAWEIEVR-L29; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36",
2163
+ "expect": {
2164
+ "vendor": "Huawei",
2165
+ "model": "EVR-L29",
2166
+ "type": "mobile"
2167
+ }
2860
2168
  },
2861
2169
  {
2862
- "desc": "Unknown Tablet using Focus for Android",
2863
- "ua": "Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Safari/537.36",
2864
- "expect": {
2865
- "vendor": "undefined",
2866
- "model": "undefined",
2867
- "type": "tablet"
2868
- }
2170
+ "desc": "Huawei Mate 20 Pro",
2171
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2172
+ "expect": {
2173
+ "vendor": "Huawei",
2174
+ "model": "LYA-L09",
2175
+ "type": "mobile"
2176
+ }
2869
2177
  },
2870
2178
  {
2871
- "desc": "Unknown Device using Focus for Android with GeckoView",
2872
- "ua": "Mozilla/5.0 (Android 7.0; Mobile; rv:62.0) Gecko/62.0 Firefox/62.0",
2873
- "expect": {
2874
- "vendor": "undefined",
2875
- "model": "undefined",
2876
- "type": "mobile"
2877
- }
2179
+ "desc": "Huawei Mate 20 Pro",
2180
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2181
+ "expect": {
2182
+ "vendor": "Huawei",
2183
+ "model": "LYA-AL00",
2184
+ "type": "mobile"
2185
+ }
2878
2186
  },
2879
2187
  {
2880
- "desc": "Unknown Mobile using Firefox OS",
2881
- "ua": "Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0",
2188
+ "desc": "Huawei P20 Lite",
2189
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; ANE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
2882
2190
  "expect": {
2883
- "vendor": "undefined",
2884
- "model": "undefined",
2191
+ "vendor": "Huawei",
2192
+ "model": "ANE-LX1",
2885
2193
  "type": "mobile"
2886
2194
  }
2887
2195
  },
2888
2196
  {
2889
- "desc": "Unknown Tablet using Firefox OS",
2890
- "ua": "Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0",
2891
- "expect": {
2892
- "vendor": "undefined",
2893
- "model": "undefined",
2894
- "type": "tablet"
2895
- }
2896
- },
2897
- {
2898
- "desc": "Unknown TV using Firefox OS",
2899
- "ua": "Mozilla/5.0 (TV; rv:44.0) Gecko/44.0 Firefox/44.0",
2900
- "expect": {
2901
- "vendor": "undefined",
2902
- "model": "undefined",
2903
- "type": "smarttv"
2904
- }
2905
- },
2906
- {
2907
- "desc": "PDA with Windows CE",
2908
- "ua": "Mozilla/4.0 (PDA; Windows CE/1.0.1) NetFront/3.0",
2909
- "expect": {
2910
- "vendor": "undefined",
2911
- "model": "undefined",
2912
- "type": "mobile"
2913
- }
2197
+ "desc": "Huawei P20",
2198
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; EML-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Mobile Safari/537.36",
2199
+ "expect": {
2200
+ "vendor": "Huawei",
2201
+ "model": "EML-L29",
2202
+ "type": "mobile"
2203
+ }
2204
+ },
2205
+ {
2206
+ "desc": "Huawei P20 Pro",
2207
+ "ua": "Mozilla/5.0 (Linux; Android 9; CLT-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2208
+ "expect": {
2209
+ "vendor": "Huawei",
2210
+ "model": "CLT-L29",
2211
+ "type": "mobile"
2212
+ }
2213
+ },
2214
+ {
2215
+ "desc": "Huawei P30",
2216
+ "ua": "Mozilla/5.0 (Linux; Android 9; ELE-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36",
2217
+ "expect": {
2218
+ "vendor": "Huawei",
2219
+ "model": "ELE-L29",
2220
+ "type": "mobile"
2221
+ }
2222
+ },
2223
+ {
2224
+ "desc": "Huawei P30 Pro",
2225
+ "ua": "Mozilla/5.0 (Linux; Android 9; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
2226
+ "expect": {
2227
+ "vendor": "Huawei",
2228
+ "model": "VOG-L29",
2229
+ "type": "mobile"
2230
+ }
2231
+ },
2232
+ {
2233
+ "desc": "Huawei P40",
2234
+ "ua": "Mozilla/5.0 (Linux; Android 10; ANA-AN00 Build/HUAWEIANA-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.26 SP-engine/2.22.0 baiduboxapp/11.26.0.10 (Baidu; P1 10) NABar/1.0",
2235
+ "expect": {
2236
+ "vendor": "Huawei",
2237
+ "model": "ANA-AN00",
2238
+ "type": "mobile"
2239
+ }
2240
+ },
2241
+ {
2242
+ "desc": "Huawei P40 Pro",
2243
+ "ua": "Mozilla/5.0 (Linux; Android 10; ELS-AN00 Build/HUAWEIELS-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 mailapp/6.0.0",
2244
+ "expect": {
2245
+ "vendor": "Huawei",
2246
+ "model": "ELS-AN00",
2247
+ "type": "mobile"
2248
+ }
2249
+ },
2250
+ {
2251
+ "desc": "Huawei 30 Pro+",
2252
+ "ua": "Mozilla/5.0 (Linux; Android 10; EBG-AN10 Build/HUAWEIEBG-AN10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.86 Mobile Safari/537.36 EdgA/42.0.0.2741",
2253
+ "expect": {
2254
+ "vendor": "Huawei",
2255
+ "model": "EBG-AN10",
2256
+ "type": "mobile"
2257
+ }
2258
+ },
2259
+ {
2260
+ "desc": "Huawei 30S",
2261
+ "ua": "Mozilla/5.0 (Linux; Android 10; CDY-AN90 Build/HUAWEICDY-AN90; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 mailapp/5.8.0",
2262
+ "expect": {
2263
+ "vendor": "Huawei",
2264
+ "model": "CDY-AN90",
2265
+ "type": "mobile"
2266
+ }
2267
+ },
2268
+ {
2269
+ "desc": "Huawei Enjoy10e",
2270
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 10; MED-AL00 Build/HUAWEIMED-AL00)",
2271
+ "expect": {
2272
+ "vendor": "Huawei",
2273
+ "model": "MED-AL00",
2274
+ "type": "mobile"
2275
+ }
2276
+ },
2277
+ {
2278
+ "desc": "Amazon Fire 7",
2279
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; KFAUWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/80.5.3 like Chrome/80.0.3987.162 Safari/537.36",
2280
+ "expect": {
2281
+ "vendor": "Amazon",
2282
+ "model": "KFAUWI",
2283
+ "type": "tablet"
2284
+ }
2285
+ },
2286
+ {
2287
+ "desc": "AT&T Radiant Core U304AA",
2288
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 9; U304AA Build/P00610)",
2289
+ "expect": {
2290
+ "vendor": "AT&T",
2291
+ "model": "U304AA",
2292
+ "type": "mobile"
2293
+ }
2294
+ },
2295
+ {
2296
+ "desc": "Vodafone Smart Tab 4G",
2297
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; Vodafone Smart Tab 4G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
2298
+ "expect": {
2299
+ "vendor": "Vodafone",
2300
+ "model": "Smart Tab 4G",
2301
+ "type": "tablet"
2302
+ }
2303
+ },
2304
+ {
2305
+ "desc": "Vodafone Smart ultra 6",
2306
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.2; Vodafone Smart ultra 6 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
2307
+ "expect": {
2308
+ "vendor": "Vodafone",
2309
+ "model": "Smart ultra 6",
2310
+ "type": "tablet"
2311
+ }
2312
+ },
2313
+ {
2314
+ "desc": "4ife 4K Smart TV Box",
2315
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; 4ife 4K Smart TV Box Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36 Vinebre",
2316
+ "expect": {
2317
+ "vendor": "undefined",
2318
+ "model": "undefined",
2319
+ "type": "smarttv"
2320
+ }
2321
+ },
2322
+ {
2323
+ "desc": "FaceBook Mobile App",
2324
+ "ua": "[FBAN/FBIOS;FBAV/283.0.0.44.117;FBBV/238386386;FBDV/iPhone12,1;FBMD/iPhone;FBSN/iOS;FBSV/13.6.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBRV/240127608]",
2325
+ "expect": {
2326
+ "type": "mobile"
2327
+ }
2328
+ },
2329
+ {
2330
+ "desc": "Issue #454",
2331
+ "ua": "Mosamzilla/5.0 (Windows; U; Win98; en-US; rv:1.7.5) Gecko/20050603 Netscape/8.0.2",
2332
+ "expect": {
2333
+ "vendor": "undefined",
2334
+ "model": "undefined",
2335
+ "type": "undefined"
2336
+ }
2337
+ },
2338
+ {
2339
+ "desc": "Alcatel",
2340
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; ALCATEL A564C Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
2341
+ "expect": {
2342
+ "vendor": "ALCATEL",
2343
+ "model": "A564C",
2344
+ "type": "mobile"
2345
+ }
2346
+ },
2347
+ {
2348
+ "desc": "Alcatel Go Flip",
2349
+ "ua": "Mozilla/5.0 (Mobile; ALCATEL4044T; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0",
2350
+ "expect": {
2351
+ "vendor": "ALCATEL",
2352
+ "model": "4044T",
2353
+ "type": "mobile"
2354
+ }
2355
+ },
2356
+ {
2357
+ "desc": "Jolla",
2358
+ "ua": "Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0",
2359
+ "expect": {
2360
+ "vendor": "Jolla",
2361
+ "model": "undefined",
2362
+ "type": "mobile"
2363
+ }
2364
+ },
2365
+ {
2366
+ "desc": "Xbox One",
2367
+ "ua": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; Xbox; Xbox One)",
2368
+ "expect": {
2369
+ "vendor": "Microsoft",
2370
+ "model": "Xbox One",
2371
+ "type": "console"
2372
+ }
2373
+ },
2374
+ {
2375
+ "desc": "Xbox",
2376
+ "ua": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Xbox)",
2377
+ "expect": {
2378
+ "vendor": "Microsoft",
2379
+ "model": "Xbox",
2380
+ "type": "console"
2381
+ }
2382
+ },
2383
+ {
2384
+ "desc": "Nvidia Shield Tablet",
2385
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SHIELD Tablet Build/LVY48E; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/45.0.2454.19 Safari/537.36",
2386
+ "expect": {
2387
+ "vendor": "Nvidia",
2388
+ "model": "SHIELD Tablet",
2389
+ "type": "tablet"
2390
+ }
2391
+ },
2392
+ {
2393
+ "desc": "Ouya",
2394
+ "ua": "Mozilla/5.0 (Linux; Android 4.1.2; OUYA Console Build/JZO54L-OUYA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
2395
+ "expect": {
2396
+ "vendor": "OUYA",
2397
+ "model": "undefined",
2398
+ "type": "console"
2399
+ }
2400
+ },
2401
+ {
2402
+ "desc": "Vivo Y52s",
2403
+ "ua": "Mozilla/5.0 (Linux; Android 10; V2057A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/12.10 SP-engine/2.28.0 baiduboxapp/12.10.0.10 (Baidu; P1 10) NABar/1.0",
2404
+ "expect": {
2405
+ "vendor": "Vivo",
2406
+ "model": "V2057A",
2407
+ "type": "mobile"
2408
+ }
2409
+ },
2410
+ {
2411
+ "desc": "Vivo X60",
2412
+ "ua": "Mozilla/5.0 (Linux; Android 11; V2046A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/8.8.71.0",
2413
+ "expect": {
2414
+ "vendor": "Vivo",
2415
+ "model": "V2046A",
2416
+ "type": "mobile"
2417
+ }
2418
+ },
2419
+ {
2420
+ "desc": "Vivo Y79A",
2421
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.2; vivo Y79A Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
2422
+ "expect": {
2423
+ "vendor": "Vivo",
2424
+ "model": "Y79A",
2425
+ "type": "mobile"
2426
+ }
2427
+ },
2428
+ {
2429
+ "desc": "Vivo Y97",
2430
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; V1813T Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
2431
+ "expect": {
2432
+ "vendor": "Vivo",
2433
+ "model": "V1813T",
2434
+ "type": "mobile"
2435
+ }
2436
+ },
2437
+ {
2438
+ "desc": "Vivo iQOO Pro",
2439
+ "ua": "Mozilla/5.0 (Linux; Android 11; V1916A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.1.10.6",
2440
+ "expect": {
2441
+ "vendor": "Vivo",
2442
+ "model": "V1916A",
2443
+ "type": "mobile"
2914
2444
  }
2445
+ }
2915
2446
  ]