ua-parser-js 0.7.30 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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
  ]