diff --git a/.gitignore b/.gitignore index 54f8522..fc95395 100644 --- a/.gitignore +++ b/.gitignore @@ -63,6 +63,7 @@ typings/ .idea .history .vscode +*.iml #dist ES5 folder dist diff --git a/CHANGELOG.md b/CHANGELOG.md index c9bf05b..c2d7159 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +#### 0.3.1 (2017-07-13) +* **Database:** Updated Models, Indices and Profiles ([fa4dd85](https://github.com/WhichBrowser/Parser-JavaScript/commit/fa4dd8514991578da4102027269071db860194f3)) + #### 0.3.0 (2017-06-19) * **Database:** Added Chrome 66 & 67 ([a9bce87](https://github.com/WhichBrowser/Parser-JavaScript/commit/a9bce872a9a17491539aca760d2627f1af2a6beb)) diff --git a/data/indices/models-android.js b/data/indices/models-android.js index 1010193..6296b49 100644 --- a/data/indices/models-android.js +++ b/data/indices/models-android.js @@ -12,7 +12,7 @@ exports.ANDROID_INDEX = { '[0-9]0[0-9]F!!', '(Haier[- ])?H[ETW]- ?[A-Z][0-9]!!', '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!', - '[SX0][0-9]{2,2}HT!!', + '[SX06][0-9]{2,2}HT!!', '(Huawei )?[MSTX](1|2|7|8|10)\\-[A-Z0-9][0-9]{2,2}!!', 'G[0-9]{3,3}!!', 'Y[0-9]{3,3}!!', @@ -33,8 +33,8 @@ exports.ANDROID_INDEX = { 'O\\+!!', '[0-9]{2,2}PFH6[0-9]{3,3}!', '(?:RIVO )?RHYTHM RX ?([0-9]+)!', - '[456A]0[0-9]SH!!', - '(3|5|6)0[0-9]SH!!', + '[4567A]0[0-9]SH!!', + '(3|5|6|7)0[0-9]SH!!', 'C[0-9]{4,4}!!', 'D[0-9]{4,4}!!', 'E[0-9]{4,4}!!', @@ -67,7 +67,7 @@ exports.ANDROID_INDEX = { '@2 ': ['(Lenovo )?(Tab ?)?(2 ?)?[AS](7|8|10)!!'], '@20': ['201M', '(Xiaomi )?20!!', '(Xiaomi |HM)?20!!'], '@2P': ['2PQ93', '2PS64'], - '@3': ['(3|5|6)0[0-9]SH!!'], + '@3': ['(3|5|6|7)0[0-9]SH!!'], '@36': ['360 N4S'], '@3G': ['3G7334i', '(Lenovo |Lephone )?3GC101!', '(Lenovo |Lephone )?3GW100!', '(Lenovo |Lephone )?3GW101!'], '@40': [ @@ -94,7 +94,7 @@ exports.ANDROID_INDEX = { '4037[AX]!', '4037[T]!', '4037[V]!', - '4045[ADELOX]!', + '4045[ADEFLOYX]!', '4055[JU]!', '4060[A]!', '4060[W]!', @@ -103,7 +103,7 @@ exports.ANDROID_INDEX = { '402ZT' ], '@48': ['(48|50|55)AX600C!'], - '@5': ['(3|5|6)0[0-9]SH!!'], + '@5': ['(3|5|6|7)0[0-9]SH!!'], '@50': [ '5010[DEGSUX]!', '5012[G]!', @@ -122,9 +122,12 @@ exports.ANDROID_INDEX = { '5042[ADEFGTWXY]!', '5044[ADOY]!', '5045[ADGJTX]!', - '5046[Y]!', + '5046[DGJY]!', + '5047[DUY]!', + '5049[EGSWZ]!', '5050[ASYX]!', '5051[ADJMX]!', + '5052[D]!', '5054[ADOSTX]!', '5054[NW]!', '5056[ADENUWX]!', @@ -132,11 +135,13 @@ exports.ANDROID_INDEX = { '5057[M]!', '5065[ADJNWX]!', '5070[DJX]!', - '5080[DX]!', - '5085[CD]!', + '5080[DFQX]!', + '5085[CDJNY]!', + '5090[Y]!', '5095[BIKY]!', - '5096[A]!', + '5096[AI]!', '5098[OS]!', + '5099[ADY]!', '504Q', '504Q+', '504QP', @@ -148,6 +153,7 @@ exports.ANDROID_INDEX = { ], '@55': ['5560S', '(48|50|55)AX600C!'], '@58': [5832, 5855, 5860, '5860A', '5860E', '5860S', 5870], + '@6': ['(3|5|6|7)0[0-9]SH!!'], '@60': [ '6014[DX]!', '6016[ADEX]!', @@ -162,12 +168,14 @@ exports.ANDROID_INDEX = { '6050[AFWY]!', '6055[ABDHIKPUY]!', '6070[KOY]!', + '602LV', '60[0-9]SO!!', + '602ZT', '6034R ORANGE Niva' ], '@70': [ '7030[L]!', - '7040[NR]!', + '7040[DNR]!', '7040[T]!', '7043[AEKY]!', '7044[AXY]!', @@ -177,7 +185,9 @@ exports.ANDROID_INDEX = { '7050[Y]!', '7051[X]!', '7053[D]!', - '7055[AW]!' + '7055[AW]!', + '704DC', + '70[0-9]SO!!' ], '@71': ['710C'], '@72': [7260, 7266], @@ -193,19 +203,19 @@ exports.ANDROID_INDEX = { '@89': [8950], '@8X': ['8x-1000'], '@90': [ - '9001[DX]!', + '9001[DIX]!', '9002[AWX]!', '9003[AX]!', '9005[X]!', '9006[W]!', '9007[ATX]!', - '9008[AIJTUX]!', + '9008[ADIJTUX]!', '9010[X]!', - '9015[BJW]!', + '9015[BJWQ]!', '9022[SX]!', - '9024[W]!', + '9024[OW]!', '9025[MQ]!', - '9021A', + '9021[AM]!', '909d', 9088, '9020[A]!' @@ -499,7 +509,7 @@ exports.ANDROID_INDEX = { 'Allwinner A10', '(Highscreen|Alpha|Bay|Boost|Cosmo|Explosion|Power|Prime|Zera)!!', '(HUAWEI )?(ALP|BLA|CRR|LON|MATE|MHA|MT1|MT2|MT7|M200|NXT|Z100)!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'Alfa A93 POP', 'Alfa L', 'Ally', @@ -582,6 +592,7 @@ exports.ANDROID_INDEX = { 'AN10G2-LZ', 'AN10BG3-LZ', 'AN7DG3C', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', '(iBall )?Andi!!', 'AND1', 'AND1E', @@ -721,7 +732,7 @@ exports.ANDROID_INDEX = { 'AT1G*', 'AT7E', 'ATP515CKIT', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'aTab9.7 IPS', 'AT735', 'Atrix 2', @@ -783,7 +794,7 @@ exports.ANDROID_INDEX = { 'Barnes & Noble Nook HD+', '(Highscreen|Alpha|Bay|Boost|Cosmo|Explosion|Power|Prime|Zera)!!', 'BAH-(W09|AL00|L09)!', - '(HW-|HUAWEI )?BAC-(AL00|L03|L21|L22)!', + '(HW-|HUAWEI )?BAC-(AL00|L03|L21|L22|TL00)!', 'Backflip', 'Backflip Me600', 'Bambook S1', @@ -801,6 +812,8 @@ exports.ANDROID_INDEX = { 'BBB100-[0-9]!', 'BBC100-[0-9]!', 'BBD100-[0-9]!', + 'BBE100-[0-9]!', + 'BBF100-[0-9]!', '(BBG-|VIV-)?vivo!!', 'Bbox Miami' ], @@ -849,7 +862,7 @@ exports.ANDROID_INDEX = { '@BI': ['bird75v2', 'BioniQ!!', 'Bird!!', 'BizSmartPhone', 'BIP-6000', 'BIRDY'], '@BK': [ '(BDS|BHX|BKO)\\-!!', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!' + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' ], '@BL': [ 'Blaze', @@ -862,7 +875,7 @@ exports.ANDROID_INDEX = { 'Blaze S180', 'BLADE LE 70', '(HUAWEI )?(ALP|BLA|CRR|LON|MATE|MHA|MT1|MT2|MT7|M200|NXT|Z100)!!', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', '(HW-|HUAWEI )?(BLL|CHC|TAG|KII)!!', '(BLF-)?lephone!!', 'Blackphone 2', @@ -876,11 +889,12 @@ exports.ANDROID_INDEX = { '(NOOK )?BNTV250!', '(NOOK )?BNRV350!', '(NOOK )?BNTV(400)!', + '(NOOK )?BNTV(450)!', '(NOOK )?BNTV(600)!', '(NOOK )?BNTV(800)!', 'BN Nook HD', 'BN NookHD+', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!' + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' ], '@BO': [ 'Boost', @@ -984,8 +998,8 @@ exports.ANDROID_INDEX = { 'Casper VIA!!', 'CAT!!', 'Candy TV', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', '(HW-|HUAWEI )?CAZ-(AL10|TL10|TL20)!', '(HW-|HUAWEI )?CAN-(L01|L11|L12)!', 'calgary', @@ -1009,7 +1023,7 @@ exports.ANDROID_INDEX = { 'Cherry w500', 'CHUWI!!', 'CHONG!!', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', '(HW-|HUAWEI )?(BLL|CHC|TAG|KII)!!', 'chagall', 'chiron' @@ -1065,6 +1079,7 @@ exports.ANDROID_INDEX = { 'Connect-2G-2.0', '(Highscreen|Alpha|Bay|Boost|Cosmo|Explosion|Power|Prime|Zera)!!', 'Coquettish Red', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'Comet', 'Corvair', 'COOLPIX S800c', @@ -1091,7 +1106,7 @@ exports.ANDROID_INDEX = { 'Cross!!', 'Crosscall!!', '(HUAWEI )?(ALP|BLA|CRR|LON|MATE|MHA|MT1|MT2|MT7|M200|NXT|Z100)!!', - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!', + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', 'CRONO 22', 'Crescent' ], @@ -1118,7 +1133,7 @@ exports.ANDROID_INDEX = { 'CUBOT!!', '(CUBE ?)?(K8|U1|U2|U3|U5|U6|U8|U9)[0-9]?GT!!', 'CUBE!!', - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!' + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!' ], '@CW': ['CW[- ]!!'], '@CX': ['CX-919', 'CX-921', 'CX-921B', 'CX-929', 'CX-950', 'CX-958'], @@ -1133,7 +1148,7 @@ exports.ANDROID_INDEX = { ], '@D2': [ 'D2-[0-9]{3,3}!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' ], '@D5': ['D530', 'D539'], '@D7': ['D709', 'D7800AD', 'D75E', 'D70W'], @@ -1144,7 +1159,7 @@ exports.ANDROID_INDEX = { '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!', 'Dakele A380', 'DAKELE MC001', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'DATAM803HC', 'DATAM805HC', 'DATAM819HD!', @@ -1212,10 +1227,10 @@ exports.ANDROID_INDEX = { 'DL8006', 'DLX', 'DLXU', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'dL1' ], - '@DM': ['DM0[0-9]{2,2}(K|SH)!!', 'DM-01G', 'DM-02H', 'DMC-CM1', 'DM-01H', 'DM-01J'], + '@DM': ['DM0[0-9]{2,2}(K|SH)!!', 'DM-01G', 'DM-01K', 'DM-02H', 'DMC-CM1', 'DM-01H', 'DM-01J'], '@DN': [ 'DNS Airbook TYT701', '(DNS )?(Airtab )?(E|ES|M|MA|MC|MF|MW|P|PC|PF)[0-9]{2,4}!!', @@ -1241,6 +1256,7 @@ exports.ANDROID_INDEX = { 'Dream', '(GIO-)?(GiONEE[- ])?Dream D1!', 'Droid Incredible', + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!', 'DroniX-0.5', 'Droid', 'DROID', @@ -1276,7 +1292,7 @@ exports.ANDROID_INDEX = { '@DS': ['Dslide!!'], '@DT': ['Dtac phone Joey Jet 2', 'dtab01'], '@DU': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!' + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' ], '@DW': ['DW-PS3G5', 'DW-UBT7W', 'DW-UBT7SC*', 'DW-UBT27Cz', 'DW-UBT23G7'], '@DY': [ @@ -1317,7 +1333,7 @@ exports.ANDROID_INDEX = { '@ED': [ '(bq|Aquaris|Edison|Maxwell)!!', 'edgejr', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'edenTAB ET-701' ], '@EE': ['eeepc', 'eee 701', '(Eee Pad )?Transformer Prime TF201!'], @@ -1358,7 +1374,14 @@ exports.ANDROID_INDEX = { 'Elite 5.5L+', 'Elite 6.0L' ], - '@EM': ['EMBT3C', 'EM63', 'EM01F', 'eMAX mini', 'EMR1879'], + '@EM': [ + 'EMBT3C', + 'EM63', + 'EM01F', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + 'eMAX mini', + 'EMR1879' + ], '@EN': ['Endeavour!!', 'ENR U', 'EndeavorU', 'Enjoy 71', 'Enjoy 7 Plus'], '@EP': ['EPAD', 'epade!!'], '@EQ': ['equiso.smart.tv.pro'], @@ -1392,7 +1415,7 @@ exports.ANDROID_INDEX = { 'EVO ?3D!', 'EVO 4G', 'Evo V 4G', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', '(EV|KM)-[ES][0-9]{3,3}!!', 'Event', 'EVERY35' @@ -1419,7 +1442,7 @@ exports.ANDROID_INDEX = { '@FI': [ 'FIH-FB0', 'FIH-!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'Find 5', 'FIND7' ], @@ -1453,6 +1476,7 @@ exports.ANDROID_INDEX = { 'Flylife!!', 'Fly Flylife Web 7.85 Slim', 'Flyer', + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!', 'Flair E1', 'Flair E2', 'FlairE3', @@ -1488,14 +1512,14 @@ exports.ANDROID_INDEX = { '@FP': ['FP1', 'FP1U', 'FP2'], '@FR': [ 'Freelander I20', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', '(MODECOM )?FreeTAB!!' ], - '@FS': ['FS403', 'FS407', 'FS451'], + '@FS': ['FS403', 'FS407', 'FS451', 'FS514'], '@FT': ['FTJ152A', 'FTJ161B', 'FTJ162E'], '@FU': ['full Android on Microsoft Windows, pad, pc, n*books', 'Fusion Bolt', 'FUSIONideos', 'Fuel F2'], '@FW': ['FWS[0-9]{3,3}!!'], - '@FZ': ['FZ-A1(A|B)!', 'FZ-A2A', 'FZ-B2(B|D)!', 'FZ-N1', 'FZ-X1'], + '@FZ': ['FZ-A1(A|B)!', 'FZ-A2A', 'FZ-B2(B|D)!', 'FZ-N1', 'FZ-T1', 'FZ-X1'], '@G ': ['G Watch', 'G Watch R'], '@G0': ['G0215D', 'G0775'], '@G1': [ @@ -1520,8 +1544,12 @@ exports.ANDROID_INDEX = { ], '@G2': ['G2S', 'G2SMNT'], '@G3': ['(Moto)?G3$!', '(Moto)?G3-TE$!', 'G3SMNTS22', 'G3SMNTS23'], - '@G6': ['(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!'], - '@G7': ['(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!'], + '@G6': [ + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' + ], + '@G7': [ + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' + ], '@G9': ['G9'], '@GA': ['(Google )?Galaxy Nexus!', 'Galaxy S4 Google Editon', 'Garmin!!', 'Galaxy!!'], '@GE': [ @@ -1781,7 +1809,7 @@ exports.ANDROID_INDEX = { '@GR': [ 'Grouper', 'GR-TB!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'greenridge', 'Graphos A10', '(ZTE )?(Grand|Mimosa)!!' @@ -1817,12 +1845,12 @@ exports.ANDROID_INDEX = { '@H1': ['H120'], '@H2': ['H2000+'], '@H3': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!' + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' ], '@H6': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!' + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' ], - '@H7': ['H701', 'H7100', 'H7500+', 'H710VL'], + '@H7': ['H701', 'H7100', 'H7500+', 'H710VL', 'H715BL'], '@H8': ['H8 Life', 'H866C', 'H882L'], '@H9': ['H940', 'H9500'], '@HA': [ @@ -1839,7 +1867,12 @@ exports.ANDROID_INDEX = { 'Hayabusa' ], '@HB': ['HB-100 DASAN', 'HB-100 DASAN Networks, Inc.', 'HB-1000'], - '@HD': ['HD2', 'HD2 LEO', 'HD7 Pro'], + '@HD': [ + 'HD2', + 'HD2 LEO', + 'HD7 Pro', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' + ], '@HE': ['HEDY!!', 'HERO H7500+', 'Hero', 'HERO CDMA', 'HERO200'], '@HI': [ 'HiBook pro', @@ -1869,11 +1902,11 @@ exports.ANDROID_INDEX = { '(Xiaomi |HM)?20!!' ], '@HN': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!' + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' ], '@HO': [ 'HOSIN!!', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'Honor3c2G-T', 'Honor Bee', 'HOMESYNCT2WIFI' @@ -1921,17 +1954,18 @@ exports.ANDROID_INDEX = { '(Huawei )?[MSTX](1|2|7|8|10)\\-[A-Z0-9][0-9]{2,2}!!', 'HUAWEI GEM-703L', '(HUAWEI )?(ALP|BLA|CRR|LON|MATE|MHA|MT1|MT2|MT7|M200|NXT|Z100)!!', - '(HW-|HUAWEI )?(TIT|TAG|NCE|TRT|SLA)!!', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', '(HW-|HUAWEI )?(BLL|CHC|TAG|KII)!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'HUAWEI A168-(AL10|DL09|L09|L29)!', - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!', + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', '(HW-|HUAWEI )?CAZ-(AL10|TL10|TL20)!', '(HW-|HUAWEI )?CAN-(L01|L11|L12)!', '(HW-|HUAWEI )?MLA-(L01|L03|L11|L12|L13)!', '(HW-|HUAWEI )?DIG-(AL00|L01|L03|L21|TL10)!', - '(HW-|HUAWEI )?BAC-(AL00|L03|L21|L22)!', + '(HW-|HUAWEI )?BAC-(AL00|L03|L21|L22|TL00)!', + '(HW-|HUAWEI )?HWI-(AL00|TL00)!', '(HW-|HUAWEI )?MLA-(AL00|AL10)!', '(HW-|HUAWEI )?MLA-(TL00|TL10|UL00)!', 'Huawei P7 mini', @@ -1945,23 +1979,26 @@ exports.ANDROID_INDEX = { 'Huawei 858' ], '@HW': [ - '(HW-|HUAWEI )?(TIT|TAG|NCE|TRT|SLA)!!', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', '(HW-|HUAWEI )?(BLL|CHC|TAG|KII)!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', '(HW-|HUAWEI )?CAZ-(AL10|TL10|TL20)!', '(HW-|HUAWEI )?CAN-(L01|L11|L12)!', '(HW-|HUAWEI )?MLA-(L01|L03|L11|L12|L13)!', '(HW-|HUAWEI )?DIG-(AL00|L01|L03|L21|TL10)!', - '(HW-|HUAWEI )?BAC-(AL00|L03|L21|L22)!', + '(HW-|HUAWEI )?BAC-(AL00|L03|L21|L22|TL00)!', + '(HW-|HUAWEI )?HWI-(AL00|TL00)!', '(HW-|HUAWEI )?MLA-(AL00|AL10)!', '(HW-|HUAWEI )?MLA-(TL00|TL10|UL00)!', '(Huawei|Ascend|HW-)!!', 'hwu8812D', 'HW-01E', + 'HW-01K', 'HW-03E', - 'HWT31' + 'HWT31', + 'HWV32' ], '@HY': ['HY5001', 'HYUNDAI!!', 'Hydro', 'Hydro PLUS', 'HYPER X BLADE'], '@I ': ['I 7520'], @@ -2062,6 +2099,9 @@ exports.ANDROID_INDEX = { '@JD': ['JDN-W09'], '@JI': ['(JIAYU|JY)!!', 'JIMMY'], '@JJ': ['JJ5S+'], + '@JM': [ + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' + ], '@JO': ['Jolla', 'Joy', 'JOIN'], '@JT': ['JT SmartPC02', 'JT-Smart PC01', 'JT-H580VT', 'JT-H581VT', 'JT-B1'], '@JX': ['JXD!!'], @@ -2138,7 +2178,7 @@ exports.ANDROID_INDEX = { ], '@KI': [ 'Kindle Fire', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', '(HW-|HUAWEI )?(BLL|CHC|TAG|KII)!!', 'KIOTO 793', 'KITE', @@ -2146,7 +2186,7 @@ exports.ANDROID_INDEX = { ], '@KM': ['(EV|KM)-[ES][0-9]{3,3}!!'], '@KN': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!' + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' ], '@KO': [ 'Konka Amber3', @@ -2214,10 +2254,7 @@ exports.ANDROID_INDEX = { 'LC-((A|S|LX)[0-9]{1,3}[A-Z])!', 'LCD-((S|V|LX|UF)[0-9]{1,3}[A-Z])!' ], - '@LD': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', - 'LDK-ICK v1.4' - ], + '@LD': ['(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', 'LDK-ICK v1.4'], '@LE': [ '(LE[0-9]{2,2}[BMU][0-9]{4,4}[A-Z]+)!', '(Hisense )?(LED[0-9]{2,2}(G|K|L|EC|XT)[0-9]{2,3})!', @@ -2391,6 +2428,7 @@ exports.ANDROID_INDEX = { 'LG-VS[0-9]{3,3}!!', 'LG-X[0-9]{3,3}!!', 'LGM-[GKVX][0-9]{3,3}!!', + 'LGMP450', 'lge-F160!', 'LGE-E988!', 'lgp-970', @@ -2416,7 +2454,22 @@ exports.ANDROID_INDEX = { 'Light Tab 2', 'Light Tab 2W' ], - '@LL': ['(Lanix )?(Ilium|llium)!!'], + '@LL': [ + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', + '(Lanix )?(Ilium|llium)!!' + ], + '@LM': [ + 'LM-G710!', + 'LM-G715!', + 'LM-Q610!', + 'LM-Q710!', + 'LM-V350!', + 'LM-X210!', + 'LM-X410!', + 'LM-X415!', + 'LM-X510!', + 'LM-Y110!' + ], '@LO': ['LogicPD Zoom2', '(HUAWEI )?(ALP|BLA|CRR|LON|MATE|MHA|MT1|MT2|MT7|M200|NXT|Z100)!!', 'Loox'], '@LS': [ 'LS670', @@ -2462,7 +2515,7 @@ exports.ANDROID_INDEX = { 'LUXURY 3', 'LUXURY 4', 'LUXURY 5', - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!', + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', 'Lucky Ultra Sonic U8650', 'LU2300', 'Lumia800', @@ -2476,14 +2529,14 @@ exports.ANDROID_INDEX = { 'Luna TAB10-150', 'Luno' ], - '@LY': ['(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!', 'LYF LS-4006', 'LYF LS-5009'], + '@LY': ['(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', 'LYF LS-4006', 'LYF LS-5009'], '@M': ['(DNS )?(Airtab )?(E|ES|M|MA|MC|MF|MW|P|PC|PF)[0-9]{2,4}!!'], '@M ': ['M POP 5020A', 'M POP'], '@M-': ['M-270', 'M-PAD N8'], '@M0': ['M01', 'M02', 'M01T', 'M009F', 'M030', 'M031', 'M032', 'M040', 'M045'], '@M1': [ 'M19', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'M1050S', 'M1', 'm1 metal', @@ -2563,10 +2616,12 @@ exports.ANDROID_INDEX = { 'Mediacom 810C', '(MEDION|(MD )?LIFETAB)!!', 'MEEG!!', + 'MEIZU E3', 'meizu m1note', 'MEIZU M5', 'MEIZU M9', 'MEIZU MX', + 'Meizu S6', '(MEO )?Smart A!!', 'MEU AN!!', 'ME[0-9]{3,3}!!', @@ -2629,6 +2684,7 @@ exports.ANDROID_INDEX = { '(Xiaomi )?(MI )?MAX 2$!', '(Xiaomi )?(MI )?MIX$!', '(Xiaomi )?(MI )?MIX 2$!', + '(Xiaomi )?(MI )?MIX 2S$!', 'mido', '(Xiaomi|Xiaomi Mi|MI) Pad!!', '(Xiaomi|Xiaomi Mi|MI)Box!!', @@ -2672,6 +2728,7 @@ exports.ANDROID_INDEX = { 'Motorola MotoE2!', 'Moto E (4)', 'Moto E (4) Plus', + 'moto e5 cruise', '(Moto)?G3$!', '(Moto)?G3-TE$!', 'MOTOROLA MOTOG', @@ -2682,9 +2739,12 @@ exports.ANDROID_INDEX = { 'Moto G (5)', 'Moto G (5) Plus', 'Moto G (5S) Plus', + 'moto g(6)', + 'moto g(6) plus', 'Moto Z (2)', 'Moto Z2 Play', 'Moto X Pro', + 'moto x4', 'Moto Backflip', 'MOTOROLA XOOM MZ606', 'MOTOROLA RAZR', @@ -2695,6 +2755,7 @@ exports.ANDROID_INDEX = { 'MoFing', 'mocha', 'MO-01J', + 'MO-01K', 'Movistar Express', 'Movistar Link', 'Movistar Motion', @@ -2813,7 +2874,7 @@ exports.ANDROID_INDEX = { ], '@MX': ['MX Enjoy TV BOX', 'MX2', 'MX4', 'MX4 Pro', 'MX5', 'MX6'], '@MY': [ - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!', + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', 'MyPhone A818g Duo', 'MyPhone A818 Slim Duo', 'MyPhone A848 Duo', @@ -2873,7 +2934,17 @@ exports.ANDROID_INDEX = { 'myTouch 4G Slide', 'myTouch Slide 4G' ], - '@MZ': ['MZ-m2 note', 'MZ-M571C', 'MZ-m3 note', 'MZ-MX4', 'MZ-MX4 Pro', 'MZ[0-9]{3,3}!!'], + '@MZ': [ + 'MZ-m2 note', + 'MZ-M571C', + 'MZ-m3 note', + 'MZ-M5', + 'MZ-MEIZU M6', + 'MZ-MX4', + 'MZ-MX4 Pro', + 'MZ-MX5', + 'MZ[0-9]{3,3}!!' + ], '@N-': ['N-0[0-9][A-Z]!!'], '@N1': ['N1', 'N12', 'N12R', 'N101 DUAL CORE!'], '@N2': ['N2T'], @@ -2904,7 +2975,7 @@ exports.ANDROID_INDEX = { 'NATCOM N8302' ], '@NB': ['NB036', 'NBX-T7013N', 'NBX-T7023N'], - '@NC': ['(HW-|HUAWEI )?(TIT|TAG|NCE|TRT|SLA)!!'], + '@NC': ['(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!'], '@NE': [ '(HTC )?Nexus ?One!', '(Google )?Nexus S!', @@ -2939,7 +3010,7 @@ exports.ANDROID_INDEX = { '(BLU|DASH|LIFE|NEO|STUDIO|VIVO)!!', 'NexusHD2', 'Nexus HD2', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'Neon7', 'Neon9', '(NetTab|NT-)!!', @@ -3019,7 +3090,7 @@ exports.ANDROID_INDEX = { ], '@NI': ['NITROGEN6X', 'NID 7010', 'Nibiru H1', 'Nibiru H1c', 'nine i7400', 'nikeh', 'nikel'], '@NM': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', '(NMP|MBR|XDK|XDS|XMP)\\-!!' ], '@NO': [ @@ -3068,6 +3139,7 @@ exports.ANDROID_INDEX = { '(NOOK )?BNTV250!', '(NOOK )?BNRV350!', '(NOOK )?BNTV(400)!', + '(NOOK )?BNTV(450)!', '(NOOK )?BNTV(600)!', '(NOOK )?BNTV(800)!', 'Nook HD', @@ -3307,6 +3379,7 @@ exports.ANDROID_INDEX = { 'ONEPLUS A3010', 'ONEPLUS A5000', 'ONEPLUS A5010', + 'ONEPLUS A6000', 'ONE E1000', 'ONE E1001', 'ONE E1003', @@ -3489,7 +3562,7 @@ exports.ANDROID_INDEX = { '@P2': [ 'P2A700', 'P2Lite', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' ], '@P3': ['P330X', 'P350X', 'P360X', 'P300(Funbook)'], '@P4': ['P4i', 'P4', 'P4D Sirius'], @@ -3500,10 +3573,10 @@ exports.ANDROID_INDEX = { 'P6 Pro', 'P6 Qmax', 'P6 Quad', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' ], '@P7': [ - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'P700i', 'P701', 'P7', @@ -3630,7 +3703,7 @@ exports.ANDROID_INDEX = { ], '@PD': ['PD10-DYD', 'PD6D1J'], '@PE': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'PEDI', 'Penta!!', 'Pentagram!!', @@ -3744,7 +3817,7 @@ exports.ANDROID_INDEX = { '@PL': [ 'PLE-701L', 'PLE-703L', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'Planet II v2', 'PLANET', 'Playboy PB-S3', @@ -3855,7 +3928,7 @@ exports.ANDROID_INDEX = { '@PR': [ 'Project Tango Tablet Development Kit', '(Highscreen|Alpha|Bay|Boost|Cosmo|Explosion|Power|Prime|Zera)!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'Pro 10 dual core', 'Prada 3.0', 'PRO 5', @@ -4192,7 +4265,7 @@ exports.ANDROID_INDEX = { 'Rikomagic MK802III', 'Rikomagic MK802IIIS', '(Gsmart|Gigabyte|Rio)!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'Rise', '(Ritmix )?RM[DP]-?[0-9]{3,3}!!', 'RIDGE', @@ -4233,7 +4306,7 @@ exports.ANDROID_INDEX = { ], '@RM': ['RM02', 'RM-980', 'RM-1061', '(Ritmix )?RM[DP]-?[0-9]{3,3}!!', 'RMD-[0-9]{2,3}G!!'], '@RN': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!' + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!' ], '@RO': ['Rock-(AL00|CL00|L01|L03)!', 'roiX', 'RoverPad 3W T71D', 'ROAR', 'Roar A50', 'Roar V25', 'rolex'], '@RP': ['RP-UDM01A'], @@ -4276,9 +4349,9 @@ exports.ANDROID_INDEX = { ], '@SB': ['SBM[0-9]0[0-9]SH!!'], '@SC': [ - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!', 'SCH-[iI][0-9]{3,3}!!', 'SCH-L710!', 'SCH-M828!', @@ -4333,6 +4406,7 @@ exports.ANDROID_INDEX = { 'SH-M02', 'SH-M02-EVA20', 'SH-M03', + 'SH-M07', 'SH-RM02', 'SH-[01][0-9][A-Z]!!', '(SHP-)?(SHARP )?SH[0-9]{2,3}!!', @@ -4349,7 +4423,14 @@ exports.ANDROID_INDEX = { 'SK-Mtek GT7305', '(ZTE )?Skate!!' ], - '@SL': ['Slider SL101', 'SL930', '(HP|Slate)!!', '(HW-|HUAWEI )?(TIT|TAG|NCE|TRT|SLA)!!', 'Slidepad!!', 'SLIDE'], + '@SL': [ + 'Slider SL101', + 'SL930', + '(HP|Slate)!!', + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!', + 'Slidepad!!', + 'SLIDE' + ], '@SM': [ 'smdk6410', 'SMDKC110', @@ -4408,7 +4489,7 @@ exports.ANDROID_INDEX = { 'Softwinerf900', 'SoftwinerEvbV13', 'soho', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'SONIC', 'Sonim!!', 'SO-0[0-9][A-Z]!!', @@ -4469,7 +4550,7 @@ exports.ANDROID_INDEX = { 'ST7001', 'ST8000', 'ST9001', - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!', + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!', 'ST10', 'ST940I-UP', 'STM[0-9]{3,3}H!!', @@ -4607,7 +4688,7 @@ exports.ANDROID_INDEX = { 'Tablet-P27', 'TA10CA3', '(tablet )?fnac!!', - '(HW-|HUAWEI )?(TIT|TAG|NCE|TRT|SLA)!!', + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!', '(HW-|HUAWEI )?(BLL|CHC|TAG|KII)!!', 'TA-FONE!!', 'TAB1011', @@ -4616,11 +4697,18 @@ exports.ANDROID_INDEX = { 'TAB950', 'TAB1062', 'TAB192', + 'TA-10(07|29)!', + 'TA-10(84)!', 'TA-10(20|28|32|38)!', 'TA-10(24|27|44|53)!', + 'TA-10(61|75|81|88)!', 'TA-10(00|03|21|25|33|39)!', + 'TA-10(43|50|54|68)!', 'TA-10(41)!', + 'TA-10(62)!', 'TA-10(04|12|52)!', + 'TA-10(99)!', + 'TA-11(03|16)!', '(POV )?TAB-PLAYTABPRO!', '(POV )?TAB-PROTAB25!', '(POV )?TAB-PROTAB26!', @@ -4765,7 +4853,7 @@ exports.ANDROID_INDEX = { '@TI': [ 'Tilapia', 'Titan TV S320', - '(HW-|HUAWEI )?(TIT|TAG|NCE|TRT|SLA)!!', + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!', '(Karbonn|Titanium)!!', 'TI320-DU', 'TI320-DU TV', @@ -4870,7 +4958,7 @@ exports.ANDROID_INDEX = { 'TR720F', 'TR10CS1', 'TripNiCE Pyramid', - '(HW-|HUAWEI )?(TIT|TAG|NCE|TRT|SLA)!!', + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!', 'TR10RS1', '(KAZAM|Thunder|Tornado|Trooper)!!', 'Triumph', @@ -5095,7 +5183,7 @@ exports.ANDROID_INDEX = { 'Vibo-A688', 'VitMod ExtraLite 1.6.5.fullodex for HTC HD7 Pro', 'Vivid 4G', - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'Vibe K5 Plus', 'VIBE X2 (X2)', 'VIBE X3', @@ -5146,7 +5234,7 @@ exports.ANDROID_INDEX = { 'VIETTEL V8509' ], '@VK': [ - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'VK410', 'VK700', 'VK810 4G', @@ -5154,7 +5242,9 @@ exports.ANDROID_INDEX = { ], '@VL': ['VL-[0-9]{3,3}!!'], '@VM': ['VMware Virtual Platform', '(AC|BC|LC|MT|RC|QS|VM|TS|OC)[0-9]{4,4}[A-Z]!!', 'VM670'], - '@VN': ['(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!'], + '@VN': [ + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!' + ], '@VO': [ 'Vogue', 'Volantis', @@ -5204,7 +5294,7 @@ exports.ANDROID_INDEX = { 'Vsun V9' ], '@VT': [ - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'VT6078', 'VT75C', 'VT77C', @@ -5225,7 +5315,7 @@ exports.ANDROID_INDEX = { '@W8': ['W820', '(GIO-)?(GiONEE[- ])?W800!', 'W800', 'W806', 'W808', 'W810', 'W880', 'W8', 'W8 beyond'], '@W9': ['W900', 'W990'], '@WA': [ - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!', 'WA-U420D', 'WALSUN S1 Pro', 'WALSUN S2', @@ -5557,6 +5647,7 @@ exports.ANDROID_INDEX = { '(Xiaomi )?(MI )?MAX 2$!', '(Xiaomi )?(MI )?MIX$!', '(Xiaomi )?(MI )?MIX 2$!', + '(Xiaomi )?(MI )?MIX 2S$!', '(Xiaomi )?20!!', '(Xiaomi )?(Redmi|RedRice|HM)!!', '(Xiaomi )?(Redmi|HM)[ \\-]?Note!!', @@ -5792,6 +5883,7 @@ exports.ANDROID_INDEX = { 'Z01BDC', 'Z01BS', 'Z01FD', + 'Z01GD', 'Z01HD', 'Z01HDA', 'Z01KD', @@ -5878,6 +5970,7 @@ exports.ANDROID_INDEX = { 'ZE550KL', 'ZE552KL', 'ZE553KL', + 'ZE554KL', 'ZEN Touch 2', '(Highscreen|Alpha|Bay|Boost|Cosmo|Explosion|Power|Prime|Zera)!!', 'ZEN 4.5', @@ -6010,6 +6103,7 @@ exports.ANDROID_INDEX = { 'ZTE B2016', 'ZTE B2017', 'ZTE B2017G', + 'ZTE B2019G', 'ZTE C2016', 'ZTE C2017', 'ZTE STAR', diff --git a/data/indices/models-firefoxos.js b/data/indices/models-firefoxos.js index 4125dd4..8b0dc9b 100644 --- a/data/indices/models-firefoxos.js +++ b/data/indices/models-firefoxos.js @@ -16,7 +16,8 @@ exports.FIREFOXOS_INDEX = { 'ALCATELOneTouch4022!', 'ALCATELOneTouch4023!', 'ALCATELOneTouch6015X!', - 'ALCATEL4044[MNOTVW]!' + 'ALCATEL4044[MNOTVW]!', + 'ALCATEL4044C!' ], '@HU': ['HUAWEI Ascend Y300-F1', 'HUAWEIY300-F1'], '@LG': ['LG-D3(00|01)!', 'LGL25'], diff --git a/data/indices/models-tizen.js b/data/indices/models-tizen.js index 4696fdb..1c3d6cc 100644 --- a/data/indices/models-tizen.js +++ b/data/indices/models-tizen.js @@ -12,6 +12,8 @@ exports.TIZEN_INDEX = { '@KI': ['KIRAN'], '@MO': ['Mobile-RD-PQ', 'Mobile-Emulator'], '@NX': ['NX300'], + '@RF': ['RF10M9995!', 'RF23M8590!', 'RF265BEAE!', 'RF28M9580!', 'RF56M9540!', 'RF85K9993!', 'RF85M95A2!'], + '@RH': ['RH81M8090!'], '@SC': ['SC-03F'], '@SD': ['sdk'], '@SE': ['SEC SC-001', 'SEC SC-03F'], @@ -38,7 +40,8 @@ exports.TIZEN_INDEX = { 'SM-R750!', 'SM-R760!', 'SM-R765!', - 'SM-R770!' + 'SM-R770!', + 'SM-R805!' ], '@TI': ['TIZEN SM-Z130!', 'TIZEN SM-Z300!', 'TIZEN Emulator'], '@TM': ['TM1'], diff --git a/data/models-android.js b/data/models-android.js index 50704eb..8f7d22d 100644 --- a/data/models-android.js +++ b/data/models-android.js @@ -970,7 +970,7 @@ exports.ANDROID_MODELS = { '4037[T]!': ['Alcatel', 'One Touch Evolve 2'], '4037[V]!': ['Alcatel', 'One Touch Elevate'], 'one ?touch 5045!': ['Alcatel', 'One Touch Pop 2 (4)'], - '4045[ADELOX]!': ['Alcatel', 'One Touch Pop 2 (4)'], + '4045[ADEFLOYX]!': ['Alcatel', 'One Touch Pop 2 (4)'], '4055[JU]!': ['Alcatel', 'One Touch Pixi 5 (4)'], '4060[A]!': ['Alcatel', 'IDEAL'], '4060[W]!': ['Alcatel', 'One Touch Pixi 4 (5)'], @@ -1001,10 +1001,13 @@ exports.ANDROID_MODELS = { '5042[ADEFGTWXY]!': ['Alcatel', 'One Touch Pop 2 (4.5)'], '5044[ADOY]!': ['Alcatel', 'U5'], '5045[ADGJTX]!': ['Alcatel', 'One Touch Pixi 4 (5.0)'], - '5046[Y]!': ['Alcatel', 'A3'], + '5046[DGJY]!': ['Alcatel', 'A3'], + '5047[DUY]!': ['Alcatel', 'U5 HD'], + '5049[EGSWZ]!': ['Alcatel', 'A30 Fierce'], 'one ?touch 5050!': ['Alcatel', 'One Touch Pop S3'], '5050[ASYX]!': ['Alcatel', 'One Touch Pop S3'], '5051[ADJMX]!': ['Alcatel', 'One Touch Pop 4 (5.0)'], + '5052[D]!': ['Alcatel', '3'], '5054[ADOSTX]!': ['Alcatel', 'One Touch Pixi 3 (5.5)'], '5054[NW]!': ['Alcatel', 'One Touch Fierce XL'], '5056[ADENUWX]!': ['Alcatel', 'One Touch Pop 4+'], @@ -1012,12 +1015,14 @@ exports.ANDROID_MODELS = { '5057[M]!': ['Alcatel', 'One Touch Pop Mirage'], '5065[ADJNWX]!': ['Alcatel', 'One Touch Pixi 3 (5)'], '5070[DJX]!': ['Alcatel', 'One Touch Pop Star'], - '5080[DX]!': ['Alcatel', 'One Touch Pixi 4 (6)'], - '5085[CD]!': ['Alcatel', 'A5 LED'], + '5080[DFQX]!': ['Alcatel', 'One Touch Pixi 4 (6)'], + '5085[CDJNY]!': ['Alcatel', 'A5 LED'], + '5090[Y]!': ['Alcatel', 'A7'], '5095[BIKY]!': ['Alcatel', 'One Touch Pop 4S'], - '5096[A]!': ['Alcatel', 'One Touch Net'], + '5096[AI]!': ['Alcatel', 'One Touch Net'], '5098[OS]!': ['Alcatel', 'One Touch Pixi 4 (6)'], 'Alcatel 5098O': ['Alcatel', 'One Touch Pixi 4 (6)'], + '5099[ADY]!': ['Alcatel', '3V'], 'one ?touch 6010!': ['Alcatel', 'One Touch Star'], 'one ?touch 6012!': ['Alcatel', 'One Touch Idol Mini'], 'ONE TOUCH IDOL MINI': ['Alcatel', 'One Touch Idol Mini'], @@ -1052,7 +1057,7 @@ exports.ANDROID_MODELS = { 'one ?touch 70(25|30)!': ['Alcatel', 'One Touch Snap'], '7030[L]!': ['Alcatel', 'One Touch Snap'], 'one ?touch 70(40|41)!': ['Alcatel', 'One Touch Pop C7'], - '7040[NR]!': ['Alcatel', 'One Touch Pop C7'], + '7040[DNR]!': ['Alcatel', 'One Touch Pop C7'], '7040[T]!': ['Alcatel', 'One Touch Fierce 2'], 'one ?touch 7042!': ['Alcatel', 'One Touch Snap'], 'one ?touch 7043!': ['Alcatel', 'One Touch Pop 2 (5)'], @@ -1078,17 +1083,17 @@ exports.ANDROID_MODELS = { '8020[D]!': ['Alcatel', 'One Touch Hero'], 'one ?touch 8030!': ['Alcatel', 'One Touch Hero 2'], '8030[BY]!': ['Alcatel', 'One Touch Hero 2'], - '9001[DX]!': ['Alcatel', 'One Touch Pixi 4 (6)'], + '9001[DIX]!': ['Alcatel', 'One Touch Pixi 4 (6)'], '9002[AWX]!': ['Alcatel', 'One Touch Pixi 3 (7)', DeviceType.TABLET], '9003[AX]!': ['Alcatel', 'One Touch Pixi 4 (7)', DeviceType.TABLET], '9005[X]!': ['Alcatel', 'One Touch Pixi 3 (8)', DeviceType.TABLET], '9006[W]!': ['Alcatel', 'One Touch Pixi 4 (7)', DeviceType.TABLET], '9007[ATX]!': ['Alcatel', 'One Touch Pixi 3 (7)', DeviceType.TABLET], - '9008[AIJTUX]!': ['Alcatel', 'A3 XL', DeviceType.TABLET], + '9008[ADIJTUX]!': ['Alcatel', 'A3 XL', DeviceType.TABLET], '9010[X]!': ['Alcatel', 'One Touch Pixi 3 (10)', DeviceType.TABLET], - '9015[BJW]!': ['Alcatel', 'One Touch POP7', DeviceType.TABLET], + '9015[BJWQ]!': ['Alcatel', 'One Touch POP7', DeviceType.TABLET], '9022[SX]!': ['Alcatel', 'One Touch Pixi 3 (8)', DeviceType.TABLET], - '9024[W]!': ['Alcatel', 'A30', DeviceType.TABLET], + '9024[OW]!': ['Alcatel', 'A30', DeviceType.TABLET], '9025[MQ]!': ['Alcatel', 'One Touch Pop 4 (7)', DeviceType.TABLET], 'one ?touch T10!': ['Alcatel', 'One Touch T10', DeviceType.TABLET], 'one ?touch T20!': ['Alcatel', 'One Touch T20', DeviceType.TABLET], @@ -1107,7 +1112,7 @@ exports.ANDROID_MODELS = { 'ONE ?TOUCH P310(A|X)!': ['Alcatel', 'One Touch POP7', DeviceType.TABLET], 'ONE ?TOUCH P320(A|X)!': ['Alcatel', 'One Touch POP8', DeviceType.TABLET], 'ONE ?TOUCH P321!': ['Alcatel', 'One Touch POP8', DeviceType.TABLET], - '9021A': ['Alcatel', 'One Touch POP8', DeviceType.TABLET], + '9021[AM]!': ['Alcatel', 'One Touch POP8', DeviceType.TABLET], P330X: ['Alcatel', 'One Touch POP7S', DeviceType.TABLET], P350X: ['Alcatel', 'One Touch POP8S', DeviceType.TABLET], 'ONE ?TOUCH POP 8S P350X!': ['Alcatel', 'One Touch POP8S', DeviceType.TABLET], @@ -1538,6 +1543,7 @@ exports.ANDROID_MODELS = { 'Archos 50e Neon': ['Archos', '50e Neon'], 'Archos 50f Neon': ['Archos', '50f Neon'], 'Archos 70 Neon': ['Archos', '70 Neon', DeviceType.TABLET], + 'Archos 70 Neon Plus': ['Archos', '70 Neon Plus', DeviceType.TABLET], 'Archos 70b Neon': ['Archos', '70b Neon', DeviceType.TABLET], 'Archos 70c Neon': ['Archos', '70c Neon', DeviceType.TABLET], 'Archos 79 Neon': ['Archos', '79 Neon', DeviceType.TABLET], @@ -1577,6 +1583,7 @@ exports.ANDROID_MODELS = { 'Archos 5.3s Platinum': ['Archos', '53s Platinum'], 'Archos 55 Platinum': ['Archos', '55 Platinum'], 'Archos 55b Platinum': ['Archos', '55b Platinum'], + 'Archos 60 Platinum': ['Archos', '60 Platinum'], 'Archos 70 Platinum': ['Archos', '70 Platinum', DeviceType.TABLET], 'Archos 70 Platinum 3G': ['Archos', '70 Platinum', DeviceType.TABLET], 'Archos 70 Platinum v3': ['Archos', '70 Platinum', DeviceType.TABLET], @@ -1638,14 +1645,23 @@ exports.ANDROID_MODELS = { 'ARCHOS 101 Xenon Lite': ['Archos', '101 Xenon Lite', DeviceType.TABLET], 'ARCHOS 80 CHILDPAD': ['Archos', '80 Childpad', DeviceType.TABLET], 'ARCHOS 101 CHILDPAD': ['Archos', '101 Childpad', DeviceType.TABLET], - 'Archos Access 45 4G': ['Archos', 'Access 45'], 'Archos Chefpad': ['Archos', 'ChefPad', DeviceType.TABLET], 'ARCHOS GAMEPAD': ['Archos', 'Gamepad', [DeviceType.GAMING, DeviceSubType.PORTABLE]], 'ARCHOS GAMEPAD2': ['Archos', 'Gamepad 2', [DeviceType.GAMING, DeviceSubType.PORTABLE]], 'ARCHOS FAMILYPAD 2': ['Archos', 'Familypad 2', DeviceType.TABLET], 'Archos 101 DB': ['Archos', 'ArcBook', DeviceType.TABLET], 'Archos Smart Home Tablet': ['Archos', 'Smart Home Tablet', DeviceType.TABLET], - 'ARCHOS LUDOG10': ['Archos', 'TV Connect', DeviceType.TELEVISION] + 'ARCHOS LUDOG10': ['Archos', 'TV Connect', DeviceType.TELEVISION], + 'Archos Access 45 4G': ['Archos', 'Access 45'], + 'Archos Access 50 4G': ['Archos', 'Access 50'], + 'Archos Access 50 Color 3G': ['Archos', 'Access 50 Color'], + 'Archos Access 70 3G': ['Archos', 'Access 70', DeviceType.TABLET], + 'Archos Access 101 3G': ['Archos', 'Access 101', DeviceType.TABLET], + 'Archos Access 101 3G V2': ['Archos', 'Access 101', DeviceType.TABLET], + 'Archos Core 55 4G': ['Archos', 'Core 55'], + 'Archos Core 70 3G': ['Archos', 'Core 70', DeviceType.TABLET], + 'Archos Core 101 3G': ['Archos', 'Core 101', DeviceType.TABLET], + 'Archos Sense 55 DC': ['Archos', 'Sense 55'] }, 'Artes D708': ['Artes', 'D708', DeviceType.TABLET], @@ -1888,6 +1904,7 @@ exports.ANDROID_MODELS = { Z01BDC: ['Asus', 'ZenFone 3 Laser (ZC551KL)'], Z01BS: ['Asus', 'ZenFone 3 Laser (ZC551KL)'], Z01FD: ['Asus', 'ZenFone 3 Deluxe (ZS550KL)'], + Z01GD: ['Asus', 'ZenFone 4 Pro (ZS551KL)'], Z01HD: ['Asus', 'ZenFone 3 Zoom (ZE553KL)'], Z01HDA: ['Asus', 'ZenFone 3 Zoom (ZE553KL)'], Z01KD: ['Asus', 'ZenFone 4 (ZE554KL)'], @@ -1904,6 +1921,7 @@ exports.ANDROID_MODELS = { ZE550KL: ['Asus', 'ZenFone 2 Laser (ZE550KL)'], ZE552KL: ['Asus', 'ZenFone 3 (ZE552KL)'], ZE553KL: ['Asus', 'ZenFone 3 Zoom (ZE553KL)'], + ZE554KL: ['Asus', 'ZenFone 4 (ZE554KL)'], Z00YD: ['Asus', 'Live'], X002: ['Asus', 'Pegasus'], @@ -2081,8 +2099,9 @@ exports.ANDROID_MODELS = { '(NOOK )?BNTV250!': ['Barnes & Noble', 'NOOK Tablet', DeviceType.EREADER], '(NOOK )?BNRV350!': ['Barnes & Noble', 'NOOK Simple Touch', DeviceType.EREADER], '(NOOK )?BNTV(400)!': ['Barnes & Noble', 'NOOK HD Tablet', DeviceType.EREADER], + '(NOOK )?BNTV(450)!': ['Barnes & Noble', 'NOOK 7"', DeviceType.EREADER], '(NOOK )?BNTV(600)!': ['Barnes & Noble', 'NOOK HD+ Tablet', DeviceType.EREADER], - '(NOOK )?BNTV(800)!': ['Barnes & Noble', 'NOOK BNTV800 Tablet', DeviceType.EREADER], + '(NOOK )?BNTV(800)!': ['Barnes & Noble', 'NOOK 8"', DeviceType.EREADER], 'Barnes & Noble Nook HD': ['Barnes & Noble', 'NOOK HD Tablet', DeviceType.EREADER], 'Barnes & Noble Nook HD+': ['Barnes & Noble', 'NOOK HD+ Tablet', DeviceType.EREADER], 'Nook HD': ['Barnes & Noble', 'NOOK HD Tablet', DeviceType.EREADER], @@ -2193,6 +2212,8 @@ exports.ANDROID_MODELS = { 'BBB100-[0-9]!': ['BlackBerry', 'KEYone'], 'BBC100-[0-9]!': ['BlackBerry', 'Aurora'], 'BBD100-[0-9]!': ['BlackBerry', 'Motion'], + 'BBE100-[0-9]!': ['BlackBerry', '"BBE100"'], + 'BBF100-[0-9]!': ['BlackBerry', 'KEY2'], BV8000Pro: ['Blackview', 'BV8000 Pro'], P2Lite: ['Blackview', 'P2 Lite'], @@ -4275,6 +4296,7 @@ exports.ANDROID_MODELS = { FS403: ['Fly', 'FS403 Cumulus 1'], FS407: ['Fly', 'FS407 Stratus 6'], FS451: ['Fly', 'FS451 Nimbus 1'], + FS514: ['Fly', 'FS514 Cirrus 8'], 'Fly Phoenix 2': ['Fly', 'IQ4410i Phoenix 2'], 'Fly Ego Art 2': ['Fly', 'IQ455 Ego Art 2'], @@ -4428,10 +4450,12 @@ exports.ANDROID_MODELS = { 'F-01F': ['Fujitsu', 'ARROWS NX F-01F', { carrier: 'DoCoMo' }], 'F-01H': ['Fujitsu', 'arrows Fit F-01H', { carrier: 'DoCoMo' }], 'F-01J': ['Fujitsu', 'arrows NX F-01J', { carrier: 'DoCoMo' }], + 'F-01K': ['Fujitsu', 'arrows NX F-01K', { carrier: 'DoCoMo' }], 'F-02E': ['Fujitsu', 'ARROWS X F-02E', { carrier: 'DoCoMo' }], 'F-02F': ['Fujitsu', 'ARROWS Tab F-02F', DeviceType.TABLET, { carrier: 'DoCoMo' }], 'F-02G': ['Fujitsu', 'ARROWS NX F-02G', { carrier: 'DoCoMo' }], 'F-02H': ['Fujitsu', 'arrows NX F-02H', { carrier: 'DoCoMo' }], + 'F-02K': ['Fujitsu', 'ARROWS Tab F-02K', DeviceType.TABLET, { carrier: 'DoCoMo' }], 'F-03D': ['Fujitsu', 'ARROWS Kiss F-03D', { carrier: 'DoCoMo' }], 'F-03E': ['Fujitsu', 'ARROWS Kiss with JILL STUART F-03E', { carrier: 'DoCoMo' }], 'F-03F': ['Fujitsu', 'F-03F', { carrier: 'Disney Mobile' }], @@ -4442,6 +4466,8 @@ exports.ANDROID_MODELS = { 'F-04F': ['Fujitsu', 'Business Smartphone F-04F', { carrier: 'DoCoMo' }], 'F-04G': ['Fujitsu', 'ARROWS NX F-04G', { carrier: 'DoCoMo' }], 'F-04H': ['Fujitsu', 'ARROWS Tab F-04H', DeviceType.TABLET, { carrier: 'DoCoMo' }], + 'F-04J': ['Fujitsu', 'らくらくスマートフォン4 F-04J', { carrier: 'DoCoMo' }], + 'F-04K': ['Fujitsu', 'ARROWS Be F-04K', { carrier: 'DoCoMo' }], 'F-05D': ['Fujitsu', 'ARROWS X LTE F-05D', { carrier: 'DoCoMo' }], 'F-05E': ['Fujitsu', 'ARROWS Tab F-05E', { carrier: 'DoCoMo' }], 'F-05F': ['Fujitsu', 'ARROWS NX F-05F', { carrier: 'DoCoMo' }], @@ -5309,6 +5335,7 @@ exports.ANDROID_MODELS = { 'HTC Desire 10 pro': ['HTC', 'Desire 10 Pro'], 'HTC D10i': ['HTC', 'Desire 10 Pro'], 'HTC D10w': ['HTC', 'Desire 10 Pro'], + 'HTC Desire 12+': ['HTC', 'Desire 12+'], 'HTC Desire 200': ['HTC', 'Desire 200'], 'HTC Desire 210 dual sim': ['HTC', 'Desire 210'], 'HTC Desire 300': ['HTC', 'Desire 300'], @@ -5431,6 +5458,7 @@ exports.ANDROID_MODELS = { 'HTC 2PST5': ['HTC', 'Desire 630'], 'HTC Desire 650': ['HTC', 'Desire 650'], 'HTC Desire 650 dual sim': ['HTC', 'Desire 650'], + 'HTC 2PYA1': ['HTC', 'Desire 650'], 'HTC 2PYR1': ['HTC', 'Desire 650'], 'HTC 2PYR2': ['HTC', 'Desire 650'], 'HTC Desire 700 dual sim': ['HTC', 'Desire 700'], @@ -5459,6 +5487,7 @@ exports.ANDROID_MODELS = { 'HTC Desire 820G !': ['HTC', 'Desire 820G'], 'HTC Desire 820G+': ['HTC', 'Desire 820G+'], 'HTC Desire 820G PLUS dual sim': ['HTC', 'Desire 820G+'], + 'HTC 820G Plus Dual Sim': ['HTC', 'Desire 820G+'], 'HTC D820': ['HTC', 'Desire 820'], 'HTC D820(f|m|mt|mu|s|t|u|x)!': ['HTC', 'Desire 820'], 'HTC Desire 820': ['HTC', 'Desire 820'], @@ -5495,6 +5524,7 @@ exports.ANDROID_MODELS = { 'HTC Desire C N': ['HTC', 'Desire C'], 'HTC H1000C': ['HTC', 'Desire C'], 'HTC A320e': ['HTC', 'Desire C'], + 'HTC A320E DESIRE C': ['HTC', 'Desire C'], 'HTC Desire ?HD!': ['HTC', 'Desire HD'], 'HTC A91(91|92)!': ['HTC', 'Desire HD'], 'HTC 0PFH1!': ['HTC', 'Desire Eye'], @@ -5609,6 +5639,7 @@ exports.ANDROID_MODELS = { 'HTC Butterfly s 901s': ['HTC', 'Butterfly S'], 'HTC PO68': ['HTC', 'Butterfly S'], 'HTC 9060': ['HTC', 'Butterfly S'], + 'HTC 9066': ['HTC', 'Butterfly S'], 'HTC 9088': ['HTC', 'Butterfly S'], 'HTC 901e': ['HTC', 'Butterfly S'], 'HTC 909d': ['HTC', 'Butterfly S'], @@ -5728,6 +5759,7 @@ exports.ANDROID_MODELS = { 'HTC 0PK71': ['HTC', 'One (M9 Plus)'], 'HTC 0PK72': ['HTC', 'One (M9 Plus)'], 'HTC X9u': ['HTC', 'One (X9)'], + 'HTC 2PS511': ['HTC', 'One (X9)'], 'HTC 2PS5200': ['HTC', 'One (X9)'], 'HTC 2PXH1': ['HTC', 'One (X10)'], 'HTC 2PXH2': ['HTC', 'One (X10)'], @@ -5810,14 +5842,18 @@ exports.ANDROID_MODELS = { 'HTC Mecha': ['HTC', 'ThunderBolt'], 'HTC Kaiser': ['HTC', 'TyTN II'], 'HTC U Play': ['HTC', 'U Play'], + 'HTC 2PZM1': ['HTC', 'U Play'], 'HTC 2PZM3': ['HTC', 'U Play'], 'HTC U Ultra': ['HTC', 'U Ultra'], 'HTC U-1w': ['HTC', 'U Ultra'], 'HTC 2PZF1': ['HTC', 'U Ultra'], 'HTC U11': ['HTC', 'U11'], 'HTC U-3w': ['HTC', 'U11'], + 'HTC U-3u': ['HTC', 'U11'], 'HTC 2PZC100': ['HTC', 'U11'], 'HTC 2Q4D200': ['HTC', 'U11 Plus'], + 'HTC 2Q3F2': ['HTC', 'U11 Plus'], + 'HTC 2Q3F3': ['HTC', 'U11 Plus'], 'HTC Velocity!': ['HTC', 'Velocity 4G'], 'HTCVelocity 4G': ['HTC', 'Velocity 4G'], 'HTC Vivid': ['HTC', 'Vivid'], @@ -6020,10 +6056,11 @@ exports.ANDROID_MODELS = { '2PS64': ['HTC', '10'], M7CDTU: ['HTC', 'One'], - '[SX0][0-9]{2,2}HT!!': { + '[SX06][0-9]{2,2}HT!!': { S31HT: ['HTC', 'Aria S31HT', { carrier: 'EMOBILE' }], X06HT: ['HTC', 'Desire X06HT', { carrier: 'Softbank' }], - '001HT': ['HTC', 'Desire HD 001HT', { carrier: 'Softbank' }] + '001HT': ['HTC', 'Desire HD 001HT', { carrier: 'Softbank' }], + '601HT': ['HTC', 'U11 601HT', { carrier: 'Softbank' }] }, 'ISW[0-9]{2,2}HT!!': { @@ -6138,20 +6175,22 @@ exports.ANDROID_MODELS = { '(HW-|HUAWEI )?M200-(L09|UL00)!': ['Huawei', 'Mate 8'], '(HW-|HUAWEI )?MHA-(AL00|L09|L29|TL00)!': ['Huawei', 'Mate 9'], '(HW-|HUAWEI )?LON-(AL00|L29)!': ['Huawei', 'Mate 9 Pro'], - '(HW-|HUAWEI )?ALP-(AL00|L09|L29)!': ['Huawei', 'Mate 10'], - '(HW-|HUAWEI )?BLA-(AL00|L09|L29)!': ['Huawei', 'Mate 10 Pro'], + '(HW-|HUAWEI )?ALP-(AL00|L09|L29|TL00)!': ['Huawei', 'Mate 10'], + '(HW-|HUAWEI )?BLA-(A09|AL00|L09|L29|L30|TL00)!': ['Huawei', 'Mate 10 Pro'], '(HW-|HUAWEI )?CRR-(L09|CL00|CL20|TL00|UL00|UL20)!': ['Huawei', 'Mate S'] }, - '(HW-|HUAWEI )?(TIT|TAG|NCE|TRT|SLA)!!': { + '(HW-|HUAWEI )?(DRA|FLA|TIT|TAG|NCE|TRT|SLA)!!': { '(HW-|HUAWEI )?TIT-(AL00|CL00|CL10|L01|TL00|U02)!': ['Huawei', 'Enjoy 5'], '(HW-|HUAWEI )?TAG-(AL00|CL00|L13|TL00)!': ['Huawei', 'Enjoy 5S'], '(HW-|HUAWEI )?NCE-(AL00|AL10|TL10)!': ['Huawei', 'Enjoy 6'], '(HW-|HUAWEI )?SLA-(AL00|L02|L03|L22|TL10)!': ['Huawei', 'Enjoy 7'], - '(HW-|HUAWEI )?TRT-(AL00|L21|L53|LX1|LX2|LX3|TL10)!': ['Huawei', 'Enjoy 7 Plus'] + '(HW-|HUAWEI )?TRT-(AL00|L21|L53|LX1|LX2|LX3|TL10)!': ['Huawei', 'Enjoy 7 Plus'], + '(HW-|HUAWEI )?FLA-(AL10|AL20|LX1|LX2|LX3|TL10)!': ['Huawei', 'Enjoy 8 Plus'], + '(HW-|HUAWEI )?DRA-(AL00|L01|L21|LX2)!': ['Huawei', 'Enjoy 8e'] }, - '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|KIW|LDD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF)!!': { + '(HW-|HUAWEI |HONOR )?(ATH|BLN|BKL|BND|CHE|CHM|COL|DUA|DUK|DLI|EDI|FRD|HN3|H30|H60|HOL|JMM|KIW|LLD|NEM|NMO|PE|PLK|RNE|SCL|KNT|CAM|STF|HDN)!!': { 'H30 U10': ['Huawei', 'Honor 3C'], '(HW-|HUAWEI )?HN3-(U00|U01)!': ['Huawei', 'Honor 3'], '(HW-|HUAWEI |HONOR )?H30[- ](C00|L01|L02|T00|T10|U10)!': ['Huawei', 'Honor 3C'], @@ -6164,7 +6203,7 @@ exports.ANDROID_MODELS = { '(HW-|HUAWEI )?CHE-(TL00|TL00H)!': ['Huawei', 'Honor 4X'], '(HW-|HUAWEI )?Che1-(L04|CL10|CL20)!': ['Huawei', 'Honor 4X'], '(HW-|HUAWEI )?Che2-(L11|L12|L23|TL00|UL00)!': ['Huawei', 'Honor 4X'], - '(HW-|HUAWEI )?NEM-(AL10|L21|L22|L51|TL00|TL00H|UL10)!': ['Huawei', 'Honor 5C'], + '(HW-|HUAWEI )?NEM-(AL10|CL00|L21|L22|L51|TL00|TL00H|UL10)!': ['Huawei', 'Honor 5C'], '(HW-|HUAWEI )?NMO-(L22|L23|L31)!': ['Huawei', 'Honor 5C'], '(HW-|HUAWEI )?KIW-(AL10|CL00|L21|L22|L24|UL00|TL00|TL00H)!': ['Huawei', 'Honor 5X'], '(HW-|HUAWEI )?H60-(J1|L01|L02|L03|L04|L11|L12|L21)!': ['Huawei', 'Honor 6'], @@ -6173,16 +6212,20 @@ exports.ANDROID_MODELS = { '(HW-|HUAWEI )?PE-(CL00|TL00|TL00M|TL10|TL20|UL00)!': ['Huawei', 'Honor 6 Plus'], '(HW-|HUAWEI |HONOR )?PLK-(L01|AL10|CL00|UL00|TL00|TL01H)!': ['Huawei', 'Honor 7'], '(HW-|HUAWEI )?ATH-(AL00|CL00|TL00|TL00H|UL00)!': ['Huawei', 'Honor 7i'], - '(HW-|HUAWEI )?BND-(AL10|L24)!': ['Huawei', 'Honor 7X'], + '(HW-|HUAWEI )?BND-(AL00|AL10|L21|L24|L31|L34|TL10)!': ['Huawei', 'Honor 7X'], + '(HW-|HUAWEI )?DUA-(AL00)!': ['Huawei', 'Honor 7 Play'], '(HW-|HUAWEI )?FRD-(AL00|AL10|DL00|L02|L04|L09|L14|L19)!': ['Huawei', 'Honor 8'], '(HW-|HUAWEI )?ATH-(UL01|UL06)!': ['Huawei', 'Honor ShotX'], '(HW-|HUAWEI )?KNT-(AL10|AL20|TL10|UL10)!': ['Huawei', 'Honor V8'], '(HW-|HUAWEI )?EDI-(AL10)!': ['Huawei', 'Honor Note 8'], '(HW-|HUAWEI )?STF-(AL00|AL10|L09|TL10)!': ['Huawei', 'Honor 9'], - '(HW-|HUAWEI )?LLD-(L31)!': ['Huawei', 'Honor 9 Lite'], - '(HW-|HUAWEI )?RNE-(AL00|L01|L21|L22|L31)!': ['Huawei', 'Honor 9i'], + '(HW-|HUAWEI )?LLD-(AL00|AL10|AL20|L21|L31)!': ['Huawei', 'Honor 9 Lite'], + '(HW-|HUAWEI )?RNE-(AL00|L01|L02|L03|L21|L22|L23|L31)!': ['Huawei', 'Honor 9i'], + '(HW-|HUAWEI )?COL-(AL00|AL10|L29|TL00|TL10)!': ['Huawei', 'Honor 10'], '(HW-|HUAWEI )?DUK-(AL20|L09|TL30)!': ['Huawei', 'Honor V9'], - '(HW-|HUAWEI )?BKL-(AL00|AL20|L09)!': ['Huawei', 'Honor V10'] + '(HW-|HUAWEI )?JMM-(AL00|AL10|L22|L22HN|TL00)!': ['Huawei', 'Honor V9 Play'], + '(HW-|HUAWEI )?BKL-(AL00|AL20|L04|L09)!': ['Huawei', 'Honor V10'], + '(HW-|HUAWEI )?HDN-(L09|W09)!': ['Huawei', 'Honor WaterPlay', DeviceType.TABLET] }, '(HW-|HUAWEI )?(BLL|CHC|TAG|KII)!!': { @@ -6192,7 +6235,7 @@ exports.ANDROID_MODELS = { '(HW-|HUAWEI )?BLL-(L21|L22|L23)!': ['Huawei', 'GR5 (2017)'] }, - '(HW-|HUAWEI )?(ALE|D2|DAV|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!': { + '(HW-|HUAWEI )?(ALE|ANE|D2|DAV|EML|EVA|FIG|G6|G7|GRA|M100|P2|P6|P7|PRA|RIO|SC|Sophia|VIE|VKY|VNS|VTR|WAS)!!': { 'HUAWEI D2': ['Huawei', 'Ascend D2'], '(HW-|HUAWEI )?D2-(0082|2010|5000|6070|6114)!': ['Huawei', 'Ascend D2'], '(HW-|HUAWEI )?G6-(C00|L11|L22|L33|T00|U00|U10|U34|U251)!': ['Huawei', 'Ascend G6'], @@ -6216,28 +6259,32 @@ exports.ANDROID_MODELS = { '(HW-|HUAWEI )?VTR-?(AL00|L09|L29|TL00)!': ['Huawei', 'P10'], '(HW-|HUAWEI )?WAS-?(AL00|L03T|LX1|LX1A|LX2|LX2J|LX3|TL10)!': ['Huawei', 'P10 Lite'], '(HW-|HUAWEI )?VKY-?(AL00|L09|L29|TL00)!': ['Huawei', 'P10 Plus'], - '(HW-|HUAWEI )?FIG-?(AL10|LX1)!': ['Huawei', 'P Smart'] + '(HW-|HUAWEI )?FIG-?(AL00|AL10|LA1|LX1|LX3|TL00)!': ['Huawei', 'P Smart'], + '(HW-|HUAWEI )?EML-?(AL00|L09|L29|TL00)!': ['Huawei', 'P20'], + '(HW-|HUAWEI )?ANE-?(AL00|L21|LX1|LX2|LX2J|LX3)!': ['Huawei', 'P20 lite'] }, 'Rock-(AL00|CL00|L01|L03)!': ['Huawei', 'Ascend G7'], 'HUAWEI A168-(AL10|DL09|L09|L29)!': ['Huawei', 'P9'], - '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LYO|MYA)!!': { + '(HW-|HUAWEI )?(CRO|LUA|CUN|SCC|SCU|CAM|LDN|LYO|MYA)!!': { '(HW-|HUAWEI )?CRO-(L02|L03|L22|U00)!': ['Huawei', 'Y3 (2017)'], '(HW-|HUAWEI )?LUA-(L01|L02|L03|L13|L21|L22|L23|U02|U03|U22|U23)!': ['Huawei', 'Y3 II'], '(HW-|HUAWEI )?CUN-(AL00|L01|L02|L03|L21|L22|L23|L33|TL00|U29)!': ['Huawei', 'Y5 II'], - '(HW-|HUAWEI )?MYA-(AL10|L02|L03|L11|L13|L22|L23|L41)!': ['Huawei', 'Y5 (2017)'], + '(HW-|HUAWEI )?MYA-(AL10|L02|L03|L11|L13|L22|L23|L41|TL10)!': ['Huawei', 'Y5 (2017)'], '(HW-|HUAWEI )?SCC-(U21)!': ['Huawei', 'Y6'], '(HW-|HUAWEI )?SCU-(U31)!': ['Huawei', 'Y6C'], '(HW-|HUAWEI )?CAM-(L01|L03|L11|L21|L23|L32|AL00|CL00|TL00|UL00)!': ['Huawei', 'Y6 II'], - '(HW-|HUAWEI )?LYO-(L01|L02|L21)!': ['Huawei', 'Y6 II Compact'] + '(HW-|HUAWEI )?LYO-(L01|L02|L21)!': ['Huawei', 'Y6 II Compact'], + '(HW-|HUAWEI )?LDN-(AL00|L01|L21|LX2|LX3|TL00)!': ['Huawei', 'Y7 Prime (2018)'] }, '(HW-|HUAWEI )?CAZ-(AL10|TL10|TL20)!': ['Huawei', 'Nova'], '(HW-|HUAWEI )?CAN-(L01|L11|L12)!': ['Huawei', 'Nova'], '(HW-|HUAWEI )?MLA-(L01|L03|L11|L12|L13)!': ['Huawei', 'Nova Plus'], '(HW-|HUAWEI )?DIG-(AL00|L01|L03|L21|TL10)!': ['Huawei', 'Nova Smart'], - '(HW-|HUAWEI )?BAC-(AL00|L03|L21|L22)!': ['Huawei', 'Nova 2 Plus'], + '(HW-|HUAWEI )?BAC-(AL00|L03|L21|L22|TL00)!': ['Huawei', 'Nova 2 Plus'], + '(HW-|HUAWEI )?HWI-(AL00|TL00)!': ['Huawei', 'Nova 2S'], '(HW-|HUAWEI )?MLA-(AL00|AL10)!': ['Huawei', 'Maimang 5'], '(HW-|HUAWEI )?MLA-(TL00|TL10|UL00)!': ['Huawei', 'G9 Plus'], @@ -6272,7 +6319,7 @@ exports.ANDROID_MODELS = { Y220T: ['Huawei', 'Ascend Y220'], 'Y221-(U22)!': ['Huawei', 'Ascend Y221'], 'Y301-(A1|A2)!': ['Huawei', 'Valiant'], - 'Y320-(U01|U10)!': ['Huawei', 'Ascend Y320'], + 'Y320-(U01|U10|U151)!': ['Huawei', 'Ascend Y320'], 'Y325-T00': ['Huawei', 'Ascend Y325'], 'Y330-U11': ['Huawei', 'Ascend Y330'], 'Y340-U081': ['Huawei', 'Ascend Y340'], @@ -6521,7 +6568,10 @@ exports.ANDROID_MODELS = { '402HW': ['Huawei', 'MediaPad 10 Link+ 402HW', DeviceType.TABLET, { carrier: 'Softbank' }], '403HW': ['Huawei', 'MediaPad M1 8.0 403HW', DeviceType.TABLET, { carrier: 'Y! Mobile' }], '503HW': ['Huawei', 'LUMIERE 503HW', { carrier: 'Y! Mobile' }], - '606HW': ['Huawei', 'MediaPad T2 Pro 606HW', DeviceType.TABLET, { carrier: 'Y! Mobile' }] + '605HW': ['Huawei', 'MediaPad T2 Pro 605HW', DeviceType.TABLET, { carrier: 'Softbank' }], + '606HW': ['Huawei', 'MediaPad T2 Pro 606HW', DeviceType.TABLET, { carrier: 'Y! Mobile' }], + '608HW': ['Huawei', 'nova lite 608HW', { carrier: 'Y! Mobile' }], + '704HW': ['Huawei', 'nova lite 2 704HW', { carrier: 'Softbank' }] }, CM980: ['Huawei', 'Evolution II'], @@ -6618,9 +6668,12 @@ exports.ANDROID_MODELS = { GS03: ['Huawei', 'GS03', { carrier: 'EMOBILE' }], GL07S: ['Huawei', 'STREAM X GL07S', { carrier: 'EMOBILE' }], 'HW-01E': ['Huawei', 'Ascend HW-01E', { carrier: 'DoCoMo' }], + 'HW-01K': ['Huawei', 'P20 Pro HW-01K', { carrier: 'DoCoMo' }], 'HW-03E': ['Huawei', 'Ascend D2 HW-03E', { carrier: 'DoCoMo' }], HWT31: ['Huawei', 'Qua tab 02 HWT31', { carrier: 'au' }], + HWV32: ['Huawei', 'P20 lite HWV32', { carrier: 'au' }], H710VL: ['Huawei', 'Sensa'], + H715BL: ['Huawei', 'Sensa LTE'], H866C: ['Huawei', 'Ascend Y H866C'], H882L: ['Huawei', 'Ascend Y301-A'], @@ -7014,6 +7067,7 @@ exports.ANDROID_MODELS = { 'Infinix NOTE 3 Pro': ['Infinix', 'Note 3 Pro X601'], 'Infinix Zero 4': ['Infinix', 'Zero 4 X602'], 'Infinix Zero 4 Plus': ['Infinix', 'Zero 4 Plus X602'], + 'Infinix X603': ['Infinix', 'Zero 5 X603'], 'Infinix X800': ['Infinix', 'Joypad 8 X800', DeviceType.TABLET], 'Infinix X801': ['Infinix', 'Joypad 8S X801', DeviceType.TABLET], 'Infinix X1000': ['Infinix', 'Joypad 10 X1000', DeviceType.TABLET] @@ -7819,8 +7873,13 @@ exports.ANDROID_MODELS = { KYV35: ['Kyocera', 'TORQUE G02', { carrier: 'au' }], KYV36: ['Kyocera', 'DIGNO rafre KYV36', { carrier: 'au' }], KYV37: ['Kyocera', 'Qua phone', { carrier: 'au' }], + KYV38: ['Kyocera', 'URBANO V03 KYV38', { carrier: 'au' }], KYV40: ['Kyocera', 'rafre KYV40', { carrier: 'au' }], - KYT31: ['Kyocera', 'Qua tab', DeviceType.TABLET, { carrier: 'au' }] + KYV40U: ['Kyocera', 'DIGNO W KYV40U', { carrier: 'UQ mobile' }], + KYV41: ['Kyocera', 'TORQUE G03 KYV41', { carrier: 'au' }], + KYV42: ['Kyocera', 'Qua phone QX', { carrier: 'au' }], + KYT31: ['Kyocera', 'Qua tab', DeviceType.TABLET, { carrier: 'au' }], + KYT33: ['Kyocera', 'Qua tab QZ10', DeviceType.TABLET, { carrier: 'au' }] }, 'URBANO PROGRESSO': ['Kyocera', 'URBANO PROGRESSO', { carrier: 'au' }], @@ -7832,7 +7891,8 @@ exports.ANDROID_MODELS = { '302KC': ['Kyocera', 'DIGNO T 302KC', { carrier: 'EMOBILE' }], '404KC': ['Kyocera', 'DIGNO C 404KC', { carrier: 'Y! Mobile' }], '503KC': ['Kyocera', 'DIGNO E 503KC', { carrier: 'Y! Mobile' }], - '602KC': ['Kyocera', 'DIGNO G 602KC', { carrier: 'Softbank' }] + '602KC': ['Kyocera', 'DIGNO G 602KC', { carrier: 'Softbank' }], + '704KC': ['Kyocera', 'DIGNO J 704KC', { carrier: 'Softbank' }] }, 'K-?Touch!!': { @@ -8642,6 +8702,7 @@ exports.ANDROID_MODELS = { 'LenovoTV 40S9': ['Lenovo', 'TV 40S9', DeviceType.TELEVISION], 'LenovoTV 50S52': ['Lenovo', 'TV 50S52', DeviceType.TELEVISION], '501LV': ['Lenovo', 'Tab2 501LV', { carrier: 'Softbank' }], + '602LV': ['Lenovo', 'Tab3 602LV', { carrier: 'Softbank' }], 'ZUK Z1': ['Lenovo', 'ZUK Z1'], 'ZUK Z2': ['Lenovo', 'ZUK Z2'], @@ -9270,10 +9331,24 @@ exports.ANDROID_MODELS = { 'LGM-K121[KLS]!': ['LG', 'X400'], 'LGM-V300[KLS]!': ['LG', 'V30'], 'LGM-X320[KLS]!': ['LG', 'X500'], + 'LGM-X401[S]!': ['LG', 'X401'], 'LGM-X600[KLS]!': ['LG', 'Q6'], 'LGM-X800[KLS]!': ['LG', 'Q8'] }, + 'LM-G710!': ['LG', 'G7 ThinQ'], + 'LM-G715!': ['LG', 'G7 ThinQ'], + 'LM-Q610!': ['LG', 'Q7'], + 'LM-Q710!': ['LG', 'Q Stylus+'], + 'LM-V350!': ['LG', 'V35 ThinQ'], + 'LM-X210!': ['LG', 'Aristo 2'], + 'LM-X410!': ['LG', 'X4'], + 'LM-X415!': ['LG', 'X4+'], + 'LM-X510!': ['LG', 'X5'], + 'LM-Y110!': ['LG', 'Folder'], + + LGMP450: ['LG', 'Stylo 3 Plus'], + 'lge-F160!': ['LG', 'Optimus LTE II'], 'LGE-E988!': ['LG', 'Optimus G Pro'], 'lgp-970': ['LG', 'Optimus Black'], @@ -9356,11 +9431,13 @@ exports.ANDROID_MODELS = { 'L-01D': ['LG', 'Optimus LTE L-01D', { carrier: 'DoCoMo' }], 'L-01E': ['LG', 'Optimus G L-01E', { carrier: 'DoCoMo' }], 'L-01F': ['LG', 'G2 L-01F', { carrier: 'DoCoMo' }], + 'L-01J': ['LG', 'V20 PRO L-01J', { carrier: 'DoCoMo' }], 'L-01K': ['LG', 'V30+ L-01K', { carrier: 'DoCoMo' }], 'L-02D': ['LG', 'PRADA phone L-02D', { carrier: 'DoCoMo' }], 'L-02E': ['LG', 'Optimus LIFE L-02E', { carrier: 'DoCoMo' }], 'L-02F': ['LG', 'WiFi STATION L-02F', { carrier: 'DoCoMo' }], 'L-02K': ['LG', 'JOJO L-02K', { carrier: 'DoCoMo' }], + 'L-03K': ['LG', 'style L-03K', { carrier: 'DoCoMo' }], 'L-04C': ['LG', 'Optimus chat L-04C', { carrier: 'DoCoMo' }], 'L-04E': ['LG', 'Optimus G Pro L-04E', { carrier: 'DoCoMo' }], 'L-05D': ['LG', 'Optimus it L-05D', { carrier: 'DoCoMo' }], @@ -9377,6 +9454,7 @@ exports.ANDROID_MODELS = { }, 'DM-01G': ['LG', 'DM-01G', { carrier: 'Disney Mobile' }], + 'DM-01K': ['LG', 'DM-01K', { carrier: 'Disney Mobile' }], 'DM-02H': ['LG', 'DM-02H', { carrier: 'Disney Mobile' }], 'LG!!': { @@ -9780,6 +9858,7 @@ exports.ANDROID_MODELS = { 'MEEG 210R': ['MEEG', '210R'] }, + 'MEIZU E3': ['Meizu', 'E3'], M1: ['Meizu', 'M1'], 'm1 metal': ['Meizu', 'M1 Metal'], 'meizu m1note': ['Meizu', 'M1 Note'], @@ -9799,7 +9878,9 @@ exports.ANDROID_MODELS = { M3s: ['Meizu', 'M3s'], M4: ['Meizu', 'M4'], M5: ['Meizu', 'M5'], + 'MZ-M5': ['Meizu', 'M5'], 'MEIZU M5': ['Meizu', 'M5'], + 'MZ-MEIZU M6': ['Meizu', 'M6'], M8: ['Meizu', 'M8'], M9: ['Meizu', 'M9'], 'M9-unlocked': ['Meizu', 'M9'], @@ -9820,11 +9901,13 @@ exports.ANDROID_MODELS = { 'MX4 Pro': ['Meizu', 'MX4 Pro'], 'MZ-MX4 Pro': ['Meizu', 'MX4 Pro'], MX5: ['Meizu', 'MX5'], + 'MZ-MX5': ['Meizu', 'MX5'], MX6: ['Meizu', 'MX6'], 'PRO 5': ['Meizu', 'PRO 5'], 'PRO 6': ['Meizu', 'PRO 6'], 'PRO 6s': ['Meizu', 'PRO 6s'], 'PRO 6 Plus': ['Meizu', 'PRO 6 Plus'], + 'Meizu S6': ['Meizu', 'S6'], '(MEO )?Smart A!!': { 'meo smart a12': ['MEO', 'Smart A12'], @@ -9849,7 +9932,6 @@ exports.ANDROID_MODELS = { 'SlidePad 104': ['Memup', 'Slidepad 104', DeviceType.TABLET], 'SlidePad 108': ['Memup', 'Slidepad 108', DeviceType.TABLET], SlidePad704CE: ['Memup', 'Slidepad 704CE', DeviceType.TABLET], - '704DC': ['Memup', 'Slidepad 704DC', DeviceType.TABLET], 'SlidePad 816P': ['Memup', 'Slidepad 816P', DeviceType.TABLET], 'SlidePad Elite 9708': ['Memup', 'Slidepad Elite 9708', DeviceType.TABLET], 'SlidePad Kids': ['Memup', 'Slidepad Kids', DeviceType.TABLET], @@ -9857,6 +9939,8 @@ exports.ANDROID_MODELS = { 'SlidePad NG 704DC': ['Memup', 'Slidepad NG 704DC', DeviceType.TABLET] }, + '704DC': ['Memup', 'Slidepad 704DC', DeviceType.TABLET], + SPNG9716DC: ['Memup', 'Slidepad NG 9716DC', DeviceType.TABLET], 'Mi-A402': ['Mi-fone', 'FAB 4.0'], @@ -10548,6 +10632,7 @@ exports.ANDROID_MODELS = { 'Motorola MotoE2!': ['Motorola', 'Moto E2'], 'Moto E (4)': ['Motorola', 'Moto E4'], 'Moto E (4) Plus': ['Motorola', 'Moto E4 Plus'], + 'moto e5 cruise': ['Motorola', 'Moto E5 Cruise'], '(Moto)?G3$!': ['Motorola', 'Moto G (2015)'], '(Moto)?G3-TE$!': ['Motorola', 'Moto G (2015)'], 'MOTOROLA MOTOG': ['Motorola', 'Moto G'], @@ -10558,9 +10643,12 @@ exports.ANDROID_MODELS = { 'Moto G (5)': ['Motorola', 'Moto G5'], 'Moto G (5) Plus': ['Motorola', 'Moto G5 Plus'], 'Moto G (5S) Plus': ['Motorola', 'Moto G5S Plus'], + 'moto g(6)': ['Motorola', 'Moto G6'], + 'moto g(6) plus': ['Motorola', 'Moto G6 Plus'], 'Moto Z (2)': ['Motorola', 'Moto Z2'], 'Moto Z2 Play': ['Motorola', 'Moto Z2 Play'], 'Moto X Pro': ['Motorola', 'Moto X Pro'], + 'moto x4': ['Motorola', 'Moto X4'], roiX: ['Motorola', 'Droid X'], 'Moto Backflip': ['Motorola', 'BACKFLIP'], RAZR: ['Motorola', 'RAZR'], @@ -10954,11 +11042,19 @@ exports.ANDROID_MODELS = { 'NBX-T7013N': ['Noblex', 'T7013N', DeviceType.TABLET], 'NBX-T7023N': ['Noblex', 'T7023N', DeviceType.TABLET], + 'TA-10(07|29)!': ['Nokia', '2'], + 'TA-10(84)!': ['Nokia', '2.1'], 'TA-10(20|28|32|38)!': ['Nokia', '3'], + // 'TA-10()!' : [ 'Nokia', '3.1' ], 'TA-10(24|27|44|53)!': ['Nokia', '5'], + 'TA-10(61|75|81|88)!': ['Nokia', '5.1'], 'TA-10(00|03|21|25|33|39)!': ['Nokia', '6'], + 'TA-10(43|50|54|68)!': ['Nokia', '6.1'], 'TA-10(41)!': ['Nokia', '7'], + 'TA-10(62)!': ['Nokia', '7 plus'], 'TA-10(04|12|52)!': ['Nokia', '8'], + 'TA-10(99)!': ['Nokia', 'X6'], + 'TA-11(03|16)!': ['Nokia', 'X6'], 'Nokia N9': ['Nokia', 'N9'], 'Nokia N900': ['Nokia', 'N900'], 'Nokia X': ['Nokia', 'X', DeviceType.MOBILE, Flag.NOKIAX], @@ -11089,6 +11185,7 @@ exports.ANDROID_MODELS = { 'ONEPLUS A3010': ['OnePlus', '3T'], 'ONEPLUS A5000': ['OnePlus', '5'], 'ONEPLUS A5010': ['OnePlus', '5T'], + 'ONEPLUS A6000': ['OnePlus', '6'], 'ONE E1000': ['OnePlus', 'X'], 'ONE E1001': ['OnePlus', 'X'], 'ONE E1003': ['OnePlus', 'X'], @@ -11494,6 +11591,7 @@ exports.ANDROID_MODELS = { 'FZ-A2A': ['Panasonic', 'Toughpad FZ-A2', DeviceType.TABLET], 'FZ-B2(B|D)!': ['Panasonic', 'Toughpad FZ-B1', DeviceType.TABLET], 'FZ-N1': ['Panasonic', 'Toughpad FZ-N1'], + 'FZ-T1': ['Panasonic', 'Toughbook FZ-T1'], 'FZ-X1': ['Panasonic', 'Toughpad FZ-X1'], 'Altus 18': ['Panasonic', 'Altus 18', DeviceType.INFLIGHT], @@ -12925,6 +13023,9 @@ exports.ANDROID_MODELS = { 'SM-A510!': ['Samsung', 'Galaxy A5 (2016)'], 'SM-A520!': ['Samsung', 'Galaxy A5 (2017)'], 'SM-A530!': ['Samsung', 'Galaxy A8 (2018)'], + 'SM-A600!': ['Samsung', 'Galaxy A6 (2018)'], + 'SM-A6050!': ['Samsung', 'Galaxy A9 Star Lite'], + 'SM-A605!': ['Samsung', 'Galaxy A6+ (2018)'], 'SM-A700!': ['Samsung', 'Galaxy A7'], 'SM-A710!': ['Samsung', 'Galaxy A7 (2016)'], 'SM-A720!': ['Samsung', 'Galaxy A7 (2017)'], @@ -12962,7 +13063,7 @@ exports.ANDROID_MODELS = { 'SM-G130HN': ['Samsung', 'Galaxy Young 2 Duos'], 'SM-G130M': ['Samsung', 'Galaxy Young 2 Duos'], 'SM-G1(50|55)!': ['Samsung', 'Galaxy Folder'], - 'SM-G160!': ['Samsung', 'Galaxy Folder 2'], + 'SM-G1(60|65)!': ['Samsung', 'Galaxy Folder 2'], 'SM-G310H': ['Samsung', 'Galaxy Ace 4'], 'SM-G310HN': ['Samsung', 'Galaxy Ace Style'], 'SM-G310R5': ['Samsung', 'GreatCall Touch 3'], @@ -13005,7 +13106,9 @@ exports.ANDROID_MODELS = { 'SM-G570!': ['Samsung', 'Galaxy J5 Prime'], 'SM-G600!': ['Samsung', 'Galaxy On7'], 'SM-G610!': ['Samsung', 'Galaxy J7 Prime'], + 'SM-G611!': ['Samsung', 'Galaxy On7 Prime (2018)'], 'SM-G615!': ['Samsung', 'Galaxy J7 Max'], + 'SM-G620!': ['Samsung', 'Galaxy J7 Prime (2018)'], 'SM-G710!': ['Samsung', 'Galaxy Grand 2'], 'SM-G720!': ['Samsung', 'Galaxy Grand 3'], 'SM-G730!': ['Samsung', 'Galaxy S III Mini'], @@ -13016,6 +13119,8 @@ exports.ANDROID_MODELS = { 'SM-G860!': ['Samsung', 'Galaxy S5 Sport'], 'SM-G870!': ['Samsung', 'Galaxy S5 Active'], 'SM-G880!': ['Samsung', 'Galaxy S7 mini'], + 'SM-G885Y!': ['Samsung', 'Galaxy A8 Star'], + 'SM-G8850!': ['Samsung', 'Galaxy A9 Star'], 'SM-G890!': ['Samsung', 'Galaxy S6 Active'], 'SM-G891!': ['Samsung', 'Galaxy S7 Active'], 'SM-G892!': ['Samsung', 'Galaxy S8 Active'], @@ -13029,6 +13134,7 @@ exports.ANDROID_MODELS = { 'SM-G920!': ['Samsung', 'Galaxy S6'], 'SM-G925!': ['Samsung', 'Galaxy S6 Edge'], 'SM-G928!': ['Samsung', 'Galaxy S6 Edge+'], + 'SM-G929!': ['Samsung', '"Project Valley"'], 'SM-G930!': ['Samsung', 'Galaxy S7'], 'SM-G935!': ['Samsung', 'Galaxy S7 Edge'], 'SM-G950!': ['Samsung', 'Galaxy S8'], @@ -13054,6 +13160,7 @@ exports.ANDROID_MODELS = { 'SM-J326!': ['Samsung', 'Galaxy Sol 2'], 'SM-J327!': ['Samsung', 'Galaxy J3 Emerge'], 'SM-J330!': ['Samsung', 'Galaxy J3 (2017)'], + 'SM-J337!': ['Samsung', 'Galaxy J3 (2018)'], 'SM-J500!': ['Samsung', 'Galaxy J5'], 'SM-J510!': ['Samsung', 'Galaxy J5 (2016)'], 'SM-J530!': ['Samsung', 'Galaxy J5 (2017)'], @@ -13062,7 +13169,9 @@ exports.ANDROID_MODELS = { 'SM-J710!': ['Samsung', 'Galaxy J7 (2016)'], 'SM-J727!': ['Samsung', 'Galaxy J7 Perx'], 'SM-J730!': ['Samsung', 'Galaxy J7 (2017)'], + 'SM-J737!': ['Samsung', 'Galaxy Wide 3'], 'SM-J800!': ['Samsung', 'Galaxy J8'], + 'SM-J810!': ['Samsung', 'Galaxy J8 (2018)'], 'SM-J900!': ['Samsung', 'Galaxy J9'] }, @@ -13078,7 +13187,8 @@ exports.ANDROID_MODELS = { 'SM-N920!': ['Samsung', 'Galaxy Note 5'], 'SM-N930!': ['Samsung', 'Galaxy Note 7'], 'SM-N935!': ['Samsung', 'Galaxy Note FE'], - 'SM-N950!': ['Samsung', 'Galaxy Note 8'] + 'SM-N95[05]!': ['Samsung', 'Galaxy Note 8'], + 'SM-N960!': ['Samsung', 'Galaxy Note 9'] }, 'SM-P[0-9]{3,3}!!': { @@ -13148,6 +13258,7 @@ exports.ANDROID_MODELS = { 'SM-T81[39]!': ['Samsung', 'Galaxy Tab S2 9.7 (2016)', DeviceType.TABLET], 'SM-T81[8]!': ['Samsung', 'Galaxy Tab S2 Plus 9.7', DeviceType.TABLET], 'SM-T82[057]!': ['Samsung', 'Galaxy Tab S3 9.7', DeviceType.TABLET], + 'SM-T83[057]!': ['Samsung', 'Galaxy Tab S4 10.5', DeviceType.TABLET], 'SM-T90[05]!': ['Samsung', 'Galaxy Tab Pro 12.2', DeviceType.TABLET] }, @@ -13298,11 +13409,13 @@ exports.ANDROID_MODELS = { 'SC-02G': ['Samsung', 'GALAXY S5 Active SC-02G', { carrier: 'DoCoMo' }], 'SC-02H': ['Samsung', 'Galaxy S7 Edge SC-02H', { carrier: 'DoCoMo' }], 'SC-02J': ['Samsung', 'Galaxy S8 SC-02J', { carrier: 'DoCoMo' }], + 'SC-02K': ['Samsung', 'Galaxy S9 SC-02K', { carrier: 'DoCoMo' }], 'SC-03D': ['Samsung', 'GALAXY S II LTE SC-03D', { carrier: 'DoCoMo' }], 'SC-03E': ['Samsung', 'GALAXY S III α SC-03E', { carrier: 'DoCoMo' }], SC03E: ['Samsung', 'GALAXY S III α SC-03E', { carrier: 'DoCoMo' }], 'SC-03G': ['Samsung', 'GALAXY Tab S 8.4 SC-03G', DeviceType.TABLET, { carrier: 'DoCoMo' }], 'SC-03J': ['Samsung', 'GALAXY S8+ SC-03J', { carrier: 'DoCoMo' }], + 'SC-03K': ['Samsung', 'GALAXY S9+ SC-03K', { carrier: 'DoCoMo' }], 'SC-04D': ['Samsung', 'GALAXY NEXUS SC-04D', { carrier: 'DoCoMo' }], 'SC-04E': ['Samsung', 'GALAXY S4 SC-04E', { carrier: 'DoCoMo' }], 'SC-04F': ['Samsung', 'GALAXY S5 SC-04F', { carrier: 'DoCoMo' }], @@ -13398,7 +13511,7 @@ exports.ANDROID_MODELS = { 'SFR StarTab': ['SFR', 'STARTAB', DeviceType.TABLET], 'Bambook S1': ['Shanda', 'Bambook S1', DeviceType.TABLET], - '[456A]0[0-9]SH!!': { + '[4567A]0[0-9]SH!!': { '401SH': ['Sharp', '401SH', { carrier: 'Softbank' }], '402SH': ['Sharp', 'AQUOS CRYSTAL X 402SH', { carrier: 'Softbank' }], '403SH': ['Sharp', 'AQUOS CRYSTAL 2 403SH', { carrier: 'Softbank' }], @@ -13460,14 +13573,16 @@ exports.ANDROID_MODELS = { SBM306SH: ['Sharp', 'AQUOS CRYSTAL 306SH'] // The U.S. Sprint version (now part of Softbank) }, - '(3|5|6)0[0-9]SH!!': { + '(3|5|6|7)0[0-9]SH!!': { '304SH': ['Sharp', 'AQUOS Xx 304SH', { carrier: 'Softbank' }], '305SH': ['Sharp', 'AQUOS CRYSTAL 305SH', { carrier: 'Softbank' }], '306SH': ['Sharp', 'AQUOS CRYSTAL 306SH'], // The U.S. Sprint version (now part of Softbank) '506SH': ['Sharp', 'AQUOS Xx3 506SH', { carrier: 'Softbank' }], '507SH': ['Sharp', 'Android One 507SH', { carrier: 'Y! Mobile' }], '509SH': ['Sharp', 'シンプルスマホ3 509SH', { carrier: 'Softbank' }], - '605SH': ['Sharp', 'AQUOS R 605SH', { carrier: 'Softbank' }] + '605SH': ['Sharp', 'AQUOS R 605SH', { carrier: 'Softbank' }], + '606SH': ['Sharp', 'AQUOS ea 606SH', { carrier: 'Softbank' }], + '706SH': ['Sharp', 'AQUOS R2 706SH', { carrier: 'Softbank' }] }, SH01D: ['Sharp', 'AQUOS PHONE SH-01D', { carrier: 'DoCoMo' }], @@ -13478,6 +13593,7 @@ exports.ANDROID_MODELS = { 'SH-M02': ['Sharp', 'AQUOS SH-M02'], 'SH-M02-EVA20': ['Sharp', 'AQUOS SH-M02'], 'SH-M03': ['Sharp', 'AQUOS mini SH-M03'], + 'SH-M07': ['Sharp', 'AQUOS sense plus SH-M07'], 'SH-RM02': ['Sharp', 'AQUOS SH-RM02'], 'SH-[01][0-9][A-Z]!!': { @@ -13488,6 +13604,8 @@ exports.ANDROID_MODELS = { 'SH-01FDQ': ['Sharp', 'SH-01F DRAGON QUEST', { carrier: 'DoCoMo' }], 'SH-01G': ['Sharp', 'AQUOS PHONE ZETA SH-01G', { carrier: 'DoCoMo' }], 'SH-01H': ['Sharp', 'AQUOS PHONE ZETA SH-01H', { carrier: 'DoCoMo' }], + 'SH-01J': ['Sharp', 'AQUOS ケータイ SH-01J', { carrier: 'DoCoMo' }], + 'SH-01K': ['Sharp', 'AQUOS sense SH-01K', { carrier: 'DoCoMo' }], 'SH-02D': ['Sharp', 'AQUOS PHONE slider SH-02D', { carrier: 'DoCoMo' }], 'SH-02E': ['Sharp', 'AQUOS PHONE ZETA SH-02E', { carrier: 'DoCoMo' }], 'SH-02F': ['Sharp', 'AQUOS PHONE EX SH-02F', { carrier: 'DoCoMo' }], @@ -13499,6 +13617,7 @@ exports.ANDROID_MODELS = { 'SH-03G': ['Sharp', 'AQUOS ZETA SH-03G', { carrier: 'DoCoMo' }], 'SH-03H': ['Sharp', 'SH-03H', { carrier: 'DoCoMo' }], 'SH-03J': ['Sharp', 'AQUOS R SH-03J', { carrier: 'DoCoMo' }], + 'SH-03K': ['Sharp', 'AQUOS R2 SH-03K', { carrier: 'DoCoMo' }], 'SH-04D': ['Sharp', 'Q-pot.Phone SH-04D', { carrier: 'DoCoMo' }], 'SH-04E': ['Sharp', 'AQUOS PHONE EX SH-04E', { carrier: 'DoCoMo' }], 'SH-04F': ['Sharp', 'AQUOS ZETA SH-04F', { carrier: 'DoCoMo' }], @@ -13577,7 +13696,9 @@ exports.ANDROID_MODELS = { SHV37: ['Sharp', 'AQUOS U SHV37', { carrier: 'au' }], SHV38: ['Sharp', 'AQUOS SERIE mini SHV38', { carrier: 'au' }], SHV39: ['Sharp', 'AQUOS R SHV39', { carrier: 'au' }], - SHV41: ['Sharp', 'AQUOS R compact SHV41', { carrier: 'au' }] + SHV40: ['Sharp', 'AQUOS sense SHV40', { carrier: 'au' }], + SHV41: ['Sharp', 'AQUOS R compact SHV41', { carrier: 'au' }], + SHV42: ['Sharp', 'AQUOS R2 SHV42', { carrier: 'au' }] }, WX04SH: ['Sharp', 'AQUOS PHONE es WX04SH', { carrier: 'Willcom' }], WX05SH: ['Sharp', 'AQUOS PHONE ef WX05SH', { carrier: 'Willcom' }], @@ -13942,6 +14063,7 @@ exports.ANDROID_MODELS = { 'SO-02G': ['Sony', 'Xperia Z3 Compact SO-02G', { carrier: 'DoCoMo' }], // ... 'SO-02H': ['Sony', 'Xperia Z5 Compact SO-02H', { carrier: 'DoCoMo' }], // ... 'SO-02J': ['Sony', 'Xperia X Compact SO-02J', { carrier: 'DoCoMo' }], // ... + 'SO-02K': ['Sony', 'Xperia XZ1 Compact SO-02K', { carrier: 'DoCoMo' }], // ... 'SO-03C': ['Sony Ericsson', 'Xperia ray SO-03C', { carrier: 'DoCoMo' }], // Urushi 'SO-03D': ['Sony Ericsson', 'Xperia acro HD SO-03D', { carrier: 'DoCoMo' }], // Hikari 'SO-03E': ['Sony', 'Xperia Tablet Z SO-03E', DeviceType.TABLET, { carrier: 'DoCoMo' }], // Pollux @@ -13949,6 +14071,7 @@ exports.ANDROID_MODELS = { 'SO-03G': ['Sony', 'Xperia Z4 SO-03G', { carrier: 'DoCoMo' }], 'SO-03H': ['Sony', 'Xperia Z5 Premium SO-03H', { carrier: 'DoCoMo' }], 'SO-03J': ['Sony', 'Xperia XZs SO-03J', { carrier: 'DoCoMo' }], + 'SO-03K': ['Sony', 'Xperia XZ2 SO-03K', { carrier: 'DoCoMo' }], 'SO-04D': ['Sony', 'Xperia GX SO-04D', { carrier: 'DoCoMo' }], // Hayabusa 'SO-04E': ['Sony', 'Xperia A SO-04E', { carrier: 'DoCoMo' }], // Dogo 'SO-04EM': ['Sony', 'Xperia feat. HATSUNE MIKU SO-04E', { carrier: 'DoCoMo' }], @@ -13959,6 +14082,7 @@ exports.ANDROID_MODELS = { 'SO-05D': ['Sony', 'Xperia SX SO-05D', { carrier: 'DoCoMo' }], // Komachi 'SO-05F': ['Sony', 'Xperia Tablet Z2 SO-05F', DeviceType.TABLET, { carrier: 'DoCoMo' }], // Castor 'SO-05G': ['Sony', 'Xperia Tablet Z4 SO-05G', DeviceType.TABLET, { carrier: 'DoCoMo' }], // ... + 'SO-05K': ['Sony', 'Xperia XZ2 Compact SO-05K', { carrier: 'DoCoMo' }], 'SO-07D': ['Sony', 'SO-07D', DeviceType.TABLET, { carrier: 'DoCoMo' }] // ... }, @@ -13976,7 +14100,8 @@ exports.ANDROID_MODELS = { SOV33: ['Sony', 'Xperia X Performance SOV33', { carrier: 'au' }], // ... SOV34: ['Sony', 'Xperia XZ SOV34', { carrier: 'au' }], // ... SOV35: ['Sony', 'Xperia XZs SOV35', { carrier: 'au' }], // ... - SOV36: ['Sony', 'Xperia XZ1 SOV36', { carrier: 'au' }] // ... + SOV36: ['Sony', 'Xperia XZ1 SOV36', { carrier: 'au' }], // ... + SOV37: ['Sony', 'Xperia XZ2 SOV37', { carrier: 'au' }] // ... }, '40[0-9]SO!!': { @@ -13990,7 +14115,13 @@ exports.ANDROID_MODELS = { }, '60[0-9]SO!!': { - '601SO': ['Sony', 'Xperia XZ 601SO', { carrier: 'Softbank' }] // ... + '601SO': ['Sony', 'Xperia XZ 601SO', { carrier: 'Softbank' }], // ... + '602SO': ['Sony', 'Xperia XZs 602SO', { carrier: 'Softbank' }] // ... + }, + + '70[0-9]SO!!': { + '701SO': ['Sony', 'Xperia XZ1 701SO', { carrier: 'Softbank' }], // ... + '702SO': ['Sony', 'Xperia XZ2 702SO', { carrier: 'Softbank' }] // ... }, 'Xperia!!': { @@ -16376,6 +16507,7 @@ exports.ANDROID_MODELS = { '(Xiaomi )?(MI )?MAX 2$!': ['Xiaomi', 'Mi Max 2'], '(Xiaomi )?(MI )?MIX$!': ['Xiaomi', 'Mi MIX'], '(Xiaomi )?(MI )?MIX 2$!': ['Xiaomi', 'Mi MIX 2'], + '(Xiaomi )?(MI )?MIX 2S$!': ['Xiaomi', 'Mi MIX 2S'], '(Xiaomi )?20!!': { '(Xiaomi )?20130(61)!': ['Xiaomi', 'Mi 3'], @@ -16397,13 +16529,14 @@ exports.ANDROID_MODELS = { '(Xiaomi )?(Redmi|HM) ?3X!': ['Xiaomi', 'Redmi 3X'], '(Xiaomi )?(Redmi|HM) ?Pro!': ['Xiaomi', 'Redmi Pro'], '(Xiaomi )?(Redmi|HM) ?4$!': ['Xiaomi', 'Redmi 4'], - '(Xiaomi )?(Redmi|HM) ?4 Prime!': ['Xiaomi', 'Redmi 4 Prime'], - '(Xiaomi )?(Redmi|HM) ?4 Pro!': ['Xiaomi', 'Redmi 4 Pro'], + '(Xiaomi )?(Redmi|HM) ?4 ?Prime!': ['Xiaomi', 'Redmi 4 Prime'], + '(Xiaomi )?(Redmi|HM) ?4 ?Pro!': ['Xiaomi', 'Redmi 4 Pro'], '(Xiaomi )?(Redmi|HM) ?4A!': ['Xiaomi', 'Redmi 4A'], '(Xiaomi )?(Redmi|HM) ?4X!': ['Xiaomi', 'Redmi 4X'], '(Xiaomi )?(Redmi|HM) ?5$!': ['Xiaomi', 'Redmi 5'], '(Xiaomi )?(Redmi|HM) ?5 Plus!': ['Xiaomi', 'Redmi 5 Plus'], '(Xiaomi )?(Redmi|HM) ?5A!': ['Xiaomi', 'Redmi 5A'], + '(Xiaomi )?Redmi[ -]S2$!': ['Xiaomi', 'Redmi S2'], '(Xiaomi )?Redmi[ -]Y1$!': ['Xiaomi', 'Redmi Y1'], '(Xiaomi )?Redmi[ -]Y1 Lite!': ['Xiaomi', 'Redmi Y1 Lite'] }, @@ -16415,7 +16548,9 @@ exports.ANDROID_MODELS = { '(Xiaomi )?Redmi[ -]Note 3 Pro!': ['Xiaomi', 'Redmi Note 3 Pro'], '(Xiaomi )?Redmi[ -]Note ?4$!': ['Xiaomi', 'Redmi Note 4'], '(Xiaomi )?Redmi[ -]Note ?4X!': ['Xiaomi', 'Redmi Note 4X'], - '(Xiaomi )?Redmi[ -]Note ?5A!': ['Xiaomi', 'Redmi Note 5A'] + '(Xiaomi )?Redmi[ -]Note ?5$!': ['Xiaomi', 'Redmi Note 5'], + '(Xiaomi )?Redmi[ -]Note ?5A!': ['Xiaomi', 'Redmi Note 5A'], + '(Xiaomi )?Redmi[ -]Note 5 Pro!': ['Xiaomi', 'Redmi Note 5 Pro'] }, '(Xiaomi |HM)?20!!': { @@ -17414,8 +17549,11 @@ exports.ANDROID_MODELS = { 'ZTE Blade A2 plus': ['ZTE', 'Blade A2 Plus'], 'ZTE Blade A5': ['ZTE', 'Blade A5'], 'ZTE BLADE A5 PRO': ['ZTE', 'Blade A5 Pro'], + 'ZTE BLADE A6': ['ZTE', 'Blade A6'], + 'ZTE BLADE A6 MAX': ['ZTE', 'Blade A6 Max'], 'ZTE BLADE A110': ['ZTE', 'Blade A110'], 'ZTE BLADE A112': ['ZTE', 'Blade A112'], + 'ZTE BLADE A125': ['ZTE', 'Blade A125'], 'ZTE BLADE A210': ['ZTE', 'Blade A210'], 'ZTE BLADE A310': ['ZTE', 'Blade A310'], 'ZTE Blade A315': ['ZTE', 'Blade A315'], @@ -17445,6 +17583,7 @@ exports.ANDROID_MODELS = { 'ZTE BLADE A610': ['ZTE', 'Blade A610'], 'ZTE BLADE A610C': ['ZTE', 'Blade A610C'], 'ZTE BLADE A612': ['ZTE', 'Blade A612'], + 'ZTE BLADE A0620': ['ZTE', 'Blade A620'], 'ZTE BLADE A910': ['ZTE', 'Blade A910'], 'ZTE Blade AF5': ['ZTE', 'Blade AF5'], 'ZTE BLADE B112': ['ZTE', 'Blade B112'], @@ -17494,6 +17633,7 @@ exports.ANDROID_MODELS = { 'ZTE Blade L5 Plus': ['ZTE', 'Blade L5 Plus'], 'ZTE BLADE L0510': ['ZTE', 'Blade L5 Plus'], 'ZTE Blade L6': ['ZTE', 'Blade L6'], + 'ZTE BLADE L7': ['ZTE', 'Blade L7'], 'ZTE BLADE L110': ['ZTE', 'Blade L110'], 'ZTE BLADE L111': ['ZTE', 'Blade L111'], 'ZTE Blade L370': ['ZTE', 'Blade L370'], @@ -17529,6 +17669,7 @@ exports.ANDROID_MODELS = { 'ZTE BLADE V0850': ['ZTE', 'Blade V8 Mini'], 'BLADE V8 SE': ['ZTE', 'Blade V8 SE'], 'ZTE BLADE V0900': ['ZTE', 'Blade V9'], + 'ZTE BLADE V9': ['ZTE', 'Blade V9'], 'ZTE Blade V220': ['ZTE', 'Blade V220'], 'ZTE Blade V580': ['ZTE', 'Blade V580'], 'ZTE Blade V770': ['ZTE', 'Blade V770'], @@ -17704,6 +17845,7 @@ exports.ANDROID_MODELS = { 'ZTE B2016': ['ZTE', 'Axon Mini'], 'ZTE B2017': ['ZTE', 'Axon Mini'], 'ZTE B2017G': ['ZTE', 'Axon Mini'], + 'ZTE B2019G': ['ZTE', 'Axon 7'], 'ZTE C2016': ['ZTE', 'Axon Max'], 'ZTE C2017': ['ZTE', 'Axon Max'], 'ZTE STAR': ['ZTE', 'Star 1'], @@ -17731,7 +17873,9 @@ exports.ANDROID_MODELS = { '009Z': ['ZTE', 'STAR7 009Z', { carrier: 'Softbank' }], '402ZT': ['ZTE', 'Blade Q+ 402ZT', { carrier: 'Softbank' }], '502ZT': ['ZTE', 'Spro 2 502ZT', DeviceType.PROJECTOR, { carrier: 'Softbank' }], + '602ZT': ['ZTE', 'Libero 2 602ZT', { carrier: 'Softbank' }], 'MO-01J': ['ZTE', 'MONO MO-01J', { carrier: 'DoCoMo' }], + 'MO-01K': ['ZTE', 'MONO MO-01K', { carrier: 'DoCoMo' }], ZA400: ['Zonda', 'Mini Colors ZA400'], ZA402: ['Zonda', 'Scratch ZA402'], diff --git a/data/models-firefoxos.js b/data/models-firefoxos.js index e8cea5c..7949710 100644 --- a/data/models-firefoxos.js +++ b/data/models-firefoxos.js @@ -30,6 +30,7 @@ exports.FIREFOXOS_MODELS = { OPEN2: ['ZTE', 'Open II'], 'ALCATEL4044[MNOTVW]!': ['Alcatel', 'Go Flip'], + 'ALCATEL4044C!': ['Alcatel', 'QUICKFLIP'], '.LYF/.F30C!': ['Jio', 'JioPhone F30C'], '.LYF/.F101K!': ['Jio', 'JioPhone F101K'], 'LYF/F30C!': ['Jio', 'JioPhone F30C'], diff --git a/data/models-ios.js b/data/models-ios.js index 4d0d990..cf72fd7 100644 --- a/data/models-ios.js +++ b/data/models-ios.js @@ -92,7 +92,9 @@ exports.IOS_MODELS = { 'iPad7,1': ['Apple', 'iPad Pro (12.9″, 2nd gen)', DeviceType.TABLET], 'iPad7,2': ['Apple', 'iPad Pro (12.9″, 2nd gen)', DeviceType.TABLET], 'iPad7,3': ['Apple', 'iPad Pro (10.5″)', DeviceType.TABLET], - 'iPad7,4': ['Apple', 'iPad Pro (10.5″)', DeviceType.TABLET] + 'iPad7,4': ['Apple', 'iPad Pro (10.5″)', DeviceType.TABLET], + 'iPad7,5': ['Apple', 'iPad (9.7″, 6th gen)', DeviceType.TABLET], + 'iPad7,6': ['Apple', 'iPad (9.7″, 6th gen)', DeviceType.TABLET] }; /* This file is automatically generated, do not edit manually! */ diff --git a/data/models-tizen.js b/data/models-tizen.js index b3c5c46..cd9a8de 100644 --- a/data/models-tizen.js +++ b/data/models-tizen.js @@ -43,10 +43,19 @@ exports.TIZEN_MODELS = { 'SM-R760!': ['Samsung', 'Gear S3', DeviceType.WATCH], 'SM-R765!': ['Samsung', 'Gear S3', DeviceType.WATCH], 'SM-R770!': ['Samsung', 'Gear S3 Classic', DeviceType.WATCH], + 'SM-R805!': ['Samsung', 'Gear S4', DeviceType.WATCH], NX300: ['Samsung', 'NX300', DeviceType.CAMERA], FamilyHub: ['Samsung', 'Family Hub', DeviceType.APPLIANCE], + 'RF10M9995!': ['Samsung', 'Family Hub', DeviceType.APPLIANCE], + 'RF23M8590!': ['Samsung', 'Family Hub', DeviceType.APPLIANCE], + 'RF265BEAE!': ['Samsung', 'Family Hub', DeviceType.APPLIANCE], + 'RF28M9580!': ['Samsung', 'Family Hub', DeviceType.APPLIANCE], + 'RF56M9540!': ['Samsung', 'Family Hub', DeviceType.APPLIANCE], + 'RF85K9993!': ['Samsung', 'Family Hub', DeviceType.APPLIANCE], + 'RF85M95A2!': ['Samsung', 'Family Hub', DeviceType.APPLIANCE], + 'RH81M8090!': ['Samsung', 'Family Hub', DeviceType.APPLIANCE], hawkp: ['Samsung', '"Hawkp"', DeviceType.TELEVISION], diff --git a/data/profiles.js b/data/profiles.js index 99b4cf4..cdc996c 100644 --- a/data/profiles.js +++ b/data/profiles.js @@ -873,6 +873,12 @@ exports.PROFILES = { ], 'http://www-ccpp.tcl-ta.com/files/7048A.xml': ['Alcatel', 'One Touch Go Play', 'Android', DeviceType.MOBILE], 'http://www-ccpp.tcl-ta.com/files/7048X.xml': ['Alcatel', 'One Touch Go Play', 'Android', DeviceType.MOBILE], + 'http://www-ccpp.tcl-ta.com/files/ONE_TOUCH_8020A.xml': [ + 'Alcatel', + 'One Touch Hero', + 'Android', + DeviceType.MOBILE, + ], 'http://www-ccpp.tcl-ta.com/files/ONE_TOUCH_8020E.xml': [ 'Alcatel', 'One Touch Hero', @@ -1706,6 +1712,7 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://www-ccpp.tcl-ta.com/files/4044C.xml': ['Alcatel', 'QUICKFLIP', 'KaiOS', DeviceType.MOBILE], 'http://www-ccpp.tcl-ta.com/files/ALCATEL_TRIBE_3075A.rdf': ['Alcatel', 'Tribe 3075A', null, DeviceType.MOBILE], 'http://uaprof.vmobl.com/PCD/ADR2045-VMUB/1.0/UAProf.xml': ['Alcatel', 'Venture', 'Android', DeviceType.MOBILE], 'http://pluto.alphacell.com/uaprof/m5p.xml': ['AlphaCell', 'M5', null, DeviceType.MOBILE], @@ -2318,6 +2325,7 @@ exports.PROFILES = { DeviceType.MOBILE, ], 'http://uaprof.qma.com.tw/BenQ-A3c.xml': ['Ezcast', 'Dongle', 'Android'], + 'http://mobiwire.com/uaprofile/Telekom_Austria_Group_FP1.xml': ['Fairphone', '1', 'Android', DeviceType.MOBILE], 'http://www.msai.in/uaprof/Lava/Flair%20P2.xml': ['Fairphone', '2', 'Android', DeviceType.MOBILE], 'http://www.c2dms.com/UAProfile/N26/FarEastone_Smart501.xml': [ 'Fareastone', @@ -3262,6 +3270,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://www.htcmms.com.tw/Android/Common/Khlg9cPNZP/ua-profile.xml': [ + 'HTC', + 'Desire 816', + 'Android', + DeviceType.MOBILE, + ], 'http://www.htcmms.com.tw/Android/Common/miKNCjjDHJ/ua-profile.xml': [ 'HTC', 'Desire 816', @@ -3815,6 +3829,12 @@ exports.PROFILES = { 'http://device.sprintpcs.com/HTC/2PQ93-SPRINT/1106511.rdf': ['HTC', 'One (A9)', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/HTC/2PQ93-SPRINT/1576511.rdf': ['HTC', 'One (A9)', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/HTC/2PQ93-SPRINT/1606514.rdf': ['HTC', 'One (A9)', 'Android', DeviceType.MOBILE], + 'http://www.htcmms.com.tw/Android/Common/fJ1ZSlse0F/ua-profile.xml': [ + 'HTC', + 'One (A9)', + 'Android', + DeviceType.MOBILE, + ], 'http://www.htcmms.com.tw/Android/Common/rjXLBq21RC/ua-profile.xml': [ 'HTC', 'One (A9)', @@ -5233,6 +5253,7 @@ exports.PROFILES = { DeviceType.MOBILE, ], 'http://wap1.huawei.com/uaprof/HUAWEI_G7-L01_UAProfile.xml': ['Huawei', 'Ascend G7', 'Android', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/HUAWEI_G7-L02_UAProfile.xml': ['Huawei', 'Ascend G7', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_G7-L03_DRMFL_UAProfile.xml': [ 'Huawei', 'Ascend G7', @@ -6539,7 +6560,14 @@ exports.PROFILES = { 'http://wap1.huawei.com/uaprof/TIT-AL00C583_UAProfile.xml': ['Huawei', 'Enjoy 5', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_TANGO_UAProfile.xml': ['Huawei', 'Enjoy 5S', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_NCE-AL00_UAProfile.xml': ['Huawei', 'Enjoy 6', 'Windows', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/HUAWEI_NCE-TL10_UAProfile.xml': ['Huawei', 'Enjoy 6', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_SLA-TL10_UAProfile.xml': ['Huawei', 'Enjoy 7', 'Android', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/HUAWEI_TRT-TL10A_UAProfile.xml': [ + 'Huawei', + 'Enjoy 7 Plus', + 'Android', + DeviceType.MOBILE, + ], 'http://wap1.huawei.com/uaprof/HUAWEI_TRT-TL10_UAProfile.xml': [ 'Huawei', 'Enjoy 7 Plus', @@ -6583,6 +6611,7 @@ exports.PROFILES = { 'http://wap1.huawei.com/uaprof/HW_KII-L23_DRM_UAProfile.xml': ['Huawei', 'GR5', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HW_KII-L23_UAProfile.xml': ['Huawei', 'GR5', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HW_KII-L23_UAProfile_FL_Only.xml': ['Huawei', 'GR5', 'Android', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/HW_KII-L23_UA_DRM_FL_Profile.xml': ['Huawei', 'GR5', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HW_HUAWEI_H870C.xml': ['Huawei', 'H870C', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HuaweiU8860-51GPRS-Normal.xml': ['Huawei', 'Honor', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HuaweiU8860-51WCDMA-Normal.xml': ['Huawei', 'Honor', 'Android', DeviceType.MOBILE], @@ -7051,6 +7080,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://wap1.huawei.com/uaprof/HUAWEI_HDN-L09_UAProfile.xml': [ + 'Huawei', + 'Honor WaterPlay', + 'Android', + DeviceType.TABLET, + ], 'http://wap1.huawei.com/uaprof/HW_HUAWEI_C8950D_1_20120704.xml': [ 'Huawei', 'Honor+', @@ -7527,6 +7562,14 @@ exports.PROFILES = { 'http://provantage.cleartalk.csky.us/ua/huawei_M886.xml': ['Huawei', 'Mercury', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HuaweiM886-Cricket.xml': ['Huawei', 'Mercury', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_CAZ-TL10_UAProfile.xml': ['Huawei', 'Nova', 'Android', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/HUAWEI_CAZ-TL20_UAProfile.xml': ['Huawei', 'Nova', 'Android', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/HUAWEI_BAC-TL00_UAProfile.xml': [ + 'Huawei', + 'Nova 2 Plus', + 'Android', + DeviceType.MOBILE, + ], + 'http://wap1.huawei.com/uaprof/HUAWEI_VTR-TL00_UAProfile.xml': ['Huawei', 'P10', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_WAS-TL10_UAProfile.xml': [ 'Huawei', 'P10 Lite', @@ -7561,9 +7604,16 @@ exports.PROFILES = { 'http://wap1.huawei.com/uaprof/HW_EVA-CL00_3_20160226.xml': ['Huawei', 'P9', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_VNS-TL00_UAProfile.xml': ['Huawei', 'P9 Lite', 'Windows', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_VNS_AL00_UAProfile.xml': ['Huawei', 'P9 Lite', 'Android', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/HUAWEI_VNS_DL00_UAProfile.xml': ['Huawei', 'P9 Lite', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_VIE-AL10_UAProfile.xml': ['Huawei', 'P9 Plus', 'Android', DeviceType.MOBILE], 'http://uaprof.metropcs.net/UAProf/Huawei-M931.xml': ['Huawei', 'Premia 4G', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HW_HUAWEI_H891L.xml': ['Huawei', 'Pronto', 'Android', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/HuaweiMediaPad_FDR-A04L.xml': [ + 'Huawei', + 'Qua tab 02 HWT31', + 'Android', + DeviceType.MOBILE, + ], 'http://nmsc.ctvap.cn/uaprof/HW/HW_HUAWEI_S8520_1_20110819.xml': ['Huawei', 'S8520', 'Android', DeviceType.MOBILE], 'http://nmsc.ctvap.cn/uaprof/HW/HW_HUAWEI_S8600_1_20110825.xml': ['Huawei', 'S8600', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HuaweiU8650GPRS-Normal.xml': ['Huawei', 'Sonic', 'Android', DeviceType.MOBILE], @@ -7672,6 +7722,7 @@ exports.PROFILES = { ], 'http://wap1.huawei.com/uaprof/HuaweiU8850v100WCDMA.xml': ['Huawei', 'Vision', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_LUNA_UAProfile.xml': ['Huawei', 'Y3 II', 'Android', DeviceType.MOBILE], + 'http://wap1.huawei.com/uaprof/LUA-U03_UAProfile.xml': ['Huawei', 'Y3 II', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/LUA-U22_UAProfile.xml': ['Huawei', 'Y3 II', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/LUA-U23_UAProfile.xml': ['Huawei', 'Y3 II', 'Android', DeviceType.MOBILE], 'http://wap1.huawei.com/uaprof/HUAWEI_CANCUN_UAProfile.xml,http://wap1.huawei.com/uaprof/HUAWEI_CUN_L_UAProfile.xml': [ @@ -8129,6 +8180,7 @@ exports.PROFILES = { 'http://www.1066.cn/uaprof/prof/lava/LAVA_IRIS506Q.xml': ['Lava', 'Iris 506Q', 'Android', DeviceType.MOBILE], 'http://www.msai.in/uaprof/Lava/iris_alfa.xml': ['Lava', 'Iris Alfa', 'Android', DeviceType.MOBILE], 'http://www.msai.in/uaprof/Lava/Iris_Alfa_L.xml': ['Lava', 'Iris Alfa L', 'Android', DeviceType.MOBILE], + 'http://www.msai.in/uaprof/Lava/iris_fuel_10.xml': ['Lava', 'Iris fuel10', 'Android', DeviceType.MOBILE], 'http://www.msai.in/uaprof/Lava/iris_Fuel20.xml': ['Lava', 'Iris fuel20', 'Android', DeviceType.MOBILE], 'http://www.1066.cn/uaprof/prof/Micromax/Micromax_A107.xml': ['Lava', 'Iris fuel50', 'Android', DeviceType.MOBILE], 'http://www.msai.in/uaprof/Lava/Iris%20Fuel60.xml': ['Lava', 'Iris fuel60', 'Android', DeviceType.MOBILE], @@ -8903,6 +8955,7 @@ exports.PROFILES = { 'http://gsm.lge.com/html/gsm/D950-M10-D1-KK.xml': ['LG', 'G Flex', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D950-M10-D1.xml': ['LG', 'G Flex', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D950-M3-D1.xml': ['LG', 'G Flex', 'Android', DeviceType.MOBILE], + 'http://gsm.lge.com/html/gsm/D950G-M10-D1-KK.xml': ['LG', 'G Flex', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D955-M10-D1.xml': ['LG', 'G Flex', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D955-M3-D1-KK.xml': ['LG', 'G Flex', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D955-M3-D1.xml': ['LG', 'G Flex', 'Android', DeviceType.MOBILE], @@ -8924,6 +8977,7 @@ exports.PROFILES = { 'http://device.sprintpcs.com/LG/LS996-SPRINT/LS996ZV8.rdf': ['LG', 'G Flex 2', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/LG/LS996-SPRINT/LS996ZV9.rdf': ['LG', 'G Flex 2', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/LG/LS996-SPRINT/LS996ZVB.rdf': ['LG', 'G Flex 2', 'Android', DeviceType.MOBILE], + 'http://device.sprintpcs.com/LG/LS996-SPRINT/LS996ZVC.rdf': ['LG', 'G Flex 2', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/2D_2BD_BlBeXhXq5/H955-M3-D1.xml': ['LG', 'G Flex 2', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/2D_2BD_BlBeXhXq5/H955-M5-D1.xml': ['LG', 'G Flex 2', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/2D_2BD_BlBeXhXq5/H955-M6-D1.xml': ['LG', 'G Flex 2', 'Android', DeviceType.MOBILE], @@ -8939,6 +8993,7 @@ exports.PROFILES = { 'http://pix.cspire.com/UA/profile/lg/as995/as995.xml': ['LG', 'G Flex 2', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/V410-D1.xml': ['LG', 'G Pad 7.0', 'Android', DeviceType.TABLET], 'http://gsm.lge.com/html/gsm/V410-M10-D1.xml': ['LG', 'G Pad 7.0', 'Android', DeviceType.TABLET], + 'http://gsm.lge.com/html/gsm/V410-M3-D1.xml': ['LG', 'G Pad 7.0', 'Android', DeviceType.TABLET], 'http://gsm.lge.com/html/gsm/V410GO-D1.xml': ['LG', 'G Pad 7.0', 'Android', DeviceType.TABLET], 'http://gsm.lge.com/html/gsm/V490-M3-D1.xml': ['LG', 'G Pad 7.0', 'Android', DeviceType.TABLET], 'http://device.sprintpcs.com/LG/LK430-Chameleon/latest': ['LG', 'G Pad F 7.0', 'Android', DeviceType.TABLET], @@ -8948,6 +9003,7 @@ exports.PROFILES = { 'http://device.sprintpcs.com/LG/LK430-SPRINT/LK430ZV6.rdf': ['LG', 'G Pad F 7.0', 'Android', DeviceType.TABLET], 'http://device.sprintpcs.com/LG/LK430-SPRINT/LK430ZV7.rdf': ['LG', 'G Pad F 7.0', 'Android', DeviceType.TABLET], 'http://gsm.lge.com/html/gsm/iBpgg_0u_ASxAV_F/V495-D1.xml': ['LG', 'G Pad F 7.0', 'Android', DeviceType.TABLET], + 'http://gsm.lge.com/html/gsm/iBpgg_0u_ASxAV_F/V499-D1.xml': ['LG', 'G Pad F 8.0', 'Android', DeviceType.TABLET], 'http://gsm.lge.com/html/gsm/rGTs_Yxuw5wT0ZyW/V495-D1.xml': ['LG', 'G Pad F 8.0', 'Android', DeviceType.TABLET], 'http://gsm.lge.com/html/gsm/TksSP_-GkCHZ7K__/V930-D1.xml': ['LG', 'G Pad X 10.1', 'Android', DeviceType.TABLET], 'http://gsm.lge.com/html/gsm/_-0_bP_4P_s73ov-/V930-D1.xml': ['LG', 'G Pad X 10.1', 'Android', DeviceType.TABLET], @@ -9002,6 +9058,7 @@ exports.PROFILES = { 'http://device.sprintpcs.com/LG/LS770-VIRGIN/LS770ZVA.rdf': ['LG', 'G Stylo', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/LG/LS770-VIRGIN/LS770ZVB.rdf': ['LG', 'G Stylo', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/5uyruBAm__1ZuYMa/H631-M10-D1.xml': ['LG', 'G Stylo', 'Android', DeviceType.MOBILE], + 'http://gsm.lge.com/html/gsm/b7_gceeg_u9fMBZq/H635-M10-D1.xml': ['LG', 'G Stylo', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/b7_gceeg_u9fMBZq/H635-M5-D1.xml': ['LG', 'G Stylo', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/b7_gceeg_u9fMBZq/H635-M6-D1.xml': ['LG', 'G Stylo', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/b7_gceeg_u9fMBZq/H636-M10-D1.xml': ['LG', 'G Stylo', 'Android', DeviceType.MOBILE], @@ -9167,6 +9224,7 @@ exports.PROFILES = { 'http://gsm.lge.com/html/gsm/HD_8T0W9FihEqY5S/D727-M10-D1.xml': ['LG', 'G3 Beat', 'Android', DeviceType.MOBILE], 'http://nmsc.ctvap.cn/uaprof/LG/LG_LG-D729_2_20140627.xml': ['LG', 'G3 Beat', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/F460K-M10-D1.xml': ['LG', 'G3 Cat.6', 'Android', DeviceType.MOBILE], + 'http://gsm.lge.com/html/gsm/F460L-M9-D1.xml': ['LG', 'G3 Cat.6', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/F460S-M10-D1.xml': ['LG', 'G3 Cat.6', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/LG/LS885-Chameleon/latest': ['LG', 'G3 mini', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/LG/LS885-SPRINT/LS885ZV4.rdf': ['LG', 'G3 mini', 'Android', DeviceType.MOBILE], @@ -9189,6 +9247,7 @@ exports.PROFILES = { 'http://gsm.lge.com/html/gsm/D693-M3-D1.xml': ['LG', 'G3 Stylus', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D693n-M10-D1.xml': ['LG', 'G3 Stylus', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D693n-M3-D1.xml': ['LG', 'G3 Stylus', 'Android', DeviceType.MOBILE], + 'http://gsm.lge.com/html/gsm/D693TR-M3-D1.xml': ['LG', 'G3 Stylus', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D693TR-M5-D1.xml': ['LG', 'G3 Stylus', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/RNTp_ElEPgL_QrBQ/D690-M3-D1.xml': ['LG', 'G3 Stylus', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/LG/LS885-SPRINT/LS885ZV6.rdf': ['LG', 'G3 Vigor', 'Android', DeviceType.MOBILE], @@ -9202,6 +9261,7 @@ exports.PROFILES = { 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H810-M10-D1.xml': ['LG', 'G4', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H810-M3-D1.xml': ['LG', 'G4', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H811-M10-D1.xml': ['LG', 'G4', 'Android', DeviceType.MOBILE], + 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H811-M3-D1.xml': ['LG', 'G4', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H812-M10-D1.xml': ['LG', 'G4', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H815-M10-D1.xml': ['LG', 'G4', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H815-M20-D1.xml': ['LG', 'G4', 'Android', DeviceType.MOBILE], @@ -9380,6 +9440,7 @@ exports.PROFILES = { 'http://gsm.lge.com/html/gsm/D335-M3-D1.xml': ['LG', 'L Bello', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/D337-M3-D1.xml': ['LG', 'L Bello', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/RNTp_ElEPgL_QrBQ/D335-M3-D1.xml': ['LG', 'L Bello', 'Android', DeviceType.MOBILE], + 'http://gsm.lge.com/html/gsm/RNTp_ElEPgL_QrBQ/D335-M5-D1.xml': ['LG', 'L Bello', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/U_EOJw1JxwmQJceD/31-M10-D1.xml': ['LG', 'L Bello', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/U_EOJw1JxwmQJceD/D331-M5-D1.xml': ['LG', 'L Bello', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/U_EOJw1JxwmQJceD/D335-M3-D1.xml': ['LG', 'L Bello', 'Android', DeviceType.MOBILE], @@ -9993,6 +10054,7 @@ exports.PROFILES = { 'http://gsm.lge.com/html/gsm/LG-U830.xml': ['LG', 'U830 Chocolate', null, DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/LG-U900.xml': ['LG', 'U900', null, DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/LG-U970.xml': ['LG', 'U970 Shine', null, DeviceType.MOBILE], + 'http://gsm.lge.com/html/gsm/eNsCGw_apwMhnXPM/H901-M3-D1.xml': ['LG', 'V10', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/eNsCGw_apwMhnXPM/H960-M10-D1.xml': ['LG', 'V10', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/eNsCGw_apwMhnXPM/H960-M3-D1.xml': ['LG', 'V10', 'Android', DeviceType.MOBILE], 'http://gsm.lge.com/html/gsm/eNsCGw_apwMhnXPM/H961N-M3-D1.xml': ['LG', 'V10', 'Android', DeviceType.MOBILE], @@ -11262,10 +11324,12 @@ exports.PROFILES = { 'http://nds1.nds.nokia.com/uaprof/Nokia210.2r100.xml': ['Nokia', '210', 'Series40', DeviceType.MOBILE], 'http://nds1.nds.nokia.com/uaprof/Nokia220r100.xml': ['Nokia', '220', 'Series30', DeviceType.MOBILE], 'http://nds1.nds.nokia.com/uaprof/Nokia225r100.xml': ['Nokia', '225', 'Series30', DeviceType.MOBILE], + 'http://useragentprofile.microsoft.com/uaprof/Nokia230r100.xml': ['Nokia', '230', null, DeviceType.MOBILE], 'http://nds1.nds.nokia.com/uaprof/N2322cr100.xml': ['Nokia', '2322 classic', 'Series40', DeviceType.MOBILE], 'http://nds1.nds.nokia.com/uaprof/N2600c-2r100.xml': ['Nokia', '2600 classic', 'Series40', DeviceType.MOBILE], 'http://nds1.nds.nokia.com/uaprof/N2600cr100.xml': ['Nokia', '2600 classic', 'Series40', DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N2610r100.xml': ['Nokia', '2610', 'Series40', DeviceType.MOBILE], + 'http://nds1.nds.nokia.com/uaprof/N2610r100.xml': ['Nokia', '2610', null, DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N2626r100.xml': ['Nokia', '2626', 'Series40', DeviceType.MOBILE], 'http://nds1.nds.nokia.com/uaprof/N2626r100.xml': ['Nokia', '2626', null, DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N2630r100.xml': ['Nokia', '2630', 'Series40', DeviceType.MOBILE], @@ -11331,6 +11395,12 @@ exports.PROFILES = { null, DeviceType.MOBILE, ], + 'http://useragentprofile.hmdglobal.com/uaprof/Nokia33103Gr100.xml': [ + 'Nokia', + '3310 3G', + 'KaiOS', + DeviceType.MOBILE, + ], 'http://nds.nokia.com/uaprof/N3330r100.xml': ['Nokia', '3330', null, DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N3350r100.xml': ['Nokia', '3350', null, DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N3360r100.xml': ['Nokia', '3360', null, DeviceType.MOBILE], @@ -12004,6 +12074,12 @@ exports.PROFILES = { 'http://nds.nokia.com/uaprof/N8801r301.xml': ['Nokia', '8801', 'Series40', DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N8801r400.xml': ['Nokia', '8801', 'Series40', DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N8801r401.xml': ['Nokia', '8801', 'Series40', DeviceType.MOBILE], + 'http://useragentprofile.hmdglobal.com/uaprof/Nokia88104Gr100.xml': [ + 'Nokia', + '8810 4G', + 'KaiOS', + DeviceType.MOBILE, + ], 'http://nds.nokia.com/uaprof/N8910r100.xml': ['Nokia', '8910', null, DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N8910ir100.xml': ['Nokia', '8910i', null, DeviceType.MOBILE], 'http://nds.nokia.com/uaprof/N9110r100.xml': ['Nokia', '9110 Communicator', 'GOES', DeviceType.MOBILE], @@ -12447,6 +12523,7 @@ exports.PROFILES = { 'http://ua.prof.oppo.com/resource/ua-PROF/OPPON1.xml': ['Oppo', 'N1', 'Android', DeviceType.MOBILE], 'http://ua.prof.oppo.com/resource/ua-PROF/OPPON5111.xml': ['Oppo', 'N1 mini', 'Android', DeviceType.MOBILE], 'http://ua.prof.oppo.com/resource/ua-PROF/OPPON5116.xml': ['Oppo', 'N1 mini', 'Android', DeviceType.MOBILE], + 'http://www.oppo.com/resource/UA-PROF/OPPON5110.xml': ['Oppo', 'N1 mini', 'Android', DeviceType.MOBILE], 'http://www.oppo.com/resource/UA-PROF/OPPON5117.xml': ['Oppo', 'N1 mini', 'Android', DeviceType.MOBILE], 'http://www.oppo.com/resource/UA-PROF/OPPON5207.xml': ['Oppo', 'N3', 'Android', DeviceType.MOBILE], 'http://www.oppo.com/resource/UA-PROF/OPPON5209.xml': ['Oppo', 'N3', 'Android', DeviceType.MOBILE], @@ -13946,6 +14023,12 @@ exports.PROFILES = { 'BlackBerry OS', DeviceType.MOBILE, ], + 'http://www.blackberry.net/go/mobile/profiles/uaprof/9570_80211g/6.0.0.rdf': [ + 'RIM', + 'BlackBerry 9570', + 'BlackBerry OS', + DeviceType.MOBILE, + ], 'http://www.blackberry.net/go/mobile/profiles/uaprof/9620_80211g/7.1.0.rdf': [ 'RIM', 'BlackBerry 9620', @@ -15838,6 +15921,7 @@ exports.PROFILES = { 'http://wap.samsungmobile.com/uaprof/GT-B5310.rdf': ['Samsung', 'Corby Pro', 'Touchwiz', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/GT-B5310_3G.rdf': ['Samsung', 'Corby Pro', 'Touchwiz', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/GT-B3210UAProf.xml': ['Samsung', 'Corby TXT', null, DeviceType.MOBILE], + 'http://wap.samsungmobile.com/uaprof/SGH-D980.xml': ['Samsung', 'D980 DuoS', null, DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SGH-T499.xml': ['Samsung', 'Dart', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SGH-I857.xml': ['Samsung', 'DoubleTime', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/GT-I6712BR.xml': ['Samsung', 'Duos TV', 'Touchwiz', DeviceType.MOBILE], @@ -16071,6 +16155,7 @@ exports.PROFILES = { 'http://wap.samsungmobile.com/uaprof/SM-G350.xml': ['Samsung', 'Galaxy Core Plus', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SM-G350BO.xml': ['Samsung', 'Galaxy Core Plus', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SM-G350L.xml': ['Samsung', 'Galaxy Core Plus', 'Android', DeviceType.MOBILE], + 'http://wap.samsungmobile.com/uaprof/SM-G350M.xml': ['Samsung', 'Galaxy Core Plus', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/Samsung/SM-G360P-2012071301/NL8.rdf': [ 'Samsung', 'Galaxy Core Prime', @@ -16293,6 +16378,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SM-G530P-MVNO/QF2.rdf': [ + 'Samsung', + 'Galaxy Grand Prime', + 'Android', + DeviceType.MOBILE, + ], 'http://device.sprintpcs.com/Samsung/SM-G530P-SPRINT/OF8.rdf': [ 'Samsung', 'Galaxy Grand Prime', @@ -16524,6 +16615,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SM-J320P-BOOST/RA1.rdf': [ + 'Samsung', + 'Galaxy J3', + 'Android', + DeviceType.MOBILE, + ], 'http://device.sprintpcs.com/Samsung/SM-J320P-Chameleon/latest': [ 'Samsung', 'Galaxy J3', @@ -16566,6 +16663,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SM-J320P-SPRINT/RA1.rdf': [ + 'Samsung', + 'Galaxy J3', + 'Android', + DeviceType.MOBILE, + ], 'http://device.sprintpcs.com/Samsung/SM-J320P-VIRGIN/OL2.rdf': [ 'Samsung', 'Galaxy J3', @@ -16615,6 +16718,30 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SM-J327P-BOOST/QJ3.rdf': [ + 'Samsung', + 'Galaxy J3 Emerge', + 'Android', + DeviceType.MOBILE, + ], + 'http://device.sprintpcs.com/Samsung/SM-J327P-BOOST/QL3.rdf': [ + 'Samsung', + 'Galaxy J3 Emerge', + 'Android', + DeviceType.MOBILE, + ], + 'http://device.sprintpcs.com/Samsung/SM-J327P-BOOST/RC1.rdf': [ + 'Samsung', + 'Galaxy J3 Emerge', + 'Android', + DeviceType.MOBILE, + ], + 'http://device.sprintpcs.com/Samsung/SM-J327P-Chameleon/latest': [ + 'Samsung', + 'Galaxy J3 Emerge', + 'Android', + DeviceType.MOBILE, + ], 'http://device.sprintpcs.com/Samsung/SM-J327P-SPRINT/PL1.rdf': [ 'Samsung', 'Galaxy J3 Emerge', @@ -16645,6 +16772,18 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SM-J327P-SPRINT/QL3.rdf': [ + 'Samsung', + 'Galaxy J3 Emerge', + 'Android', + DeviceType.MOBILE, + ], + 'http://device.sprintpcs.com/Samsung/SM-J327P-SPRINT/RC1.rdf': [ + 'Samsung', + 'Galaxy J3 Emerge', + 'Android', + DeviceType.MOBILE, + ], 'http://device.sprintpcs.com/Samsung/SM-J327P-VIRGIN/QB6.rdf': [ 'Samsung', 'Galaxy J3 Emerge', @@ -16744,6 +16883,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SM-J727P-BOOST/RC2.rdf': [ + 'Samsung', + 'Galaxy J7 Perx', + 'Android', + DeviceType.MOBILE, + ], 'http://wap.samsungmobile.com/uaprof/SM-G610F.xml': ['Samsung', 'Galaxy J7 Prime', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SM-G610Y.xml': ['Samsung', 'Galaxy J7 Prime', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SGH-N075T.xml': ['Samsung', 'GALAXY J SC-02F', 'Android', DeviceType.MOBILE], @@ -16781,6 +16926,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SPH-L600-MVNO/QA1.rdf': [ + 'Samsung', + 'Galaxy Mega 6.3', + 'Android', + DeviceType.MOBILE, + ], 'http://device.sprintpcs.com/Samsung/SPH-L600-SPRINT/MI6.rdf': [ 'Samsung', 'Galaxy Mega 6.3', @@ -17068,6 +17219,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SPH-L710-BOOSTNC5.rdf': [ + 'Samsung', + 'Galaxy Note 3', + 'Android', + DeviceType.MOBILE, + ], 'http://nmsc.ctvap.cn/uaprof/SCH/SCH_SM-N9009_2_20130829.xml': [ 'Samsung', 'Galaxy Note 3', @@ -17256,6 +17413,7 @@ exports.PROFILES = { 'http://wap.samsungmobile.com/uaprof/SM-N9106W.xml': ['Samsung', 'Galaxy Note 4', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SM-N910A.xml': ['Samsung', 'Galaxy Note 4', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SM-N910C.xml': ['Samsung', 'Galaxy Note 4', 'Android', DeviceType.MOBILE], + 'http://wap.samsungmobile.com/uaprof/SM-N910CPET.xml': ['Samsung', 'Galaxy Note 4', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SM-N910F.xml': ['Samsung', 'Galaxy Note 4', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SM-N910FPTR.xml': ['Samsung', 'Galaxy Note 4', 'Android', DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/SM-N910G.xml': ['Samsung', 'Galaxy Note 4', 'Android', DeviceType.MOBILE], @@ -18514,6 +18672,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SPH-L720-2012083001/PL1.rdf': [ + 'Samsung', + 'Galaxy S4', + 'Android', + DeviceType.MOBILE, + ], 'http://device.sprintpcs.com/Samsung/SPH-L720-500002419/NAE.rdf': [ 'Samsung', 'Galaxy S4', @@ -18646,6 +18810,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SPH-L720T-BOOST/PL1.rdf': [ + 'Samsung', + 'Galaxy S4', + 'Android', + DeviceType.MOBILE, + ], 'http://device.sprintpcs.com/Samsung/SPH-L720T-Chameleon/latest': [ 'Samsung', 'Galaxy S4', @@ -19836,6 +20006,12 @@ exports.PROFILES = { 'Android', DeviceType.MOBILE, ], + 'http://device.sprintpcs.com/Samsung/SM-G930P-SPRINT/QE1.rdf': [ + 'Samsung', + 'Galaxy S7', + 'Android', + DeviceType.MOBILE, + ], 'http://wap.samsungmobile.com/uaprof/SM-G930F.xml': ['Samsung', 'Galaxy S7', 'Android', DeviceType.MOBILE], 'http://device.sprintpcs.com/Samsung/SM-G935P-Chameleon/latest': [ 'Samsung', @@ -20039,6 +20215,12 @@ exports.PROFILES = { 'Android', DeviceType.TABLET, ], + 'http://wap.samsungmobile.com/uaprof/SGH-I497OYA.xml': [ + 'Samsung', + 'Galaxy Tab 2 10.1', + 'Android', + DeviceType.TABLET, + ], 'http://wap.samsungmobile.com/uaprof/GT-P5200.xml': [ 'Samsung', 'Galaxy Tab 3 (10.1)', @@ -20454,6 +20636,12 @@ exports.PROFILES = { 'Android', DeviceType.TABLET, ], + 'http://device.sprintpcs.com/Samsung/SM-T807P-SPRINT/NH1.rdf': [ + 'Samsung', + 'Galaxy Tab S 10.5', + 'Android', + DeviceType.TABLET, + ], 'http://device.sprintpcs.com/Samsung/SM-T807P-SPRINT/NK1.rdf': [ 'Samsung', 'Galaxy Tab S 10.5', @@ -20857,6 +21045,7 @@ exports.PROFILES = { 'http://wap.samsungmobile.com/uaprof/GT-C5510UAProf.xml': ['Samsung', 'GT-C5510', null, DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/GT-C5510UAProf3G.xml': ['Samsung', 'GT-C5510', null, DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/GT-E2152.xml': ['Samsung', 'GT-E2152 Duos', null, DeviceType.MOBILE], + 'http://wap.samsungmobile.com/uaprof/GT-E2152iUAProf.xml': ['Samsung', 'GT-E2152i', null, DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/GT-E2200.xml': ['Samsung', 'GT-E2200', null, DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/GT-E2230UAProf.xml': ['Samsung', 'GT-E2230', null, DeviceType.MOBILE], 'http://wap.samsungmobile.com/uaprof/GT-E2232UAProf.xml': ['Samsung', 'GT-E2232', null, DeviceType.MOBILE], @@ -22150,6 +22339,7 @@ exports.PROFILES = { 'http://uaprof.sonymobile.com/SGP341R1005.xml': ['Sony', 'Xperia Tablet Z', 'Android', DeviceType.TABLET], 'http://uaprof.sonymobile.com/SGP351R1002.xml': ['Sony', 'Xperia Tablet Z', 'Android', DeviceType.TABLET], 'http://uaprof.sonymobile.com/SO-03ER1002.xml': ['Sony', 'Xperia Tablet Z', 'Android', DeviceType.TABLET], + 'http://uaprof.sonymobile.com/SGP412R1401.xml': ['Sony', 'Xperia Tablet Z Ultra', 'Android', DeviceType.TABLET], 'http://uaprof.sonymobile.com/SGP412R1421.xml': ['Sony', 'Xperia Tablet Z Ultra', 'Android', DeviceType.TABLET], 'http://uaprof.sonymobile.com/SGP511R1701.xml': ['Sony', 'Xperia Tablet Z2', 'Android', DeviceType.TABLET], 'http://uaprof.sonymobile.com/SGP512R1701.xml': ['Sony', 'Xperia Tablet Z2', 'Android', DeviceType.TABLET], @@ -23657,6 +23847,7 @@ exports.PROFILES = { 'http://www.zte.com.cn/mobile/uaprof/ZTE_Kis3_max.xml': ['ZTE', 'Kis 3 Max', 'Android', DeviceType.MOBILE], 'http://www.zte.com.cn/mobile/uaprof/ZTE KIS LITE.xml': ['ZTE', 'Kis Lite', 'Android', DeviceType.MOBILE], 'http://www.zte.com.cn/mobile/uaprof/ZTE-KisPro.xml': ['ZTE', 'Kis Pro', 'Android', DeviceType.MOBILE], + 'http://www.zte.com.cn/mobile/uaprof/ZTE_Kis_Q.xml': ['ZTE', 'Kis Q', 'Android', DeviceType.MOBILE], 'http://www.ztemt.com/mobile/uaprof/ZTE_LEO_M1.xml': ['ZTE', 'LEO M1', 'Android', DeviceType.MOBILE], 'http://www.zte.com.cn/mobile/uaprof/ZTE_V765M.xml': ['ZTE', 'LEO Q1', 'Android', DeviceType.MOBILE], 'http://www.ztemt.com/mobile/uaprof/V769M.xml': ['ZTE', 'LEO Q2', 'Android', DeviceType.MOBILE], diff --git a/package-lock.json b/package-lock.json index 043ee67..c8ec1b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "which-browser", - "version": "0.2.8", + "version": "0.3.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 33fc9a8..df7cc96 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "which-browser", - "version": "0.3.0", + "version": "0.3.1", "description": "Browser sniffing tool and UA parser. Browser sniffing gone too far — A useragent parser library for JavaScript", "main": "src/Parser.js", "scripts": { diff --git a/test/data/mobile/os-firefoxos.yaml b/test/data/mobile/os-firefoxos.yaml index 8520287..0cca198 100644 --- a/test/data/mobile/os-firefoxos.yaml +++ b/test/data/mobile/os-firefoxos.yaml @@ -82,43 +82,3 @@ headers: 'User-Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0' result: { browser: { name: 'Firefox Mobile', family: { name: Firefox, version: '34.0' }, version: '34.0', type: browser }, engine: { name: Gecko, version: '34.0' }, os: { name: 'Firefox OS', version: '2.1' }, device: { type: mobile, subtype: smart } } readable: 'Firefox Mobile 34.0 on Firefox OS 2.1' -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; ALCATEL4044M; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0' - readable: 'an Alcatel Go Flip running KaiOS 1.0' - result: { browser: { family: { name: Firefox, version: '37.0' } }, engine: { name: Gecko, version: '37.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '1.0' }, device: { type: mobile, subtype: feature, manufacturer: Alcatel, model: 'Go Flip' } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; ALCATEL4044N; rv:37.0) Gecko/37.0 Firefox/37.0 Kai/1.0' - readable: 'an Alcatel Go Flip running KaiOS 1.0' - result: { browser: { family: { name: Firefox, version: '37.0' } }, engine: { name: Gecko, version: '37.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '1.0' }, device: { type: mobile, subtype: feature, manufacturer: Alcatel, model: 'Go Flip' } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; LYF/F101K/LYF_F101K-000-01-26-181117; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' - readable: 'a JioPhone F101K running KaiOS 2.0' - result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F101K' } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; LYF/F41T/LYF-F41T-000-01-0A-140917; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' - readable: 'a JioPhone F41T running KaiOS 2.0' - result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F41T' } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; LYF/F61F/LYF-F61F-000-01-14-131117_i; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' - readable: 'a JioPhone F61F running KaiOS 2.0' - result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F61F' } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; LYF/F90M/LYF-F90M-000-02-21-131117; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' - readable: 'a JioPhone F90M running KaiOS 2.0' - result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F90M' } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; $LYF/$F30C/$LYF_F30C-000-09-00-270917; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' - readable: 'a JioPhone F30C running KaiOS 2.0' - result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F30C' } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0' - readable: 'KaiOS 1.0' - result: { browser: { family: { name: Firefox, version: '37.0' } }, engine: { name: Gecko, version: '37.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '1.0' }, device: { type: mobile, subtype: feature } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; rv:48.0) Gecko/48.0 Firefox/48.0 KaiOS/2.0' - readable: 'KaiOS 2.0' - result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature } } -- - headers: 'User-Agent: Mozilla/5.0 (Mobile; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5' - readable: 'KaiOS 2.5' - result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.5' }, device: { type: mobile, subtype: feature } } \ No newline at end of file diff --git a/test/data/mobile/os-kaios.yaml b/test/data/mobile/os-kaios.yaml new file mode 100644 index 0000000..37329b5 --- /dev/null +++ b/test/data/mobile/os-kaios.yaml @@ -0,0 +1,40 @@ +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; ALCATEL4044M; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0' + readable: 'an Alcatel Go Flip running KaiOS 1.0' + result: { browser: { family: { name: Firefox, version: '37.0' } }, engine: { name: Gecko, version: '37.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '1.0' }, device: { type: mobile, subtype: feature, manufacturer: Alcatel, model: 'Go Flip' } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; ALCATEL4044N; rv:37.0) Gecko/37.0 Firefox/37.0 Kai/1.0' + readable: 'an Alcatel Go Flip running KaiOS 1.0' + result: { browser: { family: { name: Firefox, version: '37.0' } }, engine: { name: Gecko, version: '37.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '1.0' }, device: { type: mobile, subtype: feature, manufacturer: Alcatel, model: 'Go Flip' } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; LYF/F101K/LYF_F101K-000-01-26-181117; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' + readable: 'a JioPhone F101K running KaiOS 2.0' + result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F101K' } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; LYF/F41T/LYF-F41T-000-01-0A-140917; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' + readable: 'a JioPhone F41T running KaiOS 2.0' + result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F41T' } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; LYF/F61F/LYF-F61F-000-01-14-131117_i; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' + readable: 'a JioPhone F61F running KaiOS 2.0' + result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F61F' } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; LYF/F90M/LYF-F90M-000-02-21-131117; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' + readable: 'a JioPhone F90M running KaiOS 2.0' + result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F90M' } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; $LYF/$F30C/$LYF_F30C-000-09-00-270917; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.0' + readable: 'a JioPhone F30C running KaiOS 2.0' + result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature, manufacturer: Jio, model: 'JioPhone F30C' } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0' + readable: 'KaiOS 1.0' + result: { browser: { family: { name: Firefox, version: '37.0' } }, engine: { name: Gecko, version: '37.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '1.0' }, device: { type: mobile, subtype: feature } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; rv:48.0) Gecko/48.0 Firefox/48.0 KaiOS/2.0' + readable: 'KaiOS 2.0' + result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.0' }, device: { type: mobile, subtype: feature } } +- + headers: 'User-Agent: Mozilla/5.0 (Mobile; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5' + readable: 'KaiOS 2.5' + result: { browser: { family: { name: Firefox, version: '48.0' } }, engine: { name: Gecko, version: '48.0' }, os: { name: KaiOS, family: 'Firefox OS', version: '2.5' }, device: { type: mobile, subtype: feature } } \ No newline at end of file