############### # Device Detector - The Universal Device Detection library for parsing User Agents # # @link https://matomo.org # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later ############### # Ace or ACE France (www.acemobile.fr) Ace: regex: '(?:BUZZ [1-5]|BUZZ 4(?:Pro|S|Lite)|CLEVER [13]|URBAN [123](?: Pro)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'BUZZ ([45]) Ultra' model: 'Buzz $1 Ultra' - regex: 'BUZZ ([45]) Note' model: 'Buzz $1 Note' - regex: 'BUZZ ([45]) Prime' model: 'Buzz $1 Prime' - regex: 'BUZZ 5 Pro Plus' model: 'Buzz 5 Pro+' - regex: 'BUZZ ([45]) ?Pro' model: 'Buzz $1 Pro' - regex: 'BUZZ ([124]) ?Lite' model: 'Buzz $1 Lite' - regex: 'BUZZ ([123]) Plus' model: 'Buzz $1 Plus' - regex: 'BUZZ 4S' model: 'Buzz 4S' - regex: 'BUZZ ([1-5])' model: 'Buzz $1' - regex: 'CLEVER ([13])' model: 'Clever $1' - regex: 'URBAN 1 Pro' model: 'Urban 1 Pro' - regex: 'URBAN ([123])' model: 'Urban $1' # Tunisie Telecom Tunisie Telecom: regex: 'StarTrail TT(?:[);/ ]|$)' device: 'smartphone' model: 'StarTrail by TT' # SFR or SFR Mobile SFR: regex: 'StarShine|StarTrail|STARADDICT|StarText|StarNaute|StarXtrem|StarTab|(?:Android 8(?:[\d.]*);(?: [\w-]+;)? (?:AURA (?:PLUS|ULTRA)|AURA))(?: Build|[;)])' device: 'smartphone' models: - regex: 'StarXtrem II(?:[);/ ]|$)' model: 'StarXtrem 2' - regex: 'StarXtrem ?([3-6])(?:[);/ ]|$)' model: 'StarXtrem $1' - regex: 'StarXtrem(?:[);/ ]|$)' model: 'StarXtrem' # ZTE - regex: 'StarTrail III(?:[);/ ]|$)' model: 'StarTrail 3' - regex: 'StarTrail II(?:[);/ ]|$)' model: 'StarTrail 2' # Huawei Ascend Y200 - regex: 'StarTrail[ _]?([1-9])[ _]([34])G(?:[);/ ]|$)' # ZTE model: 'StarTrail $1 $2G' - regex: 'StarTrail[ _]?([1-9])(?:[);/ ]|$)' model: 'StarTrail $1' - regex: 'StarTrail(?:[);/ ]|$)' model: 'StarTrail' # ZTE - regex: 'AURA PLUS(?:[);/ ]|$)' model: 'Aura Plus' - regex: 'aura ULTRA(?:[);/ ]|$)' model: 'Aura Ultra' - regex: 'AURA(?:[);/ ]|$)' model: 'Aura' - regex: 'StarShine II(?:[);/ ]|$)' model: 'StarShine 2' # ZTE - regex: 'StarShine III(?:[);/ ]|$)' model: 'StarShine 3' - regex: 'StarShine(?:[);/ ]|$)' model: 'StarShine' # Huawei U8180 - regex: 'STARADDICT 6(?:[);/ ]|$)' # Hisense Altice StarAddict 6 model: 'StarAddict 6' - regex: 'STARADDICT 4(?:[);/ ]|$)' model: 'StarAddict 4' - regex: 'STARADDICT III(?:[);/ ]|$)' model: 'StarAddict 3' # Coolpad 8861U - regex: 'STARADDICT II Plus(?:[);/ ]|$)' model: 'StarAddict 2 Plus' # ZTE Grand X - regex: 'STARADDICT II(?:[);/ ]|$)' model: 'StarAddict 2' # Alcatel One Touch 995 - regex: 'STARADDICT(?:[);/ ]|$)' model: 'StarAddict' # ZTE - regex: 'StarText II(?:[);/ ]|$)' model: 'StarText 2' # ZTE - regex: 'StarText(?:[);/ ]|$)' model: 'StarText' # ZTE - regex: 'StarNaute II(?:[);/ ]|$)' model: 'StarNaute 2' # ZTE - regex: 'STARNAUTE ?([1-4])(?:[);/ ]|$)' model: 'StarNaute $1' - regex: 'StarNaute(?:[);/ ]|$)' model: 'StarNaute' # ZTE Amigo - regex: 'StarTab' model: 'StarTab' device: 'tablet' - regex: '((?:StarShine|StarTrail|STARADDICT|StarText|StarNaute|StarXtrem)[^;/]*) Build' model: '$1' # Adronix Adronix: regex: 'Adronix[ _]?(?:MT[0-9]+|X1001|Mini ?Tab ?7 ?3G)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Adronix ?Mini ?Tab ?7 ?3G' model: 'Mini Tab 7 3G' - regex: 'Adronix[ _]?(MT[0-9]+|X1001)(?:[);/ ]|$)' model: '$1' # Cherry Mobile (cherrymobile.com) Cherry Mobile: regex: 'Cherry|Superion[_ ](?:S2|Radar Deluxe|S1 DTV|S1 Plus DTV|Tab Pro)|Flare([ _])?(Selfie|2\.[01]|2X|4|A[123]|J[1235678]|P[13]|S[4-8]|X2|Y[3567]|S[ _]Play|HD|LITE|XL|X_V[23]|Y3s|Tab|INFINITY)(?:[ _](?:Pro|Plus|Max|LTE))?|Fusion Aura 3s|Radar Deluxe 2|Desire R[678]|Desire_R[67]_Lite|Fusion Bolt|Omega[_ ](?:Icon 2|Icon Lite 2|lite[_ ][243][Cs]?|HD[ _][345]|HD_Duo|X)|Spin Max 2|Selfie_Two|Flare X Lite|Flare_5|Android 1.*Aqua S9|MAIA PAD PLUS|COSMOS THREE| Revel 3G|Touch XL 2|DSR_(?:R8|R7P?)|CUBIX CUBE 3' device: 'smartphone' models: - regex: '(Flare2X|Aqua S9(?: (?:Max|Lite|Pro))?)' model: '$1' - regex: 'Flare[_ ]HD[_ ]([345])' model: 'Flare HD $1' - regex: 'Flare_HD_MAX' model: 'Flare HD Max' - regex: 'FLARE LITE' model: 'Flare Lite' - regex: 'Flare[ _]S[ _]Play' model: 'Flare S Play' - regex: 'Flare (2\.[01])' model: 'Flare $1' - regex: 'Flare[_ ]J([2356])S' model: 'Flare J$1s' - regex: 'Flare_([A-Z]\d+)_Prime' model: 'Flare $1 Prime' - regex: 'Flare_([A-Z]\d+)_Deluxe' model: 'Flare $1 Deluxe' - regex: 'Flare[_ ]([A-Z]\d+)[_ ]Power' model: 'Flare $1 Power' - regex: 'Flare[_ ]([A-Z]\d+)[_ ]Pro' model: 'Flare $1 Pro' - regex: 'Flare[_ ]([A-Z]\d+)[_ ]Lite' model: 'Flare $1 Lite' - regex: 'Flare[_ ]([A-Z]\d+)[_ ]Plus' model: 'Flare $1 Plus' - regex: 'Flare XL Plus' model: 'Flare XL Plus' - regex: 'Flare ?J3 ?Plus' model: 'Flare J3 Plus' - regex: 'Flare X Lite' model: 'Flare X Lite' - regex: 'Cherry[_ ]X740' model: 'Flare A5' - regex: 'Flare[ _]X[_ ]V([23])' model: 'Flare X V$1' - regex: 'Flare[ _]XL[_ ]?2' model: 'Flare XL 2' - regex: 'Flare[ _]([A-Z]\d+)[ _]mini' model: 'Flare $1 Mini' - regex: 'Flare_J2_2018' model: 'Flare J2 (2018)' - regex: 'Flare S4 Max LTE' model: 'Flare S4 Max LTE' - regex: 'Flare[_ ]([A-Z]\d+)[_ ]Max' model: 'Flare $1 Max' - regex: 'FlareS5LiteDTV' model: 'Flare S5 Lite DTV' - regex: 'Flare[_ ]J2[_ ]DTV' model: 'Flare S2 DTV' - regex: 'Flare[_ ]INFINITY' model: 'Flare Infinity' - regex: 'Flare[_ ]Lite[_ ]3S' model: 'Flare Lite S3' - regex: 'Flare(?:[ _])?(Selfie|A1_Roam|A[123]|J8 LTE|J1s|J[1235678]|P[13]|S[4-8]|X2|Y3s|Y7_LTE|Y[3567]|[45])' model: 'Flare $1' - regex: 'Touch XL 2' model: 'Touch XL 2' - regex: 'OMEGA[ _]HD[ _]([345])' model: 'Omega HD $1' - regex: 'Omega_HD_Duo' model: 'Omega HD Duo' - regex: 'Omega Icon Lite 2' model: 'Omega Icon Lite 2' - regex: 'Omega Icon 2' model: 'Omega Icon 2' - regex: 'Omega[_ ]Lite[_ ](3[Cs]|[24])' model: 'Omega Lite $1' - regex: 'Omega[_ ]X' model: 'Omega X' - regex: 'Spin Max 2' model: 'Spin Max 2' - regex: 'Selfie_Two' model: 'Selfie Two' - regex: 'Desire[ _]R(\d)[ _]Lite' model: 'Desire R$1 Lite' - regex: 'Desire R6 plus' model: 'Desire R6 Plus' - regex: 'Desire R6' model: 'Desire R6' - regex: 'DSR_R([78])P' model: 'Desire R$1 Plus' - regex: 'DSR_R([78])' model: 'Desire R$1' - regex: 'Desire Eye' model: 'Desire Eye' - regex: 'COSMOS THREE' model: 'Cosmos 3' - regex: 'CUBIX CUBE 3' model: 'Cubix Cube 3' - regex: 'Revel 3G' model: 'Revel 3G' - regex: 'Radar Deluxe 2' model: 'Superion Radar Deluxe 2' device: 'tablet' - regex: 'Superion_S2_Plus' model: 'Superion S2 Plus' device: 'tablet' - regex: 'Superion S1 Plus DTV' model: 'Superion S1 Plus DTV' device: 'tablet' - regex: 'Superion Tab Pro' model: 'Superion Tab Pro' device: 'tablet' - regex: 'Flare Tab Pro V(\d)' device: 'tablet' model: 'Flare Tab Pro V$1' - regex: 'Fusion Aura 3s' device: 'tablet' model: 'Fusion Aura 3S' - regex: 'MAIA PAD PLUS' device: 'tablet' model: 'Maia Pad Plus' - regex: '(Fusion Bolt|Flare Tab Pro|Flare Tab|Superion[_ ](?:S2|Radar Deluxe|S1 DTV))' model: '$1' device: 'tablet' - regex: 'Cherry(?:[ _]?Mobile)?[ _]?([^/;]+)(?: Build|[);])' model: '$1' # HTC (htc.com) HTC: regex: 'HTC|Sprint (?:APA|ATP)|ADR(?!910L)[a-z0-9]+|NexusHD2|Amaze[ _]4G(?:[);/ ]|$)|(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/)]+)(?: Build|\))|(Amaze[ _]4G|(?<!BLU LIFE |ZOPO )One ?[XELSV\+]+)(?:[);/ ]|$)|SPV E6[05]0|(One M8|One Mini 2|X525a|PG86100|PC36100|XV6975|PJ83100|2PYB2|2PS64|2PZC5|0PJA10|0PJA2|HTV33|0PM92|0PCV1|601HT|0PAJ5|HTL2[23]|HTV3[12]|2PQ93|X2-HT|EXODUS 1|ISW13HT|710C|U Ultra|2Q8L10000|2Q55100|2QC9200|2PZC100|2PZF1|2PZM3|2Q6E1|U12 life)(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: '(?:HTC[_ ](?:U-2u|U Play|2PZM3)|2PZM3)(?:[);/ ]|$)' model: 'U Play' - regex: '(?:HTC[_ ]U-1[wu]|2PZF1|U Ultra)(?:[);/ ]|$)' model: 'U Ultra' - regex: '(?:U11 plus|(?:HTC_)?2Q4D[12]00)(?:[);/ ]|$)' model: 'U11 Plus' - regex: '(?:HTC )?(?:U12\+|2Q55[13]00)(?:[);/ ]|$)' model: 'U12 Plus' - regex: 'U(1[12]) life(?:[);/ ]|$)' model: 'U$1 Life' - regex: '2Q6E1(?:[);/ ]|$)' model: 'U12 Life' - regex: '(?:U11 Eyes|2Q4R100)(?:[);/ ]|$)' model: 'U11 Eyes' - regex: 'XV6975(?:[);/ ]|$)' model: 'Imagio' - regex: 'PG86100(?:[);/ ]|$)' model: 'Evo 3G' - regex: 'PC36100(?:[);/ ]|$)' model: 'Evo 4G' - regex: 'HTC[_ ]D628u' model: 'Desire 628 Dual SIM' - regex: '(?:HTC[_ ])?(?:HTV33|601HT|2PZC100|2PZC5|U-3[uw])(?:[);/ ]|$)' model: 'U11' - regex: '(?:HTC_)?(?:801e|802[wdt]|PN071)' model: 'One' - regex: 'PJ83100(?:[);/ ]|$)' model: 'One X' - regex: 'HTC[_ ]PO582(?:[);/ ]|$)' model: 'One Mini' - regex: '(?:HTC_?)?(?:One[ _]?Mini[ _]?2|M8MINx)(?:[);/ ]|$)' model: 'One Mini 2' - regex: 'X2-HT(?:[);/ ]|$)' model: 'One X2' - regex: 'HTC 2PXH3(?:[);/ ]|$)' model: 'One X10' - regex: 'ISW13HT(?:[);/ ]|$)' model: 'J' - regex: 'HTL22(?:[);/ ]|$)' model: 'J One' - regex: '(?:HTC U23 pro|2QC9200)(?:[);/ ]|$)' model: 'U23 Pro' - regex: '(?:HTL23|HTV31)(?:[);/ ]|$)' model: 'J Butterfly' - regex: 'HTCButterflys901s(?:[);/ ]|$)' model: 'Butterfly S' - regex: 'One M9_Prime Camera Edition' model: 'One M9 Prime Camera Edition' - regex: '(?:HTC[_ ])?(?:M9pw|One M9 ?PLUS)(?:[);/ ]|$)' model: 'One M9 Plus' - regex: '(?:HTC[_ ]M9u|0PJA2|0PJA10|HTC One M9|HTC6535LVW)(?:[);/ ]|$)' model: 'One M9' - regex: 'One[ _](X9|[EM]8) dual sim(?:[);/ ]|$)' model: 'One $1 Dual SIM' - regex: 'Desire[ _]([\d\w]+) dual sim(?:[);/ ]|$)' model: 'Desire $1 Dual SIM' - regex: 'HTC(?: One m7|6500LVW|PN071)(?:[);/ ]|$)' model: 'One M7' - regex: '(?:One M8|HTC6525LVW|HTC[_ ]M8[xd]|HTC[_ ]0P6B|HTCOneM8)(?:[);/ ]|$)' model: 'One M8' - regex: 'HTC ?One ?M8 ?Eye(?:[);/ ]|$)' model: 'One M8 Eye' - regex: '(?:HTC_)?(?:0PAJ5|M8Sx)(?:[);/ ]|$)' model: 'One E8' - regex: 'HTC[_ ]E9x(?:[);/ ]|$)' model: 'One E9' - regex: 'HTC[_ ]?(?:One[_ ])?E9(?:pw|PLUS dual sim)(?:[);/ ]|$)' model: 'One E9 Plus' - regex: 'HTC_S9u(?:[);/ ]|$)' model: 'One S9' - regex: 'HTC6515LVW(?:[);/ ]|$)' model: 'One Remix' - regex: 'X525a(?:[);/ ]|$)' model: 'One X+' - regex: '(?:2PQ9(?:3|10)|HTC[_ ]A9u)(?:[);/ ]|$)' model: 'One A9' - regex: 'ADR6300' model: 'Droid Incredible' - regex: 'HTC6435LVW' model: 'Droid DNA' - regex: 'ADR6400L' model: 'ThunderBolt' - regex: 'ADR6410LRA' model: 'Droid Incredible 3' - regex: 'SPV E600' model: 'Excalibur' - regex: 'SPV E650' model: 'Vox' - regex: '2PYB2' model: 'Bolt' - regex: '2PS64|HTC6545LVW|HTC[_ ]M10h' model: '10' - regex: '(710C)(?:[);/ ]|$)' model: 'Desire $1' - regex: '0PM92(?:[);/ ]|$)' model: 'Desire 626S' - regex: '(?:HTC_)?0PCV[12](?:[);/ ]|$)' model: 'Desire 510' - regex: 'HTC ?D160LVW(?:PP)?(?:[);/ ]|$)' model: 'Desire 530' - regex: 'HTC[_ ]D310n(?:[);/ ]|$)' model: 'Desire 310' - regex: 'HTC[_ ]v01(?:[);/ ]|$)' model: 'Desire 320' - regex: '608t(?:[);/ ]|$)' model: 'Desire 608t' - regex: 'HTC_(?:0P9O2|D610x)(?:[);/ ]|$)' model: 'Desire 610' - regex: 'HTC[_ ]?(0P4E[12])(?:[);/ ]|$)' model: 'Desire 601' - regex: 'HTC_?D620h(?:[);/ ]|$)' model: 'Desire 620' - regex: 'HTC[_ ]?(?:D626ph|D200LVWPP)(?:[);/ ]|$)' model: 'Desire 626' - regex: 'HTC_?(?:0P9C2|D816[xd]?)(?:[);/ ]|$)' model: 'Desire 816' - regex: 'HTC_?D526h(?:[);/ ]|$)' model: 'Desire 526' - regex: '2Q8L10000(?:[);/ ]|$)' model: 'Desire 19s' - regex: 'Desire620G(?:[);/ ]|$)' model: 'Desire 620G Dual SIM' - regex: 'EXODUS 1(?:[);/ ]|$)' model: 'Exodus 1' - regex: 'HTC 2Q7A100(?:[);/ ]|$)' model: 'U19e' - regex: 'HTC Desire 10 compact(?:[);/ ]|$)' model: 'Desire 10 Compact' - regex: 'HTC_D10i(?:[);/ ]|$)' model: 'Desire 10 Pro' - regex: 'HTC[ _](?:10[ _]evo|M10f)(?:[);/ ]|$)' model: '10 Evo' - regex: 'HTC Desire (\d+) pro 5G(?:[);/ ]|$)' model: 'Desire $1 Pro 5G' - regex: 'HTC Desire (\d+) pro(?:[);/ ]|$)' model: 'Desire $1 Pro' - regex: 'Desire 10 lifestyle(?:[);/ ]|$)' model: 'Desire 10 Life Style' - regex: 'NexusHD2' # custom rom for hd2 model: 'HD2' - regex: 'HTC[ _-]P715a' device: 'tablet' model: 'P715a' - regex: 'HTC[ _-]Flyer Build' device: 'tablet' model: 'Flyer' - regex: 'HTC[ _-](A10[13]) Plus' device: 'tablet' model: '$1 Plus' - regex: 'HTC[ _-](A10[0123])' device: 'tablet' model: '$1' - regex: 'HTC[ _-]Flyer[ _\-]([\w]{1,5})' device: 'tablet' model: 'Flyer $1' - regex: 'HTC(?:[ _-])?(?:One[ _\-]max|6600LVW|0P3P7)(?:[);/ ]|$)' device: 'phablet' model: 'One Max' - regex: 'USCCHTC(\d+)' model: '$1' - regex: 'Sprint (ATP.*) Build' device: 'tablet' model: '$1 (Sprint)' - regex: 'Sprint (APA.*) Build' model: '$1 (Sprint)' - regex: 'Wildfire (E3) lite' model: 'Wildfire $1 Lite' - regex: 'Wildfire (E2?) plus' model: 'Wildfire $1 Plus' - regex: 'HTC[ _]([^/;]+) [0-9]+(?:\.[0-9]+)+ Build' model: '$1' - regex: 'HTC[ _]([^/;]+) Build' model: '$1' - regex: 'HTC[ _]([a-z0-9]+[ _\-]?(?:[a-z0-9_+\-])*)' model: '$1' - regex: '(?:HTC-)?HTC(?:[-/ ])?([a-z0-9\-_]+)' model: '$1' - regex: 'HTC;(?: )?([a-z0-9 ]+)' model: '$1' - regex: '(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/)]+)(?: Build|[);])' model: '$1 $2' - regex: '(Amaze[ _]4G|One ?[XELSV\+]*) Build' model: '$1' - regex: '(ADR[^;/]+) Build' model: '$1' - regex: '(ADR[a-z0-9]+)' model: '$1' - regex: 'HTV32(?:[);/ ]|$)' model: '10' # microsoft Microsoft: regex: 'KIN\.(One|Two)|RM-(?:1010|1031|106[57]|107[23467]|1089|109[02]|1096|1099|1109|111[348]|1127|1141|115[24]|994)|Microsoft; Lumia|Lumia (?:1530|1320|950|850|650|640|550|535|435)|Corporation/Surface|Surface Duo|Surface 3' device: 'smartphone' models: - regex: 'KIN\.(One|Two)' device: 'feature phone' model: 'Kin $1' - regex: 'RM-1099|Lumia 430' model: 'Lumia 430' - regex: 'RM-1114|Lumia 435' model: 'Lumia 435' - regex: 'RM-1031|Lumia 532' model: 'Lumia 532' - regex: 'Lumia 535 Dual SIM' model: 'Lumia 535 Dual SIM' - regex: 'RM-109[02]|RM-1089|Lumia 535' model: 'Lumia 535' - regex: 'RM-1141|Lumia 540' model: 'Lumia 540' - regex: 'RM-1127|Lumia 550' model: 'Lumia 550' - regex: 'RM-1010' model: 'Lumia 638' - regex: 'Lumia 640 XL LTE' model: 'Lumia 640 XL LTE' device: 'phablet' - regex: 'RM-106[57]|RM-1096|Lumia 640 XL' model: 'Lumia 640 XL' device: 'phablet' - regex: 'Lumia 640 LTE Dual SIM' model: 'Lumia 640 LTE Dual SIM' - regex: 'Lumia 640 LTE' model: 'Lumia 640 LTE' - regex: 'Lumia 640 Dual SIM' model: 'Lumia 640 Dual SIM' - regex: 'RM-1109|RM-1113|RM-107[23467]|Lumia 640' model: 'Lumia 640' - regex: 'RM-1154|Lumia 650' model: 'Lumia 650' - regex: 'RM-1152' model: 'Lumia 650 SS' - regex: 'Lumia 850' model: 'Lumia 850' - regex: 'Lumia 950 XL Dual SIM' model: 'Lumia 950 XL Dual SIM' device: 'phablet' - regex: 'Lumia 950 XL' model: 'Lumia 950 XL' device: 'phablet' - regex: 'Lumia 950 Dual SIM' model: 'Lumia 950 Dual SIM' - regex: 'Lumia 950|RM-1118' model: 'Lumia 950' - regex: 'RM-994|Lumia 1320' model: 'Lumia 1320' - regex: 'Lumia 1530' model: 'Lumia 1530' - regex: 'Surface Book 3' device: 'desktop' model: 'Surface Book 3' - regex: 'Surface Pro( [34])?' device: 'desktop' model: 'Surface Pro$1' - regex: 'Surface Duo 2' device: 'tablet' model: 'Surface Duo 2' - regex: 'Surface Duo' device: 'tablet' model: 'Surface Duo' - regex: 'Surface 3' device: 'tablet' model: 'Surface 3' - regex: 'Microsoft; Lumia ([^;/)]+)(?:[;/)]|$)' model: 'Lumia $1' # NOKIA (www.nokia.com) Nokia: regex: 'Nokia(?!Browser|Webview|; GT-I8750)|Lumia|Maemo RX|portalmmm/2\.0 N7|portalmmm/2\.0 NK|nok[0-9]+|Symbian.*\s([a-z0-9]+)$|RX-51 N900|TA-[0-9]{4}|N(?:1374|1530|15[01256])DL|ARM; 909' device: 'smartphone' models: # Nokia branded phones by HMD Global - regex: 'TA-10(07|23|29|35)' model: '2' - regex: 'TA-10(20|28|32|38)' model: '3' - regex: 'TA-10(24|27|44|53)' model: '5' - regex: 'TA-10(00|03|21|25|33|39|54)' model: '6' - regex: 'TA-1041' model: '7' - regex: 'TA-10(04|12|52)' model: '8' - regex: 'Nokia 8 Sirocco' model: '8 Sirocco' - regex: 'Nokia 7 plus' model: '7 plus' - regex: 'Nokia 6\.1 Plus' model: '6.1 Plus' - regex: 'Nokia 5\.1 Plus' model: '5.1 Plus' - regex: 'Nokia 3\.1 Plus' model: '3.1 Plus' - regex: 'Nokia 1 Plus' model: '1 Plus' - regex: 'Nokia 2 V(?:[);/ ]|$)' model: '2 V Tella' - regex: 'Nokia 8 V 5G UW' model: '8V 5G UW' - regex: 'Nokia[_ ]Xplus' model: 'X+' # Nokia phones - regex: 'N15[26]DL' model: 'C100' - regex: 'N151DL' model: 'C200' - regex: 'N150DL' model: 'G100' - regex: 'N1374DL' model: 'G300 5G' - regex: 'N155DL' model: 'G300' - regex: 'N1530DL' model: 'G400 5G' - regex: 'Nokia ?X2DS' model: 'X2 Dual' - regex: 'RX-51 N900' model: 'N900' - regex: '(?: )?(Nokia500|nokiaasha500(?:dualsim)?)(?: Build|[_);/])' model: 'Asha 500' - regex: 'Nokia5130c(?:-2)?' model: '5130 XpressMusic' - regex: 'Nokia5230' model: 'Nuron' - regex: 'Nokia5233' model: '5233' - regex: 'Nokia5800d-1' model: '5800 XpressMusic' - regex: 'Nokia6210Navigator' model: 'Navigator' - regex: 'Nokia8800e?' model: 'Sapphire Arte' - regex: 'NOKIA-RH-17' model: '2280' - regex: 'NOKIA-RH-27' model: '6225' - regex: 'NOKIA-RH-34' model: '6585' - regex: 'NOKIA-RH-48' model: '3105' - regex: 'NOKIA-RM-11' model: '3205' - regex: 'Nokia808 ?PureView' model: '808 PureView' - regex: 'Nokia ?([0-9]{4})c(?:-)?' model: '$1 Classic' - regex: 'Nokia ?([0-9]{4})s(?:-)?' model: '$1 Slide' - regex: 'Nokia ?([0-9]{4}) V Flip' model: '$1 Flip' - regex: 'Nokia ?([0-9]{4})' model: '$1' - regex: '(?: )?Nokia([235][0-9]{2})(?: Build|[_);/])' model: 'Asha $1' - regex: 'Nokia([CEX]-?[0-9]{1,2}i?)-[0-9]{1,2}u?(?: Build|[_);/])' model: '$1' - regex: 'Nokia;? 520T' model: 'Lumia 520T' - regex: 'RM-91[45]' model: 'Lumia 520' - regex: 'RM-997|Nokia 526' model: 'Lumia 526' - regex: 'RM-846' model: 'Lumia 620' - regex: 'RM-97[68]' model: 'Lumia 630' - regex: 'RM-97[45]' model: 'Lumia 635' - regex: 'RM-1027' model: 'Lumia 636' - regex: 'NOKIA;? 710' model: 'Lumia 710' - regex: 'Nokia;? 720T' model: 'Lumia 720T' - regex: 'RM-885' model: 'Lumia 720' - regex: 'Lumia 730' model: 'Lumia 730' - regex: 'RM-103[89]' model: 'Lumia 735' - regex: 'Nokia;? 800C' model: 'Lumia 800C' - regex: 'Nokia;? 800' model: 'Lumia 800' - regex: 'Nokia 820' model: 'Lumia 820' - regex: 'RM-984' model: 'Lumia 830' - regex: 'Nokia;? 900' model: 'Lumia 900' - regex: '(RM-82[12]|Nokia;? 920)(?: Build|[_);/])' model: 'Lumia 920' - regex: '(RM-89[23]|RM-910|Nokia;? 925)(?: Build|[a_);/])' model: 'Lumia 925' - regex: 'Lumia 929' model: 'Lumia Icon' - regex: 'RM-1045' model: 'Lumia 930' - regex: '(ARM; 909|NOKIA;? 909|NOKIA; id300)(?: Build|[_);/])' model: 'Lumia 1020' - regex: 'NOKIA;? 1520\.1' model: 'Lumia 1520.1' - regex: 'Nokia T([12]0|21)' device: 'tablet' model: 'T$1' - regex: 'Streaming (Stick 800|Box 8000)(?:[);/ ]|$)' device: 'tv' model: 'Streaming $1' - regex: 'Nokia ([A-Za-z0-9\. ]+)(?: Build|\))' model: '$1' - regex: 'Nokia(N[0-9]+)' model: '$1' - regex: 'Nokia-([a-z0-9]+)' model: 'N$1' - regex: 'NOKIA; (?!Qt;)([a-z0-9\- ]+)' model: '$1' - regex: 'NOKIA[ _]?([a-z0-9\-]+)' model: '$1' - regex: 'NOKIA/([a-z0-9 ]+)' model: '$1' - regex: '(Lumia [a-z0-9\-]+ XL)' device: 'phablet' model: '$1' - regex: '(Lumia [a-z0-9\-]+)' model: '$1' - regex: 'Maemo RX-51 ([a-z0-9]+)' model: '$1' - regex: 'Maemo RX-34' model: 'N800' - regex: 'NokiaInternal|Nokia-WAP-Toolkit|Nokia-MIT-Browser|Nokia Mobile|Nokia Browser|Nokia/Series' model: '' - regex: 'portalmmm/2\.0 (N7[37]|NK[a-z0-9]+)' model: '$1' - regex: 'nok([0-9]+)' model: '$1' - regex: 'Symbian.*\s([a-z0-9]+)$' device: 'feature phone' model: '$1' # CnM CnM: regex: 'CnM ' device: 'tablet' models: - regex: 'CnM[ \-](?:Touchpad|TP)[ \-]([0-9\.]+)' model: 'Touchpad $1' # RIM/BlackBerry RIM: regex: 'BB10;|BlackBerry|rim[0-9]+|PlayBook|STV100-[1234]|STH100-[12]|BBA100-[12]|BBB100-[1234567]|BBD100-[126]|BB[EF]100-[123456789]|BB[CGH]100-1' device: 'smartphone' models: - regex: 'BBA100-[12]' model: 'BlackBerry DTEK60' - regex: 'BBB100-[1234567]' model: 'KEYone' - regex: 'BBC100-1' model: 'Aurora' - regex: 'BBD100-[126]|BlackBerry Motion' model: 'Motion' - regex: 'BBE100-[123456789]' model: 'KEY2 LE' - regex: 'BBF100-[1234567]|BlackBerry Key2' model: 'KEY2' - regex: 'BBF100-8' model: 'KEY2 Silver' - regex: 'BBF100-9' model: 'KEY2 Black' - regex: 'BBG100-1' model: 'Evolve' - regex: 'BBH100-1' model: 'Evolve X' - regex: '(?:BlackBerry )?(9000|9790)' model: 'Bold $1' - regex: 'STV100-[1234]' model: 'BlackBerry Priv' - regex: 'STH100-[12]' model: 'BlackBerry DTEK50' - regex: 'BB10; ([a-z0-9\- ]+)\)' model: 'BlackBerry $1' - regex: 'PlayBook.+RIM Tablet OS' model: 'BlackBerry Playbook' device: 'tablet' - regex: 'BlackBerry(?: )?([a-z0-9]+)' model: 'BlackBerry $1' - regex: 'rim([0-9]+)' model: 'BlackBerry $1' - regex: '9300' model: 'Curve 3G 9300' - regex: '(8520|8530|9220|9320|9360)' model: 'Curve $1' - regex: '9630' model: 'Tour 9630' - regex: '9720' model: '9720' - regex: '(9800|9860)' model: 'Torch $1' - regex: 'BlackBerry' model: 'BlackBerry' # Ghia or GHIA (www.ghia.com.mx) Ghia: regex: 'GHIA|QS702|SVEGLIO[ _][QH]1|VECTOR10\.1|GTKIDS7[BVR]?|(?:A7_WF|GTA7(?:WF|PLUS)|VENUS7|TREO_TAB8G?|VECTOR_SLIM|GTAB718|GTABPND|GTABKIDS|GTVR10S|AXIS7_SLIM|AXIS7_LED|4104116N)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SVEGLIO[ _]([QH]1)' model: 'Sveglio $1' device: 'smartphone' - regex: 'QS702' model: 'QS702' device: 'smartphone' - regex: 'GHIA_ZEUS_3G' model: 'Zeus 3G' device: 'smartphone' - regex: 'GHIA[ _](L1)' model: '$1' device: 'smartphone' - regex: 'VECTOR_SLIM' model: 'Vector Slim' - regex: 'GHIA_AXIS7P' model: 'Axis 7P' - regex: 'AXIS7_SLIM' model: 'Axis 7 Slim' - regex: 'AXIS7_LED' model: 'Axis 7 LED' - regex: 'GHIA_AXIS7_3G' model: 'Axis 7 3G' - regex: 'GHIA_AXIS7' model: 'Axis 7' - regex: 'A7_WF' model: 'A7 WiFi' - regex: 'VECTOR10\.1' model: 'Vector 10.1"' - regex: 'GTA7WF' model: 'A7 ROJA' - regex: 'GTA7PLUS' model: 'A7 Plus' - regex: 'TREO_TAB8G' model: 'TREO TAB8G' - regex: 'GTKIDS7[ABVR]?|GTABKIDS' model: 'GT KIDS 7' - regex: 'GTVR10S' model: 'Vector 10.1" Slim' - regex: 'GTABPND' model: 'Kids Panda' - regex: 'VENUS7' model: 'VENUS 7' - regex: '4104116N' model: 'Any Diez.1' - regex: 'GHIA[ _]?(47458|VECTOR_3G)' model: '$1' - regex: '(GTAB718)' model: '$1' # PALM Palm: regex: '(?:Pre|Pixi)/(\d+)\.(\d+)|Palm|Treo|Xiino|PVG100(?:E_RU|E)?(?:[);/ ]|$)' device: 'smartphone' models: - regex: '((?:Pre|Pixi))/(\d+\.\d+)' model: '$1 $2' - regex: 'Palm(?:[ \-])?((?!OS|Source|scape)[a-z0-9]+)' model: '$1' - regex: 'Treo([a-z0-9]+)' model: 'Treo $1' - regex: 'Tungsten' model: 'Tungsten' - regex: 'PVG100' model: 'Pepito' - regex: 'Xiino|Palmscape' # Browser for Palm OS only model: '' # Compaq Compaq: regex: '(?:CT101|CT1085_32GB)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(CT1085)_32GB' model: '$1' - regex: '(CT101)' model: '$1' # HP or Hewlett-Packard HP: regex: 'Hewlett-Packard|HP Engage|HP/HP|HP Chromebook|HP EliteBook|TouchPad/\d+\.\d+|hp-tablet|HP ?iPAQ|webOS.*P160U|HP (?:Pro )?Slate|Slate 21|HP [78]|HP 10 Plus|Compaq [7|8]|HP; [^;/)]+|cm_tenderloin' device: 'smartphone' models: - regex: 'HP Slate 6 Voice Tab' model: 'Slate 6 VoiceTab' device: 'phablet' - regex: 'HP 10 Plus' model: '10 Plus' device: 'tablet' - regex: 'HP ([78][^)/;]*)(?: Build|\))' model: 'Slate $1' device: 'tablet' - regex: 'Slate 21' model: 'Slate 21' device: 'tablet' - regex: 'cm_tenderloin' model: 'Touch 9.7" WiFi' device: 'tablet' - regex: 'Compaq 8200 Elite SFF PC' device: 'desktop' model: 'Compaq 8200 Elite SFF PC' - regex: 'Compaq ([78][^/;]*) Build' model: 'Compaq $1' device: 'tablet' - regex: 'HP Pro Slate 8' model: 'Pro Slate 8' device: 'tablet' - regex: 'HP Slate ?(.+) Build' model: 'Slate $1' device: 'tablet' - regex: 'HP Slate ?([0-9]+)' model: 'Slate $1' device: 'tablet' - regex: 'TouchPad/(\d+\.\d+)|hp-tablet' model: 'TouchPad' device: 'tablet' - regex: 'HP; ([^;/)]+)' model: '$1' - regex: 'HP ?iPAQ ?([a-z0-9]+)' model: 'iPAQ $1' - regex: 'webOS.*(P160U)' model: 'Veer' - regex: 'HP ProBook (6560b)' device: 'desktop' model: 'ProBook $1' - regex: 'Engage One Pro AIO' # monoblock device: 'desktop' model: 'Engage One Pro AIO' - regex: 'Chromebook (11 G5|x360 11 G1 EE|13 G1|x2)' device: 'desktop' model: 'Chromebook $1' - regex: 'HP EliteBook (820 G2|8470p)' device: 'desktop' model: 'EliteBook $1' - regex: 'Z240 Tower Workstation' device: 'desktop' model: 'Z240 Tower Workstation' # TiPhone TiPhone: regex: 'TiPhone ?([a-z0-9]+)' device: 'smartphone' model: '$1' # TiVo (https://www.tivo.com/) TiVo: regex: 'TIVO[ ,-]' device: 'tv' models: - regex: 'STREAM 4K' model: 'Stream 4K' - regex: 'TCD8F6000' model: 'TCD8F6000' - regex: '(?:TiVo|VirginMedia), (?:OnDemand_)?([a-z0-9]+), (?:wired|wireless)' model: '$1' - regex: 'TiVo-([a-z0-9]+)-([a-z0-9]+)' model: '$2' # Apple Apple: regex: '(?:iTunes-)?Apple[ _]?TV|Apple/|(?:Apple-|iTunes-)?(?<!like )(?:iPad|iPhone)(?!\: Build/)|iPh(?:[0-9]|1[0-7]),[0-9]|CFNetwork|HomePod|AirPlay|AirPodcasts/|Watch ?OS|Watch1,[12]|MDCR_Mac|ICRU_iP(?:ad|hone)|Mac OS X[,;]|OSX/|macOS,|for Apple Watch' models: - regex: '(?:HomePod|AirPodcasts/)' device: 'smart speaker' model: 'HomePod' - regex: 'AirPlay' device: 'smart speaker' model: '' # specific wearable devices - regex: 'Watch1,1' device: 'wearable' model: 'Watch 38mm' - regex: 'Watch1,2' device: 'wearable' model: 'Watch 42mm' - regex: 'Watch2,6' device: 'wearable' model: 'Watch Series 1 38mm' - regex: 'Watch2,7' device: 'wearable' model: 'Watch Series 1 42mm' - regex: 'Watch2,3' device: 'wearable' model: 'Watch Series 2 38mm' - regex: 'Watch2,4' device: 'wearable' model: 'Watch Series 2 42mm' - regex: 'Watch3,[13]' device: 'wearable' model: 'Watch Series 3 38mm' - regex: 'Watch3,[24]' device: 'wearable' model: 'Watch Series 3 42mm' - regex: 'Watch5,(?:9|11)' device: 'wearable' model: 'Watch SE 40mm' - regex: 'Watch5,1[02]' device: 'wearable' model: 'Watch SE 44mm' - regex: 'Watch6,1[02]' device: 'wearable' model: 'Watch SE (Gen 2) 40mm' - regex: 'Watch6,1[13]' device: 'wearable' model: 'Watch SE (Gen 2) 44mm' - regex: 'Watch6,1[46]' device: 'wearable' model: 'Watch Series 8 41mm' - regex: 'Watch6,1[57]' device: 'wearable' model: 'Watch Series 8 45mm' - regex: 'Watch6,18' device: 'wearable' model: 'Watch Ultra' - regex: 'Watch7,5' device: 'wearable' model: 'Watch Ultra 2' - regex: 'Watch([456]),[13]' device: 'wearable' model: 'Watch Series $1 40mm' - regex: 'Watch([456]),[24]' device: 'wearable' model: 'Watch Series $1 44mm' - regex: 'Watch6,[68]' device: 'wearable' model: 'Watch Series 7 41mm' - regex: 'Watch6,[79]' device: 'wearable' model: 'Watch Series 7 45mm' - regex: 'Watch7,[13]' device: 'wearable' model: 'Watch Series 9 41mm' - regex: 'Watch7,[24]' device: 'wearable' model: 'Watch Series 9 45mm' - regex: '(:?Apple Watch|watchOS)' device: 'wearable' model: 'Watch' # specific desktop devices - regex: '(?:MDCR_|ICRU_|Apple-)?MacPro1(?:%2C|,)1' device: 'desktop' model: 'Mac Pro (2006)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacPro2(?:%2C|,)1' device: 'desktop' model: 'Mac Pro (2007)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacPro3(?:%2C|,)1' device: 'desktop' model: 'Mac Pro (2008)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacPro4(?:%2C|,)1' device: 'desktop' model: 'Mac Pro (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacPro5(?:%2C|,)1' device: 'desktop' model: 'Mac Pro (2010-2012)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)8' device: 'desktop' model: 'Mac Pro (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac5(?:%2C|,)1' device: 'desktop' model: 'iMac (2006)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac5(?:%2C|,)2' device: 'desktop' model: 'iMac 17" (2006)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac6(?:%2C|,)1' device: 'desktop' model: 'iMac 24" (2006)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac7(?:%2C|,)1' device: 'desktop' model: 'iMac (2007)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac8(?:%2C|,)1' device: 'desktop' model: 'iMac (2008)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac9(?:%2C|,)1' device: 'desktop' model: 'iMac (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac10(?:%2C|,)1' device: 'desktop' model: 'iMac (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac11(?:%2C|,)1' device: 'desktop' model: 'iMac 27" (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac11(?:%2C|,)2' device: 'desktop' model: 'iMac 21.5" (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac11(?:%2C|,)3' device: 'desktop' model: 'iMac 27" (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac12(?:%2C|,)1' device: 'desktop' model: 'iMac 21.5" (2011)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac12(?:%2C|,)2' device: 'desktop' model: 'iMac 27" (2011)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac13(?:%2C|,)1' device: 'desktop' model: 'iMac 21.5" (2012-2013)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac13(?:%2C|,)2' device: 'desktop' model: 'iMac 27" (2012)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac14(?:%2C|,)[13]' device: 'desktop' model: 'iMac 21.5" (2013)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac14(?:%2C|,)2' device: 'desktop' model: 'iMac 27" (2013)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac14(?:%2C|,)4' device: 'desktop' model: 'iMac 21.5" (2014)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac17(?:%2C|,)1' device: 'desktop' model: 'iMac 27" (2015)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac18(?:%2C|,)[12]' device: 'desktop' model: 'iMac 21.5" (2017)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac18(?:%2C|,)3' device: 'desktop' model: 'iMac 27" (2017)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac19(?:%2C|,)1' device: 'desktop' model: 'iMac 27" (2019)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac19(?:%2C|,)2' device: 'desktop' model: 'iMac 21.5" (2019)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac20(?:%2C|,)[12]' device: 'desktop' model: 'iMac 27" (2020)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac21(?:%2C|,)[12]' device: 'desktop' model: 'iMac 24" (2021)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac15(?:%2C|,)[45]' device: 'desktop' model: 'iMac 24" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMacPro1(?:%2C|,)1' device: 'desktop' model: 'iMac Pro 27" (2017)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook1(?:%2C|,)1' device: 'desktop' model: 'MacBook 13" (2006)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook2(?:%2C|,)1' device: 'desktop' model: 'MacBook 13" (2006-2007)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook3(?:%2C|,)1' device: 'desktop' model: 'MacBook 13" (2007)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook[45](?:%2C|,)1' device: 'desktop' model: 'MacBook 13" (2008)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook5(?:%2C|,)2' device: 'desktop' model: 'MacBook 13" (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook6(?:%2C|,)1' device: 'desktop' model: 'MacBook 13" (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook7(?:%2C|,)1' device: 'desktop' model: 'MacBook 13" (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook8(?:%2C|,)1' device: 'desktop' model: 'MacBook 12" (2015)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBook9(?:%2C|,)1' device: 'desktop' model: 'MacBook 12" (2016)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir1(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 13" (2008)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir2(?:%2C|,)1' device: 'desktop' model: 'MacBook Air (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir3(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 11" (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir3(?:%2C|,)2' device: 'desktop' model: 'MacBook Air 13" (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir4(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 11" (2011)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir4(?:%2C|,)2' device: 'desktop' model: 'MacBook Air 13" (2011)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir5(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 11" (2012)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir5(?:%2C|,)2' device: 'desktop' model: 'MacBook Air 13" (2012)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir6(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 11" (2013-2014)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir6(?:%2C|,)2' device: 'desktop' model: 'MacBook Air 13" (2013-2014)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir7(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 11" (2015)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir7(?:%2C|,)2' device: 'desktop' model: 'MacBook Air 13" (2015-2017)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir8(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 13" (2018)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir8(?:%2C|,)2' device: 'desktop' model: 'MacBook Air 13" (2019)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir9(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 13" (2020)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir10(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 13" (2020)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)2' device: 'desktop' model: 'MacBook Air 13" (2022)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)15' device: 'desktop' model: 'MacBook Air 15" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro1(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 15" (2006)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro1(?:%2C|,)2' device: 'desktop' model: 'MacBook Pro 17" (2006)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro2(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 17" (2007)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro2(?:%2C|,)2' device: 'desktop' model: 'MacBook Pro 15" (2007)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro[34](?:%2C|,)1' device: 'desktop' model: 'MacBook Pro (2008)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro5(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 15" (2008)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro5(?:%2C|,)2' device: 'desktop' model: 'MacBook Pro 17" (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro5(?:%2C|,)[34]' device: 'desktop' model: 'MacBook Pro 15" (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro5(?:%2C|,)5' device: 'desktop' model: 'MacBook Pro 13" (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro6(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 17" (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro6(?:%2C|,)2' device: 'desktop' model: 'MacBook Pro 15" (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro7(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 13" (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro8(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 13" (2011)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro8(?:%2C|,)2' device: 'desktop' model: 'MacBook Pro 15" (2011)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro8(?:%2C|,)3' device: 'desktop' model: 'MacBook Pro 17" (2011)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro9(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 15" (2012)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro9(?:%2C|,)2' device: 'desktop' model: 'MacBook Pro 13" (2012)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro10(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 15" (2012-2013)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro10(?:%2C|,)2' device: 'desktop' model: 'MacBook Pro 13" (2012-2013)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro11(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 13" (2013-2014)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro11(?:%2C|,)[23]' device: 'desktop' model: 'MacBook Pro 15" (2013-2014)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro11(?:%2C|,)[45]' device: 'desktop' model: 'MacBook Pro 15" (2015)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro12(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 13" (2015)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro13(?:%2C|,)[12]' device: 'desktop' model: 'MacBook Pro 13" (2016)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro13(?:%2C|,)3' device: 'desktop' model: 'MacBook Pro 15" (2016)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro14(?:%2C|,)[12]' device: 'desktop' model: 'MacBook Pro 13" (2017)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro14(?:%2C|,)3' device: 'desktop' model: 'MacBook Pro 15" (2017)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro15(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 15" (2018-2019)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro15(?:%2C|,)2' device: 'desktop' model: 'MacBook Pro 13" (2018-2019)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro15(?:%2C|,)3' device: 'desktop' model: 'MacBook Pro 15" (2019)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro15(?:%2C|,)4' device: 'desktop' model: 'MacBook Pro 13" (2019)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro16(?:%2C|,)[14]' device: 'desktop' model: 'MacBook Pro 16" (2019)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro16(?:%2C|,)[23]' device: 'desktop' model: 'MacBook Pro 13" (2020)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro17(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 13" (2020)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)7' device: 'desktop' model: 'MacBook Pro 13" (2022)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro18(?:%2C|,)[12]' device: 'desktop' model: 'MacBook Pro 16" (2021)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)(?:6|10)' device: 'desktop' model: 'MacBook Pro 16" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac15(?:%2C|,)(?:[79]|11)' device: 'desktop' model: 'MacBook Pro 16" (2023-2024)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro18(?:%2C|,)[34]' device: 'desktop' model: 'MacBook Pro 14" (2021)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)[59]' device: 'desktop' model: 'MacBook Pro 14" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac15(?:%2C|,)(?:[368]|10)' device: 'desktop' model: 'MacBook Pro 14" (2023-2024)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini1(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2006)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini2(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2007)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini3(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2009)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini4(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2010)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini5(?:%2C|,)[123]' device: 'desktop' model: 'Mac Mini (2011)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini6(?:%2C|,)[12]' device: 'desktop' model: 'Mac Mini (2012)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini7(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2014)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini8(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2018)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini9(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2020)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)(?:3|12)' device: 'desktop' model: 'Mac mini (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerMac7(?:%2C|,)2' device: 'desktop' model: 'Power Macintosh G5 (2003)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerMac7(?:%2C|,)3' device: 'desktop' model: 'Power Macintosh G5 (2004-2005)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerMac8(?:%2C|,)2' device: 'desktop' model: 'iMac G5 (2005)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerMac10(?:%2C|,)1' device: 'desktop' model: 'Mac Mini G4 (2005)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerMac12(?:%2C|,)1' device: 'desktop' model: 'iMac G5 (2005)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerBook5(?:%2C|,)6' device: 'desktop' model: 'PowerBook G4 (2005)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerBook6(?:%2C|,)7' device: 'desktop' model: 'iBook G4 (2005)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac13(?:%2C|,)[12]' device: 'desktop' model: 'Mac Studio (2022)' - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)1[34]' device: 'desktop' model: 'Mac Studio (2023)' # specific smartphone devices - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?1[C,_]1' model: 'iPhone' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?1[C,_]2' model: 'iPhone 3G' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?2[C,_]1| 3GS\)$' model: 'iPhone 3GS' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?3[C,_][123]' model: 'iPhone 4' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?4[C,_]1|1C2%254enohPi| 4S\)$' model: 'iPhone 4S' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?5[C,_][12]| 5\)$' model: 'iPhone 5' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?5[C,_][34]' model: 'iPhone 5C' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?6[C,_][12]|(?:iPhone[ _]?5S| 5S)(?:[);/ ]|$)' model: 'iPhone 5S' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?7[C,_]1|1C2%257enohPi|(?:iPhone[ _]?6Plus| 6PLUS)(?:[);/ ]|$)' model: 'iPhone 6 Plus' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?7[C,_]2|(?:iPhone[ _]?6| 6)(?:[);/ ]|$)' model: 'iPhone 6' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?8[C,_]1|(?:iPhone[ /]?6s| 6S)(?:[);/ ]|$)' model: 'iPhone 6s' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?8[C,_]2| 6SPLUS\)$' model: 'iPhone 6s Plus' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?8[C,_]4|(?:iPhoneSE| SE)(?:[);/ ]|$)' model: 'iPhone SE' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?9[C,_][24]|(?:iPhone[ _]?7Plus| 7PLUS)(?:[);/ ]|$)' model: 'iPhone 7 Plus' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?9[C,_][13]|(?:iPhone[ _]?7 ?| 7)(?:[);/ ]|$)' model: 'iPhone 7' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?10[C,_][25]|(?:iPhone[ _]?8Plus| 8PLUS)(?:[);/ ]|$)' model: 'iPhone 8 Plus' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?10[C,_][14]|(?:iPhone[ _]?8| 8)(?:[);/ ]|$)' model: 'iPhone 8' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?11[C,_][46]|(?:iPhone[ _]?XS[ _]?Max| XSMAX)(?:[);/ ]|$)' model: 'iPhone XS Max' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?11[C,_]2|(?:iPhone[ _]?XS| XS)(?:[);/ ]|$)' model: 'iPhone XS' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?11[C,_]8|(?:iPhone[ _]?XR| XR)(?:[);/ ]|$)' model: 'iPhone XR' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?10[C,_][36]|(?:iPhone[ _]?X| X)(?:[);/ ]|$)' model: 'iPhone X' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?12[C,_]5|(?:iPhone[ _]?11[ _]?Pro[ _]?Max| 11PROMAX)(?:[);/ ]|$)' model: 'iPhone 11 Pro Max' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?12[C,_]3|(?:iPhone[ _]?11[ _]?Pro| 11PRO)(?:[);/ ]|$)' model: 'iPhone 11 Pro' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?12[C,_]1|(?:iPhone[ _]?11| 11)(?:[);/ ]|$)' model: 'iPhone 11' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?12[C,_]8|(?:iPhone SE 2|iPhoneSE2ndGen| SE2)(?:[);/ ]|$)' model: 'iPhone SE (2020)' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]1|(?:iPhone12mini| 12MINI)(?:[);/ ]|$)' model: 'iPhone 12 Mini' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]4|(?:iPhone[ _]?12[ _]?Pro[ _]?Max| 12PROMAX)(?:[);/ ]|$)' model: 'iPhone 12 Pro Max' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]3|(?:iPhone[ _]?12[ _]?Pro| 12PRO)(?:[);/ ]|$)' model: 'iPhone 12 Pro' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]2|(?:iPhone[ _]?12| 12)(?:[);/ ]|$)' model: 'iPhone 12' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]3|(?:iPhone[ _]?13[ _]?Pro[ _]?Max| 13PROMAX)(?:[);/ ]|$)' model: 'iPhone 13 Pro Max' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]2|(?:iPhone[ _]?13[ _]?Pro| 13PRO)(?:[);/ ]|$)' model: 'iPhone 13 Pro' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]4|(?:iPhone[ _]?13[ _]?mini| 13MINI)(?:[);/ ]|$)' model: 'iPhone 13 Mini' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]5|(?:iPhone[ _]?13| 13)(?:[);/ ]|$)' model: 'iPhone 13' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]6|(?:iPhoneSE3ndGen| SE3)(?:[);/ ]|$)' model: 'iPhone SE (2022)' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]3|(?:iPhone[ _]?14[ _]?Pro[ _]?Max| 14PROMAX)(?:[);/ ]|$)' model: 'iPhone 14 Pro Max' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]2|(?:iPhone[ _]?14[ _]?Pro| 14PRO)(?:[);/ ]|$)' model: 'iPhone 14 Pro' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]8|(?:iPhone[ _]?14[ _]?Plus| 14PLUS)(?:[);/ ]|$)' model: 'iPhone 14 Plus' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]7|(?:iPhone[ _]?14| 14)(?:[);/ ]|$)' model: 'iPhone 14' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?16[C,_]2|(?:iPhone[ _]?15[ _]?Pro[ _]?Max| 15PROMAX)(?:[);/ ]|$)' model: 'iPhone 15 Pro Max' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?16[C,_]1|(?:iPhone[ _]?15[ _]?Pro| 15PRO)(?:[);/ ]|$)' model: 'iPhone 15 Pro' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]5|(?:iPhone[ _]?15[ _]?Plus| 15PLUS)(?:[);/ ]|$)' model: 'iPhone 15 Plus' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]4|(?:iPhone[ _]?15| 15)(?:[);/ ]|$)' model: 'iPhone 15' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?17[C,_]2|(?:iPhone[ _]?16[ _]?Pro[ _]?Max| 16PROMAX)(?:[);/ ]|$)' model: 'iPhone 16 Pro Max' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?17[C,_]1|(?:iPhone[ _]?16[ _]?Pro| 16PRO)(?:[);/ ]|$)' model: 'iPhone 16 Pro' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?17[C,_]4|(?:iPhone[ _]?16[ _]?Plus| 16PLUS)(?:[);/ ]|$)' model: 'iPhone 16 Plus' device: 'phablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?17[C,_]3|(?:iPhone[ _]?16| 16)(?:[);/ ]|$)' model: 'iPhone 16' device: 'phablet' # specific tablet devices - regex: '(?:MDCR_|ICRU_|Apple-)?iPad1[C,_]1' model: 'iPad' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad2[C,_][1-4]' model: 'iPad 2' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad2[C,_][567]' model: 'iPad Mini' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad3[C,_][123]' model: 'iPad 3' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad3[C,_][456]' model: 'iPad 4' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad4[C,_][123]' model: 'iPad Air' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad4[C,_][456]' model: 'iPad Mini 2' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad4[C,_][789]' model: 'iPad Mini 3' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad5[C,_][12]' model: 'iPad Mini 4' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad5[C,_][34]|(?:iPad Air 2 \(WiFi\))(?:[);/ ]|$)' model: 'iPad Air 2' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad6[C,_][34]' model: 'iPad Pro 9.7' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad6[C,_][78]' model: 'iPad Pro 12.9' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad6[C,_](?:11|12)' model: 'iPad 5 9.7' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad7[C,_][12](?:[\]);/ ]|$)' model: 'iPad Pro 2 12.9' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad7[C,_][34](?:[\]);/ ]|$)' model: 'iPad Pro 10.5' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad7[C,_][56]|(?:iPad 6 \(WiFi\))(?:[);/ ]|$)' model: 'iPad 6 9.7' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad7[C,_](?:11|12)(?:[\]);/ ]|$)' model: 'iPad 7 10.2' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad8[C,_](?:9|10)|(?:iPad Pro \(11-inch\) \(4th generation\))(?:[);/ ]|$)' model: 'iPad Pro 2 11"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad13[C,_]4|(?:iPad Pro 11 inch 5th Gen \(WiFi\))(?:[);/ ]|$)' model: 'iPad Pro 3 11" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad13[C,_][5-7]' model: 'iPad Pro 3 11"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad8[C,_]1[12]' model: 'iPad Pro 4 12.9"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad8[C,_][12]' model: 'iPad Pro 3 11.0 WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad8[C,_][34]|(?:iPad Pro 11-inch 3rd-gen \(Cellular\))(?:[);/ ]|$)' model: 'iPad Pro 3 11.0' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad8[C,_][5-8]' model: 'iPad Pro 3 12.9' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad11[C,_][12]' model: 'iPad Mini 5' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad11[C,_][34]' model: 'iPad Air 3' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad11[C,_][67]' model: 'iPad 8 10.2"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad12[C,_]1|(?:iPad 9th Gen \(WiFi\))(?:[);/ ]|$)' model: 'iPad 9 10.2" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad12[C,_]2|(?:iPad 9th Gen \(Cellular\))(?:[);/ ]|$)' model: 'iPad 9 10.2"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad13[C,_]8' model: 'iPad Pro 5 12.9" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad13[C,_](?:9|10|11)' model: 'iPad Pro 5 12.9"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad13[C,_]16' model: 'iPad Air 5 WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad13[C,_]17' model: 'iPad Air 5' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad13[C,_]1|(?:iPad Air 4th Gen \(WiFi\))(?:[);/ ]|$)' model: 'iPad Air 4 WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad13[C,_]2' model: 'iPad Air 4' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]10' model: 'iPad Air 7 13" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]11' model: 'iPad Air 7 13"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]1|(?:iPad mini 6th Gen \(WiFi\))(?:[);/ ]|$)' model: 'iPad Mini 6 WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]2' model: 'iPad Mini 6' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]3' model: 'iPad Pro 4 11" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]4' model: 'iPad Pro 4 11"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]5' model: 'iPad Pro 6 12.9" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]6' model: 'iPad Pro 6 12.9"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]8' model: 'iPad Air 6 11" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad14[C,_]9' model: 'iPad Air 6 11"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad16[C,_]3' model: 'iPad Pro 5 11" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad16[C,_]4' model: 'iPad Pro 5 11"' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad16[C,_]5' model: 'iPad Pro 7 13" WiFi' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad16[C,_]6' model: 'iPad Pro 7 13"' device: 'tablet' - regex: 'Apple-?TV2[C,_]1' model: 'Apple TV 2' device: 'tv' - regex: 'Apple-?TV3[C,_][12]' model: 'Apple TV 3' device: 'tv' - regex: 'Apple-?TV5[C,_]3|Apple TV 4' model: 'Apple TV 4' device: 'tv' - regex: 'Apple-?TV6[C,_]2' model: 'Apple TV 4K' device: 'tv' - regex: 'Apple-?TV11[C,_]1' model: 'Apple TV 4K (2021)' device: 'tv' - regex: '(?:iTunes-)?Apple[ _]?TV' model: 'Apple TV' device: 'tv' - regex: 'iTunes-iPad/[0-9]+(?:\.[0-9]+)* \(([^;]+);' model: 'iPad $1' device: 'tablet' - regex: '(?:MDCR_|ICRU_|Apple-)?iPad' model: 'iPad' device: 'tablet' - regex: 'iTunes-iPhone/[0-9]+(?:\.[0-9]+)* \(([^;]+);' model: 'iPhone $1' device: 'smartphone' - regex: '(?:Apple-)?iPhone ?(3GS?|4S?|5[CS]?|6(:? Plus)?)?' model: 'iPhone $1' device: 'smartphone' # micromax (https://micromaxinfo.com/) MicroMax: regex: '(?:MicroMax[ \-\_]?[a-z0-9]+|Q327)|4560MMX|P70221|(?:YU(?:5012|5040|5530)|AQ5001(?: Canvas Power)?|Android 4(?:[\d.]*);(?: [\w-]+;)? A240|Android 8(?:[\d.]*);(?: [\w-]+;)? B5Pro|Bharat 5|N8216|N8301|IN_2[bc]|IN_Note1|ione note|E7446|E7533)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AQ5001 Canvas Power' model: 'Canvas Power' - regex: 'AQ5001' model: 'Canvas Juice 2' - regex: 'A240(?:[);/ ]|$)' model: 'Canvas Doodle 2' - regex: 'A107(?:[);/ ]|$)' model: 'Canvas Fire 4' - regex: 'Q465(?:[);/ ]|$)' model: 'Canvas Juice 4' - regex: 'E451(?:[);/ ]|$)' model: 'Canvas Pulse' - regex: '4560MMX(?:[);/ ]|$)' model: '4560MMX' - regex: 'IN_2b(?:[);/ ]|$)' model: 'IN 2B' - regex: 'IN_2c(?:[);/ ]|$)' model: 'IN 2C' - regex: 'E6523(?:[);/ ]|$)' model: 'IN 1B' - regex: 'AQ4502(?:[);/ ]|$)' model: 'Canvas A1' - regex: 'E453(?:[);/ ]|$)' model: 'Canvas Evok Note' - regex: 'E481(?:[);/ ]|$)' model: 'Canvas 5' - regex: 'Q462(?:[);/ ]|$)' model: 'Canvas 5 Lite' - regex: 'P70221(?:[);/ ]|$)' model: 'Canvas Tab' device: 'tablet' - regex: 'Q(3[25]7|30[13]|326|354|338|3[03]01)(?:[);/ ]|$)' model: 'Bolt Q$1' - regex: 'Q417' model: 'Canvas Mega' - regex: 'Q350R' model: 'Canvas Magnus 2 Plus' - regex: 'Q480' model: 'Canvas Space 2' - regex: 'Q380' model: 'Canvas Spark' - regex: 'Q351' model: 'Canvas Spark 2 Pro' - regex: 'Q350' model: 'Canvas Spark 2 Plus' - regex: 'Q349' model: 'Canvas Selfie 4' - regex: 'Q402\+' model: 'Bolt Pace' - regex: 'Q409' model: 'Spark 4G (2017)' - regex: 'Q415' model: 'Canvas Pace' - regex: 'Q340' model: 'Selfie 2' - regex: 'YU5040(?:[);/ ]|$)' model: 'YU Yureka YU5040' - regex: 'YU5012(?:[);/ ]|$)' model: 'Yunique 2 Plus' - regex: 'YU5530(?:[);/ ]|$)' model: 'YU Yureka S YU5530' - regex: 'Q424' model: 'Bolt Selfie' - regex: 'Q4101' model: 'Bolt Warrior 1 Plus' - regex: 'Q352' model: 'Bolt Supreme 4' - regex: '(?:Micromax_)?(Q333|S302|Q324)' model: 'Bolt $1' - regex: 'Q306' model: 'Bolt Prime 3G' - regex: 'Q402 ?Plus' model: 'Bharat 2 Plus' - regex: 'Q426' model: 'Canvas Mega 2' - regex: 'N8216' model: 'Infinity N11' - regex: 'N8301' model: 'Infinity N12' - regex: 'Micromax[_ ]HS3(?:[);/ ]|$)' model: 'Canvas Infinity Pro' - regex: 'Micromax[_ ]HS2(?:[);/ ]|$)' model: 'Canvas Infinity' - regex: 'Micromax[_ ]HS1(?:[);/ ]|$)' model: 'Canvas Infinity Lite' - regex: 'Q440Plus(?:[);/ ]|$)' model: 'Q440 Plus' - regex: 'Micromax[_ ]Q353P(?:[);/ ]|$)' model: 'Q353 Plus' - regex: 'Q452(?:[);/ ]|$)' model: 'Spark 4G Prime' - regex: 'Q4601(?:[);/ ]|$)' model: 'Selfie 2 Note' - regex: 'Q421(?:[);/ ]|$)' model: 'Canvas Magnus HD' - regex: 'E313(?:[);/ ]|$)' model: 'Canvas Xpress 2' - regex: 'Q413(?:[);/ ]|$)' model: 'Canvas Xpress' - regex: 'Q4251(?:[);/ ]|$)' model: 'Vdeo 4' - regex: 'Micromax C1A(?:[);/ ]|$)' model: 'Canvas 1 (2018)' - regex: 'C2APLS(?:[);/ ]|$)' model: 'Canvas 2 Plus' - regex: 'Bharat[ _](\d)[ _]Pro(?:[);/ ]|$)' model: 'Bharat $1 Pro' - regex: 'Bharat[ _](\d)[ _]Plus(?:[);/ ]|$)' model: 'Bharat $1 Plus' - regex: 'Bharat (\d)(?:[);/ ]|$)' model: 'Bharat $1' - regex: 'ione note(?:[);/ ]|$)' model: 'iOne Note' - regex: 'IN_Note1(?:[);/ ]|$)' model: 'IN Note 1' - regex: 'E7446(?:[);/ ]|$)' model: 'IN Note 2' - regex: 'E7533(?:[);/ ]|$)' model: 'IN 1b' - regex: 'B5Pro(?:[);/ ]|$)' model: 'B5 Pro' - regex: 'MicroMax(?:[ _-])?(P681|P802)(?:[);/ ]|$)' model: 'Canvas Tab $1' device: 'tablet' - regex: 'MicroMax(?:[ _-])?(X291|X246|X252|X458|X312)' model: '$1' device: 'feature phone' - regex: 'MicroMax(?:[ _-])?(P[a-z0-9]+)' model: '$1' device: 'tablet' - regex: 'MicroMax(?:[ _-])?([a-z0-9]+)' model: '$1' # 3Q 3Q: regex: 'AC0731B|AC1024C|AC7803C|BC9710AM|EL72B|LC0720C|LC0723B|LC0725B|LC0804B|LC0808B|LC0809B|LC0810C|LC0816C|LC0901D|LC1016C|MT0724B|MT0729[BD]|MT0811B|OC1020A|RC07(?:09B|10B|18C|19H|2[16]B|22C|27H|34H|43H)|RC0817C|RC1018C|RC1019G|RC1025F|RC1301C|RC780[24]F|RC9711B|RC9712C|RC9716B|RC9717B|RC9724C|RC9726C|RC9727F|RC9730C|RC9731C|TS0807B|TS1013B|VM0711A|VM1017A|RC0813C|QS9719D|QS9718C|QS9715F|QS1023H|QS0815C|QS0730C|QS0728C|QS0717D|QS0716D|QS0715C|MT7801C|TS9708B|AC0732C|MT0739D|MT0812E|(?:3Q_)?ER71B' device: 'tablet' models: - regex: 'MT0724B|LC0901D|LC0816C|LC0810C|LC0809B|LC0808B|LC0804B|LC0725B|LC0723B' model: 'Qoo! P-Pad' - regex: 'VM1017A|TS1013B|TS0807B|RC9731C|RC9730C|RC9727F|RC9726C|RC9724C|RC9717B|RC9716B|RC9712C|RC9711B|RC1301C|RC1025F|RC1019G|RC1018C|RC0817C|RC0813C|RC0743H|RC0734H|RC0726B|RC0722C|RC0721B|RC0719H|RC0718C|RC0710B|RC0709B|QS9715F|QS1023H|QS0815C|QS0730C|QS0728C|QS0717D|QS0716D|QS0715C|MT0811B|MT0739D|MT0729[BD]|LC1016C|LC0720C|BC9710AM|AC1024C|AC0731B' model: 'Qoo! Q-Pad' - regex: 'MT7801C|QS9718C|QS9719D|VM0711A|OC1020A' model: 'Qoo! Surf' - regex: 'TS9708B' model: 'Surf TS1009B' - regex: 'AC7803C|AC0732C|RC0727H' model: 'Qoo! Lite' - regex: 'MT0812E|RC7802F' model: 'Qoo! Meta' - regex: 'EL72B|(?:3Q_)?ER71B' model: 'Qoo! Q-Book' - regex: '(RC7804F)' model: 'Qoo! Glaze' # 4Good 4Good: regex: '4Good[ _]|S450m [43]G|S555m 4G|S501m 3G|T700i_3G|People (?:G503|G410|GT300)|Light (?:A10[34]|B100|AT300)|Light_AT200' device: 'smartphone' models: - regex: '(T700i|T100m|T70[34]m)[_ ]?3G' model: '$1 3G' device: 'tablet' - regex: 'Light[_ ](AT[23]00)' model: 'Light $1' device: 'tablet' - regex: 'People (GT300|AT100)' model: 'People $1' device: 'tablet' - regex: 'S555m[_ ]4G' model: 'People' - regex: '(S(?:450m|501m)[_ ][43]G|Light (?:A10[34]|B100)|People (?:G503|G410))' model: '$1' - regex: 'KIDS S45' model: 'Kids S45' - regex: '4Good[ _]([^);/]+)(?: Build|[);])' model: '$1' # Acteck Acteck: regex: 'BLECK|AT723C(?:[);/ ]|$)' device: 'tablet' models: - regex: 'AT723C' model: 'Aikun AT723C' - regex: 'BLECK' model: 'Bleck' # Alba Alba: regex: 'Alba ?(?:7Q|10Q|57|4|10 TABLET|(?:[78]|10)(?:Nou|Pie))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Alba 57' model: '5.7' - regex: 'Alba (4)' model: '$1' - regex: '10 TABLET' device: 'tablet' model: '10 Tablet' - regex: 'Alba((?:[78]|10)(?:Nou|Pie)|7Q|10Q)' device: 'tablet' model: '$1' # AllCall AllCall: regex: 'AllCall_|Heat[34]|SHINE 12T?|(?:Rio_X|S5500)(?:[);/ ]|$)|Hot ?[125][^;/]+ Build' device: 'smartphone' models: - regex: 'SHINE 12T' model: 'Shine 12T' - regex: 'SHINE 12 PRO' model: 'Shine 12 Pro' - regex: 'SHINE 12' model: 'Shine 12' - regex: 'AllCall_(Alpha|Atom|Bro|Madrid)' model: '$1' - regex: 'AllCall_S1_X' model: 'S1 X' - regex: 'AllCall_S1' model: 'S1' - regex: 'AllCall_RIO_S' model: 'Rio S' - regex: 'AllCall_RIO_PRO' model: 'Rio Pro' - regex: 'AllCall_RIO' model: 'Rio' - regex: 'Heat([34])' model: 'Heat $1' - regex: 'Rio_X(?:[);/ ]|$)' model: 'Rio X' - regex: '(S5500)(?:[);/ ]|$)' model: '$1' - regex: 'Hot ?([125][^;/]+) Build' model: 'Hot $1' # Bravis Bravis: regex: 'Bravis[ _]|A501 Bright|A552 JOY Max|A504 Trace|A505 JOY Plus|A503 Joy|NB(?:106M|10[1-8]|751|7[145]|8[57]1|76)|NP101|NB961|NP 104 3G|B501|N1-570 Space|Atlas A551|A511 Harmony|A512 Harmony Pro|A510_Jeans_4G|A509_Jeans|N1_550_Cruiser|N1_551 Gloss' device: 'smartphone' models: - regex: 'A501 BRIGHT' model: 'A501 Bright' - regex: 'Bravis[_ ]X500' model: 'Trace Pro' - regex: 'Bravis[_ ]A506' model: 'Crystal' - regex: 'Bravis[_ ]A553' model: 'Discovery' - regex: 'BRAVIS[ _]TAU' model: 'Tau' - regex: 'BRAVIS[ _]DELTA' model: 'Delta' - regex: 'BRAVIS[ _]TREND' model: 'Trend' - regex: 'B501' model: 'Easy' - regex: 'N1-570' model: 'Space' - regex: 'BRAVIS[ ]A554' model: 'A554 Grand' - regex: 'BRAVIS[ ]S500' model: 'S500 Diamond' - regex: 'A505 JOY Plus' model: 'A505 Joy Plus' - regex: 'A552 JOY Max' model: 'A552 Joy Max' - regex: 'Atlas A551' model: 'A551 Atlas' - regex: 'A503 Joy' model: 'A503 Joy' - regex: 'A504 Trace' model: 'A504 Trace' - regex: 'A512 Harmony Pro' model: 'A512 Harmony Pro' - regex: 'A511 Harmony' model: 'A511 Harmony' - regex: 'A510_Jeans_4G' model: 'A510 Jeans 4G' - regex: 'A509_Jeans' model: 'A509 Jeans' - regex: 'BRAVIS NEO' model: 'A401 Neo' - regex: 'N1_550_Cruiser' model: 'N1-550 Cruiser' - regex: 'N1_551 Gloss' model: 'N1-551 Gloss' - regex: 'BRAVIS OMEGA' model: 'Omega' - regex: 'BRAVIS BIZ' model: 'Biz' - regex: 'BRAVIS POWER' model: 'Power' - regex: 'BRAVIS[ _]SPARK' model: 'Spark' - regex: 'BRAVIS[ _]SLIM[ _]3G' model: 'Slim 3G' device: 'tablet' - regex: 'NP 104 3G' model: 'NP104 3G' device: 'tablet' - regex: 'BRAVIS NP 103' model: 'NP103' device: 'tablet' - regex: 'BRAVIS NP 747 SD' model: 'NP747 SD' device: 'tablet' - regex: 'BRAVIS NP 844' model: 'NP844' device: 'tablet' - regex: 'Bravis[_ ]([^;\)]+) Build' model: '$1' - regex: '(NB(?:106M|10[1-8]|75[134]|7[145]|8[57]1|76)|NP101|NB961)' model: '$1' device: 'tablet' # Brigmton Brigmton: regex: 'BTPC-' device: 'smartphone' models: - regex: 'BTPC-1022QC3G-TV' model: 'BTPC-1022QC3G-TV' device: 'tablet' # Acer (acer.com) Acer: regex: 'acer|ACTAB|TravelMate|(?<!Satellite |ZTE BLADE |ImSmart |ERGO |X-Style Tab )(?<!Optima 7 )a(?:101|110|2[10]0(?! Pro)|211|50[10]|51[10]|70[10])(?:[);/ ]|$)|Android.*V3[67]0(?:[);/ ]|$)|Android.*Z1[23456]0 Build|Android.*Z5\d{2} Build|Android.*T0[234678] Build|Android 5(?:[\d.]*);(?: [\w-]+;)? S59|android [45]([\d.]*);(?: [\w-]+;)? S55(?! Nova)(?:[);/ ]|$)|(?:A1-(713(HD)?|7[23]4|830|841|840(?:FHD)?|81[01])|A3-A[1-5][01]|B1-(7[1235-9][01](HD)?|7[23]3|7A0|8[1235]0|A71|860A)|TPA60W|B3-(A[125]0|A3[02]|A40FHD)|E39)(?:[);/ ]|$)|S5[12]0 Build|(DA[0-9]+HQ?L|Aspire (?:V5-121|XC-704G|V5-573G|4349)|Chromebook 14 \(CB3-431\)|Predator G9-793|GT-810|B1-870|B3-A20B|M10-12(?:_EEA)?|B3-A4[02]|android 4([\d.]*);(?: [\w-]+;)? Z500|B3-A50FHD|ET-108-11A|AC?TAB(?:721E?|1422E|821|1021(?:E|_A)|1022)|A3-A20FHD|E380|Swift SF113-31|A410_4G|EUT[13]10A?-11A)(?:[);/ ]|$)' device: 'smartphone' models: # smart displays - regex: 'DA220HQL(?:[);/ ]|$)' model: 'DA220HQL' device: 'smart display' - regex: 'DA241HL(?:[);/ ]|$)' model: 'DA241HL' device: 'smart display' - regex: '(DA[0-9]+HQ?L)(?:[);/ ]|$)' model: '$1' device: 'smart display' # explicit tablet models - regex: 'A410_4G' model: 'A410 4G' device: 'tablet' - regex: 'M10-12(?:_EEA)?' model: 'BattleZone LTE' device: 'tablet' - regex: 'A1-81[01]' model: 'Iconia A' device: 'tablet' - regex: 'ATAB(102[12]|721|1422)E' model: 'ATAB$1E' device: 'tablet' - regex: 'ACTAB1021(?:_A)?' model: 'ACTAB1021' device: 'tablet' - regex: 'ACTAB(821|1022)' model: 'ACTAB$1' device: 'tablet' - regex: 'ET-108-11A' model: 'Enduro T1' device: 'tablet' - regex: 'TPA60W' model: 'TPA60W' device: 'tablet' - regex: 'A1-84(1|0(?:FHD)?)' model: 'Iconia Tab 8' device: 'tablet' - regex: 'A1-713(HD)?' model: 'Iconia Tab 7' device: 'tablet' - regex: 'A1-830' model: 'Iconia A1' device: 'tablet' - regex: 'A1-7[23]4' model: 'Iconia Talk S' device: 'tablet' - regex: 'A3-A20FHD' device: 'tablet' model: 'Iconia A3 FHD' - regex: 'A3-A[12][01]' model: 'Iconia A3' device: 'tablet' - regex: 'A3-A[345]0' model: 'Iconia Tab 10' device: 'tablet' - regex: 'B1-7(?:[5-9]0|30HD|A0)' model: 'Iconia One 7' device: 'tablet' - regex: 'B1-7[123][01]|B1-A71' model: 'Iconia B1' device: 'tablet' - regex: 'B1-7[23]3' model: 'Iconia Talk 7' device: 'tablet' - regex: 'B1-8[123567]0' model: 'Iconia One 8' device: 'tablet' - regex: 'B3-A([125]0|3[02]|[45]0FHD|4[02])' model: 'Iconia One 10' device: 'tablet' - regex: 'A101' model: 'Vangogh' device: 'tablet' - regex: 'A200' model: 'Picasso E' device: 'tablet' - regex: 'A50[01]' model: 'Picasso' device: 'tablet' - regex: 'Acer One 7 4G' model: 'One 7 4G' device: 'tablet' - regex: 'Acer One 7' model: 'One 7' device: 'tablet' - regex: 'GT-810' model: 'Predator 8' device: 'tablet' - regex: '(ACTAB721)' model: '$1' device: 'tablet' - regex: 'Acer_one_8_T2' model: 'One 8 T2' device: 'tablet' - regex: 'One 8 T4-82L' model: 'One 8 T4-82L' device: 'tablet' - regex: 'EUT([13])10A?-11A' model: 'ENDURO Urban T$1' device: 'tablet' # explicit smartphone models - regex: 'E39(?:[);/ ]|$)' model: 'Liquid E700' - regex: 'E310(?:[);/ ]|$)' model: 'Liquid Mini' - regex: 'E320(?:-orange)?(?:[);/ ]|$)' model: 'Liquid Express' - regex: 'Android.*V360(?:[);/ ]|$)' model: 'Liquid E1 Duo' - regex: 'Android.*V370(?:[);/ ]|$)' model: 'Liquid E2 Duo' - regex: 'E380(?:[);/ ]|$)' model: 'Liquid E3' - regex: 'S510(?:[);/ ]|$)' model: 'Liquid S1' - regex: 'S520(?:[);/ ]|$)' model: 'Liquid S2' - regex: '(?:Acer_)?P400(?:[);/ ]|$)' model: 'neoTouch P400' - regex: '(?:Acer_)?P300(?:[);/ ]|$)' model: 'neoTouch P300' - regex: '(?:Acer_)?S200(?:[);/ ]|$)' model: 'neoTouch S200' - regex: '(?:Acer_)?E100(?:[);/ ]|$)' model: 'beTouch E100' - regex: 'Android.*Z1([234])0(?:[);/ ]|$)' model: 'Liquid Z$1' - regex: 'Android.*Z110(?:[);/ ]|$)' model: 'Liquid Z110' - regex: 'Android.*Z150(?:[);/ ]|$)' model: 'Liquid Z5 Duo' - regex: 'Android.*Z160(?:[);/ ]|$)' model: 'Liquid Z4 Duo' - regex: 'Android.*Z(5\d{2})(?:[);/ ]|$)' model: 'Liquid Z$1' - regex: 'Android.*S57(?:[);/ ]|$)' model: 'Liquid Jade Z' - regex: 'Android.*T02(?:[);/ ]|$)' model: 'Liquid Z530' - regex: 'Android.*T03(?:[);/ ]|$)' model: 'Liquid Z630' - regex: 'Android.*T04(?:[);/ ]|$)' model: 'Liquid Z630S' - regex: 'Android.*T06(?:[);/ ]|$)' model: 'Liquid Zest' - regex: 'Android.*T07(?:[);/ ]|$)' model: 'Liquid Zest 4G' - regex: 'Android.*T08(?:[);/ ]|$)' model: 'Liquid Zest Plus' - regex: 'TM01(?:[);/ ]|$)' model: 'Liquid M330' - regex: 'M220(?:[);/ ]|$)' model: 'Liquid M220' - regex: 'AcerTD600' model: 'TD600' - regex: 'S55(?:[);/ ]|$)' model: 'Liquid Jade' - regex: 'S59(?:[);/ ]|$)' model: 'Liquid X2' # desktop models - regex: '(?:Acer )?(Chromebook R1[13])' model: '$1' device: 'desktop' - regex: 'TravelMate Spin (B118-G2-R)' model: 'TravelMate Spin $1' device: 'desktop' - regex: 'TravelMate (P653-M|5760G|8371|B118-M)' model: 'TravelMate $1' device: 'desktop' - regex: '(?:Acer )?(Chromebook 1[45])' model: '$1' device: 'desktop' - regex: 'Aspire (V5-121|XC-704G|V5-573G|A515-51G|4349|E5-511)' model: 'Aspire $1' device: 'desktop' - regex: '(Predator G9-793|Swift SF113-31)' model: '$1' device: 'desktop' - regex: 'a(101|110|2[10]0|211|50[10]|51[10]|70[10])(?:[);/ ]|$)' model: 'Iconia Tab A$1' device: 'tablet' - regex: 'Acer; ?([^;()/]+)' model: '$1' - regex: 'Acer(?! ?inc)[ _-]?([^;)/]+)(?: Build|[;)])' model: '$1' - regex: 'acer[_-]([a-z0-9]+)' model: '$1' # Advan or advan digital (https://www.advan.id/) Advan: regex: '(?:ADVAN (?:M4|S40|T5C)|i7U|S45E|S50H|I7D|i55[KD]|i4U|S7D|S4Z|i5[KE]|S5E[ _]NXT|S5J\+|S4\+|1011|E1C_3G|ADVANNASAPro)(?:[);/ ]|$)| (?:E1C Pro|5505|5202|50(?:[46]1|5[89]|62)|600[234]|6[25]01|Android [56](?:[\d.]*);(?: [\w-]+;)? (?:i5C|i7A)|i5G|E1C 3G)(?: Build|[;)])' device: 'smartphone' models: - regex: 'ADVAN M4' model: 'M4' - regex: 'ADVAN S40' model: 'S40' - regex: 'i7U' model: 'I Lite i7U' - regex: 'S5E[ _]NXT' model: 'S5E NXT' - regex: 'i(55[KD]|5[KE])' model: 'I$1' - regex: 'i4U' model: 'I4U' - regex: '5505(?:[);/ ]|$)' model: 'NASA Plus' - regex: 'ADVANNASAPro(?:[);/ ]|$)' model: 'NASA Pro' - regex: '5202(?:[);/ ]|$)' model: 'NASA' - regex: '6201(?: Build|[;)])' model: 'G5' - regex: '6501(?: Build|[;)])' model: 'G5 Elite' - regex: 'i5G(?: Build|[;)])' model: 'S50 4G' - regex: '6004(?: Build|[;)])' model: 'G2 Pro' - regex: '6002(?: Build|[;)])' model: 'G3 Pro' - regex: '(S45E|50[46]1|505[89]|5062|S50H|I7D|S7D|S4Z|S5J\+|S4\+|i5C)(?:[);/ ]|$)' model: '$1' - regex: 'E1C[_ ]3G' device: 'tablet' model: 'E1C 3G' - regex: 'E1C Pro' device: 'tablet' model: 'E1C Pro' - regex: '(T5C|i7A)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'ADVAN 1011(?:[);/ ]|$)' device: 'tablet' model: 'Sketsa 2' # Advance (advanceperu.com) Advance: regex: 'Hollogram|(?:HL(?:4[79]36|6246|5576|5585|[56]575|5[67]67|6[05]77|6256|7257|9000)|IntroTr3544|Pr(?:61(?:4[56]|50)|60[27]0|5[69]50|5860)|Tr3845|TR7989|SP[345]701)(?:[);/ ]|$)' device: 'smartphone' models: # explicit table models - regex: 'IntroTr3544|Tr3845' model: 'Intro' device: 'tablet' - regex: 'TR7989' model: 'TR7989' device: 'tablet' - regex: 'SP([345]701)' model: 'SmartPad SP$1' device: 'tablet' - regex: 'Pr(61(?:4[56]|50)|60[27]0|5[69]50|5860)' model: 'Prime PR$1' device: 'tablet' # explicit smartphone models - regex: 'HL(4[79]36|6246|[56]575|5576|5585|5[67]67|6[05]77|6256|7257|9000)' model: 'Hollogram HL$1' - regex: 'Hollogram ([^;/)]+)(?: Build|[;)])' model: 'Hollogram $1' # AGM (agm.tel or www.agmmobile.com) AGM: regex: 'AGM[ _]([^/;)]+)(?: Build|[;)])|AG[_ ]Go[_-]Tab|(?:Flair(?! \w\d)|(?<!STX )Ultra 2|Freedom Access)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AG[_ ]Go[_-]Tab[_ ]Access(_2)?(?:[);/ ]|$)' device: 'tablet' model: 'Go Tab Access$1' - regex: '(Flair|Ultra 2|Freedom Access)(?:[);/ ]|$)' model: '$1' - regex: 'AGM A9(?:[);/ ]|$)' model: 'A9' - regex: 'AGM_H3(?:[);/ ]|$)' model: 'H3' - regex: 'AGM_H5_PRO(?:[);/ ]|$)' model: 'H5 Pro' - regex: 'AGM[_ ]PAD[_ ]P([12])(?:[);/ ]|$)' device: 'tablet' model: 'Pad P$1' - regex: 'AGM[ _]([^/;)]+)(?: Build|[;)])' model: '$1' # Airis Airis: regex: 'AIRIS|PhonePAD 83G' device: 'smartphone' models: - regex: 'TM50QZ(?:[);/ ]|$)' model: 'TM50QZ' - regex: 'PhonePAD 83G' device: 'tablet' model: 'PhonePAD 83G' # Airness Airness: regex: 'AIRNESS-([\w]+)' device: 'feature phone' model: '$1' # Airpha Airpha: regex: '(?:Halo3_Pro|Halo4 Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Halo([34])[ _]Pro' model: 'Halo$1 Pro' # Aiwa (aiwa.mx eu-aiwa.com) Aiwa: regex: '(?:AW790|M300(?! 4G)|AWM(?:53[39]|50[19]|561|999)|AW500|Android 7(?:[\d.]*);(?: [\w-]+;)? Z9 PLUS|JA2-SMP0601|AWTX6)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AW790(?:[);/ ]|$)' model: 'AW790' - regex: 'Z9 PLUS' model: 'Z9 Plus' - regex: 'AW500(?:[);/ ]|$)' model: 'AW500' - regex: 'AWM(53[39]|50[19]|561|999)(?:[);/ ]|$)' model: 'AWM$1' - regex: '(JA2-SMP0601)(?:[);/ ]|$)' model: '$1' - regex: 'M300(?:[);/ ]|$)' model: 'M300' device: 'phablet' - regex: 'AWTX6' model: 'AWTX6' device: 'tv' # Akai Akai: regex: 'Akai[ _\-,]|LGE; (?:ALT|AK)[a-z0-9]+;|Eco[ _]E2|Glory[ _](?:G[1235]|L[123]|O[125])|(?:TAB-[79]8[03]0Q?|X[56] METAL|AKTB-703MZ|FZ70[13]|X5_PRO|X3[_ ]PRO[_ ]SLIM|iLike U5 Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TAB-([79]8[03]0Q?)' device: 'tablet' model: 'TAB $1' - regex: 'AKTB-703MZ' device: 'tablet' model: 'AKTB-703MZ' - regex: '(FZ70[13])' device: 'tablet' model: '$1' - regex: 'X([56]) METAL' model: 'iLike X$1 Metal' - regex: 'X3[_ ]PRO[_ ]SLIM' model: 'iLike X3 Pro Slim' - regex: 'X5_PRO' model: 'iLike X5 Pro' - regex: 'iLike U5 Pro' model: 'iLike U5 Pro' - regex: 'Glory[ _](G[1235]|L[123]|O[125])' model: 'Glory $1' - regex: 'Eco[ _]E2' model: 'Eco E2' - regex: 'AKAI\-v\.tv\.([0-9]{4})' device: 'tv' model: 'Smart TV ($1)' - regex: 'Akai[ _-]([^;/)]+)(?: Build|[;)])' model: '$1' - regex: 'AKAI,(AK3219NF)' device: 'tv' model: '$1' - regex: 'LGE; ((?:ALT|AK)[a-z0-9]+);' device: 'tv' model: '$1' - regex: 'Si2157LG32' device: 'tv' model: '' # Arian Arian Space: regex: 'Arian Space' device: 'tablet' models: - regex: '100 ST1004PG' model: '100' - regex: '80 SS8003PG' model: '80' - regex: '71 ST7002PG' model: '71' - regex: '70 ST7001RW' model: '70' # Alcatel (alcatelmobile.com) Alcatel: regex: 'Alcatel|Alc(?!or )[a-z0-9]+|One[ _]?Touch|idol[3X]|TIMXL|(?:(?:4003[AJ]|4009[ADEFIKMSX]|4013[DEJKMX]|4014[ADEKMX]|4015[ADNTX]|4016[ADX]|4017[ADEFSX]|4018[ADEFMX]|4024[DEX]|4027[ADNX]|4028[AEJS]|4032[ADEX]|4034[ADEFGLTX]|4035[ADXY]|4045[ADELX]|4047[ADFGNX]|4049[DEGMX]|4060[SW]|4063[FT]|4065F|4087U|4114E|5001[ADJTU]|5002[ABDEFHJLMRSUWX]|5003[ADGUX]|5006[ADG]|5007[AGUOS]|5008[ADTUY]|5009[AD]|5010[DEGSUX]|5011A|5012[DFG]|5015[ADEX]|5016[AJX]|5017[ABDEOX]|5019D|5022[DEX]|5023[EF]|5024[ADFIJ]|5025[DEG]|5026[ADJ]|5027B|5028[ADY]|5029[ADEFY]|5030[ADEFJMU]|5031[ADGJ]|5032[OW]|5033(?:[DFTXY]R|[EFM]P|[ADEFGJMOQSTXY])|5034D|5036D|5038[ADEX]|5039[DY]|5041[CD]|5042[ADEFGTWX]|5044[ADGIKOPSTY]|5045[ADFGIJTXY]|5046[ADGIJSTUY]|5047[DIUY]|5048[AIUY]|5049[EGSWZ]|5050[ASXY]|5051[ADEJMTWX]|5052[ADY]|5053[ADKY]|5054[ADNSTWX]|5056[ADEGIJMNTUWX]|5057M|5058[AIJY]|5059[ADIJSTXYZ]|5060[ADJ]|5061[AKU]|5065[ADNWX]|5070D|5080[ADFQUX]|5085[ABCDGHIJNOQY]|5086[ADY]|5090[AIY]|5095[IKY]|5098[OS]|5099[ADIUY]|5116J|5131E|5145A|6002[ADJ]|6016[ADEX]|6025[ADH]|6027A|6036[AXY]|6037[BKY]|6039[AHJKSY]|6042D|6043[AD]|6044D|6045[BFIKOXY]|6050[AFY]|6055[ABDHIKPUYZ]|6056[ADH]|6058[ADX]|6060[SXC]|6062W|6065A|6070K|7040[ADEFKRT]|7041[DX]|7042A|7043[AEKY]|7044[AX]|7045Y|7048[ASWX]|7053D|7055A|7070X|7071[ADX]|8030Y|8050[DEGX]|8063|8088[MQX]|8094[MTX]|9001[DIX]|9002X|9003[AX]|9005X|9006W|9007[ATX]|9008[ADIJNTUX]|9009[AFG]|9010X|9013[ATX]|9015B|9020A|9022X|9024[OW]|9025Q|9026X|9027[FQTWX]|9029[ZW]|9032[TWXZ]|9203A|9309X|A(?:46[46]BG|57[04]BL|576CC|621BL|50[13]DL|57[17]VL)|I213|I216[AX]|(?<!\.)80(?:[89]2|84|91|6[78]|5[124567]))(?:_(?:EEA|RU|TR))?|P3[36]0X|AM-H200|A463BG)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '4087U' model: '1SE Light' - regex: '5022[EDX]|5070D' model: 'One Touch Pop Star' - regex: '6044D' model: 'One Touch Pop Up' - regex: '4015[ATX]|4016A' model: 'One Touch Pop C1' - regex: '4015[DN]|4016[DX]' model: 'One Touch Pop C1 Dual SIM' - regex: '4032[AX]' model: 'One Touch Pop C2' - regex: '4032[DE]' model: 'One Touch Pop C2 Dual SIM' - regex: '5036D' model: 'One Touch Pop C5 Dual SIM' - regex: '7040[AFK]|7041X|7042A' model: 'One Touch Pop C7' - regex: '7040[DE]|7041D' model: 'One Touch Pop C7 Dual SIM' - regex: '4018[ADEFMX]' model: 'One Touch Pop D1' - regex: '4035[ADXY]' model: 'One Touch Pop D3' - regex: '5038[ADEX]' model: 'One Touch Pop D5' - regex: '4045[AXL]' model: 'One Touch Pop 2 4"' - regex: '4045[DE]' model: 'One Touch Pop 2 4" Dual SIM' - regex: '5042[AFGWX]' model: 'One Touch Pop 2 4.5"' - regex: '5042[DE]' model: 'One Touch Pop 2 4.5" Dual SIM' - regex: '7043[AY]|7044[AX]' model: 'One Touch Pop 2 5"' - regex: '7043[EK]' model: 'One Touch Pop 2 5" Dual SIM' - regex: '50[16]5X' model: 'One Touch Pop 3' - regex: '5015[AE]|5016[AJ]|5065[ADWX]|5116J' model: 'One Touch Pop 3 5"' - regex: '5025[DEG]|5054[ADSTX]' model: 'One Touch Pop 3 5.5"' - regex: '5015D' model: 'One Touch Pop 3 Dual SIM' - regex: '5051[AEJMTWX]' model: 'One Touch Pop 4' - regex: '5051D' model: 'One Touch Pop 4 Dual SIM' - regex: '5095[IKY]' model: 'One Touch Pop 4S' - regex: '5056[ADEGJMTUX]' model: 'One Touch Pop 4+' - regex: '7070X' model: 'One Touch Pop 4 6"' - regex: '5057M' model: 'One Touch Pop Mirage' - regex: '5050[ASXY]' model: 'One Touch Pop S3' - regex: '7045Y' model: 'One Touch Pop S7' - regex: '6037[BKY]' model: 'One Touch Idol 2' - regex: '5042T' model: 'One Touch Astro' - regex: 'IdolX 6040' model: 'One Touch Idol X' - regex: '5027B' model: 'One Touch Dawn' - regex: '7071[ADX]' model: 'A7 XL' - regex: '5002[ABDEHJLMSUWX]' model: '1B (2020)' - regex: '5031[ADGJ]|5131E' model: '1B (2022)' - regex: '(?:Alcatel_)?5008R' model: 'Onyx' - regex: '(?:Alcatel_)?5002R' model: 'Volta' - regex: '4034T' model: '1E' - regex: '5002F' model: '1A (2020)' - regex: '4063F' model: '1L Plus' - regex: '4065F' model: '1L Pro' - regex: '5034D|6056[ADH]' model: '3L' - regex: 'A576CC' model: 'Kora A576CC' - regex: '7040[RT]' model: 'One Touch Fierce 2' - regex: '5056[NW]' model: 'One Touch Fierce 4' - regex: '5054N' model: 'One Touch Fierce XL' - regex: '6042D' model: 'One Touch Flash' - regex: '6016[AX]' model: 'One Touch Idol 2 mini' - regex: '6016[DE]' model: 'One Touch Idol 2 mini Dual SIM' - regex: '6036[AXY]' model: 'One Touch Idol 2 mini S' - regex: '6050[AFY]' model: 'One Touch Idol 2S' - regex: '6039[AHJKYS]|idol3' model: 'One Touch Idol 3' - regex: '6045[BFIKOYX]|AM-H200' model: 'One Touch Idol 3 5.5"' - regex: '6055[ABDHIKPUYZ]' model: 'One Touch Idol 4' - regex: '6070K' model: 'One Touch Idol 4S' - regex: '6058[ADX]' model: 'One Touch Idol 5' - regex: '6060[SX]' model: 'One Touch Idol 5S' - regex: '(?:Alcatel_)?6060C' model: 'One Touch Idol 5' - regex: '6043[AD]' model: 'One Touch Idol X+' - regex: '8030Y' model: 'One Touch Hero 2' - regex: '7055A' model: 'One Touch Hero 2C' - regex: '7053D' model: 'One Touch X1' - regex: '5065N' model: 'TRU' - regex: 'A574BL' model: 'Raven' - regex: 'A577VL' model: 'Zip' - regex: 'A466BG' model: 'Pixi Unite' - regex: '5056I' model: 'One Touch Optus X Smart' - regex: 'A570BL' model: 'One Touch Pixi Avion LTE' - regex: 'A571VL' model: 'One Touch Pixi Avion 4G LTE' - regex: '4024[DEX]' model: 'One Touch Pixi First' - regex: 'A464BG' model: 'One Touch Pixi Glitz' - regex: 'A621BL' model: 'One Touch Pixi Glory' - regex: '4014D' model: 'One Touch Pixi 2' - regex: '4009[AFIKMSX]|A463BG' model: 'One Touch Pixi 3 3.5"' - regex: '4009[DE]' model: 'One Touch Pixi 3 3.5" Dual SIM' - regex: '4003[AJ]|4013[DEJKMX]|4014[AEKMX]|4114E' model: 'One Touch Pixi 3 4"' - regex: '4027[ADNX]|4028[AEJS]|5019D' model: 'One Touch Pixi 3 4.5"' - regex: '5017[ABDEOX]' model: 'One Touch Pixi 3 4.5" 4G' - regex: '9002X' model: 'One Touch Pixi 3 7"' device: 'phablet' - regex: '9007A' model: 'One Touch Pixi 3 7"' device: 'tablet' - regex: '9007[TX]' model: 'One Touch Pixi 3 7" 4G' device: 'tablet' - regex: '(?:9009G|9013[AT])' model: '1T' device: 'tablet' - regex: '(?!<\.)808[24](?:_(?:EEA|RU|TR))?(?:[);/ ]|$)' model: '1T 10' device: 'tablet' - regex: '(?!<\.)8092(?:_(?:EEA|RU|TR))?(?:[);/ ]|$)' model: '1T 10 Smart' device: 'tablet' - regex: '(?!<\.)8091(?:_(?:EEA|RU|TR))?(?:[);/ ]|$)' model: '1T 10 WiFi' device: 'tablet' - regex: '(?!<\.)8052(?:_(?:EEA|RU|TR))?(?:[);/ ]|$)' model: 'TEKE Mini' device: 'tablet' - regex: '(?!<\.)8051(?:_(?:EEA|RU|TR))?(?:[);/ ]|$)' model: 'Smart Tab 7" WiFi' device: 'tablet' - regex: '(?!<\.)805[4567](?:_(?:EEA|RU|TR))?(?:[);/ ]|$)' model: 'One Touch Pixi 3 7" WiFi' device: 'tablet' - regex: '9009A' model: '1T 7' device: 'tablet' - regex: '9009F' model: '1T 7" 3G' device: 'tablet' - regex: '9309X' model: '1T 7" (2021)' device: 'tablet' - regex: '(?:(?!<\.)806[78]|9013X)(?:_(?:EEA|RU))?(?:[);/ ]|$)' model: '1T 7.0"' device: 'tablet' - regex: '9022X' model: 'One Touch Pixi 3 8"' device: 'phablet' - regex: '9010X' model: 'One Touch Pixi 3 10"' device: 'tablet' - regex: '4017[ADEFSX]' model: 'One Touch Pixi 4 3.5"' - regex: '4034[ADEFGXL]' model: 'One Touch Pixi 4 4"' - regex: '4060[SW]' model: 'One Touch Pixi 4 4.5"' - regex: '5023[EF]' model: 'One Touch Pixi 4 Plus Power' - regex: '5010[DEGSUX]' model: 'One Touch Pixi 4 5" 3G' - regex: '5041D' model: 'One Touch Pixi 4 5.0"' - regex: '5012[DFG]' model: 'One Touch Pixi 4 5.5" 3G' - regex: '5045[ADFGIJTXY]|5145A' model: 'One Touch Pixi 4 5" 4G' - regex: '5098O' model: 'One Touch Pixi Theatre' - regex: 'A501DL' model: 'A1' - regex: 'A503DL' model: 'A1X' - regex: '(?:Alcatel_)?5004R' model: 'Axel' - regex: '5046[ADIJTUY]' model: 'A3' - regex: '5011A|5049[EG]' model: 'A3 Plus' - regex: '9008[ADIJNTUX]' model: 'A3 XL' - regex: '9203A' model: 'A3 7" 3G' device: 'tablet' - regex: '(?:9027[QFTWX]|9032[TX])' model: '3T 8.0"' device: 'tablet' - regex: '9026X' model: 'A3 10"' device: 'tablet' - regex: '5085[BQ]' model: 'A5' - regex: '5085[ADHIJY]' model: 'A5 LED' - regex: '5085N' model: 'A5 Max LED' - regex: '5090[AIY]' model: 'A7' - regex: '5046[GS]' model: 'A30' - regex: '5049S' model: 'A30 Plus' - regex: '5049Z' model: 'A30 Fierce' - regex: '5085[GO]' model: 'A50' - regex: '5048[AYUI]' model: '3X (2019)' - regex: '5049W' model: 'Revvl' - regex: '9006W' model: 'One Touch Pixi 2 7" 4G' device: 'tablet' - regex: '8050[GX]' model: 'One Touch Pixi 4 6" 3G' - regex: '8050[ED]' model: 'One Touch Pixi 4 6" 3G Dual SIM' - regex: '5098S|9001[DIX]' model: 'One Touch Pixi 4 6" 4G' - regex: '9003[AX]' model: 'One Touch Pixi 4 7" 3G' device: 'tablet' - regex: '9015B' model: 'One Touch Pixi 4 7" 4G' device: 'tablet' - regex: '8063' model: 'One Touch Pixi 4 7" WiFi' device: 'tablet' - regex: '9024[OW]' model: 'One Touch Pixi 5' device: 'tablet' - regex: 'I216[AX]' model: 'One Touch Pixi 7' device: 'tablet' - regex: 'I213' model: 'One Touch Pixi 7' device: 'tablet' - regex: '9005X' model: 'One Touch Pixi 8' device: 'tablet' - regex: '9025Q' model: 'One Touch Pop 4 7" 4G' device: 'tablet' - regex: 'P320X' model: 'One Touch POP 8' device: 'tablet' - regex: 'P310X' model: 'One Touch POP 7' device: 'tablet' - regex: 'P330X' model: 'One Touch POP 7S' device: 'tablet' - regex: '9020A' model: 'One Touch Trek HD' device: 'tablet' - regex: '7048[ASWX]' model: 'One Touch Go Play' - regex: '(?:Alcatel-)?OT-802' model: 'Wave' - regex: 'ALCATEL_ONE_TOUCH_768T' model: 'Island' - regex: '(?:TRIBE_)?3075A' model: 'One Touch Tribe' - regex: 'ALCATEL_one_touch_585' model: 'One Touch 585' - regex: 'ALCATEL_ONE_TOUCH_838' model: 'One Touch 838' - regex: 'ALCATEL_one_touch_813d' model: 'One Touch 813D' - regex: 'ALCATEL_one_touch_813' model: 'One Touch 813' - regex: 'OT871A' model: 'One Touch 871A' - regex: 'P360X' model: 'One Touch Pop 10' - regex: '(?:Alcatel[ _])?One[ _]?Touch[ _]((?:T[0-9]+|TAB[^/;]+|EVO[78](?:HD)?)) Build' device: 'tablet' model: 'One Touch $1' - regex: '(?:Alcatel[ _])?One[ _]?Touch([^/;]*) Build' model: 'One Touch$1' - regex: '(?:Alcatel[ _])?One[ _]?Touch([^/;\)]*)\)' model: 'One Touch$1' - regex: '5080[ADFQUX]' model: 'Shine Lite' - regex: 'TIMXL' model: 'TIM XL' - regex: '5085C' model: 'PulseMix' - regex: '4049[DEGMX]' model: 'U3' - regex: '5044[ADIKOPTY]' model: 'U5' - regex: '4047[DFXN]' model: 'U5 3G' - regex: '5047[DIUY]' model: 'U5 HD' - regex: '4047G' model: 'U5 Lite' - regex: '4047A' model: 'U5 Plus' - regex: '4044[CV]' model: 'Quick Flip' - regex: '4044O' model: 'Cingular Flip 2' - regex: '(?:Alcatel)?4044[MNT]' model: 'Go Flip' - regex: '5044[GS]' model: 'U50' - regex: '5033[DFTXY]R(?:[);/ ]|$)' model: '1 (2021)' - regex: '5033MP(?:[);/ ]|$)' model: '1 Ultra' - regex: '5033(?:[ADJEFGMOTXYQS]|[EF]P)(?:_(?:EEA|RU|TR))?(?:[);/ ]|$)' model: '1' - regex: '5009[AD]' model: '1C' - regex: '5003[ADGUX]' model: '1C (2019)' - regex: '5008[ADUYT]' model: '1X (2019)' - regex: '5007[AGUS]' model: '1V (2020)' - regex: '6002[AD]' model: '1V (2021)' - regex: '6002J' model: '1V (2022)' - regex: '5006[ADG]' model: '3C (2019)' - regex: '5024[ADFIJ]|5028Y|6025[ADH]' model: '1S' - regex: '(?:5028[AD]|5007O)' model: '1S (2020)' - regex: '5030E' model: '1SP (2020)' - regex: '5030[ADFJMU]' model: '1SE (2020)' - regex: '5001[ADJTU]' model: '1V' - regex: '5059[ADJXYZIT]' model: '1X' - regex: '5059S' model: 'Avalon V' - regex: '5060[ADJ]' model: '5V' device: 'phablet' - regex: '5052[ADY]|5053[ADKY]' model: '3' - regex: '5029E' model: '3 (2020)' - regex: '5029[ADFY]' model: '3L (2020)' - regex: '5032[OW]|5099[ADYUI]' model: '3V' - regex: '5026[ADJ]' model: '3C' - regex: '6027A' model: '3H Plus' - regex: '5039[DY]' model: '3L' device: 'phablet' - regex: '5058[AIJY]' model: '3X' - regex: '5061[AKU]' model: '3X (2020)' - regex: '5086[ADY]' model: '5' - regex: '6065A' model: '5H Plus' - regex: '6062W' model: '7' - regex: '8088[XQM]' model: '3T 10"' device: 'tablet' - regex: '8094[MTX]' model: '3T 10.1"' device: 'tablet' - regex: '9029[ZW]' model: 'Joy Tab' device: 'tablet' - regex: '9032[WZ]' model: 'Joy Tab 2' device: 'tablet' - regex: 'Alcatel UP' model: '' - regex: '(?:ALCATEL_)?A383G' model: 'Big Easy Plus' - regex: '5041C' model: 'TETRA' - regex: 'ALCATEL([^/;]+) Build' model: '$1' - regex: 'ALCATEL[ \-]?([^/;\)]+)' model: '$1' - regex: 'ALCATEL_([^/;\)]+)' model: '$1' - regex: 'Alc([a-z0-9]+)' model: '$1' # Allview (allviewmobile.com) Allview: regex: 'Allview|A4You|H1003_LTE_PRO|A5_(?:Easy(?:_TM)?|Ready(?:_TM)?|Quad|Quad_Plus_TM)|A[5-9]_Lite|A5Smiley|A6_Duo|A10_Lite_(?:2019|2GB)|A10_(?:Plus|Max)|AX2_Frenzy|AX4Nano|AX5NanoQ|AX50(?:[23]|1Q)|C6_Duo|E[23]_Living|E[23]_(?:Jump|Sign)|E4_Lite|M9_Connect|P(?:43_Easy|[5689]_Energy|6_Energy_Lite|[68]_Energy_Mini(?:_TM)?|(41|[4568])_eMagic(?:_TM)?|[589](?:_)?Life(?:_TM)?|[567]_Lite(?:_TM)?|6_plus|[45678]_Pro|7_Seon|10_Life|10_Max|10_Style|7_Xtreme|6_Qmax|4_Quad)|V(?:[1345]_Viper|1_Viper_I|2_Viper_(?:[EISX]|X_plus|Xe))|X4_Soul_Vision|X(?:[1-46]_Soul_Xtreme|[1-5]_Soul|3_Soul_Lite|[2-6]_Soul_Mini(?:_TM)?|4_Soul_Mini_S(?:_TM)?|[2-58]_Soul_Style(?:_TM)?|2_Soul_Style_Plus|2_Twin)|A30_Plus|Viva_(?:H801|100[13]G|(?:H100[124]|H701|H802)_LTE|C701|i701G|803G)|VivaH(?:10|[78])|X7_Soul_Style|X[12]0_Soul|X[78]_Soul_Pro|V10_Viper|Viva_(?:Home|i7G)|H1004_LTE' device: 'smartphone' models: - regex: 'A4You' model: 'A4 You' - regex: 'AX2_Frenzy' model: 'AX2 Frenzy' device: 'tablet' - regex: 'AX5NanoQ' model: 'AX5 Nano Q' device: 'tablet' - regex: 'C6_Duo' model: 'C6 Duo' - regex: 'E([23])_Living' model: 'E$1 Living' - regex: 'E([23])_Jump' model: 'E$1 Jump' - regex: 'E3_Sign' model: 'E3 Sign' - regex: 'E4_Lite' model: 'E4 Lite' - regex: 'M9_Connect' model: 'M9 Connect' - regex: 'P43_Easy' model: 'P43 Easy' - regex: 'P(41|[4568])_eMagic(?:_TM)?' model: 'P$1 eMagic' - regex: 'P([567])_Lite(?:_TM)?' model: 'P$1 Lite' - regex: 'P6_plus' model: 'P6 Plus' - regex: 'P6_Qmax' model: 'P6 Qmax' - regex: 'P([45678])_Pro' model: 'P$1 Pro' - regex: 'P4_Quad' model: 'P4 Quad' - regex: 'P9_Energy_Lite_2017' model: 'P9 Energy Lite (2017)' - regex: 'P9_Energy_S' model: 'P9 Energy S' - regex: 'P([69])_Energy_Lite' model: 'P$1 Energy Lite' - regex: 'P8_Energy_PRO' model: 'P8 Energy Pro' - regex: 'P([689])_Energy_mini(?:_TM)?' model: 'P$1 Energy Mini' - regex: 'P([5689])_Energy' model: 'P$1 Energy' - regex: 'P7_Seon' model: 'P7 Seon' - regex: 'P7_Xtreme' model: 'P7 Xtreme' - regex: 'P([589])(?:_)?Life(?:_TM)?' model: 'P$1 Life' - regex: 'P10_Life' model: 'P10 Life' - regex: 'P10_Max' model: 'P10 Max' - regex: 'P10_Style' model: 'P10 Style' - regex: 'V([12])_Viper_I4G(?:_TM)?' model: 'V$1 Viper I 4G' - regex: 'V1_Viper_I' model: 'V1 Viper I' - regex: 'V4_Viper_PRO' model: 'V4 Viper Pro' - regex: 'V2_Viper_X_plus' model: 'V2 Viper X Plus' - regex: 'V2_Viper_(E|I|S|X(?:e)?)' model: 'V2 Viper $1' - regex: 'X4_Soul_Vision' model: 'X4 Soul Vision' - regex: 'X7_Soul_Style' model: 'X7 Soul Style' - regex: 'X8_Soul_Pro' model: 'X8 Soul Pro' - regex: 'X([1246])_Soul_Xtreme' model: 'X$1 Soul Xtreme' - regex: 'X4_Soul_Infinity_(L|N|S|Z)' model: 'X4 Soul Infinity $1' - regex: 'X4[_ ]Soul[_ ]Infinity[_ ]Plus' model: 'X4 Soul Infinity Plus' - regex: 'X([34])_Soul_Lite' model: 'X$1 Soul Lite' - regex: 'X4_Soul_Mini_S(?:_TM)?' model: 'X4 Soul Mini S' - regex: 'X([23456])_Soul_Mini(?:_TM)?' model: 'X$1 Soul Mini' - regex: 'X3_Soul_PLUS' model: 'X3 Soul Plus' - regex: 'X([357])_Soul_Pro' model: 'X$1 Soul Pro' - regex: 'X2_Soul_Style_Plus' model: 'X2 Soul Style Plus' - regex: 'X([23458])_Soul_Style(?:_TM)?' model: 'X$1 Soul Style' - regex: 'X(\d+)_Soul' model: 'X$1 Soul' - regex: 'V(\d+)_Viper' model: 'V$1 Viper' - regex: 'X2_Twin' model: 'X2 Twin' - regex: 'A5_Easy(?:_TM)?' model: 'A5 Easy' - regex: 'A([56789])_Lite' model: 'A$1 Lite' - regex: 'A5_Ready(?:_TM)?' model: 'A5 Ready' - regex: 'A5Smiley' model: 'A5 Smiley' - regex: 'A5_Quad_Plus_TM' model: 'A5 Quad Plus' - regex: 'A5_Quad' model: 'A5 Quad' - regex: 'A6_Duo' model: 'A6 Duo' - regex: 'A10_Lite_2019' model: 'A10 Lite (2019)' - regex: 'A10_Lite_2GB' model: 'A10 Lite' - regex: 'A(10|30)_Plus' model: 'A$1 Plus' - regex: 'A10_Max' model: 'A10 Max' - regex: 'Impera S' model: 'Impera S' - regex: 'ALLVIEW P4i' model: 'AllDro P4' - regex: 'Allview_P2' model: 'AllDro' - regex: 'Viva_(i7G)' device: 'tablet' model: 'Viva $1' - regex: 'Viva_Home' device: 'tv' model: 'Viva Home' # explicit tablet models - regex: 'AllviewCityPlus' device: 'tablet' model: 'City Plus' - regex: 'AllviewCity' device: 'tablet' model: 'City' - regex: 'AllviewAX2Frenzy' device: 'tablet' model: 'AX2 Frenzy' - regex: 'Allview2SpeedDuo' device: 'tablet' model: 'Alldro 2 Speed Duo' - regex: 'Allview3SpeedQuad' device: 'tablet' model: 'Alldro 3 Speed Quad' - regex: 'H1003_LTE_PRO([13])' device: 'tablet' model: 'Viva H1003 LTE Pro $1' - regex: 'H1003_LTE_PRO' device: 'tablet' model: 'Viva H1003 LTE Pro' - regex: 'Viva_1003G_Lite' device: 'tablet' model: 'Viva 1003G Lite' - regex: 'H1004_LTE' device: 'tablet' model: 'Viva H1004 LTE' - regex: 'Viva[_ ]?H([78]|10)[_ ]?LTE' device: 'tablet' model: 'Viva H$1 LTE' - regex: 'Viva_?((?:H80[12]|H100[12]|H701)_LTE|C701|i701G|803G|H10|H7|H801|100[13]G)' device: 'tablet' model: 'Viva $1' - regex: 'ALLVIEW ?SPEEDI' device: 'tablet' model: 'Speed I' - regex: 'ALLVIEW ?SPEED' device: 'tablet' model: 'Speed' - regex: 'ALLVIEWSPEED' device: 'tablet' model: 'Speed' - regex: 'AX4Nano[_ ]plus' device: 'tablet' model: 'AX4 Nano Plus' - regex: 'AX4Nano' device: 'tablet' model: 'AX4 Nano' - regex: 'ALLVIEW_TX1_Quasar' device: 'tablet' model: 'TX1 Quasar' - regex: 'AX(50[23]|501Q)' device: 'tablet' model: 'AX$1' - regex: 'Allview[ _-]([^;/]+) Build' model: '$1' - regex: 'Allview[ _-]([^;/]+)(?:[;/)]|$)' model: '$1' # Allwinner Allwinner: regex: '(?:QUAD-CORE (?:T3 p1|A64 p3|A33 y3|T3 K2001M|T3 k2001o|T3 k2001-nwd)|ZY-07B|UltraOcta-T8|OCTA-CORE T8|OCTOPUS-CORE T8|QUAD-CORE T3 p3|QuadCore-R16)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'QUAD-CORE A64 p3' model: 'A64 QUAD-CORE p3' - regex: 'QUAD-CORE A33 y3' model: 'A33 QUAD-CORE y3' - regex: 'ZY-07B' model: 'ZY-07B' - regex: 'UltraOcta-T8' device: 'car browser' model: 'Ultra Octa T8' - regex: 'QUAD-CORE T3 K2001o' device: 'car browser' model: 'QUAD-CORE T3 K2001O' - regex: 'QUAD-CORE T3 K(2001M?)' device: 'car browser' model: 'QUAD-CORE T3 K$1' - regex: 'QUAD-CORE T3 p([13])' device: 'car browser' model: 'QUAD-CORE T3 P$1' - regex: 'OCTA-CORE T8' device: 'car browser' model: 'OCTA-CORE T8' - regex: 'OCTOPUS-CORE T8' device: 'car browser' model: 'OCTOPUS-CORE T8' - regex: 'QuadCore-R16' device: 'car browser' model: 'QUAD-CORE R16' # altron altron: regex: '(AL-555|GI-626|OB[_-](?:421|588|728|627))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AL-555' model: 'AL-555' - regex: 'OB[_-](421|588|728|627)' model: 'OB-$1' - regex: 'GI-626' device: 'phablet' model: 'GI-626' # AMGOO (amgoo.com) AMGOO: regex: 'AM(350|355|40[257]|41[025]|450|50[689]|52[037]|51[58]|53[05])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AM350' model: 'Jack Pro' - regex: 'AM(355|407)' model: 'Tigo' - regex: 'AM402' model: 'Pronto' - regex: 'AM410' model: 'Unico' - regex: 'AM450' model: 'Swift' - regex: 'AM508' model: 'Fuego' - regex: 'AM509' model: 'Uno' - regex: 'AM515' model: 'D1' - regex: 'AM518' model: 'C1' - regex: 'AM520' model: 'Pro' - regex: 'AM523' model: 'Plus' - regex: 'AM527' model: 'Geo' - regex: 'AM530' model: 'A1' - regex: 'AM535' model: 'P1' - regex: 'AM([0-9]{3})' model: 'AM$1' # Amoi or ami (amimobile.tech) Amoi: regex: 'Amoi|(?:A862W|Clever[ -]?(?:Gem S52|Gleam S45|Pad P7|Wave S50|Touch S46|JOY S40|Lite S41))(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone tablets - regex: 'Clever Pad P7' model: 'Clever Pad P7' # explicit smartphone models - regex: 'A862W' model: 'A862W' - regex: 'CLEVER JOY S40' model: 'Clever Joy S40' - regex: 'Clever[ -]?(Gleam S45|Gem S52|Wave S50|Touch S46|Lite S41)' model: 'Clever $1' # explicit feature models - regex: 'Amoi[-_ /](CA6)' device: 'feature phone' model: '$1' - regex: 'Amoi[-_ /]([a-z0-9]+)' model: '$1' - regex: 'Amoisonic-([a-z0-9]+)' model: '$1' # Ainol Ainol: regex: 'Numy|novo[0-9]|Novo 10 Hero|AX10PRO|NUMY3GAX9|NOVO10 Spark|Aurora-II|Rainbow(?:II)? 3G' device: 'tablet' models: - regex: 'Numy 3G AX1' model: 'Novo 7 Numy AX1 3G' - regex: 'Numy[_ ]?3G[_ ]?Sword' model: 'Numy 3G Sword' - regex: 'NOVO10 Spark' model: 'Novo 10 Spark' - regex: 'AX10PRO' model: 'Numy AX10 Pro' - regex: 'Numy_3G_AX3' model: 'Numy AX3 Sword' - regex: 'Numy3GTalos' model: 'Numy 3G Talos' - regex: 'Numy_3G_BW1' model: 'Numy 3G Talos 2' - regex: 'NUMY3GAX9(?:[);/ ]|$)' model: 'Numy 3G AX9' - regex: 'Numy3G_AX10(?:[);/ ]|$)' model: 'Numy 3G AX10' - regex: '(Novo 10 Hero QuadCore)' model: '$1' - regex: 'RainbowII 3G' model: 'Numy Rainbow-II' - regex: 'Rainbow 3G' model: 'Numy Rainbow' - regex: 'Aurora-II' model: 'Novo 7 Aurora II' - regex: 'Novo7Fire' model: 'Novo 7 Fire' - regex: 'Novo7 ?Flame(?:[);/ ]|$)' model: 'Novo 7 Flame' - regex: 'novo ?7[_ ]ELF(?:[);/ ]|$)' model: 'Novo 7 Elf' - regex: 'NOVO7(?:[);/ ]|$)' model: 'Novo 7' - regex: 'Numy[ _]([^;/)]+)(?: Build|[;)])' model: 'Numy $1' - regex: 'Novo([0-9]+)[_ \-]([^;/)]+)(?: Build|[;)])' model: 'Novo $1 $2' # Archos (www.archos.com) Archos: regex: '(?:YL-)?Archos|(?:A50TI|AC101BHE|AC50BHE|AC45NE|X67 5G|AC45BHE|AC101PL3GV2|9\.4 FFF|Tikeasy 10d)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Archos (Oxygen (?:63|57|68XL))(?:[);/ ]|$)' model: '$1' - regex: 'Archos 55 diamond Selfie' model: '55 Diamond Selfie' - regex: 'A50TI(?:[);/ ]|$)' model: '50 Titanium 4G' - regex: '40C TIv2' model: '40c Titanium v2' - regex: '45B Titanium' model: '45b Titanium' - regex: 'AC45BHE' model: '45b Helium' - regex: 'AC45NE(?:[);/ ]|$)' model: '45 Neon' - regex: 'X67 5G(?:[);/ ]|$)' model: 'X67 5G' - regex: 'Archos ?5(?:[);/ ]|$)' device: 'tablet' model: '5' - regex: 'AC101BHE(?:[);/ ]|$)' device: 'tablet' model: '101B Helium 4G' - regex: 'T96 WIFI' device: 'tablet' model: 'T96 WiFi' - regex: 'AC50BHE(?:[);/ ]|$)' model: '50B Helium 4G' - regex: 'Archos 80 Oxygen(?:[);/ ]|$)' device: 'tablet' model: '80 Oxygen' - regex: 'Archos 101 Oxygen(?:[);/ ]|$)' device: 'tablet' model: '101 Oxygen 4G' - regex: 'Archos Access 70 3G(?:[);/ ]|$)' device: 'tablet' model: '70 Access 3G' - regex: 'Archos Access 101 3G V2' device: 'tablet' model: '101 Access 3G V2' - regex: 'AC101PL3GV2' device: 'tablet' model: '101 Platinum 3G V2' - regex: 'Archos Oxygen 101S ARDOIZ(?:[);/ ]|$)' device: 'tablet' model: '101s Oxygen Ardoiz' - regex: 'Archos Oxygen 101S(?:[);/ ]|$)' device: 'tablet' model: '101s Oxygen' - regex: 'Archos T ?(101X?) 4G(?:[);/ ]|$)' device: 'tablet' model: 'T$1 4G' - regex: 'Archos Core (101) 3G Ultra' device: 'tablet' model: 'Core $1 3G Ultra' - regex: 'Archos Core 3g v4' device: 'tablet' model: 'Core 101 3G V4' - regex: 'Archos Core (70|101) 3G' device: 'tablet' model: 'Core $1 3G' - regex: 'Archos Hello 7(?:[);/ ]|$)' device: 'tablet' model: 'Hello 7' - regex: '9\.4 FFF(?:[);/ ]|$)' device: 'tablet' model: '9.4" FFF' - regex: 'Archos Sense 101 X(?:[);/ ]|$)' device: 'tablet' model: 'Sense 101 X' - regex: 'Tikeasy 10d(?:[);/ ]|$)' device: 'tablet' model: 'Tikeasy 10d' - regex: 'T101 HD 4G(?:[);/ ]|$)' device: 'tablet' model: 'T101 HD 4G' - regex: 'T101 FHD WiFi(?:[);/ ]|$)' device: 'tablet' model: 'T101 FHD WiFi' - regex: '(?:YL-)?Archos ([^/;]*(?:PAD)[^/;]*) Build' device: 'tablet' model: '$1' - regex: 'Archos ((?:[789]|10)[0-9]?[a-z]* ?(?:G9|Access|Magnus|G10|Helium|Titanium|Copper|Cobalt|Platini?um|Xenon|Carbon|Neon|XS|IT)[^/);]*)(?: Build|[;)])' device: 'tablet' model: '$1' - regex: '(?:YL-)?Archos ([^/);]+)(?: Build|[;)])' model: '$1' # Axxion Axxion: regex: 'Axxion ATAB-[0-9]+(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Axxion ATAB-([0-9]+)(?:[);/ ]|$)' model: 'ATAB-$1' # MEO (https://www.meo.pt/) MEO: regex: 'MEO TV Box 4K(?:[);/ ]|$)' # Sagemcom DIW3930 device: 'tv' model: 'TV Box 4K' # Ooredoo (https://www.ooredoo.qa/) Ooredoo: regex: 'Sagemcom DIW387_UHD_OOR(?:[);/ ]|$)' # Sagemcom DIW387 device: 'tv' model: 'TV Box' # Meu MEU: regex: 'MEU ([a-z0-9]+) Build' device: 'smartphone' model: '$1' # Arnova Arnova: regex: 'arnova|ARCHM901|AN7CG2|AN7IG3|AN7G2(DTE|I)?|AN7[BCDFH]?G3|A80KSC|AN8G2|AN8[BC]?G3|AN9G2I?|AN9G3|A101[BC](?!M)|AN10G2|AN10BG2(DT|I)?|AN10BG3(DT)?|AN10[CD]G3' device: 'tablet' models: # explicit tablet models - regex: 'ARCHM901' model: 'M901' - regex: 'AN7CG2' model: '7c G2' - regex: 'AN7G2I|AN7G2|AN7G2DTE' model: '7 G2' - regex: 'AN7G3' model: '7 G3' - regex: 'AN7IG3' model: '7i G3' - regex: 'AN7BG3' model: '7b G3' - regex: 'AN7CG3' model: '7c G3' - regex: 'AN7DG3-CP' model: 'Childpad' - regex: 'AN7DG3' model: '7d G3' - regex: 'AN7FG3' model: '7f G3' - regex: 'AN7HG3' model: '7h G3' - regex: 'A80KSC' model: '8' - regex: 'AN8G2' model: '8 G2' - regex: 'AN8G3' model: '8 G3' - regex: 'AN8BG3' model: '8b G3' - regex: 'AN8CG3' model: '8c G3' - regex: 'AN9G2I' model: '9i G2' - regex: 'AN9G2' model: '9 G2' - regex: 'AN9G3' model: '9 G3' - regex: 'A101B2|A101C|AN10G2' model: '10 G2' - regex: 'A101B' model: '10' - regex: 'AN10BG2|AN10BG2DT|AN10BG2I' model: '10b G2' - regex: 'AN10BG3|AN10BG3DT|AN10BG3-LZ' model: '10b G3' - regex: 'AN10CG3' model: '10c G3' - regex: 'AN10DG3' model: '10d G3' - regex: 'ARNOVA 90G3' model: '90 G3' - regex: 'ARNOVA 90 G4' model: '90 G4' - regex: 'ARNOVA 97G4' model: '97 G4' - regex: 'ARNOVA 101 G4' model: '101 G4' - regex: 'Arnova ([^/;]*) Build' model: '$1' # ARRIS ARRIS: regex: 'ARRIS' device: 'tv' models: - regex: 'Arris_liberty,([a-z0-9\-]+),(?:wired|wireless)' model: '$1' - regex: 'ARRIS[,;] ([^),;/]+)' model: '$1' # Ask Ask: regex: 'ASK[ _]' device: 'smartphone' models: - regex: 'ASK[ _]791SP[ _]3G' model: '791SP 3G' device: 'tablet' - regex: 'ASK[_ ]([^/;]*) Build' model: '$1' # ANS or ANS Cell or ANS Mobility (https://www.ansmobility.com/) ANS: regex: 'ANS/|(?: UL40|ACK2326)(?: Build|[;)])' device: 'smartphone' models: - regex: 'UL40' model: 'UL40' - regex: 'ANS/L51' model: 'L51' - regex: 'ACK2326' model: 'Artia' # AOC (https://www.aoc.com/) AOC: regex: 'AOC,|(?:Q10107L-ME)(?:[);/ ]|$)' device: 'tv' models: - regex: '(Q10107L-ME)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: '(LE(?:32|43)S5970(?:s)?-(?:20|28|30)|LE55U7970-30|LE43S5977-20|U60856)' model: '$1' # Assistant Assistant: regex: '(AS[-_](?:50[123]|543[1-6]|44[12]1|541[12]|54[23]1|6431|[46]01L)|AP-(?:109|115G|721N|753G|7[25]7G|10[68]|107G|110N|941|719))[;/)_ ]' device: 'smartphone' models: - regex: 'AS[-_]401L(?:[);/ ]|$)' model: 'Asper' - regex: 'AS-5432(?:[);/ ]|$)' model: 'Agio' - regex: 'AS[-_](?:5434|501)(?:[);/ ]|$)' model: 'Club' - regex: 'AS_601L(?:[);/ ]|$)' model: 'AS-601L' - regex: 'AS-5433 Secret(?:[);/ ]|$)' model: 'Secret' - regex: 'AS-5433(?:[);/ ]|$)' model: 'Max Secret' - regex: 'AS-5421(?:[);/ ]|$)' model: 'Surf' - regex: 'AS-44[12]1(?:[);/ ]|$)' model: 'Unami' - regex: 'AS-5431(?:[);/ ]|$)' model: 'Prima' - regex: 'AS-502(?:[);/ ]|$)' model: 'Shot' - regex: 'AS-503(?:[);/ ]|$)' model: 'Target' - regex: 'AS-5435(?:[);/ ]|$)' model: 'Shine' - regex: 'AS-5436[ _]' model: 'Grid' - regex: 'AS-6431(?:[);/ ]|$)' model: 'Rider' - regex: 'AS-5411[_ ]' model: 'Max Ritm' - regex: 'AS-5412 Max(?:[);/ ]|$)' model: 'AS-5412 Max' - regex: 'AP-721N(?:[);/ ]|$)' model: 'AP-721N Force' device: 'tablet' - regex: 'AP-941(?:[);/ ]|$)' model: 'AP-941' device: 'tablet' - regex: 'AP-108(?:[);/ ]|$)' model: 'Cetus' device: 'tablet' - regex: 'AP-106(?:[);/ ]|$)' model: 'AP-106 Force' device: 'tablet' - regex: '(AP-(?:109|115G|7[25]7G|753G|107G|110N|719))(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: '(AS-(?:\d+))(?:[);/ ]|$)' model: '$1' # Ark (Ark Electronic Technology) Ark: regex: '(ARK[_ -])?Benefit[_ -]([^/;]*)(?: Build|\))|Impulse[ _]P[12]|(?:EDGE A5HD|Elf_S8|ICON (R40\+|R45)|Wizard_[12]|UKOZI U[56]|L925)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:ARK[_ -])?Benefit[_ -]([^/;]*)(?: Build|\))' model: 'Benefit $1' - regex: 'Impulse[ _]P1\+' model: 'Impulse P1 Plus' - regex: 'Impulse[ _](P[12])' model: 'Impulse $1' - regex: 'EDGE (A5HD)' model: 'Edge $1' - regex: 'ICON (R40\+|R45)' model: 'Icon $1' - regex: 'Wizard_([12])' model: 'Wizard $1' - regex: 'Elf_S8(?:[);/ ]|$)' model: 'Elf S8' - regex: 'UKOZI U([56])(?:[);/ ]|$)' model: 'Ukozi U$1' - regex: 'L925(?:[);/ ]|$)' model: 'Hercls L925' # Garmin-Asus Garmin-Asus: regex: 'Garmin-Asus|Garminfone' device: 'smartphone' models: - regex: 'Garminfone[ \-_]([^;/]*)Build' model: 'Garminfone $1' - regex: 'Garmin-Asus[ \-_]([^;/]+)Build' model: '$1' - regex: 'Garmin-Asus[ \-_]([^;/]+)[\)/]' model: '$1' # Asus Asus: regex: 'Asus(?! Update)|Transformer|ZenFone Max|MeMOPad 10|TF300T|Slider SL101|PadFone|ME302(?:C|KL)|ME301T|ME371MG|ME17(?:1|2V|3X)|(?:K0[01][0-9a-z]|(?:P(?:00[128ACIL]|01[MTVWYZ]|01MA|01T_1|02[13478])(?: Build|\))|X015D|X018D|X003|X00[7ABT]D|Z00D|Z00[MTY]D|Z01[7FGHKMR]D)|K01[579N]|AST21|K50IJ)(?:[);/ ]|$)|G55[023]KL|ZB(631|602|633|55[135]|50[01])KL|ZC(55[134]|520|600)KL|ZA550KL|ZE(5[02]0|620|55[2345])KL|ZD55[23]KL|ZS6(?:61|7[02136])KS|ZS(6[0236]0|55[10])KL|ZS590KS|ZB(500KG|601KL)|MeMo Pad FHD 10 LTE|Z00[SV]D|P01Y_S|Zenfone 5Z?|AOSP on Duma|Tinker Board(?: S)?|TX201LA|I005DA|I003D|Z00UDH' device: 'smartphone' models: # explicit tablet models - regex: 'XPad 10 ?LTE(?:[);/ ]|$)' model: 'XPad 10 LTE' device: 'tablet' - regex: 'ME171(?:[);/ ]|$)' model: 'Eee Pad MeMO 171' device: 'tablet' - regex: 'ASUS Z906(?:[);/ ]|$)' model: 'Z906 10.1"' device: 'tablet' - regex: 'ME172V' model: 'MeMO Pad' device: 'tablet' - regex: 'ME302C(?:[);/ ]|$)' model: 'MeMO Pad FHD 10' device: 'tablet' - regex: '(?:ME302KL|MeMOPad 10FHD LTE|MeMo Pad FHD 10 LTE|AOSP on Duma)(?:[);/ ]|$)' model: 'MeMO Pad FHD 10 LTE' device: 'tablet' - regex: 'ME301T(?:[);/ ]|$)' model: 'MeMO Pad Smart 10' device: 'tablet' - regex: 'Z101 Prime(?:[);/ ]|$)' model: 'Z101 Prime' device: 'tablet' - regex: 'Z101(?:[);/ ]|$)' model: 'Z101' device: 'tablet' - regex: '(?:X Pad 10 LTE|ASUSXPad10)(?:[);/ ]|$)' model: 'X Pad 10 LTE' device: 'tablet' - regex: '(?:K01[3A7]|K007|K00R)(?:[);/ ]|$)|MeMO Pad 7' model: 'MeMO Pad 7' device: 'tablet' - regex: 'K01E(?:[);/ ]|$)' model: 'MeMO Pad 10 ME103K' device: 'tablet' - regex: 'K00U|ME173X(?:[);/ ]|$)' model: 'MeMO Pad HD 7' device: 'tablet' - regex: '(?:K01[15]|K00L|AST21)(?:[);/ ]|$)' model: 'MeMO Pad 8' device: 'tablet' - regex: 'K014(?:[);/ ]|$)' model: 'MeMO Pad 8.9' device: 'tablet' - regex: 'K00S(?:[);/ ]|$)' model: 'MeMO Pad HD 7 Dual SIM' device: 'tablet' - regex: 'K00F(?:[);/ ]|$)' model: 'MeMO Pad 10' device: 'tablet' - regex: 'K00C(?:[);/ ]|$)' model: 'Transformer Pad TF701T' device: 'tablet' - regex: 'K010(?:[);/ ]|$)' model: 'Transformer Pad TF103C' device: 'tablet' - regex: 'K018(?:[);/ ]|$)' model: 'Transformer Pad TF103CG' device: 'tablet' - regex: 'TF300T(?:[);/ ]|$)' model: 'Transformer Pad TF300T' device: 'tablet' - regex: 'K01B(?:[);/ ]|$)' model: 'Transformer Pad TF303K' device: 'tablet' - regex: 'TX201LA(?:[);/ ]|$)' model: 'Transformer Book Trio' device: 'tablet' - regex: 'Slider SL101' model: 'Eee Pad Slider SL101' device: 'tablet' - regex: 'P01[YZ](?:_S)?' model: 'ZenPad C 7.0' device: 'tablet' - regex: 'P008 Build' model: 'ZenPad Z8' device: 'tablet' - regex: 'P001' model: 'ZenPad Z10' device: 'tablet' - regex: '(?:ASUS_)?P00J' model: 'ZenPad Z8s' device: 'tablet' - regex: 'P01[VW]|P002' model: 'ZenPad 7.0' device: 'tablet' - regex: '(?:P024|P00A)(?:[);/ ]|$)' model: 'ZenPad 8.0' device: 'tablet' - regex: 'P01MA?(?:[);/ ]|$)' model: 'ZenPad S 8.0' device: 'tablet' - regex: 'ASUS_(w706)(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: 'P027' model: 'ZenPad 3S 10' device: 'tablet' - regex: '(?:ASUS_)?P00I' model: 'ZenPad 3S 10 LTE' device: 'tablet' - regex: '(?:ASUS_)?P008' model: 'ZenPad 3 8.0' device: 'tablet' - regex: '(?:ASUS_)?P00C|P02[138]|P00L|P01T_1' model: 'ZenPad 10' device: 'tablet' - regex: 'ASUS Tablet P1801-T' model: 'Transformer AiO P1801 18.4"' device: 'tablet' - regex: 'ASUS TAB A8' model: 'TAB A8' device: 'tablet' # explicit phablet models - regex: 'ME371MG(?:[);/ ]|$)' model: 'Fonepad' device: 'phablet' - regex: 'K00G(?:[);/ ]|$)' model: 'Fonepad Note 6' device: 'phablet' - regex: '(?:K01[2N9]|K00E)(?:[);/ ]|$)' model: 'Fonepad 7' device: 'phablet' - regex: 'K00Z(?:[);/ ]|$)' model: 'Fonepad 7 Dual SIM' device: 'phablet' - regex: 'K016(?:[);/ ]|$)' model: 'Fonepad 8' device: 'phablet' # explicit smartphone models - regex: '(?:ASUS_)?A001D|ZB634KL' model: 'ZenFone Max Shot' - regex: '(?:ASUS_)?T00N' model: 'PadFone S' - regex: '(?:ASUS_)?T00[CE]' model: 'PadFone Mini' - regex: '(?:ASUS[-_])?T00T' model: 'PadFone X Mini' - regex: 'PadFone T008' model: 'PadFone E' - regex: 'PadFone T004' model: 'PadFone Infinity' - regex: '(?:ASUS_)?A002(A)?' model: 'ZenFone AR' - regex: '(?:ASUS_)?AI2401_H' model: 'ZenFone 11 Ultra' - regex: '(?:ASUS_)?(?:I006D|ZS590KS)' model: 'ZenFone 8' - regex: '(?:ASUS_)?(?:I004D|ZS672KS)' model: 'ZenFone 8 Flip' - regex: '(?:ASUS_)?(?:AI2202)' model: 'ZenFone 9' - regex: '(?:ASUS_)?(?:AI2302)' model: 'ZenFone 10' - regex: '(?:ASUS_)?A006' model: 'ZenFone V' - regex: '(?:ASUS_)?A009' model: 'ZenFone V Live' - regex: '(?:ASUS_)?Z007' model: 'ZenFone C' - regex: '(?:ASUS_)?(X00P[SD]|ZB555KL)' model: 'ZenFone Max M1' - regex: '(?:ASUS_)?(?:ZB60[12]KL)|ZenFone Max Pro M1' model: 'ZenFone Max Pro M1' - regex: '(?:ASUS[_-])?(X01([AB]D)|ZB633KL)(?:[);/ ]|$)' model: 'ZenFone Max M2' - regex: '(?:ASUS_)?(?:Z00[AD]|Z008D|Z008|Z00AD[AB]?|ZE551ML)' model: 'ZenFone 2' - regex: '(?:ASUS_)?(?:ZenFone 2E)' model: 'ZenFone 2E' - regex: '(?:ASUS_)?(?:A007|Z00YD|ZA550KL|ZB553KL|ZB501KL)(?:[);/ ]|$)' model: 'ZenFone Live' - regex: '(?:ASUS_)?(?:X00RD|G552KL)' model: 'ZenFone Live L1' - regex: 'G553KL' model: 'ZenFone Lite L1' - regex: '(?:ASUS_)?(?:Z00[ERLMTW]D|Z011D|ZE500KL)' model: 'ZenFone 2 Laser' - regex: '(?:ASUS_)?(?:T00[IQ1]|Z01KD)' model: 'ZenFone 4' - regex: '(?:ASUS_)?T00P' model: 'ZenFone 5 LTE' - regex: '(?:ASUS_)?(?:T00K|X017DA|X017D|ZC600KL)' model: 'ZenFone 5 Lite' - regex: '(?:ASUS_)?(?:Z01RD|ZS620KL)|Zenfone 5Z' model: 'ZenFone 5Z' - regex: '(?:ASUS_)?(?:T00[JF]|X00QD|X00QSA|ZE620KL)|Zenfone 5' model: 'ZenFone 5' - regex: '(?:ASUS_)?(?:T00G|Z002|ZS630KL|I01WD[X]?)' model: 'ZenFone 6' - regex: '(?:ASUS_)?ZS671KS' model: 'ZenFone 7 Pro' - regex: '(?:ASUS_)?(?:ZS670KS|I002D|AI2205_[AC])(?:[);/ ]|$)' model: 'ZenFone 7' - regex: '(?:ASUS_)?Z010D' model: 'ZenFone Max' - regex: '(?:ASUS_)?X018D' model: 'ZenFone Max Plus M1' - regex: '(?:ASUS_)?X00TD?' model: 'ZenFone Max Pro M1' - regex: '(?:ASUS_)?(?:X01BDA|ZB631KL|Zenfone Max Pro M2)' model: 'ZenFone Max Pro M2' - regex: '(?:ASUS_)?X014D' model: 'ZenFone Go Plus' - regex: '(?:ASUS_)?(L001|X00[7AB]D|X009[DB][DA]|X009D|Z00[SV]D|ZB500K[LG]|ZB551KL)' model: 'ZenFone Go' - regex: '(?:ASUS_)?(?:G550KL|X013DB)' model: 'ZenFone Go TV' - regex: '(?:ASUS_)?X013D' model: 'ZenFone Go Life' - regex: '(?:ASUS_)?Z00[SV]D' #ZC500TG model: 'ZenFone Go' - regex: '(?:ASUS_)?(X00[23])' model: 'ZenFone Pegasus' - regex: '(?:ASUS_)?X005' model: 'ZenFone Pegasus 5000' - regex: '(?:ASUS_)?X550' model: 'ZenFone Pegasus 2 Plus' - regex: '(?:ASUS_)?(X00GD)' model: 'ZenFone Pegasus 3S Max' - regex: '(?:ASUS_)?(?:X00D[DS]|X008D)|ZC553KL' model: 'ZenFone 3 Max' - regex: '(?:ASUS_)?(X008)' model: 'ZenFone 3 Pegasus' - regex: '(?:ASUS_)?(ZE553KL|Z01HDA?)' model: 'ZenFone 3 Zoom' - regex: '(?:ASUS_)?ZS550KL' model: 'ZenFone 3 Deluxe' - regex: '(?:ASUS_)?Z00UD' model: 'ZenFone Selfie' - regex: '(?:ASUS_)?(Z016[DS]|Z01FD)' model: 'ZenFone 3 Deluxe' - regex: '(?:ASUS_)?Z(?:017DA|E520KL|E552KL|017D|012(?:DC?|S))' model: 'ZenFone 3' - regex: '(?:ASUS_)?Z01B[DS]|ZC551KL' model: 'ZenFone 3 Laser' - regex: '(?:ASUS_)?A001' model: 'ZenFone 3 Ultra' - regex: '(?:ASUS_)?(?:ZD552KL|Z01MDA?)(?:[);/ ]|$)' model: 'ZenFone 4 Selfie Pro' - regex: '(?:ASUS_)?(?:X00LDA|ZD553KL)' model: 'ZenFone 4 Selfie' - regex: '(?:ASUS_)?(?:X00LD|Z01KS|Z01KDA|ZE554KL)' model: 'ZenFone 4' - regex: '(?:ASUS_)?X00(?:[HIK]D|IS)|ZC554KL|ZC520KL' model: 'ZenFone 4 Max' - regex: '(?:ASUS_)?X015D' model: 'ZenFone 4 Max Plus' - regex: '(?:ASUS_)?(:?Z01G[DS]|ZS551KL)' model: 'ZenFone 4 Pro' - regex: '(?:ASUS_)?Z00XS' model: 'ZenFone Zoom' - regex: '(?:ASUS_)?(?:Z01QD|ZS600KL)' model: 'ROG Phone' - regex: '(?:ASUS_)?(?:I001D[ABCE]?|ZS660KL)' model: 'ROG Phone 2' - regex: '(?:ASUS_)?(?:I003DD?|ZS661KS)' model: 'ROG Phone 3' - regex: '(?:ASUS_)?(?:I005D[AC]?|ZS67[36]KS|ROG Phone 5)' model: 'ROG Phone 5' - regex: '(?:ASUS_)?(?:AI2201)' model: 'ROG Phone 6' - regex: '(?:ASUS_)?(?:AI2203)' model: 'ROG Phone 6D' - regex: '(?:ASUS_)?(?:AI2205)' model: 'ROG Phone 7' - regex: '(?:ASUS_)?(?:AI2401)' model: 'ROG Phone 8' - regex: '(?:ASUS_)?(?:I007D)' model: 'Smartphone for Snapdragon Insiders' # desktop detections - regex: 'ZN220IC' device: 'desktop' model: 'Zen AiO ZN220IC' - regex: '(K50IJ)(?:[);/ ]|$)' device: 'desktop' model: '$1' # peripheral detections - regex: 'Tinker Board( S)?' device: 'peripheral' model: 'Tinker Board$1' # tv detections - regex: 'asus_google_cube' device: 'tv' model: 'Cube' # watch detections - regex: '(?:ASUS_)?ZenWatch( 2)?' device: 'wearable' model: 'ZenWatch$1' # general detections - regex: 'Asus(?:-|;)?([a-z0-9]+)' model: '$1' - regex: '(PadFone(?: [^;/]+)?) Build' model: '$1' - regex: '(PadFone(?: [a-z0-9]+)?)' model: '$1' - regex: '(?:Asus|Transformer) ((?:Pad |Prime )?TF[0-9a-z]+)' device: 'tablet' model: 'Transformer $1' - regex: 'Chromebook Flip (C10[01]PA|C302)' device: 'desktop' model: 'Chromebook Flip $1' # Audiovox Audiovox: regex: 'Audiovox|(?<!M5 lite )CDM|UTS(?:TARCOM)?\-|audio(?!book)[a-z0-9\-]+' device: 'smartphone' models: - regex: 'Audiovox[_\-]([a-z0-9\-]+)' model: '$1' - regex: 'CDM(?:-)?([a-z0-9]+)' model: 'CDM-$1' - regex: 'UTS(?:TARCOM)?-([a-z0-9\-]+)' model: 'CDM-$1' - regex: 'audio([a-z0-9\-]+)' model: 'CDM-$1' # AVH AVH: regex: 'Excer[ _]' device: 'tablet' models: - regex: 'Excer[ _]G5\.([236])' model: 'Excer G5.$1' - regex: 'Excer[ _]G5' model: 'Excer G5' - regex: 'Excer[ _]10[ _]PRO' model: 'Excer 10 Pro' - regex: 'Excer[ _]8' model: 'Excer 8' # Avvio Avvio: regex: 'Avvio[ _]?([a-z0-9\-]+)|(?:CHIVAS_55|Colombia_2018|Mint_M353)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'CHIVAS_55' model: 'Chivas 55' - regex: 'Mint_M353' model: 'Mint M353' - regex: 'Colombia_2018' model: 'Colombia (2018)' - regex: 'Avvio[ _]PAD' model: 'PAD' device: 'tablet' - regex: 'Avvio[ _]?([a-z0-9\-]+)' model: '$1' # Azumi Mobile (azumi-mobile.com) Azumi Mobile: regex: 'Azumi[_ -]|(?:SPEED55|A50_Style_Plus|LT50\+|KIREI A5Q PLUS|NOBU[ _]A55[ _]PRO|IRO A55 QL?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Azumi[_ -]AKANE' model: 'Akane' - regex: 'Azumi[_ -]A4\+' model: 'A4 Plus' - regex: 'Azumi[_ -]([^/;]+) Build' model: '$1' - regex: 'Azumi[_ -]([a-z0-9_]+)' model: '$1' - regex: 'SPEED55' model: 'Speed 5.5"' - regex: 'A50_Style_Plus' model: 'A50 Style Plus' - regex: 'IRO A55 Q' model: 'IRO A55 Q' - regex: 'LT50\+' model: 'LT50 Plus' - regex: 'KIREI A5Q PLUS' model: 'Kirei A5Q Plus' - regex: 'NOBU[ _]A55[ _]PRO' model: 'Nobu A55 Pro' # Barnes & Noble Barnes & Noble: regex: 'Nook|BN[TR]V[0-9]+' device: 'tablet' models: - regex: 'Nook([a-z0-9]+)' model: 'Nook $1' - regex: 'Nook[ _]([^/;]+)[ _]Build' model: 'Nook $1' - regex: '(BN[TR]V[0-9]+)' model: 'Nook $1' # BGH BGH: regex: '(?!Positivo )BGH ([^/;)]+)(?: Build|[;)])' device: 'smartphone' models: - regex: 'Y([17]00|2[01]0|1010)' device: 'tablet' model: 'Y$1' - regex: 'BGH (\+Simple|Mini|M840)' device: 'tablet' model: '$1' - regex: 'Y710 KIDS' device: 'tablet' model: 'Y710 Kids' - regex: 'JOY X2' model: 'Joy X2' - regex: 'BGH ([^/;)]+)(?: Build|[;)])' model: '$1' # Bitel Bitel: regex: 'Bitel[ _-]([^/;]+) Build|(?:B(?:840[5-9]|841[0456]|850[2346]|860[146]|9401|950[1-5])|S8402L?|S8501L?|BPRO)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(B(?:840[5789]|841[0456]|850[2346]|860[146]|9401|950[12345])|S8402L?|S8501L?)' model: '$1' - regex: 'BPRO(?:[);/ ]|$)' model: 'B Pro' - regex: 'Bitel[ _-]([^/;]+) Build' model: '$1' # GDL or GDL Mobile (https://gdlmobile.com/) GDL: regex: 'GDL[_ ](Xtreme 4)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Blu Blu: regex: 'BLU[ _]|(?:blu|(?<!DROIDZ )Dash)[ _]([^/;)]+)(?: Build|[;)])|(?:Studio[ _](G3|J8M|X10L|X12|5\.0K|5\.5|View(?: XL)?|Mega(?: LTE)?|C 8\+8|[CGM][ _]HD|G2 HD|G4|[CGX]|SELFIE|Selfie LTE|Touch|M[45] Plus|J[1258]|X[89] HD|X10\+?|XL(?: 2)?)|Advance (4\.0 ?[LM]|5\.[02](?: HD)?|A4|L[45])|M6 2021|ENERGY (DIAMOND|XL)|ENERGY[_ ]DIAMOND[_ ]MINI|Energy X 2|LIFE XL|B110DL|Dash (?:X[2L]|L3)|PURE (?:X[LR]|MINI|View)|Life One X[23]|G50 (?:Mega|Plus)|G51 Plus|G90(?: PRO)?|G91 Pro|GRAND (?:M3|Max|5\.5 HD|XL LTE|Mini|Energy)|R1 (?:HD|PLUS)|R2 (?:LTE|Plus)|Tank Xtreme [45]\.0|Tank Xtreme(?: Pro)?|Touchbook M7 Pro|DASH X PLUS|C[456] 2019|BOLD (?:M7|N[123]|K[15]0)|B1[34]0DL|Vivo (?:5 Mini|One Plus|5R|XL[234]| Plus|8L|XI[+]?|GO)|(?<!Neffos )C[56]L(?: 2020)?|C6 2020|G9 PRO|D701|VIEW 1|B13[15]DL|R2 3G|Grand (?:M2X?|XL|M2 LTE)|D600|D5[01]0|B1550VL|DIAMOND M|M8L Plus|STUDIO ENERGY|M8L 2022|LIFE X8|M10L (?:Pro|PLUS)|G71 PLUS|G52L|G61S|G91S|Studio Mini 2023|Android 10(?:[\d.]*);(?: [\w-]+;)? (?:G[57]0|G[679]1)|Android 11(?:[\d.]*);(?: [\w-]+;)? J9L|Android 13(?:[\d.]*);(?: [\w-]+;)? (?:G53)|F92 E 5G|(?<!Neffos |CAMELEON )C5 (?:Max|Plus))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'F92 E 5G' model: 'F92 E 5G' - regex: 'Advance (4\.0 ?[LM]|4\.0|5\.[02](?: HD)?|A4|L[54])' model: 'Advance $1' - regex: 'M6 2021(?:[);/ ]|$)' model: 'M6 (2021)' - regex: 'STUDIO X Mini' model: 'Studio X Mini' - regex: 'Studio X10 2022' model: 'Studio X10 (2022)' - regex: 'Studio Mini 2023' model: 'Studio Mini (2023)' - regex: 'STUDIO G PLUS' model: 'Studio G Plus' - regex: '(?:BLU[_ ])?Studio[ _](G3|J8M|5\.0 C|5\.5|C 5\+5 LTE|View(?: XL)?|Mega(?: LTE)?|C 8\+8|G HD LTE|[CG][ _]HD|C|G|Touch|M HD|G2 HD|M[45] Plus|J[1258]|X[89] HD|X5|X10\+?|XL(?: 2)?|X|G4)(?:[);/ ]|$)' model: 'Studio $1' - regex: '(?:BLU[_ ])?Studio[ _]5\.0 ?K(?:[);/ ]|$)' model: 'Studio 5.0 K' - regex: 'STUDIO SELFIE LTE' model: 'Studio Selfie LTE' - regex: 'STUDIO ONE' model: 'Studio One' - regex: 'STUDIO ENERGY' model: 'Studio Energy' - regex: 'STUDIO[_ ](X10L|X12)(?:[);/ ]|$)' model: 'Studio $1' - regex: 'STUDIO SELFIE ([23]|LTE)' model: 'Studio Selfie $1' - regex: 'STUDIO SELFIE' model: 'Studio Selfie' - regex: '(?:BLU[_ ])?NEO_ENERGY_MINI' model: 'Neo Energy Mini' - regex: 'ENERGY[_ ]DIAMOND[_ ]MINI' model: 'Energy Diamond Mini' - regex: 'ENERGY DIAMOND' model: 'Energy Diamond' - regex: 'DIAMOND M' model: 'Diamond M' - regex: 'Grand Energy' model: 'Grand Energy' - regex: 'ENERGY XL' model: 'Energy XL' - regex: 'Energy X 2' model: 'Energy X 2' - regex: 'ENERGY X PLUS 2' model: 'Energy X Plus 2' - regex: 'ENERGY X PLUS' model: 'Energy X Plus' - regex: 'LIFE XL' model: 'Life XL' - regex: 'DASH[ _]X[ _]PLUS[ _]LTE' model: 'Dash X Plus LTE' - regex: 'DASH X PLUS' model: 'Dash X Plus' - regex: 'DASH 4\.5' model: 'Dash 4.5' - regex: 'Dash XL' model: 'Dash XL' - regex: 'PURE (X[LR]|View)' model: 'Pure $1' - regex: 'PURE MINI' model: 'Pure Mini' - regex: 'BOLD (M7|N[123]|K[15]0)' model: 'Bold $1' - regex: 'Life One X2 Mini' model: 'Life One X2 Mini' - regex: 'LIFE ONE (X[23]?)' model: 'Life One $1' - regex: 'LIFE ONE' model: 'Life One' - regex: 'LIFE X LTE' model: 'Life X LTE' - regex: 'LIFE X8' model: 'Life X8' - regex: 'LIFE MARK' model: 'Life Mark' - regex: 'NEO X PLUS' model: 'Neo X Plus' - regex: 'NEO (XL|X|5\.5)' model: 'Neo $1' - regex: 'G50 Mega' model: 'G50 Mega' - regex: 'G(5[01]|71) Plus' model: 'G$1 Plus' - regex: 'G(9[01]?) PRO' model: 'G$1 Pro' - regex: '(G[579]0|G[679]1|D701|R2 3G|G52L|G91S|G61S)(?:[);/ ]|$)' model: '$1' - regex: '(J9L|G53)(?:[);/ ]|$)' model: '$1' - regex: 'GRAND 5\.5 HD' model: 'Grand 5.5 HD' - regex: 'Grand X LTE' model: 'Grand X LTE' - regex: 'Grand XL LTE' model: 'Grand XL LTE' - regex: 'Grand M2 LTE' model: 'Grand M2 LTE' - regex: 'Grand (M2X?|XL)' model: 'Grand $1' - regex: 'Grand Max' model: 'Grand Max' - regex: 'Grand Mini' model: 'Grand Mini' - regex: 'Grand M3' model: 'Grand M3' - regex: 'B110DL' model: 'View Mega' - regex: 'B1550VL' model: 'View Speed 5G' - regex: 'B13[01]DL' model: 'View 2' - regex: 'B135DL' model: 'View 4' - regex: 'B140DL' model: 'View 3' - regex: 'VIEW 1' model: 'View 1' - regex: 'R1 HD' model: 'R1 HD' - regex: 'R2 LTE' model: 'R2 LTE' - regex: 'R([12]) PLUS' model: 'R$1 Plus' - regex: 'C([456]) 20(19|20)' model: 'C$1 (20$2)' - regex: 'Tank Xtreme ([45])\.0' model: 'Tank Xtreme $1.0"' - regex: 'Tank Xtreme Pro' model: 'Tank Xtreme Pro' - regex: 'Tank Xtreme' model: 'Tank Xtreme' - regex: 'VIVO AIR LTE' model: 'Vivo Air LTE' - regex: 'Touchbook G7' model: 'Touchbook G7' - regex: 'C5 (Max|Plus)(?:[);/ ]|$)' model: 'C5 $1' - regex: 'C([56])L 20(20|21)' model: 'C$1L (20$2)' - regex: 'C5L Plus' model: 'C5L Plus' - regex: 'C5L Max' model: 'C5L Max' - regex: 'C([56])L' model: 'C$1L' - regex: '(?:BLU[_ ])?VIVO[ _]SELFIE' model: 'Vivo Selfie' - regex: '(?:BLU[_ ])?Vivo 5 Mini' model: 'Vivo 5 Mini' - regex: 'Vivo One Plus 2019' model: 'Vivo One Plus (2019)' - regex: '(?:BLU[_ ])?Vivo (One|XL3|XI)(?: Plus|[+])' model: 'Vivo $1 Plus' - regex: '(?:BLU[_ ])?Vivo (5R|XI|XL[234]|8L)' model: 'Vivo $1' - regex: '(?:BLU[_ ])?VIVO GO' model: 'Vivo Go' - regex: '(?:BLU[_ ])?(D600|D5[01]0)' model: '$1' - regex: 'Touchbook M7 Pro' model: 'Touchbook M7 Pro' device: 'tablet' - regex: 'M(8|10)L Plus' model: 'M$1L Plus' device: 'tablet' - regex: 'M(10)L Pro' model: 'M$1L Pro' device: 'tablet' - regex: 'M8L (2022)' model: 'M8L ($1)' device: 'tablet' - regex: 'STUDIO 7\.0 II' model: 'Studio 7.0" II' device: 'tablet' - regex: 'DASH (L[45] LTE|5\.0|L[45]X|L3|X2|[LMX])(?:[);/ ]|$)' model: 'Dash $1' - regex: 'DASH[ _]([^)/;]+)(?: Build|\))' model: 'Dash $1' - regex: 'blu[ _]([^/;]+)( Build|[);])' model: '$1' # Bluegood Bluegood: regex: 'BLUEGOOD' device: 'smartphone' models: - regex: 'V6' model: 'V6' # Blackview Blackview: regex: 'Blackview|(BL8[08]00|BV([24-9]000|8[18]00|[468]900|(5[1589]|9[135689])00|6[12368]00|7100)(?:[ _](?:PRO))?|(P10000(?:[ _](?:PRO))?)|omega[ _]pro|Alife[ _][PS]1|N6000|Heatwave|DM550|BV9700Pro|BL9000 Pro|(?<!Lenovo[_ ])A[68]0(?:Pro)?\))|(?:SOLID 4 G2|A[86]0Plus|A80S|BL(?:6000|8800)Pro|R6 Lite|P2Lite|A8 MAX|A30-RU|A20Pro|Android 10(?:[\d.]*);(?: [\w-]+;)? Tab[89]|Android 10(?:[\d.]*);(?: [\w-]+;)? (?:A80)|Android 11(?:[\d.]*);(?: [\w-]+;)? (?:A95|A100|BL5000|Tab 12)|Android 1[12](?:[\d.]*);(?: [\w-]+;)? (?:A[79]0|A70 Pro|A55 Pro|Tab 1[01356]|Tab 6)|Android 13(?:[\d.]*);(?: [\w-]+;)? (?:A200 Pro|Tab [86]0|Tab 18|BL9000)|BV500|BV4800|BV[579]200|SOLID_4G1|BV5300(?: Pro)?|Tab [56]0 Kids|Active 8 Pro|Active 8|SHARK 8|Tab 8E|Tab (?:7|[57]0|8|11) WiFi|COLOR 8|Tab 1[23] Pro|MEGA 1|WAVE 6C|HERO 10|A52 Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'A([2678]0|5[25]) ?Pro(?:[);/ ]|$)' model: 'A$1 Pro' - regex: 'A([6798]0|95|100)(?: Build|[;)])' model: 'A$1' - regex: 'A8 MAX(?:[);/ ]|$)' model: 'A8 Max' - regex: 'A80S(?:[);/ ]|$)' model: 'A80S' - regex: 'A30-RU' model: 'A30' - regex: '(A[86]0|BV[59]500)Plus(?:[);/ ]|$)' model: '$1 Plus' - regex: '(P2|R6) ?Lite' model: '$1 Lite' - regex: 'BV9000Pro-F' model: 'BV9000 Pro' - regex: '(BL[69]000|BL8800|BV(?:[0-9]+)|A200) ?Pro' model: '$1 Pro' - regex: '(BL[579]000|BV6000S|BL8[08]00|N6000)' model: '$1' - regex: 'Blackview (A[78]|E7S)' model: '$1' - regex: 'COLOR 8' model: 'Color 8' - regex: 'SHARK 8' model: 'Shark 8' - regex: 'WAVE 6C' model: 'Wave 6C' - regex: 'HERO 10' model: 'Hero 10' - regex: 'SOLID_4G1' model: 'Solid-4 G1' - regex: 'SOLID 4 G2' model: 'Solid-4 G2' - regex: '(BV6[13]00)(?:[);/ ]|$)' model: '$1' device: 'phablet' - regex: '(BV\d+[\w]?|P10000)[ _]?PRO(?:[-_](?:RU|F))?(?:[);/ ]|$)' model: '$1 Pro' - regex: '(BV\d+[\w]?|P10000)(?:[-_](?:RU|F))?(?:[);/ ]|$)' model: '$1' - regex: 'Active 8 Pro' device: 'tablet' model: 'Active 8 Pro' - regex: 'Active 8' device: 'tablet' model: 'Active 8' - regex: 'MEGA 1' device: 'tablet' model: 'Mega 1' - regex: 'Tab (1[0235]) Pro(?:[);/ ]|$)' device: 'tablet' model: 'Tab $1 Pro' - regex: 'Tab ?([56]0? Kids|8E)(?:[);/ ]|$)' device: 'tablet' model: 'Tab $1' - regex: 'Tab (7|[57]0|8|11) WiFi(?:[);/ ]|$)' device: 'tablet' model: 'Tab $1 WiFi' - regex: 'Tab 11 SE(?:[);/ ]|$)' device: 'tablet' model: 'Tab 11 SE' - regex: 'Tab ?([689]|1[0123568]|[68]0)(?:[);/ ]|$)' device: 'tablet' model: 'Tab $1' - regex: 'omega[ _]pro' model: 'Omega Pro' - regex: '(Alife[ _][PS]1|DM550|Heatwave)' model: '$1' # Bluboo (bluboo.tel) Bluboo: regex: 'Bluboo|Maya Build|(?:(?<!IQM )Picasso(?: 4G)?|Xfire2?|D6 Lite|D1_Pro|D6 Pro|S8_plus_a| S8a|Android 8(?:[\d.]*);(?: [\w-]+;)? D6)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Maya Build' model: 'Maya' - regex: 'Xfire2' model: 'Xfire 2' - regex: 'Picasso(?: 4G)?' model: 'Picasso 4G' - regex: 'Xfire' model: 'Xfire' - regex: 'D6 Lite' model: 'D6 Lite' - regex: 'S8_plus_a' model: 'S8 Plus' - regex: 'S8a' model: 'S8a' - regex: 'D([16])[_ ]Pro' model: 'D$1 Pro' - regex: '(?:Bluboo[_ ])?S8[_ ]plus' model: 'S8 Plus' - regex: 'D6(?: Build|[;)])' model: 'D6' - regex: 'Bluboo[ _-]?([^;/)]+)(?: Build|[;)])' model: '$1' - regex: 'Bluboo[ _-]?([^;/)]+)' model: '$1' # Black Fox or BlackFox Black Fox: regex: 'BMM[ _-]?(?:44[123]D|431B|441[AWB]|44[12]S|431[SD]|53[23]D|54[12]S|541[ABW]|54[123]D|543S|531[ABD]|532 S|531S)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'BMM443D' model: 'B7 Fox+' - regex: 'BMM441[AS]' model: 'B8 Fox' - regex: 'BMM442S|BMM441B' model: 'B8 Fox+' - regex: 'BMM441W' model: 'B8M' - regex: 'BMM442D' model: 'B7' - regex: 'BMM531D' model: 'B6' - regex: 'BMM531A' model: 'B5' - regex: 'BMM541A' model: 'B5+' - regex: 'BMM543[DS]' model: 'B4' - regex: 'BMM441D' model: 'B4 Mini' - regex: 'BMM541B' model: 'B4 Mini NFC' - regex: 'BMM531B' model: 'B4 Mini (2019)' - regex: 'BMM542D' model: 'B3+' - regex: 'BMM541D' model: 'B3' - regex: 'BMM541W' model: 'B7R Fox' - regex: 'BMM 532 S' model: 'BMM 532S' - regex: 'BMM[ _-]?(53[23]D|431[DS]|54[12]S|531S|431B)(?:[);/ ]|$)' model: 'BMM $1' # bogo bogo: regex: 'BO-(FRSP4|LFSPBS5|LFSP4|LFSPSL4|LFSPBS5|LFSPSL6QCI)' device: 'smartphone' models: - regex: 'BO-LFSP4' model: 'LifeStyle 4DC' - regex: 'BO-LFSPSL4' model: 'LifeStyle 4SL' - regex: 'BO-LFSPBS5' model: 'LifeStyle 5BS' - regex: 'BO-LFSPSL6QCI' model: 'LifeStyle 6QC' - regex: 'BO-(FRSP4)' model: '$1' # Boway Boway: regex: '(?:sprd-)?(BOWAY)' device: 'smartphone' models: - regex: 'BOWAY[ _-]([^/;]+)[ _]Build' model: '$1' - regex: '([^/;]+) Build/BOWAY' model: '$1' - regex: '.*BOWAY[ _-]([^/;]+)/' model: '$1' # Brondi (https://www.brondi.it/) Brondi: regex: 'Brondi[ _]|(?:CENTURION|GLADIATOR| GLORY|LUXURY|SENSUELLE|(?<!ODYSSEY[_ ])VICTORY|AMICO[_ ]SMARTPHONE[_ ](?:4G|X[SL]|S\+)|MIDNIGHT_SKY|501 SZ|850_4G)(?:[ _-]?[2-6])?(?:[);/ ]|$)|Surfing Tab' device: 'smartphone' models: - regex: '(?:Brondi[ _])?(620 SZ|730_4G_HD|501 SZ|850_4G)(?:[);/ ]|$)' model: '$1' - regex: 'CENTURION(?:[ _-]?([2-6]))?(?:[);/ ]|$)' model: 'CENTURION $1' - regex: 'GLADIATOR(?:[ _-]?([2-6]))?(?:[);/ ]|$)' model: 'GLADIATOR $1' - regex: 'GLORY(?:[ _-]?([2-6]))?(?:[);/ ]|$)' model: 'GLORY $1' - regex: 'LUXURY(?:[ _-]?([2-6]))?(?:[);/ ]|$)' model: 'LUXURY $1' - regex: 'MIDNIGHT_SKY(?:[);/ ]|$)' model: 'Midnight Sky' - regex: 'SENSUELLE(?:[ _-]?([2-6]))?(?:[);/ ]|$)' model: 'SENSUELLE $1' - regex: 'VICTORY(?:[ _-]?([2-6]))?(?:[);/ ]|$)' model: 'VICTORY $1' - regex: 'AMICO_SMARTPHONE_4G' model: 'Amico Smartphone 4G' - regex: 'AMICO SMARTPHONE (X[LS]|S\+)' model: 'Amico Smartphone $1' - regex: 'Surfing Tab ([^;/]+) Build' model: 'SURFING TAB $1' device: 'tablet' - regex: 'Surfing Tab ([^;/)]+)[;/)]' model: 'SURFING TAB $1' device: 'tablet' # VGO TEL (vgotel.com) VGO TEL: regex: 'VGOTEL|(?:Venture V(?:[278]|12)|VentureV10|Ocean[_ ][689]|Ocean9L|NEW (?:1[01256]|2[024]|[57])|V TAB 2|i_Smart)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Venture ?V([278]|1[02])(?:[);/ ]|$)' model: 'Venture V$1' - regex: 'Ocean[_ ]?([689]|9L)(?:[);/ ]|$)' model: 'Ocean $1' - regex: 'NEW (\d+)' model: 'New $1' - regex: 'i_Smart' model: 'i Smart' - regex: 'V TAB 2' device: 'tablet' model: 'V Tab 2' # Vivo (vivo.com.cn, vivo.com) Vivo: regex: '((?:VIV-|BBG-)?(?<!FBCR/|NOA |Gtel )vivo(?!(?:Browser)| 4G_r))|iQOO Neo \d|(?:V1730(D[AT]|GA)|V18(?:01A0|13B[AT])|1819|V1937|I(?:192[78]|201[28]|2218)|V(?:2026|2031|2036|2043)_21|V1936TL|V1936AL|V(?:1732|1809|181[3468]|182[149]|183[1268]|1901|191[13469]|192[1-48]|193[0246]|194[15]|195[05]|196[235]|198[16]|1990|201[12]|202[03-5]|203[146]|204[6789]|205[45679]|2066B|206[1568]|207[23]|208[05]|2099|2106|211[18]|212[135]|213[346]|214[1358]|2162)A|V1824BA|V(?:1731|1818|2020)CA|V(?:1818|1938)CT|V(?:1730|2031)EA|V(?:1732|1809|181[3468]|182[19]|183[1268]|1901|1913|1938)T|I201[19]|I2126|X50 Pro\+|I220[123678]|I2127|I221[234679]|I222[03]|I230[124]|I2009|I2017|I2022|V1962BA|V1930|PA2170|PA23[57]3|V20(?:0[1256]|0[215]A|[34]4|29_PK|4[57]A?|23EA|2[2-9]|3[0-35-9]|4[0-3568]|5[02-5789]|6[015689]|69B?A|70)|V21(?:0[12459]|1[01]|2[04-79]|3[012459]A?|7[12]A|4[0-79]|40A|6[0289]|64[KP]A|6[234568]A|7[08]A|1[4-8]A?|0[28]A?|5[4678]A|5[0-478]|8[03568]A|80GA|66(?:BA)?|56FA|9[069]A|99GA)|V22(?:8[2345]A|7[01289]A|5[0123]|30EA|4[0246789]|41HA|5[46]A?|3[016789]|34(?:_PK)?|3[01289]A|4[2345]A|[34]1A|2[12589]|2[079]A|[36]6A|0[37]A|0[1-9]|1[789]A|1[24789])|V23(?:4[34]A|4[12356]|12BA|24HA|61GA|66[GH]A|3[1-46789]|3[4789]A|39FA|0[1-479]A|0[23789]|52A?|5[015]|5[349]A|6[124]A|2[0-57]|2[3479]A|1[0124-9]|1[23478]A)|V24(?:0[16]|1[02]|03A)|I2306|S7t 5G| (?:Y30g|Y20T|Y31s 5G|Y33s|Y50t|Y55s 5G)|iQOO (?:U[13]x?|Z1x 5G|Z5x|[578]|Z[153])|NEX 3s? 5G|Z5x 712|iPA2375|PA2473|Y51A|Y51 PK)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'PA2170' device: 'tablet' model: 'Pad' - regex: 'PA2373' device: 'tablet' model: 'Pad 2' - regex: 'PA2473' device: 'tablet' model: 'Pad 3 Pro' - regex: 'PA2353' device: 'tablet' model: 'Pad Air' - regex: 'iPA2375' device: 'tablet' model: 'iQOO Pad' - regex: 'V2170A(?:[);/ ]|$)' device: 'phablet' model: 'X Note' - regex: 'V2256A' device: 'phablet' model: 'X Flip' - regex: 'V2178A' device: 'phablet' model: 'X Fold' - regex: 'V2266A' device: 'phablet' model: 'X Fold 2' - regex: 'V2303A' device: 'phablet' model: 'X Fold 3' - regex: 'V2337A' device: 'phablet' model: 'X Fold 3 Pro' - regex: 'V2229A' device: 'phablet' model: 'X Fold+' - regex: '(Y20T|Y30g)(?:[);/ ]|$)' model: '$1' - regex: 'V2318A' model: 'G2' - regex: 'V2324A|V2309(?:[);/ ]|$)' model: 'X100 Pro' - regex: 'V2366[GH]A' model: 'X100 Ultra' - regex: 'V2309A|V2308' model: 'X100' - regex: 'V2324HA' model: 'X100s Pro' - regex: 'V2359A' model: 'X100s' - regex: '(?:V2307|V2343A|V2401)(?:[);/ ]|$)' model: 'Y200 5G' - regex: 'V2361GA' model: 'Y200 GT' - regex: 'V2354A' model: 'Y200i' - regex: 'V2336(?:[);/ ]|$)' model: 'Y200e 5G' - regex: 'V1824[B]?A(?:[);/ ]|$)' model: 'iQOO' - regex: 'V1955A(?:[);/ ]|$)' model: 'iQOO 3' - regex: '(?:V2171A|I2017)(?:[);/ ]|$)' model: 'iQOO 9' - regex: 'I2019(?:[);/ ]|$)' model: 'iQOO 9 SE' - regex: '(?:V2172A|I2022)(?:[);/ ]|$)' model: 'iQOO 9 Pro' - regex: 'I2201(?:[);/ ]|$)' model: 'iQOO 9T' - regex: 'V2218A' model: 'iQOO 10 Pro' - regex: 'V2217A' model: 'iQOO 10' - regex: '(?:V2243A|I2212)(?:[);/ ]|$)' model: 'iQOO 11' - regex: 'V2304A' model: 'iQOO 11S' - regex: 'V2254A' model: 'iQOO 11 Pro' - regex: 'I2220|V2307A' model: 'iQOO 12' - regex: 'V2329A' model: 'iQOO 12 Pro' - regex: 'I192[78](?:[);/ ]|$)' model: 'iQOO 3 5G' - regex: 'V2165A(?:[);/ ]|$)' model: 'iQOO U5' - regex: 'V2180GA' model: 'iQOO U5x' - regex: 'iQOO 7 Legend' model: 'iQOO 7 Legend' - regex: 'iQOO 7 India' model: 'iQOO 7 India' - regex: '(?:V2049A|I2009|iQOO 7)(?:[);/ ]|$)' model: 'iQOO 7' - regex: 'V2196A' model: 'iQOO Neo 6' - regex: '(?:V2231A|I2214)(?:[);/ ]|$)' model: 'iQOO Neo 7' - regex: 'V2232A' model: 'iQOO Neo 7 Racing Edition' - regex: 'I2217' model: 'iQOO Neo 7 Pro' - regex: 'V2238A' model: 'iQOO Neo 7 SE' - regex: 'V2302A' model: 'iQOO Neo 8 Pro' - regex: 'I2304|V2339A' model: 'iQOO Neo 9 Pro' - regex: 'V2338A' model: 'iQOO Neo 9' - regex: 'V2339FA' model: 'iQOO Neo 9S Pro' - regex: 'V2403A' model: 'iQOO Neo 9S Pro+' - regex: 'V2157A' model: 'iQOO Neo 5 SE' - regex: 'V2154A|iQOO Neo 5S' model: 'iQOO Neo 5S' - regex: 'I2012(?:[);/ ]|$)' model: 'iQOO 7 5G' - regex: 'V1922A(?:[);/ ]|$)' model: 'iQOO Pro' # 2019 - regex: 'V1916A(?:[);/ ]|$)' model: 'iQOO Pro 5G' - regex: 'V1914A(?:[);/ ]|$)' model: 'iQOO Neo' - regex: '(?:V1981A|iQOO Neo 3)(?:[);/ ]|$)' model: 'iQOO Neo 3' - regex: 'V1936(?:TL|A[L]?)(?:[);/ ]|$)' model: 'iQOO Neo 855' - regex: 'V2301A' model: 'iQOO Neo 8' - regex: 'V2055A(?:[);/ ]|$)' model: 'iQOO Neo 5' - regex: '(?:V2118A|iQOO Neo 5 Lite)(?:[);/ ]|$)' model: 'iQOO Neo 5 Lite' - regex: 'V2199A(?:[);/ ]|$)' model: 'iQOO Neo 6 SE' - regex: '(?:V1986A|iQOO Z1)(?:[);/ ]|$)' model: 'iQOO Z1' - regex: 'V2012A(?:[);/ ]|$)' model: 'iQOO Z1x' - regex: 'iQOO Z1x 5G(?:[);/ ]|$)' model: 'iQOO Z1x 5G' - regex: '(?:V2073A|I2011|iQOO Z3 5G)(?:[);/ ]|$)' model: 'iQOO Z3' - regex: 'Z5x 712' model: 'Z5x 712' - regex: 'V1919A|iQOO Z5x' model: 'iQOO Z5x' - regex: 'V2131A' model: 'iQOO Z5x 5G' - regex: 'I2018(?:[);/ ]|$)' model: 'iQOO Z5 5G' - regex: 'V2148A|iQOO Z5' model: 'iQOO Z5' - regex: '(?:I220[236]|I2127|V2220A)(?:[);/ ]|$)' model: 'iQOO Z6' - regex: 'V2164KA' model: 'iQOO Z6x' - regex: 'I2126(?:[);/ ]|$)' model: 'iQOO Z6 Pro' - regex: 'I2208(?:[);/ ]|$)' model: 'iQOO Z6 Lite' - regex: 'V2270A' model: 'iQOO Z7' - regex: 'V2230EA' model: 'iQOO Z7i' - regex: 'I22(?:13|07)(?:[);/ ]|$)' model: 'iQOO Z7 5G' - regex: 'I2301(?:[);/ ]|$)' model: 'iQOO Z7 Pro 5G' - regex: 'V2272A' model: 'iQOO Z7x' - regex: 'I2216(?:[);/ ]|$)' model: 'iQOO Z7x 5G' - regex: 'I2223(?:[);/ ]|$)' model: 'iQOO Z7s 5G' - regex: 'V2314A' model: 'iQOO Z8' - regex: 'V2312A' model: 'iQOO Z8x' - regex: 'V2361A' model: 'iQOO Z9' - regex: 'I2302|I2218' model: 'iQOO Z9 5G' - regex: 'V2352A' model: 'iQOO Z9 Turbo' - regex: 'I2219|V2353A' model: 'iQOO Z9x 5G' - regex: 'I2306' model: 'iQOO Z9 Lite 5G' - regex: '(?:V2023A|iQOO U1)(?:[);/ ]|$)' model: 'iQOO U1' - regex: '(?:V2065A|iQOO U1x)(?:[);/ ]|$)' model: 'iQOO U1x' - regex: '(?:V2061A|iQOO U3)(?:[);/ ]|$)' model: 'iQOO U3' - regex: 'V2143A(?:[);/ ]|$)' model: 'iQOO U3x' - regex: '(?:V2106A|iQOO U3x 5G)(?:[);/ ]|$)' model: 'iQOO U3x 5G' - regex: '(?:V2025A|iQOO 5 Pro)(?:[);/ ]|$)' model: 'iQOO 5 Pro' - regex: '(?:V2024A|iQOO 5)(?:[);/ ]|$)' model: 'iQOO 5' - regex: '(?:V2141A|iQOO 8 Pro)(?:[);/ ]|$)' model: 'iQOO 8 Pro' - regex: '(?:V2136A|iQOO 8)(?:[);/ ]|$)' model: 'iQOO 8' - regex: 'V2339(?:[);/ ]|$)' model: 'V30e' - regex: 'V2337(?:[);/ ]|$)' model: 'V40 SE 5G' - regex: '(?:V2025)(?:[);/ ]|$)' model: 'V20' - regex: '(?:V2066|V2108)(?:[);/ ]|$)' model: 'V21' - regex: '(?:V2050)(?:[);/ ]|$)' model: 'V21 5G' - regex: 'V2061(?:[);/ ]|$)' model: 'V21e' - regex: 'V2055(?:[);/ ]|$)' model: 'V21e 5G' - regex: 'V2040(?:[);/ ]|$)' model: 'V20 (2021)' - regex: 'Vivo 1921(?:[);/ ]|$)' model: 'U20' - regex: 'Vivo 1916(?:[);/ ]|$)' model: 'U10' - regex: 'vivo 1805(?:[);/ ]|$)' model: 'Nex' - regex: '(?:vivo 1912|V1923A)(?:[);/ ]|$)' model: 'Nex 3' - regex: '(?:V1924A|NEX 3 5G)(?:[);/ ]|$)' model: 'Nex 3 5G' - regex: 'V1950A(?:[);/ ]|$)' model: 'Nex 3S' - regex: 'vivo NEX S(?:[);/ ]|$)' model: 'Nex S' - regex: 'NEX 3s 5G(?:[);/ ]|$)' model: 'Nex 3S 5G' - regex: 'vivo NEX A(?:[);/ ]|$)' model: 'Nex A' - regex: 'vivo NEX(?:[);/ ]|$)' model: 'Nex' - regex: '(?:V1821[AT]|vivo 1813)(?:[);/ ]|$)' model: 'Nex Dual Display' - regex: 'Vivo ONE(?:[);/ ]|$)' model: 'One' - regex: 'V2312BA' model: 'Y100i 5G' - regex: 'V2115A|V2141|V2157|V2150' model: 'T1 5G' - regex: 'V2151' model: 'T1 Pro 5G' - regex: 'V2153' model: 'T1 4G' - regex: 'V2143' model: 'T1x' - regex: 'V2188A' model: 'T2x' - regex: 'V2253|V2312' model: 'T2x 5G' - regex: 'V2320|V2199GA' model: 'T2' - regex: 'V2222' model: 'T2 5G' - regex: 'V2321' model: 'T2 Pro 5G' - regex: 'V2240' model: 'T2 5G' - regex: 'V2334(?:[);/ ]|$)' model: 'T3 5G' - regex: 'V2346(?:[);/ ]|$)' model: 'T3 Lite 5G' - regex: 'V2338(?:[);/ ]|$)' model: 'T3x 5G' - regex: 'V1962BA' model: 'G1 5G' - regex: 'V2203A(?:[);/ ]|$)' model: 'S15' - regex: 'V2344A' model: 'S18 Pro' - regex: 'V2362A' model: 'S19 Pro' - regex: 'V2334A' model: 'S18e' - regex: 'V2323A' model: 'S18' - regex: 'V2364A' model: 'S19' - regex: 'V1831[AT]' model: 'S1' - regex: 'V1832[AT](?:[);/ ]|$)' model: 'S1 Pro' - regex: 'V2121A(?:[);/ ]|$)' model: 'S10' - regex: 'V2130A' model: 'S10e 5G' - regex: 'V211[56]' model: 'V23e' - regex: 'V2126' model: 'V23e 5G' - regex: 'V2130' model: 'V23 5G' - regex: 'V2132A' model: 'X70t' - regex: 'V2132' model: 'V23 Pro 5G' - regex: 'V2202' model: 'V25 SE' - regex: 'V220[19]|V2242(?:[);/ ]|$)' model: 'V25e' - regex: 'V2230A' model: 'Y35m' - regex: 'V2230' model: 'V27 Pro' - regex: 'V2237' model: 'V27e' - regex: 'V22(?:31|46)' model: 'V27' - regex: 'V2250' model: 'V29' - regex: 'V2251' model: 'V29 Pro' - regex: 'V2303' model: 'V29e' - regex: 'V2317A' model: 'Y12 (2023)' - regex: 'V2317' model: 'V29e 5G' - regex: 'V2315' model: 'Y28 5G' - regex: 'V2351' model: 'Y28s 5G' - regex: 'V2352(?:[);/ ]|$)' model: 'Y28' - regex: 'V2244(?:[);/ ]|$)' model: 'V29 Lite 5G' - regex: 'V2318(?:[);/ ]|$)' model: 'V30' - regex: 'V2342' model: 'V30 Lite' - regex: 'V2327A' model: 'Y36t' - regex: 'V2343(?:[);/ ]|$)' model: 'Y38 5G' - regex: 'V23(?:27|14)(?:[);/ ]|$)' model: 'V30 Lite 5G' - regex: 'V2341' model: 'V40 Lite' - regex: 'V2319' model: 'V30 Pro' - regex: 'V1932[AT](?:[);/ ]|$)' model: 'S5' - regex: 'V2207A' model: 'S15 Pro' - regex: 'V1962A(?:[);/ ]|$)' model: 'S6 5G' - regex: 'V2162A?' model: 'S12 5G' - regex: 'V2190A' model: 'S15e' - regex: 'V2244A' model: 'S16' - regex: 'V2245A' model: 'S16 Pro' - regex: 'V2239A' model: 'S16e' - regex: 'V2020C?A(?:[);/ ]|$)' model: 'S7' - regex: 'V2283A' model: 'S17' - regex: 'V2282A' model: 'S17t' - regex: 'V2285A' model: 'S17e' - regex: 'V2284A' model: 'S17 Pro' - regex: 'V2031EA(?:[);/ ]|$)' model: 'S7e' - regex: 'V2080A(?:[);/ ]|$)' model: 'S7t' - regex: 'S7t 5G(?:[);/ ]|$)' model: 'S7t 5G' - regex: 'V2072A(?:[);/ ]|$)' model: 'S9 (2021)' - regex: 'V2048A(?:[);/ ]|$)' model: 'S9e' - regex: 'V1941A(?:[);/ ]|$)' model: 'U3' - regex: 'V1928A(?:[);/ ]|$)' model: 'U3X' - regex: 'vivo 1804(?:[);/ ]|$)' model: 'V11 Pro' - regex: 'vivo 1806(?:[);/ ]|$)' model: 'V11i' - regex: '1819(?:[);/ ]|$)' model: 'V15' - regex: 'vivo 1818(?:[);/ ]|$)' model: 'V15 Pro' - regex: 'vivo 19(?:10|09)(?:[);/ ]|$)' model: 'V17 Pro' - regex: 'vivo 1907(?:_19)?(?:[);/ ]|$)' model: 'V17 Neo' - regex: 'vivo 19(?:20(?:_20)?|19)(?:[);/ ]|$)' model: 'V17' - regex: 'vivo 1933(?:[);/ ]|$)' model: 'V19' - regex: 'V2022(?:[);/ ]|$)' model: 'V20 SE' - regex: 'vivo 2018(?:[);/ ]|$)' model: 'V20 Pro' - regex: '(?:VIV-|BBG-)?vivo[ _]1601(?:[);/ ]|$)' model: 'V5' - regex: 'vivo 1609(?:[);/ ]|$)' model: 'V5 Lite' - regex: 'vivo 1611(?:[);/ ]|$)' model: 'V5 Plus' - regex: 'vivo (1713|1612)(?:[);/ ]|$)' model: 'V5s' - regex: 'vivo 1718(?:[);/ ]|$)' model: 'V7' - regex: 'V2166BA(?:[);/ ]|$)' model: 'V77e' - regex: 'vivo (?:1716|1850)(?:[);/ ]|$)' model: 'V7 Plus' - regex: 'vivo 1723(?:[);/ ]|$)' model: 'V9' - regex: '(?:vivo 1727|V9Youth)(?:[);/ ]|$)' model: 'V9 Youth' - regex: 'vivo (?:1851|V9Pro)(?:[);/ ]|$)' model: 'V9 Pro' - regex: 'vivo V3Max(?: [AL])?(?:[);/ ]|$)' model: 'V3 Max' - regex: 'vivo X9s Plus(?:[);/ ]|$)' model: 'X9s Plus' - regex: 'vivo X9s(?: [AL])?(?:[);/ ]|$)' model: 'X9s' - regex: 'V2241A|V2218(?:[);/ ]|$)' model: 'X90' - regex: 'V2219(?:[);/ ]|$)' model: 'X90 Pro' - regex: 'V2241HA' model: 'X90s' - regex: 'vivo X5Pro(?:[);/ ]|$)' model: 'X5 Pro' - regex: 'vivo X20Plus UD(?:[);/ ]|$)' model: 'X20 Plus UD' - regex: 'vivo 1721(?:[);/ ]|$)' model: 'X20' - regex: '(?:X20Plus(?: a)?|vivo 1720)(?:[);/ ]|$)' model: 'X20 Plus' - regex: 'vivo X21i(?: A)?(?:[);/ ]|$)' model: 'X21i' - regex: 'vivo X21UD(?: A)?(?:[);/ ]|$)' model: 'X21 UD' - regex: 'vivo (?:1725|X21A?)(?:[);/ ]|$)' model: 'X21' - regex: 'V1814[AT](?:[);/ ]|$)' model: 'X21S' - regex: 'V1809[AT](?:[);/ ]|$)' model: 'X23' - regex: 'V1816[AT](?:[);/ ]|$)' model: 'X23' - regex: 'V18(38|29)[AT](?:[);/ ]|$)' model: 'X27' - regex: 'V1836[AT](?:[);/ ]|$)' model: 'X27 Pro' - regex: 'V1938CT(?:[);/ ]|$)' model: 'X30' - regex: 'V1938T(?:[);/ ]|$)' model: 'X30 Pro' - regex: '(?:V2001A|vivo 2004)(?:[);/ ]|$)' model: 'X50' - regex: 'V1930(?:[);/ ]|$)' model: 'X50e' - regex: 'vivo 2005(?:[);/ ]|$)' model: 'X50 5G' - regex: '(?:vivo 1937|V1937)(?:[);/ ]|$)' model: 'X50 Lite' - regex: '(?:V2005A|vivo 2006)(?:[);/ ]|$)' model: 'X50 Pro' - regex: '(?:V2011A|X50 Pro\+)(?:[);/ ]|$)' model: 'X50 Pro Plus' - regex: '(?:V20(?:46|59)A|V2045)(?:[);/ ]|$)' model: 'X60' - regex: 'V2085A(?:[);/ ]|$)' model: 'X60t' - regex: '(?:V2047A|V2046)(?:[);/ ]|$)' model: 'X60 Pro' - regex: '(?:V2056A|V2047)(?:[);/ ]|$)' model: 'X60 Pro Plus' - regex: '(?:V2134A|V2105)(?:[);/ ]|$)' model: 'X70 Pro' - regex: '(?:V2145A|V2114)(?:[);/ ]|$)' model: 'X70 Pro+' - regex: 'V2133A(?:[);/ ]|$)' model: 'X70' - regex: 'V2104(?:[);/ ]|$)' model: 'X70 5G' - regex: '(?:V2144|V2183A)(?:[);/ ]|$)' model: 'X80' - regex: 'V2242A' model: 'X90 Pro' - regex: 'V2227A' model: 'X90 Pro+' - regex: 'V218[56]A|V2145' model: 'X80 Pro' - regex: 'V2208(?:[);/ ]|$)' model: 'X80 Lite 5G' - regex: 'X([0-9])Plus(?: A)?(?:[);/ ]|$)' model: 'X$1 Plus' - regex: 'vivo Xplay6(?:[);/ ]|$)' model: 'X Play 6' - regex: 'vivo (?:1929|2015)(?:_21)?(?:[);/ ]|$)' model: 'Y1s' - regex: 'vivo 1902(?:[);/ ]|$)' model: 'Y17' - regex: 'V2310|V2331' model: 'Y17s' - regex: '(?:V2333|V2345)(?:[);/ ]|$)' model: 'Y18' - regex: 'V2410(?:[);/ ]|$)' model: 'Y18s' - regex: 'V2350' model: 'Y18e' - regex: 'V22[01]4(?:[);/ ]|$)' model: 'Y16' - regex: '(?:vivo 1906(?:_20)?|V2236A)(?:[);/ ]|$)' model: 'Y11' - regex: 'V2140A' model: 'Y10' - regex: 'V2168A' model: 'Y10 T1' - regex: 'V2313A' model: 'Y100 5G' - regex: 'V2239|V2412' model: 'Y100' - regex: 'V2168' model: 'T1' - regex: 'V2118' model: 'Y01' - regex: 'V2166(?:[);/ ]|$)' model: 'Y01A' - regex: '(?:V2203|V222[19])(?:[);/ ]|$)' model: 'Y02s' - regex: '(?:V225[24]|V2325)(?:[);/ ]|$)' model: 'Y02t' - regex: '(?:V2217|V2236|V2234_PK)(?:[);/ ]|$)' model: 'Y02' - regex: '(?:V2234)(?:[);/ ]|$)' model: 'Y02A' - regex: 'V2332|V2406' model: 'Y03' - regex: 'vivo 19(?:04|40)(?:[);/ ]|$)' model: 'Y12' - regex: 'V2163A' model: 'Y12 Pro' - regex: 'V2102(?:[);/ ]|$)' model: 'Y12a' - regex: 'vivo 2007(?:[);/ ]|$)' model: 'Y12i' - regex: 'vivo 1901(?:_19)?(?:[);/ ]|$)' model: 'Y15' - regex: 'V2134' model: 'Y15a' - regex: '(?:V212[05]|V2139)(?:[);/ ]|$)' model: 'Y15s' - regex: 'V2147|V2212' model: 'Y15c' - regex: 'vivo 1915(?:[);/ ]|$)' model: 'Y19' - regex: 'V202[79](?:_PK)?(?:[);/ ]|$)' model: 'Y20' - regex: '(?:V2207|V2238)(?:[);/ ]|$)' model: 'Y22' - regex: 'V2249' model: 'Y27' - regex: 'V2322' model: 'Y27s' - regex: 'V2302' model: 'Y27 5G' - regex: 'V2206(?:[);/ ]|$)' model: 'Y22s' - regex: 'vivo 1613(?:[);/ ]|$)' model: 'Y25' - regex: '(?:V2043_21|V2048)(?:[);/ ]|$)' model: 'Y20 (2021)' - regex: '(?:V205[24]|V2070|V2101|V2034)(?:[);/ ]|$)' model: 'Y20A' - regex: 'V2037(?:[);/ ]|$)' model: 'Y20G' - regex: 'V2129(?:[);/ ]|$)' model: 'Y20T' - regex: 'V2065(?:[);/ ]|$)' model: 'Y20G (2021)' - regex: 'V2028(?:[);/ ]|$)' model: 'Y11s' - regex: 'V2038(?:[);/ ]|$)' model: 'Y20s' - regex: 'V2043(?:[);/ ]|$)' model: 'Y20 (2021)' - regex: 'V2279A' model: 'Y35+' - regex: 'V2278A' model: 'Y77t' - regex: 'V2271A' model: 'Y78+' - regex: 'V(?:2041|2060)(?:[);/ ]|$)' model: 'Y72 5G' - regex: 'V2102A' model: 'Y72T 5G' - regex: 'V2117' model: 'Y75' - regex: 'V2219A' model: 'Y77' - regex: 'V2169' model: 'Y77 5G' - regex: 'V2032(?:[);/ ]|$)' model: 'Y20i' - regex: 'V2110(?:[);/ ]|$)' model: 'Y21s' - regex: 'V2152(?:[);/ ]|$)' model: 'Y21G' - regex: 'V2111(?:[);/ ]|$)' model: 'Y21' - regex: 'V2149(?:[);/ ]|$)' model: 'Y21a' - regex: 'V2140(?:[);/ ]|$)' model: 'Y21e' - regex: 'V213[15](?:[);/ ]|$)' model: 'Y21t' - regex: 'V2023(?:[);/ ]|$)' model: 'V20 SE' - regex: 'V1901[AT](?:[);/ ]|$)' model: 'Y3' - regex: 'V2044' model: 'Y3s' # 2021 - regex: 'V1930A(?:[);/ ]|$)' model: 'Y3 Standard' - regex: '(?:vivo 193[89]|V203[46]A)(?:[);/ ]|$)' model: 'Y30' - regex: 'V2160(?:[);/ ]|$)' model: 'Y30 5G' - regex: 'V2099A(?:[);/ ]|$)' model: 'Y30 (2021)' - regex: 'V2066[B]?A(?:[);/ ]|$)' model: 'Y30g' - regex: 'V2036(?:_21)?(?:[);/ ]|$)' model: 'Y31' - regex: 'V2068A?(?:[);/ ]|$)' model: 'Y31s' - regex: 'V2158A' model: 'Y32' - regex: 'V2228(?:[);/ ]|$)' model: 'V25' - regex: 'V2158' model: 'V25 Pro' - regex: 'V2180A' model: 'Y32t' - regex: 'V2057(?:[);/ ]|$)' model: 'Y33' - regex: '(?:V2109|Y33s)(?:[);/ ]|$)' model: 'Y33s' - regex: 'V2146(?:[);/ ]|$)' model: 'Y33t' - regex: 'V2166A(?:[);/ ]|$)' model: 'Y33s (2022)' - regex: 'V2205(?:[);/ ]|$)' model: 'Y35' - regex: '(?:V2247|V2324)(?:[);/ ]|$)' model: 'Y36' - regex: 'V2248(?:[);/ ]|$)' model: 'Y36 5G' - regex: 'V1934A(?:[);/ ]|$)' model: 'Y5s' - regex: '(?:V1965A|vivo 1935)(?:[);/ ]|$)' model: 'Y50' - regex: '(?:V2023EA|Y50t)(?:[);/ ]|$)' model: 'Y50t' - regex: 'V(?:2024|203[05])(?:[);/ ]|$)' model: 'Y51' - regex: 'Y51 PK(?:[);/ ]|$)' model: 'Y51 PK' - regex: 'vivo 1707(?:[);/ ]|$)' model: 'Y51 (2015)' - regex: 'V2031(?:_21)?(?:[);/ ]|$)' model: 'Y51s' - regex: 'Y51A(?:[);/ ]|$)' model: 'Y51A' - regex: '(?:V2054A|Y31s 5G)(?:[);/ ]|$)' model: 'Y31s' - regex: 'V2057A(?:[);/ ]|$)' model: 'Y52s' - regex: 'V2053(?:[);/ ]|$)' model: 'Y52' - regex: 'vivo 1606(?:[);/ ]|$)' model: 'Y53i' - regex: 'vivo 1606a(?:[);/ ]|$)' model: 'Y53' - regex: '(?:V2058|V2111A|V2123A)(?:[);/ ]|$)' model: 'Y53s' - regex: 'V2069A' model: 'Y53s T1' - regex: 'vivo 1603(?:[);/ ]|$)' model: 'Y55l' - regex: 'vivo 1610(?:[);/ ]|$)' model: 'Y55s' - regex: 'V2164A|Y55s 5G' model: 'Y55s (2021)' - regex: 'V2164PA' model: 'Y73t 5G' - regex: 'V2127' model: 'Y55 5G' - regex: 'V2154' model: 'Y55' - regex: 'V2045A' model: 'Y54s' - regex: 'V2311|V2225' model: 'Y56 5G' - regex: 'V2355' model: 'Y58 5G' - regex: 'vivo 1719(?:[);/ ]|$)' model: 'Y65' - regex: 'vivo (?:1714|Y69A?)(?:[);/ ]|$)' model: 'Y69' - regex: 'V2002A(?:[);/ ]|$)' model: 'Y70s' - regex: 'V2006(?:[);/ ]|$)' model: 'Y60s' - regex: 'vivo (?:1724|Y71A?)(?:[);/ ]|$)' model: 'Y71' - regex: 'vivo 1801i?(?:[);/ ]|$)' model: 'Y71i' - regex: 'V1731CA(?:[);/ ]|$)' model: 'Y73' - regex: 'V2059(?:[);/ ]|$)' model: 'Y73 (2021)' - regex: 'V2031A(?:[);/ ]|$)' model: 'Y73s' - regex: 'V2124(?:[);/ ]|$)' model: 'Y76 5G' - regex: 'V2156F?A' model: 'Y76s' - regex: 'V1913[AT](?:[);/ ]|$)' model: 'Y7s' - regex: 'vivo 180([38]|8i)(?:[);/ ]|$)' model: 'Y81' - regex: 'vivo 1812(?:_19)?(?:[);/ ]|$)' model: 'Y81i' - regex: 'V1732[AT](?:[);/ ]|$)' model: 'Y81s' - regex: 'vivo (?:Y83A?|1802)(?:[);/ ]|$)' model: 'Y83' - regex: 'vivo 1726(?:[);/ ]|$)' model: 'Y83 Pro' - regex: 'V1730EA(?:[);/ ]|$)' model: 'Y89' - regex: 'vivo (?:1823|1908)(?:_19)?(?:[);/ ]|$)' model: 'Y90' - regex: 'vivo 181[17](?:[);/ ]|$)' model: 'Y91' - regex: 'vivo 1820(?:_19)?(?:[);/ ]|$)' model: 'Y91i' - regex: 'V1945A(?:[);/ ]|$)' model: 'Y9s' - regex: '(?:V2026|V2033|V2042)(?:[);/ ]|$)' model: 'Y12s' - regex: '(?:V20[63]9|V2026_21)(?:[);/ ]|$)' model: 'Y12s (2021)' - regex: 'vivo 18(16|20)(?:[);/ ]|$)' model: 'Y91i' - regex: '(V1818[AT]|vivo 181[45])(?:[);/ ]|$)' model: 'Y93' - regex: 'V1818C[AT](?:[);/ ]|$)' model: 'Y93s' - regex: 'vivo 1807(?:[);/ ]|$)' model: 'Y95' - regex: 'V1813[AT](?:[);/ ]|$)' model: 'Y97' - regex: 'V1801A0(?:[);/ ]|$)' model: 'Z1' - regex: 'vivo (?:1918|1951|Z1Pro)(?:[);/ ]|$)' model: 'Z1 Pro' - regex: 'V1730D[AT](?:[);/ ]|$)' model: 'Z1i' - regex: 'vivo 1917(?:[);/ ]|$)' model: 'Z1x' - regex: 'V1813B[AT](?:[);/ ]|$)' model: 'Z3' - regex: '(?:vivo Z3x|V1730GA)(?:[);/ ]|$)' model: 'Z3x' - regex: 'V1921A(?:[);/ ]|$)' model: 'Z5' - regex: 'V1911A(?:[);/ ]|$)' model: 'Z5x' - regex: 'V1990A(?:[);/ ]|$)' model: 'Z5x (2020)' - regex: 'V1963A(?:[);/ ]|$)' model: 'Z6' - regex: 'V2142(?:[);/ ]|$)' model: 'Y75 5G' - regex: '(?:vivo Y75s|V2069BA)(?:[);/ ]|$)' model: 'Y75s' - regex: 'vivo X710L?(?:[);/ ]|$)' model: 'X Shot' - regex: 'X6SPlus(?: [AD])?(?:[);/ ]|$)' model: 'X6S Plus' - regex: 'vivo X6S(?: A)?(?:[);/ ]|$)' model: 'X6S' - regex: 'vivo X([5679]|20)[ALD]?(?:[);/ ]|$)' model: 'X$1' - regex: 'vivo X5Pro(?: L)?(?:[);/ ]|$)' model: 'X5 Pro' - regex: 'vivo Y66i(?: A)?(?:[);/ ]|$)' model: 'Y66i' - regex: 'vivo Y(\d{2})[AL]?(?:[);/ ]|$)' model: 'Y$1' - regex: 'vivo Xplay(\d)S(?:[);/ ]|$)' model: 'X Play $1S' - regex: 'vivo Xplay(\d)[AL]?(?:[);/ ]|$)' model: 'X Play $1' - regex: '(?:VIV-|BBG-)?vivo[ _]([^/;]+) Build' model: '$1' - regex: '(?:VIV-|BBG-)?vivo[ _]([^);/]+)(?:[);/ ]|$)' model: '$1' # Vinsoc Vinsoc: regex: '(XA Pro) Build' device: 'smartphone' model: '$1' # Bird Bird: regex: 'BIRD[-. _]([^;/]+)|(E5018)(?:[);/ ]|$)' device: 'feature phone' models: - regex: '(E5018)(?:[);/ ]|$)' model: '$1' - regex: 'BIRD[\-. _]([^;/]+) Build' model: '$1' - regex: 'BIRD[\-. _]([^;/]+)' model: '$1' # Becker Becker: regex: 'Becker-([a-z0-9]+)' device: 'feature phone' model: '$1' # Beeline Beeline: regex: 'Beeline|(?:A239s|SWG2001A-A|RASSE-001)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Beeline[_ ]Pro[_ ]([2436])' model: 'Pro $1' - regex: 'Tab (Fast(?: 2)?|Pro)' model: 'Tab $1' device: 'tablet' - regex: 'Tab ([0-9])' model: 'Tab $1' device: 'tablet' - regex: 'Tab' model: 'Tab' device: 'tablet' - regex: 'E([67]00)' model: 'E$1' - regex: '(?:Beeline[_ ])?Smart[ _]?([0-9])' model: 'Smart $1' - regex: 'Smart Dual' model: 'Smart Dual' - regex: '(?:Beeline[_ ])?Fast[_ ]2(?:[);/ ]|$)' model: 'Fast 2' - regex: 'Fast(?:[);/ ]|$)' model: 'Fast' - regex: 'A239s(?:[);/ ]|$)' model: 'Smart 8 A239s' - regex: '(RASSE-001)' device: 'tv' model: '$1' - regex: '(SWG2001A-A)(?:[);/ ]|$)' device: 'tv' model: 'Beebox $1' # SuperWave # Beetel Beetel: regex: 'Beetel ([a-z0-9]+)' device: 'feature phone' model: '$1' # BenQ-Siemens BenQ-Siemens: regex: 'BENQ-SIEMENS - ([a-z0-9]+)' device: 'feature phone' model: '$1' # BenQ BenQ: regex: 'BENQ(?:[ \-])?([a-z0-9]+)|(?:F52_09|F5_15|T47_09)(?:[);/ ]|$)' device: 'feature phone' models: - regex: '(F(?:52|5)|T47)_(?:15|09)(?:[);/ ]|$)' model: '$1' - regex: 'BENQ(?:[ \-])?([a-z0-9]+)' model: '$1' # Blaupunkt (blaupunkt.com) Blaupunkt: regex: 'Blaupunkt|(?:Soundphone S2|Atlantis[_ ](?:1001A|1010A|A10[._]G40[23])|SLplus02|Discovery[_ ](?:A10_302|10[28]C|111C|1000C|1001A?)|Endeavour[_ ](?:785|101[GLM]|1000|1001|101[03]|1100)|Polaris[_ ]80[38](?:_BE)?|BP_(?:6010|6110)|B-STREAM|SL05|SM 02 2019|SF04 4G|A-STREAM)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Discovery[_ ](1000|111|10[28])C' model: 'Discovery $1C' - regex: 'Discovery[_ ]A10_302' model: 'Discovery A10.302' - regex: 'Discovery[_ ]1001A' model: 'Discovery 1001A' - regex: 'Discovery[_ ]1001' model: 'Discovery 1001' - regex: 'Soundphone S2' model: 'Soundphone S2' - regex: 'Endeavour[_ ](101[GLM]|785|100[01]|101[03]|1100)' model: 'Endeavour $1' - regex: 'Polaris[_ ](808[_ ]BE|80[38])' model: 'Polaris $1' - regex: 'Atlantis_A10_G403' model: 'Atlantis A10.G403' - regex: 'Atlantis[_ ](1001A|1010A|A10\.G40[23])' model: 'Atlantis $1' - regex: 'SLplus02' model: 'SL Plus 02' - regex: 'BP_(6010|6110)' model: 'BP $1' - regex: 'Blaupunkt[_ ](SL[_ ]0[124]|SM[_ ]0[12])' device: 'smartphone' model: '$1' - regex: '(SF02|SL05|SF04 4G)' device: 'smartphone' model: '$1' - regex: 'SM 02 2019' device: 'smartphone' model: 'SM 02 (2019)' - regex: '(4K Android TV|A-STREAM)' device: 'tv' model: '$1' - regex: 'B-STREAM' device: 'tv' model: 'Box Stream' # Bmobile Bmobile: regex: 'Bmobile[_ ]|B60Pro(?:_MV03)?|BL40_MV12|BL50P_TG0[567]|BL51_MV05|BL53_TG06|BL54_?Pro|(?:B50Pro|BL5[02]|BL60_TG(?:05|17)|BL60M_MV05|BL60 Pro|BL6[12]|BL63_TG07|FUN 4 2018|AX686A|AX-?(?:[1-9][0-9]{2,3}[eEO+]?|7OO))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AX-?([1-9][0-9]{2,3}[eAEO+]?)' model: 'AX$1' - regex: 'AX7OO' model: 'AX700' - regex: 'FUN 4 2018' model: 'Fun 4 (2018)' - regex: 'B60Pro(?:_MV03)?' model: 'B60 Pro' - regex: 'BL40_MV12(?:[);/ ]|$)' model: 'BL40' - regex: 'BL60_TG(?:05|17)' model: 'BL60' - regex: 'BL60 Pro(?:[);/ ]|$)' model: 'BL60 Pro' - regex: 'BL63_TG07(?:[);/ ]|$)' model: 'BL63' - regex: 'BL60M_MV05' model: 'BL60M' - regex: 'B50Pro' model: 'B50 Pro' - regex: 'BL50P_TG0[567](?:[);/ ]|$)' model: 'BL50 Pro' - regex: 'BL(5[02])(?:[);/ ]|$)' model: 'BL$1' - regex: 'BL51_MV05(?:[);/ ]|$)' model: 'BL51' - regex: 'BL53_TG06(?:[);/ ]|$)' model: 'BL53' - regex: 'BL54_?Pro' model: 'BL54 Pro' - regex: 'BL6([12])(?:[);/ ]|$)' model: 'BL6$1' - regex: 'Bmobile[_ ]([^/;]+) Build' model: '$1' - regex: 'Bmobile[_ ]([a-z0-9]+)' model: '$1' # bq bq: regex: 'Aquaris|bq [^/;]+ Build|BQS[-_]([0-9]{4})|(BQ(ru)?[_ -][0-9]{3,4})|BQ5059|BQ1008G|BQru_BQru-|Edison 3|Smart_TV_BQ|Fnac 10 3G' device: 'smartphone' models: - regex: 'BQ(?:ru)?-(?:5209L|5044)(?:[);/ ]|$)' model: 'Strike LTE' - regex: 'BQ(?:ru)?-(?:6035L)(?:[);/ ]|$)' model: 'Strike Power Max' - regex: 'BQ(?:ru)?-(?:5535L)(?:[);/ ]|$)' model: 'Strike Power Plus' - regex: 'BQ(S|ru)?-6353L' model: 'Joy' - regex: 'BQ(S|ru)?-(?:5070|6040L)(?:[);/ ]|$)' model: 'Magic' - regex: 'BQ(S|ru)?-(?:6424L)(?:[);/ ]|$)' model: 'Magic O' - regex: 'BQ(?:S|ru)?-(?:5730L)(?:[);/ ]|$)' model: 'Magic C' - regex: 'BQ(?:S|ru)?-(?:5731L)(?:[);/ ]|$)' model: 'Magic S' - regex: 'BQ(?:S|ru)?-57[46]5L(?:[);/ ]|$)' model: 'Clever' - regex: 'BQ(?:S|ru)?-5533G(?:[);/ ]|$)' model: 'Fresh' - regex: 'BQ(?:S|ru)?-5031G(?:[);/ ]|$)' model: 'Fun' - regex: 'BQ(?:S|ru)?-(?:5732L)(?:[);/ ]|$)' model: 'Aurora SE' - regex: 'BQ(?:S|ru)?-6430L(?:[);/ ]|$)' model: 'Aurora' - regex: 'BQ(?:S|ru)?-6630L(?:[);/ ]|$)' model: 'Magic L' - regex: 'BQ-9011[G]?(?:[);/ ]|$)' model: 'Vision' device: 'tablet' - regex: 'BQ-8068L(?:[);/ ]|$)' model: 'Hornet Plus Pro' - regex: 'BQ-8067L' model: 'Hornet Plus' device: 'tablet' - regex: 'BQ-8052G' model: 'BQ-8052G' device: 'tablet' - regex: 'BQ-8041L' model: 'Art' device: 'tablet' - regex: 'BQ-7084G' model: 'Simple' device: 'tablet' - regex: 'BQ-7061G' model: 'Andros' device: 'tablet' - regex: 'BQ(ru)?-(7082)' model: 'Armor' device: 'tablet' - regex: 'BQ-7051G' model: 'Elba' device: 'tablet' - regex: 'BQ-7036L' model: 'Hornet' device: 'tablet' - regex: 'BQ-7022(G)?' model: 'Canion' device: 'tablet' - regex: 'Fnac 10 3G' model: 'Fnac 10" 3G' device: 'tablet' - regex: 'BQ-7021G' model: 'Hit' device: 'tablet' - regex: 'BQ-7010G' model: 'Max' device: 'tablet' - regex: 'BQ-7006G' model: 'Union' device: 'tablet' - regex: 'BQ-7003' model: 'Jamaica' device: 'tablet' - regex: 'BQ-6200L|BQ-6000L' model: 'Aurora' - regex: 'BQ(?:ru|s)?-6631G' model: 'Surf' - regex: 'BQ-6645L' model: '6645L Element' - regex: 'BQ-6061L' model: '6061L Slim' - regex: 'BQ-6022G' model: 'Aura' - regex: 'BQ(ru)?[ -]6015L' model: 'Universe' - regex: 'BQ(?:S|ru)?-(?:5525|6030G|6010G)' model: 'Practic' - regex: 'BQ-6001L|BQ-6050' model: 'Jumbo' - regex: 'BQ-5707G(?:[);/ ]|$)' model: 'Next Music' - regex: 'BQ-5702(?:[);/ ]|$)' model: 'Spring' - regex: 'BQ-5700L(?:[);/ ]|$)' model: 'Space X' - regex: 'BQ-(?:5591|551[89]G)(?:[);/ ]|$)' model: 'Jeans' - regex: 'BQ-5522' model: 'Next' - regex: 'BQ-5520L(?:[);/ ]|$)' model: 'Silk' - regex: 'BQ-5519L(?:[);/ ]|$)' model: 'Fast Plus' - regex: 'BQ-5540L(?:[);/ ]|$)' model: 'Fast Pro' - regex: 'BQ-5517L(?:[);/ ]|$)' model: 'Twin Pro' - regex: 'BQ-5516L(?:[);/ ]|$)' model: 'Twin' - regex: 'BQ(?:S|ru)?-(?:5515|6868L)(?:[);/ ]|$)' model: 'Wide' - regex: 'BQ-5515L(?:[);/ ]|$)' model: 'Fast' - regex: 'BQ-(?:5512L|5528L)(?:[);/ ]|$)' model: 'Strike Forward' - regex: 'BQ-5511L(?:[);/ ]|$)' model: 'Bliss' - regex: 'BQS[_ ]5505(?:[);/ ]|$)' model: 'Amsterdam' - regex: 'BQ(?:ru)?-5510(?:[);/ ]|$)' model: 'Strike Power Max 4G' - regex: 'BQ(?:ru)?-(?:5521|5594)(?:[);/ ]|$)' model: 'Strike Power Max' - regex: 'BQ-5508L(?:[);/ ]|$)' model: 'Next LTE' - regex: 'BQ-5507L(?:[);/ ]|$)' model: 'Iron Max' - regex: 'BQ(?:ru)?-5504(?:[);/ ]|$)' model: 'Strike Selfie Max' - regex: 'BQ(?:ru)?-5503(?:[);/ ]|$)' model: 'Nice 2' - regex: 'BQ(?:ru)?-6045L(?:[);/ ]|$)' model: 'Nice' - regex: 'BQ(?:ru)?-4030G(?:[);/ ]|$)' model: 'Nice Mini' - regex: 'BQS-5502(?:[);/ ]|$)' model: 'Hammer' - regex: 'BQS-5501(?:[);/ ]|$)' model: 'Kawasaki' - regex: 'BQS-5500(?:[);/ ]|$)' model: 'Vancouver' - regex: 'BQ-5500L(?:[);/ ]|$)' model: 'Advance' - regex: 'BQ-5302G(?:[);/ ]|$)' model: 'Velvet 2' - regex: 'BQ-5301(?:[);/ ]|$)' model: 'Strike View' - regex: 'BQ-5300G(?:[);/ ]|$)' model: 'Velvet View' - regex: 'BQ(ru|S)?-(?:5211|5020)(?:[);/ ]|$)' model: 'Strike' - regex: 'BQ-5206L(?:[);/ ]|$)' model: 'Balance' - regex: 'BQ(?:ru|S)?-(?:5204|5050)(?:[);/ ]|$)' model: 'Strike Selfie' - regex: 'BQ(?:ru)?-5203(?:[);/ ]|$)' model: 'Vision' - regex: 'BQ(?:ru)?-5202(?:[);/ ]|$)' model: 'Space Lite' - regex: 'BQ(?:ru)?-5201(?:[);/ ]|$)' model: 'Space' - regex: 'BQ-5082(?:[);/ ]|$)' model: 'Sense 2' - regex: 'BQ-5045L(?:[);/ ]|$)' model: 'Wallet' - regex: 'BQ-5047L(?:[);/ ]|$)' model: 'Like' - regex: 'BQ-5071(?:[);/ ]|$)' model: 'Belief' - regex: 'BQ[S]?-(?:5065|5340)(?:[);/ ]|$)' model: 'Choice' - regex: 'BQ(?:S|ru)?-5046L(?:[);/ ]|$)' model: 'Choice LTE' - regex: 'BQ(?:ru)?-?(?:5059|5514G)(?:[);/ ]|$)' model: 'Strike Power' - regex: '(?:BQru_)?BQ(?:ru)?-5058(?:[);/ ]|$)' model: 'Strike Power Easy' - regex: 'BQ(?:ru)?-5057(?:[);/ ]|$)' model: 'Strike 2' - regex: 'BQ[S]?-(?:5056|5030)(?:[);/ ]|$)' model: 'Fresh' - regex: 'BQ-6042l(?:[);/ ]|$)' model: 'Magic E' - regex: 'BQS-5055(?:[);/ ]|$)' model: 'Turbo Plus' - regex: 'BQ(?:ru)?-5054(?:[);/ ]|$)' model: 'Crystal' - regex: 'BQ-5052(?:[);/ ]|$)' model: 'Sense' - regex: 'BQ-5060L' model: 'Basic' - regex: 'BQ-6051G(?:[);/ ]|$)' model: 'Soul' - regex: 'BQ[S]?-5045(?:[);/ ]|$)' model: 'Fast' - regex: 'BQ(?:ru)?-(?:5037|5514L)(?:[);/ ]|$)' model: 'Strike Power 4G' - regex: 'BQ(?:ru)?-5035(?:[);/ ]|$)' model: 'Velvet' - regex: 'BQ(?:ru)?-5033(?:[);/ ]|$)' model: 'Shark' - regex: 'BQ-5541L(?:[);/ ]|$)' model: 'Shark Rush' - regex: 'BQ-5032(?:[);/ ]|$)' model: 'Element' - regex: 'BQS-5025(?:[);/ ]|$)' model: 'High Way' - regex: 'BQ(?:ru)?-5022(?:[);/ ]|$)' model: 'Bond' - regex: 'BQ-5015L(?:[);/ ]|$)' model: 'First' - regex: 'BQ-5016G(?:[);/ ]|$)' model: 'Choice' - regex: 'BQ-5012L(?:[);/ ]|$)' model: 'Rich' - regex: 'BQ-5521L(?:[);/ ]|$)' model: 'Rich Max' - regex: 'BQS-5011(?:[);/ ]|$)' model: 'Monte Carlo' - regex: 'BQ-5010G(?:[);/ ]|$)' model: 'Spot' - regex: 'BQ-5000G(?:[);/ ]|$)' model: 'Velvet Easy' - regex: 'BQS-5010(?:[);/ ]|$)' model: 'Prague' - regex: 'BQ-5009L(?:[);/ ]|$)' model: 'Trend' - regex: 'BQ-5560L' model: 'Trend (2021)' - regex: 'BQ-5565L' model: 'Fest' - regex: 'BQS-500[59](?:[);/ ]|$)' model: 'Sydney' - regex: 'BQ-5008L(?:[);/ ]|$)' model: 'Brave' - regex: 'BQ-5007L(?:[);/ ]|$)' model: 'Iron' - regex: 'BQS-5006(?:[);/ ]|$)' model: 'Los Angeles' - regex: 'BQ-(?:5005L|5530L)(?:[);/ ]|$)' model: 'Intense' - regex: 'BQS-5004(?:[);/ ]|$)' model: 'Paris' - regex: 'BQ-5003L(?:[);/ ]|$)' model: 'Shark Pro' - regex: 'BQ-5002G(?:[);/ ]|$)' model: 'Fun' - regex: 'BQS-5002(?:[);/ ]|$)' model: 'Colombo' - regex: 'BQS-5003(?:[);/ ]|$)' model: 'Colombo II' - regex: 'BQ-5001L(?:[);/ ]|$)' model: 'Contact' - regex: 'BQS-5001(?:[);/ ]|$)' model: 'Milan' - regex: 'BQ(?:ru|S)?-5000(?:[);/ ]|$)' model: 'Tokyo' - regex: 'BQS-4800(?:[);/ ]|$)' model: 'Blade' - regex: 'BQS-4707(?:[);/ ]|$)' model: 'Montreal' - regex: 'BQS-4702(?:[);/ ]|$)' model: 'Оsaka' - regex: 'BQS-4701(?:[);/ ]|$)' model: 'Venice' - regex: 'BQ-(?:4585|5011G)(?:[);/ ]|$)' model: 'Fox View' - regex: 'BQ(?:ru)?-4583(?:[);/ ]|$)' model: 'Fox Power' - regex: 'BQS-4570(?:[);/ ]|$)' model: 'Drive' - regex: 'BQS-4560(?:[);/ ]|$)' model: 'Golf' - regex: 'BQS-4555(?:[);/ ]|$)' model: 'Turbo' - regex: 'BQS-4550(?:[);/ ]|$)' model: 'Richmond' - regex: 'BQ(?:ru)?-(?:4526|5004G)(?:[);/ ]|$)' model: 'Fox' - regex: 'BQS-4525(?:[);/ ]|$)' model: 'Vienna' - regex: 'BQS-4516(?:[);/ ]|$)' model: 'Singapore' - regex: 'BQS-4515(?:[);/ ]|$)' model: 'Moscow' - regex: 'BQS-4510(?:[);/ ]|$)' model: 'Florence' - regex: 'BQS-4505(?:[);/ ]|$)' model: 'Santiago' - regex: 'BQS-4503(?:[);/ ]|$)' model: 'Dubai' - regex: 'BQS-4502(?:[);/ ]|$)' model: 'Kingston' - regex: 'BQS-4501 Bristol' model: 'Bristol' - regex: 'BQ-4501G(?:[);/ ]|$)' model: 'Fox Easy' - regex: 'BQ(?:ru)?-4500(?:[);/ ]|$)' model: 'Fox LTE' - regex: 'BQ-4077(?:[);/ ]|$)' model: 'Shark Mini' - regex: 'BQ(?:ru)?-4072(?:[);/ ]|$)' model: 'Strike Mini' - regex: 'BQ(?:ru)?[- ]402[68](?:[);/ ]|$)' model: 'Up!' - regex: 'BQS-4010(?:[);/ ]|$)' model: 'Aspen' - regex: 'BQS-4009(?:[);/ ]|$)' model: 'Orleans' - regex: 'BQS-4008(?:[);/ ]|$)' model: 'Shanghai' - regex: 'BQS-4007(?:[);/ ]|$)' model: 'Valencia' - regex: 'BQS-4005(?:[);/ ]|$)' model: 'Seoul' - regex: 'BQS-4004(?:[);/ ]|$)' model: 'Dusseldorf' - regex: 'BQS-4003(?:[);/ ]|$)' model: 'Verona' - regex: 'BQ-4001G(?:[);/ ]|$)' model: 'Cool' - regex: 'BQS-4001(?:[);/ ]|$)' model: 'Oxford' - regex: 'BQS-3510(?:[);/ ]|$)' model: 'Aspen Mini' - regex: 'BQS-3503(?:[);/ ]|$)' model: 'Bombay' - regex: 'BQ-1085L(?:[);/ ]|$)' model: 'Hornet Max Pro' device: 'tablet' - regex: 'BQ-1036L' model: 'Exion Advant' device: 'tablet' - regex: 'BQ-1084L(?:[);/ ]|$)' model: 'Hornet Max' device: 'tablet' - regex: 'BQ-1083G(?:[);/ ]|$)' model: 'Armor Pro Plus' device: 'tablet' - regex: 'BQ-1082G(?:[);/ ]|$)' model: 'Armor Pro' device: 'tablet' - regex: 'BQ-1077L(?:[);/ ]|$)' model: 'Armor Pro LTE' device: 'tablet' - regex: 'BQ(?:ru)?-1057L(?:[);/ ]|$)' model: 'Passion' device: 'tablet' - regex: 'BQ-1051G(?:[);/ ]|$)' model: 'Corsika' device: 'tablet' - regex: 'BQ-1050G(?:[);/ ]|$)' model: 'Hawaii' device: 'tablet' - regex: 'BQ[-]?1008G(?:[);/ ]|$)' model: 'Grace' device: 'tablet' - regex: 'Aquaris (M10 FHD|M10 4G|M8)' model: 'Aquaris $1' device: 'tablet' - regex: 'Aquaris_([AM])4\.5' model: 'Aquaris $14.5' - regex: 'BQ(?:ru)?[_ -](?:5590|5740G)(?:[);/ ]|$)' model: 'Spring' - regex: 'BQ[S]?-(?:6016L|5520)(?:[);/ ]|$)' model: 'Mercury' - regex: 'BQ(?:S|ru)?-(?:5701L|5060)(?:[);/ ]|$)' model: 'Slim' - regex: '(BQ-7850|BQ-700[12]G|BQ-8002G|BQ-905[12]G|BQ-9702G|BQ-7056G)' model: '$1' device: 'tablet' - regex: 'BQ-8006G(?:[);/ ]|$)' model: 'Java' device: 'tablet' - regex: 'BQ-9055L' model: 'Exion Pro Mini' device: 'tablet' - regex: 'BQ-8088L' model: 'Exion Surf' device: 'tablet' - regex: 'BQ-7062G(?:[);/ ]|$)' model: 'Fiji' device: 'tablet' - regex: 'BQ(?:ru)?-1081G(?:[);/ ]|$)' model: 'Grace 3G' device: 'tablet' - regex: 'BQ-7802G(?:[);/ ]|$)' model: 'Luzon' device: 'tablet' - regex: 'BQ-7008G(?:[);/ ]|$)' model: 'Clarion' device: 'tablet' - regex: 'BQ-7064G(?:[);/ ]|$)' model: 'Fusion' device: 'tablet' - regex: 'BQ-7050G(?:[);/ ]|$)' model: 'Malta' device: 'tablet' - regex: 'BQ-7000G(?:[);/ ]|$)' model: 'Charm' device: 'tablet' - regex: 'BQ-7040G(?:[);/ ]|$)' model: 'Charm Plus' device: 'tablet' - regex: 'BQ-7038G(?:[);/ ]|$)' model: 'Light Plus' device: 'tablet' - regex: 'BQ-7005G(?:[);/ ]|$)' model: 'Maui' device: 'tablet' - regex: 'BQ-7098G(?:[);/ ]|$)' model: 'Armor Power' device: 'tablet' - regex: 'BQ-1007(?:[);/ ]|$)' model: 'Necker' device: 'tablet' - regex: 'BQ-1045[G]?(?:[);/ ]|$)' model: 'Orion' device: 'tablet' - regex: 'BQ-(?:1054L|1020L)(?:[);/ ]|$)' model: 'Nexion' device: 'tablet' - regex: 'BQ-7083G(?:[);/ ]|$)' model: 'Light' device: 'tablet' - regex: 'BQ-8077L(?:[);/ ]|$)' model: 'Exion Plus' device: 'tablet' - regex: 'BQ(?:ru)?-7083(?:[);/ ]|$)' model: '7083' device: 'tablet' - regex: 'BQ(?:ru)?-1056L(?:[);/ ]|$)' model: '1056L' device: 'tablet' - regex: 'BQ(?:ru)?-1022l(?:[);/ ]|$)' model: 'Armor Pro LTE+' device: 'tablet' - regex: 'BQ(?:ru)?-1024L(?:[);/ ]|$)' model: 'Exion Pro' device: 'tablet' - regex: 'BQ(?:ru)?-7055L(?:[);/ ]|$)' model: 'Exion One' device: 'tablet' - regex: 'BQ(?:ru)?-1025L(?:[);/ ]|$)' model: 'Exion Max' device: 'tablet' - regex: 'BQ(?:ru)?-7081(?:[);/ ]|$)' model: 'Charm' device: 'tablet' - regex: 'Edison 3(?:[);/ ]|$)' model: 'Edison 3' device: 'tablet' - regex: '(?:bq )?Aquaris ([^/);]*)(?: Build|[);])' model: 'Aquaris $1' - regex: '(?:bq )?Aquaris' model: 'Aquaris' - regex: 'bq ([^/;]+) Build' model: '$1' device: 'tablet' - regex: 'Smart_TV_BQ' device: 'tv' model: '' # Bush Bush: regex: 'Bush[ ;,_-]|Bush10Nou' device: 'smartphone' models: - regex: 'Bush10Nou' device: 'tablet' model: '10Nou' - regex: 'Spira B1 (8|10\.1)' device: 'tablet' model: 'Spira B1 $1"' - regex: 'BUSH ([^;/)]+)Tablet(?: Build|[);])' model: '$1Tablet' device: 'tablet' - regex: 'BUSH Spira B2 5 Smartphone' model: 'Spira B2 5"' - regex: 'BUSH ([^;/)]+) Smartphone' model: '$1' - regex: 'BUSH ([^;/)]+)(?: Build|[);])' model: '$1' - regex: 'BUSH\-v\.tv\.([0-9]{4})' device: 'tv' model: 'Smart TV ($1)' - regex: 'BUSH, ([a-z0-9_ \-]+), (?:wired|wireless)' model: '' device: 'tv' # CAGI CAGI: regex: 'CAGI-' device: 'smartphone' models: - regex: 'CAGI-OMEGA' model: 'Omega' - regex: 'CAGI-([a-z0-9_\-]+)' model: '$1' # Capitel Capitel: regex: 'Capitel-([a-z0-9]+)' device: 'feature phone' model: '$1' # Captiva Captiva: regex: 'Captiva[ _-]([^;/)]+)(?: Build|\))' device: 'tablet' model: 'Pad $1' # Casio Casio: regex: '(C811|C7[57]1)(?: 4G)?(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'C751(?:[);/ ]|$)' model: "G'zOne Ravine" - regex: 'C771(?:[);/ ]|$)' model: "G'zOne Commando" - regex: 'C811 4G(?:[);/ ]|$)' model: "G'zOne Commando 4G LTE" # VOCAL or VocalPhone (vocalphone.com) VOCAL: regex: 'VOCAL[ _](V[01])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Casper (casper.com.tr) Casper: regex: 'CASPER[_ ]|VIA[- _](X30(?: Plus)?|[AXS]40|[XF]20|F30|T7D|A[34]|E[43]|E30|F[123]|G[345]|M4|M3[05]|[LS]8|S7|P[23]|V8C|A[13]_Plus(?:_64)?|A1(?:_1)?|S[13]0|S48|S|T17_M|T1[07]|T7|[ST]7-3G|T8B|T8D-3G|S1[78]|S48_0|[LS]30_0|L30|F30 Plus|M30 Plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:CASPER[_ ])?VIA[_ ](A1|[FMX]30)[_ ]Plus(?:_64)?' model: 'VIA $1 Plus' - regex: '(?:CASPER[_ ])?VIA[_ ]([AX]40|[XF]20|F30|X30|G1_Plus|F30 Plus|A3_Plus|G[135]|E[14]|E30|[AE]2|M[123]|V[35689]|V10|G3|V6X|A[34]|E3|F[123]|G4|M4|M3[05]|P[23]|S|V8C|A1(?:_1)?)(?:[);/ ]|$)' model: 'VIA $1' - regex: 'CASPER_VIA_E1c' model: 'VIA E1C' - regex: 'CASPER_L10_4\.5G' model: 'L10 4.5G' device: 'tablet' - regex: 'CASPER_(S[23]8)(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: 'VIA[- _]([ST]7|T8D)-3G' model: 'VIA $1 3G' device: 'tablet' - regex: 'VIA[- _](T7D|S[134]0|S48|[LS]8|S7|T17_M|T1[07]|T7|T8B|S1[78])(?:[);/ ]|$)' model: 'VIA $1' device: 'tablet' - regex: 'VIA[- _](S48|[LS]30)(?:_0)?(?:[);/ ]|$)' model: 'VIA $1' device: 'tablet' # Cat (Caterpillar, Catphones, Bullitt Group) Cat: regex: 'BULLITTGROUPLIMITED|B30_Dorado|Cat ?(tablet|stargate|nova)|(?:B15Q|CAT B35|CAT-B100|S22 FLIP|S62 Pro|S48c|Android 9(?:[\d.]*);(?: [\w-]+;)? S52|Android 10(?:[\d.]*);(?: [\w-]+;)? S42)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'B15Q' model: 'B15Q' device: 'smartphone' - regex: 'CAT B35' model: 'B35' device: 'smartphone' - regex: 'S61(?:[);/ ]|$)' model: 'S61' device: 'smartphone' - regex: 'S62 Pro' model: 'S62 Pro' device: 'smartphone' - regex: 'S22 FLIP' model: 'S22 Flip' device: 'smartphone' - regex: '(S48c|S[45]2)(?:[);/ ]|$)' model: '$1' device: 'smartphone' - regex: 'Cat ?(?:tablet)? ?((?:Galactica|Nova|StarGate|PHOENIX)[^/;]*) Build' model: '$1' - regex: 'Cat ?tablet' model: 'Nova' - regex: 'CAT-(B100)' device: 'feature phone' model: '$1' - regex: '(B30)_Dorado' device: 'feature phone' model: '$1' # Carrefour Carrefour: regex: 'CT(?:10[0123]0|7[12]0|820|735_16GB|1056_32GB|1005)(?:W|FR)?(?:[);/ ]|$)' device: 'tablet' models: - regex: 'CT820' model: 'Touch Tablet Neo2' - regex: 'CT(10[0123]0(?:W|FR)?)' model: 'CT$1' - regex: 'CT(7[12]0(?:W|FR)?|735|1005|1056)' model: 'CT$1' # Celcus Celcus: regex: 'CELCUS, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # Celkon Celkon: regex: 'Celkon|Android 7.+ UNIQ(?: Build|[);])|(?:Millennia Hero|2GBStar|2GBXpress|CliQ2|Campus Prime)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Celkon[ _*](C[78]20)' model: '$1' device: 'tablet' - regex: 'Celkon[_ ]4G_TAB-8' model: '4G Tab 8' device: 'tablet' - regex: 'Millennia Hero' model: 'Millennia Hero' - regex: '2GBStar' model: '2GB Star' - regex: '2GBXpress' model: '2GB Xpress' - regex: 'CliQ2(?:[);/ ]|$)' model: 'CliQ 2' - regex: 'Q4GPlus(?:[);/ ]|$)' model: 'Q4G Plus' - regex: 'Android 7.+ UniQ(?: Build|[);])' model: 'UniQ' - regex: '(Campus Prime)(?:[);/ ]|$)' model: '$1' - regex: 'Celkon[ _*](CT[^;/]+) Build' model: '$1' device: 'tablet' - regex: 'Celkon[ _*]([^;/]+) Build' model: '$1' - regex: 'Celkon[\. _*]([^;/\)]+)[\)/]' model: '$1' # Cellution Cellution: regex: 'Cosmas|CT_Cosmas_V|PADUA' device: 'smartphone' models: - regex: '(?:CT_)?Cosmas_(TF|[VF])' model: 'Cosmas $1' - regex: 'Cosmas' model: 'Cosmas' - regex: 'PADUA' model: 'Padua' # Changhong Changhong: regex: 'Changhong|HON H01|GHONGV12' device: 'smartphone' models: - regex: 'Changhong[ ]?(X1-K|X6|R8|Z9S?|Z1S|S18|R9|S07)(?:[);/ ]|$)' model: '$1' - regex: 'HON H01' model: 'HONPhone H01' - regex: 'GHONGV12' model: 'V12' - regex: 'ChangHong Andr[o0]id TV' device: 'tv' model: '' - regex: 'changhong,([a-z0-9_ \-]+),(?:wired|wireless)' device: 'tv' model: '$1' - regex: '(?:Opera TV.+)Changhong-([^);/]+)' device: 'tv' model: '$1' # China Mobile China Mobile: regex: '(M812C|1501_M02|9930i|A1303|A309W|M651CY|M653|CMCC[ -]M(?:670|860)|M762G)(?: Build|[);]|$)' device: 'smartphone' models: - regex: 'M651CY' model: 'A3' - regex: 'CMCC-M860' model: 'N5 Pro' - regex: 'M653' model: 'A3s' - regex: 'M762G' model: 'N5' - regex: '(M812C|1501_M02|9930i|A1303|A309W|M670)' model: '$1' # CHCNAV (https://chcnav.com/) CHCNAV: regex: 'CHCNAV|(?:HCE[67]00)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(HCE[67]00)' device: 'peripheral' model: '$1' # Comio Comio: regex: 'Comio|(?:CT701G PLUS|CT701W|GT100)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GT100' model: 'GT100' device: 'tablet' - regex: 'CT701W' model: 'CT701W' device: 'tablet' - regex: 'CT701G PLUS' model: 'CT701G Plus' device: 'tablet' - regex: 'Comio[ _-]?([^;/)]+)(?: Build|[);])' model: '$1' # Compal Compal: regex: 'Compal-[a-z0-9]+' device: 'feature phone' model: '$1' # Artel (artelgroup.org) Artel: regex: 'Artel[_ ]|\w+_ARTEL_\w+|(?: GAP|GAP YOQ| ALO|U1 MINI|Android 8(?:[\d.]*);(?: [\w-]+;)? U[124](?!/)|U3_4G| R3G)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'R3G(?:[);/ ]|$)' device: 'tv' model: 'R3 GTV' - regex: 'GAP|GAP YOQ(?:[);/ ]|$)' model: 'Gap Yo Q' - regex: 'U1 MINI(?:[);/ ]|$)' model: 'U1 Mini' - regex: 'U3_4G(?:[);/ ]|$)' model: 'U3 4G' - regex: 'U([124])(?:[);/ ]|$)' model: 'U$1' - regex: 'ALO(?:[);/ ]|$)' model: 'Allo' - regex: 'Artel[_ ](Quadro(?: Pro)?|Tesla|Air|Tomchi|Premium|U3_4G|Z5|Sentinel (?:X 8G|X D5|X)|T10|T21)' model: '$1' - regex: 'Artel[_ ]Komi3' model: 'Komi 3' - regex: 'Artel[_ ]Q21_PRO' model: 'Q21 Pro' - regex: 'Artel[_ ]Q21' model: 'Q21' - regex: 'Artel[_ ](Star|Nova|Connect|Choice|Style)' model: '$1' device: 'tablet' - regex: '(?:\w+_)?ARTEL_([FVM]5|X[45])_\w+' device: 'feature phone' model: '$1' # ComTrade Tesla ComTrade Tesla: regex: 'Tesla(?!(?:Browser|Group/LUMUS))|Impulse 7\.85 3G|Impulse 10\.1 OCTA|Smartphone_6\.1|SP(?:6\.2|6\.2_Lite)|TTL(?:713G|8)|Explr 9' device: 'smartphone' models: - regex: '(Explr 9)' model: '$1' - regex: 'TeslaEvo5\.0' model: 'Evo 5.0' - regex: '(Gravity 9\.7 SHD)' model: '$1' device: 'tablet' - regex: '(Impulse 7\.85 3G)' model: '$1' device: 'tablet' - regex: 'Impulse 10\.1 OCTA' model: 'Impulse 10.1" OCTA' device: 'tablet' - regex: 'Tesla_SP([^/;)]+)L(?: Build|[;)])' model: 'Smartphone $1 Lite' - regex: 'Smartphone_6\.1' model: 'Smartphone 6.1' - regex: '(?:Tesla_)?SP(\d+)[_.](\d+)_Lite(?: Build|[;)])' model: 'Smartphone $1.$2 Lite' - regex: 'Tesla_SP(\d+)[_.](\d+)(?: Build|[;)])' model: 'Smartphone $1.$2' - regex: 'Tesla_SP([^/;]+) Build' model: 'Smartphone $1' - regex: 'SP([^/;]+) Build' model: 'Smartphone $1' - regex: 'Smartphone ([36])' model: 'Smartphone $1' - regex: 'Tesla_Tablet_785' model: '7.85"' device: 'tablet' - regex: 'TTH7' model: 'H7' device: 'tablet' - regex: 'TTL7 Build' model: 'L7' device: 'tablet' - regex: 'Tesla_Tablet_L7_3G' model: 'L7 3G' device: 'tablet' - regex: '(L7\.1)' model: '$1' device: 'tablet' - regex: 'TTL713G' model: 'L7.1 3G' device: 'tablet' - regex: '(L7 Quad) Build' model: '$1' device: 'tablet' - regex: '(L7 Quad Lite)' model: '$1' device: 'tablet' - regex: 'TTL8 Build' model: 'L8' device: 'tablet' - regex: '(L8\.1)' model: '$1' device: 'tablet' - regex: 'TESLA_TABLET_M7' model: 'M7' device: 'tablet' - regex: 'Tesla_Tablet_M8' model: 'M8' device: 'tablet' - regex: 'TESLA XT550' model: 'MediaBox XT550' device: 'tv' - regex: 'TESLA,([a-z0-9_ \-]+),(?:wired|wireless)' model: '' device: 'tv' # ConCorde ConCorde: regex: 'ConCorde ([^/;]+) Build|Concorde_Raptor_Z55(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Concorde_(Raptor_Z55)(?:[);/ ]|$)' model: '$1' - regex: 'ConCorde Tab ?([^/;]+) Build' model: 'Tab $1' device: 'tablet' - regex: 'ConCorde ReadMan ?([^/;]+) Build' model: 'ReadMan $1' device: 'tablet' - regex: 'ConCorde ([^/;]+) Build' model: '$1' # Condor (www.condor.dz) Condor: regex: 'Allure (?:A8 Pro|A55 Slim|M[123]|X)|Griffe T[235-9]|TFX71[12]G|TFX71[34]L|TMK715L|TRA-901G|TGW[-]?(710G|709|102L|801[GL])|(?:PGN\-?[456][012][0-9]|PHS\-601|PHQ519|PAM412|PHQ52[056]|TB105L|TB717G|PKT\-301|Plume (?:H1|L[1-68]|P8|P6 PRO LTE)|Infinity E5|Infinity a4|Infinity_i[45]|PKT411|SP413|PAM524|GT60 PRO|GT60)(?:[);/ ]|$)|CTAB[^/;]+ Build' device: 'smartphone' models: - regex: 'CTAB([^/;]+) Build' device: 'tablet' model: 'CTAB $1' - regex: '(TGW)-?(710G|709|801[GL]|102L)(?:[);/ ]|$)' device: 'tablet' model: '$1 $2' - regex: '(TFX71[12]G|TFX71[34]L|TB105L|TB717G|TMK715L)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: '(TRA)-(901G)(?:[);/ ]|$)' device: 'tablet' model: '$1 $2' - regex: 'PHS-601' model: 'C8' - regex: 'GT60 PRO' model: 'GT60 Pro' - regex: 'PGN-?403' model: 'C4+ Noir' - regex: 'PGN-?404' model: 'C7 Mini' - regex: 'PGN-?409' model: 'Plume P4' - regex: 'PKT-?301' model: 'C2' - regex: 'PGN-?504' model: 'C5' - regex: 'PGN-?505' model: 'C8S' - regex: 'PGN-?506' model: 'C7' - regex: '(Allure \w+) Plus' model: '$1 Plus' - regex: '(Allure \w+) Pro' model: '$1 Pro' - regex: '(Allure \w+) Lite' model: '$1 Lite' - regex: '(Allure (?:M[123]|X)|GT60)' model: '$1' - regex: 'PGN\-?507' model: 'Allure A9' - regex: 'PGN-?508' model: 'C6+' - regex: 'PGN\-?509' model: 'C6 Pro' - regex: 'PGN-?511' model: 'Allure A9 Plus' - regex: 'PAM-?412' model: 'G2S' - regex: 'PGN-?513' model: 'Griffe G4' - regex: 'SP413' model: 'Griffe T1' - regex: 'PKT411' model: 'Griffe G2' - regex: 'PHQ519' model: 'Griffe G4S' - regex: 'PHQ520' model: 'Griffe G5' - regex: 'PAM524' model: 'Griffe G5 Plus' - regex: 'PHQ525' model: 'Griffe G6' - regex: 'PHQ526' model: 'Griffe G6 Pro' - regex: 'PGN-?514' model: 'Plume P7' - regex: 'PGN-?515' model: 'Plume P4 Pro' - regex: 'PGN-?516' model: 'Plume P5' - regex: 'PGN-?51[78]' model: 'Plume P6' - regex: 'Infinity a4' model: 'Infinity A4' - regex: 'Infinity e5 pro' model: 'Infinity E5 Pro' - regex: 'Infinity E5' model: 'Infinity E5' - regex: 'Infinity_i([45])' model: 'Infinity I$1' - regex: 'PGN-?521' model: 'Griffe G4 Plus' - regex: 'Griffe T3 ?pro' model: 'Griffe T3 Pro' - regex: 'Griffe T([0-9]) Plus' model: 'Griffe T$1 Plus' - regex: 'Griffe T([0-9])' model: 'Griffe T$1' - regex: 'PGN-?522' model: 'P6 Plus' - regex: 'PGN-?523' model: 'P7 Plus' - regex: 'PGN-?527' model: 'Plume P4 Plus' - regex: 'PGN-?528|PLUME P6 PRO LTE' model: 'Plume P6 Pro LTE' - regex: 'PGN-?605' model: 'Plume P8' - regex: 'PGN-?606' model: 'Allure A55' - regex: 'PGN-?607' model: 'Allure A100' - regex: 'PGN-?608|Allure A55 Slim' model: 'Allure A55 Slim' - regex: 'PGN-?609' model: 'Allure A100 Lite' - regex: 'PGN-?610' model: 'Plume P8 Lite' - regex: 'PGN-?611' model: 'Allure A8' - regex: 'PGN-?612' model: 'Allure A8 Plus' - regex: 'PGN-?613' model: 'Allure A55 Plus' - regex: 'Plume H1' model: 'Plume H1' - regex: 'Plume L([24568]) Pro' model: 'Plume L$1 Pro' - regex: 'Plume L([13]) Plus' model: 'Plume L$1 Plus' - regex: 'Plume L3 Smart' model: 'Plume L3 Smart' - regex: 'Plume L([1-5])' model: 'Plume L$1' - regex: 'Plume P8 Pro' model: 'Plume P8 Pro' - regex: 'PGN-?([0-9]{3})' model: 'PGN-$1' # Coolpad (coolpad.us) Coolpad: regex: '(?:YL-)?Coolpad|(?:Cool_9S|1824-S0|8190Q|1831-A0|8676-[AM]01|1872-A0|REVVLPLUS C3701A|VCR-[AI]0|C105-(?:8|E0)|C106-[789]|C107-9| C106|MTS-T0|ORL-C0|DLS-E0|182[56]-I01|1825-E0| 1825|8298-(?:M02|A01)|5560S|CP3320AS2|CP3321AT|CP350[34]L|cp3636a|CP3648AT?|CP3667AT|CP3669AS|cp3705A[S]?|CP3706AS|CP8298_I00|CP8676_I0[23]|C103|CP03|C1-U02|SAC-A0| 203[29]|CP05|CP12p?)(?:[);/ ]|$)|(8295|5860S) Build' device: 'smartphone' models: - regex: 'VCR-[AI]0' model: 'Cool Play 6' - regex: '1831-A0(?:[);/ ]|$)' model: 'Cool Play C7' - regex: '1872-A0(?:[);/ ]|$)' model: 'Cool Play 7' - regex: '2032(?:[);/ ]|$)' model: 'N7 Plus' - regex: 'REVVLPLUS C3701A' model: 'REVVL Plus' device: 'phablet' - regex: 'CP3667AT' model: 'Tasker' device: 'tablet' - regex: '8190Q(?:[);/ ]|$)' model: '8190Q' - regex: 'DLS-E0(?:[);/ ]|$)' model: 'N5' - regex: '1825-E0' model: 'N5 Lite' - regex: '1824-S0(?:[);/ ]|$)' model: 'N5C' - regex: 'CP3321AT(?:[);/ ]|$)' model: 'Bellaza' - regex: 'cp3636a(?:[);/ ]|$)' model: 'Canvas' - regex: 'CP3705A[S]?(?:[);/ ]|$)' model: 'Legacy' - regex: 'CP3648AT?(?:[);/ ]|$)' model: 'Legacy S' - regex: 'CP3320AS2?(?:[);/ ]|$)' model: 'Legacy S SR' - regex: 'CP3706AS(?:[);/ ]|$)' model: 'Legacy Brisa' - regex: 'CP3669AS(?:[);/ ]|$)' model: 'Suva' - regex: 'MTS-T0(?:[);/ ]|$)' model: 'N2M' - regex: '(?:C106-[789]|R116|C10[36]|C1-U02)(?:[);/ ]|$)' model: 'Cool 1' - regex: '2039(?:[);/ ]|$)' model: 'Cool S' - regex: 'C107-9(?:[);/ ]|$)' model: '1C' - regex: 'C105-(?:E0|8)(?:[);/ ]|$)' model: 'Cool S1' - regex: '1826-I01(?:[);/ ]|$)' model: 'Cool 5' - regex: '1825-I01(?:[);/ ]|$)' model: 'Cool 3 Plus' - regex: '1825(?:[);/ ]|$)' model: 'Cool 3' - regex: 'ORL-C0(?:[);/ ]|$)' model: 'Cool 9' - regex: 'Cool_9S(?:[);/ ]|$)' model: 'Cool 9S' - regex: 'CP03(?:[);/ ]|$)' model: 'Cool 20' - regex: 'CP05(?:[);/ ]|$)' model: 'Cool 20 Pro' - regex: '(CP12)(?:[);/ ]|$)' model: '$1' - regex: 'CP12P(?:[);/ ]|$)' model: 'CP12P' - regex: 'SAC-A0(?:[);/ ]|$)' model: '26' # Tibetan Peak Edition - regex: '5560S(?:[);/ ]|$)' model: 'Arise' - regex: '(5860S|8295) Build' model: '$1' - regex: 'Coolpad[_ ]2041' model: '10A' - regex: 'E501' model: 'Modena' - regex: 'E502' model: 'Modena 2' - regex: 'CP8676_I02(?:[);/ ]|$)' model: 'Note 3' - regex: 'COR-I0(?:[);/ ]|$)' model: 'Note 6' - regex: 'CP8676_I03(?:[);/ ]|$)' model: 'Note 3 Plus' - regex: 'CP8298_I00(?:[);/ ]|$)' model: 'Note 3 Lite' - regex: '(CP350[34]L)(?:[);/ ]|$)' model: '$1' - regex: '(8676-[AM]01|8298-(?:M02|A01))(?:[);/ ]|$)' model: '$1' - regex: '(?:YL-)?Coolpad[ _\-]?([^/;]+) Build' model: '$1' - regex: '(?:YL-)?Coolpad[ _\-]?([a-z0-9\-]+)' model: '$1' # Clarmin (clarmin.com) Clarmin: regex: 'Clarmin|(?:B8Lite|B8Plus|Android 7(?:[\d.]*);(?: [\w-]+;)? B5Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'B8Lite' model: 'B8 Lite' - regex: 'B8Plus' model: 'B8 Plus' - regex: 'B5Pro' model: 'B5 Pro' - regex: 'Clarmin[_ ](B[65]|C1)' model: '$1' # CORN (corn-mobile.com) CORN: regex: 'CORN[_ ]|(?:C55 Pro|C60 Ultra|Fenix8_3G|Note1|Tronik_(?:[123]|12S)|Star7 3G)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(C55 Pro|C60 Ultra|Star7 3G)(?:[);/ ]|$)' model: '$1' - regex: 'Fenix8_3G(?:[);/ ]|$)' model: 'Fenix 8 3G' - regex: 'CORN Note1(?:[);/ ]|$)' model: 'Note 1' - regex: 'CORN R([124])0(?:[);/ ]|$)' model: 'R$10' - regex: 'Tronik_([123]|12S)(?:[);/ ]|$)' model: 'Tronik $1' - regex: 'CORN[_ ]C(4)(?:[);/ ]|$)' model: 'C$1' - regex: 'CORN[_ ]X(4|55|5)(?:[);/ ]|$)' model: 'X$1' # Cosmote (https://www.telekom.ro/) Cosmote: regex: 'Cosmote' device: 'smartphone' models: - regex: 'Cosmote_My_mini_Tab' # Allview My Mini Tab device: 'tablet' model: 'My Mini Tab' - regex: 'Cosmote?[_ ]([^;/)]+)(?: Build|[);])' model: '$1' # Cricket Cricket: regex: 'Cricket-([a-z0-9]+)|(?:U(?:304|325|380|6080|668|680|705)AC|V350C|EC1002|EC21100[1-4]|SL100EA|SL101AE|WTCKT01|SL112C|SN304AE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SL101AE' model: 'Debut Smart' - regex: 'U6080AC' model: 'Magic 5G' - regex: 'U380AC' model: 'Debut S2' - regex: 'U680AC' model: 'Outlast' - regex: 'EC211001' model: 'Dream 5G' - regex: 'U304AC' model: 'Icon' - regex: 'U325AC' model: 'Icon 2' - regex: 'EC211002' model: 'Icon 3' - regex: 'WTCKT01' # Wingtech model: 'Icon 4' - regex: 'SL112C' model: 'Icon 5' - regex: 'V350C' model: 'Influence' - regex: 'EC211004' model: 'Innovate 5G' - regex: 'SN304AE' model: 'Innovate E 5G' - regex: 'U705AC' model: 'Ovation' - regex: 'EC1002' model: 'Ovation 2' - regex: 'U668AC' model: 'Ovation 3' - regex: 'EC211003' model: 'Splendor' - regex: 'SL100EA' model: 'Vision Plus' - regex: 'Cricket-([a-z0-9]+)' device: 'feature phone' model: '$1' # Crius Crius Mea: regex: '(Q7A\+?)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Crosscall Crosscall: regex: 'Crosscall|ODYSSEY_Plus|Action-X[35]|Core-(?:M[45]|T[45]|X[345]|Z5)|Stellar-X5|Trekker-[MSX][1-4]|Odyssey S1' device: 'smartphone' models: - regex: 'Action-X3 Pro(?:[);/ ]|$)' model: 'Action-X3 Pro' - regex: 'Action-X([35])(?:[);/ ]|$)' model: 'Action-X$1' - regex: 'Core-(M4) GO(?:[);/ ]|$)' model: 'Core-$1 Go' - regex: 'Core-(M[45]|X[345]|Z5)(?:[);/ ]|$)' model: 'Core-$1' - regex: 'Crosscall ([^;/]+) Build' model: '$1' - regex: 'ODYSSEY_Plus' model: 'ODYSSEY+' - regex: 'Odyssey S1' model: 'ODYSSEY S1' - regex: 'Trekker-([MSX][1-4]) Core' model: 'Trekker-$1 Core' - regex: 'Trekker-([MSX][1-4](?: Core)?)' model: 'Trekker-$1' - regex: 'Stellar-(X5)(?:[);/ ]|$)' model: 'Stellar-$1' - regex: 'Core-T([45])(?:[);/ ]|$)' device: 'tablet' model: 'Core-T$1' # Walker Walker: regex: 'WALKER[;,]' device: 'tv' model: '' # Altimo (https://www.altimo.co.uk/) Altimo: regex: 'ALTIMO[;,]' device: 'tv' model: '' # Solas (https://solasbrands.com/) Solas: regex: 'SOLAS[;,]' device: 'tv' model: '' # Crown (https://www.crownindiatv.com/) Crown: regex: 'CROWN, ([a-z0-9_ \-]+), (?:wired|wireless)|BlossomB902(?:[);/ ]|$)' device: 'tablet' models: - regex: 'CROWN, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' - regex: 'BlossomB902' model: 'Blossom B902' # AllDocube (alldocube.com) AllDocube: regex: '(?:T1001XS?|T1006S?|T1001|T811|iPlay[_ ][2345]0|U1006H?|U1005E|U63PLUS|iPlay8|iPlay_?[89]T|iPlay[134]0|iPlay_40H|iPlay50_mini_Pro|iPlay50 (?:Pro|Mini)|iPlay_?[25]0[SP]|iPlay50(?:Pro|_Lite)?|kPad|X_Game|T806MHE?|Power M3|Smile_X|iPlay_60_Lite|iPlay_60)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Smile_X(?:[);/ ]|$)' model: 'Smile X' - regex: 'T811(?:[);/ ]|$)' model: 'Kidz Pad Pro' - regex: 'T1001XS(?:[);/ ]|$)' model: 'M5XS' - regex: 'kPad(?:[);/ ]|$)' model: 'kPad' - regex: 'T1006S(?:[);/ ]|$)' model: 'M5S' - regex: 'T1006(?:[);/ ]|$)' model: 'M5' - regex: 'T1001X(?:[);/ ]|$)' model: 'M5X' - regex: 'T1001(?:[);/ ]|$)' model: 'Power M3' - regex: 'U63PLUS(?:[);/ ]|$)' model: 'U63 Plus' - regex: 'U1006H?(?:[);/ ]|$)' model: 'iPlay 10 Pro 10.1"' - regex: 'U1005E(?:[);/ ]|$)' model: 'X' - regex: 'T806MHE?' model: 'iPlay 8 Pro' - regex: 'iPlay_?([56]0)_Lite' model: 'iPlay $1 Lite' - regex: 'iPlay[_ ]?50[_ ]mini[_ ]Pro' model: 'iPlay 50 Mini Pro' - regex: 'iPlay ?50 ?Pro' model: 'iPlay 50 Pro' - regex: 'iPlay50 Mini' model: 'iPlay 50 Mini' - regex: 'iPlay[_ ]?([1-6]0|[89]T?|40H|[25]0[sP])(?:[);/ ]|$)' model: 'iPlay $1' - regex: 'X_Game(?:[);/ ]|$)' model: 'X Game' - regex: 'Power M3(?:[);/ ]|$)' model: 'Power M3' # Xsmart (xsmart.com.pk) Xsmart: regex: '(?:Xsmart (?:Nova 7|Mate 10)|CORE_X)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'CORE_X' model: 'Core X' - regex: 'Xsmart (Nova 7|Mate 10)' model: '$1' # MyTab MyTab: regex: '(?:MyTAB[ _-](?:8 MINI Dual Core|U55GT)|U103GT1)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'MyTAB[ _-]8 MINI Dual Core(?:[);/ ]|$)' model: '8 Mini Dual Core' - regex: 'MyTAB-U55GT(?:[);/ ]|$)' model: 'U55GT' - regex: 'U103GT1(?:[);/ ]|$)' model: 'Volta' # Cube (short name Alldocube) Cube: regex: '(<!myPhone ?)Cube|(U[0-9]+GT|K8GT)|(?:T8-PLUSM?S?|T8PLUSML|I1-TF[BD]?|I1-TC|i15-T[CG]?|I1_3GD|i1002S|Iwork10 Flagship|iwork10 Pro|T10 PLUS|CUBE-T970|U55GT_C8)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'U27GT-C8X?' model: 'Talk 8X' - regex: 'U25GT-C4YT|U25GT-W4' model: 'U25GT' - regex: 'U30GT ?2(?:[);/ ]|$)' model: 'U30GT2' - regex: 'U27GT' model: 'Talk 8' - regex: 'U55GT_C8' model: 'Talk 79' - regex: 'U51GT-SL|U51GT-C8' model: 'Talk 7X' - regex: 'U31GT' model: 'Talk 10' - regex: '(?:T8-PLUSM?S?|T8PLUSML)(?:[);/ ]|$)' model: 'T8 Ultimate' - regex: 'U55GT' model: 'Talk 79' - regex: 'T10 PLUS' model: 'T10 Plus' - regex: 'U65GT' model: 'Talk 9X' - regex: 'I1-TF[BD]?(?:[);/ ]|$)' model: 'iWork 8 Air' - regex: 'I1_3GD(?:[);/ ]|$)' model: 'iWork 8 3G' - regex: 'I1-TC(?:[);/ ]|$)' model: 'iWork 8 Ultimate' - regex: 'i15-TG(?:[);/ ]|$)' model: 'iWork 10 Ultimate' - regex: 'i15-T(?:[);/ ]|$)' model: 'iWork 10' - regex: '(?:i1002S|iwork10 Pro)(?:[);/ ]|$)' model: 'iWork 10 Pro' - regex: 'Iwork10 Flagship|i15-TC(?:[);/ ]|$)' model: 'iWork 10 Flagship' - regex: 'CUBE-T970(?:[);/ ]|$)' model: 'T970 4G' - regex: '(U[0-9]+GT[^;/]*) Build' model: '$1' - regex: '(U[0-9]+GT(?:[0-9]|[\-_][a-z]+)?)' model: '$1' - regex: '(K8GT)' model: '$1' # Meta (https://about.facebook.com/), former Oculus (https://www.oculus.com/) Meta: regex: '(?:Pacific|(?<!like )Quest).+OculusBrowser|Standalone HMD|PortalGo' device: 'wearable' models: - regex: 'Pacific' model: 'Go' - regex: 'PortalGo' model: 'Portal Go' device: 'smart display' - regex: 'Quest 3' model: 'Quest 3' - regex: '(?:Quest 2|Standalone HMD)' model: 'Quest 2' - regex: 'Quest Pro' model: 'Quest Pro' - regex: 'Quest' model: 'Quest' # CUBOT (www.cubot.net) CUBOT: regex: 'CUBOT|(?<!QUMO |like )QUEST(?!(?:[0-9]|\s[0-9]))(?: LITE)?|(?:(?<!(?:Redmi|Tegra) )NOTE 7|(?<!Galaxy )NOTE 20(?: PRO)?|RAINBOW 2|KING_KONG_3|ZORRO 001|KINGKONG[_ ](?:MINI2?|POWER|STAR|[5-9]|5 Pro|AX|X|ACE 3)|TAB KINGKONG|KING KONG CS| X30P|R15_PRO|S550 Pro| CHEETAH| [RX]19|X19 S|(?<!MI )MAX 3|Android 9(?:[\d.]*);(?: [\w-]+;)? (?:J5|MAX 2|X20 PRO)|Android [89](?:[\d.]*);(?: [\w-]+;)? R15(?! Dream Mirror| Neo)|Android 12(?:[\d.]*);(?: [\w-]+;)? (?:P60|NOTE 30)|Android 13(?:[\d.]*);(?: [\w-]+;)? (?:NOTE [345]0|NOTE 2[134]|P80)|Android 11(?:[\d.]*);(?: [\w-]+;)? (?:Pocket|NOTE 9|P50|J10)|POCKET 3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TAB KINGKONG' device: 'tablet' model: 'Tab King Kong' - regex: 'POCKET (3)' model: 'Pocket $1' - regex: 'Pocket' model: 'Pocket' - regex: 'CHEETAH( 2)?' model: 'Cheetah$1' - regex: 'RAINBOW 2' model: 'Rainbow 2' - regex: 'RAINBOW' model: 'Rainbow' - regex: 'DINOSAUR' model: 'Dinosaur' - regex: 'KINGKONG[ _]POWER' model: 'King Kong Power' - regex: 'KINGKONG[ _]AX' model: 'King Kong AX' - regex: 'KINGKONG ACE 3' model: 'King Kong Ace 3' - regex: 'KINGKONG[ _]STAR' model: 'King Kong Star' - regex: 'KINGKONG MINI2 Pro' model: 'King Kong Mini 2 Pro' - regex: 'KINGKONG MINI ?([23])' model: 'King Kong Mini $1' - regex: 'KINGKONG_MINI' model: 'King Kong Mini' - regex: 'KINGKONG 5 Pro' model: 'King Kong 5 Pro' - regex: 'KING[_ ]?KONG[_ ]([35-9]|X)' model: 'King Kong $1' - regex: 'KING KONG CS' model: 'King Kong CS' - regex: 'KING KONG' model: 'King Kong' - regex: 'QUEST LITE' model: 'Quest Lite' - regex: 'QUEST' model: 'Quest' - regex: 'X20 PRO' model: 'X20 Pro' - regex: 'ZORRO 001' model: 'Zorro 001' - regex: 'CUBOT[ _]Echo' model: 'Echo' - regex: 'CUBOT[ _]MANITO' model: 'Manito' - regex: 'CUBOT[ _]MAGIC' model: 'Magic' - regex: 'MAX ([23])' model: 'Max $1' - regex: 'CUBOT[ _]MAX' model: 'Max' - regex: 'NOTE Plus' model: 'Note Plus' - regex: 'NOTE 20 PRO' model: 'Note 20 Pro' - regex: '(R15|S550|J3)[_ ]PRO' model: '$1 Pro' - regex: 'NOTE ([2-5]0|2[134]|[79])' model: 'Note $1' - regex: 'CUBOT[_ ]NOTE[_ ]S' model: 'Note S' - regex: 'CUBOT_NOVA' model: 'Nova' - regex: 'CUBOT_POWER' model: 'Power' - regex: 'CUBOT_X18_Plus' model: 'X18 Plus' - regex: 'CUBOT[_ ]Hafury V1' model: 'Hafury V1' - regex: 'CUBOT[ _](A5|C6W|H3|J3|P7|P20|[RXJ]9|R11|X18|X30)(?:[);/ ]|$)' model: '$1' - regex: '(X19 S|[RX]19|R15|J5|P[568]0|J10|X30P)(?:[);/ ]|$)' model: '$1' - regex: 'CUBOT ([^;/]+) Build' model: '$1' - regex: '([^;/]+) Build/CUBOT' model: '$1' # Clout Clout: regex: 'Hind[ _]5\.1|X417[ _]Amaze|X418[ _]Zest|X421[ _]Nova|X422[ ]Exotic|X425[ _]Shavit|X428[ _]Astute' device: 'smartphone' models: - regex: 'Hind[ _]5\.1' model: 'Hind 5.1' - regex: 'X417[ _]Amaze' model: 'X417 Amaze' - regex: 'X418[ _]Zest' model: 'X418 Zest' - regex: 'X421[ _]Nova' model: 'X421 Nova' - regex: 'X422[ _]Exotic' model: 'X422 Exotic' - regex: 'X425[ _]Shavit' model: 'X425 Shavit' - regex: 'X428[ _]Astute' model: 'X428 Astute' # Concord (www.concord.com.tr) Concord: regex: 'Concord[ _-]|(?:Flyfix 6|C-721|Plus-7_C777|Plus_M19_C779|Plus-9_C778|Dream_Edition_C-754)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'M10' model: 'M10' - regex: 'Flyfix 6' model: 'Flyfix 6' - regex: 'C-721' model: 'Flyfix Q' device: 'tablet' - regex: 'Plus[-_]([79]|M19)_(C77[789])(?:[);/ ]|$)' model: 'Plus-$1 $2' device: 'tablet' - regex: 'Dream_Edition_C-754' model: 'Dream Edition C-754' device: 'tablet' - regex: 'Concord_RANGE_HS' model: 'Range HS' device: 'tablet' # Crescent Crescent: regex: 'WING 5|WING9|Venus[ _][14]' device: 'smartphone' models: - regex: 'WING 5' model: 'Wing 5' - regex: 'WING9' model: 'Wing 9' - regex: 'Venus[ _]([14])' model: 'Venus $1' # Cwowdefu (cwowdefu.com) Cwowdefu: regex: '(?:C70W|F35W_EEA|C82W_EEA)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(C70W|F35W|C82W)(?:_EEA)?(?:[);/ ]|$)' model: '$1' # CX (https://redcx.com/) CX: regex: 'CX9006(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'CX9006' model: 'CX9006' device: 'tablet' # Cyrus (www.cyrus-technology.de) Cyrus: regex: 'Cyrus[ _-]|CyrusApel|CM17XA|CS(?:22|45)XA(?:_EEA)?(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'CM17XA(?:_EEA)?(?:[);/ ]|$)' model: 'CM17XA' - regex: 'CS(22|45)XA(?:_EEA)?' model: 'CS$1 XA' - regex: 'Cyrus[ _-]?([^;/)]+)(?: Build|[);])' model: '$1' - regex: 'Cyrus[ _-]?([^;/)]+)(?:[);/ ]|$)' model: '$1' # Datang Datang: regex: 'DATANG' device: 'smartphone' models: - regex: '(?:DATANG[ _-])+([^;/]+) Build' model: '$1' - regex: '(?:DATANG[ _-])+([^;/)]+)(?:[;/)]|$)' model: '$1' # Datsun Datsun: regex: 'DATSUN' device: 'smartphone' models: - regex: 'DATSUN_D5500' model: 'D5500' - regex: 'Datsun_D5001' model: 'D5001' # Danew (danew.fr) Danew: regex: 'Dslide|Konnect_?(?:402|50[246]|556|60[1278])|GEODROID_A5|Dbook[_ ]110' device: 'smartphone' models: - regex: 'Konnect[_ ]?(402|50[246]|556|60[1278])' model: 'Konnect $1' - regex: 'GEODROID_A5' device: 'tablet' model: 'Geodroid A5' - regex: 'Dbook[_ ](110)' model: 'DBook $1' device: 'tablet' - regex: 'Dslide[ _]?([^;/)]+)(?: Build|[);])' device: 'tablet' model: 'DSlide $1' # Dazen Dazen: regex: 'dazen' device: 'smartphone' models: - regex: '6A' model: '6A' # Denver Electronics (denver-electronics.com) Denver: regex: '(?:TAQ_10[4G]|TA[CDQ]-[0-9]+)|P(?:.+)TAQ-(?:[0-9]+)|SDQ[_-](?:550[24]4L|52001G|50002G|57004L)' device: 'tablet' models: - regex: 'TAQ_(10[4G])' model: 'TAQ-$1' - regex: 'P(?:.+)TAQ-(10213GMK2|10172MK3|10242MK2|70242MK2|[0-9]+)(?:[);/ ]|$)' model: 'TAQ-$1' - regex: '(TA[CDQ]-[0-9]+)' model: '$1' - regex: 'SDQ[_-](550[24]4L|52001G|50002G|57004L)' device: 'smartphone' model: 'SDQ-$1' # Dell Dell: regex: 'Dell[^a-z]|Venue|XCD35|Latitude E?\d{4}|Inspiron N?\d{4}|Inspiron 13|Vostro (?:3546|14-3468)' device: 'smartphone' models: - regex: 'XCD35' model: 'XCD35' - regex: 'Venue ((?:10|[78]) [0-9]{4}|[78] HSPA\+)' model: 'Venue $1' device: 'tablet' - regex: '(?:Dell )?Venue(?: Build|[);])' model: 'Venue' - regex: 'Dell; Venue Pro' model: 'Venue Pro' - regex: '(OptiPlex (?:3050|7010))' device: 'desktop' model: '$1' - regex: 'Vostro (3546|14-3468)' device: 'desktop' model: 'Vostro $1' - regex: 'Chromebook (\d{2} \(\d{4}\))' device: 'desktop' model: 'Chromebook $1' - regex: 'Venue7 (3740)' model: 'Venue 7 $1' device: 'tablet' - regex: '(?:Dell )?(Streak|Venue) ?([^/;]*) Build' model: '$1 $2' device: 'tablet' - regex: '(?:Dell Inc\./)?(XPS 13 9360|Latitude (?:7480|7390|E4310)|Inspiron N?\d{4}|Inspiron 13-\d{4})(?:[);/ ]|$)' device: 'desktop' model: '$1' - regex: 'Dell; ((?:Streak|Venue)[^;/\)]*)' model: '$1' device: 'tablet' - regex: 'Dell; ([^;/\)]+)' model: '$1' - regex: 'Dell[ _\-]([^/;]+) Build' model: '$1' # Desay Desay: regex: 'Desay' device: 'smartphone' models: - regex: 'Desay[ _-]?([^;/)]+)(?: Build|[;)])' model: '$1' - regex: 'Desay[ _-]?([^;/)]+)' model: '$1' # DEXP (dexp.club) DEXP: regex: 'DEXP|(?:Ursus|Ixion)[ _]([^;/)]+)|H135[ _]Build|Larus_TV1|Ixion(?:ML4\.7|ES250)|M150Storm|(?:SENIOR|F4[38]D8000K|VA(?:[12]10|170)|ML450|MS[56]50|BL(?:[123]50|160|155)|BS(?:155|160|[1256]50)|(?<!ILIUM )S(?:3[78]0|2[89]0|670)|AL(?:[12]40|[23]50)|AS(?:155|[123]60)| (?:B260|B245|H[12]10|H270|L470|N280i|P310|P380i?|R1[18]0|Q110|E1[78]0|E[12]10|B(?:450|340|35[05])|M170|M445|M[12]10|T155|H32F8000CG?|U43F8000Q|A(?:1[456]0|340|[34]55)|GS15[035]|GL[23]55|G25[035]|G355|G550|G15[05]|ES750|XL150|Z[1-4]55|H[13]70|H[34]10|P[45]10|L2[17]0)|Z250|A440|(?<!MITO )A350(?! TV)|N[13]80i|(?<!Blade )L1[178]0|L3[17]0i|(?<!VOX )G450|G660|Q[123]10|Q[12]80|N[234]10|N[35]70|EX111|S[245]70|S[127]70i|S169|S110|S180i?|S770|A555(?! Universe)|(?:U75H8000K|U50H8000E|U65H8000K|F43H8000QG|U50G8000QG|U55H8050E|U43G9000CG|U43F8100QG|U55G8000QG|U50G9000CG|H32H800(?:1C|0[KQ])|H32G8000(?:CG|KW|Q)|H32F8000QG?(?:-[abc])?|H32F8[01]00Q|H39F8000Q|F43H8000K|U43H8000E|F(?:32|43)H8050C|U43F8000EG|F43F8000[CQ]G?|F32[FG]8000C|F43G8000C|H24H8000C|H24F8000Q|F43F8000Q-G)(?:-[AbcfedH])?|Android 8(?:[\d.]*);(?: [\w-]+;)? A240|android 10(?:[\d.]*);(?: [\w-]+;)? (?:B[23]1|B38|B1[87]|K28|K[34]1)|android 9(?:[\d.]*);(?: [\w-]+;)? (?:K18|K21|B11)|Android 11(?:[\d.]*);(?: [\w-]+;)? (?:D[12]1|T21|K[345]1|K[342]8|K61|C3[78]|B28|B27|H28)|43UCY1|32FCY1|U43H8050EG|H32H8051C-G|H32H8050CG|65UCY1-[GB]|55UCY1-G|50UCY[12]-G|75UCY1-G|40FCY1|55UCY1|U5[05]E9100Q|H24F8000C|H3218000K|U50F8000QG?|U50H8050EG|H32I8000K|U65G8000Q|U43G8100QG|F40H8000E|Android 11(?:[\d.]*);(?: [\w-]+;)? P11)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:DEXP_)?(ML450|MS[56]50|ES750|XL150|ES1050)(?:[);/ ]|$)' model: 'Ixion $1' - regex: 'IxionES250(?:[);/ ]|$)' model: 'Ixion ES250 Rage' - regex: 'IxionML4\.7(?:[);/ ]|$)' model: 'Ixion ML 4.7"' - regex: 'Ixion ES2 5' model: 'Ixion ES2 5"' - regex: 'Ixion[_ ]([^;/]+)(?: Build|\))' model: 'Ixion $1' - regex: 'M150Storm(?:[);/ ]|$)' model: 'Ixion M150 Storm' - regex: 'M445(?:[);/ ]|$)' model: 'Ixion M445 Onyx 2' - regex: 'AL250(?:[);/ ]|$)' model: '4.5" AL250' - regex: 'AL350(?:[);/ ]|$)' model: '5.0" AL350' - regex: 'AS155(?:[);/ ]|$)' model: '5.45" AS155' - regex: 'AS260(?:[);/ ]|$)' model: '5.85" AS260' device: 'phablet' - regex: 'AS360(?:[);/ ]|$)' model: '6.22" AS360' device: 'phablet' - regex: 'Ursus 9EV mini 3G' model: 'Ursus 9EV Mini 3G' device: 'tablet' - regex: 'Ursus[ _]([^;/)]+)(?: Build|[);])' model: 'Ursus $1' device: 'tablet' - regex: '(K[23456]1|K[234]8|[KB]18|B[23]1|B[12]7|B[23]8|[BD]11|D21|T21|C3[78]|P11)(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: '(VA[21]10|VA170|E210|R1[18]0|Q110|M[12]10|N280i|P380i?|P[345]10|S2[89]0|S3[78]0|S[456]70|H[12]10|H[123]70|H[34]10|L1[178]0|L2[17]0|N[13]80i|N[234]10|E1[178]0|Q[123]10|Q[12]80|EX111|N[35]70|L3[17]0i|L470|S[127]70i|S270|S110|S169|S770|S180i?|M170)(?:[);/ ]|$)' model: 'Ursus $1' device: 'tablet' - regex: '(H28)(?:[);/ ]|$)' model: 'Ursus $1' device: 'tablet' - regex: '(G450)[ _](2021)' model: '$1 ($2)' - regex: '(B260|B245|A440|A[345]55|B450|B340|B35[05]|BL155|BL160|A160|A[23]40|A350|T155|Z[1-4]55|G25[035]|G355|Z250|G450|G550|G660)(?:[);/ ]|$)' model: '$1' - regex: 'SENIOR(?:[);/ ]|$)' model: 'Senior' - regex: 'Larus_TV1' device: 'feature phone' model: 'Larus_TV1' - regex: 'DEXP[_ ]Freya' device: 'console' model: 'Freya' - regex: '([HFU]\d{2}[A-Z]\d{4}[A-Z]{1,2}|AL-2020|43UCY1|40FCY1|32FCY1|F32H8050C|H32F8000Q|H32[1I]8000K|H32H8051C-G|F43F8000Q-G|50UCY[12]-G|75UCY1-G|55UCY1-G|65UCY1-[GB]|55UCY1)(?:-[AbcfedH])?(?:[);/ ]|$)' device: 'tv' model: '$1' - regex: 'H135[ _]Build' model: 'Atlas' device: 'desktop' - regex: '(BL[123]50|BS155|BS160|BS[1256]50|AL[12]40|A1[45]0|GS15[035]|AS160|GL[23]55|G15[05])(?:[);/ ]|$)' model: '$1' - regex: 'DEXP[ _]([^;/]+) Build' model: '$1' - regex: 'DEXP[ _]([^);/]+)(?:[);/ ]|$)' model: '$1' # DbPhone DbPhone: regex: 'DB8PLUS' device: 'smartphone' model: 'DB8 Plus' # Dbtel Dbtel: regex: 'DBTEL(?:[\-/])?([a-z0-9]+)' device: 'feature phone' model: '$1' # DGTEC DGTEC: regex: '(?:DG101HSTB|DG101TBIPS)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(DG101HSTB|DG101TBIPS)(?:[);/ ]|$)' model: 'DG101TBIPS' device: 'tablet' # Dialog or Dialog Blaze Dialog: regex: 'Dialog ?([^;/]+)(?: Build|[;)])|(?:M50E-1A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(M50E-1A)' model: '$1' - regex: 'Dialog ?([^;/]+)(?: Build|[;)])' model: '$1' # Dicam Dicam: regex: 'DICAM-([a-z0-9]+)' device: 'feature phone' model: '$1' # Digi Digi: regex: '(?<!FBCR/)Digi[ _]([^);/]+)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Digicel (digicelgroup.com) Digicel: regex: 'DIGICEL|(?:DL3(?:PlusPro)?|DL501)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'DL3PlusPro' model: 'DL3 Plus Pro' - regex: 'DL3(?:[);/ ]|$)' model: 'DL3' - regex: 'DL(755|501)' model: 'DL$1' - regex: 'DL810' model: 'DL810' - regex: 'DIGICELDL1plus' model: 'DL1 Plus' - regex: 'DIGICEL[ _]([^/);]+)(?: Build|[;)])' model: '$1' # Digidragon Digidragon: regex: '(?:DS502|DS6018|DS6261)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(DS502|DS6018|DS6261)(?:[);/ ]|$)' model: '$1' # Digihome Digihome: regex: 'DIGIHOME, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # Digiland Digiland: regex: '(?:DL721-RB|DL(?:1016|1023|1025GH|1036|900[23]|[78]006|1008M|718M|703QR|702Q|5[05]03QL|1022QR|1010Q)|Compumax Blue)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(DL5[05]03QL)' device: 'smartphone' model: '$1' - regex: 'DL1008M' model: 'DL1008M' - regex: 'DL(1010Q|1016|1025GH|1022QR|1023|1036|900[23]|[78]006|721-RB|718M|70[23]QR?)' model: 'DL$1' - regex: '(Compumax Blue)' # Compumax model: '$1' # Digit4G or DIGIT (https://digit4g.com/p) Digit4G: regex: 'Digit4G|Digit(?:4G|play1|next_Ultra)|DIGIT (?:INFINITY|Glory1)' device: 'smartphone' models: - regex: 'Digitplay1(?:[);/ ]|$)' model: 'Play1' - regex: 'Digitnext_Ultra(?:[);/ ]|$)' model: 'Next Ultra' - regex: 'Glory1(?:[);/ ]|$)' model: 'Glory1' - regex: 'INFINITY MAX(?:[);/ ]|$)' model: 'Infinity Max' - regex: 'INFINITY(?:[);/ ]|$)' model: 'Infinity' - regex: 'Energy Max(?:[);/ ]|$)' model: 'Energy Max' - regex: 'Digit4G[ _]E([234])[ _]pro(?:[);/ ]|$)' model: 'E$1 Pro' - regex: 'Digit4G[ -](Energy|Pro)' model: '$1' # Compumax or COMPUMAX COMPUTER S.A.S (www.compumax.com.co) COMPUMAX: regex: 'BlueS10(?:[);/ ]|$)' device: 'tablet' models: - regex: 'BlueS10' model: 'Blue S10' # Digma Digma: regex: 'Digma[_ ]([^;/)]+)(?: Build|[;)])|iD[sr]Q\d+|DiMagic|HIT HT707[10]MG|CITI (?:7 E401 4G|8 E400 4G|ATL 4G|Kids|Octa [178]0|1902 3G|10 E402|Z530 3G|13 X703 4G)|(CITI[_ ](?:[A-Z0-9]+)[_ ][34]G)[ _][TC][ST](?:[0-9]{4}[PM][LG])|HIT 4G|HT7074ML|IDX5|(iDx10|iDx7)|MVM900H(?:WZ|C)|MVM908HCZ|(iDxD8 3G|iDxD10 3G|iDrQ10 3G|iDxD[45]|iDxQ5|iD[nx]D7(?:[_ ]3G)?)|PS604M|PT452E|Linx.+ [34]G L[TS][0-9]{4}[PM][GL]|Linx PS474S|PS1043MG|HT7071MG|HT5035PG|HT4039PG|NS6902QL|NS9797MG|TS7854M|TS1012E 3G|TT1004PG|TT702[045]MG|TT1002MG|TT7026MW|WS825[123]PL|VRL42|((?:Optima(?![_ ]T-II)(?: Kids 7)?|Platina|Plane)[ _](?:[EM])?(?:[0-9\.ST]+|Prime)(?:[ _][43]G)?)|(VOX[ _](?:[0-9\.A-Z]+)[_ ][43]G)|DM-LED(?:5[05]UBB31|43UBB31|32SR21|(?:32|40)SBB3[15]|43SR2[23]|42SR24|24SR20|55UR31|43SBB31|24SBB31)|RS1248PL|RS1253PL|RS1249PL|RS1267PL|WS125[01]PL|WS1262RW|HS1002PL|TS1292PL|HS100[134]PL|TS8289PL|Kids_8280C_WS8252PL|HS101[012]PL' device: 'smartphone' models: - regex: 'HIT(?: 3G)? HT707[10]MG' model: 'HIT 3G' device: 'tablet' - regex: 'iDx5' model: 'iDx5' - regex: 'HT5035PG' model: 'HIT Q500 3G' - regex: 'HT4039PG' model: 'HIT Q401 3G' - regex: 'VS5037PL' model: 'VOX Fire 4G' - regex: '(VOX[ _](?:[0-9\.A-Z]+)[_ ][43]G)' model: '$1' - regex: 'PS604M' model: 'Linx 6.0' - regex: 'LT4049PG' model: 'Linx Atom 3G' - regex: 'LT5048MG' model: 'Linx Joy 3G' - regex: 'LT5052ML' model: 'Linx Base 4G' - regex: 'LT4047MG' model: 'Linx Alfa 3G' - regex: 'LS4050MG' model: 'Linx X1 3G' - regex: 'LS4051MG' model: 'Linx X1 Pro 3G' - regex: 'LT4054MG' model: 'Linx Argo 3G' - regex: 'LS5041PL' model: 'Linx Trix 4G' - regex: 'LS5040PL' model: 'Linx Rage 4G' - regex: 'LS5053ML' model: 'Linx Pay 4G' - regex: 'Linx ([A-Z][0-9]{3}) 3G (?:LT4028PG|LS4019PG|LT4001PG|LT5001PG|LT4038PG|LT5037MG|LT4030PG)' model: 'Linx $1 3G' - regex: '(Linx PS474S)' model: '$1' - regex: 'PT452E' model: 'Linx 4.5' - regex: 'CITI ATL 4G CS5029ML' model: 'CITI ATL 4G' - regex: '(CITI Z530 3G)' model: '$1' - regex: '(CITI [A-Z0-9]+ [34]G) C[ST](?:606[32]ML|4024PG|5009PL|5021ML|502[56]PL)' model: '$1' - regex: 'MS100[123]PL' model: 'Pro Prime 18 11" 3G' device: 'tablet' - regex: 'HIT 18 HS101[012]PL' model: 'Pro Hit 18 10.51"' device: 'tablet' - regex: 'Pro STAR 14|AS8001PL' model: 'Pro Star 14' device: 'tablet' - regex: 'TS7854M' model: 'Plane 8.1" 3G' device: 'tablet' - regex: 'RS1249PL' model: 'Pro 1800F 4G' device: 'tablet' - regex: 'HS1002PL' model: 'Pro Hit 16 10.4"' device: 'tablet' - regex: 'HS1008PL' model: 'Pro Hit 104 10.1"' device: 'tablet' - regex: 'HS100[13]PL' model: 'Hit 16 10.4"' device: 'tablet' - regex: 'HS1004PL' model: 'Pro Hit 108E 10.1"' device: 'tablet' - regex: 'HS1006PL' model: 'Pro Hit 14 10.4"' device: 'tablet' - regex: 'HS1005PL' model: 'Pro Hit 104 10.1"' device: 'tablet' - regex: 'PS1043MG' model: 'Plane 10.3" 3G' device: 'tablet' - regex: 'TS1012E 3G' model: 'Plane 10.1" 3G' device: 'tablet' - regex: 'MVM900H(?:WZ|C)' model: 'iDx8' device: 'tablet' - regex: 'MVM908HCZ' model: 'iDx9' device: 'tablet' - regex: '(iD(?:xD10|rQ10|xD7)[_ ]3G)' model: '$1' device: 'tablet' - regex: '(iDx10|iDx7)' model: '$1' - regex: '(iDxD[45]|iDxQ5)' model: '$1' - regex: 'HIT 4G HT7074ML' model: 'HIT 4G' device: 'tablet' - regex: 'PRO (1[46]00E 4G)' model: 'Pro $1' device: 'tablet' - regex: 'DIGMA[_ ]IDSD' model: 'IDsD 10 3G' device: 'tablet' - regex: 'CITI[_ ](1902 3G|Kids(?:[_ ](?:8[01]|10))?|8527_4G|8269C 3G|Octa [178]0|10 E402 4G|8 E400 4G|7 E401 4G|13 X703 4G|131[23]C 4G|8443E 4G|1314C 4G|1421D 4G)' model: 'CITI $1' device: 'tablet' - regex: 'WS1262RW' model: 'Kids 1210B' device: 'tablet' - regex: 'WS8253PL' model: 'Kids 8260C' device: 'tablet' - regex: '(?:Kids_8280C_)?WS8252PL' model: 'Kids 8280C' device: 'tablet' - regex: '(CITI[ _](?:[A-Z0-9]+)[ _][34]G)[ _][TC][ST](?:106[24]ML|111[46]ML|1115MG|1117PG|1207MG|1210MG|3001ML|500[67]PG|7052PG|706[567]MG|7097MG|720[48]MG|820[69]MG|11[459]4MG|1195MG|1196ML|3001ML|8152ML|1050PL|709[68]PL|7113PL|7193MG|7216MG|8205PG|7203MG|8143MG|7153MG|7141MG|7140ML|8268PL)' model: '$1' device: 'tablet' - regex: 'iDxD8 3G' model: 'D-Plane2 8' device: 'tablet' - regex: '(iDnD7)' model: '$1' device: 'tablet' - regex: 'NS6902QL' model: 'Platina 7.2 4G' device: 'tablet' - regex: 'NS9797MG' model: 'Platina 7.2 3G' device: 'tablet' - regex: 'TT1004PG' model: 'Optima 10.4" 3G' device: 'tablet' - regex: 'TT1002MG' model: 'Optima D 10.4" 3G' device: 'tablet' - regex: 'TT7025MG' model: 'Optima 7.5" 3G' device: 'tablet' - regex: 'TT7026MW' model: 'Optima 7.6" 3G' device: 'tablet' - regex: 'TT7020MG' model: 'Optima 7.3" 3G' device: 'tablet' - regex: 'TT7024MG' model: 'Optima 7.4" 3G' device: 'tablet' - regex: 'Optima ([0-9]+ [AXZE][0-9]+[SC]?) ([43])G' model: 'Optima $1 $2G' device: 'tablet' - regex: 'TS8289PL' model: 'Optima 8305C 4G' device: 'tablet' - regex: 'Optima ([0-9]+ A500S) 3G' model: 'Optima $1 3G' device: 'tablet' - regex: 'iD([sr])Q(\d+)[_ ]3G' model: 'iD$1Q$2 3G' device: 'tablet' - regex: 'iD([sr])Q(\d+)' model: 'iD$1Q$2' device: 'tablet' - regex: 'TS7203RW' model: 'Optima Kids 7' device: 'tablet' - regex: 'TT7000MG' model: 'Optima Prime 3G' device: 'tablet' - regex: '8402D 4G' model: '8402D 4G' device: 'tablet' - regex: '1402D 4G WS1250PL' model: '1402D 4G' device: 'tablet' - regex: 'WS1251PL' model: 'Kids 1247C' device: 'tablet' - regex: 'RS1267PL' model: 'Pro 1480E 4G' device: 'tablet' - regex: '((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\.BSTNMEVCD]+|Prime(?:[ _][345])?)(?:[ _][43]G)?)' model: '$1' device: 'tablet' - regex: 'Digma[_ ]([^;/]+) Build' model: '$1' device: 'tablet' # Cube Projector - regex: 'DiMagic Cube ([^;/)]+)(?: Build|[;)])' model: 'DiMagic Cube $1' device: 'peripheral' # VR headset - regex: 'VRL42(?:[);/ ]|$)' device: 'wearable' model: 'VR L42' # TV models - regex: 'DM-LED(\d+(?:[SU]R|[SU]BB)\d+)(?:[);/ ]|$)' device: 'tv' model: 'DM-LED$1' # DoCoMo DoCoMo: regex: 'DoCoMo|\;FOMA|KGT/1\.0' device: 'feature phone' models: - regex: 'DoCoMo/.+MST.+(SH2101V)' model: '$1' - regex: 'DoCoMo/[12]\.0[/ ]([a-z0-9]+)' model: '$1' - regex: '([a-z0-9]+)(?:_W)?\;FOMA' model: '$1' - regex: 'KGT/1\.0 ([a-z0-9]+)' model: '$1' # Doogee Doogee: regex: 'DOOGEE[/ _-]|Valencia2_Y100(?:_?(?:pro|plus))?|Y100_Plus|X5max(?:[_ ]PRO)?|Shoot_[12]|x5_doogee|(KISSME|BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)(?:[);/ ]|$)|(?:BL12000|BL5500[_ ]Lite| Y6C|X9 Mini|LEO_DG280|Y9Plus|Y8 Plus|Hitman_DG850|S(?:4[01]|[568]8|9[05678]|59|61|8[69])Pro|X9[567]Pro|S[478]0Lite|S88Plus|BL[579]000|N[24]0Pro| S118|(?<!Lenovo )S90C|Ibiza_F2|S55_Lite|T5_Lite|S60 ?Lite|Iron-bone DG750|X10S|X[569]0L|MIX2|Y6 Max|Y6_Piano(?:_black)?|S100Pro|X[679]pro|V20Pro|S96GT|android 10(?:[\d.]*);(?: [\w-]+;)? (?:S59|S35|X95i?|X93|N30)|android 12(?:[\d.]*);(?: [\w-]+;)? (?:S98|S61|S89|V Max|S100|V30T?|S51)|V Max Plus|Y7Plus|S35T|V31GT|Smini|T[23]0Ultra|T10E|[TV]20S|V30Pro|android 13(?:[\d.]*);(?: [\w-]+;)? (?:R[12]0)|Android 9(?:[\d.]*);(?: [\w-]+;)? (?:N100|N20|Y8|S95)|S41T|N50S|D60 Pro|DK10|Turbo_mini_F1|Y100X|T30Pro|T10S|T10Plus|T20Mini|S41 Max|S41 Plus|N55 Pro|S punk|S cyber)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'T30Pro(?:[);/ ]|$)' device: 'tablet' model: 'T30 Pro' - regex: 'R([12]0)(?:[);/ ]|$)' device: 'tablet' model: 'R$1' - regex: 'T([12]0)S(?:[);/ ]|$)' device: 'tablet' model: 'T$1S' - regex: 'T10E(?:[);/ ]|$)' device: 'tablet' model: 'T10E' - regex: 'T10Plus(?:[);/ ]|$)' device: 'tablet' model: 'T10 Plus' - regex: 'T20Mini Kid(?:[);/ ]|$)' device: 'tablet' model: 'T20 Mini Kid' - regex: 'T20Mini(?:[);/ ]|$)' device: 'tablet' model: 'T20 Mini' - regex: 'T([23]0)Ultra(?:[);/ ]|$)' device: 'tablet' model: 'T$1 Ultra' - regex: 'V Max Plus' model: 'V Max Plus' - regex: 'V Max' model: 'V Max' - regex: 'S punk' model: 'S Punk' - regex: 'S cyber' model: 'S Cyber' - regex: '(?:Valencia2_)?Y100_Plus(?:[);/ ]|$)' model: 'Valencia2 Y100 Plus' - regex: 'Valencia2[_ ]Y100pro' model: 'Valencia2 Y100 Pro' - regex: 'Valencia2_Y100(?:[);/ ]|$)' model: 'Valencia2 Y100' - regex: 'LEO_(DG280)' model: 'Leo $1' - regex: 'Iron-bone (DG750)' model: 'Iron Bone $1' - regex: '(X95i?|BL[579]000|S90C|X10S|X[569]0L|X93|V30T?|V31GT|V20S|DK10)(?:[);/ ]|$)' model: '$1' - regex: 'X(9[567])Pro(?:[);/ ]|$)' model: 'X$1 Pro' - regex: 'V30Pro(?:[);/ ]|$)' model: 'V30 Pro' - regex: 'N([24]0|55) ?Pro(?:[);/ ]|$)' model: 'N$1 Pro' - regex: 'N(50)S(?:[);/ ]|$)' model: 'N$1S' - regex: 'BL12000 PRO' model: 'BL12000 Pro' - regex: 'D60 Pro' model: 'D60 Pro' - regex: 'BL5500[_ ]Lite' model: 'BL5500 Lite' - regex: 'BL12000' model: 'BL12000' - regex: 'V20Pro' model: 'V20 Pro' - regex: 'S41 Max' model: 'S41 Max' - regex: 'S([568]8|9[05678]|59|61|4[01]|8[69]|100)Pro' model: 'S$1 Pro' - regex: 'S(88|41) ?Plus' model: 'S$1 Plus' - regex: 'S([4-8]0|55)[_ ]?Lite' model: 'S$1 Lite' - regex: 'S96GT' model: 'S96 GT' - regex: 'KISSME-DG580' model: 'Kissme DG580' - regex: 'Hitman_DG850' model: 'Hitman DG580' - regex: 'X9 Mini' model: 'X9 Mini' - regex: 'Smini' model: 'S Mini' - regex: 'x5_doogee' model: 'X5' - regex: 'T5_Lite' model: 'T5 Lite' - regex: 'Doogee X5MP|x5MaxPro' model: 'X5 Max Pro' - regex: 'X5max_S' model: 'X5 Max S' - regex: 'Shoot_([12])' model: 'Shoot $1' - regex: 'Ibiza_F2' model: 'Ibiza F2' - regex: 'Y6_Piano_black' model: 'Y6 Piano Black' - regex: 'Y6_Piano' model: 'Y6 Piano' - regex: 'Y6 Max 3D' model: 'Y6 Max 3D' - regex: 'Y6 Max' model: 'Y6 Max' - regex: 'Y7Plus' model: 'Y7 Plus' - regex: '(?:Doogee[_ ])?X([679])[_ ]?pro' model: 'X$1 Pro' - regex: 'T6pro' model: 'T6 Pro' - regex: 'DG550' model: 'DG550 Dagger' - regex: 'Y100X' model: 'Nova Y100X' - regex: 'Turbo_mini_F1' model: 'Turbo Mini F1' - regex: 'Y([89]) ?Plus(?:[);/ ]|$)' model: 'Y$1 Plus' - regex: '(S5[19]|S35T?|S9[58]|S89|Y8|Y6C|S61|N[23]0|[NS]100|S118|S41T)(?:[);/ ]|$)' model: '$1' - regex: '(X5max(?:[_ ]PRO)?)' model: '$1' - regex: '(?:DOOGEE[ _-])?(BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|Valencia2_Y100pro|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)(?:[);/ ]|$)' model: '$1 $2' - regex: 'DOOGEE[ _-]([^);/]+) Build' model: '$1' - regex: 'DOOGEE[ _-]([^);/]+)(?:[);/ ]|$)' model: '$1' - regex: 'MIX2(?:[);/ ]|$)' model: 'Mix 2' # Doov Doov: regex: '(?:Doov-)?Doov[ _]| (?:20200308|20190808)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '20200308(?:[);/ ]|$)' model: 'X11 Pro Max' - regex: '20190808(?:[);/ ]|$)' model: 'X11 Pro' - regex: '(?:Doov-)?Doov[ _]([^;/]+) Build' model: '$1' - regex: '(?:Doov-)?Doov[ _]([^);/]+)(?:[);/ ]|$)' model: '$1' # Dopod Dopod: regex: 'Dopod(?: )?([a-z0-9]+)' device: 'feature phone' model: '$1' # Doppio Doppio: regex: 'Doppio ' device: 'smartphone' models: - regex: 'Doppio DP355(?:[);/ ]|$)' model: 'DP355' - regex: 'Doppio ([0-9a-z]+)' model: '$1' # Doro (doro.com) Doro: regex: 'Doro|DSB-02[23]0' device: 'smartphone' models: - regex: 'DSB-0230(?:[);/ ]|$)' model: '8050' - regex: 'Doro[_ ]8020x(?:[);/ ]|$)' model: '8020X' - regex: 'DSB-0220(?:[);/ ]|$)' model: '8080' - regex: 'Doro[ _-]?([^;/)]+)(?: Build|[;)])' model: '$1' - regex: 'Doro[ _-]([0-9a-z]+)' model: '$1' # Dune HD Dune HD: regex: 'DuneHD|SOLO 4K(?:[);/ ]|$)' device: 'tv' models: - regex: 'SOLO 4K(?:[);/ ]|$)' model: 'Solo 4k' - regex: 'DuneHD/\d\.\d \([a-z]+__([a-z0-9_-]+);' model: '$1' - regex: 'DuneHD/\d\.\d \(([a-z0-9_-]+);' model: '$1' # DNS DNS: regex: '(?:DNS|AirTab)[ _\-]([^;/)]+)|(?:S4505M|S4004M|SD01M)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:DNS[_ ])?(S4505M|S4004M|SD01M|S4502|S4003|S4003)(?:[);/ ]|$)' model: '$1' - regex: 'S-4003(?:[);/ ]|$)' model: 'S4003' - regex: 'AirTab[ _\-]([^;/]+)(?: Build|[);])' model: 'AirTab $1' device: 'tablet' - regex: 'DNS[ _\-]([^;/]+)(?: Build|[);])' model: '$1' # E-Boda (e-boda.ro) E-Boda: regex: 'E-Boda|Eclipse_(?:G400M|G500)|Revo R77 GPS' device: 'smartphone' models: - regex: 'E-Boda ((?:Revo|Izzycomm(?: Z80)?|Essential|Intelligence|Supreme)[^/);]+)(?: Build|[;)])' device: 'tablet' model: '$1' - regex: 'Revo R77 GPS' device: 'tablet' model: 'Revo R77 GPS' - regex: 'Eclipse_(G400M|G500)' model: 'Eclipse $1' - regex: 'E-Boda ([^/);]+)(?: Build|[;)])' model: '$1' # Easypix Easypix: regex: 'EasyPad|(?<!INOI )EasyPhone' device: 'smartphone' models: - regex: '(EasyPhone[^/;]+) Build' model: '$1' - regex: 'EasyPad ([^/;)]+)(?: Build|[;)])' model: 'EasyPad $1' device: 'tablet' # Ebest EBEST: regex: 'EBEST' device: 'smartphone' models: - regex: 'EBEST[ _-]?([^;/)]+) Build' model: '$1' - regex: 'EBEST[ _-]?([^;/)]+)(?:[);/ ]|$)' model: '$1' # Horizont (https://horizont.by/en/) Horizont: regex: '(?:Horizont[_ ])?(32LE7011D|43LE7022D|32LE705[12]D|65LE7053D|43LE7052D|50LE7053D)' device: 'tv' model: '$1' # Echo Mobiles or echo Echo Mobiles: regex: 'ECHO[ _](HOLI|HORIZON|MAX|MOSS|NOTE|POWER|SMART|DUNE|JAVA|FUSION|PUSH|PRISM|STUDIO)|(?:HORIZON_M|Stellar [34]G|FEELING|MOON(?![ _]HD[ _]Quad)|LOOK)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ECHO_HORIZON_LITE' model: 'HORIZON Lite' - regex: '(HORIZON_M|FEELING|MOON|LOOK)(?:[);/ ]|$)' model: '$1' - regex: 'STELLAR ([34])G' model: 'STELLAR $1G' - regex: 'ECHO_SMART_4G' model: 'SMART 4G' - regex: 'ECHO[ _](HOLI|MAX|MOSS|NOTE|POWER|SMART|DUNE|JAVA|FUSION|PUSH|PRISM|STUDIO)' model: '$1' # ECS ECS: regex: '(?:TA10CA3|TM105A?|TR10[CR]S1|TF10EA2|TR10CS2)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'TA10CA3(?:[);/ ]|$)' model: 'TA10CA3' - regex: '(TR10[CR]S1|TF10EA2|TR10CS2)(?:[);/ ]|$)' model: '$1' - regex: 'TM105A(?:[);/ ]|$)' model: 'TM105A' - regex: 'TM105(?:[);/ ]|$)' model: 'TM105' # EE EE: regex: '(?:Harrier(?: Tab)?|Hawk|Rook)[_ ]from[_ ]EE' device: 'smartphone' models: - regex: '(Harrier Tab)[_ ]from[_ ]EE' device: 'tablet' model: '$1' - regex: 'Rook[_ ]from[_ ]EE' model: 'Rock' - regex: '(Harrier|Hawk)[_ ]from[_ ]EE' model: '$1' # EGL EGL: regex: 'EGL11QF6' device: 'smartphone' models: - regex: 'EGL11QF6' device: 'tablet' model: '11QF6' # EKT EKT: regex: 'EK-(?:5040|5336|5540|5937|6020|8680|MII|T7020)' device: 'tablet' models: - regex: 'EK-(MII|T7020)' model: 'EK-$1' - regex: 'EK-(5040|5336|5540|5937|6020|8680)' device: 'smartphone' model: 'EK-$1' # Eks Mobility Eks Mobility: regex: '(?:S5[UL]S|X4UPlus|S45U)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(S5[UL]S|S45U)' model: '$1' - regex: 'X4UPlus' model: 'X4U Plus' # Elephone Elephone: regex: 'Elephone|Vowney(?: Lite)?|P6000(?!_Plus)( ?Pro| ?Plus|\+| ?02| 5.0 01)?|(?<!Chrome/)Soldier|C1_Max|(?:Trunk 1|P8_3D|P8_Max|P8_Mini|A6_mini|P9000(?:_Lite)?|Android 9(?:[\d.]*);(?: [\w-]+;)? PX|PX_Pro| U3H|U_Pro|Android 10(?:[\d.]*);(?: [\w-]+;)? (?:E10_Pro|E10))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Elephone[_ ])?Trunk(?: 1)?(?:[);/ ]|$)' model: 'Trunk' - regex: 'Vowney Lite(?:[);/ ]|$)' model: 'Vowney Lite' - regex: 'Vowney(?:[);/ ]|$)' model: 'Vowney' - regex: 'P6000(\+| ?Plus)(?:[);/ ]|$)' model: 'P6000 Plus' - regex: 'P6000 02(?:[);/ ]|$)' model: 'P6000 02' - regex: 'P6000 5\.0 01(?:[);/ ]|$)' model: 'P6000 01' - regex: 'P6000 ?Pro(?:[);/ ]|$)' model: 'P6000 Pro' - regex: 'P(\d+)[_ ]Lite(?:[);/ ]|$)' model: 'P$1 Lite' - regex: 'Soldier(?:[);/ ]|$)' model: 'Soldier' - regex: 'A6_mini(?:[);/ ]|$)' model: 'A6 Mini' - regex: 'P8_Mini(?:[);/ ]|$)' model: 'P8 Mini' - regex: '(U|PX|E10)_Pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'U3H(?:[);/ ]|$)' model: 'U3H' - regex: 'C1_Max(?:[);/ ]|$)' model: 'C1 Max' - regex: 'PX(?: Build|[;)])' model: 'PX' - regex: '(P8_3D|P8_Max)(?:[);/ ]|$)' model: '$1' - regex: '(?:Elephone[ _])?(P[7689]000|S2)(?:[);/ ]|$)' model: '$1' - regex: 'Elephone[ _\-]([^/;]+)(?: Build|[;)])' model: '$1' # Element Element: regex: '(?:smarttv_)?AFTRS' model: 'Element 4K (2017)' device: 'tv' # Elenberg Elenberg: regex: '(?:TAB(?:101|728)[ _]3G|TAB7(?:[03]8|16|40|3[30])|STB0819)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(STB0819)' device: 'tv' model: '$1' - regex: '(TAB(?:101|728)[ _]3G|TAB7(?:[03]8|16|40|3[30]))' model: '$1' # Ericy Ericy: regex: 'Ericy-([a-z0-9]+)' device: 'feature phone' model: '$1' # Essential or Essential Products Essential: regex: 'PH-1(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'PH-1' model: 'PH-1' # E-tel (etelmobiles.com) E-tel: regex: 'E-tel[-_ ](?:i2[45]0|i300|i7c|N[67]|Q4|O9)' device: 'smartphone' models: - regex: 'E-tel[-_ ]i(7c|\d+)' model: 'i$1' - regex: 'E-tel[-_ ]N([67])' model: 'N$1' - regex: 'E-tel[-_ ]O9' model: 'Curiosity O9' - regex: 'E-tel[-_ ]Q4' device: 'tablet' model: 'Q4' # Evercoss Evercoss: regex: 'EVERCOSS[ _]|(U6 PRIME|A75A\*|AT8B|U50A_PLUS|M50 (?:MAX|STAR)|A75 MAX|M55[ABC]|M50A|R40K|R70A|7.*; (?:R70|R5C)|S55[AB]|U70[CB])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'A75A\*(?:[);/ ]|$)' model: 'A75A Star' - regex: '(A75|M50A) MAX*(?:[);/ ]|$)' model: '$1 Max' - regex: 'U50A_PLUS(?:[);/ ]|$)' model: 'U50A Plus' - regex: 'M50 STAR(?:[);/ ]|$)' model: 'M50 Star' - regex: 'M50 MAX(?:[);/ ]|$)' model: 'M50 Max' - regex: 'U6 PRIME' model: 'U6 Prime' - regex: '(M50A|R40K|R70|R5C|S55[AB]|M55[ABC])(?:[);/ ]|$)' model: '$1' - regex: '(AT8B|R70A|U70[CB])(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'EVERCOSS[ _](A7[BRLZ]|A65|A74A|A5Z)(?:[);/ ]|$)' model: '$1' # Eurostar Eurostar: regex: '(ET7002C-H12|ET8183GQ-HM15|ET7184GQ-B15|ET7183GQ-H16|Onyx-[13]S|T40SG?LED-A1[45])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Onyx-([13]S)' model: 'Onyx $1' - regex: 'ET7002C-H12' model: 'ePad 4S' device: 'tablet' - regex: '(ET8183GQ-HM15|ET7184GQ-B15|ET7183GQ-H16)' model: '$1' device: 'tablet' - regex: '(T40SG?LED-A1[45])' model: '$1' device: 'tv' # ETOE (https://etoeofficial.com/) ETOE: regex: 'SDMC D1221(?:[);/ ]|$)' device: 'tv' model: 'D1221' # Eton Eton: regex: 'Eton' device: 'smartphone' models: - regex: 'Eton[ _-]?([^;/)]+) Build' model: '$1' - regex: 'Eton[ _-]?([^;/)]+)(?:[);/ ]|$)' model: '$1' # Essentielb Essentielb: regex: '(?:Wooze[_ ]?(?:I55?|I45|X?L)|HEYOU(?:[135]|20PLUS|[1-7]0))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'HEYOU20PLUS(?:[);/ ]|$)' model: 'HEYou 20 Plus' - regex: 'HEYOU([135]|[1-7]0)(?:[);/ ]|$)' model: 'HEYou $1' - regex: 'Wooze[_ ]?((?:I55?|I45|X?L))(?:[);/ ]|$)' model: 'Wooze $1' # Facebook Facebook: regex: 'PortalTV' device: 'tv' model: 'Portal TV' # Gateway Gateway: regex: 'GWAT(?:8-1|10-1)' device: 'tablet' models: - regex: 'GWAT(8|10)-1' model: 'Tablet $1"' # Ricoh (https://www.ricoh.com/) Ricoh: regex: 'ricoh_' device: 'peripheral' models: - regex: 'ricoh_mfpapnl' model: 'MFP' # Rikomagic or RMK Rikomagic: regex: '(?:RKM[_ ])?MK(902II|902|80[28][^/;]*)(?: Build|[;)])' device: 'tv' model: 'MK$1' # Rinno Rinno: regex: 'Rinno (R(?:400|505))' device: 'smartphone' model: '$1' # Riviera (www.riviera.com.ec) Riviera: regex: 'RIVIERA[ _]' device: 'smartphone' models: - regex: 'RIVIERA[ _](F23|U963)' model: '$1' # Senseit Senseit: regex: 'SENSEIT[ _]?([^;/)]+)( Build|\))' device: 'smartphone' model: '$1' # SunWind (sunwind.ru.com) SUNWIND: regex: 'SUNWIND[_ ]|SUN[-_]LED\d+|(?:SKY 9 [EA]\d+ 3G|Sky (?:126[24]C|1123B|7143B|8244B|8421D|1430D) [43]G|SKY Kids 70 SS7238PG)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SKY ([79]) ([EA]\d+) 3G' model: 'Sky $1 $2 3G' - regex: 'SKY Kids 70' model: 'Sky Kids 70' - regex: 'Sky (\d{4}[BCD]) ([34])G' model: 'Sky $1 $2G' - regex: 'SUN[-_]LED(\d+\w{1,2}\d+)' device: 'tv' model: 'SUN-LED$1' # ZoomSmart ZoomSmart: regex: '(LT600T)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Smartab Smartab: regex: '(ST1009|ST7160|ST1009X)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Sony & Sony Ericsson (combined as they are mixed up) Sony: regex: 'Sony(?: ?Ericsson)?|SGP|Xperia|(?:[4-9]0[12])SO|C1[569]0[45]|C2[01]0[45]|C230[45]|C530[236]|C550[23]|C6[56]0[236]|C6616|C68(?:0[26]|[34]3)|C69(?:0[236]|16|43)|D(?:200[45]|21(?:0[45]|14)|22(?:0[236]|12|43)|230[2356]|240[36]|2502|2533|510[236]|530[36]|5316|5322|5503|58[03]3|65(?:0[23]|43|63)|66[03458]3|66[14]6|6708)|E(?:20[0345]3|2006|210[45]|2115|2124|230[36]|2312|23[356]3|530[36]|53[3456]3|5506|55[356]3|56[46305][36]|58[02]3|6508|65[35]3|66[0358]3|68[358]3)|F(?:311[12356]|331[13]|321[12356]|5[13]21|5122|813[12]|833[12])|G(?:2299|312[135]|311[26]|322[136]|3212|331[123]|3412|3416|342[136]|823[12]|834[123]|8[14]4[12]|8188)|H(?:3113|3123|3133|3213|3223|3311|3321|3413|4113|4133|4213|4233|4311|4331|4413|4433|4493|8116|8166|82[1679]6|83[12]4|8416|9436|9493)|I(?:3[12]23|3213|[34]113|[34]312|4193|42[19]3|4332)|J(?:3173|3273|81[17]0|82[17]0|91[15]0|92[16]0)|(?:WT|LT|SO|ST|SK|MK)[0-9]+[a-z]+[0-9]*(?: Build|\))|X?L39H|XM50[ht]|XQ-[A-Z]{2}[0-9]{2}|W960|portalmmm/2\.0 K|S3[69]h|SOG(?:0[1-9]|10)|SOL2[2-6]|SOT[23]1|SOV3[1-9]|SOV4[0-3]|X10[ia]v?|E1[05][ai]v?|MT[0-9]{2}[a-z]? Build|SO-0(?:[12]C|[2-5]D|[1-4]E|[1-5]F|[1-5]G|[1-4]H|[1-4]J|[1-5]K|1M|[1-3]L)|R800[aix]|LiveWithWalkman|BRAVIA|SGP771|E3 Dual|A[012]01SO|A204SO|A[123]02SO|SO-[45]1[AB]|SO-5[1234][ABCD]|A[12]03SO|A002SO|NW-(A[13]00|ZX500|Z1000)Series|NSZ-GS7|SmartWatch 3|SVP-DTV15' device: 'smartphone' models: # SONY ERICSSON: explicit smartphone models - regex: '(?:Sony(?:Ericsson)?)?E10[ai]v?' model: 'Xperia X10 mini' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?U20' model: 'Xperia X10 mini pro' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?E15[ai]v?' model: 'Xperia X8' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?(LT15[ai]?v?|SO-01C)' model: 'Xperia arc' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?LT18[ai]v?' model: 'Xperia arc S' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?MT11' model: 'Xperia neo V' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?MT15' model: 'Xperia neo' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?MT27' model: 'Xperia Sola' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?MK16[ai]' model: 'Xperia pro' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?ST15[ai]' model: 'Xperia mini' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?ST17[ai]' model: 'Xperia active' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?SO-02L' model: 'Xperia Ace' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?ST18[ai]' model: 'Xperia ray' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?SK17[ai]?' model: 'Xperia mini pro' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?X10[ai]v?' model: 'Xperia X10' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)M1' model: 'Aspen' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?R800' model: 'Xperia PLAY' brand: 'Sony Ericsson' - regex: 'Xperia Acro S' model: 'Xperia Acro S' brand: 'Sony Ericsson' - regex: '(?:Sony(?:Ericsson)?)?WT19|LiveWithWalkman' model: 'Live with Walkman' brand: 'Sony Ericsson' # SONY ERICSSON: explicit feature phone models - regex: '(?:Sony(?:Ericsson)?)?CK13i' model: 'txt' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?CK15[ai]' model: 'txt pro' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?F100i' model: 'Jalou' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?J105' model: 'Naite' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?J108' model: 'Cedar' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?J10' model: 'Elm' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?J20' model: 'Hazel' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?U10' model: 'Aino' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?U100' model: 'Yari' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?U1' model: 'Satio' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?U5' model: 'Vivaz' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?U8' model: 'Vivaz pro' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?W20' model: 'Zylo' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?W100' model: 'Spiro' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?W150' model: 'Yendo' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?W960' model: 'W960' brand: 'Sony Ericsson' device: 'feature phone' - regex: '(?:Sony(?:Ericsson)?)?WT13' model: 'Mix Walkman' brand: 'Sony Ericsson' device: 'feature phone' # SONY: explicit smartphone models - regex: 'SO-01E(?:[);/ ]|$)' model: 'Xperia AX' - regex: 'XQ-BE[4-7]2' model: 'Xperia Pro I' - regex: 'XQ-AQ[56]2' model: 'Xperia Pro' - regex: 'SO-04F' model: 'Xperia A2' - regex: 'SO-02D' model: 'Xperia NX' - regex: 'G2299' model: 'Xperia R1 Plus' - regex: 'SO-04G' model: 'Xperia A4' - regex: '(?:Sony(?:Ericsson)?)?I(?:4113|31[12]3)' model: 'Xperia 10' - regex: '(?:Sony(?:Ericsson)?)?J3173(?:[);/ ]|$)' model: 'Xperia Ace' - regex: 'SO-41B(?:[);/ ]|$)' model: 'Xperia Ace II' - regex: '(?:A203SO|SO-53C|SOG08)(?:[);/ ]|$)' model: 'Xperia Ace III' - regex: '(?:A001SO|XQ-AU42|XQ-AU51|XQ-A[TU]52|SO-41A|SOV43)(?:[);/ ]|$)' model: 'Xperia 10 II' - regex: '(?:A001SO|XQ-AU42|XQ-AU51|XQ-A[TU]52|SO-41A|SOV43)(?:[);/ ]|$)' model: 'Xperia 10 II' - regex: '(?:A10[12]SO|SO-52B|SOG04|XQ-BT52)(?:[);/ ]|$)' model: 'Xperia 10 III' - regex: '(?:SO-52D|XQ-DC72|XQ-DC54|A302SO)(?:[);/ ]|$)' model: 'Xperia 10 V' - regex: '(?:XQ-ES[45]4|XQ-ES72|SOG14|SO-52E|A402SO)(?:[);/ ]|$)' model: 'Xperia 10 VI' - regex: 'XQ-BT44(?:[);/ ]|$)' model: 'Xperia 10 III Lite' - regex: '(?:XQ-CC72|XQ-CC[45]4|SOG07|SO-52C|A202SO)(?:[);/ ]|$)' model: 'Xperia 10 IV' - regex: '(?:Sony(?:Ericsson)?)?I(?:42[19]3|32[12]3)' model: 'Xperia 10 Plus' - regex: '(?:Sony(?:Ericsson)?)?I4193' model: 'Xperia 10 Dual' - regex: '(?:Sony(?:Ericsson)?)?(?:J(?:9110|81[17]0)|SOV40|SO-03L|802SO)' model: 'Xperia 1' - regex: '(?:Sony(?:Ericsson)?)?(?:J9150)' model: 'Xperia 1 Professional Edition' - regex: '(?:Sony(?:Ericsson)?)?(?:SOG01|SO-51A|XQ-AT42|XQ-AT51|SO51Aa|XQ-AT72)(?:[);/ ]|$)' model: 'Xperia 1 II' - regex: '(?:Sony(?:Ericsson)?)?(?:SO-51B|SOG03|XQ-BC[4567]2)(?:[);/ ]|$)' model: 'Xperia 1 III' - regex: '(?:Sony(?:Ericsson)?)?(?:SOG06|XQ-CT[67]2|SO-51C|A201SO|XQ-CT[45]4)(?:[);/ ]|$)' model: 'Xperia 1 IV' - regex: '(?:Sony(?:Ericsson)?)?(?:SOG10|SO-51D|XQ-DQ(?:[67]2|[45]4))(?:[);/ ]|$)' model: 'Xperia 1 V' - regex: '(?:XQ-EC72|XQ-EC54|XQ-EC44|SOG13|SO-51E|A401SO)(?:[);/ ]|$)' model: 'Xperia 1 VI' - regex: '(?:Sony(?:Ericsson)?)?LT22i|Xperia P' model: 'Xperia P' - regex: '(?:Sony(?:Ericsson)?)?LT25i|Xperia V' model: 'Xperia V' - regex: '(?:Sony(?:Ericsson)?)?J92[16]0' model: 'Xperia 5 Dual' - regex: '(?:Sony(?:Ericsson)?)?(?:J82[17]0|SO-01M|SOV41|901SO)' model: 'Xperia 5' - regex: '(?:Sony(?:Ericsson)?)?(?:SOG02|A002SO|XQ-AS[4567]2|SO-52A)' model: 'Xperia 5 II' - regex: '(?:Sony(?:Ericsson)?)?(?:XQ-DE72|XQ-DE[45]4)' model: 'Xperia 5 V' - regex: '(?:Sony(?:Ericsson)?)?(?:SO-53B|A103SO|SOG05|XQ-BQ[4567]2)' model: 'Xperia 5 III' - regex: '(?:SOG09|XQ-CQ72|SO-54C|XQ-CQ[45]4|XQ-CQ62|A204SO)' model: 'Xperia 5 IV' - regex: '(?:Sony(?:Ericsson)?)?(?:SOV42|902SO)' model: 'Xperia 8' - regex: '(?:Sony(?:Ericsson)?)?J3273' model: 'Xperia 8 Lite' - regex: '(?:Sony(?:Ericsson)?)?LT26ii' model: 'Xperia SL' - regex: '(?:Sony(?:Ericsson)?)?LT26i|Xperia S(?:[);/ ]|$)' model: 'Xperia S' - regex: '(?:Sony(?:Ericsson)?)?SO-02C' model: 'Xperia arco' - regex: '(?:Sony(?:Ericsson)?)?SO-03D' model: 'Xperia arco HD' - regex: '(?:Sony(?:Ericsson)?)?LT26w' model: 'Xperia arco S' - regex: '(?:Sony(?:Ericsson)?)?LT28[aih]' model: 'Xperia ion' - regex: '(?:Sony(?:Ericsson)?)?LT29i|Xperia TX(?:[);/ ]|$)' model: 'Xperia TX' - regex: '(?:Sony(?:Ericsson)?)?LT30a' model: 'Xperia T LTE' - regex: '(?:Sony(?:Ericsson)?)?LT30p' model: 'Xperia T' - regex: '(?:Sony(?:Ericsson)?)?ST21[ia]2' model: 'Xperia tipo dual' - regex: '(?:Sony(?:Ericsson)?)?ST21[ia]' model: 'Xperia tipo' - regex: '(?:Sony(?:Ericsson)?)?ST23[ia]' model: 'Xperia miro' - regex: '(?:Sony(?:Ericsson)?)?ST25[ia]' model: 'Xperia U' - regex: '(?:Sony(?:Ericsson)?)?SOL22' model: 'Xperia UL' - regex: '(?:Sony(?:Ericsson)?)?SOL21' model: 'Xperia VL' - regex: '(?:Sony(?:Ericsson)?)?ST26[ia]' model: 'Xperia J' - regex: '(?:Sony(?:Ericsson)?)?ST27[ia]' model: 'Xperia go' - regex: '(?:Sony(?:Ericsson)?)?C150[45]' model: 'Xperia E' - regex: '(?:Sony(?:Ericsson)?)?C160[45]' model: 'Xperia E Dual' - regex: '(?:Sony(?:Ericsson)?)?(?:E210[45]|E2115|E2124)' model: 'Xperia E4' - regex: '(?:Sony(?:Ericsson)?)?E20[05]3|E2006' model: 'Xperia E4G' - regex: '(?:Sony(?:Ericsson)?)?C190[45]' model: 'Xperia M' - regex: '(?:Sony(?:Ericsson)?)?C200[45]' model: 'Xperia M Dual' - regex: '(?:Sony(?:Ericsson)?)?C210[45]|S36h' model: 'Xperia L' - regex: '(?:Sony(?:Ericsson)?)?C230[45]|S39h' model: 'Xperia C' - regex: '(?:Sony(?:Ericsson)?)?C530[236]|Xperia SP(?:[);/ ]|$)' model: 'Xperia SP' - regex: '(?:Sony(?:Ericsson)?)?C550[23]' model: 'Xperia ZR' - regex: '(?:Sony(?:Ericsson)?)?C650[236]|Xperia ZL(?:[);/ ]|$)' model: 'Xperia ZL' - regex: '(?:Sony(?:Ericsson)?)?SOL25(?:[);/ ]|$)' model: 'Xperia ZL2' - regex: '(?:Sony(?:Ericsson)?)?(?:C66(?:0[236]|16)|SO-02E)' model: 'Xperia Z' - regex: '(?:Sony(?:Ericsson)?)?(?:C68(?:0[26]|[34]3)|XL39H|SOL24)|Xperia Z Ultra(?:[);/ ]|$)' device: 'phablet' model: 'Xperia Z Ultra' - regex: 'Xperia Z(?:[);/ ]|$)' model: 'Xperia Z' - regex: '(?:Sony(?:Ericsson)?)?D200[45]' model: 'Xperia E1' - regex: '(?:Sony(?:Ericsson)?)?D21(?:0[45]|14)' model: 'Xperia E1 Dual' - regex: '(?:Sony(?:Ericsson)?)?D22(?:0[236]|43)' model: 'Xperia E3' - regex: '(?:Sony(?:Ericsson)?)?D2212|E3 Dual' model: 'Xperia E3 Dual' - regex: '(?:Sony(?:Ericsson)?)?E20[34]3' model: 'Xperia E4g Dual' - regex: 'H33[12]1' model: 'Xperia L2' - regex: 'H43[13]1' model: 'Xperia L2 Dual' - regex: 'I3312' model: 'Xperia L3' - regex: 'I43[13]2' model: 'Xperia L3 Dual' - regex: 'XQ-AD5[12]' model: 'Xperia L4' - regex: '(?:Sony(?:Ericsson)?)?D2302' model: 'Xperia M2 Dual' - regex: '(?:Sony(?:Ericsson)?)?D230[356]' model: 'Xperia M2' - regex: '(?:Sony(?:Ericsson)?)?D240[36]' model: 'Xperia M2 Aqua' - regex: '(?:Sony(?:Ericsson)?)?(?:E230[36]|E23[35]3)' model: 'Xperia M4 Aqua' - regex: '(?:Sony(?:Ericsson)?)?(?:E2312|E2363)' model: 'Xperia M4 Aqua Dual' - regex: '(?:Sony(?:Ericsson)?)?E56[05][36]' model: 'Xperia M5' - regex: '(?:Sony(?:Ericsson)?)?E56[436]3' model: 'Xperia M5 Dual' - regex: '(?:Sony(?:Ericsson)?)?D2502' model: 'Xperia C3 Dual' - regex: '(?:Sony(?:Ericsson)?)?D2533' model: 'Xperia C3' - regex: '(?:Sony(?:Ericsson)?)?E53[05]3|E5306' model: 'Xperia C4' - regex: '(?:Sony(?:Ericsson)?)?E53[0346]3' model: 'Xperia C4 Dual' - regex: '(?:Sony(?:Ericsson)?)?E5506|E5553' model: 'Xperia C5 Ultra' - regex: '(?:Sony(?:Ericsson)?)?E55[36]3' model: 'Xperia C5 Ultra Dual' - regex: '(?:Sony(?:Ericsson)?)?D510[236]' model: 'Xperia T3' - regex: '(?:Sony(?:Ericsson)?)?(?:D530[36]|D5316|XM50[ht])' model: 'Xperia T2 Ultra' device: 'phablet' - regex: '(?:Sony(?:Ericsson)?)?D5322' model: 'Xperia T2 Ultra Dual' device: 'phablet' - regex: '(?:Sony(?:Ericsson)?)?D5503|Xperia Z1 Compact' model: 'Xperia Z1 Compact' - regex: '(?:Sony(?:Ericsson)?)?(?:C69(?:0[236]|16|43)|SOL23|L39H|SO-0[12]F)|Xperia Z1(?:[);/ ]|$)' model: 'Xperia Z1' - regex: '(?:Sony(?:Ericsson)?)?(?:D58[03]3|SO-02G)|Xperia Z3 Compact(?:[);/ ]|$)' model: 'Xperia Z3 Compact' - regex: 'Xperia Z2 Tablet Wifi' model: 'Xperia Z2 Tablet WiFi' device: 'tablet' - regex: 'SGP561|SOT21(?:[);/ ]|$)' model: 'Xperia Z2 Tablet' device: 'tablet' - regex: '(?:Sony(?:Ericsson)?)?(?:D65(?:0[23]|43)|SO-03F)|Xperia Z2(?:[);/ ]|$)' model: 'Xperia Z2' - regex: 'D6563' model: 'Xperia Z2a' - regex: '(?:Sony(?:Ericsson)?)?(?:D66[045]3|D66[14]6|SO-01G|SOL26|401SO)|Xperia Z3(?:[);/ ]|$)' model: 'Xperia Z3' - regex: '(?:Sony(?:Ericsson)?)?(?:D6633|D6683)' model: 'Xperia Z3 Dual' - regex: '(?:Sony(?:Ericsson)?)?(?:E65[35]3)' model: 'Xperia Z3+' - regex: '(?:Sony(?:Ericsson)?)?(?:D6708)' model: 'Xperia Z3v' - regex: 'SOV31|402SO|SO-03G' model: 'Xperia Z4' - regex: 'E6508' model: 'Xperia Z4v' - regex: 'SGP771|SOT31|SO-05G' model: 'Xperia Z4' device: 'tablet' - regex: '(?:Sony(?:Ericsson)?)?(?:E58[02]3|SO-02H)' model: 'Xperia Z5 Compact' - regex: '(?:Sony(?:Ericsson)?)?(?:E66[05]3|SOV32|501SO|SO-01H)' model: 'Xperia Z5' - regex: '(?:Sony(?:Ericsson)?)?E66[38]3' model: 'Xperia Z5 Dual' - regex: '(?:Sony(?:Ericsson)?)?(?:E68[58]3|SO-03H)' model: 'Xperia Z5 Premium' - regex: '(?:Sony(?:Ericsson)?)?E6833' model: 'Xperia Z5 Premium Dual' - regex: '(?:Sony(?:Ericsson)?)?F311[135]' model: 'Xperia XA' - regex: '(?:Sony(?:Ericsson)?)?F311[26]' model: 'Xperia XA Dual' - regex: '(?:Sony(?:Ericsson)?)?F321[135]' model: 'Xperia XA Ultra' - regex: '(?:Sony(?:Ericsson)?)?F321[26]' model: 'Xperia XA Ultra Dual' - regex: '(?:Sony(?:Ericsson)?)?F833[12]|SOV34|601SO|SO-01J' model: 'Xperia XZ' - regex: '(?:Sony(?:Ericsson)?)?(?:701SO|SOV36|G834[123]|SO-01K)' model: 'Xperia XZ1' - regex: '(?:Sony(?:Ericsson)?)?G8441|SO-02K' model: 'Xperia XZ1 Compact' - regex: '(?:Sony(?:Ericsson)?)?F331[13]' model: 'Xperia E5' - regex: '(?:Sony(?:Ericsson)?)?G312[135]|G311[26]' model: 'Xperia XA1' - regex: '(?:Sony(?:Ericsson)?)?G341[26]|G342[13]' model: 'Xperia XA1 Plus' - regex: '(?:Sony(?:Ericsson)?)?G3426' model: 'Xperia XA1 Plus Dual' - regex: '(?:Sony(?:Ericsson)?)?G322[136]|G3212' model: 'Xperia XA1 Ultra' - regex: '(?:Sony(?:Ericsson)?)?H31[123]3' model: 'Xperia XA2' - regex: '(?:Sony(?:Ericsson)?)?H41[13]3' model: 'Xperia XA2 Dual' - regex: 'H44[19]3|H3413' model: 'Xperia XA2 Plus' - regex: 'H4433' model: 'H4433' - regex: '(?:Sony(?:Ericsson)?)?H(?:3213|3223|4213|4233)' model: 'Xperia XA2 Ultra' - regex: '(?:Sony(?:Ericsson)?)?G823[12]|SOV35|602SO|SO-03J' model: 'Xperia XZs' - regex: '(?:Sony(?:Ericsson)?)?(?:G814[12]|G8188|SO-04[JK])' model: 'Xperia XZ Premium' - regex: '(?:Sony(?:Ericsson)?)?(?:H83[12]4|H82[17]6|SOV37|SO-03K|H8296|702SO)' model: 'Xperia XZ2' - regex: 'H8266' model: 'Xperia XZ2 Dual' - regex: 'SO-05K' model: 'Xperia XZ2 Compact' - regex: '(?:H81[16]6|SOV38)(?:[);/ ]|$)' model: 'Xperia XZ2 Premium Dual' - regex: '(?:Sony(?:Ericsson)?)?(?:H(8416|9436|9493)|SO-01L|SOV39|801SO)' model: 'Xperia XZ3' - regex: '(?:Sony(?:Ericsson)?)?G331[13]' model: 'Xperia L1' - regex: '(?:Sony(?:Ericsson)?)?G3312' model: 'Xperia L1 Dual' - regex: '(?:Sony(?:Ericsson)?)?SO-04E' model: 'Xperia A' - regex: '(?:Sony(?:Ericsson)?)?SO-04D' model: 'Xperia GX' - regex: '(?:Sony(?:Ericsson)?)?SO-05D' model: 'Xperia SX' - regex: '(?:Sony(?:Ericsson)?)?F5121' model: 'Xperia X' - regex: '(?:Sony(?:Ericsson)?)?F5122' model: 'Xperia X Dual' - regex: '(?:Sony(?:Ericsson)?)?F5321|SO-02J' model: 'Xperia X Compact' - regex: '(?:Sony(?:Ericsson)?)?(?:F8131|502SO|SOV33|SO-04H)' model: 'Xperia X Performance' - regex: '(?:Sony(?:Ericsson)?)?F8132' model: 'Xperia X Performance Dual' # SONY: explicit tablet models - regex: '(?:Sony)?(?:SGP(?:311|312|321)|(Sony)?SO-03E|Tablet Z LTE)(?:[);/ ]|$)' model: 'Xperia Tablet Z' device: 'tablet' - regex: 'SGP712(?:[);/ ]|$)' model: 'Xperia Tablet Z4' device: 'tablet' - regex: 'SGP(?:511|512|521)(?:[);/ ]|$)|SO-05F' model: 'Xperia Tablet Z2' device: 'tablet' - regex: 'SGP(?:6[124]1|612)(?:[);/ ]|$)' model: 'Xperia Tablet Z3 Compact' device: 'tablet' - regex: 'SGPT(?:12|121|122|123|13|131|132|133)(?:[);/ ]|$)' model: 'Xperia Tablet S' device: 'tablet' # SONY: explicit wearable models - regex: 'SmartWatch 3' model: 'SmartWatch 3' device: 'wearable' # SONY: Bravia or TV Box - regex: '(?:BRAVIA )(2K GB ATV3|[48]K UR[123]|4K GB ATV3|4K GB|4K VH21|4K VH2|4K 2015|2015|VH1|VU[12]|VU31)(?:[);/ ]|$)' model: 'Bravia $1' device: 'tv' - regex: 'SVP-DTV15(?:[);/ ]|$)' model: 'Bravia 4K (2015)' device: 'tv' - regex: '(NSZ-GS7)(?:[);/ ]|$)' model: '$1' device: 'tv' - regex: 'Sony-BRAVIA-VH1(?:[);/ ]|$)' model: 'Bravia VH1' device: 'tv' - regex: 'NW-(A[13]00|Z1000|ZX500)Series' model: 'Walkman $1' device: 'portable media player' # general detections - regex: 'BDP7G' model: 'BDP7G' device: 'tv' - regex: 'BDP8G_AX' model: 'BDP8G AX' device: 'tv' - regex: 'BDV7G_NV' model: 'BDV7G NV' device: 'tv' - regex: 'BDP9G_AXD' model: 'BDP9G AXD' device: 'tv' - regex: 'BDPlayer; ([0-9a-z\-_]+);' model: '$1' device: 'tv' - regex: 'BDP(201[3-7])' model: 'Blu-ray Player ($1)' device: 'tv' - regex: 'SonyBDP|SonyDBV|BDPlayer' model: 'Blu-ray Player' device: 'tv' - regex: '(?:Sony-)?(KDL?-?[0-9a-z]+)' model: '$1' device: 'tv' - regex: 'Opera TV Store.*(?:Sony-)([0-9a-z\-_]+)' model: '$1' device: 'tv' - regex: '((?:WT|SO|ST|SK|MK)[0-9]+[a-z]*[0-9]*)(?: Build|\))' model: '$1' brand: 'Sony Ericsson' - regex: '(MT[0-9]{2}[a-z]?)(?:[);/ ]|$)' model: '$1' brand: 'Sony Ericsson' - regex: 'portalmmm/2\.0 K([a-z0-9]+)' model: 'K$1' brand: 'Sony Ericsson' - regex: 'SonyEricsson ?IS11S' model: 'arco IS11S' brand: 'Sony Ericsson' - regex: 'Sony ?Ericsson?([^/;]*) Build' model: '$1' brand: 'Sony Ericsson' - regex: 'SonyEricsson([CGJKPTWZ][0-9]+[a-z]+)/' model: '$1' brand: 'Sony Ericsson' device: 'feature phone' - regex: 'Sony ?Ericsson ?([a-z0-9\-]+)' model: '$1' brand: 'Sony Ericsson' - regex: 'Sony Corporation/([^/;]*)\)' model: '$1' device: 'desktop' - regex: 'Sony (Tablet[^/;]*) Build' model: '$1' device: 'tablet' - regex: '(SGP[^/;]*) Build' model: '$1' device: 'tablet' - regex: 'Xperia ([^/;]*Tablet[^/;]*) Build' model: 'Xperia $1' device: 'tablet' - regex: 'Xperia ([^;/]+) \(AOSP\) Build' model: 'Xperia $1' - regex: 'Xperia ([^;/]+) Build' model: 'Xperia $1' - regex: '(XQ-[A-Z]{2}[0-9]{2})' model: '$1' - regex: 'Sony[ -]?([^/;]*) Build' model: '$1' - regex: 'Sony[ -]?([a-z0-9\-]+)' model: '$1' # Ergo Ergo: regex: 'ERGO|(V550[_ ]Vision|B502 Basic|B504[_ ]Unit|A502[_ ]Aurum|A503[ _]Optima|Prime B400|A551 Sky 4G|A553 Power|A555 Universe|Force F500|GoTab GBT9|GoTab Gti8|F501_Magic|V551[ _]Aura|V540_Level|V570_BIG_BEN|B506[_ ]INTRO|A503-Optima|B505_Unit_4G|LE32CT5515AK)' device: 'smartphone' models: - regex: 'F501_Magic' model: 'F501 Magic' - regex: 'B502 Basic' model: 'B502 Basic' - regex: 'A503-Optima' model: 'A503 Optima' - regex: 'B506[_ ]INTRO' model: 'B506 Intro' - regex: 'V550[_ ]Vision' model: 'V550 Vision' - regex: 'B504[_ ]Unit' model: 'B504 Unit' - regex: 'B505_Unit_4G' model: 'B505 Unit 4G' - regex: 'V551[ _]Aura' model: 'V551 Aura' - regex: 'V540_Level' model: 'V540 Level' - regex: 'V570_BIG_BEN' model: 'V570 Big Ben' - regex: 'Ergo F502' model: 'F502 Platinum' - regex: '(ERGO_)?A500[ _]Best' model: 'A500 Best' - regex: '(ERGO_)?A550[ _]Maxx' model: 'A550 Maxx' - regex: 'Prime B400' model: 'Prime B400' - regex: 'A502[_ ]Aurum' model: 'A502 Aurum' - regex: 'A503[ _]Optima' model: 'A503 Optima' - regex: 'A551 Sky 4G' model: 'A551 Sky 4G' - regex: 'A553 Power' model: 'A553 Power' - regex: 'A555 Universe' model: 'A555 Universe' - regex: 'ERGO[_ ]A556' model: 'A556' - regex: 'ERGO[_ ]F500' model: 'F500' - regex: 'ERGO[_ ]F501' model: 'F501' - regex: 'B500 First' model: 'B500 First' - regex: 'Force F500' model: 'Force F500' - regex: 'GoTab GBT9' model: 'GoTab GBT9' device: 'tablet' - regex: 'GoTab Gti8' model: 'GoTab GTi8' device: 'tablet' - regex: 'ERGO[_ ]Tab[ _]Crystal[ _]Lite' model: 'Tab Crystal Lite' device: 'tablet' - regex: 'ERGO[_ ]Tab[ _]Hero[ _]II' model: 'Tab Hero II' device: 'tablet' - regex: 'ERGO[_ ](B700)' model: 'Tab $1' device: 'tablet' - regex: 'ERGO SmartBox SX' model: 'SmartBox SX' device: 'tv' - regex: '(LE32CT5515AK)' model: '$1' device: 'tv' - regex: 'ERGOGS' model: 'GHS55' device: 'tv' # Ericsson Ericsson: regex: '(?:Ericsson(?:/ )?[a-z0-9]+)|(?:R380 2\.0 WAP1\.1)' device: 'feature phone' models: - regex: 'Ericsson(?:/ )?([a-z0-9]+)' model: '$1' - regex: 'R380 2\.0 WAP1\.1' model: 'R380' # Energizer (www.energizeyourdevice.com) Energizer: regex: 'Energizer[ _](?:Ultimate|Power Max|Hard ?case)|PowerMax|HARDCASEH5[05]0S|ENERGY[_ ]?(?:[45]00|400S|S[56]00|E12|E5[02]0S?)(?:[_ ](?:LTE|EU))?' device: 'smartphone' models: - regex: 'Power ?Max ?(P[0-9]+S?)' model: 'Power Max $1' - regex: 'ENERGY[_ ]([45]00|E520)[_ ]LTE' model: 'Energy $1 LTE' - regex: 'ENERGY[_ ]400S' model: 'Energy 400S' - regex: 'ENERGY400' model: 'Energy 400' - regex: 'ENERGY[_ ]S([56]00)' model: 'Energy S$1' - regex: 'ENERGY[_ ]?(E500S|E500|E12)' model: 'Energy $1' - regex: 'HARD ?CASE ?(H5[057]0S|G5)' model: 'Hard Case $1' - regex: 'Ultimate 65G' model: 'Ultimate 65G' # eTouch eTouch: regex: 'eTouch ?([a-z0-9]+)' device: 'smartphone' model: '$1' # Etuline Etuline: regex: '(ETL-S(?:3520|4521|5042|5084|6022)|ETL-T(?:752G|850|882G|9[78]0))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(ETL-S(?:[^/); ]+))' model: '$1' - regex: '(ETL-T(?:[^/); ]+))' device: 'tablet' model: '$1' # Storex Storex: regex: "eZee[^a-z]*Tab ?([^;/]*) Build|STOREX LinkBox" device: 'tablet' models: - regex: "eZee[^a-z]*Tab ?([^;/]*) Build" model: "eZee'Tab$1" - regex: 'STOREX LinkBox' model: 'LinkBox' device: 'tv' # Everest (everest-global.eu) Everest: regex: '(?:DC-(?:1032|121[56]|110[24]|1028|1545|70[59]|71[48]|85[56]|971[45])|(?:EVERPAD )?DC-709|DC-9712-8)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'DC-(1032|1028|121[56]|110[24]|1545|70[59]|71[48]|85[56]|971[45]|9712)' model: 'EverPad DC-$1' # Evertek Evertek: regex: '(Ever(?:Allure|Glory|Shine|Miracle|Mellow|Classic|Trendy|Fancy|Vivid|Slim|Glow|Magic|Solo|Smart|Star)[^/);]*)(?: Build|[;)])|(?:E70[25]0HD|E805[01]HD|E9054HD|E8050HG|E1014HG|E7224HG|E7914HG|V5_Nano|M10\+Max|M10 Nano|V4 Nano| V4\+)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(E70[25]0HD|E805[01]HD|E9054HD|E8050HG|E7914HG|E7224HG|E1014HG)' device: 'tablet' model: 'Everpad $1' - regex: '(M10|V[45])[_ ]Nano' model: '$1 Nano' - regex: 'M10\+Max' model: 'M10 Max' - regex: 'EverMiracle Plus' model: 'EverMiracle Plus' - regex: 'V4\+' model: 'V4 Plus' - regex: 'EverTrendy\+4G' model: 'EverTrendy 4G' - regex: 'Ever(Shine|Allure|Glory) ?II' model: 'Ever$1 II' - regex: '(Ever(?:Allure|Glory|Shine|Miracle|Mellow|Classic|Trendy|Fancy|Vivid|Slim|Glow|Magic|Solo|Smart|Star)[^/);]*)(?: Build|[;)])' model: '$1' # Evolio Evolio: regex: 'Evolio|M4MAGIC' device: 'smartphone' models: - regex: 'M4MAGIC' model: 'M4 Magic' - regex: 'Evolio_M5Pro' model: 'M5 Pro' - regex: 'Evolio[ _](M6|S4 Cobalt|S5|X10|Yuppi)' model: '$1' # Evolveo Evolveo: regex: 'EVOLVEO|StrongPhone' device: 'smartphone' models: - regex: 'EVOLVEO MultiMedia Box M4' device: 'tv' model: 'MultiMedia Box M4' - regex: 'EVOLVEO Android Box (H[48])' device: 'tv' model: 'Android Box $1' - regex: 'Smart TV ([^;/]*) Build' device: 'tv' model: 'Smart TV $1' - regex: 'Android Stick Q4' device: 'tv' model: 'Stick Q4' - regex: 'StrongPhone D2 Mini' model: 'StrongPhone D2 Mini' - regex: 'EVOLVEO StrongPhone G(\d)' model: 'StrongPhone G$1' - regex: '(?:EVOLVEO[ _])?StrongPhone[ _]?Q([679])(_LTE)?' model: 'StrongPhone Q$1$2' - regex: 'EVOLVEO[ _]([^;/]*) Build' model: '$1' # Evoo Evoo: regex: '(EVM4G3|EVM4G6|EVMFV2)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Leotec Leotec: regex: '(LESPH501[14]|LESPH5003B|SUPERNOVA[ _](?:Qi16|i216|Qi32|i3G96[X]?|iS3G)|PULSAR QI3G|LETAB916|Titanium T355)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LESPH5011' model: 'Argon e250' - regex: 'LESPH5003B' model: 'Argon A250B' - regex: 'LESPH5014' model: 'Krypton K150' - regex: 'Titanium T355' model: 'Titanium T355' - regex: 'SUPERNOVA[ _](i216|Qi16|Qi32|i3G96[X]?|iS3G)' device: 'tablet' model: 'Supernova $1' - regex: 'PULSAR (QI3G)' device: 'tablet' model: 'Pulsar $1' - regex: 'LETAB916' device: 'tablet' model: 'L-Pad Star S' # EVPAD (https://www.evpadpro.com/ or https://evpad.com.my/) EVPAD: regex: '(?:EVBOX-PLUS\+|EVPAD-[35]S|EVPAD-PRO-MAX)(?:[);/ ]|$)' device: 'tv' models: - regex: 'EVBOX-PLUS\+' model: 'EVBox Plus' - regex: 'EVPAD-([35]S)' model: '$1' - regex: 'EVPAD-PRO-MAX' model: 'EVBox Pro Max' # EvroMedia EvroMedia: regex: 'EVROMEDIA|Playpad[ _]|PLAY_PAD_PRO_XL|3G NOTE XL' device: 'tablet' models: - regex: 'Playpad 3G GOO' model: 'Play Pad 3G Goo' - regex: 'Play Pad 3G 2Goo' model: 'Play Pad 3G 2Goo' - regex: 'Play Pad PRO' model: 'Play Pad Pro' - regex: 'PLAY_PAD_PRO_XL' model: 'Play Pad Pro XL' - regex: 'PlayPad 3GTab XL' model: 'Play Pad 3G Tab XL' - regex: '3G NOTE XL' model: 'Play Pad 3G Note XL' # EKO EKO: regex: 'EKO|Star (?:\d\.\d) (?:G65|G5[05]|G40)' device: 'smartphone' models: - regex: 'EKO Android TV 2K' model: '2K Android TV' device: 'tv' - regex: 'Star (\d\.\d) (G65|G5[05]|G40)' model: 'Star $1 $2' - regex: 'EKO[ _-]?([^;/)]+) Build' model: '$1' - regex: 'EKO[ _-]?([^;/)]+)(?:[);/ ]|$)' model: '$1' # Extrem Extrem: regex: 'Rock[ _]X[89]+|ROCK_X11' device: 'smartphone' models: - regex: 'Rock[ _]X([89])\+' model: 'Rock X$1+' - regex: 'ROCK_X11' model: 'Rock X11' # Jumper (jumper.com.ru) Jumper: regex: 'EZpad ([^;/)]+)(?: Build|[;)])' device: 'tablet' model: 'EZpad $1' # JPay (https://www.jpay.com/) JPay: regex: '(JP5s?) Inmate Media Device(?:[);/ ]|$)' device: 'tablet' model: '$1' # Ezze Ezze: regex: 'EZZE-|EZ(?!Browser)[a-z0-9]+' device: 'feature phone' models: - regex: 'EZZE-([a-z0-9]+)' model: '$1' - regex: 'EZ([a-z0-9]+)' model: 'EZ$1' # Ezio Ezio: regex: 'EZIO-([a-z0-9]+)' device: 'feature phone' model: '$1' # Forstar Forstar: regex: 'Amosta ?3G5' device: 'smartphone' models: - regex: 'Amosta ?3G5' model: 'Amosta 3G5' # InFocus InFocus: regex: '(?:IF(900[1237]|902[19]|903[15]|236a|195a)|M370i?|InFocus M808i?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'IF9001' model: 'Turbo 5' - regex: '(M370i?)' model: '$1' - regex: 'IF9007' model: 'A3' - regex: 'IF9021' model: 'Turbo 5 Plus' - regex: 'IF9035' model: 'A2' - regex: 'IF9002' model: 'M5s' - regex: 'IF9003' model: 'M6s' - regex: 'IF9031' model: 'Vision 3' - regex: 'IF9029' model: 'Vision 3 Pro' - regex: 'IF(236|195)a' model: 'Big Tab IF$1a' device: 'tablet' - regex: 'InFocus M([0-9]+[a-z]?)' model: 'M$1' # Foxconn Foxconn: regex: 'InFocus M[0-9]+[a-z]?' device: 'smartphone' models: - regex: 'InFocus M([0-9]+[a-z]?)' model: 'InFocus M$1' # Fobem (https://www.fobem.com.tr/) Fobem: regex: 'Fobem ' device: 'tv' models: - regex: '4K SMART TV(?:[);/ ]|$)' model: '4K Smart TV' # Fondi Fondi: regex: 'Fondi[- _]([^;/)]+)|(T702|Q008B|Q010B|Q718B|Q902|T602B|T707G|T708B|T725B|T725B1|T907B)(?:\)| Build)' device: 'smartphone' models: - regex: '(T702|T602B)' model: '$1' - regex: '(Q008B|Q010B|Q718B|Q902|T707G|T708B|T725B|T725B1|T907B)' device: 'tablet' model: '$1' - regex: 'Fondi[- _]([^;/)]+)' model: '$1' # Fairphone (fairphone.com) Fairphone: regex: '(?:Fairphone )?(FP(?:1U?|[2345]))(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Famoco Famoco: regex: '(FX[123]00)' device: 'smartphone' model: '$1' # FiGO (figoglobal.com) FiGO: regex: 'ATRIUM II F55L2|TRIO F40LT|CENTRIC S50G|EPIC F50G|Gravity X55L|Orion M50L|ULTRA M50G|UltraJ8|M405B|VIRTUE3|F55L Build|Orbit_ll|F40G2' device: 'smartphone' models: - regex: 'ATRIUM II F55L2' model: 'Atrium II' - regex: '(F55L)' model: '$1' - regex: 'TRIO F40LT' model: 'Trio F40LT' - regex: 'EPIC F50G' model: 'Epic F50G' - regex: '(Gravity X55L|Orion M50L)' model: '$1' - regex: 'ULTRA M50G' model: 'Prime' - regex: 'M405B_8GB' model: 'Virtue II 8GB' - regex: 'M405B' model: 'Virtue II' - regex: 'VIRTUE3' model: 'Virtue III' - regex: 'CENTRIC S50G' model: 'Centric S50G' - regex: 'UltraJ8' model: 'Ultra J8' - regex: 'Orbit_ll' model: 'Orbit II' - regex: 'F40G2' model: 'Ultra Plus F40G2' # FNB FNB: regex: 'ConeXis (A[12]|X[12])|SP5045V' device: 'smartphone' models: - regex: 'SP5045V' model: 'SP5045V' - regex: 'ConeXis A1' model: 'ConeXis A1' - regex: 'ConeXis A2' model: 'ConeXis A2' - regex: 'ConeXis X1' model: 'ConeXis X1' - regex: 'ConeXis X2' model: 'ConeXis X2' # Fuego Fuego: regex: 'FUEGO, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # SEG SEG: regex: 'SEG, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # Fujitsu Fujitsu: regex: '(?:F-01[FHJKLM]|F-02[EFGHLK]|F-03[DEFGKHL]|F-04[EGFHKJ]|F-05[DEFJG]|F-06[EF]|F-07[DE]|F-0[18]D|F-09[DE]|F-[45]1A|F-41B|F-[45]2A|F-1[012]D|F-12C|F-5[12]B|M532|FARTM933KZ|901FJ|arrows(?:RX|M03|M0[45](?:-PREMIUM)?)|801FJ|FJL2[12]|RM02|FCG01|A101FC|BZ02|LIFEBOOK AH532)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'F-51A(?:[);/ ]|$)' model: 'Arrows 5G F-51A' - regex: 'F-01F(?:[);/ ]|$)' model: 'Arrows NX F-01F' - regex: '(F-01[LM]|F-06F|F-03K|F-42A)(?:[);/ ]|$)' model: 'Easy Phone $1' - regex: 'F-03L(?:[);/ ]|$)' model: 'Arrows Phone F-03L' - regex: 'F-01J(?:[);/ ]|$)' model: 'Arrows NX F-01J' - regex: 'F-01K(?:[);/ ]|$)' model: 'Arrows NX F-01K' - regex: 'F-01H(?:[);/ ]|$)' model: 'Arrows Fit F-01H' - regex: 'F-02E(?:[);/ ]|$)' model: 'Arrows X F-02E' - regex: 'F-02G(?:[);/ ]|$)' model: 'Arrows NX F-02G' - regex: 'FJL21(?:[);/ ]|$)' model: 'Arrows EF FJL21' - regex: 'FJL22(?:[);/ ]|$)' model: 'Arrows Z FJL22' - regex: 'F-02H(?:[);/ ]|$)' model: 'Arrows NX F-02H' - regex: 'F-52A(?:[);/ ]|$)' model: 'Arrows NX9 F-52A' - regex: 'F-03D(?:[);/ ]|$)' model: 'Arrows Kiss F-03D' - regex: 'F-03E(?:[);/ ]|$)' model: 'Arrows Kiss F-03E' - regex: 'F-03F(?:[);/ ]|$)' model: 'Disney Mobile F-03F' - regex: 'F-03H(?:[);/ ]|$)' model: 'Arrows SV F-03H' - regex: '901FJ(?:[);/ ]|$)' model: 'Arrows J 901FJ' - regex: 'F-04E(?:[);/ ]|$)' model: 'Arrows V F-04E' - regex: 'F-04G(?:[);/ ]|$)' model: 'Arrows NX F-04G' - regex: 'F-05D(?:[);/ ]|$)' model: 'Arrows X LTE F-05D' - regex: 'F-05F(?:[);/ ]|$)' model: 'Arrows NX F-05F' - regex: 'F-05J(?:[);/ ]|$)' model: 'Arrows Be F-05J' - regex: 'F-05G(?:[);/ ]|$)' model: 'Arrows K-tai' - regex: 'F-04K(?:[);/ ]|$)' model: 'Arrows Be F-04K' - regex: 'F-02L(?:[);/ ]|$)' model: 'Arrows Be 3 F-02L' - regex: 'F-41A(?:[);/ ]|$)' model: 'Arrows Be 4 F-41A' - regex: 'F-41B(?:[);/ ]|$)' model: 'Arrows Be 4 Plus F-41B' - regex: 'F-06E(?:[);/ ]|$)' model: 'Arrows NX F-06E' - regex: 'F-07D(?:[);/ ]|$)' model: 'Arrows μ F-07D' - regex: '(?:F-51B|FCG01|A101FC)(?:[);/ ]|$)' model: 'Arrows We' - regex: '801FJ(?:[);/ ]|$)' model: 'Arrows U 801FJ' - regex: 'F-07E(?:[);/ ]|$)' model: 'Disney Mobile F-07E' - regex: 'F-08D(?:[);/ ]|$)' model: 'Disney Mobile F-08D' - regex: 'F-09D(?:[);/ ]|$)' model: 'ANTEPRIMA F-09D' - regex: 'F-09E(?:[);/ ]|$)' model: 'Raku-Raku Smartphone Premium F-09E' - regex: 'F-(52B|12D)(?:[);/ ]|$)' model: 'Raku-Raku Smartphone F-$1' - regex: 'F-10D(?:[);/ ]|$)' model: 'Arrows X F-10D' - regex: 'F-11D(?:[);/ ]|$)' model: 'Arrows Me F-11D' - regex: 'F-12C(?:[);/ ]|$)' model: 'F-12C' - regex: '(F-04[JF])(?:[);/ ]|$)' model: '$1' - regex: 'arrowsM03(?:[);/ ]|$)' model: 'Arrows M03' - regex: 'RM02(?:[);/ ]|$)' model: 'Arrows RM02' - regex: 'BZ02(?:[);/ ]|$)' model: 'Arrows BZ02' - regex: 'arrowsRX(?:[);/ ]|$)' model: 'Arrows RX' - regex: 'arrowsM04-PREMIUM(?:[);/ ]|$)' model: 'Arrows M04 Premium' - regex: 'arrowsM(0[45])(?:[);/ ]|$)' model: 'Arrows M$1' - regex: '(F-0[32]F|F-03G|F-04H|F-05E|F-02K|F-01D)(?:[);/ ]|$)' model: 'Arrows Tab $1' device: 'tablet' - regex: 'FARTM933KZ' model: 'Arrows Tab M504/HA4' device: 'tablet' - regex: 'M532(?:[);/ ]|$)' model: 'Stylistic' device: 'tablet' - regex: 'LIFEBOOK AH532' model: 'LifeBook AH532' device: 'desktop' # G-TiDE G-TiDE: regex: 'G-TiDE|(?: EX10|EXTREME X9)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Shining7' model: 'Shining 7' - regex: 'G-TiDE[_ ](A1|S[34]|E520|Vans [89]c?|V7s)' model: '$1' - regex: 'G-TiDE V6' model: 'V6' - regex: 'EXTREME X9' model: 'Extreme X9' - regex: 'EX10' model: 'EX10' - regex: 'E(57|60|66|72|77)' model: '$1' - regex: 'G-TiDE[_ ](H1)' device: 'tablet' model: '$1' # Gemini Gemini: regex: '(GEM[0-9]+[a-z]*)' device: 'tablet' model: '$1' # Geotel Geotel: regex: 'GEOTEL[ _]?' device: 'smartphone' models: - regex: 'G1' model: 'G1' - regex: 'GEOTEL[ _]?Note' model: 'Note' - regex: 'GEOTEL[ _]AMIGO' model: 'Amigo' # Gigabyte Gigabyte: regex: 'GSmart[ _][a-z0-9 ]+(?: Build|\))|Gigabyte-[a-z0-9]+|Simba SX1|Roma R2|Boston 4G|GSmart_Classic_Lite|(?<!Eagle )Classic[_ ](?:Joy|Pro)' device: 'smartphone' models: - regex: 'Roma R2' model: 'GSmart Roma R2' - regex: '(GSmart[ _][a-z0-9 ]+)(?: Build|[);])' model: '$1' - regex: 'Gigabyte-([a-z0-9]+)' model: '$1' - regex: '(Classic[ _](?:Joy|Pro)|GSmart_Classic_Lite|Boston 4G)' model: '$1' - regex: 'Simba SX1' model: 'GSmart Simba SX1' # Gigaset Gigaset: regex: 'Gigaset|(?: GX290|GS80|GS1[0189]0|GS1[89]5|GS2[89]0|GS5[357]-6|GS[23]70(?:_Plus)?|E940-(?:2766|279[567]|2878|2849)-\d{2})(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Gigaset QV(1030|830)' model: 'Gigaset QV$1' device: 'tablet' - regex: 'G(S[23]70)[_ ]Plus(?:[);/ ]|$)' model: 'G$1 Plus' - regex: 'GS([23]70|1[0189]0|1[89]5|2[89]0|80)(?:[);/ ]|$)' model: 'GS$1' - regex: '(GX290)(?:[);/ ]|$)' model: '$1' - regex: 'GS57-6' model: 'ME Pro' - regex: 'GS55-6' model: 'ME' - regex: 'E940-2797-00' model: 'GX4' - regex: 'E940-2797-01' model: 'GX4 Pro' - regex: 'E940-2766-00' model: 'GS3' - regex: 'E940-2795-00' model: 'GS4' - regex: 'E940-2849-00' model: 'GX6' - regex: 'E940-2849-01' model: 'GX6 Pro' - regex: 'E940-2796-00' model: 'GS5' - regex: 'E940-2878-03' model: 'GS5 Lite' - regex: 'GS53-6' model: 'ME Pure' - regex: 'Gigaset ([^;/]+) Build' model: '$1' - regex: 'Gigaset ([^;/)]+)(?:[);/ ]|$)' model: '$1' # Ginzzu Ginzzu: regex: 'GINZZU[_ ]|((?:RS(?:7[14]|81|9[67])D)|S5002|(?<!Wave Pro )S5021|S5230|S50[45]0|S51[24]0|RS(6[12]|9[45])D|S40[23]0|RS850[12]|RS9602|GT-W170)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GINZZU[_ ]?(S40[17]0|S4710|ST60[14]0|ST6120)' model: '$1' - regex: '(?:GINZZU[_ ]?)?(GT-(?:W170|1050|7105|70[1-4]0|7115|7210|[WX]831|X[78]70|7810|8[01]10|X853|X890))' model: '$1' device: 'tablet' - regex: '(RS6[12]D) ULTIMATE' model: '$1 Ultimate' - regex: '(?:GINZZU[ _])?((?:RS(?:7[14]|81|9[14-7]|7)D)|S50[45]0|S5002|S5021|S5230|S51[24]0|S40[23]0|RS850[12]|RS9602|RS94D|R8 Dual)(?:[);/ ]|$)' model: '$1' # Gionee Gionee: regex: '(?:GIO-)?GIONEE[ _-]?[a-z0-9]+|(?:Dream_D1|V188S?|GN(?!2200)[0-9]{3,4}[a-z]?)(?:[);/ ]|$)|F103(?: Pro)?(?: Build|\))|P5 mini Build|(M7 Power|F106L|F100[AL]|F103S|F103 Pro|M6 mirror|20190620G|20190619G|20190418Q|GNP21M02|GNS2161B|GAU0820|Android 6(?:[\d.]*);(?: [\w-]+;)? (?:P8 Max|P7 Max)|Android 5(?:[\d.]*);(?: [\w-]+;)? M5 (?:mini|Plus)|Android 11(?:[\d.]*);(?: [\w-]+;)? P61|WBL7519|WBL7361|20190419Q|M5 lite CDMA|GLY1620|M2mini)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GNP21M02' model: 'M12 Pad Pro' device: 'tablet' - regex: 'GN810(?:[);/ ]|$)' model: 'GN810' device: 'phablet' - regex: 'GN8003L' model: 'M6L' - regex: 'WBL7519' model: 'S6s' - regex: 'WBL7361' model: 'M6 Lite' - regex: 'GIONEE[_ ]MAX Pro' model: 'Max Pro' - regex: '20190619G' model: 'K3 Pro' - regex: '20190418Q' model: 'K6' - regex: 'GN8003' model: 'M6' - regex: 'GAU0820' model: 'K8 Pro' - regex: 'GNS2161B' model: 'M18' - regex: 'GN([0-9]{3,4}[a-z]?)(?:[);/ ]|$)' model: 'GN$1' - regex: '(F106L|F100[AL]|V188S|V188|F103S|F8 Neo)(?:[);/ ]|$)' model: '$1' - regex: 'M7 Power(?:[);/ ]|$)' model: 'M7 Power' - regex: 'M5 Plus' model: 'M5 Plus' - regex: 'M([25]) ?mini' model: 'M$1 Mini' - regex: '20190620G(?:[);/ ]|$)' model: 'M11' - regex: 'P5 mini' model: 'P5 mini' - regex: 'M5 lite CDMA' model: 'M5 Lite CDMA' - regex: 'P7 Max' model: 'P7 Max' - regex: 'P8 Max' model: 'P8 Max' - regex: '(S11|F205|S10) Lite(?:[);/ ]|$)' model: '$1 Lite' - regex: 'M6 mirror(?:[);/ ]|$)' model: 'M6 Mirror' - regex: 'GLY1620' model: 'M50 Pro' - regex: 'F9 Plus(?:[);/ ]|$)' model: 'F9 Plus' - regex: '20190419Q(?:[);/ ]|$)' model: 'F12 Pro' - regex: 'F103( Pro)?( BUILD|\))' model: 'F103$1' - regex: '(P61)(?:[);/ ]|$)' model: '$1' - regex: '(?:(?:GIO-)?GIONEE[ _-])?Dream_D1(?:[);/ ]|$)' model: 'Dream D1' - regex: '(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+).*Android' model: '$1' - regex: 'Android.*(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+)[ _]Pro' model: '$1 Pro' - regex: 'Android.*(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+)' model: '$1' - regex: '(?:GIO-)?GIONEE[ _-]?([a-z0-9]+)' model: '$1' device: 'feature phone' # Grape (grapestore.org) Grape: regex: '(?:Grape[ _])?GTM[-_]5([^;)/]+)(?: Build|[;)])' device: 'smartphone' model: 'GTM-5$1' # Vizio (vizio.com) Vizio: regex: 'Vizio|(?:VAP430|VTAB1008|XR6[PM]10)(?:[);/ ]|$)' device: 'tv' models: - regex: 'VAP430' model: 'VAP430' - regex: 'ISV-B11' model: 'ISV-B11' - regex: 'D50u-D1' model: 'D50u-D1' - regex: 'VIZIO ([a-z0-9_-]+) ViziOS/' model: '$1' - regex: '(VTAB1008|XR6[PM]10)' device: 'tablet' model: '$1' # Timovi (https://web.archive.org/web/20181129055129/https://www.timovi.mx/) Timovi: regex: 'Tmovi[ _]|(?:Infinit[ _](?:Lite[_ ]2|X[_ ]CAM)|Infinit (?:MX(?: Pro)?|2)|Vision_PRO|VISION ULTRA|Epix|Yeah_Go|Insignia Delta 2|Insignia_(?:Delta3|Lab))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Tmovi[ _]Prime' model: 'Prime' - regex: 'TMOVI_YEAH_BEAT' model: 'Yeah Beat' - regex: 'YeahLIVE' model: 'Yeah LIVE' - regex: 'Infinit[_ ]X[_ ]CAM' model: 'Infinit X Cam' - regex: 'Infinit MX Pro' model: 'Infinit MX Pro' - regex: 'Infinit MX' model: 'Infinit MX' - regex: 'Infinit 2' model: 'Infinit 2' - regex: 'Infinit[_ ]Lite([_ ]2)?' model: 'Infinit Lite$1' - regex: 'Vision_PRO' model: 'Vision Pro' - regex: 'VISION ULTRA' model: 'Vision Ultra' - regex: 'Epix' model: 'Epix' - regex: 'Yeah_Go' model: 'Yeah Go' - regex: 'Insignia_(Lab)' device: 'tablet' model: 'Insignia $1' - regex: 'Insignia[ _]Delta[ _]?([32])' device: 'tablet' model: 'Insignia Delta $1' # TIMvision (https://www.timvision.it/) TIMvision: regex: '(?:TIMVISIONBOX|TIM_BOX)(?:[);/ ]|$)' device: 'tv' model: 'TV Box' # GOCLEVER (goclever.com) GOCLEVER: regex: 'GOCLEVER|QUANTUM_(?:[235]_)?[0-9]{3}|QUANTUM [0-9]{1}|QUANTUM 700N|Quantum2 500|QUANTUM_(1010N|1010M|900|II_500_N)|ARIES|INSIGNIA|ORION_|ELIPSO|LIBRA[ _]97|TERRA_7o[WL]|(?:TQ700|ORION7oL)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'QUANTUM_(1010N|1010M|900)' model: 'QUANTUM $1' device: 'tablet' - regex: 'INSIGNIA_(785_PRO|1010M|800M)' model: 'INSIGNIA $1' device: 'tablet' - regex: '(ORION|ARIES|ELIPSO)[_ ](71|101|102)' model: '$1 $2' device: 'tablet' - regex: 'TQ700N' model: 'QUANTUM 700N' device: 'tablet' - regex: 'ORION7oL' model: 'ORION 70L' device: 'tablet' - regex: 'TQ700(?:[);/ ]|$)' model: 'QUANTUM 700' device: 'tablet' - regex: 'QUANTUM_1010_Lite' model: 'Quantum 1010 Lite' device: 'tablet' - regex: 'QUANTUM_2_(1010|700|960)_Mobile' model: 'Quantum 2 $1 Mobile' device: 'tablet' - regex: 'QUANTUM_([235])_(5[05]0)_RUGGED' model: 'Quantum $1 $2 Rugged' - regex: 'QUANTUM_(\d+)_RUGGED_PRO' model: 'Quantum $1 Rugged Pro' - regex: 'QUANTUM[_ ]([235])_([45]00)[_ ]LITE' model: 'Quantum $1 $2 Lite' - regex: 'QUANTUM_II_500_N' model: 'Quantum 2 500 N' - regex: 'QUANTUM[_ ]([45]00)[_ ]LITE' model: 'Quantum $1 Lite' - regex: 'QUANTUM[ _]?([235])[ _]([^;/]+)(?: Build|[);])' model: 'Quantum $1 $2' - regex: '((?:QUANTUM|ARIES|INSIGNIA|ORION|ELIPSO)[ _-]?[^;/]+)(?: Build|\))' model: '$1' - regex: 'NETBOOK R103' device: 'desktop' model: 'Netbook R103' - regex: 'TERRA_(7o[WL])' model: 'Terra $1' device: 'tablet' - regex: 'GOCLEVER[ _-]TAB[ _-]?([^;/]+) Build' model: 'TAB $1' device: 'tablet' - regex: 'GOCLEVER[ _-]?([^;/]+) Build' model: '$1' - regex: 'TAB ([^;/)]+) Build/GOCLEVER' model: 'TAB $1' device: 'tablet' - regex: '([^;/)]+) Build/GOCLEVER' model: '$1' - regex: 'GOCLEVER[ _-]?TAB[ _-]([^;/)]+)(?:[;/)]|$)' model: 'TAB $1' device: 'tablet' - regex: 'GOCLEVER[ _-]?([^;/)]+)(?:[;/)]|$)' model: '$1' - regex: 'LIBRA[ _]97' model: 'Libra 97' device: 'tablet' # GOtv GOtv: regex: '(SEI600GO|GO700FR)(?:[);/ ]|$)' device: 'tv' model: '$1' # GoMobile GoMobile: regex: 'GO Onyx|GO[0-9]{3,4}' device: 'smartphone' models: - regex: 'GO Onyx Plus' model: 'GO Onyx Plus' - regex: 'GO Onyx mini' model: 'Go Onyx Mini' - regex: 'GO Onyx HD' model: 'Go Onyx HD' - regex: 'GO Onyx' model: 'Go Onyx' - regex: 'GO([0-9]{3,4})' model: 'Go$1' # Explay Explay: regex: 'Explay|[\w]+-EXPLAY-FIN|ActiveD[ _]|Atlant |Informer[ _][0-9]+|CinemaTV 3G|Surfer[ _][0-9\.]|Surfer7773G|sQuad[ _][0-9\.]|Onliner[1-4]|RioPlay|Leader|Pulsar|Infinityll|Joy_TV|Imperium[78]|Winner[78]|Indigo|Lagoon|Tornado(?! 348| Slim)(?:3G)?|Onyx(?!_[A-Z]{1,2})(?:[);/ ]|$)|android 4([\d.]*);(?: [\w-]+;)? Discovery.+(?<! Mobile )Safari/|Party|Scream 3G|A350 TV' device: 'tablet' models: - regex: 'ActiveD[ _]7\.4[ _]3G' model: 'ActiveD 7.4 3G' - regex: 'Scream 3G' model: 'Scream 3G' - regex: 'Tornado 8' model: 'Tornado 8' - regex: 'Imperium([78])(?:[);/ ]|$)' model: 'Imperium $1 3G' - regex: 'ActiveD[ _]8\.2[ _]3G' model: 'ActiveD 8.2 3G' - regex: 'CinemaTV[ _]3G' model: 'CinemaTV 3G' - regex: 'Infinityll' model: 'Infinity II' - regex: 'Informer[ _]([0-9]+(?:[ _]3G)?)' model: 'Informer $1' - regex: 'Surfer[ _]([0-9\.]+(?:[ _]3G)?)' model: 'Surfer $1' - regex: 'Surfer([0-9\.]+)[ _]?3G' model: 'Surfer $1 3G' - regex: 'sQuad[ _]([0-9\.]+(?:[ _]3G)?)' model: 'sQuad $1' - regex: 'Onliner([1-4])' model: 'Onliner $1' - regex: 'Winner([78])' model: 'Winner $1' - regex: 'Discovery(?:[);/ ]|$)' model: 'Discovery' - regex: 'Atlant(?:[);/ ]|$)' device: 'smartphone' model: 'Atlant' - regex: 'Indigo(?:[);/ ]|$)' device: 'smartphone' model: 'Indigo' - regex: 'Pulsar(?:[);/ ]|$)' device: 'smartphone' model: 'Pulsar' - regex: 'Tornado(?:3G)?(?:[);/ ]|$)' device: 'smartphone' model: 'Tornado 3G' - regex: 'Onyx(?:[);/ ]|$)' device: 'smartphone' model: 'Onyx' - regex: 'Fresh(?:[);/ ]|$)' device: 'smartphone' model: 'Fresh' - regex: 'Joy_TV(?:[);/ ]|$)' device: 'smartphone' model: 'JoyTV' - regex: '[\w]+-EXPLAY-FIN' device: 'feature phone' model: 'Fin' - regex: 'Lagoon(?:[);/ ]|$)' model: 'Lagoon' - regex: 'A350 TV(?:[);/ ]|$)' device: 'smartphone' model: 'A350TV' - regex: 'Party(?:[);/ ]|$)' model: 'Party' - regex: 'Explay[ _-]([^;/]+)(?: Build|[;)])' model: '$1' - regex: 'RioPlay(?:[);/ ]|$)' device: 'smartphone' model: 'Rio Play' - regex: 'Leader' model: 'Leader' # General Mobile (www.generalmobile.com) General Mobile: regex: 'General_Mobile_|GM 5 Plus|GM8 go|GM[ _][568][ _]d|GM [86]|General Mobile 4G|GM6_Tur|GM 9 (?:Pro|Plus)|(?: GM 5|e-tab 20|Android 1[012](?:\.[\d.]+)?;(?: [\w-]+;)? (?:G[35]01|G[35]10|G702|(?<!Huawei )G700)|Discovery(?![_ ]XT) (?:Air|Elite(?: Plus)?)|GM Discovery II|GM Discovery tab 8|Discovery II Mini| GM6|G300|G008|android 4([\d.]*);(?: [\w-]+;)? Discovery|e-?tab5|G51[24]|G31[246]|G901|(?<!Symphony) G100)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GM 5 Plus' model: 'GM 5 Plus' - regex: 'G300' model: 'GM 10' - regex: 'G310' model: 'GM 21' - regex: 'G510' model: 'GM 21 Plus' - regex: 'G312' model: 'GM 22' - regex: 'G316' model: 'GM 23' - regex: 'G314' model: 'GM 23 SE' - regex: 'G512' model: 'GM 22 Plus' - regex: 'G702' model: 'GM 22 Pro' - regex: 'G700' model: 'GM 21 Pro' - regex: 'G301' model: 'GM 20' - regex: 'G501' model: 'GM 20 Pro' - regex: 'G514' model: 'GM 24 Pro' - regex: 'GM[ _](\d+)[ _]d' model: 'GM $1D' - regex: 'GM6_Tur|GM ?6' model: 'GM 6' - regex: 'GM ([58])' model: 'GM $1' - regex: 'GM8 go' model: 'GM 8 Go' - regex: 'G008' model: 'GM 9 Go' - regex: 'GM 9 Pro' model: 'GM 9 Pro' - regex: 'G901' model: 'GM Phoenix 5G' - regex: 'GM 9 Plus' model: 'GM 9 Plus' - regex: 'G100' model: 'GM 6 DS' - regex: 'Discovery (Air|Elite(?: Plus)?)' model: 'Discovery $1' - regex: 'Discovery II Mini' model: 'Discovery II Mini' - regex: 'GM Discovery II' model: 'GM Discovery II' - regex: 'GM Discovery tab 8' device: 'tablet' model: 'Discovery Tab 8' - regex: 'Discovery(?:[);/ ]|$)' model: 'Discovery' - regex: 'General[ _]Mobile[ _]4G[ _]Dual' model: '4G Dual' - regex: 'General Mobile 4G' model: '4G' - regex: 'e-?tab ?(\d+)(?:[);/ ]|$)' device: 'tablet' model: 'E-Tab $1' # Gol Mobile (gol-mobile.com) Gol Mobile: regex: '(?:F10_PRIME|F3Prime|F9_PLUS|TEAM_7_3G)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'F10_PRIME' model: 'F10 Prime' - regex: 'F3Prime' model: 'F3 Prime' - regex: 'F9_PLUS' model: 'F9 Plus' - regex: 'TEAM_7_3G' device: 'tablet' model: 'Team 7.0 3G' # Goly Goly: regex: 'Goly[ _-]' device: 'smartphone' models: - regex: 'Goly[ _-]([^;/]+) Build' model: '$1' - regex: 'Goly[ _-]([^;/)]+)(?:[;/)]|$)' model: '$1' # Google Google: regex: 'Nexus(?! 6P)|GoogleTV|Google Fiber|Google Pixel|Glass(?<!Browser)|CrKey[^a-z0-9]|(?:Pixel|sailfish|taimen|blueline|Chromecast(?: HD)?)(?:;? Build|[)])|Pixel (?:XL|9 Pro XL|C|[2-8]|[2-4] XL|Fold|Tablet)|Google 2XL|PIXEL4X|G011A|AOSP on (?:bramble|HammerHead|Manta|sunfish)|Pipit|ADT-2|GE2AE|G0DZQ|G1MNW|G82U8|G9BQD|G6QU3|GO3Z5|G025[IJ]|G020[ABCGEMP]|G9FPL|GWKK3|GP4BC|G4S1M|GKWS6|GHL1X|G1F8F|G01[13]C|G013A|GC3VE|GD1YQ|GTT9Q|GA02099|GA01180-US|G5NZ6|G8VOU|G025N' device: 'smartphone' models: - regex: 'Glass 1' device: 'wearable' model: 'Glass 1' - regex: 'Galaxy Nexus' model: 'Galaxy Nexus' - regex: 'AOSP on HammerHead' model: 'Nexus 5' - regex: '(Nexus (?:2|S|4|5X?|One))' model: '$1' - regex: '(Nexus (?:6P?))' device: 'phablet' model: '$1' - regex: '(Nexus (?:7|9|10))' device: 'tablet' model: '$1' - regex: 'AOSP on Manta' device: 'tablet' model: 'Nexus 10' - regex: 'Pixel Slate' device: 'tablet' model: 'Pixel Slate' # explicit tv models - regex: '(GFHD[12]00)' device: 'tv' model: 'Fiber $1' - regex: 'CrKey/[0-9.]+ DeviceType/SmartSpeaker' model: 'Chromecast' device: 'smart speaker' - regex: 'CrKey[^a-z0-9]' model: 'Chromecast' device: 'tv' - regex: 'Chromecast HD' model: 'Chromecast HD (2022)' device: 'tv' - regex: 'Chromecast' model: 'Chromecast (2020)' device: 'tv' - regex: 'GoogleTV' device: 'tv' model: 'GoogleTV' # explicit smartphone models - regex: '(?:Pixel|sailfish)(?: Build|[)])' model: 'Pixel' - regex: 'Pixel XL' model: 'Pixel XL' - regex: 'blueline|G013A' model: 'Pixel 3' - regex: 'G020[AE]' model: 'Pixel 3a' - regex: 'Pixel 9 Pro XL' model: 'Pixel 9 Pro XL' - regex: 'Pixel 3 XL|G013C' model: 'Pixel 3 XL' - regex: 'Pixel 2 XL|taimen' model: 'Pixel 2 XL' - regex: 'Pixel 3a XL|G020[BCG]' model: 'Pixel 3a XL' - regex: 'Pixel 4 XL|GA01180-US|G020P' model: 'Pixel 4 XL' - regex: 'G020M' model: 'Pixel 4' - regex: 'PIXEL4X' model: 'Pixel 4 X' - regex: 'AOSP on sunfish|G025[JN]|GA02099' model: 'Pixel 4a' - regex: 'Pixel 4a \(?5G\)?|AOSP on bramble|G025I|G6QU3' model: 'Pixel 4a (5G)' - regex: 'pixel ([3-8])a' model: 'Pixel $1a' - regex: 'G1F8F|G4S1M' model: 'Pixel 5a 5G' - regex: 'G011A' model: 'Pixel 2' - regex: 'GE2AE|GP4BC' model: 'Pixel 7 Pro' - regex: 'GO3Z5' model: 'Pixel 7' - regex: 'GTT9Q|GD1YQ|G5NZ6' model: 'Pixel 5' - regex: 'G1MNW|GC3VE' model: 'Pixel 8 Pro' - regex: 'G9BQD|GKWS6' model: 'Pixel 8' - regex: 'G0DZQ|G82U8|GWKK3|GHL1X' model: 'Pixel 7a' - regex: 'G8VOU' model: 'Pixel 6 Pro' - regex: 'Google 2XL|G011C' model: 'Pixel 2 XL' - regex: 'Pixel ([678]) Pro' model: 'Pixel $1 Pro' - regex: 'pixel ([2-8])' model: 'Pixel $1' - regex: 'Pipit' device: 'phablet' model: 'Pipit' - regex: 'G9FPL|Pixel Fold' device: 'phablet' model: 'Pixel Fold' - regex: 'Pixel C' device: 'tablet' model: 'Pixel C' - regex: 'Pixel Tablet' device: 'tablet' model: 'Pixel Tablet' - regex: 'Pixelbook Go' device: 'desktop' model: 'Pixelbook Go' - regex: 'Pixelbook' device: 'tablet' model: 'Pixelbook' - regex: 'ADT-2' device: 'tv' model: 'ADT-2' - regex: 'Nexus Player' device: 'tv' model: 'Nexus Player' # Gradiente Gradiente: regex: 'GRADIENTE' device: 'feature phone' models: - regex: 'GRADIENTE-([a-z0-9]+)' model: '$1' - regex: 'GRADIENTE ([a-z0-9\-]+)' model: '$1' # Graetz (https://www.graetzitalia.it/) Graetz: regex: 'GRAETZ[;,]' device: 'tv' model: '' # Grundig Grundig: regex: 'GR?-TB[0-9]+[a-z]*|(?<!Arcelik )GRUNDIG|portalmmm/2\.0 G|AFTEU(?:011|014|FF014)' device: 'tv' models: - regex: '(GR?-TB[0-9]+[a-z]*)' device: 'tablet' model: '$1' - regex: 'GRUNDIG (?:Android TV|Google TV UHD\+)' model: 'Smart TV' - regex: 'GRUNDIG ([a-z0-9]+)' model: '$1' - regex: 'portalmmm/2\.0 G([a-z0-9]+)' model: 'G$1' - regex: 'AFTEU014' model: 'Vision 7 4K (2019)' - regex: 'AFTEUFF014' model: 'OLED 4K (2019)' - regex: 'AFTEU011' model: 'Vision 6 HD (2019)' # Gtel (https://gtel.co.zw/) Gtel: regex: 'Gtel[ _]|A727_Infinity_Pro(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'A727_Infinity_Pro' model: 'A727 Infinity Pro' - regex: 'Infinity 8s(?:[);/ ]|$)' model: 'Infinity 8s' - regex: 'Infinity 9(?:[);/ ]|$)' model: 'Infinity 9' - regex: 'Gtel[ _-]X(\d) ?plus(?:[);/ ]|$)' model: 'X$1 Plus' - regex: 'Gtel[ _-]X(\d) ?mini(?:[);/ ]|$)' model: 'X$1 Mini' - regex: 'Gtel[ _-]([^;/]+)(?: Build|[;)])' model: '$1' # H133 H133: regex: 'Betacrux(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Betacrux(?:[);/ ]|$)' model: 'Betacrux' # H96 (https://www.h96tvbox.com/) H96: regex: 'H96[ _]?(?:Max|mini H8|plus|PRO\+)' device: 'tv' models: - regex: '(?:H96[_ ]?)?Max[ _]RK(\d{4})(?:[);/ ]|$)' model: 'Max RK$1' - regex: 'Max X2(?:[);/ ]|$)' model: 'Max X2' - regex: 'H96[_ ]Max[ _]V11(?:[);/ ]|$)' model: 'Max V11' - regex: 'Max(?:[);/ ]|$)' model: 'Max' - regex: 'mini H8(?:[);/ ]|$)' model: 'Mini H8' - regex: 'H96plus(?:[);/ ]|$)' model: 'Plus' - regex: 'PRO\+(?:[);/ ]|$)' model: 'Pro+' # Hafury (hafury.com) Hafury: regex: 'HAFURY|GT20(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GT20(?:[);/ ]|$)' model: 'GT20' - regex: '(MIX|UMAX)' model: '$1' # HEC (sub brand Haier) HEC: regex: '50SSD-SMART TV-R1' device: 'tv' model: 'R1 50S 4K' # Haier (www.haier.com) Haier: regex: 'Haier|(?:M53-52401|I6_Infinity|Titan[ _]T[135]|(?:HW-)?W(?:71[67]|757|86[07]|970)|S5 Silk|(?:HM-)?(N505|N700|G(?:152|303|353|552|70[01])?-FL|HM-(?:I559|N50[15]|I560|G553|N70[01])-FL|HR-V101|G(?:303)?-W|I(?:557)?-FL)|(?:PAD[ _](?:D71|G781|d85))|A2_Lite_NFC|A4_Lite|HL810G|Andromax C46B2H|OLED TV S9|MINTAKA|android 8([\d.]*);(?: [\w-]+;)? E13)(?:[);/ ]|$)|Android [67](?:[\d.]*);(?: [\w-]+;)? P2(?: Build|[;)])' device: 'smartphone' models: - regex: 'A2_Lite_NFC' model: 'Alpha A2 Lite NFC' - regex: 'A4_Lite' model: 'Alpha A4 Lite' - regex: 'HM-N505-FL' model: 'I8' - regex: 'S5 Silk' model: 'S5 Silk' - regex: 'E13(?:[);/ ]|$)' model: 'Elegance E13' - regex: 'HM-N700-FL' model: 'L7' - regex: 'HM-N701-FL' model: 'L8' - regex: 'HM-N501-FL' model: 'L56' - regex: 'HM-I559-FL' model: 'L55s' - regex: 'HM-I560-FL' model: 'G7s' - regex: 'HM-G553-FL' model: 'G51' - regex: 'P2(?: Build|[;)])' model: 'P2' - regex: 'Andromax C46B2H' model: 'Andromax EC' - regex: '(?:HM-)?(G(?:152|353|552|70[01])|G(?:303)|I(?:557))' model: '$1' - regex: '(Titan[_ ]T[135]|I6_Infinity)' model: '$1' - regex: '(?:HW-)?W(71[67]|757|86[07]|970)(?:[);/ ]|$)' model: 'W$1' - regex: 'MINTAKA(?:[);/ ]|$)' device: 'tablet' model: 'Mintaka' - regex: 'PAD[ -_](D71|G781|d85)' device: 'tablet' model: '$1' - regex: '(HL810G|HR-V101|M53-52401)' device: 'tablet' model: '$1' - regex: 'haierATVnippori' device: 'tv' model: '2K Android TV' - regex: 'haierATV' device: 'tv' model: 'Android TV' - regex: 'OLED TV S9' device: 'tv' model: 'OLED TV S9' - regex: 'haier Android TV DVB2K' device: 'tv' model: 'Android TV DVB2K' - regex: 'Android TV FF Pro' device: 'tv' model: 'Android TV FF Pro' - regex: 'Haier[ _\-](H[WT]-[^/;]+) Build' model: '$1' - regex: 'Haier[ _\-](H[WT]-[a-z0-9_\-]+)' model: '$1' - regex: 'Haier[ _\-](sy[0-9]+)' model: '$1' - regex: 'Haier[ _\-]([a-z0-9\-]+)' model: '$1' device: 'feature phone' # HannSpree (hannspree.eu) HannSpree: regex: '(HSG[0-9]{4})|SN97T41W|SN1AT71W\(B\)|SN70T51A|SN70T31?|T7-QC' device: 'tablet' models: - regex: '(HSG[0-9]{4})' model: '$1' - regex: 'SN1AT71W\(B\)' model: 'SN1AT71W(B)' - regex: 'SN70T31' model: 'SN70T31' - regex: 'SN70T3' model: 'SN70T3' - regex: 'SN70T51A' model: 'SN70T51A' - regex: 'SN97T41W' model: 'SN97T41W' - regex: 'T7-QC' model: 'SNAT71BUE' # Hasee Hasee: regex: 'Hasee' device: 'smartphone' models: - regex: 'Hasee ([^;/]+) Build' model: '$1' - regex: 'Hasee ([^;/)]+)(?:[);/ ]|$)' model: '$1' # Toshiba Toshiba: regex: 'Toshiba|TSBNetTV/|portalmmm/[12]\.0 TS|(?:T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AFTBOXE1|AFTDCT31|AFTHA00[2-4]|AT(?:7-C|10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500a?|503|570|703|830)|AFTKMST12|AFTBAMR311|SATELLITE (?:C655|L50-C|Pro L300|A100))(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: 'T-01C' model: 'Regza T-01C' - regex: 'T-01D' model: 'Regza T-01D' - regex: 'T-02D' model: 'Regza T-02D' - regex: 'IS04' model: 'Regza IS04' - regex: 'IS11T' model: 'Regza IS11T' # explicit tablet models - regex: 'AT7-C' model: 'Excite' device: 'tablet' - regex: 'AT1S0' model: 'Regza AT1S0' device: 'tablet' - regex: 'AT300SE' model: 'Regza AT300SE' device: 'tablet' - regex: 'AT500a' model: 'Regza AT500a' device: 'tablet' - regex: 'AT(100|200|270|300|330|374|400|470|500|503|570|703|830)' model: 'Regza AT$1' device: 'tablet' - regex: 'AT10([PL])E-A' model: 'Excite AT10$1-A' device: 'tablet' - regex: 'AT10-A' model: 'Excite AT10-A' device: 'tablet' - regex: 'SATELLITE L50-C' device: 'desktop' model: 'Satellite L50C' - regex: 'SATELLITE (C655|Pro L300|A100)' device: 'desktop' model: 'Satellite $1' - regex: 'AFTBOXE1(?:[);/ ]|$)' device: 'tv' model: '65UF3D63DA' - regex: 'AFTKMST12' device: 'tv' model: '43LF711U20' - regex: 'AFTDCT31' # also Insignia 4K UHD (2020) device: 'tv' model: '4K UHD (2020)' - regex: 'AFTBAMR311' device: 'tv' model: '43LF421U19' - regex: 'AFTHA002(?:[);/ ]|$)' device: 'tv' model: 'V35 Series (2021)' - regex: 'AFTHA003(?:[);/ ]|$)' device: 'tv' model: 'Fire TV 4K (2021)' - regex: 'AFTHA004(?:[);/ ]|$)' device: 'tv' model: 'Fire TV 4K (2022)' - regex: 'TOSHIBA;SmartTV;([a-z0-9_ \-]+);' device: 'tv' model: '$1' - regex: 'TOSHIBA, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' - regex: 'TSBNetTV/' device: 'tv' model: '' - regex: 'Toshiba[ /_\-]?([a-z0-9_ \-]+) Build' model: '$1' - regex: 'Toshiba[ /_\-]?([a-z0-9_\-]+)' model: '$1' - regex: 'portalmmm/[12]\.0 (TS[a-z0-9 ]+)' model: '$1' # AWOX (https://www.awox.com.tr/) AWOX: regex: '(?:AWOX|B213900SW)(?:[);/ ]|$)' device: 'tv' models: - regex: 'AWOX;SmartTV;([a-z0-9_ \-]+);' model: '$1' - regex: '(B213900SW)(?:[);/ ]|$)' model: '$1' # UD (https://udtv.store/) UD: regex: 'TV3[45]8_?(?:DVB|ISDB)(?:[);/ ]|$)' device: 'tv' models: - regex: 'TV348_DVB(?:[);/ ]|$)' model: 'TV348 DVB' - regex: 'TV348_ISDB(?:[);/ ]|$)' model: 'TV348 ISDB' - regex: 'TV358DVB(?:[);/ ]|$)' model: 'TV358 DVB' # UGINE (https://www.ugine.com.sa/ar) UGINE: regex: 'UGINE(?:[);/ ]|$)' device: 'tv' models: - regex: 'UGINE;SmartTV;([a-z0-9_ \-]+)V[ST];' model: '$1' # Sunny Sunny: regex: 'LGE; SNY?[0-9]{2}[0-9a-z]+(?:-[0-9]+)?;|(?:SS4G9 Mira|SS4G7 Sole|SS4G1 Luna|SS4G8 Nora|SS4G6 Lola|SN7014S?|SN7016|SN10016|SN01DNGL300|SUNNY (?:SS01|S52D)|SUNNY;SmartTV)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(SS4G9 Mira|SS4G7 Sole|SS4G1 Luna|SS4G8 Nora|SS4G6 Lola)(?:[);/ ]|$)' model: '$1' - regex: 'SUNNY (SS01|S52D)' model: '$1' - regex: '(SN7014S?|SN7016|SN10016)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'SUNNY;SmartTV' device: 'tv' model: 'Smart TV' - regex: 'SN01DNGL300(?:[);/ ]|$)' device: 'tv' model: 'Prime TV Stick' - regex: 'LGE; (SNY?[0-9]{2}[0-9a-z]+)(?:-[0-9]+)?;' device: 'tv' model: '$1' # Qilive Qilive: regex: 'Qilive [0-9][^;/]*|QILIVE|Q(7S5[5]?IN4G|T19101|T22101B|T23109BP|T21101|7T10INP|T19101HV|8T10IN|8S55IN4G2|8S[56]IN4G|9T9IN|9T(?:7|10)IN4G|9S55IN4G|10S5[37]IN4G|10S[56]IN4G|10S[56]IN4GR|9S5IN4G|6T7IN|T2108BP)' device: 'smartphone' models: - regex: 'Q7S5IN4G' model: 'Q7 5.0" 4G' - regex: 'Q7S55IN4G' model: 'Q7 5.5" 4G' - regex: 'Q8S55IN4G2' model: 'Q8 5.5" 4G' - regex: 'Q8S6IN4G' model: 'Q8 6.0" 4G' - regex: 'Q8S5IN4GP' model: 'Q8 5.1" 4G' - regex: 'Q9S5IN4G' model: 'Q9 5.0" 4G' - regex: 'Q9S55IN4G' model: 'Q9 5.5" 4G' - regex: 'Q10S53IN4G' model: 'Q10 5.3" 4G' - regex: 'Q10S57IN4G' model: 'Q10 5.7" 4G' - regex: 'Q10S5IN4G[R]?' model: 'Q10 5.0" 4G' - regex: 'Q10S6IN4G' model: 'Q10 6.0" 4G' - regex: 'Q6T7IN' model: 'Q6' device: 'tablet' - regex: 'Q7T10INP' model: 'Q7 10.1"' device: 'tablet' - regex: 'Q8T10IN' model: 'Q8 10.1"' device: 'tablet' - regex: 'Q9T7IN4G' model: 'Q9 7.0" 4G' device: 'tablet' - regex: 'Q9T9IN' model: 'Q9 9.0"' device: 'tablet' - regex: 'Q9T10IN4G' model: 'Q9 10.1" 4G' device: 'tablet' - regex: '(QT19101HV|QT19101|QT23109BP|QT22101B)' model: '$1' device: 'tablet' - regex: 'QT21101' model: 'Q1-21' device: 'tablet' - regex: 'QT2108BP' model: 'Q4-21' device: 'tablet' - regex: 'Qilive (1\d+[^;/)]*)(?: Build|[;)])' model: '$1' device: 'tablet' - regex: 'Qilive ([0-5][^;/)]*)(?: Build|[;)])' model: '$1' - regex: 'Qilive ([0-5]*)/' model: '$1' - regex: '97R-2' model: '97R2' device: 'tablet' - regex: 'Qilive ([6-9][^;/)]*)(?: Build|[;)])' model: '$1' device: 'tablet' - regex: 'QILIVE;SmartTV' model: 'Smart TV' device: 'tv' # JVC JVC: regex: 'JVC[;, ]|JVC-CVTE|AV-10NT310|(?:smarttv_)?(?:AFTSO001|AFTJULI1|AFTWMST22)' device: 'tv' models: - regex: 'JVC[;,](32D1290)' model: '$1' - regex: '(?:smarttv_)?AFTSO001' model: 'Fire TV 4K (2019)' - regex: '(?:smarttv_)?AFTJULI1' model: 'Fire TV 4K (2021)' - regex: '(?:smarttv_)?AFTWMST22' model: 'Fire TV 2K (2020)' - regex: 'JVC, ([a-z0-9_ \-]+), (?:wired|wireless)' model: '' device: 'tv' - regex: 'JVC-CVTE;SmartTV' model: 'Smart TV' device: 'tv' - regex: '(AV-10NT310)' device: 'tablet' model: '$1' # Dyon Dyon: regex: 'DYON[;,]' device: 'tv' model: '' # Loewe Loewe: regex: 'LOEWE[;,]' device: 'tv' models: - regex: '48A81FEVS' model: '48A81FEVS' # LongTV (https://my.long.tv/) LongTV: regex: 'LongTV' device: 'tv' models: - regex: 'LongTV LOUiE(?:[);/ ]|$)' model: 'LOUiE' # Majestic (https://www.newmajestic.com/) Majestic: regex: 'MAJESTIC[;, _-]|CRONO ?[0-9]+|(?:TAB (?:647|411) 3G|TAB_(?:81[12]|912|918_PRO)_4G|TAB_911_3G|TAB-714|TAB_814|TAB (711 4G|747 3G|[56]11 3G)|URANO27|URANO 47|URANO 77LTE|PLUTO__?26N?|JACK| JOE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'JACK(?:[);/ ]|$)' model: 'Jack' - regex: 'JOE(?:[);/ ]|$)' model: 'Joe' - regex: 'URANO 77LTE(?:[);/ ]|$)' model: 'Urano 77 LTE' - regex: 'URANO ?([24]7)(?:[);/ ]|$)' model: 'Urano $1' - regex: 'PLUTO__?(26N?)(?:[);/ ]|$)' model: 'Pluto $1' - regex: 'TAB[ _](\d{3})[ _]PRO_([34])G' model: 'Tab $1 Pro $2G' device: 'tablet' - regex: 'TAB[ _](\d{3})[ _]([34])G' model: 'Tab $1 $2G' device: 'tablet' - regex: 'TAB-714' model: 'Tab 714 WiFi' device: 'tablet' - regex: 'TAB_814' model: 'Tab 814' device: 'tablet' - regex: 'MAJESTIC[ _]Tab([^;/]+)Build' model: 'Tab$1' device: 'tablet' - regex: 'MAJESTIC[ _]Tab([^);/]+)(?:[);/ ]|$)' model: 'Tab$1' device: 'tablet' - regex: 'MAJESTIC[ _]([^;/]+)Build' model: '$1' - regex: 'MAJESTIC[ _]([^);/]+)(?:(?:[);/ ]|$)|$)' model: '$1' - regex: 'CRONO ?([0-9]+) Build' model: 'Crono $1' - regex: 'CRONO ?([0-9]+)(?:[);/ ]|$)' model: 'Crono $1' # Maxwell (https://maxwell-grp.com/) Maxwell: regex: 'MAXWELL[;,]' device: 'tv' model: '' # Schneider Schneider: regex: 'SCHNEIDER[;,]' device: 'tv' model: '' # Sencor (sencor.cz or sencor.com) Sencor: regex: 'Sencor|(?:ELEMENT[ _]?(?:(?:7|8|9\.7|10[ _]1)(?:[ _]?V[23])?|P[0-9]+|10\.1 Q001)|10_1Q205|ELEMENT-P5501)(?:[);/ ]|$)' device: 'tablet' models: # explicit tablet models - regex: '(?:SENCOR[ _])?Element (10\.1) (Q001)' model: 'Element $1" $2' - regex: '(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V3' model: 'Element 7 V3' - regex: '(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V2[ _]BASIC' model: 'Element 7 V2 Basic' - regex: '(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V2' model: 'Element 7 V2' - regex: '(?:SENCOR[ _])?ELEMENT[ _]8[ _]?V3' model: 'Element 8 V3' - regex: '(?:SENCOR[ _])?ELEMENT[ _]8[ _]?V2' model: 'Element 8 V2' - regex: '(?:SENCOR[ _])?ELEMENT8' model: 'Element 8' - regex: '(?:SENCOR[ _])?ELEMENT[ _]9\.7[ _]?V3' model: 'Element 9.7 V3' - regex: '(?:SENCOR[ _])?ELEMENT[ _]9\.7[ _]?V2' model: 'Element 9.7 V2' - regex: '(?:SENCOR[ _])?ELEMENT[ _]9\.7' model: 'Element 9.7' - regex: '(?:SENCOR[ _])?ELEMENT10[ _]1' model: 'Element 10.1' - regex: '(?:SENCOR[ _])?(7Q105)(?:[);/ ]|$)' model: '$1' - regex: '(?:SENCOR[ _])?(10)_(1Q205|1Q102)(?:[);/ ]|$)' model: '$1.$2' - regex: '(?:SENCOR[ _])?ELEMENT[ _-]?P([0-9]+)' model: 'Element P$1' device: 'smartphone' - regex: 'Sencor[ _]([^;/]+) Build' model: '$1' # TAUBE (https://taube-global.de/) TAUBE: regex: 'TAUBE[;,]' device: 'tv' model: '' # Hi-Level Hi-Level: regex: 'HLV-T([a-z0-9]+)' device: 'tablet' model: 'HLV-T$1' # HKC (https://www.hkc-eu.com/) HKC: regex: 'HKC ' device: 'tv' models: - regex: '4K AI Smart TV(?:[);/ ]|$)' model: '4K AI Smart TV' # HKPro HKPro: regex: 'HKPRO,([a-z0-9_ \-]+),(?:wired|wireless)' device: 'tv' model: '' # Hoffmann (hoffmann-electric.com) Hoffmann: regex: '(HOFFMANN|Neo[_ ]A[1379]00|X-Go|X-Play|X-Pro|X_Ultra|X-Max)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Neo[_ ](A[1379]00)' model: 'Neo $1' - regex: 'HOFFMANN[ _]X[-_ ](Prime|Twist|Max)' model: 'X $1' - regex: 'X[-_](Play|Go|Pro|Ultra|Max)' model: 'X $1' # Homatics (https://www.homatics.eu/) Homatics: regex: '(Box Q|Box R 4K| KP1)(?:[);/ ]|$)' device: 'tv' model: '$1' # Huagan Huagan: regex: 'Huagan[ _]' device: 'smartphone' models: - regex: 'Huagan[ _]([^;/)]+)(?: Build|[);])' model: '$1' # Stream or Stream System Stream: regex: 'LGE; WSTR[0-9a-z]+;|(B3 (?:Maxi|Simply)|B3Pro|Android 8(?:[\d.]*);(?: [\w-]+;)? (?:B1s|HT28|HT16))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(B3 (?:Maxi|Simply)|B1s|HT28|HT16)(?:[);/ ]|$)' model: '$1' - regex: 'B3Pro(?:[);/ ]|$)' model: 'B3 Pro' - regex: 'LGE; (WSTR[0-9a-z]+);' model: '$1' device: 'tv' # Homtom Homtom: regex: 'Homtom|(?:HT[0-9]{1,2}(?: ?Pro)?|HT3_Pro|P30 Pro|android 8([\d.]*);(?: [\w-]+;)? S17)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'P30 Pro' model: 'P30 Pro' - regex: 'S17' model: 'S17' - regex: '(?:Homtom[_ ])?HT ?([0-9]{1,2})[ _]?Pro(?:[);/ ]|$)' model: 'HT$1 Pro' - regex: '(?:Homtom[_ ])?HT ?([0-9]{1,2}?)(?:[);/ ]|$)' model: 'HT$1' - regex: 'Homtom ([^;/]+) Build' model: '$1' # Hopeland (https://www.hopelandrfid.com/) Hopeland: regex: 'HY(?:416|820)(?:[);/ ]|$)' device: 'peripheral' models: - regex: 'HY(416|820)(?:[);/ ]|$)' model: 'HY$1' # Hosin Hosin: regex: 'HOSIN[ _-]' device: 'smartphone' models: - regex: 'HOSIN[ _-]([^;/]+) Build' model: '$1' - regex: 'HOSIN[ _-]([^;/]+)(?:[;/)]|$)' model: '$1' # Hoozo (hoozoelectronics.com) Hoozo: regex: '(?:HOOZO[_ ](MT232|MT116|MT Pad 116 LTE|X1001)|F13_EEA|MZ104|HZ0010J?|HZ1012|YK_P30(?:_EEA)?)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'HOOZO[_ ](MT232|MT116|MT Pad 116 LTE|X1001|MZ104)(?:[);/ ]|$)' model: '$1' - regex: '(HZ0010J?|HZ1012)(?:[);/ ]|$)' model: '$1' - regex: 'F13_EEA(?:[);/ ]|$)' model: 'F13' - regex: '(YK_P30)(?:_EEA)?(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Mightier (https://www.mightier.com/) Mightier: regex: '(MT003-21)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Minix (minix.us) Minix: regex: 'NEO[- ](?:X8-H|X8|U9-H|X[57]-mini|X8H?-PLUS|X88-?I|X7-216A|X5-116A|X[68]|U1|Z64|U22-XJ)(?:[);/ ]|$)' device: 'tv' models: - regex: 'NEO-X8-H(?:[);/ ]|$)' model: 'NEO X8H' - regex: 'NEO U22-XJ(?:[);/ ]|$)' model: 'NEO U22' - regex: 'NEO-X([57])-mini(?:[);/ ]|$)' model: 'NEO X$1 Mini' - regex: 'NEO-(X8H?)-PLUS(?:[);/ ]|$)' model: 'NEO $1 Plus' - regex: 'NEO-X88-?I(?:[);/ ]|$)' model: 'NEO X88i' - regex: 'NEO-X7-216A(?:[);/ ]|$)' model: 'NEO X7' - regex: 'NEO-X5-116A(?:[);/ ]|$)' model: 'NEO X5' - regex: 'NEO-X([68])(?:[);/ ]|$)' model: 'NEO X$1' - regex: 'NEO-U1(?:[);/ ]|$)' model: 'NEO U1' - regex: 'NEO-Z64(?:[);/ ]|$)' model: 'NEO Z64' - regex: 'NEO-U9-H(?:[);/ ]|$)' model: 'NEO U9H' # Huavi (https://www.huavi.us/) Huavi: regex: 'KHATAR H-(?:10 mini|20 PRO)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'KHATAR H-10 mini(?:[);/ ]|$)' model: 'KHATAR H-10 Mini' - regex: 'KHATAR H-20 PRO(?:[);/ ]|$)' model: 'KHATAR H-20 Pro' # Turkcell (https://www.turkcell.com.tr/) Turkcell: regex: 'TURKCELL[_ ]' device: 'smartphone' models: - regex: 'Turbo T50(?:[);/ ]|$)' model: 'Turbo T50' - regex: 'T([124-8])0(?:[);/ ]|$)' model: 'T$10' - regex: 'Maxi Plus 5(?:[);/ ]|$)' model: 'T21 Maxi Plus 5' - regex: 'MaxiPRO5(?:[);/ ]|$)' model: 'T21 Maxi Pro 5' # Huawei - regex: 'Turkcell_T_Tablet(?:[);/ ]|$)' device: 'tablet' model: 'T Tablet' # China Telecom China Telecom: regex: 'Build/Tianyi|(?:TYH61[12]M|TYH211U|TYH201H|TYH622M|TYH632M|TYH631M)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TYH622M' model: 'Maimang 11 5G' - regex: 'TYH611M' model: 'Maimang 10 SE 5G' - regex: 'TYH612M' model: 'Maimang 10 5G' - regex: 'TYH632M' model: 'Maimang A20 5G' - regex: 'TYH631M' model: 'Maimang 20 5G' - regex: 'TYH211U' model: 'Tianyi One (2021)' - regex: 'TYH201H' model: 'Tianyi One' # U-Magic (China Unicom) U-Magic: regex: '(?:Liantong)?(?:VP00[1235])(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Liantong)?VP001' model: 'Enjoy 20 Plus 5G' - regex: '(?:Liantong)?VP002' model: 'Enjoy 20 5G' - regex: '(?:Liantong)?VP003' model: 'Enjoy 30e 5G' - regex: '(?:Liantong)?VP005' model: 'Enjoy 50 Plus' # Hi Nova Hi Nova: regex: '(?:Hebe|Hera|Hinova)-BD00|(?:ALH-BD00|MGZ-BD00|FIO-BD00|MIZ-BD00|MNT-BD00|SUP-BD00)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'FIO-BD00' model: '9 SE' - regex: 'MNT-BD00' model: '9z 5G' - regex: 'Hebe-BD00' model: '9 Pro' - regex: 'Hera-BD00' model: '9' - regex: 'ALH-BD00' model: '10' - regex: 'MGZ-BD00' model: '10 Pro' - regex: 'Hinova-BD00|MIZ-BD00' model: '11' - regex: 'SUP-BD00' model: '12 SE' # TD Tech (based for Huawei brand) TD Tech: regex: 'Build/TDTech|(?:NAT-TN70|TDT-MA01|AVA-PA00)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NAT-TN70' model: 'N8 Pro' - regex: 'AVA-PA00' model: 'P50' - regex: 'TDT-MA01' model: 'M40' # Huawei Huawei: regex: '(HW-)?(?:Huawei(?!Browser)|nova (?:Y\d|[678])|Maimang \d|MediaPad T1|Ultym5|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANA|ANE|ARE|ARS|ASK|ATH|ATU|AUM|BAC|BAH[234]?|BG2|BGO|B[ZK]K|BKL|BL[ALN]|BND|BTV|CA[GMNZ]|CH[CMW]|CHE[12]?|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DLI|DRA|DUA|DUB|DUK|EDI|EL[EN]|EML|EVA|EVR|FDR|FIG|FLA|FRD|FRL|GEM|GRA|HDN|HLK|HMA|Hol|HRY|HWI|H[36]0|INE|JAT|JEF|JDN|JDN2|JKM|JMM|JSN|KII|KIW|KNT|KOB|KSA|LDN|LEO|LIO|LLD|LND|LON|LRA|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEN|NEM|NEO|NXT|PAR(?!-[AH]0)|PCT|PIC|PLE|PLK|POT|PPA|PRA|RIO|RNE|RVL|SCC|SCL|SCM|SEA|SHT|SLA|SNE|SPN|STF|STK|TAG|TIT|TNY|TRT|VCE|VEN|VIE|VKY|VNS|VOG|VRD|VTR|WAS|YAL|G(?:527|620S|621|630|735)|Y(?:221|330|550|6[23]5))-(?:[A-Z]{0,2}[0-9]{1,4}[A-Z]{0,3}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))(?:[);/ ]|$))|hi6210sft|PE-(UL00|TL[12]0|TL00M)|T1-(A21?[Lw]|A2[23]L|701u|823L)|G7-(?:L01|TL00)|HW-01K|JNY-(LX[12]|[AT]L10|L[02]1)|OXF-AN[01]0|TAS-(A[LN]00|L[02]9|TL00)|WLZ-(AL10|AN00)|YOK-AN[10]0|NIC-LX1A|MRX-(AN19|AL[01]9|W[0-3]9)|CDY-(?:[AT]N00|AN[29][05]|NX9[AB]|TN[29]0)|GLK-(?:[AT]L00|LX1U|LX[23])|JER-(?:[AT]N20|[AT]N10)|ELS-(?:[AT]N[10]0|NX9|N[23]9|N04)|AKA-(AL10|L29)|MON-(W|AL)19|BMH-(?:TN10|AN[12]0)|AQM-([AT]L[01]0|LX1)|MOA-([AT]L[02]0|LX9N)|NTS-AL00|ART-(?:[AT]L00[xm]|L29N?|L28)|MED-(?:[AT]L00|LX[29]N?|AL20)|EBG-(?:AN[01]0|TN00|N19)|ANA-(?:[AT]N00|NX9)|BZ[AK]-W00|BZT-(W09|AL[01]0)|HDL-(AL09|W09)|HWV3[123]|HW-02L|TEL-[AT]N(?:00a?|10)|KKG-AN[07]0|MXW-[AT]N00|JKM-(?:AL00[ab]|L03)|TAH-(?:N29|AN00)m?|C8817D|T1-821W|d-01[JKH]|d-02[HK]|KRJ-(?:W09|AN00)|HWT31|Y320-U10|Y541-U02|VAT-L19|70[14]HW|60[58]HW|NOH-(?:NX9|AN0[01]|AN[58]0|AL[01]0)|TNNH?-AN00|LIO-(?:[TA]L00|[LN]29|AN00)|KOB2K-L09|KOB2-(?:AL00|[LW]09|L03)|AGS3-(?:[WL]09|AL0[09]|W00[DE]|W9)|DNN-LX9|NEY-NX9|LON-AL00|HLK-L41|503HW|AGR-(?:[LW]09|AL09)|PPA-LX[12]|ANG-(?:AN00|LX[12])|NOP-AN00|ALA-AN70|DVC-[AT]N[02]0|302HW|Nexus 6P|DBY-W09|WKG-(?:LX9|[AT]N00)|JSC-(?:AN00|AL50)|OCE-A[NL][015]0|NZA-AL00|BRQ-A[LN]00|BZC-(?:AL|W)00|NEN-L(?:X1|22)|KOZ-(?:AL[04]0|AL00CM)|NTH-(?:AN00|NX9)|MRR-W[23]9|WGR-(?:W[10]9|AN19)|TET-AN[10]0|SCMR-(?:W09|AL09)|OXP-AN00|HJC-(?:AN90|LX9)|CDL-AN50|CND-AN00|NTN-(?:LX[13]|AN20|L22)|RNA-[AT]N00|CHL-(?:A[LN]00|AL60)|ELZ-AN[012]0|NAM-(?:LX9|AL00)|JLH-AN00|JAD-(?:AL[0568]0|LX9)|AGS5-(?:L09|W0[09])|AGS3K-(?:W20|[WL]0[09])|AGRK-[WL]09|MT2L03|LSA-AN00|KJR-W09|TET-A[NL][05]0|TYH601M|RTE-AL00|BAL-(?:AL[08]0|AL60|AN20|L49)|BZI-(?:AL00|W00)|BZT3-(?:AL00|W09)|BZD-(?:W00|AL00)|MLD-AL[01]0|AGM3-(?:W09|AL09)HN|ABR-(?:AL[0689]0|LX9)|GIA-AN[08]0|LEO-DLXXE?|BZA-L00|MGI-AN00|CMA-(?:LX[123]|AN[04]0)|NEW-AN90|KRJ2-(?:W09|AN00)|BRT-(?:W09|AN09)|ANY-(?:[LN]X1|LX[23]|AN00)|JLN-(?:LX[13]|AL00)|LGE-(?:NX[19]|AN[012]0|N49B)|TNA-AN00|TFY-(?:LX[123]|AN[04]0)|DIO-AN00|BZW-AL[01]0|MOGOLIA|CM990|MGA-(?:AL[04]0|LX[39])|60[56]HW|Peppa-(?:L2[23]B|L0[23]B)|KANT-\d{3}[BCS]?|Kobe3-L09|FNE-(?:NX9|AN00)|HPB-AN00|Mate ?(?:[34]0 RS|Xs|30)|Y530|SDY-AN00|EC6108V[89]|CTR-(?:LX[123]|AL[02]|L81)|VNE-(?:LX[123]|N41|AN[04]0)|HMW-W09|GLA-(?:LX[13]|AL00)|HEY2?-[NW]09|GOT-(?:AL[01]9|W[02]9)|PAL-(?:AL00|LX9)|PAN-L29|NNH-AN00|P Smart S|NCO-(?:LX[13]|AL00)|DCO-(?:AL00|LX9)|CET-(?:AL[06]0|LX9)|ADT-AN00|RMO-(?:AN00|NX[13])|RKY-(?:AN[01]0|LX[123])|M300-L09|EVE-(?:AL00|LX[39]N?)|BNE-(?:LX[13]|AL00)|dtab01|BZT4-W19|ROD-W09|ANP-AN00|WGRR-W09|HN3-U01|Holly-U19|BLM-00|ANN-AN00|VNA-(?:LX[23]|L29)|CRT-(?:NX[13]|LX[123]|AN00)|AGM-W09HN|PGT-(?:AN[012]0|N[01]9)|GLL-AL01|MNA-(?:LX9|AL00)|LNA-(?:AL00|LX9)|ALT-(?:L29|AL[01]0|AN00)|MAO-(?:LX9N?|AL00)|Enjoy (?:20 SE|20 5G|Z 5G|20 Plus|20 Pro|[12]0e)|ANB-AN00|STG-(?:AL00|LX[12])|LTK-LX3|GOA-(?:LX9|AL80)|nova (?:6 5G|6SE|Lite3Plus|5T Pro)| Angela-L|DBR-(?:W[01]9|W10)|WOD-LX[123]|REP-AN00|WDY-(?:LX[123]|AN00)|FOA-(?:LX9|AL00)|ALI-(?:AN00|NX[13])|DBY2-(?:W0[09]|L09)|REA-(?:NX9|AN00)|AMZ-L29|AGT-AN00|VER-(?:AN[01]0|N49)|ELN-[WL]09|BTK-(?:AL09|W09)|FRI-(?:NX9|AN[01]0)|LLY-(?:LX[123]|AN00|NX1)|MAA-AN[01]0|BVL-(?:N[45]9|AN(?:16|[02]0))|MAG-AN00|RBN-NX[13]|PCE-(?:W29|W[34]0)|ALN-AL[018]0|FIN-AL60|ADA-AL00U?|BON-AL00|BRA-AL00|CLK-(?:LX[123]|AN00|NX[123])|FGD-AL00|GDI-W09|GAR-AN[06]0|CHA-AL80|MLA-L1[12]|LEM-AL00|ADY-(?:AL00|LX9)|VCA-AN00|JuliaQN-(?:L[02]1B|L23A)|HBP-(?:AL00|LX9)|ARC-AL00|BLK-AL00|HBN-(?:AL[18]0|LX9)|JDY-(?:LX1|AN00)|ELI-(?:AN00|NX9)|GFY-AL00|PE-CL00|DBY2-L09CK|ELP-(?:AN00|NX9)|LRA-(?:AN00|TL00)|GBD-NX9|FCP-AN10|CAM-L03|TGR-W09|Wukong-L29A|RTG-NX9' device: 'smartphone' models: - regex: 'ADY-(?:AL00|LX9)' model: 'Pura 70' # wiko - regex: 'HBP-(?:AL00|LX9)' model: 'Pura 70 Ultra' - regex: 'HBN-(?:AL[18]0|LX9)' model: 'Pura 70 Pro+' - regex: 'VCA-AN00' model: 'Honor V Purse' - regex: 'GAR-AN60' model: 'Hi Enjoy 60s 5G' # wiko - regex: 'GAR-AN00' model: 'Hi Enjoy 60 5G' # wiko - regex: 'BAL-AN20' model: 'Hi Enjoy 70 Pro 5G' # wiko - regex: 'GFY-AL00' model: 'Enjoy 70S' - regex: 'CRT-NX[13]' model: 'Honor 90 Lite' - regex: 'CLK-NX[13]' model: 'Honor 90 Smart' - regex: 'REA-(?:NX9|AN00)|RTG-NX9' model: 'Honor 90' - regex: 'MAG-AN00' model: 'Honor 90 GT' - regex: 'REP-AN00' model: 'Honor 90 Pro' - regex: 'MAA-AN10' model: 'Honor 100 Pro' - regex: 'MAA-AN00' model: 'Honor 100' - regex: 'FNE-AN00' model: 'Honor 70' - regex: 'FNE-NX9' model: 'Honor 70 5G' - regex: 'SDY-AN00' model: 'Honor 70 Pro' - regex: 'RBN-NX1' model: 'Honor 70 Lite' - regex: 'ANP-AN00' model: 'Honor 80 Pro' - regex: 'AGT-AN00' model: 'Honor 80 GT' - regex: 'ANB-AN00' model: 'Honor 80 Pro Flat' - regex: 'ANN-AN00' model: 'Honor 80 5G' - regex: 'GIA-AN80' model: 'Honor 80 SE' - regex: 'HPB-AN00' model: 'Honor 70 Pro+' - regex: 'POT-[TA]L00a(?:[);/ ]|$)' model: '9S' - regex: 'U9500(?:[);/ ]|$)' model: 'Ascend D1' - regex: 'Z100-UL00(?:[);/ ]|$)' model: 'Ascend D3' - regex: 'Y530(?:[);/ ]|$)' model: 'Ascend Y530' - regex: 'Y320-(?:U10|T00|U05)(?:[);/ ]|$)' model: 'Ascend Y320' - regex: 'Y330-U05(?:[);/ ]|$)' model: 'Ascend Y330' - regex: 'Y541-U02(?:[);/ ]|$)' model: 'Ascend Y5C' - regex: 'U8818(?:[);/ ]|$)' model: 'Ascend G300' - regex: 'G527-U081(?:[);/ ]|$)' model: 'Ascend G527' - regex: '(G620S-L0[13]|C8817D)(?:[);/ ]|$)' model: 'Ascend G620S' - regex: 'G630-U251(?:[);/ ]|$)' model: 'Ascend G630' - regex: 'G7-(?:L01|TL00)(?:[);/ ]|$)' model: 'Ascend G7' - regex: 'P7-L(?:10|07)(?:[);/ ]|$)' model: 'Ascend P7' - regex: 'P6 ?S-U06' model: 'Ascend P6' - regex: 'G730-C00(?:[);/ ]|$)' model: 'Ascend G730' - regex: 'U9200(?:[);/ ]|$)' model: 'Ascend P1' - regex: 'H1711(?:[);/ ]|$)' model: 'Ascend XT2' - regex: 'Y221-U(?:[12]2|[0345]3)(?:[);/ ]|$)' model: 'Ascend Y221' - regex: 'Y550-L03(?:[);/ ]|$)' model: 'Ascend Y550' - regex: 'Y560-L01(?:[);/ ]|$)' model: 'Ascend Y560' - regex: 'Huawei g700(?:-(?:U[012]0|T0[01]))?' model: 'Ascend G700' - regex: 'ART-[AT]L00[xm](?:[);/ ]|$)' model: 'Enjoy 10' - regex: 'STK-[AT]L00(?:[);/ ]|$)' model: 'Enjoy 10 Plus' - regex: 'MED-(?:[AT]L00|AL20)(?:[);/ ]|$)|Enjoy 10e' model: 'Enjoy 10E' - regex: 'AQM-[AT]L00(?:[);/ ]|$)' model: 'Enjoy 10S' - regex: 'TAG-[ACT]L00(?:[);/ ]|$)' model: 'Enjoy 5S' - regex: 'MGA-AL00' model: 'Enjoy 50' - regex: 'EVE-AL00' model: 'Enjoy 50z' - regex: 'MGA-AL40' model: 'Enjoy 60' - regex: 'MAO-AL00' model: 'Enjoy 60 Pro 4G' - regex: 'CTR-AL00' model: 'Enjoy 50 Pro' - regex: 'STG-AL00' model: 'Enjoy 60X' - regex: 'CTR-AL20' model: 'Enjoy 70 Pro' - regex: 'FGD-AL00' model: 'Enjoy 70' - regex: 'TAG-(?:L0[13]|L32|L13|L2[123])(?:[);/ ]|$)' model: 'GR3' - regex: 'NCE-(AL[10]0|TL10)(?:[);/ ]|$)' model: 'Enjoy 6' - regex: 'DIG-(?:TL10|AL00)(?:[);/ ]|$)' model: 'Enjoy 6S' - regex: 'SLA-(?:AL00|TL10)(?:[);/ ]|$)' model: 'Enjoy 7' - regex: 'FIG-(?:[AT]L[10]0)(?:[);/ ]|$)' model: 'Enjoy 7S' - regex: '(?:TRT-AL00[A]?|TRT-TL10A)(?:[);/ ]|$)' model: 'Enjoy 7 Plus' - regex: 'LDN-(?:AL[12]0|TL[02]0)(?:[);/ ]|$)' model: 'Enjoy 8' - regex: 'FLA-AL[01]0(?:[);/ ]|$)' model: 'Enjoy 8 Plus' - regex: 'ATU-[AT]L10(?:[);/ ]|$)' model: 'Enjoy 8e' - regex: 'MRD-[TA]L00(?:[);/ ]|$)' model: 'Enjoy 9e' - regex: 'DVC-[AT]N20|Enjoy 20 Pro 5G' model: 'Enjoy 20 Pro 5G' - regex: '(?:DVC-AN00|Enjoy Z 5G)(?:[);/ ]|$)' model: 'Enjoy Z 5G' - regex: '(?:PPA-AL20|Enjoy 20 SE)(?:[);/ ]|$)' model: 'Enjoy 20 SE' - regex: 'FRL-[AT]N00|Enjoy 20 Plus 5G' model: 'Enjoy 20 Plus 5G' - regex: 'MLD-AL[01]0|Enjoy 20e Helio P35' model: 'Enjoy 20e' - regex: 'U8665(?:[);/ ]|$)' model: 'Fusion 2' - regex: 'MED-LX9N?(?:[);/ ]|$)' model: 'Y6p' - regex: 'G735-L(?:03|12|23)(?:[);/ ]|$)' model: 'G Play' - regex: 'CHC-U(?:0[13]|23)(?:[);/ ]|$)' model: 'G Play Mini' - regex: '(?:Honor_|HW-)?G621-TL00M?(?:[);/ ]|$)' model: 'G621' - regex: 'DIG-L2[12](?:[);/ ]|$)' model: 'GR3 (2017)' - regex: 'KII-L2[12](?:[);/ ]|$)' model: 'GR5' - regex: 'BLL-L2[12](?:[);/ ]|$)' model: 'GR5 (2017)' - regex: 'RIO-L03(?:[);/ ]|$)' model: 'GX8' - regex: 'RIO-L0[12](?:[);/ ]|$)' model: 'G8' - regex: 'RIO-[UT]L00(?:[);/ ]|$)' model: 'G7 Plus' - regex: 'MNA-(?:AL00|LX9)' model: 'P60 Pro' - regex: 'LNA-(?:AL00|LX9)' model: 'P60' - regex: 'JAD-(?:AL[0568]0|LX9)(?:[);/ ]|$)' model: 'P50 Pro' - regex: 'ABR-(?:AL[08]0|LX9)' model: 'P50' - regex: 'ABR-AL[69]0' model: 'P50E' - regex: 'BAL-(?:AL[08]0|L49)' model: 'P50 Pocket' - regex: 'BAL-AL60' model: 'Pocket S' - regex: 'LEM-AL00' model: 'Pocket 2' - regex: 'U8860(?:[);/ ]|$)' model: 'Honor' - regex: 'COL-(?:AL[01]0|TL[01]0|L29|L10)(?:[);/ ]|$)' model: 'Honor 10' - regex: 'HRY-(?:[AT]L00[A]?|LX[12]|L21|LX1MEB)(?:[);/ ]|$)' model: 'Honor 10 Lite' - regex: 'HRY-LX1T(?:[);/ ]|$)' model: 'Honor 10I' - regex: 'U9508(?:[);/ ]|$)' model: 'Honor 2' - regex: 'YAL-(?:L21|[AT]L00)(?:[);/ ]|$)' model: 'Honor 20' - regex: '(?:LRA-[AT]L00|Honor 20 Lite)(?:[);/ ]|$)' model: 'Honor 20 Lite' - regex: '(HRY-AL00T[a]?|Honor 20i)(?:[);/ ]|$)' model: 'Honor 20I' - regex: '(?:YAL-(L41|AL10)|Honor 20 Pro)(?:[);/ ]|$)' model: 'Honor 20 Pro' - regex: '(MAR-LX1H|YAL-[AT]L50)(?:[);/ ]|$)' model: 'Honor 20S' - regex: 'EBG-[AT]N00(?:[);/ ]|$)' model: 'Honor 30 Pro' - regex: '(?:EBG-AN10|EBG-N19|Honor 30 Pro\+)(?:[);/ ]|$)' model: 'Honor 30 Pro Plus' - regex: '(?:CDY-(?:AN9[05]|NX9A|TN90)|Honor 30S)(?:[);/ ]|$)' model: 'Honor 30S' - regex: 'LRA-LX1(?:[);/ ]|$)' model: 'Honor 30I' - regex: '(?:MXW-[AT]N00|Honor 30 Lite)(?:[);/ ]|$)' model: 'Honor 30 Lite' - regex: '(?:BMH-(?:AN[12]0|TN10)|Honor 30)(?:[);/ ]|$)' model: 'Honor 30' - regex: '(?:Honor_|HW-)?H30-(?:C00|L01M?|L02|U10|T00|T10)(?:_TD)?(?:[);/ ]|$)' model: 'Honor 3C' - regex: 'Hol-U19(?:[);/ ]|$)' model: 'Honor 3C Lite' - regex: 'G750-T01(?:[);/ ]|$)' model: 'Honor 3X' - regex: 'HN3-U01' model: 'Honor 3' - regex: '(?:Honor_|HW-)?SCL-(?:AL00|CL00|TL00H?)(?:_TD)?(?:[);/ ]|$)' model: 'Honor 4A' - regex: '(?:Honor_|HW-)?CHM-U01(?:_TD)?(?:[);/ ]|$)' model: 'Honor 4C' - regex: 'Honor 4c Pro(?:[);/ ]|$)' model: 'Honor 4C Pro' - regex: 'AQM-AL10(?:[);/ ]|$)' model: 'Honor 4T Pro' - regex: '(CHE2?-[UT]L00[HM]?|CHE1-CL[12]0|CHE2-L(?:1[12]|23)|Che1-L04|CHE-TL00)(?:[);/ ]|$)' model: 'Honor 4X' - regex: '(?:Honor_|HW-)?CUN-[AT]L00(?:[);/ ]|$)' model: 'Honor 5 Play' - regex: '(?:Honor_|HW-)?CAM-(?:AL00|TL00H|TL00)(?:_TD)?(?:[);/ ]|$)' model: 'Honor 5A' - regex: '(?:Honor_|HW-)?NEM-(?:AL10|L51|UL10|TL00)(?:[);/ ]|$)' model: 'Honor 5C' - regex: '(?:Honor_|HW-)?NEM-(?:L22|TL00H)(?:[);/ ]|$)' model: 'Honor 5C Dual SIM' - regex: '(?:Honor_|HW-)?KIW-(?:AL10|TL00H|[TC]L00|L2[1-4]|UL00)(?:_TD)?(?:[);/ ]|$)' model: 'Honor 5X' - regex: 'NTH-(?:NX9|AN00)' model: 'Honor 50 5G' - regex: 'JLH-AN00(?:[);/ ]|$)' model: 'Honor 50 SE' - regex: 'NTN-(?:LX[13]|L22)(?:[);/ ]|$)' model: 'Honor 50 Lite' - regex: 'RNA-[AT]N00' model: 'Honor 50 Pro 5G' - regex: 'LSA-AN00' model: 'Honor 60' - regex: 'GIA-AN00' model: 'Honor 60 SE 5G' - regex: 'TNA-AN00' model: 'Honor 60 Pro' - regex: '((?:Honor_|HW-)?H60-L(?:01|02|03|04|11|12)(?:_TD)?|HW-H60-J1|MOGOLIA)(?:[);/ ]|$)' model: 'Honor 6' - regex: 'MYA-TL10(?:[);/ ]|$)' model: 'Honor 6 Play' - regex: 'PE-([CU]L00|TL[12]0|TL00M)(?:[);/ ]|$)' model: 'Honor 6 Plus' - regex: '(?:HONOR[ _]?)?DLI-(?:AL10|L[24]2|TL20)(?:[);/ ]|$)' model: 'Honor 6A' - regex: 'DIG-L21HN(?:[);/ ]|$)' model: 'Honor 6C' - regex: 'JMM-L22(?:[);/ ]|$)' model: 'Honor 6C Pro' - regex: '(?:HONOR[ _]?)?BLN-(?:L2[124]|AL[1-4]0|TL[01]0(?:[);/ ]|$))' model: 'Honor 6X' - regex: '(?:Honor[_]?|HW-)?PLK-(?:AL10|CL00|TL00|TL01H?|UL00|L01)(?:[);/ ]|$)' model: 'Honor 7' - regex: '(?:Honor_|HW-)?NEM-L21(?:[);/ ]|$)' model: 'Honor 7 Lite' - regex: 'AUM-(?:AL[20]0|L33[A]?|TL20)(?:[);/ ]|$)' model: 'Honor 7A' - regex: 'AUM-L29(?:[);/ ]|$)' model: 'Honor 7A Pro' - regex: '(?:Honor_|HW-)?(?:LND-(?:AL[34]0|L29|TL[34]0)|AUM-L41)(?:[);/ ]|$)' model: 'Honor 7C' - regex: 'ATH-(?:[CAU]L00|TL00H?)(?:[);/ ]|$)' model: 'Honor 7i' - regex: '(?:Honor_|HW-)?DUA-(?:L22|LX3)(?:[);/ ]|$)' model: 'Honor 7S' - regex: '(?:HONOR[ _]?)?BND-(?:AL[01]0|TL10|L2[14]|L31)(?:[);/ ]|$)' model: 'Honor 7X' - regex: '(?:FRD-(?:AL[01]0|L0[249]|L1[49]|DL00)|VAT-L19)(?:[);/ ]|$)' model: 'Honor 8' - regex: 'PRA-(?:AL00X|AL00|TL10)(?:[);/ ]|$)' model: 'Honor 8 Lite' - regex: 'DUK-(?:L09|TL30)(?:[);/ ]|$)' model: 'Honor 8 Pro' - regex: 'VEN-L22(?:[);/ ]|$)' model: 'Honor 8 Smart' - regex: 'JAT-L(29|X[13])(?:[);/ ]|$)' model: 'Honor 8A' - regex: '(?:JAT-L41|Honor 8A Pro)(?:[);/ ]|$)' model: 'Honor 8A Pro' - regex: 'BKK-(?:AL[10]0|L21|L22|LX2|TL00)(?:[);/ ]|$)' model: 'Honor 8C' - regex: 'KSA-(LX[239]|AL00)(?:[);/ ]|$)' model: 'Honor 8S' - regex: 'JSN-L(?:2[123]|42)|JSN-[TA]L00[a]?(?:[);/ ]|$)' model: 'Honor 8X' - regex: 'ARE-(?:AL[10]0|L22(?:HN)?|TL00)(?:[);/ ]|$)' model: 'Honor 8X Max' - regex: 'STF-(?:AL[10]0|L09S?|TL10)(?:[);/ ]|$)' model: 'Honor 9' - regex: '(?:MOA-LX9N|Honor 9A)(?:[);/ ]|$)' model: 'Honor 9A' - regex: '(?:AKA-L29|Honor 9C)(?:[);/ ]|$)' model: 'Honor 9C' - regex: 'LLD-(?:AL[01]0|L[23]1|TL10)(?:[);/ ]|$)' model: 'Honor 9 Lite' - regex: 'LLD-AL[23]0(?:[);/ ]|$)' model: 'Honor 9i' - regex: '(?:DUA-LX9|Honor 9S)(?:[);/ ]|$)' model: 'Honor 9S' - regex: 'HLK-AL00a?(?:[);/ ]|$)' model: 'Honor 9X' - regex: 'HLK-(?:AL10|L4[12])(?:[);/ ]|$)' model: 'Honor 9X Pro' - regex: 'Honor 9x Lite' model: 'Honor 9X Lite' - regex: 'CAM-UL00(?:[);/ ]|$)' model: 'Honor Holly 3' - regex: 'Holly-U19(?:[);/ ]|$)' model: 'Honor Holly' - regex: 'NTS-AL00(?:[);/ ]|$)' model: 'Honor Magic' - regex: 'TNY-[AT]L00(?:[);/ ]|$)' model: 'Honor Magic 2' - regex: 'Honor Magic 2 3D' model: 'Honor Magic 2 3D' - regex: 'VER-(?:AN10|N49)' model: 'Honor Magic V2' - regex: 'LRA-AN00' model: 'Honor Magic V Flip 5G' - regex: 'VER-AN00' model: 'Honor Magic Vs2' - regex: 'FRI-NX9' model: 'Honor Magic Vs' - regex: 'FRI-AN10' model: 'Honor Magic Vs Ultimate' - regex: 'FRI-AN00' model: 'Honor Magic Vs 5G' - regex: 'FCP-AN10' model: 'Honor Magic V3' - regex: 'ELZ-AN00' model: 'Honor Magic 3' - regex: 'ELZ-AN10' model: 'Honor Magic 3 Pro' - regex: 'ELZ-AN20' model: 'Honor Magic 3 Pro+' - regex: 'LGE-(?:AN10|NX9|N49B)|GBD-NX9' model: 'Honor Magic 4 Pro' - regex: 'LGE-AN00' model: 'Honor Magic 4' - regex: 'LGE-AN20' model: 'Honor Magic 4 Pro+' - regex: 'ANY-LX1' model: 'Honor Magic 4 Lite' - regex: 'RMO-NX3' model: 'Honor Magic 5 Lite' - regex: 'MGI-AN00|PGT-(?:N09|AN00)' model: 'Honor Magic 5' - regex: 'PGT-(?:AN10|N19)' model: 'Honor Magic 5 Pro' - regex: 'PGT-AN20' model: 'Honor Magic 5 Ultimate' - regex: 'ALI-NX[13]' model: 'Honor Magic 6 Lite 5G' - regex: 'BVL-AN16|BVL-N49' model: 'Honor Magic 6 Pro' - regex: 'BVL-(?:AN20|N59)' model: 'Honor Magic 6 RSR' - regex: 'BVL-AN00' model: 'Honor Magic 6' - regex: 'RVL-AL09(?:[);/ ]|$)' model: 'Honor Note 10' - regex: 'EDI-AL10(?:[);/ ]|$)' model: 'Honor Note 8' - regex: 'VKY-TL00(?:[);/ ]|$)' model: 'Honor P10 Plus' - regex: 'VOG-AL00(?:[);/ ]|$)' model: 'Honor P30 Pro' - regex: 'ANA-(?:[AT]N00)(?:[);/ ]|$)' model: 'Honor P40 5G' - regex: 'ANA-AL00(?:[);/ ]|$)' model: 'Honor P40 4G' - regex: 'ANA-NX9(?:[);/ ]|$)' model: 'Honor P40 Dual' - regex: 'COR-(?:AL[01]0|L29|TL10)(?:[);/ ]|$)' model: 'Honor Play' - regex: 'ASK-AL(00x|20)(?:[);/ ]|$)' model: 'Honor Play 3' - regex: 'CMA-AN00(?:[);/ ]|$)' model: 'Honor Play 30 Plus' - regex: 'VNE-AN00' model: 'Honor Play 30' - regex: 'JDY-AN00' model: 'Honor Play 50 5G' - regex: 'VNE-AN40' model: 'Honor Play 6C' - regex: 'ALT-AN00' model: 'Honor Play 60 Plus' - regex: '(?:KSA-AL10|Honor Play 3e)(?:[);/ ]|$)' model: 'Honor Play 3E' - regex: 'NNH-AN00(?:[);/ ]|$)' model: 'Honor 50' - regex: 'TNNH-AN00(?:[);/ ]|$)' model: 'Honor Play 4' - regex: 'CHM-[CUT]L00[HM]?(?:[);/ ]|$)' model: 'Honor Play 4C' - regex: '(?:OXP-AN00|Honor Play 4T Pro)(?:[);/ ]|$)' model: 'Honor Play 4 Pro' - regex: '(?:AKA-AL10|Honor Play 4T)(?:[);/ ]|$)' model: 'Honor Play 4T' - regex: 'RKY-AN00' model: 'Honor Play 40 Plus' - regex: 'RKY-AN10' model: 'Honor Play 7T 5G' - regex: 'WDY-AN00' model: 'Honor Play 40C' - regex: 'RKY-LX[123]' model: 'Honor X7a' - regex: 'CLK-LX[123]' model: 'Honor X7b' - regex: 'CLK-NX2' model: 'Honor X7b 5G' - regex: '(?:NZA-AL00?|KOZ-AL40)(?:[);/ ]|$)' model: 'Honor Play 5T' # Vitality Edition - regex: 'NEW-AN90' model: 'Honor Play 5 Vitality' - regex: 'CHL-AL00(?:[);/ ]|$)' model: 'Honor Play 5T Pro' - regex: 'CMA-AN40(?:[);/ ]|$)' model: 'Honor Play 6T' - regex: 'CHL-AN00(?:[);/ ]|$)' model: 'Honor X20 SE' - regex: 'DUA-[TA]L00(?:[);/ ]|$)' model: 'Honor Play 7' - regex: 'HJC-AN90(?:[);/ ]|$)' model: 'Honor Play 5' - regex: 'KOZ-AL00(?:[);/ ]|$)' model: 'Honor Play 20' - regex: 'KOZ-AL00CM(?:[);/ ]|$)' model: 'Honor Play 20a' - regex: 'HJC-LX9(?:[);/ ]|$)' model: 'Honor Play 20 Pro' - regex: '(?:JAT-[AT]L00|Honor Play 8A)(?:[);/ ]|$)' model: 'Honor Play 8A' - regex: '(?:MOA-(?:AL[02]0|TL00))(?:[);/ ]|$)' model: 'Honor Play 9A' - regex: 'CLK-AN00' model: 'Honor Play 8T' - regex: 'Honor Play 8' model: 'Honor Play 8' - regex: 'BKL-(?:AL00|AL20|AL30|L09|TL10)(?:[);/ ]|$)' model: 'Honor V10' - regex: 'PCT-[TA]L10(?:[);/ ]|$)' model: 'Honor V20' - regex: 'YOK-AN10(?:[);/ ]|$)' model: 'Honor V40' - regex: 'KNT-(?:AL[12]0|[TU]L10)(?:[);/ ]|$)' model: 'Honor V8' - regex: 'DUK-AL20(?:[);/ ]|$)' model: 'Honor V9' - regex: 'JMM-[AT]L[01]0(?:[);/ ]|$)' model: 'Honor V9 Play' - regex: 'BKL-(?:L04|L09S)(?:[);/ ]|$)' model: 'Honor View 10' - regex: 'PCT-L29(?:[);/ ]|$)' model: 'Honor View 20' - regex: 'VNA-L29' model: 'Honor View 20' - regex: 'OXF-AN00(?:[);/ ]|$)' model: 'Honor View 30' - regex: 'OXF-AN10(?:[);/ ]|$)' model: 'Honor View 30 Pro' - regex: '(?:Honor_|HW-)?SCL-L(0[1-4]|21|32)(?:_TD)?(?:[);/ ]|$)' model: 'Honor Y6' - regex: '(?:Honor_|HW-)?LYO-L[02]1(?:[);/ ]|$)' model: 'Honor Y6 II Compact' - regex: '(?:Honor_|HW-)?LYO-L02(?:[);/ ]|$)' model: 'Y6 Elite' - regex: 'NTN-AN20(?:[);/ ]|$)' model: 'Honor X20' - regex: '(?:TEL-(?:AN(?:00a?|10)|TN00)|Honor X10 5G)(?:[);/ ]|$)' model: 'Honor X10 5G' - regex: 'Honor X10 Pro(?:[);/ ]|$)' model: 'Honor X10 Pro' - regex: 'CMA-LX[123]' model: 'Honor X7' - regex: 'TFY-LX[123]' model: 'Honor X8' - regex: 'CRT-LX[123]' model: 'Honor X8a' - regex: 'RBN-NX3' model: 'Honor X8a 5G' - regex: 'LLY-LX[123]' model: 'Honor X8b' - regex: 'LLY-NX1' model: 'Honor 200 Lite' - regex: 'ELI-(?:AN00|NX9)' model: 'Honor 200' - regex: 'ELP-(?:AN00|NX9)' model: 'Honor 200 Pro' - regex: 'VNE-N41' model: 'Honor X8 5G' - regex: 'VNE-LX[123]' model: 'Honor X6' - regex: 'WDY-LX[123]' model: 'Honor X6a' - regex: 'JDY-LX1' model: 'Honor X6b' - regex: '(?:KKG-AN00|Honor X10 Max)(?:[);/ ]|$)' device: 'phablet' model: 'Honor X10 Max' - regex: 'KKG-AN70' model: 'Honor X30 Max' - regex: 'ANY-AN00' model: 'Honor X30' - regex: 'TFY-AN00' model: 'Honor X30i' - regex: 'TFY-AN40' model: 'Honor Play 6T Pro' - regex: 'DIO-AN00' model: 'Honor X40i' - regex: 'ADT-AN00' model: 'Honor X40 GT' - regex: 'RMO-AN00' model: 'Honor X40' - regex: 'RMO-NX1' model: 'Honor X9a' - regex: '(?:DNN-LX9|Honor X10 Lite)(?:[);/ ]|$)' model: 'Honor X10 Lite' - regex: 'ANY-(?:NX1)' model: 'Honor X9 5G' - regex: 'ANY-(?:LX[23])' model: 'Honor X9' - regex: 'VNA-LX[23]' model: 'Honor X5' - regex: 'CRT-AN00' model: 'Honor X50i' - regex: 'LLY-AN00' model: 'Honor X50i+ 5G' - regex: 'ALI-AN00' model: 'Honor X50' - regex: 'ALP-AN00' model: 'Honor X50 Pro 5G' - regex: 'WOD-LX[123]' model: 'Honor X5 Plus' - regex: 'ALA-AN70(?:[);/ ]|$)' model: 'Honor V40 Lite' - regex: 'U8500(?:[);/ ]|$)' model: 'Ideos X2' - regex: 'U8510(?:[);/ ]|$)' model: 'Ideos X3' - regex: 'U8800(?:[);/ ]|$)' model: 'Ideos X5' - regex: 'IDEOS[_ ]X5[_ ]PRO(?:[);/ ]|$)' model: 'Ideos X5 Pro' - regex: 'MLA-AL10(?:[);/ ]|$)' model: 'Maimang 5' - regex: 'RIO-AL00' model: 'Maimang 4' - regex: 'POT-AL10(?:[);/ ]|$)' model: 'Maimang 8' - regex: 'TNN-AN00(?:[);/ ]|$)' model: 'Maimang 9' - regex: 'TYH601M' model: 'Maimang 9 5G' - regex: 'Maimang (\d)(?:[);/ ]|$)' model: 'Maimang $1' - regex: '(?:TAH-(?:N29|AN00)m|Mate Xs)(?:[);/ ]|$)' model: 'Mate XS' - regex: 'PAL-(?:AL00|LX9)' model: 'Mate XS 2' - regex: 'TAH-AN00' model: 'Mate X' - regex: 'ALT-(?:AL00|L29)' model: 'Mate X3' - regex: 'ALT-AL10' model: 'Mate X5' - regex: 'TET-(?:A[NL]00|AN10)' model: 'Mate X2' - regex: 'TET-AN50' model: 'Mate X2 5G' - regex: 'ALP-(?:[TA]L00|L[02]9|L29S)(?:[);/ ]|$)' model: 'Mate 10' - regex: 'RNE-(?:AL00|L(?:01|03|21|23))(?:[);/ ]|$)' model: 'Mate 10 Lite' - regex: 'BLA-(?:A09|L[02]9|L29S|[TA]L00)(?:[);/ ]|$)' model: 'Mate 10 Pro' - regex: 'HMA-(?:[AT]L00|L[02]9)(?:[);/ ]|$)' model: 'Mate 20' - regex: 'SNE-(?:AL00|LX[0-3]|L01)(?:[);/ ]|$)' model: 'Mate 20 Lite' - regex: '(?:LYA-(?:AL[01]0|L[02]9|L0C|TL00)|PAN-L29)(?:[);/ ]|$)' model: 'Mate 20 Pro' - regex: 'LYA-AL00P(?:[);/ ]|$)' model: 'Mate 20 RS' - regex: 'EVR-(?:[TA]L00|L29|N29|AN00)(?:[);/ ]|$)' model: 'Mate 20 X' - regex: '(?:TAS-([AT]L00|L[02]9)|AMZ-L29)(?:[);/ ]|$)' model: 'Mate 30' - regex: 'TAS-AN00(?:[);/ ]|$)' model: 'Mate 30 5G' - regex: '(?:LIO-AN00P|Mate30 RS)(?:[);/ ]|$)' model: 'Mate 30 RS Porsche Design' - regex: 'SPN-AL00(?:[);/ ]|$)' model: 'Mate 30 Lite' - regex: 'LIO-(?:[TA]L00|L[02]9|AN00)(?:[);/ ]|$)' model: 'Mate 30 Pro' - regex: 'LIO-(?:N29|TN00|AL10)(?:[);/ ]|$)' model: 'Mate 30 Pro 5G' - regex: 'LIO-AN00m(?:[);/ ]|$)' model: 'Mate 30E Pro 5G' - regex: 'NOH-(?:NX9|AN0[01]|AN50|AL[01]0)(?:[);/ ]|$)' model: 'Mate 40 Pro' - regex: 'NOH-AN80' model: 'Mate 40E Pro 5G' - regex: 'NOP-AN00(?:[);/ ]|$)' model: 'Mate 40 Pro+' - regex: 'Mate 40 RS(?:[);/ ]|$)' model: 'Mate 40 RS' - regex: 'OCE-AN10(?:[);/ ]|$)' model: 'Mate 40' - regex: 'OCE-(?:A[NL]50|AN00)(?:[);/ ]|$)' model: 'Mate 40E' - regex: 'DCO-(?:AL00|LX9)' model: 'Mate 50 Pro' - regex: 'CET-(?:AL00|LX9)' model: 'Mate 50' - regex: 'CET-AL60' model: 'Mate 50E' - regex: 'ALN-AL[08]0' model: 'Mate 60 Pro' - regex: 'ALN-AL10' model: 'Mate 60 Pro+' - regex: 'BRA-AL00' model: 'Mate 60' - regex: 'NXT-(?:AL10|L[02]9)(?:[);/ ]|$)' model: 'Mate 8' - regex: '(?:MHA-(?:L[02]9|[AT]L00)|M300-L09)(?:[);/ ]|$)' model: 'Mate 9' - regex: 'BLL-L23(?:[);/ ]|$)' model: 'Mate 9 Lite' - regex: 'LON-(?:AL00(?:-PD)?|L29)(?:[);/ ]|$)' model: 'Mate 9 Pro' - regex: 'NEO-AL00(?:[);/ ]|$)' model: 'Mate RS' - regex: 'NEO-L29(?:[);/ ]|$)' model: 'Mate RS Porsche Design' - regex: 'CRR-(?:L09|UL[20]0|CL00)(?:[);/ ]|$)' model: 'Mate S' - regex: 'BND-L34(?:[);/ ]|$)' model: 'Mate SE' - regex: '(CAZ-(?:AL[01]0|TL[12]0)|CAN-L[01][1-3])(?:[);/ ]|$)' model: 'Nova' - regex: '(?:608HW|PRA-LX[23])(?:[);/ ]|$)' model: 'Nova Lite' - regex: 'MLA-L1[12](?:[);/ ]|$)' model: 'Nova Plus' - regex: 'nova Lite3Plus(?:[);/ ]|$)' model: 'Nova Lite 3+' - regex: '(?:PIC-(?:[AT]L00|LX9)|HWV31)(?:[);/ ]|$)' model: 'Nova 2' - regex: '704HW(?:[);/ ]|$)' model: 'Nova 2 Lite' - regex: 'BAC-(?:L0[13]|TL00)(?:[);/ ]|$)' model: 'Nova 2 Plus' - regex: 'BAC-(?:AL00|L2[12])(?:[);/ ]|$)' model: 'Nova 2 Plus Dual SIM' - regex: 'RNE-L[02]2(?:[);/ ]|$)' model: 'Nova 2I' - regex: 'HWI-[AT]L00(?:[);/ ]|$)' model: 'Nova 2S' - regex: 'PAR-(?:[AT]L00|LX[19]|LX1M|TL20)(?:[);/ ]|$)' model: 'Nova 3' - regex: 'ANE-AL00(?:[);/ ]|$)' model: 'Nova 3e' - regex: 'INE-(?:AL00|LX[12]r|LX[12]|TL00)(?:[);/ ]|$)' model: 'Nova 3i' - regex: 'VCE-(L22|[AT]L00)(?:[);/ ]|$)' model: 'Nova 4' - regex: 'MAR-AL00(?:[);/ ]|$)' model: 'Nova 4e' - regex: 'SEA-AL00(?:[);/ ]|$)' model: 'Nova 5' - regex: 'SEA-AL10(?:[);/ ]|$)' model: 'Nova 5 Pro' - regex: 'GLK-(?:[AT]L00|LX1U|LX[23])(?:[);/ ]|$)' model: 'Nova 5i' - regex: 'YAL-L61' model: 'Nova 5T' - regex: 'nova 5T Pro' model: 'Nova 5T Pro' - regex: 'SPN-TL00(?:[);/ ]|$)' model: 'Nova 5i Pro' - regex: '(?:WLZ-AN00|nova 6 5G)(?:[);/ ]|$)' model: 'Nova 6 5G' - regex: '(?:JNY-[AT]L10|nova 6SE)(?:[);/ ]|$)' model: 'Nova 6 SE' - regex: '(?:WLZ-AL10|nova 6)(?:[);/ ]|$)' model: 'Nova 6' - regex: '(?:JEF-(?:[AT]N00|[AT]N20|NX9)|nova 7 5G)(?:[);/ ]|$)' model: 'Nova 7 5G' - regex: '(?:JER-(?:[AT]N10|[AT]N20)|nova 7 Pro 5G)(?:[);/ ]|$)' model: 'Nova 7 Pro 5G' - regex: '(?:CDY-(?:[AT]N00|NX9B|[AT]N20)|CDL-AN50|CND-AN00|nova 7 SE 5G)(?:[);/ ]|$)' model: 'Nova 7 SE 5G' - regex: 'MAO-LX9' model: 'Nova 11i' - regex: 'GOA-AL80U' model: 'Nova 11 Ultra' - regex: 'GOA-(?:LX9|AL80)' model: 'Nova 11 Pro' - regex: 'FOA-(?:LX9|AL00)' model: 'Nova 11' - regex: 'FIN-AL60a?' model: 'Nova 12 Vitality Edition' - regex: 'BON-AL00' model: 'Nova 11 SE' - regex: 'ADA-AL00U' model: 'Nova 12 Ultra' - regex: 'CTR-L81' model: 'Nova 12i' - regex: 'ADA-AL00' model: 'Nova 12 Pro' - regex: 'BLK-AL00' model: 'Nova 12' - regex: '(?:JNY-LX2|nova 7i)(?:[);/ ]|$)' model: 'Nova 7i' - regex: '(?:NEN-L(?:X[13]|22)|nova 8i)(?:[);/ ]|$)' model: 'Nova 8i' - regex: 'ANG-AN00(?:[);/ ]|$)' model: 'Nova 8 5G' - regex: 'JSC-AN00' model: 'Nova 8 SE 5G' - regex: 'JSC-AL50|nova 8 SE' model: 'Nova 8 SE 4G' - regex: 'CHL-AL60' model: 'Nova 8 SE Vitality' - regex: 'BRQ-AL00(?:[);/ ]|$)' model: 'Nova 8 Pro 4G' - regex: 'BRQ-AN00(?:[);/ ]|$)' model: 'Nova 8 Pro 5G' - regex: '(?:ANG-LX[12]|Angela-(?:L2[12]B|L02B)|nova 8)(?:[);/ ]|$)' model: 'Nova 8' - regex: 'NAM-(?:AL00|LX9)(?:[);/ ]|$)' model: 'Nova 9' - regex: 'RTE-AL00(?:[);/ ]|$)' model: 'Nova 9 Pro' # 4G - regex: 'JLN-(?:AL00|LX[13])|JuliaQN-(?:L[02]1B|L23A)' model: 'Nova 9 SE' # 4G - regex: 'GLA-(?:LX[13]|AL00)' model: 'Nova 10 Pro' - regex: 'NCO-(?:AL00|LX[13])' model: 'Nova 10 4G' - regex: 'BNE-(?:LX[13]|AL00)' model: 'Nova 10 SE' - regex: 'CHA-AL80' model: 'Nova 10z' - regex: 'MAO-LX9N' model: 'Nova 11i' - regex: 'DIG-L01(?:[);/ ]|$)' model: 'Nova Smart' - regex: 'WAS-AL00(?:[);/ ]|$)' model: 'Nova Youth' - regex: 'WKG-[AT]N00|Enjoy 20 5G' model: 'Enjoy 20 5G' - regex: '(?:WKG-LX9|Wukong-L29A|nova Y60)(?:[);/ ]|$)' model: 'Nova Y60' - regex: 'EVE-LX[39]' model: 'Nova Y61' - regex: 'MGA-LX[39]' model: 'Nova Y70' - regex: 'CTR-LX[123]|CHW-LX3' model: 'Nova Y90' - regex: 'STG-LX[12]' model: 'Nova Y91' - regex: 'FIG-L(?:A1|X[123]|11)(?:[);/ ]|$)' model: 'P smart' - regex: 'POT-(?:LX(?:[123]|1T|2J|1AF)|AL00|L01)(?:[);/ ]|$)' model: 'P smart (2019)' - regex: 'POT-LX1A(?:[);/ ]|$)' model: 'P smart (2020)' - regex: 'PPA-LX[12](?:[);/ ]|$)' model: 'P smart (2021)' - regex: 'STK-LX1(?:[);/ ]|$)' model: 'P smart Z' - regex: 'P Smart S(?:[);/ ]|$)' model: 'P smart S' - regex: 'VTR-(?:L[02]9|AL00|TL00)(?:[);/ ]|$)' model: 'P10' - regex: 'WAS-(?:L(?:X1|X1A|X2|X2J|X3|03T)|TL10)(?:[);/ ]|$)' model: 'P10 Lite' - regex: 'VKY-(?:AL00|L09|L29)(?:[);/ ]|$)' model: 'P10 Plus' - regex: 'BAC-L[02]3(?:[);/ ]|$)' model: 'P10 Selfie' - regex: 'EML-(?:[TA]L00|L[02]9)(?:[);/ ]|$)' model: 'P20' - regex: '(?:ANE-(?:LX[123]|LX2J|L23|TL00)|HWV32)(?:[);/ ]|$)' model: 'P20 Lite' - regex: '(?:CLT-(?:AL0[01]|TL0[01]|L0J|L(?:04|[02]9))l?|HW-01K)(?:[);/ ]|$)' model: 'P20 Pro' - regex: '(ELE-L(?:04|09|29)|ELE-[AT]L00)(?:[);/ ]|$)' model: 'P30' - regex: '(?:MAR-(?:LX(?:1[BM]|2B|[13]Am?|2J?|3BM)|TL00|L21B|L21MEB)|NIC-LX1A|HWV33)(?:[);/ ]|$)' model: 'P30 Lite' - regex: '(?:VOG-(?:L(?:04|09|29)|TL00|AL10)|HW-02L)(?:[);/ ]|$)' model: 'P30 Pro' - regex: 'ANA-LX4(?:[);/ ]|$)' model: 'P40' - regex: 'JNY-(?:LX1|L[02]1)(?:[);/ ]|$)' model: 'P40 Lite' - regex: 'ART-L29(?:[);/ ]|$)' model: 'P40 Lite E' - regex: 'ART-L29N(?:[);/ ]|$)' model: 'P40 Lite E NFC' - regex: '(?:ELS-(?:[AT]N00|NX9|N04)|NEY-NX9)(?:[);/ ]|$)' model: 'P40 Pro' - regex: 'ELS-(?:AN10|N[23]9)(?:[);/ ]|$)' model: 'P40 Pro Plus' - regex: 'GRA-(?:L09|[TU]L00)(?:[);/ ]|$)' model: 'P8' - regex: 'HUAWEI P8max(?:[);/ ]|$)' model: 'P8 Max' - regex: 'GRA-UL10(?:[);/ ]|$)' model: 'P8 Premium' - regex: '(?:ALE-L(?:02|21|23)|ALE-[TUC]L00|503HW)(?:[);/ ]|$)' model: 'P8 Lite (2015)' - regex: '(?:PRA-L(?:A1|X[12])|hi6210sft)(?:[);/ ]|$)' model: 'P8 Lite (2017)' - regex: 'EVA-(?:AL[10]0|L[012]9|[TCD]L00)(?:[);/ ]|$)' model: 'P9' - regex: 'VNS-L(?:[23]1|[26]2|53|23)(?:[);/ ]|$)' model: 'P9 Lite' - regex: 'VNS-L52(?:[);/ ]|$)' model: 'P9 Lite Premium' - regex: 'SLA-L(?:02|03|22|23)(?:[);/ ]|$)' model: 'P9 Lite Mini' - regex: 'DIG-L(?:03|23)(?:[);/ ]|$)' model: 'P9 Lite Smart' - regex: 'VIE-(?:AL10|L[02]9)(?:[);/ ]|$)' model: 'P9 Plus' - regex: 'MLA-TL[01]0(?:[);/ ]|$)' model: 'G9 Plus' - regex: 'VNS-[AT]L00(?:[);/ ]|$)' model: 'G9 Lite' - regex: 'ATH-UL0[16](?:[);/ ]|$)' model: 'ShotX' - regex: 'U(8230|8661|8667)(?:[);/ ]|$)' model: 'U$1' - regex: 'ARS-([AT]L00|L22)(?:[);/ ]|$)' model: 'Y Max' - regex: 'CRO-(?:L[02]2|U00)(?:[);/ ]|$)' model: 'Y3 (2017)' - regex: 'CAG-L[02]2(?:[);/ ]|$)' model: 'Y3 (2018)' - regex: 'LUA-(U22|L2[12]|U03)(?:[);/ ]|$)' model: 'Y3II' - regex: 'MYA-(?:L(?:02|03|2[23])|U29)(?:[);/ ]|$)' model: 'Y5 (2017)' - regex: 'DRA-L(?:01|03|21|23|X3)(?:[);/ ]|$)' model: 'Y5 (2018)' - regex: 'AMN-LX[1239](?:[);/ ]|$)' model: 'Y5 (2019)' - regex: 'DRA-LX5(?:[);/ ]|$)' model: 'Y5 Lite' - regex: 'DRA-LX9(?:[);/ ]|$)' model: 'Y5p' - regex: 'CRO-L[02]3(?:[);/ ]|$)' model: 'Y5 Lite (2017)' - regex: 'CAG-L[02]3(?:[);/ ]|$)' model: 'Y5 Lite (2018)' - regex: 'DRA-(?:LX2|[AT]L00)(?:[);/ ]|$)' model: 'Y5 Prime (2018)' - regex: 'MYA-L13(?:[);/ ]|$)' model: 'Y5 Pro (2017)' - regex: 'CUN-(?:L(?:0[123]|2[123]|33)|U29)(?:[);/ ]|$)' model: 'Y5II' - regex: '(?:SCC-U21|SCL-U31)(?:[);/ ]|$)' model: 'Y6' - regex: 'MYA-L11(?:[);/ ]|$)' model: 'Y6 (2016)' - regex: 'MYA-(L41|AL10)(?:[);/ ]|$)' model: 'Y6 (2017)' - regex: 'ATU-L(?:11|21|22|X3)(?:[);/ ]|$)' model: 'Y6 (2018)' - regex: 'MRD-L(?:X1[NF]?|X3)(?:[);/ ]|$)' model: 'Y6 (2019)' - regex: 'ATU-L(?:31|42)(?:[);/ ]|$)' model: 'Y6 Prime (2018)' - regex: 'TIT-(?:AL00|L01|U02)(?:[);/ ]|$)' model: 'Y6 Pro' - regex: 'M[ER]D-LX2(?:[);/ ]|$)' model: 'Y6 Pro (2019)' - regex: 'Y625-U03(?:[);/ ]|$)' model: 'Y625' - regex: 'Y635-L0[123](?:[);/ ]|$)' model: 'Y635' - regex: 'Y635-L21(?:[);/ ]|$)' model: 'Y635 Dual SIM' - regex: 'CAM-L(?:03|21|23|32)(?:[);/ ]|$)' model: 'Y6II' - regex: 'TRT-LX[123](?:[);/ ]|$)' model: 'Y7 (2017)' - regex: 'LDN-L(?:01|X3)(?:[);/ ]|$)' model: 'Y7 (2018)' - regex: '(?:HUAWEI[ _]?)?DUB-(?:LX[13]|TL00)(?:[);/ ]|$)' model: 'Y7 (2019)' - regex: '(LDN-(?:AL00|L21)|TRT-TL10)(?:[);/ ]|$)' model: 'Y7 Prime' - regex: '(LDN-(?:LX2|TL10)|TRT-(?:L21A|L53))(?:[);/ ]|$)' model: 'Y7 Prime (2018)' - regex: 'DUB-(?:LX2|AL00)(?:[);/ ]|$)' model: 'Y7 Pro (2019)' - regex: 'DUB-AL00a(?:[);/ ]|$)' model: 'Enjoy 9' - regex: 'DUB-AL20(?:[);/ ]|$)' model: 'Y7 Pro (2019)' - regex: '(?:PPA-LX3|Peppa-(?:L2[23]B|L0[23]B))(?:[);/ ]|$)' model: 'Y7a' - regex: 'ART-L28(?:[);/ ]|$)' model: 'Y7p' - regex: 'AQM-LX1(?:[);/ ]|$)' model: 'Y8p' - regex: 'FLA-(LX[123]|AL20|TL10|L23)(?:[);/ ]|$)' model: 'Y9 (2018)' - regex: 'JKM-(?:[TA]L00[ab]?|LX[123]|L03)(?:[);/ ]|$)' model: 'Y9 (2019)' - regex: 'STK-(L2[12]|LX3)|LTK-LX3' model: 'Y9 Prime (2019)' - regex: 'FRL-L2[123](?:[);/ ]|$)' model: 'Y9a' - regex: '302HW(?:[);/ ]|$)' model: 'Stream S' - regex: 'NMO-L31(?:[);/ ]|$)' model: 'GT3' - regex: 'CM990(?:[);/ ]|$)' model: 'Evolucion 3' - regex: 'Ultym5(?:[);/ ]|$)' model: 'Ultym 5' - regex: 'G6-L11(?:[);/ ]|$)' model: 'Ascend G6' - regex: 'Nexus 6P(?:[);/ ]|$)' device: 'phablet' model: 'Nexus 6P' - regex: 'GDI-W09' model: 'Honor MagicPad 13 WiFi' device: 'tablet' - regex: 'HWT31(?:[);/ ]|$)' model: 'Qua Tab 02 10.1"' device: 'tablet' - regex: 'HDN-[LW]09(?:[);/ ]|$)' model: 'Honor Water Play 10.1' device: 'tablet' - regex: 'BAH4-(?:L09|AL10)' model: 'MatePad 10.4" (2022)' device: 'tablet' - regex: 'BAH4-W(?:29|[03]9)' model: 'MatePad 10.4" (2022) WiFi' device: 'tablet' - regex: 'BAH3-(?:AL00|[LW]09)(?:[);/ ]|$)' model: 'MatePad 10.4"' device: 'tablet' - regex: 'BAH3-W59(?:[);/ ]|$)' model: 'MatePad 10.4" WiFi' device: 'tablet' - regex: 'BAH3-AN10(?:[);/ ]|$)' model: 'MatePad 10.4" 5G' device: 'tablet' - regex: 'DB[YR]-W09(?:[);/ ]|$)' device: 'tablet' model: 'MatePad 11 WiFi' - regex: 'DBR-W1[09]' model: 'MatePad 11 (2023) WiFi' device: 'tablet' - regex: 'GOT-AL[01]9(?:[);/ ]|$)' model: 'MatePad Pro 11' device: 'tablet' - regex: 'GOT-W[02]9(?:[);/ ]|$)' model: 'MatePad Pro 11 WiFi' device: 'tablet' - regex: 'SCMR-W09(?:[);/ ]|$)' model: 'MatePad 10.8" WiFi' device: 'tablet' - regex: 'SCMR-AL09(?:[);/ ]|$)' model: 'MatePad 10.8"' device: 'tablet' - regex: 'AGS3-(L09|AL00)(?:[);/ ]|$)' model: 'MatePad T10s' device: 'tablet' - regex: 'AGS3-W0?9(?:[);/ ]|$)' model: 'MatePad T10s WiFi' device: 'tablet' - regex: 'AGS5-L09(?:[);/ ]|$)' model: 'MatePad 10.4" SE' device: 'tablet' - regex: 'DBY2-W0[09]' model: 'MatePad 11.5" Air WiFi' device: 'tablet' - regex: 'DBY2-L09' model: 'MatePad 11.5" Air' device: 'tablet' - regex: 'BTK-AL09' model: 'MatePad 11.5" LTE' device: 'tablet' - regex: 'BTK-W09' model: 'MatePad 11.5" WiFi' device: 'tablet' - regex: 'TGR-W09' model: 'MatePad 11.5" S WiFi' device: 'tablet' - regex: 'AGS5-W0[09](?:[);/ ]|$)' model: 'MatePad 10.4" SE WiFi' device: 'tablet' - regex: 'HMW-W09(?:[);/ ]|$)' model: 'MatePad Paper 10.3" WiFi' device: 'tablet' - regex: 'HDL-(?:W09|AL09)(?:[);/ ]|$)' model: 'Honor Water Play 8.0' device: 'tablet' - regex: 'JDN-(?:AL00|W09)(?:[);/ ]|$)' model: 'Honor Pad 2' device: 'tablet' - regex: 'ROD-W09' model: 'Honor Pad V8 Pro 12.1" WiFi' device: 'tablet' - regex: 'KRJ2-W09' model: 'Honor Pad V7 10.4" WiFi' device: 'tablet' - regex: 'KRJ2-AN00' model: 'Honor Pad V7 10.4" 5G' device: 'tablet' - regex: 'BRT-W09' model: 'Honor Pad V7 Pro 11" WiFi' device: 'tablet' - regex: 'BRT-AN09' model: 'Honor Pad V7 Pro 11" 5G' device: 'tablet' - regex: 'KRJ-AN00|Honor V6 5G' model: 'Honor Pad V6 10.4" 5G' device: 'tablet' - regex: 'KJR-W09|KRJ-W09|Honor V6 Wi-Fi' model: 'Honor Pad V6 10.4" WiFi' device: 'tablet' - regex: 'KOB2-W09HN' device: 'tablet' model: 'Honor Pad X7 8" WiFi' - regex: 'KOB2K-L09' device: 'tablet' model: 'MatePad T8 8" LTE' - regex: 'KOB2-AL00HN' device: 'tablet' model: 'Honor Pad X7 8" LTE' - regex: 'AGR-W09HN' device: 'tablet' model: 'Honor Pad X6' - regex: 'AGM-W09HN' device: 'tablet' model: 'Honor Pad X8 Lite WiFi' - regex: 'AGR-AL09HN' device: 'tablet' model: 'Honor Pad X6 9.7"' - regex: 'ELN-W09' device: 'tablet' model: 'Honor Pad X9 11.5" WiFi' - regex: 'ELN-L0[39]' device: 'tablet' model: 'Honor Pad X9 11.5" LTE' - regex: 'AGS3-AL09HN(?:[);/ ]|$)' device: 'tablet' model: 'Honor Pad 6 10.1"' - regex: 'AGS3-W09HN(?:[);/ ]|$)' device: 'tablet' model: 'Honor Pad 6 10.1" WiFi' - regex: 'HEY-W09(?:[);/ ]|$)' device: 'tablet' model: 'Honor Pad 8 12.0" WiFi' - regex: 'HEY2-W09(?:[);/ ]|$)' device: 'tablet' model: 'Honor Pad 9 12.1" WiFi' - regex: 'HEY2-N09(?:[);/ ]|$)' device: 'tablet' model: 'Honor Pad 9 12.1" 5G' - regex: 'MON-(W|AL)19(?:[);/ ]|$)' device: 'tablet' model: 'MatePad C5 8' - regex: 'BZA-W00(?:[);/ ]|$)' device: 'tablet' model: 'C3 9.6" WiFi' - regex: 'BZA-L00(?:[);/ ]|$)' device: 'tablet' model: 'C3 9.6"' - regex: 'BZC-AL00(?:[);/ ]|$)' device: 'tablet' model: 'C3 9.7" (2020)' - regex: 'BZC-W00(?:[);/ ]|$)' device: 'tablet' model: 'C3 9.7" (2020) WiFi' - regex: 'BZW-AL[01]0(?:[);/ ]|$)' device: 'tablet' model: 'C5 8" LTE' - regex: 'BZT4-W19(?:[);/ ]|$)' device: 'tablet' model: 'C5 10.4" WiFi' - regex: 'M2-80[123]L(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M2 8.0"' - regex: 'M2-A01L(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M2 10.1"' - regex: 'M2-801W(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M2 8.0" WiFi' - regex: 'MRX-AL[01]9(?:[);/ ]|$)' device: 'tablet' model: 'MatePad Pro 10.8"' - regex: 'MRX-W[0-3]9(?:[);/ ]|$)' device: 'tablet' model: 'MatePad Pro 10.8" WiFi' - regex: 'MRR-W[23]9(?:[);/ ]|$)' device: 'tablet' model: 'MatePad Pro 10.8" (2021) WiFi' - regex: 'MRX-AN19(?:[);/ ]|$)' device: 'tablet' model: 'MatePad Pro 10.8" 5G' - regex: 'WGRR?-W[10]9(?:[);/ ]|$)' device: 'tablet' model: 'MatePad Pro 12.6" WiFi' - regex: 'WGR-AN19(?:[);/ ]|$)' device: 'tablet' model: 'MatePad Pro 12.6"' - regex: 'PCE-W(?:29|[34]0)' device: 'tablet' model: 'MatePad Pro 13.2" WiFi' - regex: 'CMR-(?:AL[01]9|W09)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M5 10.8' - regex: 'CMR-W19(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M5 Pro 10.8' - regex: 'SCM-AL09(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M6 10.8"' - regex: 'GEM-70[1-3]L(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad X2' - regex: '(?:JDN2-(:?[WL]09|AL[50]0|AL50HN)|BAH2-(?:AL[01]0|L09|W[01]9))(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M5 Lite' #8.4 - regex: 'SHT-(?:AL|W)09(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M5 8.4' - regex: 'VRD-(?:(AL|W)09|AL10|W10)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M6 8.4' - regex: 'SCM-W09(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M6 10.8" WiFi' - regex: 'BTV-W09(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M3 8' - regex: '(BAH-W09|CPN-(?:L|W)09|CPN-AL00|701HW)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M3 Lite' - regex: 'BAH-(?:L09|AL00)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad M3 Lite 10' - regex: 'BTV-DL09' device: 'tablet' model: 'MediaPad M3' - regex: '(AGS2-AL00|JDN2-(?:AL00|W09))HN(?:[);/ ]|$)' device: 'tablet' model: 'Honor Tab 5' - regex: 'AGM3-W09HN' device: 'tablet' model: 'Honor Pad 7 10.1" WiFi' - regex: 'AGM3-AL09HN' device: 'tablet' model: 'Honor Pad 7 10.1"' - regex: 'AGS2-(?:[LW]09|W09HN|W19|L03)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T5 10' - regex: '(?:KOB2-(?:[LW]09|L03)|Kobe3-L09)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T 8.0"' - regex: 'AGR-[LW]09(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T 10' - regex: 'AGS-(?:L0[39]|W09)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T3 10' - regex: '(KOB-(?:L|W)09|BZK-[LW]00)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T3 8' - regex: 'BG2-(?:U0[13]|W09)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T3 7' - regex: 'BGO-L03(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T2 7.0' - regex: '(?:BGO-DL09|PLE-70[13]L)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T2 7.0 Pro' - regex: 'JDN-L01(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T2 8.0 Pro' - regex: '(?:FDR-(A01[LW]|A03L)|60[56]HW)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T2 10.0" Pro' - regex: '(?:T1-(?:A21[LW]|A2[23]L)|MediaPad T1 10 4G)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T1 10' - regex: 'T1-701u(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T1 7' - regex: '(?:T1-82(?:3L|1W)|MediaPad T1 8\.0)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T1 8' - regex: 'AGS3K-W20' device: 'tablet' model: 'MediaPad SE 10.1" WiFi' - regex: 'AGS3K-W0[90]' device: 'tablet' model: 'MediaPad T10s 10.1" WiFi' - regex: 'AGS3K-L09' device: 'tablet' model: 'MediaPad T10s 10.1" LTE' - regex: 'AGRK-W09' device: 'tablet' model: 'MediaPad T10 9.7" WiFi' - regex: 'AGRK-L09' device: 'tablet' model: 'MediaPad T10 9.7" LTE' - regex: 'AGS2-AL00(?:[);/ ]|$)' device: 'tablet' model: 'Enjoy Tablet 10.1' - regex: 'AGS3-W00[DE](?:[);/ ]|$)' device: 'tablet' model: 'Enjoy Tablet 2 10.1" WiFi' - regex: 'BZT-(?:AL[01]0)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad C5 10.1' - regex: 'BZT-W09(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad C5 10.1" WiFi' - regex: 'MON-AL19B' device: 'tablet' model: 'MediaPad C5 8"' - regex: 'BZI-AL00' model: 'C5e 10.1"' device: 'tablet' - regex: 'BZI-W00' model: 'C5e 10.1" WiFi' device: 'tablet' - regex: 'BZT3-W09' model: 'C5 10.4" WiFi' device: 'tablet' - regex: 'BZT3-AL00' model: 'C5 10.4"' device: 'tablet' - regex: 'BZD-W00' device: 'tablet' model: 'MediaPad C3 8.0" WiFi' - regex: 'BZD-AL00' device: 'tablet' model: 'MediaPad C3 8.0"' - regex: '(?:d-01J|d-02[HK])(?:[);/ ]|$)' device: 'tablet' model: 'D Tab Compact' - regex: '(?:dtab)?(d-01[KH]|01)(?:[);/ ]|$)' device: 'tablet' model: 'dtab $1' # smart watch regex - regex: 'LEO-BX9(?:[);/ ]|$)' device: 'wearable' model: 'Smart Watch 2' - regex: 'LEO-DLXXE?(?:[);/ ]|$)' device: 'wearable' model: 'Smart Watch 2 Sport' - regex: 'GLL-AL01' device: 'wearable' model: 'Watch 3 Pro Elite' - regex: 'ARC-AL00' device: 'wearable' model: 'Watch 4' # smart display regex - regex: 'BLM-00(?:[);/ ]|$)' device: 'smart display' model: 'BLM-00 SmartScreen' # tv regex - regex: 'EC6108V(8|9)' device: 'tv' model: 'EC6108V$1' - regex: 'KANT-369' device: 'tv' model: 'Vision S 65"' - regex: 'KANT-359' device: 'tv' model: 'Vision S 55"' - regex: 'KANT-350[BC]' device: 'tv' model: 'Smart Screen S 55"' - regex: 'KANT-350S' device: 'tv' model: 'Smart Screen S Pro 55"' - regex: 'KANT-360S' device: 'tv' model: 'Smart Screen S Pro 65"' - regex: 'KANT-360' device: 'tv' model: 'Smart Screen S 65"' - regex: 'KANT-370S' device: 'tv' model: 'Smart Screen S Pro 75"' - regex: 'KANT-370' device: 'tv' model: 'Smart Screen S 75"' # common regex - regex: '(MediaPad[^/;]*) Build' device: 'tablet' model: '$1' - regex: 'Ideos([^;/]*) Build' model: 'Ideos$1' - regex: '(?:HUAWEI )?MT([0-9]+)' device: 'phablet' model: 'Ascend Mate $1' - regex: 'Huawei[ _\-]?([^/;]*) Build' model: '$1' - regex: '(?:HW-)?Huawei(?!Browser)(?:/1\.0/0?(?:Huawei))?[_\- /]?([a-z0-9\-_]+)' model: '$1' - regex: 'Huawei; ([a-z0-9 \-]+)' model: '$1' # Hyundai Hyundai: regex: 'Hyundai|(?:Ultra (?:Active|Air|Charm|Dream|Energy|Latitude|Link|Live|Shadow|Shine|Storm|Style|Sync|Trend|Vision|Wave)|Ultra_Vision_Plus|(?:Android 9(?:[\d.]*);(?: [\w-]+;)? [EL]553)|E435 Plus|E503F|E601F|L503F Plus|L604|L622|L601F|E(?:475|504|603)|G(?:24027|2552[34])K|W25042L|HP554O|Seoul (ECO|S8|MIX|5 Plus|9)|HT0701L16|HT0703K16|HT0704K08|HT100(?:4LI?16|2W32|3X16|2W16)|Koral_8W2|HT0701W16|Eternity[_ ](?:G25|H6[578])|HYMI 5S Plus|7GB1|7WD1|10LA1|10LB1|10WB[12]|E465GO|H-LED(?:55[BG]U7003|50FU7001|50[BG]U7003|50EU1311|55EU1311|65[BG]U7003|65EU1311|75BU7005|24BS5000|40GS5003|40FS500[13]|42FS500[13]|43FS500[13]|43EU1312|32FS500[135]|32GS5003|(?:32|40)BS5003|43[BG]U7003)(?:-[PC])?|H-DMP10[03]|HT070[34]W08|Koral 7W4)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Ultra[_ ]Vision[_ ]Plus' model: 'Ultra Vision Plus' - regex: 'Ultra (Active|Air|Charm|Dream|Energy Lite|Energy Plus|Energy|Latitude|Link|Live II|Live|Shadow|Shine|Storm|Style|Sync|Trend|Vision|Wave)' model: 'Ultra $1' - regex: 'Seoul S8' model: 'Seoul S8' - regex: 'Seoul MIX' model: 'Seoul Mix' - regex: 'Seoul ECO' model: 'Seoul Eco' - regex: 'Seoul 5 Plus' model: 'Seoul 5 Plus' - regex: 'Seoul (\d+)' model: 'Seoul $1' - regex: 'G25523K' model: 'Eternity G23' - regex: 'Eternity[_ ](G25|H6[578])' model: 'Eternity $1' - regex: 'G25524K' model: 'Eternity G24' - regex: 'G24027K' model: 'Eternity G27' - regex: 'W25042L' model: 'Eternity W42' - regex: 'HP554O' model: 'HP554O' - regex: 'L503F Plus' model: 'L503F Plus' - regex: 'HYMI 5S Plus' model: 'Hymi 5S Plus' - regex: 'E465GO' model: 'E465 Go' - regex: 'ULTRA ROCK' model: 'Ultra Rock' - regex: 'E(475|504|503F|553|603|601F)(?:[);/ ]|$)' model: 'E$1' - regex: 'L(553|601F|604|622)(?:[);/ ]|$)' model: 'L$1' - regex: '(?:Hyundai[_ ])?(Eternity[_ ](?:G57L?|G[56]0W?)|H7|Aero Plus|E435 Plus)' model: '$1' - regex: '(H-LED\w+)(?:-[PC])(?:[);/ ]|$)' device: 'tv' model: '$1' - regex: '(H-LED\w+|H-DMP10[03]|2K TV)(?:[);/ ]|$)' device: 'tv' model: '$1' # explicit tables models - regex: 'HT0704W08|Koral 7W4' model: 'Koral 7W4' device: 'tablet' - regex: 'HT0701L16' model: 'Koral 7XL' device: 'tablet' - regex: 'HT0701W16' model: 'Koral 7W4X' device: 'tablet' - regex: 'HT0703W08' model: 'Koral 7W3' device: 'tablet' - regex: '10LB1' model: 'Koral 10LB1' device: 'tablet' - regex: 'HT1004LI16' model: 'Koral 10XL' device: 'tablet' - regex: 'Koral_8W2' model: 'Koral 8W2' device: 'tablet' - regex: 'HT1004L16' model: 'Koral 10XL' device: 'tablet' - regex: 'HT1003X16' model: 'Koral 10X' device: 'tablet' - regex: 'HT1002W16' model: 'Koral 10W' device: 'tablet' - regex: 'HT0703K16' model: 'Koral 7M3X' device: 'tablet' - regex: 'HT0704K08' model: 'Koral 7M4' device: 'tablet' - regex: '10WB1' model: 'Koral 10WB1' device: 'tablet' - regex: '10WB2' model: 'HyTab Plus 10WB2' device: 'tablet' - regex: '10LA1' model: 'HyTab Pro 10LA1' device: 'tablet' - regex: 'HT1002W32' model: 'Koral 10X3 WiFi' device: 'tablet' - regex: '7GB1(?:[);/ ]|$)' model: 'HyTab 7GB1' device: 'tablet' - regex: '7WD1(?:[);/ ]|$)' model: 'HyTab Lite 7WD1' device: 'tablet' - regex: 'Hyundai ([^;/]+) Build' model: '$1' device: 'tablet' - regex: 'Hyundai[ _\-]?([a-z0-9_-]+)' model: '$1' device: 'tablet' # i-Joy i-Joy: regex: 'i-Joy|i-Call|(?:Neon[79]|Sygnus|Deox|Elektra (?:M|L|XL|XXL))(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: 'Elektra M(?:[);/ ]|$)' model: 'Elektra M' - regex: 'Elektra L(?:[);/ ]|$)' model: 'Elektra L' - regex: 'Elektra XL(?:[);/ ]|$)' model: 'Elektra XL' - regex: 'Elektra XXL(?:[);/ ]|$)' model: 'Elektra XXL' device: 'phablet' # explicit tablet models - regex: 'Neon([79])(?:[);/ ]|$)' model: 'Neon $1' device: 'tablet' - regex: 'Sygnus(?:[);/ ]|$)' model: 'Sygnus' device: 'tablet' - regex: 'Deox(?:[);/ ]|$)' model: 'Deox' device: 'tablet' - regex: 'i-Call ([^;/]+) Build' model: 'i-Call $1' - regex: 'i-Joy ([^;/]+) Build' model: '$1' # iBall (iball.co.in) iBall: regex: 'iBall[ _]([^;/)]+)[ _]Build|iBall[_ ]Slide|(?:Snap[_ ]4G2|3G 1026-Q18|6351-Q400i|iT-KSA0003|iT-KSA0012|iT-KSA0066|Avid|Twinkle_i5|Gorgeo[_ ]4GL|Brisk 4G2|Slide[_ ](?:Dazzle[_ ]3500|Skye_03)|Blaze_V4|Wondro 10|Q27 4G|Andi (?:Wink|5G Blink) 4G|Co-Mate|Nova_4G|Brace-X1|DD-1GB|Elan 4G2|Spirit_X2|Cuddle A4)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Andi Wink 4G' device: 'smartphone' model: 'Andi Wink 4G' - regex: 'Andi 5G Blink 4G' device: 'smartphone' model: 'Andi 5G Blink 4G' - regex: '(Snap[_ ]4G2|Avid|Twinkle_i5|Gorgeo[_ ]4GL|Blaze_V4|Wondro 10|Q27 4G|Brisk 4G2|Co-Mate|Nova_4G|Elan 4G2)(?:[);/ ]|$)' model: '$1' - regex: '6351-Q400i(?:[);/ ]|$)' model: 'Slide' - regex: 'DD-1GB(?:[);/ ]|$)' model: 'Slide DD-1GB' - regex: 'Cuddle A4' model: 'Slide Cuddle A4' - regex: 'Slide[_ ]Dazzle[_ ]3500(?:[);/ ]|$)' model: 'Slide Dazzle 3500' - regex: '1026-Q18(?:[);/ ]|$)' model: 'Slide 3G' - regex: 'Spirit_X2' model: 'Spirit X2' - regex: 'Slide_Skye_03' model: 'Slide Skye 03' - regex: 'Brace-X1(?:[);/ ]|$)' model: 'Brace X1' - regex: 'iT-KSA0003(?:[);/ ]|$)' model: 'iTAB BizniZ' - regex: 'iT-KSA0066(?:[);/ ]|$)' model: 'iTAB BizniZ Mini' - regex: 'iT-KSA0012(?:[);/ ]|$)' model: 'iTAB Moviez Pro' - regex: 'iBall[ _]([^;/)]+)(?:[ _]Build|[;)])' model: '$1' # iRola iRola: regex: 'iRola ([^/;]+) Build|(DX758|DX752|DX752|DX758[ _]?Pro) Build' device: 'tablet' models: - regex: 'DX758[ _]?Pro' model: 'DX758 Pro' - regex: '(DX758|DX752)' model: '$1' - regex: 'iRola ([^/;]+) Build' model: '$1' # iRulu iRulu: regex: 'iRULU[ _-](X11|V[34]|U2|AL101)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'iRULU[ _-](X11|V[34]|AL101)(?:[);/ ]|$)' model: '$1' - regex: 'iRULU[ _](U2)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Irbis (irbis-digital.ru) Irbis: regex: 'IRBIS|TZ(1(?:0[04]|42|5[01]|84|65|7[01345-89]|8[356]|9[12578])|200|49|55|72|22|7(?:0[127]|1[1-46789]|2[021567]|3[025-8]|4[257]|5[23457]|6[12]|72|7[137]|8[1]|9[147])|8(?:[34]1|32|5[3-8]|6[2-5]|7[12478]|8[1-5]|9[0127])|96[0-9])|TZ199|TZ85|TZ13|TZ(?:one|art|HIT|81L)|(SP(?:0[56]|2[01]|4[1-36]|40[12]|45[345]|49[34]|50|51[0147]|531|54[12]|55[0124]|571)|\d{2}[FYHU]1YDX000F?BS2|65U001BS2)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(TZ(?:[0-9]+)|TZ(?:one|art|HIT|81L))(?:[);/ ]|$)' model: '$1' - regex: '(SP[0-9]+)(?:[);/ ]|$)' device: 'smartphone' model: '$1' - regex: '(\d{2}[FYHU]1YDX000F?BS2|65U001BS2)' device: 'tv' model: '$1' iBerry: regex: 'AUXUS ([^/;]+) Build' device: 'smartphone' models: - regex: 'AUXUS (Core[^/;]+) Build' device: 'tablet' model: '$1' - regex: 'AUXUS ([^/;]+) Build' model: '$1' # iHome Life (http://www.ihomebox.com/) iHome Life: regex: 'HLQ MAX(?:[);/ ]|$)' device: 'tv' model: 'HLQ MAX' # iHunt iHunt: regex: 'iHunt|One_ Love_|TIT?AN[_ ]P\d+|Like_(3|4U|3_Pro)|X300 Elite|S10_Tank_2019|S10 Tank PRO 2020|S60 Discovery Plus|S60_Discovery_2019|AlienXLite2020|Alien X (?:Lite|Pro)|Alien_X|(?:Titan ?P6000|S[23]0 Ultra ApeX 2021|S21 Ultra 4G 2021|P11000 Pro|Strong Tablet P15000 Pro|Like 11 Panda Pro|Like_Hi10_2021|Like Hi5|S21 Plus 2021|Like_[78]|Cyber DOG 4G|S10 Tank 2020|(?:S100|S90_)Apex|Tablet PC 10 PRO)(?:_EEA)?(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Strong Tablet (P15000|X) Pro' device: 'tablet' model: 'Strong Tablet $1 Pro' - regex: 'Tablet PC 10 PRO' device: 'tablet' model: 'Tablet PC 10 Pro' - regex: 'Cyber DOG 4G' model: 'Cyber Dog 4G' - regex: 'Like_Hi10_2021' model: 'Like Hi10 (2021)' - regex: 'S10[_ ]Tank[_ ]20(19|20)' model: 'S10 Tank (20$1)' - regex: 'S10 Tank PRO 2020' model: 'S10 Tank Pro (2020)' - regex: 'One_ Love_' model: 'One Love' - regex: 'Tian[ _]P3000' model: 'Tian P3000' - regex: 'TITAN_P11000_PRO|P11000 Pro' model: 'Titan P11000 Pro' - regex: 'TITAN P15000 PRO 5G' model: 'Titan P15000 Pro 5G' - regex: 'TITAN P4000 Pro 2021' model: 'Titan P4000 Pro (2021)' - regex: 'Titan P8000 PRO 2021' model: 'Titan P8000 Pro (2021)' - regex: 'Titan_P6000_PRO' model: 'Titan P6000 Pro' - regex: 'Titan ?P6000' model: 'Titan P6000' - regex: 'Like_3_Pro' model: 'Like 3 Pro' - regex: 'Like 12 PRO' model: 'Like 12 Pro' - regex: 'Like Hi5' model: 'Like Hi5' - regex: 'Like_([378])' model: 'Like $1' - regex: 'Like_4U' model: 'Like 4U' - regex: 'iHunt_Like' model: 'Like' - regex: 'X300 Elite' model: 'X300 Elite' - regex: 'S60_Discovery_2019' model: 'S60 Discovery (2019)' - regex: 'S60 Discovery Plus' model: 'S60 Discovery Plus' - regex: 'S60 Discovery Pro 2022' model: 'S60 Discovery Pro (2022)' - regex: 'AlienXLite2020' model: 'Alien X Lite (2020)' - regex: 'Alien X Lite PRO' model: 'Alien X Lite Pro' - regex: 'Alien X Lite' model: 'Alien X Lite' - regex: 'Alien X Pro 2021' model: 'Alien X Pro (2021)' - regex: 'Alien_X_ApeX_2020' model: 'Alien X ApeX (2020)' - regex: 'Alien_X_ApeX' model: 'Alien X ApeX' - regex: 'S(90|100)_?Apex' model: 'S$1 ApeX' - regex: 'Alien_X' model: 'Alien X' - regex: 'S21 Plus 2021' model: 'S21 Plus (2021)' - regex: 'S([23]0) Ultra ApeX 2021' model: 'S$1 Ultra ApeX (2021)' - regex: 'S21 Ultra 4G 2021' model: 'S21 Ultra 4G (2021)' - regex: 'S(2[234]) ULTRA' model: 'S$1 Ultra' - regex: '(?:iHunt_)?S(2[234])[ _]PLUS' model: 'S$1 Plus' - regex: 'Like 11 Panda Pro 2022' model: 'Like 11 Panda Pro (2022)' - regex: 'iHunt ([^;)/]+)(?: Build|[;)])' model: '$1' # IconBIT IconBIT: regex: 'IconBIT|NT-(3506M|1501C|0704S|0909T|1009T|10[01]1T|1017T|3601P/3602P|3603P|3702S|3805C|3905T|3701S|0701S|0805C|0902S|370[23]M)|XDS[789]4K|Omnicast UHD|Movie Smart 4K|Movie IPTV Quad|TOUCAN (?:Smart 3D Quad|(?:NANO|Stick) 4K)|NetTAB_Space_3G' device: 'tablet' models: - regex: 'NT-3506M' device: 'smartphone' model: 'NetTAB Mercury Quad FHD' - regex: 'NT-0704S' model: 'NetTAB Sky LE' - regex: 'NT-0909T' model: 'NetTAB Thor IZ' - regex: 'NT-1009T' model: 'NetTAB Thor quad II' - regex: 'NT-10[01]1T' model: 'NetTAB Thor LE' - regex: 'NT-1017T' model: 'NetTAB Thor 3G quad' - regex: 'NT-3601P/3602P' model: 'NetTAB Pocket 3G' - regex: 'NT-3603P' model: 'NetTAB Pocket 3G Slim' - regex: 'NT-3702S' model: 'NetTAB Sky HD 3G' - regex: 'NT-3805C' model: 'NetTAB Skat 3G quad' - regex: 'NT-3701S' model: 'NetTAB Sky 3G duo' - regex: 'NT-3905T' model: 'NetTAB Thor ZX 3G' - regex: 'NT-0701S' model: 'NetTAB Sky net' - regex: 'NT-0805C' model: 'NetTAB Skat MX' - regex: 'NT-0902S' model: 'NetTAB Space quad RX' - regex: 'NetTAB_Space_3G' model: 'NetTAB Space 3G' - regex: 'NT-3702M' model: 'NetTAB Matrix 3G duo' - regex: 'NT-3703M' model: 'NetTAB Matrix 3GT' - regex: 'MATRIX ULTRA' model: 'NetTAB Matrix Ultra' - regex: 'NT-1501C' model: 'Callisto 100' device: 'wearable' - regex: 'TOUCAN NANO 4K' model: 'Toucan Nano 4K' device: 'tv' - regex: 'TOUCAN Smart 3D Quad' model: 'Toucan Smart 3D Quad' device: 'tv' - regex: 'TOUCAN Stick 4K' model: 'Toucan Stick 4K' device: 'tv' - regex: '(?:iconBIT )?(Movie (?:Smart 4K|UNO|Play|IPTV Quad|Ultra HD 4K)|XDS[789]4K|XLR3090|Omnicast UHD|Stick|XDS1[01]00?|Movie [XZ])' model: '$1' device: 'tv' # LYF LYF: regex: '(LYF[ _])?LS-[456][0-9]{3}|LYF/[^/]+/' device: 'smartphone' models: - regex: 'LS-4004' model: 'Flame 2' - regex: 'LS-5501' model: 'Earth 1' - regex: 'LS-5021' model: 'Earth 2' - regex: 'LS-5505' model: 'Water F1' - regex: 'LS-4503' model: 'Flame LS-4503' - regex: 'LS-4001' model: 'Flame 3' - regex: 'LS-4003' model: 'Flame 4' - regex: 'LS-4002' model: 'Flame 5' - regex: 'LS-4005' model: 'Flame 6' - regex: '(LYF[ _])?LS-4006' model: 'Flame 7' - regex: 'LS-4008' model: 'Flame 7S' - regex: 'LS-450[58]' model: 'Flame 8' - regex: 'LS-5002' model: 'Water 1' - regex: 'LS-5005' model: 'Water 4' - regex: 'LS-5006' model: 'Water 6' - regex: 'LS-5008' model: 'Water 2' - regex: 'LS-5009' model: 'Wind 6' - regex: 'LS-5013' model: 'Wind 5' - regex: 'LS-5014' model: 'Wind 4' - regex: 'LS-5010' model: 'Wind 1' - regex: 'LS-5015' model: 'Water 8' - regex: 'LS-5016' model: 'Wind 7' - regex: 'LS-5504' model: 'Water 7' - regex: 'LS-5507' model: 'Water 7S' - regex: 'LS-5017' model: 'Water 11' - regex: 'LS-5018' model: 'Wind 4S' - regex: 'LS-5020' model: 'Water 10' - regex: 'LS-5201' model: 'Water F1S' - regex: 'LS-5502' model: 'Wind 3' - regex: 'LS-5503' model: 'Water 3' - regex: 'LS-5506' model: 'Water 9' - regex: 'LS-6001' model: 'Wind 2' - regex: 'LYF/([^/]+)/' model: '$1' # Lumus Lumus: regex: '(?:NEO(SR620|SC600)|INNOSR545|Lumus[_ ]Ion|AEONSR570)(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: 'NEO(SR620|SC600)(?:[);/ ]|$)' model: 'Neo $1' - regex: 'INNO(SR545)(?:[);/ ]|$)' model: 'INNO $1' - regex: 'Lumus[_ ]Ion(?:[);/ ]|$)' model: 'Ion' - regex: 'AEON(SR570)(?:[);/ ]|$)' model: 'AEON $1' # LW LW: regex: '(LW788)(?:[);/ ]|$)' device: 'tablet' model: '$1' # M4tel M4tel: regex: '(?:M4[ -]SS[0-9]{4}(?:-R)?|M4_B[23]|M4_R2|R2_Plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SS1050' model: 'Joy' - regex: 'SS1060' model: 'Live' - regex: 'SS1070' model: 'Sense' - regex: 'SS1080' model: 'Max One' - regex: 'SS1090' model: 'Max Ultra' - regex: 'SS4020' model: 'Play' - regex: 'SS4040' model: 'In Touch' - regex: 'SS4045' model: 'Style' - regex: 'SS4345' model: 'Soul Mini' - regex: 'SS4350' model: 'Soul' - regex: 'SS4445' model: 'Style Access' - regex: 'SS4450' model: 'Share' - regex: 'SS4451' model: 'Believe' - regex: 'SS4452' model: 'Dream' - regex: 'SS4453-R' model: 'R1 Feel' - regex: 'R2_Plus' model: 'R2 Plus' - regex: 'SS4453' model: 'Inspiration' - regex: 'SS4455' model: 'Excite' - regex: 'SS4456' model: 'Evolution' - regex: 'SS4457-R' model: 'Ever' - regex: 'SS4457' model: 'Elegance' - regex: 'SS4458-R|M4-SS4458-R' model: 'Feel Plus' - regex: 'SS4458' model: 'Attitude' - regex: 'M4_B([23])' model: 'B$1' - regex: 'M4_R(2)' model: 'R$1' # IMO Mobile or In My Opinion Mobile (imomobile.co.uk) IMO Mobile: regex: 'IMO[ _]\w' device: 'smartphone' models: - regex: 'IMO[ _]Q([23]) Plus(?:[);/ ]|$)' model: 'Q$1 Plus' - regex: 'IMO[ _]Q([4]) Pro(?:[);/ ]|$)' model: 'Q$1 Pro' - regex: 'IMO[ _]Q2(?:[);/ ]|$)' model: 'Q2' - regex: 'IMO[ _]S2(?:[);/ ]|$)' model: 'S2' - regex: 'IMO[ _]FEEL A2(?:[);/ ]|$)' model: 'Feel A2' - regex: 'IMO[ _]S50(?:[);/ ]|$)' model: 'S50 Light' - regex: 'IMO[ _]S80(?:[);/ ]|$)' model: 'S80 Hero' - regex: 'IMO[ _]S89(?:[);/ ]|$)' model: 'S89 Miracle' - regex: 'IMO[ _]S88(?:[);/ ]|$)' model: 'S88 Discovery' - regex: 'IMO[ _]S99(?:[);/ ]|$)' model: 'S99 Ocean' - regex: 'IMO[ _]S98(?:[);/ ]|$)' model: 'S98 Champion' - regex: 'IMO[ _]S87(?:[);/ ]|$)' model: 'S87 Raptor' - regex: 'IMO[ _]S67(?:[);/ ]|$)' model: 'S67 Blast' - regex: 'IMO[ _]S78(?:[);/ ]|$)' model: 'S78 Glory' - regex: 'IMO[ _]Q8(?:[);/ ]|$)' model: 'Q8 Clarity' - regex: 'IMO[ _]Discovery II(?:[);/ ]|$)' model: 'Discovery II' - regex: 'IMO[ _]Q(?:[);/ ]|$)' model: 'Q' - regex: 'IMO[ _]Q(5)(?:[);/ ]|$)' model: 'Q$1' - regex: 'IMO[ _](Y5|Z[67])(?:[);/ ]|$)' model: 'Tab $1' device: 'tablet' - regex: 'IMO TAB X9(?:[);/ ]|$)' model: 'Tab X9' device: 'tablet' # iLA or ILA Mobile (https://www.facebook.com/iLAPhone/) iLA: regex: '(?:iLA[-_ ](?:Silk|X2?|R1)|R1 Lite)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(R1) Lite(?:[);/ ]|$)' model: '$1 Lite' - regex: 'iLA[-_ ](Silk|X2?|R1)(?:[);/ ]|$)' model: '$1' # iNew iNew: regex: 'iNew|(?:V7A|V3 Plus|V3-?E|V3C|FIRE_Tab_6)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'V3C(?:[);/ ]|$)' model: 'V3C' - regex: 'V3-?E(?:[);/ ]|$)' model: 'V3-E' - regex: 'V3 Plus(?:[);/ ]|$)' model: 'V3 Plus' - regex: 'V7A(?:[);/ ]|$)' model: 'V7A' - regex: 'FIRE_Tab_6(?:[);/ ]|$)' device: 'tablet' model: 'Fire Tab 6' - regex: 'iNew[ -_]([^;/]+) Build' model: '$1' # iPro iPro: regex: '(?:IPRO_K2_3G|Kylin[ _]5\.[05]S?|KYLIN(?:40|50i)|Jade[78]s|Amber[678]S?|Amber[58]S[ _]Pro|Benny10|Phonenix50S|Ruby5S|Zafiro|I9355A|Opal 4S|Perla|S[45]01A|S200M|WAVE 4\.0 II|WAVE 5\.0|MEGA7|SAMBA65S|S501APlus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'IPRO_K2_3G' model: 'K2 3G' - regex: 'S501APlus' model: 'S501A Plus' - regex: 'Kylin_5\.0S' model: 'Kylin 5.0S' - regex: 'Kylin (5\.[05])' model: 'Kylin $1' - regex: 'Kylin50i' model: 'Kylin 50i' - regex: 'KYLIN40' model: 'Kylin 40' - regex: 'Opal 4S' model: 'Opal 4S' - regex: 'Jade([78])s' model: 'Jade $1s' - regex: 'Amber5S_Pro' model: 'Amber 5S Pro' - regex: 'Amber6' model: 'Amber 6' - regex: 'Amber7S' model: 'Amber 7S' - regex: 'Amber8s Pro' model: 'Amber 8S Pro' - regex: 'Amber8S' model: 'Amber 8S' - regex: 'Amber8' model: 'Amber 8' - regex: 'Benny10' model: 'Benny 10' - regex: 'Phonenix50S' model: 'Phonenix 50S' - regex: 'Ruby5S' model: 'Ruby 5S' - regex: 'SAMBA65S' model: 'Samba 65S' - regex: 'Zafiro' model: 'Zafiro' - regex: 'WAVE 4\.0 II' model: 'Wave 4.0 II' - regex: 'WAVE 5\.0' model: 'Wave 5.0' - regex: '(I9355A|S[45]01A|S200M|Perla)' model: '$1' - regex: 'MEGA7' device: 'tablet' model: 'Mega 7' # Infinix (infinixmobility.com) Infinix: regex: 'Infinix' device: 'smartphone' models: - regex: 'Infinix[ _-]X6739' model: 'GT 10 Pro' - regex: 'Infinix[ _-]X6871' model: 'GT 20 Pro' - regex: 'Infinix[ _-]X260' model: 'Buzz' - regex: 'Infinix[ _-]X502' model: 'Alpha Marvel' - regex: 'Infinix[ _-]X570' model: 'Alpha' - regex: 'Infinix[ _-]X350' model: 'Surf Smart' - regex: 'Infinix[ _-]X351' model: 'Surf Smart 3G' - regex: 'Infinix[ _-]X352' model: 'Surf Smart 2' - regex: 'Infinix[ _-]X403' model: 'Surf Spice' - regex: 'Infinix[ _-]X503' model: 'Surf Bravo' - regex: 'Infinix[ _-]X511' model: 'Surf Noir' - regex: 'Infinix[ _-]X400' model: 'Race' - regex: 'Infinix[ _-]X401' model: 'Race Lite' - regex: 'Infinix[ _-]X450' model: 'Race Bolt' - regex: 'Infinix[ _-]X451' model: 'Race Bolt Q' - regex: 'Infinix[ _-]X454' model: 'Race Bolt 2' - regex: 'Infinix[ _-]X500' model: 'Race Eagle' - regex: 'Infinix[ _-]X501' model: 'Race Jet' - regex: 'Infinix[ _-]X506' model: 'Zero' - regex: 'Infinix[ _-]X6731B' model: 'Zero 30' - regex: 'Infinix[ _-]X6731' model: 'Zero 30 5G' - regex: 'Infinix[ _-]X509' model: 'Zero 2' - regex: 'Infinix[ _-]X6821' model: 'Zero 20' - regex: 'Infinix[ _-](?:X552|Zero 3)' model: 'Zero 3' - regex: 'Infinix[ _-](?:X(?:574|602)|Zero 4 Plus)' model: 'Zero 4 Plus' - regex: 'Infinix[ _-](?:X555|Zero 4)' model: 'Zero 4' - regex: 'Infinix[ _-]X603' model: 'Zero 5' - regex: 'Infinix[ _-]X603B' model: 'Zero 5 Pro' - regex: 'Infinix[ _-]X620B' model: 'Zero 6' - regex: 'Infinix[ _-]X620' model: 'Zero 6 Pro' - regex: 'Infinix[ _-]X687B' device: 'phablet' model: 'Zero 8i' - regex: 'Infinix[ _-]X687' device: 'phablet' model: 'Zero 8' - regex: 'Infinix[ _-]X6815B' device: 'phablet' model: 'Zero 5G' - regex: 'Infinix[ _-]X6811B' device: 'phablet' model: 'Zero X' - regex: 'Infinix[ _-]X6815' device: 'phablet' model: 'Zero 5G' - regex: 'Infinix[ _-]X6811' device: 'phablet' model: 'Zero X Pro' - regex: 'Infinix[ _-]X6810' device: 'phablet' model: 'Zero X Neo' - regex: 'Infinix[ _-]X6820' device: 'phablet' model: 'Zero Ultra' - regex: 'Infinix[ _-]X507' model: 'Hot' - regex: 'Infinix[ _-]X510' model: 'Hot 2' - regex: 'Infinix[ _-](?:X55[34]|HOT 3 LTE)' model: 'Hot 3' - regex: 'Infinix[ _-]X669' model: 'Hot 30i' - regex: 'Infinix[ _-](?:X6831|X6833B)' model: 'Hot 30' - regex: 'Infinix[ _-]X6835B?' model: 'Hot 30 Play' - regex: 'Infinix[ _-]X6832' model: 'Hot 30 5G' - regex: 'Infinix[ _-]X6528' model: 'Hot 40i' - regex: 'Infinix[ _-]X6836' model: 'Hot 40' - regex: 'Infinix[ _-]X6837' model: 'Hot 40 Pro' - regex: 'Infinix[ _-]X622' model: 'Hot S3X' - regex: 'Infinix[ _-]X521' model: 'Hot S' - regex: 'Infinix[ _-]X522' model: 'Hot S2' - regex: 'Infinix[ _-]X557' model: 'Hot 4' - regex: 'Infinix[ _-]X556' model: 'Hot 4 Pro' - regex: 'Infinix[ _-]X559[cF]' model: 'Hot 5' - regex: 'Infinix[ _-]X559' model: 'Hot 5 Lite' - regex: 'Infinix[ _-]X606[BC]?' model: 'Hot 6' - regex: 'Infinix[ _-]X623' model: 'Hot 6X' - regex: 'Infinix[ _-]X608' model: 'Hot 6 Pro' - regex: 'Infinix[ _-]X624' model: 'Hot 7' - regex: 'Infinix[ _-]X625' model: 'Hot 7 Pro' - regex: 'Infinix[ _-]X650' model: 'Hot 8' - regex: 'Infinix[ _-]X655F' model: 'Hot 9 Pro' - regex: 'Infinix[ _-]X655' model: 'Hot 9' - regex: 'Infinix[ _-]X680[BCEF]' model: 'Hot 9 Play' - regex: 'Infinix[ _-]X680D' model: 'Smart 4 Plus' - regex: 'Infinix[ _-]X680' model: 'Smart 4' - regex: 'Infinix[ _-]X688' model: 'Hot 10 Play' - regex: 'Infinix[ _-]X682[BC]' model: 'Hot 10' - regex: 'Infinix[ _-]X689C' model: 'Hot 10T' - regex: 'Infinix[ _-]X689F' model: 'Hot 11' - regex: 'Infinix X689D' model: 'Hot 10s NFC' - regex: 'Infinix X689' model: 'Hot 10s' - regex: 'Infinix[ _-](?:X659|PR652|X658)' model: 'Hot 10i' - regex: 'Infinix[ _-]X573B?' model: 'Hot S3' - regex: 'Infinix[ _-]X6812' model: 'Hot 11S' - regex: 'Infinix[ _-]X675' model: 'Hot 11 (2020)' - regex: 'Infinix[ _-]X662' model: 'Hot 11' - regex: 'Infinix[ _-]X6816D' model: 'Hot 12 Play NFC' - regex: 'Infinix[ _-]X6816C?' model: 'Hot 12 Play' - regex: 'Infinix[ _-]X668C?' model: 'Hot 12 Pro' - regex: 'Infinix[ _-]X665[EC]' model: 'Hot 20i' - regex: 'Infinix[ _-]X6826' model: 'Hot 20' - regex: 'Infinix[ _-]X666' model: 'Hot 20 5G' - regex: 'Infinix[ _-]X6825' model: 'Hot 20 Play' - regex: 'Infinix[ _-]X6827' model: 'Hot 20S' - regex: 'Infinix[ _-]X665' model: 'Hot 12i' - regex: 'Infinix[ _-]X6817' model: 'Hot 12' - regex: 'Infinix[ _-]X612' model: 'Smart HD (2021)' - regex: 'Infinix[ _-]X5010' model: 'Smart' - regex: 'Infinix[ _-]X5515[FI]?' model: 'Smart 2' - regex: 'Infinix[ _-]X609' model: 'Smart 2 HD' - regex: 'Infinix[ _-]X5516' model: 'Smart 3' - regex: 'Infinix[ _-]X627' model: 'Smart 3 Plus' - regex: 'Infinix[ _-]X5514D' model: 'Smart 2 Pro' - regex: 'Infinix[ _-]X653' model: 'Smart 4' - regex: 'Infinix[ _-]X657' model: 'Smart 5' - regex: 'Infinix[ _-](?:X6823C?|X6511G)' model: 'Smart 6 Plus' - regex: 'Infinix[ _-]X6511' model: 'Smart 6' - regex: 'Infinix[ _-]X6512' model: 'Smart 6 HD' - regex: 'Infinix[ _-]X6517' model: 'Smart 7 Plus' - regex: 'Infinix[ _-]X6515' model: 'Smart 7' - regex: 'Infinix[ _-]X6516' model: 'Smart 7 HD' - regex: 'Infinix[ _-]X6525B' model: 'Smart 8 Pro' - regex: 'Infinix[ _-]X6525' model: 'Smart 8' - regex: 'Infinix[ _-]X6526' model: 'Smart 8 Plus' - regex: 'Infinix[ _-]X652B' model: 'S5 Lite' - regex: 'Infinix[ _-]X626' model: 'S4' - regex: 'Infinix[ _-]X652C' model: 'S5 Lite' - regex: 'Infinix[ _-]X652' model: 'S5' - regex: 'Infinix[ _-]X660' model: 'S5 Pro' - regex: 'Infinix[ _-]X551' model: 'Hot Note' device: 'phablet' - regex: 'Infinix[ _-]X600' model: 'Note 2' device: 'phablet' - regex: 'Infinix[ _-]X601' model: 'Note 3' device: 'phablet' - regex: 'Infinix[ _-]X572' model: 'Note 4' device: 'phablet' - regex: 'Infinix[ _-]X571' model: 'Note 4 Pro' device: 'phablet' - regex: 'Infinix[ _-]X604' model: 'Note 5' device: 'phablet' - regex: 'Infinix[ _-]X605' model: 'Note 5 Stylus' device: 'phablet' - regex: 'Infinix[ _-]X610' model: 'Note 6' device: 'phablet' - regex: 'Infinix[ _-]X690' model: 'Note 7' device: 'phablet' - regex: 'Infinix[ _-]X656' model: 'Note 7 Lite' device: 'phablet' - regex: 'Infinix[ _-]X692' model: 'Note 8' device: 'phablet' - regex: 'Infinix[ _-]X683' model: 'Note 8i' device: 'phablet' - regex: 'Infinix[ _-]X695' model: 'Note 10 Pro' device: 'phablet' - regex: 'Infinix[ _-]X693' model: 'Note 10' device: 'phablet' - regex: 'Infinix[ _-]X663C' model: 'Note 12' device: 'phablet' - regex: 'Infinix[ _-]X677' model: 'Note 12i (2022)' device: 'phablet' - regex: 'Infinix[ _-]X6819' model: 'Note 12i' device: 'phablet' - regex: 'Infinix[ _-]X676B' model: 'Note 12 Pro' device: 'phablet' - regex: 'Infinix[ _-]X671B' model: 'Note 12 Pro 5G' device: 'phablet' - regex: 'Infinix[ _-]X672' model: 'Note 12 VIP' device: 'phablet' - regex: 'Infinix[ _-]X663D' model: 'Note 12 NFC' device: 'phablet' - regex: 'Infinix[ _-]X671B' model: 'Note 12 Pro 5G' device: 'phablet' - regex: 'Infinix[ _-]X663' model: 'Note 11' device: 'phablet' - regex: 'Infinix[ _-]X697' model: 'Note 11 Pro' device: 'phablet' - regex: 'Infinix[ _-]X698' model: 'Note 11S' device: 'phablet' - regex: 'Infinix[ _-]X670' model: 'Note 12' device: 'phablet' - regex: 'Infinix[ _-]X676C' model: 'Note 12 (2023)' device: 'phablet' - regex: 'Infinix[ _-]X6716' model: 'Note 30i' device: 'phablet' - regex: 'Infinix[ _-]X6710' model: 'Note 30 VIP' device: 'phablet' - regex: 'Infinix[ _-]X678B' model: 'Note 30 Pro' device: 'phablet' - regex: 'Infinix[ _-]X6711' model: 'Note 30 5G' device: 'phablet' - regex: 'Infinix[ _-]X6850B' model: 'Note 40S' device: 'phablet' - regex: 'Infinix[ _-]X6850' model: 'Note 40 Pro' device: 'phablet' - regex: 'Infinix[ _-]X6851B' model: 'Note 40 Pro+ 5G' device: 'phablet' - regex: 'Infinix[ _-]X6851' model: 'Note 40 Pro 5G' device: 'phablet' - regex: 'Infinix[ _-]X6852' model: 'Note 40 5G' device: 'phablet' - regex: 'Infinix[ _-]X685' model: 'Note 40' device: 'phablet' - regex: 'Infinix HOT ([a-z]?[1-6])( (?:Lite|Plus|Pro))?' model: 'Hot $1$2' - regex: 'Infinix[ _-](X[78]00)' device: 'tablet' model: '$1' - regex: 'Infinix[ _-](X\d+)' model: '$1' - regex: 'Infinix[_ ]([^/;)]+)(?: Build|[);])' model: '$1' - regex: 'Infinix[ _-]([a-z0-9_\-]+)' model: '$1' # InnJoo (innjoo.es) InnJoo: regex: 'InnJoo|(?:Halo Plus|Halo2 LTE|Halo X|Halo 5 3G|Halo[ _]4(?:[ _]mini[ _]LTE)?|VISION LTE|Halo2 3G|Fire 4 ?(?:Pro|Plus)?|Fire_Plus_LTE|Fire3 mini|Fire2 (?:Air|Pro|Plus) LTE|Fire2 LTE|Superb(?:_PLus)?|VOOM TAB 2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VOOM TAB 2' device: 'tablet' model: 'Voom Tab 2' - regex: 'InnJoo[ _]X3(?:[);/ ]|$)' model: 'X3' - regex: 'Halo[ _]X[ _]LTE(?:[);/ ]|$)' model: 'Halo X LTE' - regex: 'InnJoo[ _]X(?:[);/ ]|$)' model: 'X' - regex: 'Halo Plus(?:[);/ ]|$)' model: 'Halo Plus' - regex: 'Halo[ _]4[ _]mini[ _]LTE(?:[);/ ]|$)' model: 'Halo 4 Mini LTE' - regex: 'Halo 4(?:[);/ ]|$)' model: 'Halo 4' - regex: 'Halo ?2 LTE(?:[);/ ]|$)' model: 'Halo 2 LTE' - regex: 'Halo ?([25]) 3G(?:[);/ ]|$)' model: 'Halo $1 3G' - regex: 'InnJoo[ _]Pro2(?:[);/ ]|$)' model: 'Pro 2' - regex: 'Innjoo ONE 3G(?:[);/ ]|$)' model: 'One 3G' - regex: 'Innjoo[ _]2[ _]LTE(?:[);/ ]|$)' model: '2 LTE' - regex: 'InnJoo[ _]([2-4])' model: '$1' - regex: 'Fire2 Plus LTE' model: 'Fire 2 Plus LTE' - regex: 'Fire_Plus_LTE' model: 'Fire Plus LTE' - regex: 'Fire2 Air LTE' model: 'Fire 2 Air LTE' - regex: 'Fire2 Pro LTE' model: 'Fire 2 Pro LTE' - regex: 'Fire2 LTE' model: 'Fire 2 LTE' - regex: 'Fire3 mini' model: 'Fire 3 Mini' - regex: 'Fire 4 Pro' model: 'Fire 4 Pro' - regex: 'Fire 4 Plus' model: 'Fire 4 Plus' - regex: 'Fire 4' model: 'Fire 4' - regex: 'Superb_PLus' model: 'SuperB Plus' - regex: 'Superb' model: 'SuperB' - regex: 'VISION LTE' model: 'Vision LTE' # Inkti Inkti: regex: 'intki[ _]([^/;]*)[ _]Build' device: 'smartphone' model: '$1' # Innos Innos: regex: 'Innos_?(D6000)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Innostream Innostream: regex: 'INNO(?!va[123]0)([a-z0-9]+)' device: 'feature phone' model: 'INNO$1' # Insignia Insignia: regex: 'NS-(P11A8100|P10A8100|P10A6100|P16AT08|P16AT10|P16AT785HD|P08A7100|P10A7100)(?:[);/ ]|$)|AFTEAMR311|AFTJMST12' device: 'tablet' models: - regex: 'NS-P11A8100' model: '11.6"' - regex: 'NS-(P10A6100|P16AT10)' model: 'Flex 10.1"' - regex: 'NS-P16AT08' model: 'Flex 8"' - regex: 'NS-P08A7100' model: '8"' - regex: 'NS-(P10A8100|P10A7100)' model: '10.1"' - regex: 'NS-P16AT785HD' model: 'Flex Elite 7.85"' - regex: 'AFTEAMR311' model: 'HD (2018)' device: 'tv' - regex: 'AFTJMST12' model: '4K (2018)' device: 'tv' # INSYS (https://www.insys.pt/) INSYS: regex: 'INSYS|(?:HK9-4010|IH9-L614|AC7_DJ17|HN2-M16Q)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'HK9-4010' model: 'HK9-4010' - regex: 'AC7_DJ17' model: 'AC7-DJ17' - regex: 'IH9-L614' model: 'MX IH9-L614' - regex: '(GU4-K147|HN2-M16Q|VI4-103)' device: 'tablet' model: '$1' # Inq INQ: regex: 'INQ[/ ]' device: 'feature phone' models: - regex: 'INQ/([a-z0-9\-]+)' model: '$1' - regex: 'INQ ([^;/]+) Build' model: '$1' device: 'smartphone' # AFFIX AFFIX: regex: 'elite Aquarius(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'elite Aquarius' model: 'Elite Aquarius' # Aquarius (www.aq.ru) Aquarius: regex: 'Aquarius' device: 'tablet' models: - regex: 'Aquarius Pro, Std, Elt Series' device: 'desktop' model: 'Pro Std Elite Series' - regex: '(NS220)' model: 'CMP $1' - regex: 'Aquarius[_ ]CMP[_ ]([^/;)]+)(?: Build|[);])' model: 'CMP $1' - regex: 'Aquarius[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # Vsun Vsun: regex: '(?:VSUN (?:ILLUSION|RACE|V9|TOUCH)|Aqua Tough|MERCURY Tough|MARS TOUCH|MARS NOTE|MARS NOCAM|SATURN SELFIE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ILLUSION(?:[);/ ]|$)' model: 'Illusion' - regex: 'MARS TOUCH(?:[);/ ]|$)' model: 'Mars Touch' - regex: 'MERCURY Tough' model: 'Mercury Touch' - regex: 'MARS NOTE' model: 'Mars Note' - regex: 'MARS NOCAM' model: 'Mars Nocam' - regex: 'Aqua Tough' model: 'Aqua Tough' - regex: 'SATURN SELFIE(?:[);/ ]|$)' model: 'Saturn Selfie' - regex: 'RACE(?:[);/ ]|$)' model: 'Race' - regex: 'VSUN TOUCH(?:[);/ ]|$)' model: 'Touch' - regex: '(V9)(?:[);/ ]|$)' model: '$1' # Turbo Turbo: regex: '(?:Turbo[_ ]?(?:X5[_ ]?(?:Max|Black|Space|Hero)|X8|X6[ _]Z|X[ _]Ray)|Monsterpad7)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TurboX5Space(?:[);/ ]|$)' model: 'X5 Space' - regex: 'TurboX5Hero(?:[);/ ]|$)' model: 'X5 Hero' - regex: 'TurboX[ _]Ray(?:[);/ ]|$)' model: 'X Ray' - regex: 'Turbo[ _]?X5[ _]?Black(?:[);/ ]|$)' model: 'X5 Black' - regex: 'Turbo[ _]X5[ _]Max(?:[);/ ]|$)' model: 'X5 Max' - regex: 'Turbo[ _]X6[ _]Z(?:[);/ ]|$)' model: 'X6 Z' - regex: 'Turbo[ _]X8(?:[);/ ]|$)' model: 'X8' - regex: 'Monsterpad7(?:[);/ ]|$)' device: 'tablet' model: 'MonsterPad 7"' # Turbo-X Turbo-X: regex: 'Turbo[-_]X|(?:TURBOX_I4G|Hive V 3G|Calltab10\.1|Calltab2GB10|Calltab7inch|Turbox_S3|Fire_II_WiFi|Breeze IV|Aqua_II|RainbowIII3G|RubikII7|Rubik 10\.1 II|Rubik_10_III|QUAD-CORE A33 inet)(?:[);/ ]|$)|(?<!Rombica TV |DVK82 )Mercury(?!/| HD Quad core)|(?:android 8([\d.]*);(?: [\w-]+;)? Dream)(?:[);/ ]|$)' device: 'smartphone' models: # specific smartphone models - regex: 'Dream' model: 'Dream' - regex: 'Turbox_S3' model: 'S3' - regex: 'Turbo-X_A2(?:[);/ ]|$)' model: 'A2' - regex: 'Turbo-X_e3(?:[);/ ]|$)' model: 'E3' - regex: 'Mercury(?!/)' model: 'Mercury' - regex: 'Turbo-X_epsilon' model: 'Epsilon' - regex: 'Turbo-X lamda' model: 'Lamda' - regex: 'Turbo-X_pi_4G|Turbo_X_Pi 1 4G' model: 'Pi 4G' - regex: 'TURBOX_I4G' model: 'I 4G' # specific tablet models - regex: 'Turbo-X Ice(?:[);/ ]|$)' device: 'tablet' model: 'Ice' - regex: 'Turbo-X Coral II' # Plaisio Computers device: 'tablet' model: 'Coral II' - regex: 'Aqua_II(?:[);/ ]|$)' device: 'tablet' model: 'Aqua II' - regex: 'Hive V 3G(?:[);/ ]|$)' device: 'tablet' model: 'Hive V 3G' - regex: 'Hive VI' device: 'tablet' model: 'Hive VI' - regex: 'Fire_II_WiFi(?:[);/ ]|$)' device: 'tablet' model: 'Fire II WiFi' - regex: 'Breeze IV(?:[);/ ]|$)' device: 'tablet' model: 'Breeze IV' - regex: 'RubikII7(?:[);/ ]|$)' device: 'tablet' model: 'Rubik II 7"' - regex: 'Rubik 10\.1 II(?:[);/ ]|$)' device: 'tablet' model: 'Rubik II 10.1"' - regex: 'Rubik_10_III(?:[);/ ]|$)' device: 'tablet' model: 'Rubik III 10.1"' - regex: 'RainbowIII3G(?:[);/ ]|$)' device: 'tablet' model: 'Rainbow III 3G' - regex: 'Calltab10\.1' device: 'tablet' model: 'CallTab II 10.1"' - regex: 'Calltab2GB10' device: 'tablet' model: 'CallTab 10.1"' - regex: 'Calltab7inch' device: 'tablet' model: 'CallTab 7"' - regex: 'QUAD-CORE A33 inet' device: 'tablet' model: 'Twister' # general detections - regex: 'TURBO-X, ([a-z0-9_ \-]+), (?:wired|wireless)' model: '' device: 'tv' - regex: 'Turbo-X Tablet([^;/)]+)(?: Build|[;)])' device: 'tablet' model: '$1' - regex: 'Turbo-X ([^;)/]+)(?: Build|[;)])' model: '$1' # Intex Intex: regex: 'Intex|(Aqua|Cloud[ _][XY][0-9]{1}|Cloud (?:Fame|Glory) 4G)|(?:CLOUD TREAD|IM0318ND|IV0318ND)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'IM0318ND' model: 'Aqua Lions 3' - regex: 'AQUA[ _]LIONS[ _]T1[ _]LITE(?:[);/ ]|$)' model: 'Aqua Lions T1 Lite' - regex: 'AQUA[ _]LIONS[ _]([NT]1|[23]|E3)(?:[);/ ]|$)' model: 'Aqua Lions $1' - regex: 'AQUA (A4) PLUS(?:[);/ ]|$)' model: 'Aqua $1 Plus' - regex: 'AQUA[ _](A4|S[13])(?:[);/ ]|$)' model: 'Aqua $1' - regex: 'Intex[ _]IM0118ND' model: 'Aqua Lions T1 Plus' - regex: 'AQUA CRYSTAL\+(?:[);/ ]|$)' model: 'Aqua Crystal Plus' - regex: 'AQUA FulVU e5(?:[);/ ]|$)' model: 'Aqua Fulvu E5' - regex: 'AQUA JEWEL 2(?:[);/ ]|$)' model: 'Aqua Jewel 2' - regex: 'Aqua[_ ]Life[_ ]?III(?:[);/ ]|$)' model: 'Aqua Life III' - regex: '(?:INTEX[_ ])?AQUA[_ ]4\.0[_ ]4G' model: 'Aqua 4.0 4G' - regex: '(?:INTEX[_ ])?AQUA[_ ]4G[_ ]MINI' model: 'Aqua Mini 4G' - regex: '(?:INTEX[_ ])?AQUA[_ ]LIONS[_ ]4G' model: 'Aqua Lions 4G' - regex: '(?:INTEX[_ ])?AQUA[_ ]PRIME[_ ]4G' model: 'Aqua Prime 4G' - regex: '(?:INTEX[_ ])?AQUA[_ ]ZENITH' model: 'Aqua Zenith' - regex: '(?:INTEX[_ ])?AQUA[_ ]POWER[_ ]IV' model: 'Aqua Power IV' - regex: '(?:INTEX[ _])?AQUA[_ ]YOUNG[_ ]4G' model: 'Aqua Young 4G' - regex: '(?:INTEX[ _])?AQUA[_ ]TREND[_ ]LITE' model: 'Aqua Trend Lite' - regex: '(?:INTEX[ _])?AQUA[_ ]AMAZE\+' model: 'Aqua Amaze Plus' - regex: '(?:INTEX[ _])?AQUA[_ ]Supreme\+' model: 'Aqua Supreme Plus' - regex: '(?:INTEX[ _])?AQUA[_ ]STYLE (\d)' model: 'Aqua Style $1' - regex: '(?:INTEX[ _])?AQUA[_ ]Strong 5\.1\+' model: 'Aqua Strong 5.1 Plus' - regex: '(?:INTEX[ _])?AQUA[_ ]CRYSTAL' model: 'Aqua Crystal' - regex: '(?:INTEX[ _])?ELYT[_ ]DUAL[_ ]PLUS' model: 'Elyt Dual Plus' - regex: '(?:INTEX[ _])?ELYT[_ ]DUAL' model: 'Elyt Dual' - regex: '(?:INTEX[ _])?ELYT[_ ](E\d+)' model: 'Elyt $1' - regex: 'IV0318ND' model: 'Indie 11' - regex: 'Intex[ _]IV0118ND' model: 'Lions 6' - regex: 'Intex[ _]IP0418ND' model: 'Infie 77' - regex: 'Intex[ _]([^/;]*)[ _]Build' model: '$1' - regex: 'CLOUD TREAD(?:[);/ ]|$)' model: 'Cloud Tread' - regex: '(Cloud (?:Fame|Glory) 4G)' model: '$1' - regex: '(Aqua|Cloud)[ _\.]([^/;\)]+)(?:[ _]Build|(?<!Build)/|\))' model: '$1 $2' - regex: 'Intex[ _]([a-z0-9_+\-]+)' model: '$1' # i-mate i-mate: regex: 'i-mate ([a-z0-9]+)' device: 'feature phone' model: '$1' # i-mobile i-mobile: regex: 'i-mobile[ _]?[a-z0-9]+|i-Style|IQ ?(9\.1|5\.5|5\.6A?)' device: 'feature phone' models: - regex: 'i-mobile (i-note[^/;]*) Build' model: '$1' device: 'tablet' - regex: 'i-Style ?([^;/)]+)(?: Build|[;)])' model: 'i-Style $1' device: 'smartphone' - regex: '(?:i-mobile_)?IQ[ _]XPRO2' device: 'smartphone' model: 'IQ X Pro 2' - regex: '(?:i-mobile_)?IQ[ _]BIG2' device: 'smartphone' model: 'IQ Big 2' - regex: 'IQ ?(9\.1|5\.5|5\.6A?|II)' model: 'IQ $1' device: 'smartphone' - regex: 'IQ Z PRO' model: 'IQ Z Pro' device: 'smartphone' - regex: 'IQ Z BRIGHT' model: 'IQ Z Bright' device: 'smartphone' - regex: 'i-mobile (IQ[^/;]*) Build' model: '$1' device: 'smartphone' - regex: 'i-mobile(?: )?([a-z0-9\- ]+) Build' model: '$1' - regex: 'i-mobile(?: )?([a-z0-9]+)' model: '$1' # ikomo iKoMo: regex: 'iKoMo ([a-z0-9]+)' device: 'feature phone' model: '$1' # iOcean iOcean: regex: 'iOCEAN|M6752|W180|X7[ _]?S|X8 mini' device: 'smartphone' models: - regex: 'X7S-T' model: 'X7S-T' - regex: 'X8 mini pro' model: 'X8 Mini Pro' - regex: 'X8 mini' model: 'X8 Mini' - regex: 'X7[ _]?S' model: 'X7S Elite' - regex: '(M6752|W180) Build' model: '$1' - regex: 'iOCEAN[ _\-]?([^/;]+) Build' model: '$1' - regex: 'iOCEAN[ _\-]?([^);/ ]+)' model: '$1' # iView (iviewus.com) iView: regex: '(?:(?:733|730|766|930)TPC|769TPC(?:II)?|744TPC plus)(?:[);/ ]|$)' device: 'tablet' models: - regex: '744TPC plus' model: '744TPC Plus' - regex: '((?:733|730|766|930)TPC|769TPC(?:II)?)(?:[);/ ]|$)' model: '$1' # Impression Impression: regex: '(?:Impression[ _\-]?([^/;]+)|A502|I10\-LE|ImPad[ _]?(.*)|ImSmart[ _]?(.*))(?:[);/ ]|$)' device: 'tablet' models: - regex: '(A502)' model: '$1' device: 'smartphone' - regex: 'ImSmart[ _]?([^/;)]+)(?: Build|\))' model: 'ImSmart $1' device: 'smartphone' - regex: 'ImPad[ _]?([^/;)]+)(?: Build|\))' model: 'ImPad $1' - regex: '(I10\-LE)' model: '$1' device: 'smartphone' - regex: 'Impression[ _\-]?([^/;)]+)(?: Build|\))' model: '$1' # iLife or i-life (lifedigital.com) iLife: regex: 'WTAB[ _]?\d{3}|(ITELL[_ ](?:K3300|K3500N?|K4700)|K3102 WIFI|FIVO (?:PLUS|Lite)|Zed Book G)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'K3102 WIFI' model: 'K3102 WiFi' - regex: 'WTAB[ _]?(\d{3}(?:[^;/)]*))(?: Build|[;)])' model: 'WTAB $1' - regex: '(ITELL[_ ](?:K3300|K3500N?|K4700))(?:[);/ ]|$)' model: '$1' - regex: 'Zed Book G' model: 'Zed Book G' - regex: 'FIVO PLUS(?:[);/ ]|$)' device: 'smartphone' model: 'Fivo Plus' - regex: 'FIVO Lite(?:[);/ ]|$)' device: 'smartphone' model: 'Fivo Lite' # iTel iTel: regex: 'itel|iNote|GP10X2019(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'W6502' device: 'phablet' model: 'S16' - regex: 'L6503' device: 'phablet' model: 'S16 Pro' - regex: 'W5505' model: 'A36' - regex: 'A507LV' model: 'V52 LTE' - regex: 'A632W' model: 'A04' - regex: 'A663L' model: 'A05s' - regex: 'S667LN' model: 'S24' - regex: 'S665LN?' model: 'S23' - regex: 'S681LN' model: 'S23+' - regex: 'A662LM' model: 'A60s' - regex: 'A662L' model: 'A60' - regex: 'A667L' model: 'A50' - regex: 'A665L' model: 'A70' - regex: 'W5504' model: 'P33' - regex: 'W5503' model: 'Alpha' - regex: 'W5002' model: 'A35' - regex: 'A571W' model: 'A37' - regex: 'A631L' model: 'A49 Play' - regex: 'A507LM' model: 'AC50' - regex: 'W6002E?' model: 'S15' - regex: 'S663L[NC]' model: 'Vision 5' - regex: 'S662LCN?' model: 'Vision 5 Plus' - regex: 'S663L' model: 'S18' - regex: 'S661W' model: 'S17' - regex: 'A551L' model: 'S17 Pro' - regex: 'W5005P?' model: 'P15' - regex: 'P552W' model: 'P17 Pro' - regex: 'P551W' model: 'P17' - regex: 'A666L' model: 'P55' - regex: 'P663L' model: 'P55+' - regex: 'P665L' model: 'P55T' - regex: 'P661N' model: 'P55 5G' - regex: 'W5003' model: 'S32 Mini' - regex: 'L5502' model: 'A44 Air' - regex: 'L5505' model: 'A47' - regex: 'W5006X' model: 'A17' - regex: 'A510W' model: 'A16 Plus' - regex: 'L6006' model: 'A48' - regex: 'A571L' model: 'A26' - regex: 'S666LN' model: 'RS4' - regex: 'P651W' model: 'P37' - regex: 'A509WM?' model: 'A33 Plus' - regex: 'P681L' model: 'P37 Pro' - regex: 'W6501' model: 'P36' - regex: 'P661W' model: 'P38' - regex: 'L5007' model: 'A24' - regex: 'A511LP' model: 'A24 Pro' - regex: 'A512W' model: 'A18' - regex: 'A513W' model: 'A18s' - regex: 'L6003P' model: 'A55 LTE' - regex: 'L6002P' model: 'S15 Pro' - regex: '[LW]6503' model: 'S16 Pro' - regex: 'A511LQ' model: 'A23S' - regex: 'L5006[CS]' model: 'A23 Pro' - regex: 'L5002P' model: 'A25 Pro' - regex: 'L5002' model: 'A25' - regex: 'A507LS' model: 'A24' - regex: 'L5503' model: 'A46' - regex: 'A661L' model: 'A49' - regex: 'W6004P' model: 'A56 Pro' - regex: 'A661WP' model: 'A58 Pro' - regex: 'A661W' model: 'A58' - regex: 'A631W' model: 'A58 Lite' - regex: 'L6004L' model: 'AC60' - regex: 'W4001S' model: 'V41' - regex: 'W4001' model: 'AC13' - regex: 'W4002' model: 'A14 Plus' - regex: 'W4003' model: 'A14 Max' - regex: '[LW]6004' model: 'A56 LTE' - regex: 'W6001' model: 'P33 Plus' - regex: 'W5001P' model: 'A33' - regex: 'W6003' model: 'A55' - regex: 'A611W' model: 'A57' - regex: 'itel[ _]A15R' model: 'A15' - regex: 'P662LN?' model: 'P40' - regex: 'P683L' model: 'P40+' - regex: 'L6005' model: 'Vision 1' - regex: 'P682LPN?' model: 'Vision 3 Plus' - regex: 'P682L' model: 'P38 Pro' - regex: 'P651L' model: 'Vision 2S' - regex: 'L6501' model: 'Vision 1 Plus' - regex: 'L6502' model: 'Vision 1 Pro' - regex: 'S661L' model: 'Vision 3' - regex: 'GP10X2019' model: 'GP10X2019' - regex: 'iNote ([^/;]*)Build' model: 'iNote $1' - regex: 'iNote_([a-z0-9\-_]+)' model: 'iNote $1' - regex: 'itel-it(1410|1512|1520)(?:[);/ ]|$)' model: 'it$1' - regex: 'itel-it1553(?:[);/ ]|$)' model: 'Power Pro' - regex: 'S11Plus(?:[);/ ]|$)' model: 'S11 Plus' - regex: 'itel[- ](A14S?|A16 Plus|A44 Power|A23S|A52 Lite)' model: '$1' - regex: 'itel it1701' device: 'tablet' model: 'iNote Prime' - regex: 'itel P10001L' device: 'tablet' model: 'Pad 1' - regex: 'itel W7001' device: 'tablet' model: 'KidPad 1' - regex: 'itel W7002' device: 'tablet' model: 'PrimeTab 1' - regex: 'itel it170([23])' device: 'tablet' model: 'iNote Prime $1' - regex: 'itel A(\d{1,2}) ?Plus' model: 'A$1 Plus' - regex: 'iTel ([^/;)]+)(?: Build|[;)])' model: '$1' - regex: 'iTel[_ ]([a-z0-9\-_]*)' model: '$1' # iZotron iZotron: regex: '(Mi7_HERO_(?:BETA|TAB))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Mi7[_ ]HERO[_ ]BETA(?:[);/ ]|$)' model: 'MI7 Hero Beta' - regex: 'Mi7[_ ]HERO[_ ]TAB(?:[);/ ]|$)' model: 'MI7 Hero Tab' # JAY-Tech JAY-Tech: regex: '(?<!VIVAX )(?<!VIVAX TABLET )TPC-(?!71213G)[A-Z0-9]+|TPCY-TX[TE][^);/ ]+' device: 'tablet' models: - regex: 'TPC-PA10\.1M' model: 'Tablet PC PA10.1M' - regex: 'TPC-(XE10D-H)' model: 'Tablet PC $1' - regex: 'TPC-G1011LTE' model: 'Tablet PC G 10.11" LTE' - regex: 'TPC-([A-Z0-9]+)' model: 'Tablet PC $1' - regex: '(TPCY-TX[TE][^);/ ]+)' model: '$1' # Jiayu Jiayu: regex: 'JIAYU[ _-]|(?:JY-G4[\\_]G5|(?:JY-[a-z0-9]+)|JY_G4C)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:JIAYU G4_G5|JY-G4[\\_]G5)(?:[);/ ]|$)' model: 'G4/G5' - regex: 'JIAYU[ _-](G4[S]?|G2F|G3[S]?|S[23])(?:[);/ ]|$)' model: '$1' - regex: 'JY[-_]([a-z0-9]+|G4C)(?:[);/ ]|$)' model: 'JY-$1' # Jolla Jolla: regex: 'Jolla' device: 'smartphone' model: '' # Juniper Systems (https://junipersys.com/) Juniper Systems: regex: 'Junipers/' device: 'smartphone' models: - regex: 'Cedar#CT8' device: 'tablet' model: 'CT8' # Just5 (www.just5.com) Just5: regex: 'JUST5(-)?SPACER(s)?|COSMO[_ ](L707|L808)|BLASTER|FREEDOM[ _](C10[05]|M303|X1)|Freedom(?!TurboXL)' device: 'smartphone' models: - regex: 'COSMO[_ ](L707|L808)' model: 'Cosmo $1' - regex: 'FREEDOM[ _](C10[05]|M303|X1)' model: 'Freedom $1' - regex: 'Freedom' model: 'Freedom' - regex: 'JUST5(-)?SPACER2s' model: 'Spacer 2S' - regex: 'JUST5(-)?SPACER2' model: 'Spacer 2' - regex: 'JUST5SPACER' model: 'Spacer' - regex: 'BLASTER 2' model: 'Blaster 2' - regex: 'BLASTER' model: 'Blaster' # Kalley (www.kalley.com.co) Kalley: regex: 'KALLEY|(?:ELEMENT (?:4 Plus|5|MAX|PLAY|Q)|ELEMENT_PRO_2|K-BOOK(?:8MG|73G)|SILVER_MAX(?:_Pro_2)?|Silver Max (?:Lite|Pro)|Black[ _][13CGXZ](?:_PRO)?|Black_G_2|BLACK_PRO|ATV R[12]|GOLD_PRO|KBOOK7M)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Black_G_2' model: 'Black G 2' - regex: 'Black[ _](C)_PRO' model: 'Black $1 Pro' - regex: 'Black[ _]([13CGXZ])' model: 'Black $1' - regex: 'BLACK_PRO' model: 'Black Pro' - regex: 'Element 4 Plus' model: 'Element 4 Plus' - regex: 'Element 5(?:[);/ ]|$)' model: 'Element 5' - regex: 'ELEMENT MAX' model: 'Element Max' - regex: 'Silver[_ ]Max[_ ]Pro[_ ]2' model: 'Silver Max Pro 2' - regex: 'Silver Max (Lite|Pro)' model: 'Silver Max $1' - regex: 'SILVER_MAX' model: 'Silver Max' - regex: 'ELEMENT PLAY' model: 'Element Play' - regex: 'ELEMENT Q' model: 'Element Q' - regex: 'ELEMENT_PRO_2' model: 'Element Pro 2' - regex: 'GOLD_PRO' model: 'Gold Pro' - regex: 'K-?BOOK(8MG|73G|7M)' device: 'tablet' model: 'K-BOOK$1' - regex: 'ATV (R[12])' device: 'tv' model: 'Android TV $1' - regex: 'KALLEY,(43D1800|55D1240)' device: 'tv' model: '$1' # Kaan Kaan: regex: 'KAAN[ _](N[12]|A1)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Kazam Kazam: regex: 'Kazam|(?:Trooper_X[0-9][0-9]|Tornado 348|TROOPER 4\.0)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Tornado 348' model: 'Tornado 348' - regex: 'Thunder 450W' model: 'Thunder 450W' - regex: 'TROOPER 4\.0' model: 'Trooper X4.0' - regex: 'Trooper_X([0-9])([0-9])(?:[);/ ]|$)' model: 'Trooper X$1.$2' - regex: 'Kazam[; _]([^;/)]+)(?: Build|\))' model: '$1' # Kazuna (https://kazuna.co.jp/) Kazuna: regex: 'KAZ-N20' device: 'smartphone' models: - regex: 'KAZ-N20' model: 'eTalk MYFLIX' # Keneksi Keneksi: regex: 'KENEKSI|(?:Hemera|Teta Dual|Helios)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Hemera|Teta Dual|Helios)(?:[);/ ]|$)' model: '$1' - regex: 'KENEKSI[ _-]liberty' model: 'Liberty' - regex: 'KENEKSI[ _-]FLASH' model: 'Flash' - regex: 'KENEKSI[ _-]SUN' model: 'Sun' - regex: 'KENEKSI[ _-]ZETA' model: 'Zeta' - regex: 'KENEKSI[ _-]SIGMA' model: 'Sigma' - regex: 'KENEKSI[ _-](Moon|Libra_Dual|Glass|Amber|Chance|Amulet|Choice|Crystal|Dream|Delta[_ ]Dual|Norma 2|Norma|Sky|Fire 2|Fire|Flame|Flora|Rock|Solo|Soul|Step|Smart|Star|Storm|Wind)' model: '$1' # Kempler & Strauss (www.kemplerusa.com) Kempler & Strauss: regex: 'Alumini_?3_?Plus|Alumini ?[23]|KEMPLER_(?:P[13]|TV|[X9]|8_PLUS)|ZKEMPLER[ _](?:PLUS|PRO)|P1[ _]Amateur' device: 'smartphone' models: - regex: 'Alumini ?2' model: 'Alumini 2' - regex: 'Alumini_?3_?Plus' model: 'Alumini 3 Plus' - regex: 'Alumini3' model: 'Alumini 3' - regex: 'KEMPLER_P([13])' model: 'P$1' - regex: 'P1[ _]Amateur' model: 'P1 Amateur' - regex: 'KEMPLER_TV' model: 'TV' - regex: 'KEMPLER_X' model: 'X' - regex: 'KEMPLER_8_PLUS' model: '8 Plus' - regex: 'KEMPLER_9' model: '9' - regex: 'ZKEMPLER PLUS' model: 'ZKempler Plus' device: 'tablet' - regex: 'ZKEMPLER_PRO' model: 'ZKempler Pro' device: 'tablet' # Kiano Kiano: regex: 'Kiano|Elegance_[45]_[015](?:_PRO)?|ELEGANCE 5\.0 Lite|Elegance_4\.5|Elegance 6|CORE 10\.1 DUAL 3G|Intelect ?(7|8|10)|Slim ?Tab ?\d+(?:[_ ]3GR?)?(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Slim ?Tab ?(\d+)(?:[_ ]3GR?)?' model: 'Slim Tab $1' device: 'tablet' - regex: 'CORE 10\.1 DUAL 3G' model: 'CORE 10.1 DUAL 3G' device: 'tablet' - regex: 'Elegance_(5)_([51])_Pro' model: 'Elegance $1.$2" Pro' - regex: 'ELEGANCE 5\.0 Lite' model: 'Elegance 5.0" Lite' - regex: 'Elegance 6' model: 'Elegance 6 5.85"' - regex: 'Elegance_([45])[_.]([015])' model: 'Elegance $1.$2"' - regex: '(Kiano)?(Intelect|Elegance) ?(7|8|10)?' model: '$2 $3' device: 'tablet' - regex: 'Kiano[ _]([^;/]+) Build' model: '$1' # kidiby (https://www.kidiby.com/) kidiby: regex: 'KIDIBY' device: 'tablet' model: '' # Kingbox Kingbox: regex: 'Kingbox' device: 'tv' model: '' # Kingstar Kingstar: regex: 'Kingstar' device: 'smartphone' models: - regex: 'Kingstar[-_ ]?([^;/)]+)(?: Build|[;)])' model: '$1' # Kingsun Kingsun: regex: 'Kingsun[ _-]' device: 'smartphone' models: - regex: 'Kingsun[ _-]([^;/]+) Build' model: '$1' - regex: 'Kingsun[ -]((?!Build)[a-z0-9_-]+)' model: '$1' # Kocaso (www.kocaso.com) Kocaso: regex: 'Kocaso|(?:DX765 Pro|M(?:6200|729|7[357][026][hw]?|76[01236][bw]?|83[016]|8[567]0|1050s|106[012368]w?|1070|X736(?:-kit)?|X780))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'DX765 Pro(?:[);/ ]|$)' model: 'DX765 Pro' - regex: 'M6200(?:[);/ ]|$)' model: 'M6200' - regex: 'M729(?:[);/ ]|$)' model: 'M729' - regex: 'M(7[357][026])[hw]?(?:[);/ ]|$)' model: 'M$1' - regex: 'M(76[01236])[bw]?(?:[);/ ]|$)' model: 'M$1' - regex: 'MX780(?:[);/ ]|$)' model: 'MX780' - regex: 'M(83[016])(?:[);/ ]|$)' model: 'M$1' - regex: 'M(8[567]0)(?:[);/ ]|$)' model: 'M$1' - regex: 'M851(?:[);/ ]|$)' model: 'M851' - regex: 'M1050S(?:[);/ ]|$)' model: 'M1050s' - regex: 'M(106[012368])W?(?:[);/ ]|$)' model: 'M$1' - regex: 'M1070(?:[);/ ]|$)' model: 'M1070' - regex: 'MX736(?:-kit)?(?:[);/ ]|$)' model: 'MX736' - regex: 'Kocaso[ _\-]?([^;/)]+)(?: Build|[;)])' model: '$1' - regex: 'Kocaso[ _\-]?([a-z0-9_-]+)' model: '$1' # Kogan Kogan: regex: 'Kogan|(?:Agora (?:8 Plus|XI|Go|Lite|4G Pro))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Kogan ?(SmarterTV(?: 2K)?|TV|TVAP)(?:[);/ ]|$)' device: 'tv' model: '$1' - regex: 'Agora ([68]) ?Plus' model: 'Agora $1 Plus' - regex: 'Agora XI' model: 'Agora 11' - regex: 'Agora Go' model: 'Agora Go' - regex: 'Agora 4G Pro' model: 'Agora 4G Pro' - regex: 'Agora Lite' model: 'Agora Lite' - regex: 'Kogan[ _-]([^;/)]+)(?: Build|[;)])' model: '$1' - regex: 'Kogan[ _-]([a-z0-9_-]+)' model: '$1' # Komu Komu: regex: 'Komu[_ -]' device: 'smartphone' models: - regex: 'Komu[_ -]([^;/).]+)(?: Build|[;).])' model: '$1' - regex: 'Komu[_ -]([a-z0-9_-]+)' model: '$1' # Koobee Koobee: regex: 'Koobee|(?:F2_Plus|SL004T|Android 10(?:[\d.]*);(?: [\w-]+;)? (?:K60))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SL004T' model: 'K100' - regex: 'F2[_ ]Plus' model: 'F2 Plus' - regex: '(K60)(?:[);/ ]|$)' model: '$1' - regex: 'Koobee[ _\-]?([^;/]+) Build' model: '$1' - regex: 'Koobee[ _\-]?([a-z0-9_-]+)' model: '$1' # Kumai Kumai: regex: '(?:KM-)?Kumai' device: 'smartphone' models: - regex: '(?:KM-)?Kumai[ _\-]?([^;/]+) Build' model: '$1' - regex: '(?:KM-)?Kumai[ _\-]?([a-z0-9_-]+)' model: '$1' # KT-Tech KT-Tech: regex: '(KM-[a-z0-9]+|EV-[a-z0-9]+)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # kddi KDDI: regex: 'kddi-([a-z0-9]+)|(?:INFOBAR A01|HTX21|HTL21)(?:[);/ ]|$)' device: 'feature phone' models: - regex: 'kddi-([a-z0-9]+)' model: '$1' - regex: 'INFOBAR (A01)' device: 'smartphone' model: 'iida InfoBar $1' - regex: 'HTX21(?:[);/ ]|$)' device: 'smartphone' model: 'InfoBar A02' - regex: 'HTL21(?:[);/ ]|$)' device: 'smartphone' model: 'J Butterfly' # PIXPRO (sub brand Kodak) PIXPRO: regex: 'PIXPRO[_ ]' device: 'smartphone' models: - regex: 'L1 Pro' model: 'L1 Pro' # Kodak Kodak: regex: 'KODAK|(?:IM5|KD50|Ektra|Smartway[_ ](?:[FT]1|[LT]2)|D55L|D61L|D6[05]LX)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'IM5' model: 'IM5' - regex: '(KD50|D55L|D6[05]LX|D61L)' model: 'Seren $1' - regex: 'Ektra(?:[);/ ]|$)' model: 'Ektra' - regex: '(?:KODAK[_ ])?SMARTWAY[_ ]L1 PRO' model: 'Smartway L1 Pro' - regex: '(?:KODAK[_ ])?SMARTWAY[_ ]([FLMTX]1|[LMTX]2|T3)' model: 'Smartway $1' - regex: 'Tablet (7|10)' device: 'tablet' model: 'Tablet $1' # KOPO or JKOPO (http://www.jkopo.com/) KOPO: regex: 'J?KOPO[ _-]' device: 'smartphone' models: - regex: 'J?KOPO[ _-]?([^/;)]+)(?: Build|[;)])' model: '$1' - regex: 'J?KOPO[ _-]?([^/;)]+)' model: '$1' # Koridy Koridy: regex: 'KORIDY[ _-]([^/;]+) Build' device: 'smartphone' model: '$1' # KRONO (www.kronodigital.com) KRONO: regex: '(?:NET1100|NET_(?:LITE|TITAN|VOLT|MAX|MATRIX|[KR]7)|android 8([\d.]*);(?: [\w-]+;)? NETWORK)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NET1100' model: 'NET 1100' - regex: 'NET_(LITE|TITAN|VOLT)' model: 'NET $1' - regex: 'NET_MATRIX' device: 'tablet' model: 'Net Matrix' - regex: 'NET_MAX' device: 'tablet' model: 'Net Max' - regex: 'NET_([KR]7)' device: 'tablet' model: 'Net $1' - regex: 'NETWORK' device: 'tablet' model: 'Network' # K-Touch K-Touch: regex: 'K-?Touch[ _][a-z0-9]+|(?:Pace 2 Lite|KT202011(?:99|88)|LDXA-2[01]22|LDOX-2130|LDOX-212[13])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'KT20201199' model: 'P60 Pro' - regex: 'KT20201188' model: 'T12 Pro Max' - regex: 'LDOX-2130' model: 'i13 Pro Max' - regex: 'LDOX-2123' model: 'X13 Pro' - regex: 'LDOX-2121' model: 'MT40' - regex: 'LDXA-2022' model: 'X27S Pro' - regex: 'LDXA-2122' model: 'X27S' - regex: 'Pace 2 Lite' model: 'Pace 2 Lite' - regex: 'K-?Touch[ _]([^/;]*)[ _]Build' model: '$1' - regex: 'K-?Touch[ _]([a-z0-9]+)' model: '$1' # Diva Diva: regex: '(QC-(?:703GN|704GA|803GN|1013G|7BHD)|QC7704GM|T10K_Plus)(?:[);/ ]|$)' device: 'tablet' model: '$1' # kyocera (kyocera.co.jp, kyocera.com) Kyocera: regex: 'Kyocera|KWC-|QC-[0-9]{4}|(?:QC6035|NP501KC|302KC|503KC|602KC|705KC|901KC|C51[27]0|C5155|C5215|C67[35]0|C6522N?|C6530N|C6740N?|C6743|E6[89]10|KYL2[13]|KYV3[1-9]|KYT3[123]|KYF3[1235789]|KYF4[012]|KYX31|KYG0[13]|KYY2[1-4]|S2151|KC-S701|S[468]-KC|S9-KC|S10-KC|KYV40U?|KYY31|KYV4[1-8]|KYV4[47]|KC-S301AE|KC-S302|X3-KC|E6560[CT]|E6782[L]?|E6790(?:TM)?|SZJ-JS20[12]|KCP01K|[47]04KC|A[0-3]01KC|A205KC|WX10K|URBANO PROGRESSO|E7110|E7200|E6921|KY-(?:42C|51B)|C6930|A101BM)(?:[-_][uj]2?)?(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: 'C5120(?:[);/ ]|$)' model: 'Milano' - regex: '(A101BM)(?:[);/ ]|$)' model: 'Balmuda $1' - regex: 'S([4689]|10)-KC(?:[);/ ]|$)' model: 'One S$1' - regex: 'C5155(?:[);/ ]|$)' model: 'Rise' - regex: '602KC(?:[);/ ]|$)' model: 'Digno G' - regex: '503KC(?:[);/ ]|$)' model: 'Digno E' - regex: '404KC(?:[);/ ]|$)' model: 'Digno C' - regex: '704KC(?:[);/ ]|$)' model: 'Digno J' - regex: '302KC(?:[);/ ]|$)' model: 'Digno T' - regex: 'KC-S302(?:[);/ ]|$)' model: 'Digno XS2' - regex: 'NP501KC(?:[);/ ]|$)' model: 'Digno' - regex: 'WX10K(?:[);/ ]|$)' model: 'Digno Dual 2' - regex: 'KYV36(?:[);/ ]|$)' model: 'Digno Rafre' - regex: '901KC(?:[);/ ]|$)' model: 'Digno BX' - regex: 'A101KC(?:[);/ ]|$)' model: 'Digno BX 2' - regex: 'KY-42C(?:[);/ ]|$)' model: 'Digno Keitai R' - regex: 'KYV39(?:[);/ ]|$)' model: 'Miraie F' - regex: 'KYX31(?:[);/ ]|$)' model: 'Infobar XV' - regex: 'C5170(?:[);/ ]|$)' model: 'Hydro' - regex: 'C5215(?:[);/ ]|$)' model: 'Hydro EDGE' - regex: 'C6522N?' model: 'Hydro XTRM' - regex: 'C6730' model: 'Hydro ICON' - regex: 'C6750' model: 'Hydro ELITE' - regex: 'C6530N' model: 'Hydro LIFE' - regex: 'C6740(N)?' model: 'Hydro WAVE' - regex: 'C6743' model: 'Hydro Reach' - regex: 'E6560[CT]' model: 'DuraForce' - regex: '(?:KYOCERA-)?E68[12]0' model: 'DuraForce Pro' - regex: '(?:KYOCERA-)?(?:E69[12]0|E6921)' model: 'DuraForce Pro 2' - regex: '(?:KYOCERA-)?(?:E7200)' model: 'DuraForce Pro 3' - regex: 'E7110' model: 'DuraForce Ultra 5G' - regex: 'C6930' model: 'DuraForce 5G' - regex: 'KC-S701' model: 'Torque' - regex: 'KYG01' model: 'Torque 5G' - regex: 'KYL21(?:[);/ ]|$)' model: 'Digno S' - regex: 'KYL23(?:[);/ ]|$)' model: 'Miraie' - regex: 'KYY24(?:[);/ ]|$)' model: 'Torque G01' - regex: 'KYG03(?:[);/ ]|$)' model: 'Torque G06' - regex: '(KYF32|KYF41)(?:[);/ ]|$)' model: 'Easy Mobile Phone $1' - regex: 'KYF35(?:[);/ ]|$)' model: 'Marvera' - regex: 'KYF40(?:[);/ ]|$)' model: 'Mamorino 5' - regex: 'KYF3[179](?:[);/ ]|$)' model: 'Gratina 4G' - regex: '(KYV48|KYF42)(?:[);/ ]|$)' model: 'Gratina $1' - regex: 'KYF33(?:[);/ ]|$)' model: 'Torque X01' - regex: '(KYF38)(?:[);/ ]|$)' model: 'Keitai $1' - regex: 'KYV35(?:[);/ ]|$)' model: 'Torque G02' - regex: 'KYV41(?:[);/ ]|$)' model: 'Torque G03' - regex: 'KYV46(?:[);/ ]|$)' model: 'Torque G04' - regex: 'KYV32?(?:[);/ ]|$)' model: 'Basio' - regex: 'KYV47(?:-[uj])?(?:[);/ ]|$)' model: 'Basio 4' - regex: 'KYV43(?:_j)?(?:[);/ ]|$)' model: 'Basio 3' - regex: '705KC(?:[);/ ]|$)' model: 'Kantan Sumaho' - regex: 'KYV37(?:[);/ ]|$)' model: 'Qua Phone' - regex: 'KYV42(?:_u)?(?:[);/ ]|$)' model: 'Qua Phone QX' - regex: 'KYV44(?:_u2?)?(?:[);/ ]|$)' model: 'Qua Phone QZ' - regex: 'KYT33(?:[);/ ]|$)' model: 'Qua Tab QZ10' device: 'tablet' - regex: 'KYT32(?:[);/ ]|$)' model: 'Qua Tab QZ8' device: 'tablet' - regex: 'KYT31(?:[);/ ]|$)' model: 'Qua Tab 01' device: 'tablet' - regex: 'KYV40U?(?:[);/ ]|$)' model: 'Rafre' - regex: 'KYV33(?:[);/ ]|$)' model: 'Infobar A03' - regex: 'KYY21(?:[);/ ]|$)' model: 'Urbano L01' - regex: 'KYY22(?:[);/ ]|$)' model: 'Urbano L02' - regex: 'KYY23(?:[);/ ]|$)' model: 'Urbano L03' - regex: 'KYV31(?:[);/ ]|$)' model: 'Urbano V01' - regex: 'KYV34(?:[);/ ]|$)' model: 'Urbano V02' - regex: 'KYV(?:45|38)(?:[);/ ]|$)' model: 'Urbano V03' - regex: 'A301KC(?:[);/ ]|$)' model: 'DuraForce EX' - regex: '(?:Kyocera-)?E6790(?:TM)?' model: 'DuraForce XD' - regex: 'X3-KC(?:[);/ ]|$)' model: 'One X3' - regex: 'E6782(?:[);/ ]|$)' model: 'Brigadier' - regex: 'E6782L(?:[);/ ]|$)' model: 'DuraScout' - regex: 'KCP01K(?:[);/ ]|$)' model: 'Luce' - regex: '(KC-S301AE|KY-51B)(?:[);/ ]|$)' model: '$1' - regex: '(SZJ-JS20[12])(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'A001KC(?:[);/ ]|$)' model: 'Katan Sumaho 2' - regex: 'A201KC(?:[);/ ]|$)' model: 'Katan Sumaho 2+' - regex: 'A205KC(?:[);/ ]|$)' model: 'Katan Sumaho 3' # simple smartphone 3 - regex: 'URBANO PROGRESSO(?:[);/ ]|$)' model: 'Urbano Progresso' - regex: 'KYY31(?:[);/ ]|$)' model: 'GzOne Type-XX' # explicit feature phone models - regex: 'S2151' model: 'Coast' device: 'feature phone' - regex: 'Kyocera-KZ-([a-z0-9]+)' model: 'KZ $1' - regex: 'Kyocera(?:[\-/])?([a-z0-9]+)' model: '$1' - regex: '(KWC|QC)-?([a-z0-9]+)' model: '$1-$2' # Mymaga (support.mymaga.eu) Mymaga: regex: '(MOVE_S201)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Krüger&Matz or Kruger&Matz (www.krugermatz.com) Krüger&Matz: regex: 'Kruger[ _&]Matz|KrugerMatz[ _]|K&M|EAGLE_(?:807|961|107[46]|1068)|FLOW ?5PLUS|FLOW 10|FLOW 4 PLUS|Flow 9|FLOW_5|FLOW7|FLOW6(?:S|Lite)?|DRIVE9|DRIVE 8|DRIVE[_ ]6S?|Drive 10|MOVE8mini|MOVE9| MOVE 10|MOVE_|LIVE_6plus|LIVE 5 PLUS|Live [89]|LIVE4_KM043[89]|LIVE 7S?|Flow 7S|Eagle 806|KM(?:106[679]|107[23]|1065G|0701(?:_1)?|0702|080[45](?:_1)?|1070)|Live 10S' device: 'smartphone' models: - regex: 'MOVE8mini' model: 'MOVE 8 Mini' - regex: 'MOVE_6_mini' model: 'MOVE 6 Mini' - regex: 'MOVE[_ ]([78]|6S?|10)' model: 'MOVE $1' - regex: 'DRIVE 4 mini LTE' model: 'DRIVE 4 mini LTE' - regex: 'DRIVE[ _]?([45689][S]?|10)(?:[);/ ]|$)' model: 'DRIVE $1' - regex: 'FLOW ?([54]) ?PLUS(?:[);/ ]|$)' model: 'FLOW $1 Plus' - regex: 'FLOW6Lite(?:[);/ ]|$)' model: 'FLOW 6 Lite' - regex: 'FLOW[ _]?([4-7][S]?|9|10)(?:[);/ ]|$)' model: 'FLOW $1' - regex: 'LIVE4_(KM043[89])(?:[);/ ]|$)' model: 'LIVE 4 $1' - regex: 'KrugerMatz_LIVE4(?:[);/ ]|$)' model: 'LIVE 4' - regex: '_LIVE5_(KM0450)(?:[);/ ]|$)' model: 'LIVE 5 $1' - regex: 'LIVE 5 PLUS(?:[);/ ]|$)' model: 'LIVE 5 Plus' - regex: 'LIVE_6plus(?:[);/ ]|$)' model: 'LIVE 6 Plus' # KM0454 - regex: 'LIVE ([79]|10)S(?:[);/ ]|$)' model: 'LIVE $1S' - regex: 'Live ([789])(?:[);/ ]|$)' model: 'LIVE $1' - regex: 'MOVE9(?:[);/ ]|$)' model: 'MOVE 9' - regex: 'KM(106[679]|1072)(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1 10.1"' - regex: 'KM(1073)(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1 10.4"' - regex: 'Eagle 806(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE 806 8.0"' - regex: 'Eagle_807(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE 807 8.4"' - regex: 'Eagle_(107[46])(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1 10.4"' - regex: 'EAGLE_(961|1068)(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1' - regex: 'KM(1070)(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1 10.5"' - regex: 'KM(1065G)(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1 10.1"' - regex: 'KM0(701)(?:_1)?(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1 7.1"' - regex: 'KM0(80[45])(?:_1)?(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1 8.0"' - regex: 'KM0(702)(?:[);/ ]|$)' device: 'tablet' model: 'EAGLE $1 7.0"' - regex: 'K&M,([a-z0-9_ \-]+),(?:wired|wireless)' model: '$1' device: 'tv' # LAIQ LAIQ: regex: 'LAIQ|(?:Monaco)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:LAIQ_)?(Glam|New York|Dubai|Monaco)(?:[);/ ]|$)' model: '$1' # AIS AIS: regex: 'iris708|Kingcomm C500' device: 'smartphone' models: - regex: 'iris708' model: 'LAVA PRO 4.5' - regex: 'Kingcomm C500' model: 'Super Smart Plus X3' # Beko (https://www.beko.com.tr/) Beko: regex: 'Beko(?:[);/ ]|$)' device: 'tv' model: '' # Benco (www.bencomobile.com) Benco: regex: 'Benco[_ ]|(?:AE9(?:[03]10|1[25]0|2[2346]0|950)|AH9110)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AE9950' model: 'V60' - regex: 'AE9150' model: 'V62' - regex: 'AE9220' model: 'V70' - regex: 'AE9010' model: 'V80' - regex: 'AE9120' model: 'V90' - regex: 'AE9310' model: 'V91' - regex: 'AH9110' model: 'Y11' - regex: 'AE9240' model: 'S1' - regex: 'AE9260' model: 'S1 Pro' - regex: 'AE9230' model: 'Y32' # Laser (https://www.laserco.com.au/) Laser: regex: '(?:MID_1089IPSA100)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'MID_1089IPSA100(?:[);/ ]|$)' model: 'MID-1089IPSA100' # Lava (Lavamobiles.com) Lava: regex: 'Lava[ _]|LAVA(?:A1|X10)|(?:DISCOVER136|KKT QUADRA)|iris(?! Plus 2021|_Pad_G)[ _]?([^/;)]+)(?<!Plus 2021)(?: Build|[;)])|A(?:67|76) Build|X1 Selfie Build|X41 Plus Build|X1_atom_L|(?:Flair (?:[ZS]1|P8)|PixelV1|Pixel V2\+?|Z60s|Z61_2GB|A97 IPS|A97 2GB PLUS|L[EH]9920(?:[_ ]P)?|L[NEH]9910|LH9810|Ivory(?:S1|S4G)?|A76Plus|Grand2c|AH9910| A3_mini|T71_w|V23GB|R1_Lite|Atom 2X|AF9030|Z50_Pro| Z(?:[56]1|92)|Android 6(?:[\d.]*);(?: [\w-]+;)? (:?X28|P7plus)|AF9020|Alfa L|T81N(?:_UP)?|LN982[01]|Fuel F1 Mini|LE000Z93P)(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: 'LZX409(?:[);/ ]|$)' model: 'Blaze 2' - regex: 'LXX506(?:[);/ ]|$)' model: 'Blaze Pro 5G' - regex: 'LZX404(?:[);/ ]|$)' model: 'Blaze Pro' - regex: 'LZX411(?:[);/ ]|$)' model: 'Blaze' - regex: 'LZX407(?:[);/ ]|$)' model: 'Blaze NXT' - regex: 'LXX503(?:[);/ ]|$)' model: 'Blaze 5G' - regex: 'LXX505' model: 'Blaze Curve' - regex: 'Flair ([ZS]1|P8)(?:[);/ ]|$)' model: 'Flair $1' - regex: 'AF9030(?:[);/ ]|$)' model: 'Benco Y30' - regex: 'AF9020(?:[);/ ]|$)' model: 'Benco Y50' - regex: 'AH9910(?:[);/ ]|$)' model: 'Benco Y40' - regex: 'LXX501(?:[);/ ]|$)' model: 'Agni 5G' - regex: 'LXX504(?:[);/ ]|$)' model: 'Agni 2 5G' - regex: 'Z61P(?:[);/ ]|$)' model: 'Z61 Pro' - regex: 'A97 IPS(?:[);/ ]|$)' model: 'A97 IPS' - regex: 'LF6810(?:[);/ ]|$)' model: 'R5s Play' - regex: 'A97 2GB PLUS(?:[);/ ]|$)' model: 'A97 2GB Plus' - regex: 'A76Plus(?:[);/ ]|$)' model: 'A76 Plus' - regex: 'A3_mini(?:[);/ ]|$)' model: 'A3 Mini' - regex: 'Pixel V2\+(?:[);/ ]|$)' model: 'Pixel V2 Plus' - regex: 'Pixel ?V([12])(?:[);/ ]|$)' model: 'Pixel V$1' - regex: 'X1_atom_L(?:[);/ ]|$)' model: 'X1 Atom L' - regex: 'X1 Selfie(?:[);/ ]|$)' model: 'Iris X1 Selfie' - regex: 'X41 Plus(?:[);/ ]|$)' model: 'X41 Plus' - regex: '(?:LAVA[_ ]?)?A([13]|67|76)(?:[);/ ]|$)' model: 'A$1' - regex: 'LAVA_R(1s?)' model: 'R$1' - regex: 'LAVA Z3 UP' model: 'Z3' - regex: 'LEX402' model: 'Z33' - regex: 'Z(\d{2})(?:_2GB)?(?:[);/ ]|$)' model: 'Z$1' - regex: 'Z50_Pro(?:[);/ ]|$)' model: 'Z50 Pro' - regex: 'LMX06(?:[);/ ]|$)' model: 'Z6' - regex: 'LMG01(?:[);/ ]|$)' model: 'Z2' - regex: 'LZG402 OM' model: 'Z21' - regex: 'LZG403[ _]225(?:[);/ ]|$)' model: 'X2' - regex: 'LE000Z93P(?:[);/ ]|$)' model: 'Z2' - regex: 'LZG403[ _]25(?:[);/ ]|$)' model: 'Z3 Pro' - regex: 'LZG403(?:[);/ ]|$)' model: 'Z3' - regex: 'LZG401(?:[);/ ]|$)' model: 'Z6' - regex: 'Z60s(?:[);/ ]|$)' model: 'Z60s' - regex: 'V23GB(?:[);/ ]|$)' model: 'V2' - regex: 'LE9920[ _]P(?:[);/ ]|$)' model: 'V7' - regex: 'LE9940(?:[);/ ]|$)' model: 'V7 Prime' - regex: 'LE9940_W' model: 'V7s Prime' - regex: 'LE9920(?:[);/ ]|$)' model: 'Z53' - regex: 'LH9910(?:[);/ ]|$)' model: 'Z52' - regex: 'LF9810(?:_2GB)?(?:[);/ ]|$)' model: 'Z62' - regex: 'LF9820(?:[);/ ]|$)' model: 'Z71' - regex: 'LE9830(?:[);/ ]|$)' model: 'Z93' - regex: 'LN9810(?:[);/ ]|$)' model: 'Iris 66' - regex: 'LH9810(?:[);/ ]|$)' model: 'Iris 52' - regex: 'LH993[01](?:[);/ ]|$)' model: 'Iris 54' - regex: 'LE9930(?:[);/ ]|$)' model: 'Iris 59' - regex: 'LH9950(?:[);/ ]|$)' model: 'Iris 46' - regex: 'LN9821(?:[);/ ]|$)' model: 'Iris 45C' - regex: 'LN9820(?:[);/ ]|$)' model: 'Iris 45' - regex: 'Atom 2X(?:[);/ ]|$)' model: 'Iris Atom 2X' - regex: 'Alfa L(?:[);/ ]|$)' model: 'Iris Alfa L' - regex: 'LN9910(?:[);/ ]|$)' model: 'Z41' - regex: 'LE9910(?:[);/ ]|$)' model: 'V8' - regex: 'LH9920(?:[);/ ]|$)' model: 'V+6' - regex: 'Grand2c' model: 'Grand 2C' - regex: 'R1_Lite' model: 'R1 Lite' - regex: 'LE9820' model: 'R5' - regex: 'LE9810' model: 'R3 Note' - regex: 'P7plus' model: 'P7 Plus' - regex: 'LZX414' model: 'Yuva 3 Pro' - regex: 'LZX408' model: 'Yuva 2 Pro' - regex: 'LIX402' model: 'Yuva Pro' - regex: 'LZG409' model: 'Yuva Star' - regex: 'LXX508' model: 'Storm 5G' - regex: '(X\d+)[ _]Plus(?:[);/ ]|$)' model: '$1 Plus' - regex: '(X28)(?:[);/ ]|$)' model: '$1' - regex: 'iris88[_ ]go' model: 'Iris 88 Go' - regex: 'Fuel F1 Mini' model: 'Iris Fuel F1 Mini' # explicit feature phone models - regex: 'DISCOVER136' device: 'feature phone' model: 'Discover 136' - regex: 'KKT QUADRA' device: 'feature phone' model: 'KKT Quadra' - regex: 'KKT40[ ]?Power[P\+]' device: 'feature phone' model: 'KKT40 Power Plus' # explicit tablet models - regex: 'Ivory(S1|S4G)?(?:[);/ ]|$)' device: 'tablet' model: 'Ivory $1' - regex: 'T81N_UP(?:[);/ ]|$)' device: 'tablet' model: 'T81N Up' - regex: 'T81N(?:[);/ ]|$)' device: 'tablet' model: 'T81N' - regex: 'T71_w(?:[);/ ]|$)' device: 'tablet' model: 'T71' # explicit general - regex: 'iris[ _]?([^/;)]+)[_ ]lite(?: Build|[);])' model: 'Iris $1 Lite' - regex: 'iris[ _]?([^/;)]+)(?: Build|[);])' model: 'Iris $1' - regex: 'Lava[ _]?([^/;)]+)(?: Build|[);])' model: '$1' - regex: 'LAVA[ _]([^/;)]+)/MIDP' device: 'feature phone' model: '$1' # SKG (skgmobile.net | skgmobile.com) SKG: regex: '(Modern[ _](?:S10?|S[3679]))(?:[);/ ]|$)' device: 'smartphone' model: '$1' # iVA iVA: regex: '(LAMCY (?:L3[05]0|C100|L400)|IVA S6)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LAMCY (L3[05]0|C100|L400)(?:[);/ ]|$)' model: 'Lamcy $1' - regex: 'IVA S6(?:[);/ ]|$)' model: 'S6' # Landvo Landvo: regex: 'XM[123]00|(?<!Blade |Haipainoble )S6 Build' device: 'smartphone' models: - regex: 'S6 Build' # clone Galaxy S6 model: 'S6' - regex: 'XM([123])00([^/;)]*)(?: Build|[;)])' model: 'XM$100$2' # Land Rover Land Rover: regex: 'Land[ ]?Rover[d]?[ _-](?:X1[0-9]|Explore|T878|L15\+|V18|V[168]|X)(?:[);/ ]|$)|Polar3|Vphone[- ]X3|ST11-A5' device: 'smartphone' models: - regex: 'Land[ ]?Rover[d]?[ _-](X1[0-9]|Explore(?: R)?|T878|L15\+|V18|V[168]|X)(?:[);/ ]|$)' model: '$1' - regex: 'Vphone[- ]X3' model: 'Vphone X3' - regex: 'Polar3' model: 'Ioutdoor Polar 3' - regex: '(ST11-A5)' device: 'tablet' model: '$1' # iOutdoor iOutdoor: regex: 'iOutdoor (X)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Lanin Lanin: regex: 'lanin (T4)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # lanix (lanix.com) Lanix: regex: 'LANIX-([a-z0-9]+)|Ilium[ _]|LANIX_PAD|IliumPad|X120C|(?:Alpha 950(?:XL)?|Alpha [1359]V|X540)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ILIUM_PAD_RX10v5' device: 'tablet' model: 'Ilium Pad RX10 V5' - regex: 'LANIX_PAD_E7' device: 'tablet' model: 'Ilium Pad E7' - regex: 'ILIUM[ _]?PAD[ _]?([^;/]+)(?: Build|[;)])' model: 'Ilium Pad $1' device: 'tablet' - regex: 'X120C' model: 'Ilium X120C' - regex: 'Ilium[ _](Alpha [15]s|Alpha [379]|Alpha 1T|L(?:200|6[12]0|9[0125]0|1[0124]00|1050|1120)|LT5[012]0|M[579]s|M7T|M[13579]|S(?:106|520|6[27]0)|X(?:1[12]0|2[0126]0|400|5[12]0|500B|710))(?:[);/ ]|$)' model: 'Ilium $1' - regex: 'ILIUM[ _]([^;/)]+)(?: Build|[;)])' model: 'Ilium $1' - regex: 'Alpha (9500|950(?:XL)?)' model: 'Ilium Alpha $1' - regex: 'Alpha ([1359])V' model: 'Alpha $1V' - regex: '(X540)' model: '$1' - regex: 'LANIX-([a-z0-9]+)' device: 'feature phone' model: '$1' # Lark Lark: regex: '(Lark|Cumulus|Evolution|FreeMe|Ultimate (?:X4|7i))[ _-]|Build/Lark|Bjorn[_ ]SP-500|FreeBird 5WiFi|Impress_Noda' device: 'tablet' models: - regex: 'Cumulus[ _](5\.5|[56])[ _]HD' model: 'Cumulus $1 HD' device: 'smartphone' - regex: 'FreeMe X2 ([79]) (?:ver|v)?\.([23])' model: 'FreeMe X2 $1 Version $2' - regex: 'FreeMe X4 7 3G HD' model: 'FreeMe X4 7HD 3G' - regex: 'FreeMe[ _]X2[ _]([7-9])' model: 'FreeMe X2 $1' - regex: 'FreeMe X4[ _]7[_ ]?HD' model: 'FreeMe X4 7HD' - regex: 'FreeMe X4[ _]9' model: 'FreeMe X4 9' - regex: 'FreeMe X4 7' model: 'FreeMe X4 7' - regex: 'FreeBird 5WiFi' model: 'FreeBird 5 WiFi' - regex: '(?:Lark[ _-])?Evolution[ _](X2 7 3G-GPS|X4[_ ]10\.1|10|X4[_ ]7[ _]IPS)' model: 'Evolution $1' - regex: 'Ul(?:ti|it)mate (X4 10\.1 3G IPS|X4 8s 3G|7i)' model: 'Ultimate $1' - regex: 'PHABLET 7' model: 'Phablet 7' - regex: 'Phablet 6\.0' model: 'Phablet 6.0' device: 'smartphone' - regex: 'Bjorn[_ ]SP-500' model: 'Bjorn SP-500' device: 'smartphone' - regex: 'Cirrus[ _](4\.5|[45])' model: 'Cirrus $1' device: 'smartphone' - regex: 'Lark[ _](Stratus[_ ]5)' model: '$1' device: 'smartphone' - regex: 'Impress_Noda' model: 'Impress Noda' device: 'smartphone' # LCT LCT: regex: 'LCT_([a-z0-9]+)' device: 'feature phone' model: '$1' # Le Pan Le Pan: regex: 'Le ?Pan|TC970 ([^;/]+)Build' device: 'tablet' models: - regex: 'TC802A' model: 'Le Pan Mini' - regex: 'TC970 ([^;/]+)Build' model: 'TC970 $1' - regex: 'Le ?Pan ?(II|S)(?:[);/ ]|$)' model: 'Le Pan $1' - regex: 'Le ?Pan ?([^;/]+) Build' model: '$1' # Leagoo Leagoo: regex: '(?:MY)?LEAGOO[ _-]?|(?:XRover(?: C)?|Shark (5000|1|6300)|M5 EDGE|KIICAA (POWER|MIX)|Leapad[ _](?:X|7s|7Pro)|Alfa [125]|Elite [15Y]|Venture 1|Z10-E|M9 Pro|Power 5|Power[ _]2(?: Pro)?|Android 9(?:[\d.]*);(?: [\w-]+;)? M1[23]|Android 8(?:[\d.]*);(?: [\w-]+;)? (?:Z9A|T8s)|Lead 3| T5c)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:LEAGOO[- _])?M([89])[_-]?Pro(?:[);/ ]|$)' model: 'M$1 Pro' - regex: 'LEAGOO[- _](Z[156]|Z5c|M[58]|T1)(?:[);/ ]|$)' model: '$1' - regex: 'M5 EDGE' model: 'M5 Edge' - regex: '(?:LEAGOO[_ ])?Lead ?([357])' model: 'Lead $1' - regex: 'KIICAA POWER' model: 'KICCAA Power' - regex: 'KIICAA MIX' model: 'KICCAA Mix' - regex: 'Elite ([15Y])(?:[);/ ]|$)' model: 'Elite $1' - regex: 'Shark (1|5000|6300)(?:[);/ ]|$)' model: 'Shark $1' - regex: 'Power 2 Pro(?:[);/ ]|$)' model: 'Power 2 Pro' - regex: '(?:leagoo-)?Power[ _]([25])(?:[);/ ]|$)' model: 'Power $1' - regex: 'Venture 1(?:[);/ ]|$)' model: 'Venture 1' - regex: 'Alfa ([125])(?:[);/ ]|$)' model: 'Alfa $1' - regex: 'XRover( C)?(?:[);/ ]|$)' model: 'XRover$1' - regex: '(?:LEAGOO[- _])?(Z10-E|M6|M1[23]|T5c|T8s|Z9A)(?:[);/ ]|$)' model: '$1' - regex: '(?:My)?Leagoo[- _](E4)(?:[);/ ]|$)' model: '$1' - regex: 'Leapad 7Pro' device: 'tablet' model: 'LeaPad 7 Pro' - regex: 'LEAGOO_LEAPAD7_8' device: 'tablet' model: 'LeaPad 7' - regex: '(?:LEAGOO_)?Leapad[ _](7s|10|X|7I)' model: 'LeaPad $1' device: 'tablet' # Ledstar Ledstar: regex: '(?:Ledstar[_ ])?(?:Trendy 5\.0|Novus_Premium_6\.0)' device: 'smartphone' models: - regex: 'Trendy 5\.0' model: 'Trendy 5.0' - regex: 'Ledstar_Novus_Premium_6\.0(?:[);/ ]|$)' model: 'Novus Premium 6.0"' # Leelbox Leelbox: regex: 'Leelbox(?:[);/ ]|$)' device: 'tv' models: - regex: 'Leelbox(?:[);/ ]|$)' model: '' # LeEco LeEco: regex: 'Letv|LeEco|Le ?X[0-9][^;/]+|Le Max|Le [12]|Le2[_ ]x527|X900 Build|(?:X[89]00\+|X52[67]|lineage_c106)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'X800\+' model: 'Le 1 Pro' - regex: 'X900\+' model: 'Max X900+' - regex: 'X50[10]' model: 'Le 1S' - regex: 'LE ?(X62[26]|X522)' model: 'Le 3S $1' - regex: '(X910)' model: '$1' - regex: 'X900 Build' model: 'Le X900' - regex: 'LEX72[057](?:[);/ ]|$)' model: 'Le Pro 3' - regex: 'LEX65[0137](?:[);/ ]|$)' model: 'Le Pro 3 AI' - regex: 'LE(X620)(?:[);/ ]|$)' model: 'Le 2 $1' - regex: '(?:Le ?X526|Le2[_ ]x527|Le 2|X52[67])(?:[);/ ]|$)' model: 'Le 2' - regex: 'lineage_c106' model: 'Cool 1' - regex: 'LEX82[019]|Le Max 2' model: 'Le Max 2' - regex: 'Le ?X([^;/]+) Build' model: 'Le X$1' - regex: 'Le ?X([^) ;/]+)' model: 'Le X$1' - regex: 'Le ?([12][^;/]+) Build' model: 'Le $1' - regex: 'Le Max([^;/]*) Build' model: 'Le Max$1' - regex: 'Le Max([^ ;/]*)' model: 'Le Max$1' - regex: 'LeEco ([^;/]+) Build' model: '$1' # Lephone Lephone: regex: 'lephone[ _]|lephoneP1|S104G(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'lephone[ _](K7|K10)' device: 'feature phone' model: '$1' - regex: 'S104G' model: 'S104G' - regex: 'lephone_W7_plus|lephone W7+' model: 'W7 Plus' - regex: 'lephone(?:[ _])?([^/);]*)(?: Build|[);])' model: '$1' # Lemco Lemco: regex: 'Lemco (FBX-3566W?)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # lenco Lenco: regex: 'Lenco (?:[^/);]*)(?: Build|[);])|(?:TDV900)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'LENCO Diverso-700' device: 'portable media player' model: 'Diverso 700' - regex: 'TDV900' model: 'TDV900' - regex: 'Lenco ([^/);]*)(?: Build|[);])' model: '$1' # Aligator (aligator.cz) Aligator: regex: 'ALIGATOR[_ ]|(?:RX[67]00|S5710|RX460)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'RX850' model: 'RX850 eXtremo' - regex: '(?:ALIGATOR[ _])?(S4080|S5550|S50(?:6[56]|[678]0)|S55[24]0|S5710|RX510|S6[015]00|RX710|RX[678]00|RX460)(?:[);/ ]|$)' model: '$1' # lenovo (lenovo.com) Lenovo: regex: '(?:LNV-)?Lenovo|IdeaTab|IdeaPad|Thinkpad|Yoga Tablet|Tab2A[0-9]-[0-9]{2}[a-z]?|ZUK[ -_]|(?:TB2-X30L|TB3-710I|TB128FU|YT3-X50[MFL]|K50a40|TB-(?:Q706Z|X103F|8504F|X304F|X704V|X704A)|A5500-H|A2107A-H|A3500-HV|A2109A|S6000|Z2 Plus|Vibe[ _](?:P1|S6i Plus|S[23567]i|C|[ZX]2|K5(?: Plus)?|V7)|P2A42|L38011|L18011|[5-8]01LV|[67]02LV|Z2131|K350t|K31-t3|Tab A1020|TAB 2 A8-50LC|S90-A|A101LV|P70-A|VR-1541F|d-42A|lineage_A6020|EveryPad2|A2010l36|F0CU0028RK|TB310XU|TB301FU|TB132FU|TB32(?:8[FX]U|0FC)|TB138FC|PB-6505Y|TB-X505[FL]|TB-8704V|TB3[05]0[FX]U|TB-X605[FL]|L38043|TB3-X70L|TB-X605[LF]C|A7600-HV?|YT-X703F|TB330XU|TB371FC|TB3[17]0FU|TB331FC|A397i|TB330FU|NL5H00X|L79031|XT2091-[78]|L71061|L70081|L78031|20JJS0CU1M)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Lenovo ?G780' model: 'G780' device: 'desktop' - regex: 'Lenovo ?A3500-FL' model: 'IdeaTab A7-40' device: 'tablet' - regex: 'Tab A1020' model: 'IdeaTab A1020' device: 'tablet' - regex: '(?:Lenovo ?)?A3500-(?:H|HV|F)' model: 'IdeaTab A7-50' device: 'tablet' - regex: '(?:Lenovo[ _])?A5500-[HF]' model: 'IdeaTab A8-50' device: 'tablet' - regex: 'Lenovo ?A7600|A7600-H' model: 'IdeaTab A10-70' device: 'tablet' - regex: 'A2107A-H' model: 'A2107' device: 'tablet' - regex: 'A2109A' model: 'IdeaTab A2109A' device: 'tablet' - regex: 'TB2-X30[FL]' model: 'Tab 2 A10-30' device: 'tablet' - regex: 'TB-X6C6[XF]' model: 'Tab K10' device: 'tablet' - regex: 'YT3-X50[FLM]' model: 'Yoga Tab 3' device: 'tablet' - regex: 'YT-J706[XF]' model: 'Yoga Tab 11' device: 'tablet' - regex: 'YT-K606F' model: 'Yoga Pad Pro' device: 'tablet' - regex: 'TB3-730X' model: 'TAB3 7' device: 'tablet' - regex: 'TB3-710[IF]' model: 'TAB3 7 Essential' device: 'tablet' - regex: 'TB-7703X' model: 'TAB3 7 Plus' device: 'tablet' - regex: 'TB3-X70L' model: 'TAB3 10 Plus' device: 'tablet' - regex: 'TB3-X70F' model: 'TAB3 10 Business' device: 'tablet' - regex: 'TB-8703[XF]' model: 'TAB3 8 Plus' device: 'tablet' - regex: 'TB-8X04F' model: 'TAB4 8 REL' device: 'tablet' - regex: 'TAB 2 A8-50LC' model: 'TAB2 A8-50LC' device: 'tablet' - regex: '501LV(?:[);/ ]|$)' model: 'TAB2 8.0"' device: 'tablet' - regex: 'TAB 2 A10-70L(?:[);/ ]|$)' model: 'TAB 2 A10' device: 'tablet' - regex: '(?:TB3-850[FM]|601LV)(?:[);/ ]|$)' model: 'TAB3 8' device: 'tablet' - regex: '602LV(?:[);/ ]|$)' model: 'TAB3 8 Dual' device: 'tablet' - regex: 'TB-X304[FL]' model: 'TAB4 10' device: 'tablet' - regex: 'TB-8504[XL]' model: 'TAB4 8' device: 'tablet' - regex: 'TB-8704X' model: 'TAB4 8 Plus' device: 'tablet' - regex: '(?:TB-X704[FVL]|70[12]LV)(?:[);/ ]|$)' model: 'TAB4 10 Plus' device: 'tablet' - regex: '801LV(?:[);/ ]|$)' model: 'TAB5 10.1"' device: 'tablet' - regex: 'TB-X103F(?:[);/ ]|$)' model: 'TAB10 10.1"' device: 'tablet' - regex: 'TB-X704A(?:[);/ ]|$)' model: 'Moto Tab' device: 'tablet' - regex: 'TB-X605F(?:[);/ ]|$)' model: 'Tab M10' device: 'tablet' - regex: 'TB330[FX]U(?:[);/ ]|$)' model: 'Tab M11' device: 'tablet' - regex: 'TB310[FX]U(?:[);/ ]|$)' model: 'Tab M9' device: 'tablet' - regex: 'TB-X705[FL](?:[);/ ]|$)' model: 'Tab P10' device: 'tablet' - regex: 'TB-J606[LF](?:[);/ ]|$)' device: 'tablet' model: 'Tab P11' - regex: 'TB-Q706[FZ](?:[);/ ]|$)' device: 'tablet' model: 'Tab P12 Pro' - regex: 'TB370FU' device: 'tablet' model: 'Tab P12' - regex: 'TB-J606[FN]' device: 'tablet' model: 'Tab K11' - regex: 'TB-J607F(?:[);/ ]|$)' device: 'tablet' model: 'Tab QT K11 Pro WiFi' - regex: 'TB-J6C6F(?:[);/ ]|$)' device: 'tablet' model: 'Tab QT K11 WiFi' - regex: 'TB-J616[XF](?:[);/ ]|$)' model: 'Tab P11 Plus' device: 'tablet' - regex: 'TB-J706[LF](?:[);/ ]|$)' model: 'Tab P11 Pro' device: 'tablet' - regex: 'TB132FU(?:[);/ ]|$)' model: 'Tab P11 Pro (Gen 2)' device: 'tablet' - regex: 'TB350[FX]U(?:[);/ ]|$)' model: 'Tab P11 (Gen 2)' device: 'tablet' - regex: 'TB-J607Z(?:[);/ ]|$)' model: 'Tab K11 Pro 5G' device: 'tablet' - regex: 'TB-7104[IF](?:[);/ ]|$)' model: 'Tab E7' device: 'tablet' - regex: 'TB-8304F1(?:[);/ ]|$)' model: 'Tab E8' device: 'tablet' - regex: 'TB-7304' model: 'Tab 7 Essential' device: 'tablet' - regex: 'TB-7504X(?:[);/ ]|$)' model: 'Tab 7' device: 'tablet' - regex: 'PB-6505' model: 'Tab V7' device: 'tablet' - regex: 'A101LV' model: 'Tab 6' device: 'tablet' - regex: 'TB-X606[FXV]A?(?:[);/ ]|$)' model: 'Tab M10 FHD Plus' device: 'tablet' - regex: 'TB-X605[FL]C' model: 'Tab M10 FHD Rel' device: 'tablet' - regex: 'TB-X605' model: 'Tab M10 FHD' device: 'tablet' - regex: 'Lenovo TB-X306' model: 'Tab M10 HD' device: 'tablet' - regex: '(?:Lenovo )?TB12[58][FX]U' model: 'Tab M10 Plus (Gen 3)' device: 'tablet' - regex: '(?:Lenovo )?TB328[FX]U' model: 'Tab M10 (Gen 3)' device: 'tablet' - regex: '(?:Lenovo )?TB-X505' # 2019 model: 'Tab M10' device: 'tablet' - regex: 'TB-7305[IXF](?:[);/ ]|$)' model: 'Tab M7' device: 'tablet' - regex: 'TB-7306[XF](?:[);/ ]|$)' model: 'Tab M7 (Gen 3)' device: 'tablet' - regex: 'Lenovo ?B8000(-[FH])?' model: 'Yoga Tablet 10' device: 'tablet' - regex: 'Lenovo ?B8080(-[FH])?' model: 'Yoga Tablet 10 HD' device: 'tablet' - regex: 'YOGA Tablet 2 Pro-1380[FL]' model: 'Yoga Tablet 2 Pro 13.3"' device: 'tablet' - regex: 'YOGA Tablet 2-1050[FL]' model: 'Yoga Tablet 2 10.1"' device: 'tablet' - regex: 'YOGA Tablet 2-830(?:[FL]|LC)' model: 'Yoga Tablet 2 8.0"' device: 'tablet' - regex: 'Lenovo ?B6000(-[FH])?' model: 'Yoga Tablet 8' device: 'tablet' - regex: 'YT3-X90(L|F|X)' model: 'Yoga 3 Pro' device: 'tablet' - regex: 'YT3-850[FL]' model: 'Yoga Tab 3 8' device: 'tablet' - regex: 'YT3-850M' model: 'Yoga Tab 3 10' device: 'tablet' - regex: 'YT-X703[FL]' model: 'Yoga Tab 3 Plus' device: 'tablet' - regex: 'YT-X705[FL]' model: 'Yoga Smart Tab' device: 'tablet' - regex: 'YB1-X90[FL]' model: 'Yoga Book' device: 'tablet' - regex: 'TB-J716F' model: 'XiaoXin Pad Pro 11.5" (2021)' device: 'tablet' - regex: 'TB138FC' model: 'Xiaoxin Pad Pro 11" (2022)' device: 'tablet' - regex: 'TB331FC' model: 'Xiaoxin Pad 11" (2024)' device: 'tablet' - regex: 'EveryPad2' model: 'Yamada Every Pad 2' device: 'tablet' - regex: 'TB371FC' model: 'Xiaoxin Pad Pro 12.7"' device: 'tablet' - regex: 'S6000(?:[);/ ]|$)' model: 'IdeaTab S6000' device: 'tablet' - regex: 'Lenovo ([ASB][0-9]{4})[A-Z]?\-[EHF]' model: 'IdeaTab $1' device: 'tablet' - regex: 'ThinkPadTablet_(A[0-9]{3})_' model: 'ThinkPad Tablet $1' device: 'tablet' - regex: 'ThinkPad ?Tablet([^;/]*) Build' model: 'ThinkPad Tablet$1' device: 'tablet' - regex: 'Lenovo ?A3300-(?:GV|H)' model: 'TAB 2 A7-30' device: 'tablet' - regex: 'TAB 2 A7-30[HGD]C' model: 'TAB 2 A7' device: 'tablet' - regex: 'TB-8504F' model: 'TAB 4 8' device: 'tablet' - regex: 'TB-8704[FV]' model: 'Tab 4 8" Plus' device: 'tablet' - regex: 'TB-X304X' model: 'Tab 4 10.1"' device: 'tablet' - regex: 'TB-X304F' model: 'TAB4 10' device: 'tablet' - regex: 'TB-X505[FX]' model: 'M10' device: 'tablet' - regex: 'TB-X104[FXL]' model: 'E10' device: 'tablet' - regex: 'Tab2A([0-9]-[0-9]{2}[a-z]?)' model: 'TAB 2 A$1' device: 'tablet' - regex: 'IdeaTab[ \-_]?([a-z0-9]+)' model: 'IdeaTab $1' device: 'tablet' - regex: 'YB-Q501F' # tablet/pc model: 'Yoga A12' device: 'tablet' - regex: 'YT-X705X' model: 'Yoga Smart Tab' device: 'tablet' - regex: 'Yoga Tablet([^;/]+) Build' model: 'Yoga Tablet$1' device: 'tablet' - regex: 'TB-8505[FX]S' model: 'Smart Tab M8' device: 'tablet' - regex: 'TB-8505[FX]' model: 'Tab M8' device: 'tablet' - regex: 'TB-8506[FX]' model: 'Tab M8 (Gen 3)' device: 'tablet' - regex: 'TB300[FX]U' model: 'Tab M8 (Gen 4)' device: 'tablet' - regex: 'TB301[FX]U' model: 'Tab M8 (Gen 4) (2024)' device: 'tablet' - regex: 'TB-8705[FX]' model: 'Tab M8 FHD' device: 'tablet' - regex: '(?:TB-9707F|TB320FC)(?:[);/ ]|$)' device: 'tablet' model: 'Legion Y700' - regex: 'Lenovo (TB[0-9]?\-[a-z0-9\-]+) Build' model: '$1' device: 'tablet' - regex: 'L71061' model: 'Legion Y90' - regex: 'L71091' model: 'Legion Y70' - regex: 'Lenovo S([69]0)-?[aU]' model: 'S$1' - regex: 'Lenovo K30-W(?:[);/ ]|$)' model: 'K3' - regex: 'L18011(?:[);/ ]|$)' model: 'A5' - regex: 'L18081(?:[);/ ]|$)' model: 'A5s' - regex: 'L19111(?:[);/ ]|$)' model: 'A7' - regex: 'L10041(?:[);/ ]|$)' model: 'A8' - regex: 'L78121(?:[);/ ]|$)' model: 'Z6' - regex: 'Z2 Plus' model: 'Z2 Plus' - regex: 'Z2151' model: 'ZUK Edge' - regex: 'Z213[12]' model: 'ZUK Z2' - regex: 'Z2121' model: 'ZUK Z2 Pro' - regex: 'ZUK[ -_]([^/;]*)(?: Build|\))' model: 'ZUK $1' - regex: 'K10a40(?:[);/ ]|$)' model: 'C2' - regex: '(?:k50a40|K50-t5)(?:[);/ ]|$)' model: 'K3 Note' - regex: 'K(1[30]) Note(?:[);/ ]|$)' model: 'K$1 Note' - regex: 'A7010(?:a48)?(?:[);/ ]|$)' model: 'K4 Note' - regex: 'K350t(?:[);/ ]|$)' model: 'K5' - regex: 'L38011(?:[);/ ]|$)' model: 'K5 Play' - regex: '(?:L38041|K5 Pro)(?:[);/ ]|$)' model: 'K5 Pro' - regex: 'L39051(?:[);/ ]|$)' model: 'K10 Plus' - regex: '(?:A7020a4[08]|L38012|K52e78)(?:[);/ ]|$)' model: 'K5 Note' - regex: 'L19041(?:[);/ ]|$)' model: 'A6 Note' - regex: 'K31-t3(?:[);/ ]|$)' model: 'K31' - regex: 'A6010Pro(?:[);/ ]|$)' model: 'A6010 Pro' - regex: '(?:A6020a46|Vibe K5 Plus|lineage_A6020)(?:[);/ ]|$)' model: 'Vibe K5 Plus' - regex: '(?:Lenovo-)?(?:A6020(?:a40|l36)|Vibe K5)(?:[);/ ]|$)' model: 'Vibe K5' - regex: 'VIBE Z2(?:[);/ ]|$)' model: 'Vibe Z2' - regex: '(?:VIBE C|A2020a40)(?:[);/ ]|$)' model: 'Vibe C' - regex: '(?:VIBE X2|X2-(?:X+CU|TO|AP))(?:[);/ ]|$)' model: 'Vibe X2' - regex: '(?:X3(?:a40|c[57]0)|K51c78)(?:[);/ ]|$)' model: 'Vibe X3' - regex: 'Lenovo X3 Lite(?:[);/ ]|$)' model: 'Vibe X3 Lite' - regex: 'VIBE V7(?:[);/ ]|$)' model: 'Vibe V7' - regex: 'VIBE S6i Plus(?:[);/ ]|$)' model: 'Vibe S6i Plus' - regex: 'VIBE[ _]S([23567])i(?:[);/ ]|$)' model: 'Vibe S$1i' - regex: 'L79031(?:[);/ ]|$)' model: 'Legion Pro' - regex: 'L70081(?:[);/ ]|$)' model: 'Legion 2 Pro' - regex: 'k33a48(?:[);/ ]|$)' model: 'K6' - regex: 'L38043(?:[);/ ]|$)' model: 'K9' - regex: 'L3808[23](?:[);/ ]|$)' model: 'K11' - regex: 'P2A42(?:[);/ ]|$)' model: 'P2' - regex: 'L38031(?:[);/ ]|$)' model: 'K5S' - regex: 'k53a48(?:[);/ ]|$)' model: 'K6 Note' - regex: 'K33a42(?:[);/ ]|$)' model: 'K6 Power' - regex: 'P1ma40(?:[);/ ]|$)' model: 'Vibe P1m' - regex: 'Vibe P1 Turbo(?:[);/ ]|$)' model: 'Vibe P1 Turbo' - regex: '(?:P1(?:a42|c72)|Vibe P1)(?:[);/ ]|$)' model: 'Vibe P1' - regex: 'A2016a40(?:[);/ ]|$)' model: 'Vibe B' - regex: 'A1010a20(?:[);/ ]|$)' model: 'A Plus' - regex: '(?:Z90a40|Z90-7)(?:[);/ ]|$)' model: 'Vibe Shot' - regex: 'S1a40(?:[);/ ]|$)' model: 'Vibe S1' - regex: 'S1La40(?:[);/ ]|$)' model: 'Vibe S1 Lite' - regex: 'L78071(?:[);/ ]|$)' model: 'Z5s' - regex: 'L78011(?:[);/ ]|$)' model: 'Z5' - regex: 'L78031(?:[);/ ]|$)' model: 'Z5 Pro' - regex: '(?:Z6 Pro 5G|L79041)(?:[);/ ]|$)' model: 'Z6 Pro 5G' - regex: '(?:Z6 Pro|L78051)(?:[);/ ]|$)' model: 'Z6 Pro' - regex: 'L78032(?:[);/ ]|$)' model: 'Z5 Pro GT' - regex: 'L38111(?:[);/ ]|$)' model: 'Z6 Youth' - regex: 'L58041(?:[);/ ]|$)' model: 'S5 Pro' - regex: 'L58091(?:[);/ ]|$)' model: 'S5 Pro GT' - regex: 'L18021(?:[);/ ]|$)' model: 'A3' - regex: 'PB2-6(?:70M|50[YM])(?:[);/ ]|$)' model: 'Phab 2' - regex: 'PB1-750M(?:[);/ ]|$)' model: 'Phab' - regex: 'PB1-770M(?:[);/ ]|$)' model: 'Phab Plus' - regex: '(S90-A|P70-A|A397i)(?:[);/ ]|$)' model: '$1' - regex: 'IdeaPad ?([^;/]*) Build' model: 'IdeaPad $1' device: 'tablet' - regex: 'd-42A(?:[);/ ]|$)' model: 'dtab Compact 42A' # NNT Docomo device: 'tablet' - regex: 'XT2081-4' model: 'K12' - regex: 'A2010l36' model: 'A2010' - regex: 'Lenovo K12 Pro|XT2091-[78]' model: 'K12 Pro' - regex: 'Lenovo X2(?:-[ER]U)?' model: 'X2' - regex: 'VR-1541F' # VR headset device: 'wearable' model: 'Mirage Solo' - regex: 'NL5H00X' # Laser Projector device: 'peripheral' model: 'Xiaoxin 100' - regex: 'Projector701' device: 'peripheral' model: 'Projector 701' - regex: 'LENOVO/81W8(?:[);/ ]|$)' device: 'desktop' model: 'IdeaPad S145-15IIL' - regex: 'LENOVO/81MV(?:[);/ ]|$)' device: 'desktop' model: 'IdeaPad S145-15IWL' - regex: 'LENOVO/81SS(?:[);/ ]|$)' device: 'desktop' model: 'Flex 14API 81SS' - regex: 'F0CU0028RK(?:[);/ ]|$)' device: 'desktop' model: 'IdeaCentre 520S-23IKU' - regex: '20JJS0CU1M(?:[);/ ]|$)' device: 'desktop' model: 'ThinkPad Yoga 370' - regex: 'Lenovo TAB ?([^/);]*)(?: Build|[;)])' model: 'TAB $1' device: 'tablet' - regex: 'Lenovo ([^/);]*)(?: Build|[;)])' model: '$1' - regex: '(?:LNV-|Lenovo-)?Lenovo[ \-_]?([a-z0-9_+\-]+)' model: '$1' # Lexand or LEXAND (lexand.ru) Lexand: regex: 'Lexand[ _]|(?:S[BC]7 PRO HD|SB5 HD|S5A[1-4]|S4A[1-5]|S6A1|A811|(?<!Tab )A802|LPH7_Smarty)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'A(811|802)' device: 'tablet' model: 'A$1' - regex: 'S4A1' model: 'Vega' - regex: 'S4A2' model: 'Irida' - regex: 'S4A3' model: 'Pallada' - regex: 'S4A5' model: 'Oxygen' - regex: 'S4A4 NEON' model: 'S4A4 Neon' - regex: 'S5A1' model: 'Callisto' - regex: 'S5A2' model: 'Overon' - regex: 'S5A3' model: 'Capella' - regex: 'S5A4' model: 'Argon' - regex: 'S6A1' model: 'Antares' - regex: '(S[CB]7) PRO HD' device: 'tablet' model: '$1 PRO HD' - regex: '(SB5) HD' device: 'tablet' model: '$1 HD' - regex: 'LPH7_Smarty' model: 'LPH7 Smarty' - regex: 'Lexand[ _]([^;/)]+)(?: Build|[;)])' model: '$1' # lexibook Lexibook: regex: '(MFC[0-9]{3}[a-z]{2,})' device: 'tablet' models: # Explicit tablet models - regex: 'MFC191FR' model: 'Tablet Ultra 3 XL' - regex: 'MFC045FR' model: 'TabTab' - regex: 'MFC163FR' model: 'Tablet Master 3' - regex: 'MFC142FR' model: 'Tablet Kids' - regex: 'MFC250FR' model: 'Tablet Junior' - regex: 'MFC270FR' model: 'Tablet Junior Power Touch' - regex: 'MFC280FR' model: 'Tablet Junior 2' - regex: 'MFC156FR' model: 'Tablet One' - regex: 'MFC155FR' model: 'Tablet Master' - regex: 'MFC157FR' model: 'Tablet Master 2' - regex: 'MFC17[05]FR' model: 'Tablet Ultra' - regex: 'MFC375FR' model: 'Tablet Ultra 2' - regex: 'MFC162FR' model: 'Power Tablet' - regex: 'MFC180FR' model: 'Tablet Advanced' - regex: 'MFC181FR' model: 'Tablet Advanced 2' - regex: 'MFC500FR' model: 'Tablet XL' - regex: 'MFC190BBFR' model: 'Barbie Tablet' - regex: 'MFC195DCFR' model: 'Tablet Disney Cars HD' - regex: 'MFC195FUFR' model: 'Furby Tablet' - regex: 'MFC195DPFR' model: 'Tablet Disney Princesse HD' - regex: 'MFC140FR' model: 'LapTab' - regex: 'MFC141FR' model: 'LapTab 2' - regex: '(MFC[0-9]{3}[a-z]{2,})' model: '$1' # Vargo or Ivargo Vargo: regex: 'Vargo[; _]|(?:V210101|Android 8(?:[\d.]*);(?: [\w-]+;)? VX4)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(V210101|VX4)(?:[);/ ]|$)' model: '$1' # LG or LGE (lg.com) LG: regex: '(?<!TECNO Mobile |TECNO )LG(?!(?: Browser/8| NetCast\.TV| WebOS|E[;,]))|NetCast(?!\.TV)|WebAppManager|portalmmm/2\.0 (?:KE|KG|KP|L3)|(?:(?!VX20|VX19)VX[0-9]+|L-0[12]D|L-07C|P713|(LM-[A-Z][0-9]{3}[A-Z]{0,3}(?:\(FGN?\)|\(G\)|\.FN|\.F(?:GN?)?)?)|LM-(X625N1|G820QM[0127])|G Watch|lucye)(?:[);/ ]|$)|RS98[78]|RS500|VS(?:50[01]|835|876|880|98[05-8]|99[056]|(410|415|425|500|880)PP)|VS820|VS870 4G|Nexsus 5|10A30Q|LML(41[34]D|211B|713D|212V)L|VK810 4G|VK815|X5-LG|L-05[DE]|L-03K|L-01[LJK]|L-52A|L-[45]1A|901LG|A001LG|80[12]LG|402LG|LGT32|L-02K|L-01F|LM-V40|DM-01K|DM-02H|LMX130IM|LMG820UM1|VS810PP|VS425|VM670|VS930 4G|US215|32LH590U-ZE' device: 'smartphone' models: - regex: 'DM-(01K|02H)' model: 'Disney Mobile DM-$1' - regex: 'LG-?(?:D32[0159]|AS323|LS620)' model: 'L70' - regex: 'LG-?(D315|L31L|F370)' model: 'F70' - regex: 'LG-D4(?:[01]5|[01]0)' model: 'L90' - regex: 'LG-D37[35]' model: 'L80' - regex: 'LG-D340F8' model: 'L70 Tri' - regex: 'LG-D12[05]' model: 'L30' - regex: 'LG-D160' model: 'L40' - regex: 'LG-?(?:X132|X130g)' model: 'L45' - regex: 'LG-?(?:D157f|D150)' model: 'L35' - regex: 'LG-D10[057]' model: 'L20' - regex: 'LG-X14[057]' model: 'L60' - regex: 'LG-X13[57]' model: 'L60i' - regex: 'LG-D28[05]' model: 'L65' - regex: 'LM-X210APM' model: 'Phoenix 4' - regex: 'LG-P505R' model: 'Phoenix' - regex: 'LM-X210VPP' model: 'Zone 4' - regex: 'LM-X220PM' model: 'Tribute Empire' - regex: 'LG-SP200' model: 'Tribute Dynasty' - regex: 'LG-?LS675' model: 'Tribute 5' - regex: 'LG-?LS665' model: 'Tribute 2' - regex: 'LG-F570' model: 'Band Play' - regex: 'VS930 4G' model: 'Spectrum II 4G' - regex: 'VS980|L-01F|LG-(?:F320[LKS]|D80[012356]|LS980)' model: 'G2' - regex: 'LG-D6(?:1[08]|2[05])' model: 'G2 Mini' - regex: 'LG-(?:D85[012568]|AS990|F400[LKS])|LG-?LS990|(?:LG-)?(?:VS985|LGUS990|LGL24|LGD85[05]|LGV31)(?:[);/ ]|$)' model: 'G3' - regex: 'LG-?LS885' model: 'G3 Vigor' - regex: 'LG-F410S' model: 'G3 A' - regex: 'LG-D722(?!J)' model: 'G3S' - regex: 'LG-(?:D72[23568]|F470[LKS]|D722J)' model: 'G3 Beat' - regex: 'LG-D693n?|LG-D690n' model: 'G3 Stylus' - regex: 'LG-F460' model: 'G3 Cat. 6' - regex: 'LG-D724' model: 'G3s' - regex: 'LG-?H81[012589]|LG-?[LU]S991|LGV32|LG-F500[LSK]|VS986' model: 'G4' - regex: 'LG-H525n?' model: 'G4c' - regex: 'LG-H22[012]' model: 'Joy' - regex: 'LG-(?:H540|H542|H630)' model: 'G4 Stylus' - regex: 'LG-H73[46]' model: 'G4s' - regex: 'LG-H735' model: 'G4 Beat' - regex: 'LG-H731' model: 'G4 Vigor' - regex: 'LG-H8(?:20|3[01]|5[08]|6[08])|VS987|(?:LG-)?RS988|LG-F700[SKL]|LG-?(?:[LU]S992|AS992)' model: 'G5' - regex: 'LG-H84[05]' model: 'G5 SE' - regex: 'VS988|LG-H87(?:[01](?:DS|[SI]|AR)?|[23])|LG-?US997|LGM-G600[SKL]|LG-[AL]S993|lucye' model: 'G6' - regex: 'LM-Q850' model: 'G7 Fit' - regex: 'LM-Q910' model: 'G7 One' - regex: 'LG-?(?:L23|D95[015689]|LS995|D950G|F340[LKS])(?:[);/ ]|$)' model: 'G Flex' - regex: 'LG-?(?:H95[059]|F510[KLS]|LS996|AS995)' model: 'G Flex 2' - regex: 'LG-D68[0-6]' model: 'G Pro Lite' - regex: 'LM-G820([NV]|QM[0127]|UMB)?' model: 'G8' - regex: 'LG-F430L' model: 'Gx2' - regex: 'LG-F310LR?' model: 'Gx' - regex: 'LM-G850' model: 'G8X ThinQ' - regex: 'LM-G810' model: 'G8S ThinQ' - regex: '901LG(?:[);/ ]|$)' model: 'G8X ThinQ' - regex: 'LG-H410(?:[);/ ]|$)' model: 'Wine Smart H410' - regex: 'LG-?(?:D486|F480[LKS])(?:[);/ ]|$)' model: 'Wine Smart' - regex: 'LG-?T480[KS]' model: 'Wine Smart 3G' - regex: 'LG-F610[KS]' model: 'Wine Smart Jazz' - regex: 'VS501|LM-X120' model: 'K20' - regex: 'LGMS395|LG-D393' model: 'F60' - regex: 'LG-(?:F520[LKS]|H788)' model: 'AKA' - regex: 'LM-K920' model: 'K92' - regex: 'LGL41C' model: 'Ultimate 2' - regex: 'LGLS660' model: 'Tribute' - regex: '(?:LG-)?H50[02]' model: 'Magna' - regex: 'LGL63BL' model: 'Fiesta' - regex: 'LGL16(?:3BL|4VL)' model: 'Fiesta 2' - regex: 'LG-(?:X15[05]|X165g)' model: 'Bello 2' - regex: 'LG-D33[157]' model: 'L Bello' - regex: 'LG-D29[05]' model: 'L Fino' - regex: '(?:LG-)?H343' model: 'Risio' - regex: '(?:LG-)?H650' model: 'Zero' - regex: '(?:LG-)?M154' model: 'Risio 2' - regex: 'LGM-K120[LSK]' model: 'X300' - regex: 'LG-K120(?:[);/ ]|$)' model: 'Spree' - regex: 'LGM-X401S' model: 'X400' - regex: 'LGM-X320[SKL]?(?:[);/ ]|$)' model: 'X500' - regex: 'LGM-X100S' model: 'Smart Folder X100S' - regex: 'LG-F620[KLS]' model: 'Class' - regex: 'LG-?L18VC' model: 'Classic' - regex: '(?:LG-)?P500H' model: 'Optimus One' - regex: '(?:LG-?)?VS450PP' model: 'Optimus Exceed 2' - regex: 'LG-(?:E97[567]|F180[KLS]|E987|LS970)|LGL01E' model: 'Optimus G' - regex: 'LG-F220K' model: 'Optimus GK' - regex: 'LG-?L39C' model: 'Optimus Dynamic II' - regex: 'LG-(?:F240[KLS]|E98[69]|E98[015])' model: 'Optimus G Pro' - regex: 'LG-E435f?' model: 'Optimus L3 II' - regex: 'LG-E4(?:70f|40|65f)' model: 'Optimus L4 II' - regex: 'LG-E4(?:67f|45)' model: 'Optimus L4 II Dual' - regex: 'LG-?(?:D180f|D175f|D170|D165)' model: 'Optimus L40' - regex: 'LG-E4[56]0' model: 'Optimus L5 II' - regex: 'LG-E61[02]' model: 'Optimus L5' - regex: 'LG-(?:E4[17]5f|E410)' model: 'Optimus L1 II' - regex: 'LG-(?:D605)' model: 'Optimus L9 II' - regex: 'LG-P875' model: 'Optimus F5' - regex: 'LG-?(?:P655H|MS659)' model: 'Optimus F3' - regex: 'LGMS500|LG-D505' model: 'Optimus F6' - regex: 'LG-US780' model: 'Optimus F7' - regex: '(L-05[DE])(?:[);/ ]|$)' model: 'Optimus it $1' - regex: 'LG-L160L|LG-F160' model: 'Optimus LTE 2' - regex: 'LG-F260S' model: 'Optimus LTE 3' - regex: 'LG-F120' model: 'Optimus LTE Tag' - regex: 'LG-P705' model: 'Optimus L7' - regex: '(?:LG-)?(?:P713|P71[0245]|P713TR)(?:[);/ ]|$)' model: 'Optimus L7 II' - regex: 'LG-P716(?:[);/ ]|$)' model: 'Optimus L7 II Dual' - regex: 'LG-?MS323' model: 'Optimus L70' - regex: 'L-01D(?:[);/ ]|$)' model: 'Optimus LTE L-01D' - regex: 'L-02D(?:[);/ ]|$)' model: 'PRADA phone L-02D' - regex: 'L-07C' model: 'Optimus Bright L-07C' - regex: '(?:LG-?)?(?:F800[SKL]?|H990|H910(?:PR)?|US996|V34|LS997)(?:[);/ ]|$)' model: 'V20' - regex: 'LM-Q710(?:\(FGN\)|[\.]?FGN)' model: 'Q Stylus Plus' - regex: 'LG-?(?:D22[17]|D213)' model: 'L50 Sporty' - regex: 'LG-LS840' model: 'Viper 4G LTE' - regex: '801LG' model: 'Q Stylus' - regex: 'LG-M400' model: 'Stylus 3' - regex: 'LG-?(?:K520|F720[KLS])' model: 'Stylus 2' - regex: 'LG-(?:K53[05])' model: 'Stylus 2 Plus' - regex: 'LM-Q[67]10\.FG(?:[);/ ]|$)' model: 'Q7' - regex: 'LM-(Q72[57][KLS]|Q610[\(.]FGN)(?:[);/ ]|$)' model: 'Q7+' - regex: 'LM-Q815[KSL](?:[);/ ]|$)' model: 'Q8+' - regex: 'LGM-X800[KL]|LG-H970' model: 'Q8' - regex: 'LM-Q925[LKS](?:[);/ ]|$)' model: 'Q9' - regex: 'LM-(?:Q730N|Q620)(?:[);/ ]|$)' model: 'Q70' - regex: 'LM-Q520N(?:[);/ ]|$)' model: 'Q52' - regex: 'LGV33(?:[);/ ]|$)' model: 'Qua Phone PX' - regex: 'LG-MS870' model: 'Sprint 4G' - regex: 'L-03K(?:[);/ ]|$)' model: 'Style' - regex: 'L-01L(?:[);/ ]|$)' model: 'Style 2' - regex: 'LGLS775|LGL8(?:2V|1A)L' model: 'Stylo 2' - regex: 'VS835(?:[);/ ]|$)' model: 'Stylo 2 V' - regex: 'LG-?(?:MS550|K55[07])' model: 'Stylo 2 Plus' - regex: 'L-41A(?:[);/ ]|$)' model: 'Style 3' - regex: 'LG-?(?:MS63[14]|H63[145]|F560K|LS770)(?:[);/ ]|$)' model: 'G Stylo' - regex: 'LG-?(?:LS777|L84VL|M430|L83BL)(?:[);/ ]|$)' model: 'Stylo 3' - regex: 'LG-?([TM]P450|M470F?)(?:[);/ ]|$)' model: 'Stylo 3 Plus' - regex: 'LM-Q710|LML713DL|LG-Q710[AP]L' model: 'Stylo 4' - regex: '(?:LM-Q720|LGL722DL)(?:[);/ ]|$)' model: 'Stylo 5' - regex: 'LM-Q730(?:[);/ ]|$)' model: 'Stylo 6' - regex: 'LM-G710(N|VM)?|LG-G710' model: 'G7 ThinQ' - regex: 'LMG820UM1' model: 'G8 ThinQ' - regex: 'LG-M153' model: 'Fortune' - regex: 'LM-X210CM' model: 'Fortune 2' - regex: 'LG-H44[35]' model: 'Escape 2' - regex: 'LM-X410\.FG?(?:[);/ ]|$)' model: 'Premier Pro' - regex: 'LGL455DL(?:[);/ ]|$)' model: 'Premier Pro Plus' - regex: 'LML41[34]DL(?:[);/ ]|$)' model: 'Premier Pro LTE' - regex: 'LG-?L6(?:2V|1A)L(?:[);/ ]|$)' model: 'Premier' - regex: 'LG-?L5(?:2V|1A)L(?:[);/ ]|$)' model: 'Treasure' - regex: 'LM-X525' model: 'Q60' - regex: 'LM-K315IM' model: 'W31' - regex: 'LG-?L355DL' model: 'K31' - regex: 'LGL423DL' model: 'Solo LTE' - regex: 'LG-F820L' model: 'U' - regex: 'LM-X210[KLS]' model: 'X2' - regex: 'LG-(?:K580|F690[LS])' model: 'X Cam' - regex: 'LG-?K600' model: 'X Mach' - regex: 'LG-(?:SP320|M32[27]|US601)' model: 'X Charge' - regex: 'LG-?(?:LS676|L56VL|L53BL|K200)' model: 'X Style' - regex: 'LG-F740L' model: 'X Skin' - regex: 'LG-?(?:K500|F650|S02)' model: 'X Screen' - regex: 'LG-(?:M710|H700|US701)' model: 'X Venture' - regex: 'LM-X510WM' model: 'X Power 3' - regex: 'LM-X(?:41[05]K|410S)' model: 'X4' - regex: 'LM-X(415[LS]|410L)' model: 'X4+' - regex: 'LM-X410(?:\.FN|\(FG\))' model: 'K11' - regex: 'LM-X(?:320|410[UP]M)|LGL322DL' model: 'K30' - regex: 'LMX130IM' model: 'W10' - regex: 'LM-K310IM' model: 'W11' - regex: 'LM-X600IM' model: 'W30 Pro' - regex: 'LM-X440ZMW' model: 'W30' - regex: 'LM-K610IM' model: 'W41' - regex: 'LG-H522' model: 'Prime Plus 4G' - regex: 'LGL58VL' model: 'Rabel 2' - regex: 'LG-X190' model: 'Ray' - regex: 'LG-?LS740' model: 'Volt' - regex: 'LG-?LS751' model: 'Volt II' - regex: 'LM-X410' model: 'LM-X410' - regex: 'LGM-K121' model: 'X400' - regex: 'LGM-X401L' model: 'X401' - regex: 'LM-X420N' model: 'X4 (2019)' - regex: '(?:VS425|LG-?(?:K120GT|K121|M151|X230))(?:[);/ ]|$)' model: 'K4' - regex: 'LG-K130(?:[);/ ]|$)' model: 'K4 LTE' - regex: '(?:LG-?)?(?:M160|L57BL)(?:[);/ ]|$)' model: 'K4 (2017)' - regex: 'LM-X420' model: 'K40' - regex: 'LM-X430(?:[);/ ]|$)' model: 'K40S' - regex: 'LM-K410' model: 'K41S' - regex: 'LG-X220' model: 'K5' - regex: 'LM-X540' model: 'K50S' - regex: '(?:802LG|LM-X520)(?:[);/ ]|$)' model: 'K50' - regex: '402LG' model: 'Spray' - regex: 'L-02K' model: 'JoJo' - regex: '(?:LM-X510[KLS]|X5-LG)' model: 'X5' - regex: 'LM-X625N1' model: 'X6' - regex: 'LM-X625N' model: 'X6 (2019)' - regex: 'LGMS210|LG-M210' model: 'Aristo' - regex: 'LM-X210[G]?' model: 'Aristo 2' - regex: 'LM-X220(?:[);/ ]|$)' model: 'Aristo 3' - regex: 'LM-X220N(?:[);/ ]|$)' model: 'X2 (2019)' - regex: 'LM-V40(?:5|9N|5EBW)?(?:[);/ ]|$)' model: 'V40 ThinQ' - regex: 'LM-(?:V500N?|V450)(?:[);/ ]|$)' model: 'V50 ThinQ' - regex: 'LM-V510N' model: 'V50S ThinQ' - regex: 'LM-Q920N' model: 'Q92' - regex: 'LM-Q927L' model: 'Q9 One' - regex: '(?:LG-)?(?:RS987|H90[01]|H96[0218]|VS990|F600[LKS]|K428)' model: 'V10' - regex: 'LG-(?:X240|M200)' model: 'K8 (2017)' - regex: 'LM-X220QMA' model: 'K8s' - regex: '(?:LG-)?RS500' model: 'K8 4G' - regex: '(?:LG-)?VS500' model: 'K8 V' - regex: 'LM-X212\(G\)|(?:LG)?US215' model: 'K8 (2018)' - regex: '(?:LG-)?(?:VS995|F800K|US999|LS997|H91[058]|H990(?:DS|[NT])?)' model: 'V20' - regex: '(?:VS996|LG-(?:H933|H93[012]|H930RE|H932PR|[LU]S998|AS998)|LGM-V300[KLS])(?:[);/ ]|$)' model: 'V30' - regex: 'L-01J(?:[);/ ]|$)' model: 'V20 Pro' - regex: '(?:L-01K|LGV35|LG-H930DS)(?:[);/ ]|$)' model: 'V30 Plus' - regex: 'L-51A(?:[);/ ]|$)' model: 'V60' - regex: '(?:L-52A|LM-G900(?:[NV]|TM)?)(?:[);/ ]|$)' model: 'Velvet 5G' - regex: 'LM-V700N(?:[);/ ]|$)' model: 'Velvet 2 Pro' - regex: 'LM-G910' model: 'Velvet 4G' - regex: '(?:A001LG|LM-V600V?)(?:[);/ ]|$)' model: 'V60 ThinQ 5G' - regex: '(?:LG-)?VS410PP' model: 'Optimus Zone' - regex: 'LM-V350[N]?' model: 'V35' - regex: '(?:LG-)?VS415PP' model: 'Optimus Zone 2' - regex: '(?:LG-)?VS425PP' model: 'Optimus Zone 3' - regex: '(?:LG-?)?(?:K100|LS450)' model: 'K3' - regex: 'LG-AS110|LGUS110' model: 'K3 (2017)' - regex: '(?:LG-?)?(?:K|MS)33[02]|LG-X210' model: 'K7' - regex: '(?:LG-?)?(?:K|MS)350' model: 'K8' - regex: 'VS500PP' model: 'K8 V' - regex: '(?:LG-?)?(?:K420(?:N)?|K425|F670[KLS]?|K430(?:DS|DSF|DSY)?|K410|MS428)' model: 'K10' - regex: '(?:LG-)?(?:M250N?|M257PR)' model: 'K10 (2017)' - regex: '(?:LG-)?M255' model: 'K20' - regex: '(?:LG-?)?[MT]P260' model: 'K20 Plus' - regex: 'LM-K200(?:[);/ ]|$)' model: 'K22' - regex: 'LM-K300(?:[);/ ]|$)' model: 'K31' - regex: 'LM-K330(?:[);/ ]|$)' model: 'K33' - regex: 'LM-K420(?:[);/ ]|$)' model: 'K42' - regex: '(?:LM-K500|LGL555DL)(?:[);/ ]|$)' model: 'K51' - regex: 'LM-K510(?:[);/ ]|$)' model: 'K51S' - regex: 'LM-K520(?:[);/ ]|$)' model: 'K52' - regex: 'LM-K525(?:[);/ ]|$)' model: 'K56' - regex: 'LM-K526(?:[);/ ]|$)' model: 'K56 Plus' - regex: 'LM-Q510N(?:[);/ ]|$)' model: 'Q51' - regex: 'LM-Q310N(?:[);/ ]|$)' model: 'Q31' - regex: 'LM-Q630N?(?:[);/ ]|$)' model: 'Q61' - regex: '(?:LG-)?M700(?:N|A|DSK|AN)?|LGM-X600[SLK]|LG-M703|LG-US700' model: 'Q6' - regex: 'LM-X440' model: 'W30' - regex: 'LGV36(?:[);/ ]|$)' model: 'it' - regex: 'LG-M257(?:[);/ ]|$)' model: 'Harmony' - regex: 'LM-K400(?:[);/ ]|$)' model: 'Harmony 4' - regex: '(?:LG-?)?(?:K220|LS755|F750K|US610)' model: 'X Power' - regex: '(?:LG-?)?M320' model: 'X Power 2' - regex: '(?:LG-)?K371' model: 'Phoenix 2' - regex: '(?:LG-)?M150' model: 'Phoenix 3' - regex: '(?:LG-)?F100[SL]' model: 'Optimus Vu' - regex: '(?:LG-)?F200(?:[KLS]|LS)' model: 'Optimus Vu II' - regex: '(?:LG-)?VM670' model: 'Optimus V' - regex: '(?:LG-)?P880' model: 'Optimus 4X HD' - regex: '(?:LG-)?(H340n?|H32[04])' model: 'Leon' - regex: '(?:LG-)?H34[25]|LGMS345' model: 'Leon 4G LTE' - regex: '(?:LG-)?H4(?:40|2[02])' model: 'Spirit' - regex: '(?:LG)?C660' model: 'Optimus Pro' - regex: 'LGL158VL' model: 'Rebel 3' - regex: 'LML21(?:1B|2V)L' model: 'Rebel 4' - regex: 'LG-?L4(?:4V|3A)L' model: 'Rebel' - regex: 'VS876' model: 'Lucid 3' - regex: 'VS880(PP)?|LG-(?:D690|D631)' model: 'G Vista' - regex: 'LG-H740' model: 'G Vista 2' - regex: 'VS820' model: 'Lancet' - regex: 'VS870 4G' model: 'Lucid 2' - regex: 'VS810PP' model: 'Transpyre' - regex: 'LG-F580L' model: 'Gentle' - regex: 'LG-?(?:D838|F350[LKS])' model: 'G Pro 2' - regex: 'LG-F300[LKS]' model: 'Vu 3' - regex: 'LG-FL40L' model: '070 Touch' - regex: 'LG-F440L' model: 'Ice Cream Smart' - regex: 'LG-D38[05]' model: 'L80 Dual' - regex: 'LG-D370' model: 'L80 Single' - regex: 'LG-?(?:L16C|L15G)' model: 'Y25' - regex: 'LM-F100N?(?:[);/ ]|$)' device: 'phablet' model: 'WING' - regex: '10A30Q' model: 'Ultra Tab' device: 'tablet' - regex: 'LM-T60[05]' model: 'G Pad 5 10.1" FHD' device: 'tablet' - regex: 'LG-?(?:(?:UK|V)410|V411|V400Y7)' model: 'G Pad 7.0" LTE' device: 'tablet' - regex: 'LG-V533' model: 'G Pad IV 8.0"' device: 'tablet' - regex: 'LG-?(?:LK430|V400)' model: 'G Pad F 7.0"' device: 'tablet' - regex: 'LGLK430' model: 'G Pad F 7.0"' device: 'tablet' - regex: 'LG-V49[56]' model: 'G Pad F 8.0"' device: 'tablet' - regex: 'LG-LK460' model: 'G Pad F2 8.0"' device: 'tablet' - regex: 'LG-V4[89]0' model: 'G Pad 8.0' device: 'tablet' - regex: 'LGT01|LG-P490L' model: 'G Pad 8.0" LTE' device: 'tablet' - regex: 'LG-V50(?:0|7L)' model: 'G Pad 8.3' device: 'tablet' - regex: 'LG-V700' model: 'G Pad 10.1' device: 'tablet' - regex: 'LG-V497' model: 'G Pad II 8.0"' device: 'tablet' - regex: 'LG-V935' model: 'G Pad II 10.1' device: 'tablet' - regex: 'LG-V940' model: 'G Pad II 10.1 FHD' device: 'tablet' - regex: 'LGT02|LG-?V522' model: 'G Pad III 8.0' device: 'tablet' - regex: 'LG-V525(?:S[13])?(?:[);/ ]|$)' model: 'G Pad III 8.0" FHD' device: 'tablet' - regex: 'LG-?[VP]755' model: 'G Pad III 10.1" FHD LTE' device: 'tablet' - regex: 'LG-P530L' model: 'G Pad IV 8.0" FHD LTE' device: 'tablet' - regex: 'VK810' model: 'G Pad 8.3 LTE' device: 'tablet' - regex: 'VK815' model: 'G Pad X 8.3' device: 'tablet' - regex: 'LG-V52[01]' model: 'G Pad X 8.0"' device: 'tablet' - regex: 'LG-V930' model: 'G Pad X 10.1"' device: 'tablet' - regex: 'LG-V530' model: 'G Pad X2 8.0" Plus' device: 'tablet' - regex: 'LG-?UK750' model: 'G Pad X2 10.1"' device: 'tablet' - regex: 'LGT32' model: 'Qua Tad PZ' device: 'tablet' - regex: 'LGT31' model: 'Qua Tad PX' device: 'tablet' - regex: 'KEY0000010F' device: 'tv' model: 'KEY0000010F' - regex: '\(LGE?, WEBOS[123], (?:wired|wireless)' device: 'tv' model: 'WebOS TV' - regex: 'Web0S; Linux/SmartTV.+\( ?;LGE? ?;(\d{2}\w+) ?;' device: 'tv' model: '$1' - regex: 'LGE;? (?:HOTEL\-TV; )?([0-9]{2}[a-z0-9]{4,9}(?:\-[a-z]{2,3})?)' model: '$1' device: 'tv' - regex: '\(LGE?,? ([a-z0-9_ \-]+),? (?:wired|wireless)' model: '$1' device: 'tv' - regex: 'Media/([a-z]{2,3}[0-9]{3,4})' model: '$1' device: 'tv' - regex: '47LA790W-ZA' model: '47LA790W-ZA' device: 'tv' - regex: 'webOS\.TV' device: 'tv' model: 'WebOS TV' - regex: 'LGE_DLNA_SDK|NetCast' device: 'tv' model: 'NetCast' - regex: 'LG Watch Urbane' device: 'wearable' model: 'Watch Urbane' - regex: 'G Watch( R)?' device: 'wearable' model: 'G Watch$1' # general detections - regex: '(LM-[A-Z]{1}[0-9]{3}([A-Z]{1,3})?)' model: '$1' - regex: 'LGE(?: |-LG| LG-AX|-)([a-z0-9]+)' model: '$1' - regex: 'FBDV/LG-([a-z0-9]+);FBSV' model: '$1' - regex: 'LGE;([a-z0-9\-]+)' model: '$1' - regex: 'LG[ _\-](V90.*|Optimus[ _\-]Pad.*) Build' device: 'tablet' model: '$1' - regex: 'LGM-([^/;]*)( Build|[;)])' model: '$1' - regex: 'LG(?:/|-LG| |-)?([^/;]*) Build' model: '$1' - regex: 'LG(?:/|-LG| |-)?([a-z0-9]+)' model: '$1' - regex: 'LG; ([a-z0-9 ]+)' model: '$1' - regex: 'portalmmm/2\.0 ((?:KE|KG|KP|L3)[a-z0-9]+)' model: '$1' - regex: '(VX[0-9]+)' model: '$1' - regex: 'Web0S; Linux/SmartTV' device: 'tv' model: '' # Lifemaxx Lifemaxx: regex: 'LIFEMAXX, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # Lingbo Lingbo: regex: '(?:Venus Pad14)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Venus Pad14' model: 'Venus Pad 14' # Lingwin Lingwin: regex: 'Lingwin[ _\-]' device: 'smartphone' models: - regex: 'Lingwin[ _\-]?([^/;]+) Build' model: '$1' - regex: 'Lingwin[ _\-]?([^);/ ]+)' model: '$1' # Logic Instrument (https://logic-instrument.com/) Logic Instrument: regex: 'Logic Instrument|Fieldbook K101' device: 'smartphone' models: - regex: 'Fieldbook F1(?:[);/ ]|$)' model: 'Fieldbook F1' - regex: 'Fieldbook F1B' model: 'Fieldbook F1B' - regex: 'Fieldbook K101' device: 'tablet' model: 'Fieldbook K101' - regex: 'Fieldbook KS80' device: 'tablet' model: 'Fieldbook KS80' # Logicom (logicom-europe.com) Logicom: regex: 'LOGICOM[_ ]|(TAB950|TAB1062|E731|E812|E912|E1031|POWER BOT|La[ _]?Tab[ _]?(?:7[24]|10[57]|11[345]|12[4789]|292|Stand(?:RB)?)|(?:[BCM]|ID|VR)[ _]?BOT[ _]?(?:TAB[ _])?([0-9]+\+?)(?:PLUS)?|KT712A_4\.4|L-?IXIR[0-9]*|L_IXIR_TAB_1047HD|L-ITE|L-EGANTONE(?:-R)?|Le Fizz|L-?EMENT.+|Le[ _]?(?:Up|Connect|Omega|Hop|Hello|Lift|Pulse|Prime|Swipe|Wave|Hola|Moov[2]?|Must(?: 2)?|Starter L|Fit FR|Spark|Prime|Smooth(?: FR)?)|Tab_Stand_Pro|LeFit|logikids4|Le Link|TAB76|Five Pro|Solar(?: Pro)?|LUNAR|Lunar Pro|Elio)(?:[);/ ]|$|_)' device: 'tablet' models: - regex: 'Tab_Stand_Pro' model: 'La Tab Stand Pro' - regex: 'La[ _]?Tab[ _]?(7[24]|10[57]|11[345]|127 HD|12[89]|105_P|292|Stand)(?:[);/ ]|$)' model: 'La Tab $1' - regex: 'LaTabStandRB(?:[);/ ]|$)' model: 'La Tab Stand' - regex: 'TAB76(?:[);/ ]|$)' model: 'La Tab 79' - regex: 'La[_ ]Tab[_ ]124[_ ]HD[_ ]Plus(?:[);/ ]|$)' model: 'La Tab 124 HD Plus' - regex: 'LOGICOM_LA_TAB_LINK_71' model: 'La Tab Link 71' - regex: 'logikids4' model: 'Logikids 4' - regex: 'KT712A_4\.4|L-IXIR TAB 701 3G' model: 'L-ixir Tab 701 3G' - regex: 'L_IXIR_TAB_1047HD' model: 'L-ixir Tab 1047 HD' - regex: 'LIXIR1041' model: 'L-ixir Tab 1041' - regex: 'L-?IXIR[ _]TAB[ _]([^);/]+)( Build|[);])' model: 'L-ixir Tab $1' - regex: 'L-ITE[ _](400M|452|50[46] HD|506R HD|552 HD)(?:[);/ ]|$)' device: 'smartphone' model: 'L-ite $1' - regex: 'L-ITE[ _]([^;/]+) Build' model: 'L-ite Tab $1' - regex: 'L-?EMENT[ _]?(350|451|40[103]|55[013]|50[15]|500L?)(?:[);/ ]|$)' model: 'L-ement $1' device: 'smartphone' - regex: 'L-?EMENT[ _](?:TAB)[ )]?([^);/]+)(?: Build|[);])' model: 'L-ement Tab $1' - regex: 'L-?EMENT[ _]?(74[01])(?:[);/ ]|$)' model: 'L-ement Tab $1' - regex: '(TAB950|TAB1062|E731|E812|E912|E1031)(?:[);/ ]|$)' model: '$1' - regex: 'POWER BOT' model: 'POWER BOT' - regex: 'M bot (5[14])' device: 'smartphone' model: 'M BOT $1' - regex: 'VR bot (552) Plus' device: 'smartphone' model: 'VR BOT $1 Plus' - regex: 'VR bot (552)' device: 'smartphone' model: 'VR BOT $1' - regex: '((?:[BCM]|ID|VR))[ _]?BOT[ _]?TAB[ _]([0-9]+(?:PLUS|\+)?)' model: '$1 BOT Tab $2' - regex: '((?:[BCM]|ID|VR))[ _]?BOT[ _]?((?:TAB[ _])?([0-9]+\+?)(?:PLUS)?)' model: '$1 BOT $2' - regex: 'Elio' model: 'Elio' device: 'smartphone' - regex: 'Five Pro' model: 'Five Pro' device: 'smartphone' - regex: 'Solar Pro' model: 'Solar Pro' device: 'smartphone' - regex: 'SOLAR' model: 'Solar' device: 'smartphone' - regex: 'Lunar Pro' model: 'Lunar Pro' device: 'smartphone' - regex: 'LUNAR' model: 'Lunar' device: 'smartphone' - regex: 'Le Lift' model: 'Le Lift' device: 'smartphone' - regex: 'Le Link' model: 'Le Link' device: 'smartphone' - regex: 'Le Wave' model: 'Le Wave' device: 'smartphone' - regex: 'Le Swipe' model: 'Le Swipe' device: 'smartphone' - regex: 'Le Omega' model: 'Le Omega' device: 'smartphone' - regex: 'Le[ _]Connect' model: 'Le Connect' device: 'smartphone' - regex: 'Le[ _]Pulse' model: 'Le Pulse' device: 'smartphone' - regex: 'Le[ _]Prime' model: 'Le Prime' device: 'smartphone' - regex: 'Le Hola FR(?:[);/ ]|$)' model: 'Le Hola FR' device: 'smartphone' - regex: 'Le[ _]Hola(?:[);/ ]|$)' model: 'Le Hola' device: 'smartphone' - regex: 'LeMoov2(?:[);/ ]|$)' model: 'Le Moov 2' device: 'smartphone' - regex: 'LeMoov(?:[);/ ]|$)' model: 'Le Moov' device: 'smartphone' - regex: 'Le Fit FR(?:[);/ ]|$)' model: 'Le Fit FR' device: 'smartphone' - regex: 'Le[ _]?Fit' model: 'Le Fit' device: 'smartphone' - regex: 'Le Fizz' model: 'Le Fizz' device: 'smartphone' - regex: 'Le Hop(?:[);/ ]|$)' model: 'Le Hop' device: 'smartphone' - regex: 'Le[ _]Hello(?:[);/ ]|$)' model: 'Le Hello' device: 'smartphone' - regex: 'Le Smooth FR(?:[);/ ]|$)' model: 'Le Smooth FR' device: 'smartphone' - regex: 'Le Smooth(?:[);/ ]|$)' model: 'Le Smooth' device: 'smartphone' - regex: 'Le Must 2(?:[);/ ]|$)' device: 'smartphone' model: 'Le Must 2' - regex: 'Le Must(?:[);/ ]|$)' model: 'Le Must' device: 'smartphone' - regex: 'Le Starter L(?:[);/ ]|$)' model: 'Le Starter L' device: 'smartphone' - regex: 'Le[ _]Spark(?:[);/ ]|$)' model: 'Le Spark' device: 'smartphone' - regex: 'Le[ _]Prime(?:[);/ ]|$)' model: 'Le Prime' device: 'smartphone' - regex: 'L-EGANTONE-R' model: 'L-Egant One R' device: 'smartphone' - regex: 'L-EGANTONE' model: 'L-Egant One' device: 'smartphone' - regex: 'Le Up(?:[);/ ]|$)' model: 'Le Up' device: 'smartphone' # Konka (https://konka.com.ar/) Konka: regex: 'KONKA[_ ]([a-z0-9]+)|(?: R[EU]1|KC516(?: Pro)?)(?:[);/ ]|$)' device: 'smartphone' models: # Explicit smartphone models - regex: 'KC516 Pro' model: 'Phoenix Pro' - regex: 'KC516' model: 'Phoenix' - regex: 'E5660S' model: 'Viva 5660s' - regex: 'W830' model: 'Tango 830' - regex: 'W(9[67]0)' model: 'Expose $1' - regex: 'W990' model: 'Tuxedo 990' - regex: '( R[EU]1)(?:[);/ ]|$)' model: '$1' - regex: '2K Android TV' device: 'tv' model: '2K Smart TV' - regex: 'KONKA[_ ]([a-z0-9]+)' device: 'feature phone' model: '$1' # Konrow (konrow.com) Konrow: regex: 'KONROW[_ ]|(?:LINK55|KTAB_1003|BIGCOOL|SOFT5P?|COOLFIVE|COOL-K|Just5|Link5|EASY ?(?:5|62|K55)|EASY_5_EEA|EASY55|CITY55?|CITY4|Cool55|SKY_?55_EEA|Android 11(?:[\d.]*);(?: [\w-]+;)? SWEET5|SWEET 55)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'BIGCOOL(?:[);/ ]|$)' model: 'BigCool' - regex: 'LINK55(?:[);/ ]|$)' model: 'LINK55' - regex: 'COOL-K(?:[);/ ]|$)' model: 'Cool-K' - regex: 'Cool55(?:[);/ ]|$)' model: 'Cool 55' - regex: 'SOFT5(?:[);/ ]|$)' model: 'Soft 5' - regex: 'SOFT5P(?:[);/ ]|$)' model: 'Soft 5P' - regex: 'COOLFIVE(?:[);/ ]|$)' model: 'Cool Five' - regex: 'Just5(?:[);/ ]|$)' model: 'Just 5' - regex: 'Link5(?:[);/ ]|$)' model: 'Link 5' - regex: 'EASY ?(55?|62|K55)(?:[);/ ]|$)' model: 'Easy $1' - regex: 'EASY_5_EEA(?:[);/ ]|$)' model: 'Easy 5' - regex: 'CITY(55?|4)(?:[);/ ]|$)' model: 'City $1' - regex: 'SKY_?55_EEA(?:[);/ ]|$)' model: 'Sky 55' - regex: 'SWEET ?(55?)(?:[);/ ]|$)' model: 'Sweet $1' - regex: 'KONROW[_ ](701X)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'KTAB_1003(?:[);/ ]|$)' device: 'tablet' model: 'K-Tab 1003' # K-Lite K-Lite: regex: 'NAVTECH_TOUCHY_F2' device: 'smartphone' models: - regex: 'NAVTECH_TOUCHY_F2' model: 'Navtech Touchy F2' # Karbonn (karbonnmobiles.com) Karbonn: regex: '(?:Browser-)?Karbonn|K9 Kavach 4G|K9[_ ](?:Viraat|Smart)[_ ]Plus|K9 Music 4G|K9 Smart|K9 VIRAAT 4G|Aura (?:Sleek Plus|Sleek 4G|Power 4G Plus|Note Play|Note 2|Storm|Champ)|Titanium[ _](?:3D-Plex|Octane Plus|Vista 4G|Jumbo|S360|S1[059]|S35|S20[13]|S22|S[15]|S200 HD|Frames S7|MOGHUL|S9)|MACHFIVE|MACHONE|Sparkle V|Alfa A114 Quad|Quattro[ _]L(?:45|5[025])[ _](?:HD|IPS|VR)|A41 Power|A(?:[19]|4[05])[ _]Indian|S2052GB|MACH SIX VR|K-Lite F3|Titanium Vista' device: 'smartphone' models: - regex: 'K9 Kavach 4G' model: 'K9 Kavach 4G' - regex: 'K9 Music 4G' model: 'K9 Music 4G' - regex: 'K9 Smart Eco Plus' model: 'K9 Smart Eco Plus' - regex: 'K9 Smart Eco' model: 'K9 Smart Eco' - regex: 'K9 Smart 4G' model: 'K9 Smart 4G' - regex: 'K9 Smart Selfie' model: 'K9 Smart Selfie' - regex: 'K9 Smart Grand' model: 'K9 Smart Grand' - regex: 'K9 Smart Yuva' model: 'K9 Smart Yuva' - regex: 'K9[_ ]Smart[_ ]Plus' model: 'K9 Smart Plus' - regex: 'K9 Smart(?: 1GB)?' model: 'K9 Smart' - regex: 'A40 Indian Plus' model: 'A40 Indian Plus' - regex: 'A([19]|4[05])[ _]Indian' model: 'A$1 Indian' - regex: 'K9[_ ]Viraat[_ ]Plus' model: 'K9 Viraat Plus' - regex: 'Aura Sleek Plus' model: 'Aura Sleek Plus' - regex: 'Aura Power 4G Plus' model: 'Aura Power 4G Plus' - regex: 'Aura Note Play' model: 'Aura Note Play' - regex: 'Aura Note 2' model: 'Aura Note 2' - regex: 'Aura Storm' model: 'Aura Storm' - regex: 'Aura Champ' model: 'Aura Champ' - regex: 'Aura Sleek 4G' model: 'Aura Sleek 4G' - regex: 'Alfa A114 Quad' model: 'Alfa A114 Quad' - regex: '(?:karbonn)?K9 Viraat 4G' model: 'K9 Viraat 4G' - regex: 'MACHFIVE' model: 'Mach Five' - regex: 'MACHONEPLUS' model: 'Titanium Mach One Plus' - regex: 'MACHONE' model: 'Titanium Mach One' - regex: 'MACH SIX VR' model: 'Titanium Mach Six VR' - regex: 'Titanium[ _]S([29])[ _]?Plus' model: 'Titanium S$1 Plus' - regex: 'Titanium[_ ]S(99|360|1[059]|109|35|200 HD|20[13]|22|[15])(?:[);/ ]|$)' model: 'Titanium S$1' - regex: 'Titanium Vista(?: 4G)?' model: 'Titanium Vista 4G' - regex: 'Titanium Jumbo 2' model: 'Titanium Jumbo 2' - regex: 'Titanium Jumbo' model: 'Titanium Jumbo' - regex: 'Titanium[ _]MOGHUL' model: 'Titanium Moghul' - regex: 'Titanium Frames S7' model: 'Titanium Frames S7' - regex: 'Titanium Octane Plus' model: 'Titanium Octane Plus' - regex: 'Titanium[ _]3D-Plex' model: 'Titanium 3D Plex' - regex: 'S2052GB' model: 'Titanium S250 2GB' - regex: 'K-lite F3' model: 'K-Lite F3' - regex: 'Sparkle V' model: 'Sparkle V' - regex: 'A41 Power' model: 'A41 Power' - regex: 'Quattro[ _]L(5[05])[ _]HD' model: 'Quattro L$1 HD' - regex: 'Quattro[ _]L(45)[ _]IPS' model: 'Quattro L$1 IPS' - regex: 'Quattro[ _]L(52)[ _]VR' model: 'Quattro L$1 VR' - regex: 'Karbonn ([a-z0-9]+) WAP-Browser' model: '$1' device: 'feature phone' - regex: 'WAP Browser-Karbonn ([a-z0-9]+)/' model: '$1' device: 'feature phone' - regex: 'Karbonn_([^;/)]+)' model: '$1' - regex: 'Karbonn ([^;/)]+)(?: Build|[);])' model: '$1' - regex: 'Karbonn ([^;/]+)/' model: '$1' # Sagem (https://www.sagemcom.com/) Sagem: regex: 'SAGEM(?!com)|portalmmm/2\.0 (?:SG|my)' device: 'smartphone' models: - regex: 'SAGEM-(my[a-z0-9\-]+)' model: '$1' device: 'feature phone' - regex: 'SAGEM ([a-z0-9]+)' model: '$1' - regex: 'SAGEM-([a-z0-9\-]+)' model: '$1' - regex: 'portalmmm/2\.0 ((?:SG|my)[a-z0-9]+)' model: '$1' # Coby Kyros Coby Kyros: regex: '(MID(?:1024|112[56]|1045|1048|106[05]|4331|701[26]|7015A?|70[32]2|703[56]|704[278]|7052|7065|7120|8024|80[47]2|8048|8065|8125|812[78]|9724|974[02])|CTB761)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Mpman (mpmaneurope.com) Mpman: regex: '(?:MPQC|MPDC)[0-9]+|PH(?:150|340|350|360|451|500|520|544|604)|(?:MID(?:7C|74C|82C|84C|801|811|701|711|170|77C|43C|102C|103C|104C|114C)|MP100i OCTA|MP(?:843|717|718|1010|7007|7008|843|888|959|969|QCG(1[01]|77)(?: 3G)?)|MGP7)(?:[);/ ]|$)' device: 'tablet' models: - regex: '((?:MPQC|MPDC)[0-9]+[^/;)]*)(?: Build|[;)])' model: '$1' - regex: 'MP100i OCTA(?:[);/ ]|$)' model: 'MP100i OCTA' - regex: 'MPQCG10(?: 3G)?(?:[);/ ]|$)' model: 'MPQCG10 3G' - regex: '(MID(?:7C|74C|82C|84C|801|811|701|711|170|77C|43C|102C|103C|104C|114C)|MP(?:843|717|718|1010|7007|7008|843|888|959|969|QCG(?:11|77))|MGP7)(?:[);/ ]|$)' model: '$1' - regex: '(PH(?:150|340|350|360|451|500|520|544|604))' model: '$1' device: 'smartphone' # Manta Multimedia or Manta Manta Multimedia: regex: 'MSP950(1[245]|2[01])|MSP96017|MSP94501|MSP95009|MSP96002|MSP450[79]|((?<!/)MID713|MID(?:06[SN]|08[S]?|12|13|14|15|701|702|703|704|705(?:DC)?|706[AS]?|707|708|709|711|712|714|717|781|801|802|901|1001|1002|1003|1004(?: 3G)?|1005|1009|1010|7802|9701|9702))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '((?<!/)MID713|MID(?:06[SN]|08[S]?|12|13|14|15|701|702|703|704|705(?:DC)?|706[AS]?|707|708|709|711|712|714|717|781|801|802|901|1001|1002|1003|1004(?: 3G)?|1005|1009|1010|7802|9701|9702))(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'MSP95012' model: 'Titano 1' - regex: 'MSP95014' model: 'Titano 3' - regex: 'MSP95015' model: 'Mezo 2' - regex: 'MSP95020' model: 'Rocky 2' - regex: 'MSP95021' model: 'Rocky 3 Pro' - regex: 'MSP96017' model: 'Forto 2' - regex: 'MSP96002' model: 'Forto 1' - regex: 'MSP94501' model: 'Easy Selfie' - regex: '(MSP450[79]|MSP95009)(?:[);/ ]|$)' model: '$1' # Masstel (masstel.vn) Masstel: regex: 'Masstel|(?:Juno[ _]Q[567]|Tab10Ultra|Tab(?:[78]|10)Plus|Hapi10)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Masstel[_ ]Juno[_ ]Q5Plus' model: 'Juno Q5 Plus' - regex: '(?:Masstel_)?Hapi ?(1[05]|30)(?:[);/ ]|$)' model: 'Hapi $1' - regex: 'Masstel[_ ]N660s' model: 'N660S' - regex: 'Masstel[_ ]\((M18)\)' model: '$1' - regex: 'Masstel_Tab7LTE(?:[);/ ]|$)' model: 'Tab 7 LTE' device: 'tablet' - regex: 'Tab10 WiFi(?:[);/ ]|$)' model: 'Tab 10 WiFi' device: 'tablet' - regex: 'Masstel_Tab10_?4G(?:[);/ ]|$)' model: 'Tab 10 4G' device: 'tablet' - regex: 'Tab10Ultra' model: 'Tab 10 Ultra' device: 'tablet' - regex: 'Tab([78]|10)Plus' model: 'Tab $1 Plus' device: 'tablet' - regex: '(?:Masstel[ _])?Tab[ _]?([^/);]+)(?: Build|[);])' model: 'Tab $1' device: 'tablet' - regex: '(?:Masstel[_ ]*)?(Juno[_ ]Q[3567]|Juno_S6|[MNXB]\d+|LT52|N600S)(?:[);/ ]|$)' model: '$1' # Mastertech (https://mastertechhome.com/) Mastertech: regex: 'MASTERTECH,([a-z0-9_ \-]+),(?:wired|wireless)|QC77QPS(?:[);/ ]|$)' device: 'tv' models: - regex: 'MASTERTECH,([a-z0-9_ \-]+),(?:wired|wireless)' model: '$1' - regex: '(QC77QPS)(?:[);/ ]|$)' model: '$1' device: 'tablet' # Talius Talius: regex: '(Nitro 551)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Maxwest (maxwesttelecom.com) Maxwest: regex: '(?:Astro[_ ](?:Phablet_9|55?N[_ ]LTE|55[RT]|5 PRO|5[sTX]|[45]P|X4|5_GO_LTE|X55s?|4\.5|4|63R|X5|8R)|Astro6|Virtue Z5|Nitro[_ ](?:4S?|55[ARCMN]|5[XRPNM]|[45] GO|4[sN] LTE|55[ _]LTE|N62)|Gravity_(?:55?_GO|6P)|Gravity 5\.5 LTE|Nitro_Phablet_9s|Nitro Phablet 7N|Nitro 8|MX-(?:A10R|A6[45]))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MX-(A10R|A6[45])' model: 'Astro $1' - regex: 'Astro[_ ](55?)N[_ ]LTE' model: 'Astro $1N LTE' - regex: 'Astro[_ ]X55[_ ]LTE' model: 'Astro X55 LTE' - regex: 'Astro_5_GO_LTE' model: 'Astro 5 Go LTE' - regex: 'Astro 5 PRO' model: 'Astro 5 Pro' - regex: 'Astro[_ ](55[RT]|X55s?|5[sTX]|4|X[45]|[45]P|8R|63R)(?:[);/ ]|$)' model: 'Astro $1' - regex: 'Astro[_ ](4\.5)' model: 'Astro $1"' - regex: 'Virtue Z5' model: 'Virtue Z5' - regex: 'Astro[_ ]X4' model: 'Astro X4' - regex: 'Nitro ([45]) GO' model: 'Nitro $1 GO' - regex: 'Nitro 4s LTE' model: 'Nitro 4s LTE' - regex: 'Nitro[ _]4s' model: 'Nitro 4s' - regex: 'Nitro[_ ]((?:55|4N)[_ ]LTE|4|55[ARCNM]|5[XRPNM]|8|N62)' model: 'Nitro $1' - regex: 'Gravity_(55?)_GO' model: 'Gravity $1 GO' - regex: 'Gravity_6P' model: 'Gravity 6P' - regex: 'Gravity 5\.5 LTE' model: 'Gravity 5.5 LTE' - regex: 'Astro6' device: 'phablet' model: 'Astro 6' - regex: 'Nitro[_ ]Phablet[_ ](9s|7N)' device: 'tablet' model: 'Nitro Phablet $1' - regex: 'Astro_Phablet_9' device: 'tablet' model: 'Astro Phablet 9' # True Slim (ssbphones.com) True Slim: regex: '(SSB-508[ED])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Maze Speed or SSB PHONES (ssbphones.com) Maze Speed: regex: '(?:MP5184G|MS5424G|MS5514G|MS5539G|MS5614G|SSB-(?:500|508)|SSB408D|SSB504R)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(MP5184G|MS5424G|MS5514G|MS5539G|MS5614G)(?:[);/ ]|$)' model: '$1' - regex: 'SSB-?(500|508|408D|504R)(?:[);/ ]|$)' model: 'SSB-$1' # Maze (mazephone.com) Maze: regex: '(?:Alpha[_ ]X|Maze Alpha)(?:[);/ ]|$)|(?:Android [78](?:[\d.]*);(?: [\w-]+;)? Blade|Comet)(?: Build|[;)])' device: 'smartphone' models: - regex: 'Alpha[_ ]X(?:[);/ ]|$)' model: 'Alpha X' - regex: 'Maze Alpha(?:[);/ ]|$)' model: 'Alpha' - regex: '(Blade|Comet)(?:[);/ ]|$)' model: '$1' # Mediacom (mediacomeurope.it) Mediacom: regex: '(?:SmartPad7503G|M-SP10MXA|M-PPAB500|SmartPad970s2(?:3G)?|M[_-][MPS]P[0-9a-z]+|M-IPRO[0-9a-z]+|10edge|1AZ2[TP]| (?:7[BCD]Y|8[ADE]Y|1[AB]EC|1CY|1AZ|1[DI]Y4G|1AZ2TW|1EY4G|1HY4G)(?:_eea)?|Azimut ?[23](?: Lite|Pro)?|M-WPW801| 1EY)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SmartPad7503G(?:[);/ ]|$)' model: 'SmartPad 750 3G' - regex: 'SmartPad970s23G(?:[);/ ]|$)' model: 'SmartPad 970 S2 3G' - regex: 'SmartPad970s2(?:[);/ ]|$)' model: 'SmartPad 970 S2' - regex: 'M-MP84[02]M(?:[);/ ]|$)' model: 'SmartPad 8.0" Mobile' - regex: 'M-MP940M(?:[);/ ]|$)' model: 'SmartPad 9.7" Mobile' - regex: 'M-SP10MXA(?:[);/ ]|$)' model: 'SmartPad MX 10.1"' - regex: 'M-SP8MXA(?:[);/ ]|$)' model: 'SmartPad MX 8.0"' - regex: 'M-SP7HXAH(?:[);/ ]|$)' model: 'SmartPad HX 7.0"' - regex: 'M-SP7MXAH?(?:[);/ ]|$)' model: 'SmartPad MX 7.0"' - regex: 'M-SP8HXAH(?:[);/ ]|$)' model: 'SmartPad HX 8.0" HD' - regex: 'M-MP(?:710|720|725|726|740)GOx?(?:[);/ ]|$)' model: 'SmartPad 7.0" Go' - regex: 'M-MP876S2(?:[);/ ]|$)' model: 'SmartPad 8.0" S2' - regex: 'M-MP8S2[AB]?3G(?:[);/ ]|$)' model: 'SmartPad 8.0" S2 3G' - regex: 'M-MP(101|102|860|875)S2[BW]?(?:[);/ ]|$)' model: 'SmartPad $1 S2' - regex: 'M-MP85S23G(?:[);/ ]|$)' model: 'SmartPad 875 S2 3G' - regex: 'M-SP1AGO3G' model: 'SmartPad 10 Go 3G' - regex: 'M-SP7xGO3G' model: 'SmartPad 10.1" iPro 3G' - regex: '1AEC' model: 'SmartPad 10 Eclipse' - regex: '1[DEHI]Y4G' model: 'SmartPad iyo 10 4G' - regex: 'M-MP10[45][01]S2(?:[);/ ]|$)' model: 'SmartPad 10.1" S2' - regex: 'M-MP1S2[AB]3G(?:[);/ ]|$)' model: 'SmartPad 10.1" S2 3G' - regex: 'M-MP8[24]S4(?:[);/ ]|$)' model: 'SmartPad 8.0" S4' - regex: 'M-MP8S4[AB]3G(?:[);/ ]|$)' model: 'SmartPad 8.0" S4 3G' - regex: 'M-MP9S4A3G(?:[);/ ]|$)' model: 'SmartPad 9.7" S4 3G' - regex: 'M-MP1[02]S4(?:[);/ ]|$)' model: 'SmartPad 10.1" S4' - regex: 'M-MP7S4A3G(?:[);/ ]|$)' model: 'SmartPad 7.0" S4 HD' - regex: 'M-MP1040MC?(?:[);/ ]|$)' model: 'SmartPad 10.1" HD S4 3G' - regex: 'M-MP1S4[AB]3G(?:[);/ ]|$)' model: 'SmartPad 10.1" S4 3G' - regex: 'M-SP10HXxH(?:[);/ ]|$)' model: 'SmartPad 10.1" HX HD' - regex: 'M-SP10MXHA(?:[);/ ]|$)' model: 'SmartPad 10.1" MX' - regex: 'M-SP10MXHL(?:[);/ ]|$)' model: 'SmartPad 10.1" MX Lite' - regex: 'M-MP8PA3G(?:[);/ ]|$)' model: 'SmartPad 8.0" HD Pro 3G' - regex: 'M-MP10PA(?:[);/ ]|$)' model: 'SmartPad 10.1" HD Pro' - regex: 'M-MP10PA3G(?:[);/ ]|$)' model: 'SmartPad 10.1" HD Pro 3G' - regex: 'M-IPRO([18][01]0)[BW](?:[);/ ]|$)' model: 'SmartPad 8.0" HD iPro$1 3G' - regex: '(?:1AZ2[TP]|Azimut2)(?:[);/ ]|$)' model: 'SmartPad 10.0" Azimut 2' - regex: 'Azimut 3 Lite(?:[);/ ]|$)' model: 'SmartPad 10.1" Azimut 3 Lite' - regex: 'Azimut ?3 Pro(?:[);/ ]|$)' model: 'SmartPad 10.1" Azimut 3 Pro' - regex: 'Azimut 3(?:[);/ ]|$)' model: 'SmartPad 10.1" Azimut 3' - regex: '8DY(?:[);/ ]|$)' model: 'SmartPad iyo 8"' - regex: '10edge(?:[);/ ]|$)' model: 'SmartPad 10 Edge' - regex: '1EY(?:[);/ ]|$)' model: 'SmartPad 1EY' - regex: 'M-WPW801(?:[);/ ]|$)' model: 'WinPad W801' - regex: '(7[BCD]Y|8[AE]Y|1BEC|1CY|1AZ|1AZ2TW)(?:_eea)?(?:[);/ ]|$)' model: '$1' - regex: '(?:M-MP75S23G|M-MP72[01]M)(?:[);/ ]|$)' model: 'SmartPad 7.0" Mobile' device: 'phablet' - regex: 'M-MP7S2[ABDK]3G(?:[);/ ]|$)' model: 'SmartPad 7.0" S2 3G' device: 'phablet' - regex: 'M-MP5303G(?:[);/ ]|$)' model: 'SmartPad Mini Mobile' device: 'phablet' - regex: 'M-PPxB400(?:[);/ ]|$)' model: 'PhonePad Duo B400' device: 'phablet' - regex: 'M-PPAG550(?:[);/ ]|$)' model: 'PhonePad Duo G550' device: 'phablet' - regex: 'M-PPAB500(?:[);/ ]|$)' model: 'PhonePad Duo B500' device: 'phablet' - regex: 'M-PP2G530(?:[);/ ]|$)' model: 'PhonePad Duo G530' device: 'phablet' - regex: 'M-PPG700(?:[);/ ]|$)' model: 'PhonePad Duo G700' device: 'phablet' - regex: 'M-PPxS531(?:[);/ ]|$)' model: 'PhonePad Duo S531' device: 'phablet' - regex: 'M-PP2S550(?:[);/ ]|$)' model: 'PhonePad Duo S550' device: 'phablet' - regex: 'M-PP2S650C?(?:[);/ ]|$)' model: 'PhonePad Duo S650' device: 'phablet' - regex: 'M-PPxS551U(?:[);/ ]|$)' model: 'PhonePad Duo S551U' device: 'phablet' - regex: 'M-PPAG4(?:[);/ ]|$)' model: 'PhonePad Duo G4' device: 'smartphone' - regex: 'M-PP[ABC]G500(?:[);/ ]|$)' model: 'PhonePad Duo G500' device: 'smartphone' - regex: 'M-PP2S500[BC]?(?:[);/ ]|$)' model: 'PhonePad Duo S500' device: 'smartphone' - regex: 'M-PPx(S510|G551|G51[0125]|G415)(?:[);/ ]|$)' model: 'PhonePad Duo $1' device: 'smartphone' - regex: 'M[_-]PP[Ax]X(470|510|555|520)U(?:[);/ ]|$)' model: 'PhonePad Duo X$1U' device: 'smartphone' - regex: 'M-PPxG(400|501|[457][PM]?)(?:[);/ ]|$)' model: 'PhonePad Duo G$1' device: 'smartphone' - regex: 'M-PPxS(532[LU]|470|501|5P?|7P?)(?:[);/ ]|$)' model: 'PhonePad Duo S$1' device: 'smartphone' - regex: 'M-PPxG(4[15]0)(?:[);/ ]|$)' model: 'PhonePad Duo G$1' device: 'smartphone' - regex: 'M-PPA(S520|R450|G552)(?:[);/ ]|$)' model: 'PhonePad Duo $1' device: 'smartphone' - regex: 'M-PPx([XS]5\d{2}[UL])(?:[);/ ]|$)' model: 'PhonePad Duo $1' device: 'phablet' - regex: 'M-MP([0-9a-z]+)' model: 'SmartPad $1' # Medion Medion: regex: 'Medion|(?:MD_)?LIFETAB|([SPX]10[0-9]{2}X|E10[45]1X|X5001|P851X|P850X|E691X|E10[56]0X|B5532)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:MD_)?LIFETAB[_ ]([a-z0-9]+)' device: 'tablet' model: 'Lifetab $1' - regex: '(E450[46]|E5004|S5004|X5001|E5020|P5015|P500[45]|X6001)(?:[);/ ]|$)' model: 'Life $1' - regex: '(B553[02])(?:[);/ ]|$)' model: '$1' - regex: '(E10[45]1X)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: '([SPX]10[0-9]{2}X|P851X|P850X|E691X|E10[56]0X)(?:[);/ ]|$)' model: 'Lifetab $1' device: 'tablet' - regex: 'Medion(?: Smartphone)? ([^/;]+) Build' model: '$1' - regex: 'MEDION, ([a-z0-9_ \-]+), (?:wired|wireless)' model: '' device: 'tv' # MEEG MEEG: regex: 'MEEG[ _-]' device: 'smartphone' models: - regex: 'MEEG[ _\-]?([^/;]+) Build' model: '$1' - regex: 'MEEG[ _\-]?([^);/ ]+)' model: '$1' # Fourel Fourel: regex: '(?:EASYSMARTM3|EasySmart M2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'EASY ?SMART ?M([32])' model: 'Easy Smart M$1' # Meitu Meitu: regex: '(?:(?<!MI CC 9 )Meitu[2]?|MP1503|MP1512|MP160[235]|MP170[19]|MP171[138]|MP1801)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MP1503(?:[);/ ]|$)' model: 'M6' - regex: '(?:MP1512|Meizu M6s)(?:[);/ ]|$)' model: 'M6s' - regex: 'MP1602(?:[);/ ]|$)' model: 'T8' - regex: 'MP1605(?:[);/ ]|$)' model: 'V6' - regex: 'MP1801(?:[);/ ]|$)' model: 'V7' - regex: 'MP17(?:01|13)(?:[);/ ]|$)' model: 'T8s' - regex: 'MP1718(?:[);/ ]|$)' model: 'T9' - regex: 'MP1603(?:[);/ ]|$)' model: 'M8' - regex: 'MP17(?:09|11)(?:[);/ ]|$)' model: 'M8s' - regex: 'Meitu2(?:[);/ ]|$)' model: '2' - regex: 'Meitu (Kiss|[MV]4)(?:[);/ ]|$)' model: '$1' # Memup Memup: regex: 'SlidePad ?([^;/]*) Build|SPNG?[0-9]{2,4}[a-z]{0,2}(?:[);/ ]|$)|SP704CE?|SP-NG708-3G' device: 'tablet' models: - regex: 'SlidePad ?([^;/]*) Build' model: 'SlidePad $1' - regex: 'SPNG([0-9]{2,4}[a-z]{0,2})(?:[);/ ]|$)' model: 'SlidePad NG$1' - regex: 'SP-NG(708)-3G(?:[);/ ]|$)' model: 'SlidePad NG$1 3G' - regex: 'SP704(CE?)' model: 'SlidePad 704$1' # Mecer (mecer.co.za) Mecer: regex: '(MF716\+?|M785|800P3[12]C|101P51C|X1010|M7[67]QF6|M17QF[67][_-][43]G(?:plus)?)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'M785(?:[);/ ]|$)' model: 'Xpress Smartlife M785' - regex: 'X1010(?:[);/ ]|$)' model: 'X1010' - regex: 'M17QF6-3Gplus(?:[);/ ]|$)' model: 'M17QF6 3G Plus' - regex: 'M17QF([67])_([34])G(?:[);/ ]|$)' model: 'M17QF$1 $2G' - regex: '800P31C' model: 'Xpress Smartlife 800P31C' - regex: '800P32C' model: 'Xpress Smartlife 800P32C' - regex: '101P51C' model: 'Xpress Smartlife 101P51C' - regex: 'M7([76])QF6' model: 'Xpress Smartlife M7$1QF6' - regex: 'MF716\+' model: 'Xpress Smartlife M716 Plus' - regex: 'MF716' model: 'Xpress Smartlife M716' # Mione Mione: regex: 'Mione[_ ]' device: 'smartphone' models: - regex: 'Hero (\d+)' model: 'Hero $1' - regex: 'Mione III' model: 'Hero 3' - regex: 'Mione P2\+' model: 'P2+' - regex: 'Mione_PUBG_1' model: 'PUBG 1' - regex: 'Mione XS max' model: 'XS Max' - regex: 'Mione_Pro(?:[);/ ]|$)' model: 'Pro' - regex: 'Mione Pro Plus(?:[);/ ]|$)' model: 'Pro+' - regex: 'Mione[_ ]N10pro(?:[);/ ]|$)' model: 'N10 Pro' # mio Mio: regex: 'MIO(?:/)?([a-z0-9]+)|(?:MOBIX M6|Mio TouchPad 7 Quad Core)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MOBIX M6(?:[);/ ]|$)' model: 'Mobix M6' - regex: 'MIO(?:/)?([a-z0-9]+)' model: '$1' - regex: 'Mio TouchPad 7 Quad Core' device: 'tablet' model: 'TouchPad 7 Quad Core' # Miray Miray: regex: 'MIDM[_-]|MPM[_-]|TPM4G_WT8' device: 'smartphone' models: - regex: 'TPM4G_WT8' device: 'tablet' model: 'TPM4G WT8' - regex: 'MIDM[_-]([a-z0-9]+)' model: 'MIDM $1' device: 'tablet' - regex: 'MPM[_-]([a-z0-9]+)' model: 'MPM $1' # mitsubishi Mitsubishi: regex: 'MITSU|portalmmm/[12]\.0 M' device: 'feature phone' models: - regex: 'MITSU/[a-z0-9.]+ \(([a-z0-9]+)\)' model: '$1' - regex: 'MITSU[ \-]?([a-z0-9]+)' model: '$1' - regex: 'portalmmm/[12]\.0 (M[a-z0-9]+)' model: '$1' # MIXC MIXC: regex: '(?<!VIA |Orbit )(M35|M20|G7106|G7108)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(M[0-9]{1,2})(?:[);/ ]|$)' model: '$1' - regex: '(G[0-9]{4})(?:[);/ ]|$)' model: '$1' # Mobiola Mobiola: regex: '(MS5[50]X6|MS55X5|MS55L1|MS50L1|MS43A3000|MS45A4000|MS50A4000|MS50A4500|MS50A5000|MS50A6000|MS50B11000|MB-2900 QUATTRO|POLYS[_ ]MS45L1|Wave5)' device: 'smartphone' models: - regex: 'MS50X6' model: 'Atmos II' - regex: 'POLYS[_ ]MS45L1' model: 'Polys MS45L1' - regex: 'MS55X6' model: 'Atmos Pro II' - regex: 'MS55X5' model: 'Atmos Pro' - regex: 'MS55L1' model: 'GAIA' - regex: 'MS50L1' model: 'Inti' - regex: 'MB-2900 QUATTRO' model: 'MB-2900 Quattro' - regex: 'MS43A3000' model: 'MS43A3000' - regex: 'MS45A4000' model: 'eOn 45' - regex: 'MS50A4000' model: 'eOn 50' - regex: 'MS50A4500' model: 'eOn 50 Elegance' - regex: 'MS50A5000' model: 'eOn 50 Quad 8' - regex: 'MS50A6000' model: 'eOn 50 Quad 16' - regex: 'MS50B11000' model: 'MS50B11000' - regex: 'Wave5' model: 'Wave 5' # Matrix Matrix: regex: '(?:7116-A5|818 3G|MATRIX GRAVITY|Matrix7116)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'MATRIX GRAVITY' device: 'smartphone' model: 'Gravity' - regex: '(7116-A5|818 3G)(?:[);/ ]|$)' model: '$1' - regex: 'Matrix7116(?:[);/ ]|$)' model: '7116 A5' # Mobicel or Mobicell Mobicel: regex: 'Mobicel[_ ](R[16]|METRO2)|ASTRO(?: Build|[;)]|$)|(?:Android 6(?:[\d.]*);(?: [\w-]+;)? SHIFT)|(?:Android 8(?:[\d.]*);(?: [\w-]+;)? (?:BEAM|ZOOM|RUBY)|FAME(?:_DS)?|CLIK|R7_[12]|(?<!INTENSE )HYPE(?:_X)?|DANDY(?:_ZAM)?|(?<!SMADL )Matrix|VENUS_G|TRENDY PLUS|FENDY_DS|TANGO_LITE|BLINK|BERRY|BERRY[_ ]?(?:[12]|PLUS)|R1PLUS_1|ZOOM-H|REBEL|LEGEND (?:MAX|PRO_1|Pro LTE)|HERO_DS|Switch[ _]GO|SWITCH1|switch plus|PULSE_1|TRENDY 2|TRENDY_LITE|FEVER_PLUS(?:_[HJ])?|RIO_(?:SS|ZAM|RW|BN)|Clik plus|(PURE|Fendy) PLUS|RX PRO|Neo[ _]LTE|Titan_1|ZOOM_1|R4 LTE|NEO_1|EPIC_[12]| GLO|EPIC PRO_[12]|IX PRO|OREO|Cosmo LTE|Neo_Plus|IX-1|Android 13(?:[\d.]*);(?: [\w-]+;)? IX|Android 1[12](?:[\d.]*);(?: [\w-]+;)? FORCE|VX20|VX19)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'EPIC PRO_([12])' model: 'Epic Pro $1' - regex: 'IX PRO' model: 'IX Pro' - regex: 'RX PRO' model: 'RX Pro' - regex: 'IX-1' model: 'IX-1' - regex: 'IX(?: Build|[;)])' model: 'IX' - regex: 'Matrix' model: 'Matrix' - regex: 'LEGEND MAX' model: 'Legend Max' - regex: 'LEGEND PRO_1' model: 'Legend Pro 1' - regex: 'Legend Pro LTE' model: 'Legend Pro LTE' - regex: 'BLINK' model: 'Blink' - regex: 'FORCE' model: 'Force' - regex: 'EPIC_([12])' model: 'Epic $1' - regex: 'BERRY1' model: 'Berry 1' - regex: 'BERRY PRO' model: 'Berry Pro' - regex: 'BERRY 2' model: 'Berry 2' - regex: 'TRENDY 2' model: 'Trendy 2' - regex: 'BERRY[_ ]PLUS' model: 'Berry Plus' - regex: 'BERRY' model: 'Berry' - regex: 'TRENDY PLUS' model: 'Trendy Plus' - regex: 'TRENDY_LITE' model: 'Trendy Lite' - regex: 'R4 LTE' model: 'R4 LTE' - regex: 'HYPE_X' model: 'Hype X' - regex: 'HYPE' model: 'Hype' - regex: 'DANDY_ZAM' model: 'Dandy Zam' - regex: 'DANDY' model: 'Dandy' - regex: 'METRO2' model: 'Metro 2' - regex: 'ASTRO' model: 'Astro' - regex: 'VENUS_G' model: 'Venus Go' - regex: 'TANGO_LITE' model: 'Tango Lite' - regex: 'FENDY_DS' model: 'Fendy DS' - regex: 'REBEL' model: 'Rebel' - regex: 'RUBY' model: 'Ruby' - regex: 'R7_[12]' model: 'R7' - regex: 'OREO' model: 'Oreo' - regex: 'GLO(?:[);/ ]|$)' model: 'GLO' - regex: 'Titan_1' model: 'Titan 1' - regex: 'ZOOM_1' model: 'Zoom 1' - regex: 'HERO_DS' model: 'Hero DS' - regex: 'FAME_DS' model: 'Fame DS' - regex: 'FAME' model: 'Fame' - regex: 'BEAM' model: 'Beam' - regex: 'SHIFT' model: 'Shift' - regex: 'Cosmo LTE' model: 'Cosmo LTE' - regex: 'Neo[ _]LTE' model: 'Neo LTE' - regex: 'NEO_1' model: 'Neo' - regex: 'Neo_Plus' model: 'Neo Plus' - regex: 'RIO_(SS|ZAM|RW|BN)' model: 'Rio $1' - regex: 'switch plus' model: 'Switch Plus' - regex: 'Switch[ _]GO' model: 'Switch Go' - regex: 'Switch1' model: 'Switch' - regex: 'R1PLUS_1' model: 'R1 Plus' - regex: 'Clik plus' model: 'Clik Plus' - regex: 'CLIK' model: 'Clik' - regex: 'VX(19|20) Pro' model: 'VX$1 Pro' - regex: 'VX(19|20)' model: 'VX$1' - regex: 'PULSE_1' model: 'Pulse 1' - regex: 'PURE PLUS' model: 'Pure Plus' - regex: 'Fendy plus' model: 'Fendy Plus' - regex: 'Mobicel_(R[16])' model: '$1' - regex: 'ZOOM-H' device: 'tablet' model: 'Zoom H' - regex: 'ZOOM' device: 'tablet' model: 'Zoom' - regex: 'FEVER_PLUS_([HJ])' device: 'tablet' model: 'Fever Plus $1' - regex: 'FEVER_PLUS' device: 'tablet' model: 'Fever Plus' # iStar iStar: regex: '(I-T60)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Mobiistar Mobiistar: regex: 'Mobiistar|Zumbo[ _]S|(?:PRIME X MAX|X1 (?:Notch|Dual)|E1 Selfie|XQ[_ ]Dual|C1 Lite)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'X1 (Notch|Dual)(?:[);/ ]|$)' model: 'X1 $1' - regex: 'E1 Selfie(?:[);/ ]|$)' model: 'E1 Selfie' - regex: 'XQ[_ ]Dual(?:[);/ ]|$)' model: 'XQ Dual' - regex: 'mobiistar_LAI_Zumbo(?:[);/ ]|$)' model: 'Zumbo' - regex: 'Zumbo[_ ]S[_ ]2017[_ ]Lite(?:[);/ ]|$)' model: 'Lai Zumbo S Lite (2017)' - regex: 'Zumbo[_ ]S[_ ]2017(?:[);/ ]|$)' model: 'Lai Zumbo S (2017)' - regex: 'mobiistar ZUMBO S2( Dual)' model: 'Zumbo S2' - regex: 'Mobiistar_LAI_Zumbo_J_2017(?:[);/ ]|$)' model: 'Lai Zumbo J (2017)' - regex: 'Mobiistar_LAI_Zumbo_J(?:[);/ ]|$)' model: 'Lai Zumbo J' - regex: 'Mobiistar[_ ]Zumbo[_ ]J2' model: 'Lai Zumbo J2' - regex: 'Mobiistar[_ ]Zumbo[_ ]S2' model: 'Zumbo S2' - regex: 'mobiistar ZUMBO Power' model: 'Zumbo Power' - regex: 'mobiistar[ _]LAI[ _]YUNA[ _]([1XCS])' model: 'Lai Yuna $1' - regex: 'mobiistar LAI Yuki' model: 'Lai Yuki' - regex: 'mobiistar[ _](?:LAI[ _])?ZORO[ _]([235])' model: 'Lai Zoro $1' - regex: 'mobiistar[ _]LAI[ _]Zena' model: 'Lai Zena' - regex: 'mobiistar[ _]LAI[ _]Z([12])?' model: 'Lai Z$1' - regex: 'mobiistar_ZORO_4G' model: 'Zoro 4G' - regex: 'mobiistar touch LAI 512' model: 'Touch Lai 512' - regex: 'mobiistar LAI 504([KC])' model: 'Lai 504$1' - regex: 'mobiistar LAI Y' model: 'Lai Y' - regex: 'mobiistar PRIME X 2017' model: 'Prime X' - regex: 'C1 Lite' model: 'C1 Lite' - regex: 'mobiistar[ _]PRIME[ _](X1|558|X[ _]Plus|X[ _]Grand) Build' model: 'Prime $1' - regex: 'PRIME X MAX 2018' model: 'Prime X Max' - regex: 'mobiistar[ _]KOOL([ _]Lite)?' model: 'Kool$1' - regex: 'mobiistar KAT 452 Build' model: 'Kat 452' - regex: 'mobiistar_LAI_YOLLO Build' model: 'Lai Yollo' - regex: 'Mobiistar[ _]([^;/)]+)(?: Build|[;)])' model: '$1' # Mobile Kingdom Mobile Kingdom: regex: 'GENESIS_126(?:[);/ ]|$)' device: 'smartphone' model: 'Génesis 126' # MSI (msi.com) MSI: regex: 'Primo ?(?:9[13]|81|76)|(?:Enjoy 7 Plus|GP70 2OD)(?:[);/ ]|$)' device: 'tablet' models: # explicit tablet models - regex: 'Primo ?(9[13]|76|81)' model: 'Primo $1' - regex: 'Enjoy 7 Plus' model: 'Enjoy 7 Plus' # explicit notebook models - regex: '(GP70 2OD)' device: 'desktop' model: '$1' # MLLED MLLED: regex: 'MLLED[ _]' device: 'smartphone' models: - regex: 'MLLED[ _]([^;/]+)Build' model: '$1' - regex: 'MLLED[ _]([^);/]+)(?:[);/ ]|$)' model: '$1' # Mobistel Mobistel: regex: '(Cynus[ _][^/;)]+)( Build|\))' device: 'smartphone' model: '$1' # MobiIoT (https://mobi-iot.com/) MobiIoT: regex: '(?:MobiGo2|MobiPrint 4\+)(?:[);/ ]|$)' device: 'peripheral' models: - regex: 'MobiGo2(?:[);/ ]|$)' model: 'MobiGo 2' - regex: 'MobiPrint 4\+(?:[);/ ]|$)' model: 'MobiPrint 4 Plus' # Mecool Mecool: regex: 'Mecool[ _-]|(?:ME-COOL S|KM9 ?PRO|BB2 PRO|K[I]{1,3} PRO|KI PLUS|KM9_TV_BOX|M8SPROW|M8S (?:PLUS|PRO) (?:DVB|[LW]|PLUS)|M8S (?:MAX|PRO)| KM[135679]| KD1)(?:[);/ ]|$)' device: 'tv' models: - regex: 'KM9 ?PRO(?:[);/ ]|$)' model: 'KM9 Pro' - regex: 'KM9_TV_BOX(?:[);/ ]|$)' model: 'KM9 TV Box' - regex: 'BB2 PRO(?:[);/ ]|$)' model: 'BB2 Pro' - regex: '(K[I]{1,3}) PRO(?:[);/ ]|$)' model: '$1 Pro' - regex: 'KI PLUS(?:[);/ ]|$)' model: 'KI Plus' - regex: 'M8SPROW(?:[);/ ]|$)' model: 'M8S Pro W' - regex: 'M8S PLUS DVB(?:[);/ ]|$)' model: 'M8S Plus DVB' - regex: 'M8S PLUS ([LW])(?:[);/ ]|$)' model: 'M8S Plus $1' - regex: 'M8S PRO ([LW])(?:[);/ ]|$)' model: 'M8S Pro $1' - regex: 'M8S PRO PLUS(?:[);/ ]|$)' model: 'M8S Pro Plus' - regex: 'M8S PRO(?:[);/ ]|$)' model: 'M8S Pro' - regex: 'M8S MAX(?:[);/ ]|$)' model: 'M8S Max' - regex: 'ME-COOL S(?:[);/ ]|$)' model: 'S' - regex: 'K([MD]\d+)(?:[);/ ]|$)' model: 'K$1' - regex: 'Mecool[ _-]([^/);]+)(?: Build|[;)])' model: '$1' # Modecom Modecom: regex: 'Modecom|Free(?:Way )?Tab|xino z[\d]+ x[\d]+|(?:ECHO LOLLY)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'xino Z([\d]+) X([\d]+)' model: 'Xino Z$1 X$2' device: 'smartphone' - regex: 'ECHO LOLLY' model: 'Echo Lolly' - regex: 'FreeTab[ _\-]?([^/;]+)? Build' model: 'FreeTab $1' - regex: 'FreeTab[ _\-]?((?!Build)[^);/ ]+)?' model: 'FreeTab $1' - regex: 'FreeWay Tab[ _\-]?([^/;]+) Build' model: 'FreeWay Tab $1' - regex: 'FreeWay Tab[ _\-]?((?!Build)[^);/ ]+)' model: 'FreeWay Tab $1' # Mode Mobile (https://www.modemobile.com/) Mode Mobile: regex: 'MEP2Q421G(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MEP2Q421G' model: 'EarnPhone' # Mofut Mofut: regex: 'Mofut' device: 'smartphone' models: - regex: 'Mofut[ _\-]?([^/;]+) Build' model: '$1' - regex: 'Mofut[ _\-]?((?!Build)[^);/ ]+)' model: '$1' # BrightSign (brightsign.biz) BrightSign: regex: 'BrightSign' device: 'tv' models: - regex: '(HD1023|XD233|XD230|XD1030|XD1132|XT114[34]|4K1142|LS424|LS445)' model: '$1' # Verssed Verssed: regex: 'MotionE11(?:[);/ ]|$)' device: 'tablet' model: 'Motion E1.1' # Torque Torque: regex: '(?:EGO[ _](?:Max[ _]S|Surf[_ ][iS]|Phab 3G|Note 4G)|DROIDZ (?:Drive\+|ATOM [SX]|Portal(?: X)?|Swivel|Smart|Trend|Force|Span|Play|Blast|Sport|Excel|Motion|Sky 3g|Rotate|Duo(?: Slim)?|Dash(?: X)?|Quad|Match TV|Beat TV|Avatar TV|Easy|Push i|Edge\+))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'DROIDZ (Duo(?: Slim)?|Dash(?: X)?|Push i|Edge\+|Drive\+|Portal(?: X)?)' device: 'tablet' model: 'DROIDZ $1' - regex: 'DROIDZ Sky 3g' model: 'DROIDZ Sky 3G' - regex: 'DROIDZ ATOM S' model: 'DROIDZ Atom S' - regex: 'DROIDZ (Swivel|Trend|Force|Span|Smart|Atom X|Blast|Sport|Quad|Beat TV|Avatar TV|Match TV|Easy|Excel|Play|Rotate|Motion)' model: 'DROIDZ $1' - regex: 'EGO[ _](Max[ _]S|Surf[_ ][iS])' model: 'EGO $1' - regex: 'EGO Phab 3G' device: 'phablet' model: 'EGO Phab 3G' - regex: 'EGO Note 4G' model: 'EGO Note 4G' # motorola Motorola: regex: 'MOT(?!TO)|(?<!AN)DROID ?(?:Build|[a-z0-9]+)|portalmmm/2\.0 (?:E378i|L6|L7|v3)|XOOM [^;/]*Build|XT1941-2|XT1924-9|XT1925-10|XT1965-6|XT1970-5|XT1799-2|XT1021|XT2171-[23]|XT2013-[124]|XT2061-3|XT2071-4|XT2201-[126]|XT-2201|XT2113-2|XT2115-1|XT2175-2|XT2141-1|XT2125-4|XT2127-2|XT2129-[123]|XT2143-1|XT2153-1|XT2158-6|XT2215-[124]|XT2221-[12]|XT2225-[12]|XT2233-2|XT2251-1|XT2243-2|XT2241-1|XT2169-1|XT2137-[12]|XT1710-08|XT180[3-5]|XT2315-1|XT2261-1|XT2335-[23]|XT2131(?:-[14]|DL)|XT2303-2|XT2301-5|XT2307-1|XT2321-[23]|XT2323-3|XT2343-[13]|XT2363-2|XT194[23]-1|XT1929-15|XT2083-9|XT2081-1|XT2093DL|XT2093-[37]|(?<!Xtreme )(?:XT|MZ|MB|ME)[0-9]{3,4}[a-z]?(?:\(Defy\)|-0[1-5])?(?:[;]? Build|\))|lineage_osprey|ATRIX HD|PAMR00(?:0[28]|10)IN|PANB0001IN|PANB001[35]IN|PANV000[59]IN' device: 'smartphone' models: # Explicit feature phone models - regex: 'MOT-V360' model: 'V360' device: 'feature phone' # Explicit tablets models - regex: 'moto tab g70' device: 'tablet' model: 'Moto Tab G70' - regex: 'XT2261-1' model: 'Moto Tab G62' device: 'tablet' # Explicit smartphone models - regex: '(?:MOT-|Motorola-)?XT300' model: 'Spice' - regex: 'ThinkPhone' model: 'ThinkPhone' - regex: 'MOTOROLA E6S' model: 'Moto E6S' - regex: 'XT2321-[23]' model: 'Moto Razr 40 Ultra' - regex: 'XT2323-3' model: 'Moto Razr 40' - regex: 'motorola razr plus 2023' model: 'Moto Razr+ (2023)' - regex: 'motorola razr 2023' model: 'Moto Razr (2023)' - regex: 'XT2251-1' model: 'Moto Razr (2022)' - regex: '(?:MOT-|Motorola-)?XT30[35]' model: 'Motosmart ME' - regex: '(?:MOT-|Motorola-)?XT31[16]' model: 'Fire' - regex: '(?:MOT-|Motorola-)?XT2125-4' model: 'Edge S' - regex: '(?:MOT-|Motorola[- ])?edge \(?(202\d)\)?' model: 'Edge ($1)' - regex: '(?:MOT-|Motorola-)?XT2307-1' model: 'Edge 40 Neo' - regex: '(?:MOT-|Motorola-)?XT2175-2' model: 'Edge S30' - regex: 'motorola edge 30 ultra' model: 'Edge 30 Ultra' - regex: 'motorola edge 30 neo' model: 'Edge 30 Neo' - regex: 'XT2201-1' model: 'Edge 30 Pro' - regex: '(?:MOT-|Motorola-)?XT2143-1' model: 'Edge 20' - regex: '(?:MOT-|Motorola-)?XT2153-1' model: 'Edge S Pro' - regex: '(?:MOT-|Motorola-)?XT32[01]' model: 'Defy Mini' - regex: '(?:MOT-|Motorola-)?XT3(?:89|90)' model: 'Motosmart' - regex: '(?:MOT-|Motorola-)?XT502' model: 'Quench' - regex: '(?:MOT-|Motorola-)?XT531' model: 'Fire XT' - regex: '(?:MOT-|Motorola-)?XT535' model: 'Defy' - regex: '(?:MOT-|Motorola-)?XT2083-9' model: 'Defy (2021)' - regex: '(?:MOT-|Motorola-)?XT55[567]C?' model: 'Defy XT' - regex: '(?:MOT-|Motorola-)?XT603' model: 'Admiral' - regex: '(?:MOT-|Motorola-)?XT610' model: 'Droid Pro' - regex: '(?:MOT-|Motorola-)?XT615' model: 'Motoluxe' - regex: '(?:MOT-|Motorola-)?XT621' model: 'Primus' - regex: '(?:MOT-|Motorola-)?XT626' model: 'IronRock' - regex: '(?:MOT-|Motorola-)?XT682' model: 'Atrix' - regex: '(?:MOT-|Motorola-)?XT685' model: 'Motoluxe Dual-SIM' - regex: '(?:MOT-|Motorola-)?XT687' model: 'Atrix TV' - regex: '(?:MOT-|Motorola-)?Atrix HD' model: 'Atrix HD' - regex: '(?:MOT-|Motorola-)?XT720' model: 'Milestone' - regex: '(?:MOT-|Motorola-)?XT800W' model: 'Glam' - regex: '(?:MOT-|Motorola-)?XT860' model: 'Milestone 3' - regex: '(?:MOT-|Motorola-)?XT881' model: 'Electrify 2' - regex: '(?:MOT-|Motorola-)?XT882' model: 'Moto XT882' - regex: '(?:MOT-|Motorola-)?XT88[56]' model: 'Droid RAZR V' - regex: '(?:MOT-|Motorola-)?XT890' model: 'Droid RAZR i' - regex: '(?:MOT-|Motorola-)?XT894' model: 'Droid 4' - regex: '(?:MOT-|Motorola-)?XT897' model: 'Photon Q' - regex: '(?:MOT-|Motorola-)?XT901' model: 'Electrify M' - regex: '(?:MOT-|Motorola-)?XT90[567]' model: 'Droid RAZR M' - regex: '(?:MOT-|Motorola-)?XT910S?' model: 'Droid RAZR' - regex: '(?:MOT-|Motorola-)?XT91[4568]' model: 'Droid RAZR D1' - regex: '(?:MOT-|Motorola-)?XT9(?:19|20)' model: 'Droid RAZR D3' - regex: '(?:MOT-|Motorola-)?XT925' model: 'Droid RAZR HD' - regex: '(?:MOT-|Motorola-)?XT912' model: 'Droid RAZR Maxx' - regex: 'moto g52j 5G' model: 'Moto G52j 5G' - regex: 'XT2221-[12]' model: 'Moto G52' - regex: 'moto g53y 5G' model: 'Moto G53y 5G' - regex: 'XT2335-[23]' model: 'Moto G53' - regex: 'XT2343-[13]' model: 'Moto G54 5G' - regex: 'XT2225-[12]' model: 'Moto G82 5G' - regex: 'PAMR00(0[28]|10)IN' model: 'Moto G10 Power' - regex: 'XT2127-2' model: 'Moto G10' - regex: 'Moto G8 Power' model: 'Moto G8 Power' - regex: '(?:MOT-|Motorola-)?(?:XT102[12]|XT830C|XT15[12]4|XT152[67])' # 2015 model: 'Moto E' - regex: 'Moto E \(XT2052DL\)' model: 'Moto E (2020)' - regex: '(?:MOT-|Motorola-)?XT1706' model: 'Moto E3 Power' - regex: '(?:MOT-|Motorola-)?XT2158-6' model: 'Moto E30' - regex: 'MotoE2\(4G-LTE\)' model: 'Moto E2 (4G-LTE)' - regex: '(?:MOT-|Motorola-)?XT1924-9' model: 'Moto E5 Plus' - regex: 'moto e\(?([0-9])\)? plus' model: 'Moto E$1 Plus' - regex: 'Moto E([0-9]) Play' model: 'Moto E$1 Play' - regex: 'moto-e([0-9])-play' model: 'Moto E$1 Play' - regex: 'moto e6 \(XT2005DL\)' model: 'Moto E6 (XT2005DL)' - regex: 'moto e5 cruise(?:[);/ ]|$)' model: 'Moto E5 Cruise' - regex: 'moto e5 supra(?:[);/ ]|$)' model: 'Moto E5 Supra' - regex: 'Moto E5 go(?:[);/ ]|$)' model: 'Moto E5 Go' - regex: 'Moto E\(?(\di?)\)? Power(?:[);/ ]|$)' model: 'Moto E$1 Power' - regex: 'Moto E\(?((?:[567]|22)i?)\)?(?:[);/ ]|$)' model: 'Moto E$1' - regex: 'Moto E\(?([567])s\)?(?:[);/ ]|$)' model: 'Moto E$1s' - regex: 'Moto E(\d+)\(?s\)?' model: 'Moto E$1s' - regex: 'Moto E(?: Build|[;)])' model: 'Moto E' - regex: 'XT2081-1' model: 'Moto E7 Plus' - regex: '(?:MOT-|Motorola-)?XT1030' model: 'Droid Mini' - regex: '(?:MOT-|Motorola-)?XT1565' model: 'Droid Maxx 2' - regex: '(?:MOT-|Motorola-)?XT1096' model: 'Moto X2' - regex: '(?:MOT-|Motorola-)?XT175[046]' model: 'Moto C' - regex: '(?:MOT-|Motorola-)?XT172[135]' model: 'Moto C Plus' - regex: 'Moto G4 Plus' model: 'Moto G4 Plus' - regex: '(?:MOT-|Motorola-)?XT1254' model: 'Droid Turbo' - regex: '(?:MOT-|Motorola-)?XT10(?:28|3[12349]|68|69)|lineage_osprey' model: 'Moto G' - regex: '(?:MOT-|Motorola-)?XT106[34]' model: 'Moto G2' - regex: '(?:MOT-|Motorola-)?g\(?(\d+)\)? 5G' model: 'Moto G$1 5G' - regex: '(?:MOT-|Motorola-)?XT1609' model: 'Moto G4 Play' - regex: '(?:MOT-|Motorola-)?XT180[1-6]|Moto G ?5S Plus|Moto G \(5S\) Plus' model: 'Moto G5s Plus' - regex: '(?:MOT-|Motorola-)?XT1799-2|Moto G \(5S\)' model: 'Moto G5s' - regex: '(?:MOT-|Motorola-)?XT168[57]' model: 'Moto G5 Plus' - regex: '(?:MOT-|Motorola-)?XT167[06]' #XT1671 XT1677 model: 'Moto G5' - regex: '(?:MOT-|Motorola-)?XT1925-10' model: 'Moto G6' - regex: '(?:MOT-|Motorola-)?XT1965-6' model: 'Moto G7 Plus' - regex: 'XT2129-[123]' model: 'Moto G30' - regex: 'XT2363-2' model: 'Moto G34 5G' - regex: 'XT2137-[12]' model: 'Moto G50' - regex: 'XT2171-3' model: 'Moto G51' - regex: 'XT2171-2' model: 'Moto G51 5G' - regex: 'XT2169-1' model: 'Moto G71 5G' - regex: '(?:MOT-|Motorola-)?(?:XT10(?:49|5[23568]|6[04]|9[23457])|XT1093)' model: 'Moto X' - regex: '(?:MOT-|Motorola-)?XT156[234]|Moto X Play(?:[);/ ]|$)' model: 'Moto X Play' - regex: '(?:MOT-|Motorola-)?XT157[02]' model: 'Moto X Style' - regex: '(?:MOT-|Motorola-)?XT1575' model: 'Moto X Pure Edition' - regex: '(?:MOT-|Motorola-)?XT158[01]' model: 'Moto X Force' - regex: '(?:MOT-|Motorola-)?XT1080' model: 'Droid Ultra' - regex: '(?:MOT-|Motorola-)?XT1585' model: 'Droid Turbo 2' - regex: '(?:MOT-|Motorola-)?XT1650(?:-05)?' model: 'Moto Z' - regex: 'moto z4(?:[);/ ]|$)' model: 'Moto Z4' - regex: 'Moto Z3 Play(?:[);/ ]|$)' model: 'Moto Z3 Play' - regex: '(?:MOT-|Motorola-)?XT1635(?:-0[1-3])?' model: 'Moto Z Play' - regex: '(?:MOT-|Motorola-)?XT1710-(?:-0[28])?' model: 'Moto Z2 Play' - regex: '(?:MOT-|Motorola-)?XT1789-05|Moto Z2 Force(?:[);/ ]|$)' model: 'Moto Z2 Force' - regex: '(?:MOT-|Motorola-)?XT1929-15|moto z3(?:[);/ ]|$)' model: 'Moto Z3' - regex: '(?:MOT-|Motorola-)?XT166[23]' model: 'Moto M' - regex: '(?:MOT-|Motorola-)?XT2241-1' model: 'Moto X30 Pro' - regex: '(?:MOT-|Motorola-)?XT2243-2' model: 'Moto S30' - regex: '(?:MOT-|Motorola-)?XT2201-6' model: 'Moto X30' - regex: '(?:MOT-|Motorola-)?XT-2201' model: 'Moto Edge X30 5G' - regex: '(?:MOT-|Motorola-)?XT2301-5' model: 'Moto X40' - regex: '(?:MOT-|Motorola-)?XT1943-1' model: 'P30' - regex: '(?:MOT-|Motorola-)?XT1941-2' model: 'P30 Play' - regex: '(?:MOT-|Motorola-)?XT1942-1|P30 Note(?:[);/ ]|$)' model: 'P30 Note' - regex: '(?:MOT-|Motorola-)?edge plus 5G UW \(2022\)' model: 'Edge Plus 5G UW (2022)' - regex: '(?:MOT-|Motorola-)?edge plus \(?(202[23])\)?' model: 'Edge Plus ($1)' - regex: '(?:MOT-|Motorola-)?edge plus|XT2061-3' model: 'Edge Plus' - regex: 'XT2201-2' model: 'Edge X30' - regex: '(?:MOT-|Motorola-)?edge ([23]0) fusion' model: 'Edge $1 Fusion' - regex: '(?:MOT-|Motorola-)?edge 20 lite' model: 'Edge 20 Lite' - regex: '(?:MOT-|Motorola-)?edge (\d+) fusion' model: 'Edge $1 Fusion' - regex: '(?:MOT-|Motorola-)?edge (\d+) pro' model: 'Edge $1 Pro' - regex: '(?:MOT-|Motorola-)?edge (\d+) neo' model: 'Edge $1 Neo' - regex: '(?:MOT-|Motorola-)?(?:edge 5G UW \(2021\)|XT2141-1)' model: 'Edge 5G UW (2021)' - regex: '(?:MOT-|Motorola-)?edge (\d+)' model: 'Edge $1' - regex: '(?:MOT-|Motorola-)?edge \(2021\)' model: 'Edge (2021)' - regex: 'XT2303-2' model: 'Edge 40' - regex: '(?:MOT-|Motorola-)?edge' model: 'Edge' - regex: '(?:MOT-|Motorola-)?one vision plus' model: 'One Vision Plus' - regex: '(?:MOT-|Motorola-)?(?:XT1970-5|one vision)' model: 'One Vision' - regex: '(?:MOT-|Motorola-)?one power' model: 'One Power' - regex: '(?:MOT-|Motorola-)?one hyper' model: 'One Hyper' - regex: '(?:MOT-|Motorola-)?one zoom' model: 'One Zoom' - regex: '(?:MOT-|Motorola-)?one fusion\+' model: 'One Fusion Plus' - regex: '(?:MOT-|Motorola-)?one fusion' model: 'One Fusion' - regex: 'motorola one action|XT2013-[124]' model: 'One Action' - regex: 'motorola one macro' model: 'One Macro' - regex: 'motorola one 5G UW ace' model: 'One 5G UW Ace' - regex: 'motorola one 5G UW' model: 'One 5G UW' - regex: 'motorola one 5G ace|XT2113-2' model: 'One 5G Ace' - regex: 'motorola one vision' model: 'One Vision' - regex: 'moto g stylus \(XT2115DL\)' model: 'Moto G Stylus (XT2115DL)' - regex: 'moto g stylus \((202[12])\)' model: 'Moto G Stylus ($1)' - regex: 'moto g stylus 5G \((2022)\)' #gen-2 model: 'Moto G Stylus 5G ($1)' - regex: 'XT2215-[124]' model: 'Moto G Stylus 5G (2022)' - regex: 'XT2315-1' model: 'Moto G Stylus 5G (2023)' - regex: 'XT2115-1' model: 'Moto G Stylus (2021)' - regex: 'moto g stylus 5G|XT2131(?:-[134]|DL)' # 2021 model: 'Moto G Stylus 5G' - regex: 'moto g stylus' model: 'Moto G Stylus' - regex: 'moto g play \(2021\)|XT2093DL|XT2093-[37]' model: 'Moto G Play (2021)' - regex: 'moto g power \(XT2041DL\)' model: 'Moto G Power' - regex: 'moto g power \(2021\)' model: 'Moto G Power (2021)' - regex: 'moto g power \(2022\)' model: 'Moto G Power (2022)' - regex: 'moto g power' model: 'Moto G Power' - regex: 'moto g pro' model: 'Moto G Pro' - regex: 'moto g pure' model: 'Moto G Pure' - regex: 'moto g fast' model: 'Moto G Fast' - regex: 'moto g 5G plus' model: 'Moto G 5G Plus' - regex: 'moto g 5G \(2022\)' model: 'Moto G 5G (2022)' - regex: 'moto g 5G' model: 'Moto G 5G' - regex: 'moto g\(?40\)? fusion|PANV000[159]IN' model: 'Moto G40 Fusion' - regex: 'XT2233-2' model: 'Moto G42' - regex: 'PANB001[35]IN|PANB0001IN' model: 'Moto G60' - regex: 'moto g\(?60\)?s' model: 'Moto G60s' - regex: 'moto g(\d+)\((\w)\)' model: 'Moto G$1$2' - regex: 'moto g24 power' model: 'Moto G24 Power' - regex: 'moto g\(([0-9]+)\) \(XT1925DL\)' model: 'Moto G$1 (XT1925DL)' - regex: 'moto g\(([0-9]+)\) forge' model: 'Moto G$1 Forge' - regex: 'moto g\(([0-9]+)\) optimo \(XT1952DL\)' model: 'Moto G$1 Optimo (XT1952DL)' - regex: 'moto g\(([0-9]+)\) optimo maxx\(XT1955DL\)' model: 'Moto G$1 Optimo Maxx (XT1955DL)' - regex: 'moto g\(([0-9])\) power lite' model: 'Moto G$1 Power Lite' - regex: 'moto g\(([0-9]|10)\) power' model: 'Moto G$1 Power' - regex: 'moto g\(([0-9])\) supra' model: 'Moto G$1 Supra' - regex: 'moto g\(([0-9])\) plus' model: 'Moto G$1 Plus' - regex: 'moto g\(([0-9]+)\) play' model: 'Moto G$1 Play' - regex: 'moto g\(([0-9]+)\)' model: 'Moto G$1' - regex: 'moto g(\d+)(?:[);/ ]|$)' model: 'Moto G$1' - regex: 'moto g go' model: 'Moto G Go' - regex: 'moto e\(?([0-9]+)\)?(?: Build|[;)])' model: 'Moto E$1' - regex: 'moto x\(?(4+)\)?(?: Build|[;)])' model: 'Moto X$1' - regex: 'moto(?:rola)? one 5G' model: 'One 5G' - regex: 'Moto MAXX|XT1225' model: 'Moto Maxx' - regex: 'Moto ([CGEXZ]) ?\(([a-z0-9]+)\)( Plus| Play)?' model: 'Moto $1$2$3' - regex: 'Moto ?([CGEXZ])([0-9]+)( Plus| Play)?' model: 'Moto $1$2$3' - regex: '(?:Motorola-)?Moto[ _]?([CGEXZ])([ _](?:Plus|Play))?' model: 'Moto $1$2' - regex: 'MotoroiX' model: 'MotoroiX' - regex: 'Moto 360' device: 'wearable' model: 'Moto 360' - regex: 'Moto(?:rola)?[- _]F100' device: 'wearable' model: 'Moto ACTV' - regex: 'XT2071-4' model: 'RAZR 5G' - regex: 'razr \(?(202[02])\)?' model: 'RAZR ($1)' - regex: 'MOTORAZR[ _-]([a-z0-9]+)' model: 'RAZR $1' - regex: 'MOTORIZR[ _\-]([a-z0-9]+)' model: 'RIZR $1' - regex: 'motorola razr (40) ultra' model: 'RIZR $1 Ultra' - regex: 'motorola razr (40)' model: 'RIZR $1' - regex: 'Motorola[ _-]([^/);]+)(?: Build|[);])' model: '$1' - regex: 'Moto[ _-]([^/);]+)(?: Build|[);])' model: '$1' - regex: 'MOT(?!OROLA)[O]?[_-]?([a-z0-9.]+)' model: '$1' - regex: '(?<!AN)DROID ?([a-z0-9 ]*) Build' model: 'DROID $1' - regex: '(?<!AN)DROID ?([a-z0-9]+)' model: 'DROID $1' - regex: 'portalmmm/2\.0 ((?:E378i|L6|L7|V3)[a-z0-9]+)' model: '$1' - regex: '(XOOM [^;/]*)Build' device: 'tablet' model: '$1' - regex: '(MZ[0-9]{3})(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: '((?:ME|MB|XT)[0-9]{3,4}(?:\(Defy\))?)(?:[);/ ]|$)' model: '$1' # Motorola Solutions (https://www.motorolasolutions.com/) Motorola Solutions: regex: '(LEX L11[ae])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Movic Movic: regex: 'MOVIC|F4502' device: 'smartphone' models: - regex: 'MOVIC[ -]K(2)' model: 'K$1' - regex: 'MOVIC[ -]W([2345])' model: 'W$1' - regex: 'F4502' model: 'F4502' # Movitel Movitel: regex: 'M(?:8421|9101[AB]|910[36]|841[4568]|8601)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'M(\d{4}[AB]?)(?:[);/ ]|$)' model: 'M$1' # MTN MTN: regex: 'MTN-|(?:Kafit V900|Faith29|Ka ?Chocolate)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Faith29(?:[);/ ]|$)' model: 'Faith 29' - regex: 'Ka ?Chocolate(?:[);/ ]|$)' model: 'Ka Chocolate' - regex: 'Kafit V900' model: 'KaFit V900' - regex: 'MTN-(L860|S620)' model: 'Sm@rt Mini $1' - regex: 'MTN-8978P' device: 'tablet' model: 'Steppa' - regex: 'MTN-([a-z0-9_\-]+)' model: 'MTN-$1' # Hammer (hammerphones.com) sub brand myPhone (PL) Hammer: regex: '(?:Hammer[_ ](?:Construction|Explorer[_ ](?:Plus|Pro)|FORCE|Blade_[34]|Blade2_PRO|Blade_5G|IRON_[234](?:[_ ]LTE)?|IRON|Explorer|ENERGY(?:_18x9|_2_2022|_[2X])?|Titan 2|Active2?(?:_LTE)?)|Iron[_ ]2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Hammer[_ ]Construction' model: 'Construction' - regex: 'Hammer[_ ]Explorer[_ ]Plus' model: 'Explorer Plus' - regex: 'Hammer[_ ]Explorer[_ ]Pro' model: 'Explorer Pro' - regex: 'HAMMER[ _]ENERGY_2_2022' model: 'Energy 2 (2022)' - regex: 'HAMMER[ _]ENERGY[ _](18x9|3G|\d+|X)' model: 'Energy $1' - regex: 'HAMMER[ _]ENERGY' model: 'Energy' - regex: 'Hammer Titan 2' model: 'Titan 2' - regex: 'Hammer[_ ]FORCE' model: 'Force' - regex: '(?:Hammer[ _])?Iron[ _]([234]|V)' model: 'Iron $1' - regex: 'Hammer[ _]Iron' model: 'Iron' - regex: 'Hammer[ _]Explorer' model: 'Explorer' - regex: 'Hammer Active(?:[);/ ]|$)' model: 'Active' - regex: 'Hammer_Active2(?:[);/ ]|$)' model: 'Active 2' - regex: 'Hammer_Active2_LTE(?:[);/ ]|$)' model: 'Active 2 LTE' - regex: 'Hammer_Blade_5G' model: 'Blade 5G' - regex: 'Hammer_Blade2_PRO' model: 'Blade 2 Pro' - regex: 'Hammer_Blade_([34])' model: 'Blade $1' # Rombica (rumbica.ru) Rombica: regex: 'Rombica[_ ]|(SSQ-A0500|Smart Box v[0-9]+|Smart Box (?:[ABCDXYZ]1|[GDFQ]2|[AF]3|H4)|myPhone Jet|55MT-UDG54G)(?:[);/ ]|$)' device: 'tv' models: - regex: 'myPhone Jet' device: 'smartphone' model: 'myPhone Jet' - regex: 'SSQ-A0500(?:[);/ ]|$)' model: 'Smart Stick 4K' - regex: '(?:Rombica[_ ])?Cinema4K_v01' model: 'Cinema 4K v01' - regex: '(55MT-UDG54G|Infinity K8|Smart Box (?:Q1|v00[3-9]|Quad|Ultra HD v002|4K V001|[ABCDXYZ]1|[AGDFQL]2|[AFG]3|H4)|TV (?:Ultima|Fly)|Smart Stick Pro|TV Mercury|TV Air)(?:[);/ ]|$)' model: '$1' # MyPhone or my|phone, or MyPhone Pilipinas (myphone.com.ph) MyPhone (PH): regex: 'MyPad[ _][^;/)]+( Build|[);])|MyPhone ?(?:A888|A919 Duo|Agua (?:Infinity|Rio ?(?:Fun|Lite)?)|MY27|Rio (?:2 ?(?:Fun|Lite)?|Pixie)|UNO)|my(?:A(?:10|[789])|T[356]) DTV|myWX1 Plus|myXI1(?:[ _](?:Plus|Pro))?|my(?:G1|XI3|NX1|X12|X[23589]|A1[0-35-8]|29S|807)|Brown [12]|A898 DUO' device: 'smartphone' models: # explicit table models - regex: 'myT([356]) DTV' model: 'myT$1 DTV' device: 'tablet' # explicit smartphones models - regex: 'myA([789]|10) DTV' model: 'myA$1 DTV' - regex: 'A898 DUO' model: 'A898 Duo' - regex: 'MyPhoneMY27' model: 'my27' - regex: 'MY807' model: 'myX1' - regex: 'myXI1 Plus(?:[);/ ]|$)' model: 'myXI1 Plus' - regex: 'myXI1 Pro(?:[);/ ]|$)' model: 'myXI1 Pro' - regex: 'myXI([13])(?:[);/ ]|$)' model: 'myXI$1' - regex: 'my(A1[0-35-8]i?|G1|NX1|X[23589]|X12|29S)(?:[);/ ]|$)' model: 'my$1' - regex: 'myWX1 Plus(?:[);/ ]|$)' model: 'myWX1 Plus' - regex: 'Brown 1(?:[);/ ]|$)' # ARK Brown 1 model: 'Brown 1' - regex: 'brown 2(?:[);/ ]|$)' # ARK Brown 1 model: 'Brown 2' # general detections - regex: 'MyPhone[ _]([^;/)]+)( Build|[;)])' model: '$1' - regex: 'MyPad[ _]([^;/(]+)(?: Build|[;)])' model: 'MyPad $1' device: 'tablet' # myPhone (https://www.myphone.pl/) myPhone (PL): regex: '(?:myPhone|myTab)_?[^;/)]+( Build|[);])|(?:FUN|Pocket|Prime)_18x9|Prime3Lite|Prime_4_Lite|Q-Smart_Plus|Q-Smart_III_Plus|Q_Smart_BE|(?:HAMMER_)?AXE[_ ]M[_ ]LTE|Hammer[_ ](?:Axe)|Cube_LTE|C-Smart_pix|SmartView_9\.6_3G|SmartView_(?:[78]|9_6)_(?:LTE|[34]G)|Android 6(?:[\d.]*);(?: [\w-]+;)? Pocket|Pocket_2|LUNA_II' device: 'smartphone' models: # explicit smartphones models - regex: 'C-Smart_pix' model: 'C-Smart Pix' - regex: 'Cube_LTE|Cube 16GB' model: 'Cube LTE' - regex: '(?:myPhone_)?Fun[_ ]?(\d)[_ ]?Lite' model: 'FUN $1 Lite' - regex: '(?:myPhone_)?Fun[_ ]?(\d)[_ ]?LTE' model: 'FUN $1 LTE' - regex: '(?:myPhone_)?Fun_?([48]|18x9)' model: 'FUN $1' - regex: 'Hammer AXE Pro' model: 'Hammer Axe Pro' - regex: 'myPhone AXE 3G' model: 'Hammer Axe 3G' - regex: '(?:HAMMER_)?AXE[_ ]M[_ ]LTE' model: 'Hammer Axe M LTE' - regex: 'INFINITY (LTE|3G)' model: 'Infinity $1' - regex: 'LUNA_II' model: 'Luna II' - regex: 'Pocket_2(?:[);/ ]|$)' model: 'Pocket 2' - regex: 'Pocket(?:[);/ ]|$)' model: 'Pocket' - regex: 'myPhone[_ ]Pocket[_ ]Pro' model: 'Pocket Pro' - regex: 'Pocket_18x9' model: 'Pocket 18x9' - regex: 'Prime3Lite(?:[);/ ]|$)' model: 'Prime 3 Lite' - regex: 'Prime_4_Lite' model: 'Prime 4 Lite' - regex: 'Prime_18x9(_LTE)?(?:[);/ ]|$)' model: 'Prime 18x9$1' - regex: 'Q_Smart_BE(?:[);/ ]|$)' model: 'Q-Smart BE' - regex: 'Q-Smart_Plus(?:[);/ ]|$)' model: 'Q-Smart Plus' - regex: 'Q-Smart_III_Plus' model: 'Q-Smart III Plus' # explicit table models - regex: 'myTab10II' model: 'myTab 10 II' device: 'tablet' - regex: 'myTab_10III' model: 'myTab 10 III' device: 'tablet' - regex: 'SmartView_7_3G' model: 'SmartView 7" 3G' device: 'tablet' - regex: 'SmartView_8_LTE' model: 'SmartView 8" LTE' device: 'tablet' - regex: 'SmartView_9[_.]6_3G' model: 'SmartView 9.6" 3G' device: 'tablet' # general detections - regex: 'myPhone[ _]([^;/)]+)( Build|[;)])' model: '$1' - regex: 'myTab[ _]?([^;/]+)(?: Build|[;)])' model: 'myTab $1' device: 'tablet' # MyWigo MyWigo: regex: 'MyWigo ' device: 'smartphone' models: - regex: 'City3' model: 'City 3' - regex: 'Excite GIII' model: 'Excite G3' - regex: 'MyWigo[ _]([^;/)]+)( Build|\))' model: '$1' # Myros (myrosworld.com) Myros: regex: '(E70 Ultra)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Myria Myria: regex: ' (Myria[_ ][^/;]+|502M|Cozy|Easy tab 9|Grand|Compact_E2_Plus)(?: Build|[;)])|Myria_FIVE|Myria_Grand_4G|Myria_Wide_2|Myria_Wide_4G' device: 'smartphone' models: - regex: 'Myria_FIVE' model: 'Five' - regex: '(502M|Grand|Compact_E2_Plus)' model: '$1' - regex: 'Myria_Grand_4G' model: 'Grand 4G' - regex: 'Myria_Wide_4G' model: 'Wide 4G' - regex: 'Myria_Wide_2' model: 'Wide 2' - regex: '(Cozy|Easy tab 9)' model: '$1' device: 'tablet' - regex: 'Myria[_ ]([^/);]+)(?: Build|[);])' model: '$1' # M.T.T or MTT M.T.T.: regex: 'M\.T\.T\.|MTT IDEAL' device: 'smartphone' models: - regex: 'MTT IDEAL' model: 'Ideal' - regex: 'M\.T\.T\. ?Tablet([^;/)]+)?(?: Build|[;)])' device: 'tablet' model: 'Tablet$1' - regex: 'M\.T\.T\. ?([^;/)]+)(?: Build|[;)])' model: '$1' # Navon (https://smartnavon.eu/) Navon: regex: 'Navon[_ ]|(?:Vision_Tab_(?:7|10)|Pure Micro|Superme_Max|Raptor3G8GB|Predator (?:10|3G)|Platinum[_ ]?10[_ ]?3G(?:_V2|2019)?|Supreme[_ ](?:Fine(?:[_ ]Micro)?|Chief|Pure|Pro)(?:[_ ](?:Mini|Plus))?|T400 3G 2017|Spirit_Plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'M505 LTE(?:[);/ ]|$)' model: 'Mizu M505 LTE' - regex: '(F552|D504)(?:[);/ ]|$)' model: 'Mizu $1' - regex: 'Superme_Max(?:[);/ ]|$)' model: 'Supreme Max' - regex: 'Supreme_Fine_Mini(?:[);/ ]|$)' model: 'Supreme Fine Mini' - regex: 'Supreme_Fine_Micro(?:[);/ ]|$)' model: 'Supreme Fine Micro' - regex: 'Supreme[_ ]Fine[_ ]Plus(?:[);/ ]|$)' model: 'Supreme Fine Plus' - regex: 'Supreme_Fine(?:[);/ ]|$)' model: 'Supreme Fine' - regex: 'Supreme[_ ]Chief(?:[);/ ]|$)' model: 'Supreme Chief' - regex: 'Supreme[_ ]Pure[ _]Plus(?:[);/ ]|$)' model: 'Supreme Pure Plus' - regex: 'Supreme Pure(?:[);/ ]|$)' model: 'Supreme Pure' - regex: 'Supreme[_ ]Pro(?:[);/ ]|$)' model: 'Supreme Pro' - regex: 'Pure Micro(?:[);/ ]|$)' model: 'Pure Micro' - regex: 'Spirit_Plus(?:[);/ ]|$)' model: 'Spirit Plus' - regex: 'T400 3G 2017' model: 'T400 3G (2017)' - regex: 'Navon[_ ]Infinity(?:[);/ ]|$)' model: 'Infinity' - regex: 'Navon[_ ](D405)(?:[);/ ]|$)' model: '$1' - regex: '(?:Navon[_ ])?Platinum[ _]10[ _]3G(_V2)?(?:[);/ ]|$)' device: 'tablet' model: 'Platinum 10.1" 3G$1' - regex: '(?:Navon[_ ])?Platinum103G2019(?:[);/ ]|$)' device: 'tablet' model: 'Platinum 10.1" 3G (2019)' - regex: '(?:Navon[_ ])?Orpheus[ _]3G(?:[);/ ]|$)' device: 'tablet' model: 'Orpheus 3G' - regex: '(?:Navon_)?Predator[_ ](3G|10|7)(?:[);/ ]|$)' device: 'tablet' model: 'Predator $1' - regex: 'Raptor3G8GB(?:[);/ ]|$)' device: 'tablet' model: 'Raptor 3G 8GB' - regex: 'Vision_Tab_(7|10)(?:[);/ ]|$)' device: 'tablet' model: 'Vision Tab $1' # C5 Mobile C5 Mobile: regex: '(?:noa X2 Plus|noa_G1|noaXPower|NOATAB)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'noa X2 Plus' model: 'Noa X2 Plus' - regex: 'noa_G1' model: 'Noa G1' - regex: 'noaXPower' model: 'Noa X Power' - regex: 'NOATAB' device: 'tablet' model: 'Noa Tab' # NOA or NOA Mobile (noa-mobile.eu) NOA: regex: '(?:NOA-)?NOA[ _]|Hummer(?:_2019_R|LE)|NextSE|Vivo 4G_r|SPRINT4G|SparkSE' device: 'smartphone' models: - regex: 'NOA[_ ]CORE[_ ]FORTE' model: 'Core Forte' - regex: 'HummerLE' model: 'Hummer LE' - regex: 'Hummer_2019_R' model: 'Hummer R (2019)' - regex: 'NOA[_ ]Hummer[_ ]Lite' model: 'Hummer Lite' - regex: 'NOA[_ ]HUMMER' model: 'Hummer' - regex: 'NOA[_ ]MOVEse' model: 'Move SE' - regex: 'NextSE' model: 'Next SE' - regex: 'NOA[_ ]NEXT' model: 'Next' - regex: 'NOA[_ ]VISION[_ ]H3SE' model: 'Vision H3SE' - regex: 'NOA[_ ]VISION[_ ]H3' model: 'Vision H3' - regex: 'NOA[_ ]LOOP' model: 'Loop' - regex: '(?:NOA-)?NOA[_ ]H4se' model: 'H4SE' - regex: 'NOA[_ ]Mg12' model: 'MG12' - regex: 'NOA[_ ]H44SE' model: 'H44SE' - regex: 'NOA[_ ]H10LE' model: 'H10LE' - regex: 'SPRINT4G' model: 'Sprint 4G' - regex: 'SparkSE' model: 'Spark SE' - regex: 'NOA[_ ](M108K|P497)' device: 'tablet' model: '$1' - regex: '(?:NOA[_ ])?Vivo 4G_r' model: 'Vivo 4G' - regex: 'NOA[_ ]([^;)/ ]+)' model: '$1' # Nobby (nobby.ru) Nobby: regex: 'Nobby[ ](S500|X800(?: Pro)?|S300(?: Pro)?)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # NoviSea NoviSea: regex: 'NoviSea[ _](A10)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Novacom (https://www.novacom.com.tr/) Novacom: regex: 'SPYBOXS11' device: 'tv' models: - regex: 'SPYBOXS11_PLUS(?:[);/ ]|$)' model: 'Spy Box S11 Plus' - regex: 'SPYBOXS11(?:[);/ ]|$)' model: 'Spy Box S11' # Novey (https://www.novey.com.pa/ https://noveymobile.com) Novey: regex: 'Novey|(?:Pro K10|(?:Force (?:F15|G20)|Alpha A10))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Force (F15|G20)' model: 'Force $1' - regex: 'Alpha A10' model: 'Alpha A10' - regex: 'Pro K10' model: 'Pro K10' - regex: 'Novey (L2)(?:[);/ ]|$)' model: '$1' # nec or nec lavie (www.nec-lavie.jp) NEC: regex: 'NEC[ _\-]|KGT/2\.0|portalmmm/1\.0 (?:DB|N)|(?:portalmmm|o2imode)/2\.0[ ,]N|(?:PC-T[SE]\d{3}[\w]{2,3}|N-06C|N-02E|LAVIE T11 (?:11QHD1|112K1)|LAVIE Tab E (?:10|8)FHD[12]|7SD1|8HD1|LAVIE Tab (?:10FHD3|T12 12QHD1|9QHD1))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'N-06C(?:[);/ ]|$)' model: 'Medias Amadana' - regex: 'N-02E(?:[);/ ]|$)' model: 'Medias U' - regex: '(?:NEC[ _\-]|KGT/2\.0 )([a-z0-9]+)' model: '$1' - regex: 'portalmmm/1\.0 ((?:DB|N)[a-z0-9]+)' model: '$1' - regex: '(?:portalmmm|o2imode)/2\.0[ ,](N[a-z0-9]+)' model: '$1' - regex: 'LAVIE Tab E ((?:10|8)FHD[12]|7SD1|8HD1)(?:[);/ ]|$)' device: 'tablet' model: 'LAVIE Tab E $1' - regex: 'LAVIE Tab 10FHD3(?:[);/ ]|$)' device: 'tablet' model: 'LAVIE Tab T10 FHD (Gen 3)' - regex: 'LAVIE Tab T12 12QHD1(?:[);/ ]|$)' device: 'tablet' model: 'LAVIE Tab T12 QHD' - regex: 'LAVIE T11 (11QHD1|112K1)(?:[);/ ]|$)' device: 'tablet' model: 'LAVIE Tab T11 $1' - regex: 'LAVIE T7 (7SD1)(?:[);/ ]|$)' device: 'tablet' model: 'LAVIE Tab T7 $1' - regex: 'LAVIE T8 (8HD1)(?:[);/ ]|$)' device: 'tablet' model: 'LAVIE Tab T8 $1' - regex: 'PC-TE(\d+)' device: 'tablet' model: 'LAVIE Tab E TE$1' - regex: 'PC-TS(\d+)' device: 'tablet' model: 'LAVIE Tab S TS$1' - regex: 'LAVIE Tab (9QHD1)' device: 'tablet' model: 'LAVIE Tab $1' # Neffos (sub brand TP-Link) (neffos.com) Neffos: regex: 'Neffos|(TP601[ABCE])(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:C57|TP601[ABCE])(?:[);/ ]|$)' model: 'C5L' - regex: 'Neffos[_ ]Y50' model: 'Y50' - regex: 'Neffos X20 Pro' model: 'X20 Pro' - regex: 'Neffos[_ ]((?:[YNCXA])[0-9][A-Z]?(?: Max| Lite| Plus)?)' model: '$1' # Nextbit Nextbit: regex: 'Nextbit|(?:Robin)(?: Build|\))' device: 'smartphone' models: - regex: '(Robin)(?:[);/ ]|$)' model: '$1' # newgen Newgen: regex: 'NEWGEN\-([a-z0-9]+)' device: 'feature phone' model: '$1' # NetBox (https://netbox.info/) NetBox: regex: 'NETBOX' device: 'tv' models: - regex: 'NETBOX-Prime(?:[);/ ]|$)' model: 'Prime' - regex: 'NETBOX-ShineS(?:[);/ ]|$)' model: 'Shine S' # Netgear Netgear: regex: 'GTV100' device: 'tv' models: - regex: 'GTV100' model: 'NeoTV Prime' # Gear Mobile (gear.cl) Gear Mobile: regex: '(Feel_7013N)' device: 'tablet' model: '$1' # NeuImage NeuImage: regex: 'NIM-' device: 'smartphone' models: - regex: 'NIM-(450D|550O|[56]00Q)' model: '$1' # NextBook NextBook: regex: 'Next[0-9]|NX(?:785QC8G|M900MC|008HD8G|010HI8G|M908HC|M726|16A8116K|A8QC116|A8LTE116|16A10132S|16A11264|A116QC164|A101LTE116)|(?:BRT81)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(BRT81)(?:[);/ ]|$)' model: '$1' - regex: 'NX008HD8G' model: 'Premium 8 HD' - regex: 'NXA8QC116' model: 'Ares 8' - regex: 'NXA8LTE116' model: 'Ares 8L' - regex: 'NX16A8116K' model: 'Ares A8' - regex: 'NX16A10132S' model: 'Ares A10' - regex: 'NX16A11264' model: 'Ares A11' - regex: 'NEXT1015BAP' model: 'Ares 10' - regex: 'NXA101LTE116' model: 'Ares 10L' - regex: 'NXA116QC164' model: 'Ares 11' - regex: 'NXM908HC' model: 'Premium 9' - regex: 'NX010HI8G' model: 'Premium 10 Hi' - regex: 'NX785QC8G' model: '8' - regex: 'NXM900MC' model: '8 HD' - regex: 'NXM726' model: 'Premium 7' - regex: 'Next([0-9]+[^;/]+) Build' model: 'Next $1' # ngm or new generation mobile (www.ngm.eu) NGM: regex: 'NGM[_ ][a-z0-9]+|(Forward|Dynamic)[ _]?[^/;]+(?:Build|/)|Smart5Plus32GB|Android 5(?:[\d.]*);(?: [\w-]+;)? (?:P50[89]|P55[01])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Smart5Plus32GB' model: 'Smart 5 Plus' - regex: 'P(50[89]|55[01])' model: 'You Color P$1' - regex: 'Dynamic JumpL' model: 'Dynamic Jump L' - regex: '(Forward|Dynamic)[ _]?([^/;)]+)(?: Build|[;)])' model: '$1 $2' - regex: '(Forward|Dynamic)[ _]?([^/;]+)/' model: '$1 $2' - regex: 'NGM ([^;/]+) Build' model: '$1' - regex: 'NGM_([a-z0-9]+)' model: '$1' # nexian Nexian: regex: 'S?Nexian' device: 'smartphone' models: - regex: 'S?Nexian[ ]?([a-z0-9\-]+)' model: '$1' - regex: 'S?Nexian-([a-z0-9]+)' model: '$1' # Noain Noain: regex: 'NOAIN' device: 'smartphone' models: - regex: 'NOAIN[ _-]([^;/]+) Build' model: '$1' - regex: 'NOAIN[ _-]([^;/)]+)(?:[;/)]|$)' model: '$1' # Noblex (https://noblex.com.ar/) Noblex: regex: 'Noblex|NBX-|(?:A[56]0UNS|T7A6INC|T7A6N)(?:[;/)]|$)' device: 'smartphone' models: - regex: '(?:Noblex|NBX)[ _-]([^;/]+) Build' model: '$1' - regex: '(?:Noblex|NBX)[ _-]([^;/)]+)(?:[;/)]|$)' model: '$1' - regex: '(A[56]0)UNS' model: '$1' - regex: '(T7A6INC|T7A6N)' device: 'tablet' model: '$1' # NOGA (https://noganet.ar/) NOGA: regex: '(?:NOGAPC (?:LIVE|PRO|ULTRA)|NOGAPAD ?(?:7G|10\.1GHD|10HD))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'NOGAPAD ?7G(?:[);/ ]|$)' model: 'NOGAPAD 7G' - regex: 'NOGAPAD ?10\.1GHD(?:[);/ ]|$)' model: 'NOGAPAD 10.1" GHD' - regex: 'NOGAPAD 10HD' model: 'NOGAPAD 10HD' - regex: 'NOGAPC PRO(?:[);/ ]|$)' device: 'tv' model: 'PC Pro' - regex: 'NOGAPC LIVE(?:[);/ ]|$)' device: 'tv' model: 'PC Live' - regex: 'NOGAPC ULTRA(?:[);/ ]|$)' device: 'tv' model: 'PC Ultra' # Nomu Nomu: regex: '(?:Nomu[ _-](?:T18|S30mini|S10)|(?:V1600S|S10 PRO|S50_Pro)|LMCV1|Xeno V1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Nomu[ _-]T18(?:[);/ ]|$)' model: 'T18' - regex: 'Nomu[ _-]s10(?:[);/ ]|$)' model: 'S10' - regex: 'Nomu[ _-]S30mini(?:[);/ ]|$)' model: 'S30 Mini' - regex: 'LMCV1(?:[);/ ]|$)' model: 'S30' - regex: 'S([15]0)[_ ]PRO(?:[);/ ]|$)' model: 'S$1 Pro' - regex: '(V1600S)(?:[);/ ]|$)' model: '$1' - regex: '(Xeno V1)(?:[);/ ]|$)' #T9 model: '$1' # Noontec (http://www.noontec.com.au/) Noontec: regex: 'Noontec ' device: 'tv' model: '' # Nordmende Nordmende: regex: 'NORDMENDE[ _;,]' device: 'tv' models: - regex: 'NORDMENDE[_ ](43NM6000F|55NM6000U)(?:[);/ ]|$)' model: '$1' # Opsson Opsson: regex: '(?<!SANTIN )Opsson|IUSAI' device: 'smartphone' models: - regex: 'IUSAI[ _]([^/;]+) Build' model: 'Iusai $1' - regex: 'IUSAI[ _]([^/;\)]+)[/;\)]' model: 'Iusai $1' - regex: 'Opsson[ _]([^/;]+) Build' model: '$1' - regex: '(?:Opsson-)?Opsson[ -_]([^/;]+)/' model: '$1' # Nomi (nomi-electronics.com) Nomi: regex: 'Nomi[ _-]|(C101010 Ultra2|i501[234]|i5032|i50[537]0|i5031|i55[13]0|i5532|C0(700(?:[02358]|2HD)|7850)|C1010[0-3]|i(?:50[0158]|450|40[01]|55[02])|i504 Dream|AB5116-01)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'i501[23](?:[);/ ]|$)' model: 'Evo M2' - regex: 'Nomi[ _]i5010(?:[);/ ]|$)' model: 'Evo M' - regex: 'Nomi[ _]i5001(?:[);/ ]|$)' model: 'Evo M3' - regex: 'Nomi[ _]i5011(?:[);/ ]|$)' model: 'Evo M1' - regex: 'Nomi[ _]i506(?:[);/ ]|$)' model: 'i506 Shine' - regex: 'Nomi[ _]i5730(?:[);/ ]|$)' model: 'i5730 Infinity' - regex: 'Nomi[ _]i6030(?:[);/ ]|$)' model: 'Note-X' - regex: 'I5070(?:[);/ ]|$)' model: 'Iron-X' - regex: 'i5071(?:[);/ ]|$)' model: 'Iron-X1' - regex: 'Nomi[_ ]I4070(?:[);/ ]|$)' model: 'Iron-M' - regex: 'i5014(?:[);/ ]|$)' model: 'Evo M4' - regex: 'i5032(?:[);/ ]|$)' model: 'Evo X2' - regex: 'i5030(?:[);/ ]|$)' model: 'Evo X' - regex: 'i5031(?:[);/ ]|$)' model: 'Evo X1' - regex: 'i5050(?:[);/ ]|$)' model: 'Evo Z' - regex: '(?:Nomi_)?i4510(?:[);/ ]|$)' model: 'Beat M' - regex: '(?:Nomi_)?i4500(?:[);/ ]|$)' model: 'Beat M1' - regex: 'i5532(?:[);/ ]|$)' model: 'Space X2' - regex: 'i5510(?:[);/ ]|$)' model: 'Space M' - regex: 'i5530(?:[);/ ]|$)' model: 'Space X' - regex: 'Nomi[_ ]i5511(?:[);/ ]|$)' model: 'Space M1' - regex: '(?:Nomi_)?i5710(?:[);/ ]|$)' model: 'Infinity X1' - regex: 'i508(?:[);/ ]|$)' model: 'Energy' - regex: '(?:Nomi[ _])?i(50[015]|450|40[01]|55[02])(?:[);/ ]|$)' model: 'i$1' - regex: 'Nomi[ _]i507(?:[);/ ]|$)' model: 'Spark' - regex: 'Nomi[ _]i503(?:[);/ ]|$)' model: 'Jump' - regex: '(?:Nomi[ _]i504|i504 Dream)(?:[);/ ]|$)' model: 'Dream' - regex: 'Nomi[ _](\w+)[ _]PLUS(?:[);/ ]|$)' model: '$1 Plus' - regex: '(AB5116-01)(?:[);/ ]|$)' device: 'tv' model: '$1' - regex: 'C101010 Ultra2' model: 'Ultra 2' device: 'tablet' - regex: '(?:Nomi_)?C101040' model: 'Ultra 3 Pro' device: 'tablet' - regex: '(?:Nomi_)?C101030' model: 'Ultra 3 LTE' device: 'tablet' - regex: '(?:Nomi_)?C101012' model: 'Ultra 3 3G' device: 'tablet' - regex: '(?:Nomi_)?C101014' model: 'Ultra 4 3G' device: 'tablet' - regex: '(?:Nomi_)?C101034' model: 'Ultra 4 LTE' device: 'tablet' - regex: '(?:Nomi_)?C101044' model: 'Ultra 4 Pro LTE' device: 'tablet' - regex: '(?:Nomi_)?C070010' device: 'tablet' model: 'Corsa' - regex: '(?:Nomi_)?C070020' model: 'Corsa Pro' device: 'tablet' - regex: '(?:Nomi_)?C070011' model: 'Corsa 2' device: 'tablet' - regex: '(?:Nomi_)?C070030' model: 'Corsa 3 LTE' device: 'tablet' - regex: '(?:Nomi_)?C070012' model: 'Corsa 3 3G' device: 'tablet' - regex: '(?:Nomi_)?C070014L' model: 'Corsa 4 Light 3G' device: 'tablet' - regex: '(?:Nomi_)?C0700[13]4' model: 'Corsa 4 LTE' device: 'tablet' - regex: '(?:Nomi_)?C070044' model: 'Corsa 4 Pro LTE' device: 'tablet' - regex: '(?:Nomi_)?C080012' model: 'Libra 3 3G' device: 'tablet' - regex: '(?:Nomi_)?C080010' model: 'Libra 2 3G' device: 'tablet' - regex: '(?:Nomi_)?C080034' model: 'Libra 4 LTE' device: 'tablet' - regex: '(?:Nomi_)?C080014' model: 'Libra 4 3G' device: 'tablet' - regex: '(?:Nomi_)?C07008' model: 'Sigma' device: 'tablet' - regex: '(?:Nomi_)?C10105' model: 'Stella Plus' device: 'tablet' - regex: '(?:Nomi[ _])?(C0(?:700(?:[0235]|2HD)|7850|9600)|C1010[0-3])(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: 'Nomi[ _-]([^;/]+) Build' model: '$1' - regex: 'Nomi[ _-]([^;/)]+)(?:[;/)]|$)' model: '$1' # NUU Mobile (https://nuumobile.com/) NUU Mobile: regex: 'NUU_|(?:(?:N(500[12]|550[12]|570[24]|6001)L|S(?:5501|5701|600[13]|6303|6501|6512)L|T080[12]L)|A6L-[CG])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'T080[12]L' device: 'tablet' model: 'Tab 8' - regex: 'NUU_A([13]L?)' model: 'A$1' - regex: 'NUU_M([32])(?:[);/ ]|$)' model: 'M$1' - regex: 'NUU_X5(?:[);/ ]|$)' model: 'X5' - regex: 'S6003L' model: 'X6 Plus' - regex: 'N5704L' model: 'G1' - regex: 'S6512L' model: 'A15' - regex: 'S6001L' model: 'G2' - regex: 'S5501L' model: 'M19' - regex: 'N5702L' model: 'G3' - regex: 'S6501L' model: 'G5' - regex: 'N5501L' model: 'A5L' - regex: 'N5002L' model: 'A7L' - regex: 'S6303L' model: 'A9L' - regex: 'N5502L' model: 'A10L' - regex: 'N6001L' model: 'A23' - regex: 'S5701L' model: 'M4X Pro' - regex: '(?:NUU_)?(N5001L|A6L-[CG]|Q500)(?:[);/ ]|$)' model: '$1' # NYX Mobile or NYX NYX Mobile: regex: 'NYX[ _]|(?:GLAM|ARGON|TQ14|GO-X|orbis)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NYX_A1' model: 'A1' - regex: 'NYX[_ ]ALTER' model: 'Alter' - regex: 'NYX_Blink' model: 'Blink' - regex: 'NYX_EGO' model: 'Ego' - regex: 'NYX_FENIX' model: 'Fenix' - regex: 'NYX_FLY_II' model: 'Fly II' - regex: 'NYX_FLY_MINI' model: 'Fly Mini' - regex: 'NYX_FLY' model: 'Fly' - regex: 'NYX_HIT' model: 'Hit' - regex: 'NYX_JAK' model: 'Jak' - regex: 'NYX_JOIN' model: 'Join' - regex: 'NYX_NOBA_II' model: 'Noba II' - regex: 'NYX_NOBA' model: 'Noba' - regex: 'NYX_ORBIS' model: 'Orbis' - regex: 'NYX[ _]REX' model: 'Rex' - regex: 'NYX_SHADE' model: 'Shade' - regex: 'NYX_SKY' model: 'Sky' - regex: 'NYX_SPARK' model: 'Spark' - regex: 'NYX_VOX' model: 'Vox' - regex: 'NYX_ZEUZ_HD' model: 'Zeus HD' - regex: 'GLAM' model: 'Glam' - regex: 'ARGON' model: 'Argon' - regex: '(TQ14|GO-X)' model: '$1' - regex: 'orbis' model: 'Orbis' # Nous Nous: regex: '(?:NS(?:[356]|500[2-68]|5511|5502)|NS 5511)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NS 5511(?:[);/ ]|$)' model: 'NS5511' - regex: '(NS[0-9]{1,4})(?:[);/ ]|$)' model: '$1' # Nvidia Nvidia: regex: 'NVIDIA|SHIELD|Tegra(Note-P1640| Note 7)|wx_na_wf|wx_un_do' device: 'tablet' models: - regex: 'TegraNote-P1640' model: 'Tegra Note P1640' - regex: 'wx_na_wf|wx_un_do' model: 'SHIELD Tablet' - regex: '(SHIELD Tablet(?: K1)?|Tegra Note 7)(?: Build|[;)])' model: '$1' - regex: 'SHIELD Andr[o0]id TV' model: 'SHIELD Android TV' device: 'tv' - regex: 'NVIDIA_SHIELD_PRO_2019' model: 'SHIELD TV Pro' device: 'tv' - regex: 'NVIDIA Shield' model: 'SHIELD TV' device: 'tv' - regex: 'SHIELD' model: 'SHIELD Portable' device: 'console' # O+ (OPlus) O+: regex: 'O\+[ _](Presto 700 LTE|FAB GO|360|8\.(?:3[178]z|[15]2|37y|3[38]|9[12378]|1[75]|6)|Air|Grande|Crunch|Ultra|Xfinit|Upsized|Venti|EVO 4G|Sonic|360[ _]ALPHA[ _]PLUS[ _]2\.0|360[ _]HD[ _]2\.0|Stream HDTV)' device: 'smartphone' models: - regex: 'O\+[ _](Presto 700 LTE|Grande|Crunch|Ultra 2\.0|Xfinit|Ultra Lite|Ultra|Sonic|Upsized|Venti 4G|EVO 4G|8\.(?:3[178]z|37y|3[38]|[15]2|9[12378]|1[75]|6))' model: '$1' - regex: 'O\+_AIR' model: 'Air' - regex: 'O\+[ _]360[ _]HD[ _]2\.0' model: '360 HD 2.0' - regex: 'O\+[ _]360[ _]HD' model: '360 HD' - regex: 'O\+[ _]360[ _]ALPHA[ _]PLUS[ _]2\.0' model: '360 Alpha Plus 2.0' - regex: 'O\+[ _]360 ALPHA Plus' model: '360 Alpha Plus' - regex: 'O\+[ _]360 ALPHA' model: '360 Alpha' - regex: 'O\+[ _]360' model: '360' - regex: 'O\+ Stream HDTV' device: 'tablet' model: 'Stream HDTV' - regex: 'O\+ FAB GO' device: 'tablet' model: 'Fab Go' # o2 O2: regex: 'Xda|(?<!FBCR/)O2[ \-]|COCOON' device: 'smartphone' models: - regex: 'O2 TV Box(?:[);/ ]|$)' device: 'tv' model: 'TV Box' - regex: '(Xda[ _][a-z0-9_]+)' model: '$1' - regex: '(COCOON)' model: '$1' - regex: 'O2-(X[12]i|X4)' device: 'feature phone' model: '$1' - regex: 'O2 ([a-z0-9 ]+)' model: '$1' - regex: 'O2-([a-z0-9]+)' model: '$1' # Funai (https://www2.funai.co.jp/) Funai: regex: 'FUNAI, ([a-z0-9_ \-]+), (?:wired|wireless)|AFTMON00[12](?:[);/ ]|$)' device: 'tv' models: - regex: 'AFTMON00[12](?:[);/ ]|$)' model: 'Fire TV 4K (2022)' # Fusion5 (www.fusion5store.com) Fusion5: regex: 'Fusion5|F104Bv2|F104EvII_PRO|F104EvII|F105D_128' device: 'tablet' models: - regex: '(?:Fusion5_)?(F104B)v2_PRO' model: '$1v2 Pro' - regex: '(?:Fusion5_)?(F104B)v2' model: '$1v2' - regex: '(?:Fusion5_)?F104EvII_PRO' model: 'F104EVII Pro' - regex: '(?:Fusion5_)?F104EvII(?:_EEA)?(?:[);/ ]|$)' model: 'F104EVII' - regex: '(?:Fusion5_)?(F704B|F105D|F104E)(?:_128|_EEA)?(?:[);/ ]|$)' model: '$1' # ZH&K Mobile (zhnkmobile.com) ZH&K: regex: '(?:Odyssey[_ ](?:evo|DTV[67]|J[59]|J10|GLAZE\+?|RANGE|ACE|AEON|VICTORY|SACRED|SAGA|SWIFT|O2|ULTRA|FLAME|POPO|PERRI|TYTAN|HIGH|SOAR|ERA)|ODYSSEY[ _]?NEXT|INTENSE (?:RISE|Hype|GAME))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ODYSSEY[ _]J10[ _]Mini' model: 'Odyssey J10 Mini' - regex: 'ODYSSEY[ _](O2|J[95]|DTV[67]|J10)' model: 'Odyssey $1' - regex: 'ODYSSEY[_ ]AEON' model: 'Odyssey Aeon' - regex: 'ODYSSEY[_ ]ACE' model: 'Odyssey Ace' - regex: 'ODYSSEY[_ ]ULTRA' model: 'Odyssey Ultra' - regex: 'ODYSSEY[ _]?NEXT' model: 'Odyssey Next' - regex: 'ODYSSEY[ _]PERRI' model: 'Odyssey Perri' - regex: 'ODYSSEY[_ ]FLAME' model: 'Odyssey Flame' - regex: 'ODYSSEY[_ ]evo' model: 'Odyssey Evo' - regex: 'ODYSSEY[_ ]Victory' model: 'Odyssey Victory' - regex: 'ODYSSEY[_ ]SWIFT' model: 'Odyssey Swift' - regex: 'ODYSSEY[_ ]TYTAN' model: 'Odyssey Tytan' - regex: 'ODYSSEY[_ ]SAGA' model: 'Odyssey Saga' - regex: 'ODYSSEY[_ ]SACRED' model: 'Odyssey Sacred' - regex: 'ODYSSEY[_ ]POPO' model: 'Odyssey Popo' - regex: 'ODYSSEY[_ ]RANGE' model: 'Odyssey Range' - regex: 'Odyssey[_ ]GLAZE\+' model: 'Odyssey Glaze Plus' - regex: 'Odyssey[_ ]GLAZE' model: 'Odyssey Glaze' - regex: 'Odyssey[_ ]HIGH' model: 'Odyssey High' - regex: 'Odyssey[_ ]SOAR' model: 'Odyssey Soar' - regex: 'Odyssey[_ ]ERA' model: 'Odyssey Era' - regex: 'INTENSE RISE' model: 'Intense Rise' - regex: 'INTENSE Hype' model: 'Intense Hype' - regex: 'INTENSE GAME' model: 'Intense Game' # Odys (odys.de) Odys: regex: 'ODYS[ _-]|IEOS[_ ]([^/;]+)|NOON(?:_PRO)? Build|SPACE10_(?:PLUS|PRO)_3G|THOR_?10|TAO_X10|RAPID_?(?:10|7)_?LTE|MAVEN_?10_|CONNECT[78]|ELEMENT10_PLUS_3G|XELIO[_0-9P]|PACE_10_LTE|(?:ADM816HC|ADM8000KP|NEO6_LTE|EOS10|AEON|FALCON_10_PLUS_3G|SPACE_ONE_?10(?:SE)?|FUSION|THANOS_10|MAVEN_X10_HD(?:_LTE)?|JUNIOR_8_PRO|JuniorT8Pro|(?:NOVA|PYRO)_X?7_PLUS_3G|UNO_X8|MAVEN_[GT]10(?:_pro)?|MAVEN_7_PLUS|SLADE_X55|XELIO_PRO_10_LTE|GOAL_10_PLUS_3G|NOTOSplus3G|PACE ?10|Titan_10_LTE|PEDI_PLUS_W|NoteTab_Pro|UNO_X10|NERON)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'XELIO[_ ]HD10[_ ]LTE' model: 'Xelio HD10 LTE' - regex: 'XELIO[_ ](HD10|A10)' model: 'Xelio $1' - regex: 'XELIOPHONETAB3' model: 'Xelio Phonetab 3' - regex: 'THANOS_10' model: 'Thanos 10' - regex: 'XELIO_NEXT_10_PLUS_3G' model: 'Xelio Next 10 Plus 3G' - regex: 'XELIO_PHONE_TAB7_3G' model: 'Xelio Phonetab 7 3G' - regex: 'XELIO10EXTREME' model: 'Xelio 10 Xtreme' - regex: 'XELIO10_PLUS_3G' model: 'Xelio 10 Plus 3G' - regex: 'XELIO10_HD_PLUS_3G' model: 'Xelio 10 HD Plus 3G' - regex: 'XELIO_10_HD' model: 'Xelio 10 HD' - regex: 'XELIO_PRO_10_LTE' model: 'Xelio Pro 10 LTE' - regex: 'ELEMENT10_PLUS_3G' model: 'Element 10 Plus 3G' - regex: 'CONNECT8PLUS' model: 'Connect 8 Plus' - regex: 'CONNECT7PRO' model: 'Connect 7 Pro' - regex: 'MAVEN_X10_HD_LTE' model: 'Maven X10 HD LTE' - regex: 'Maven_T10_pro' model: 'Maven T10 Pro' - regex: 'MAVEN_X10_HD' model: 'Maven X10 HD' - regex: 'MAVEN_?10_PRO_PLUS_3G' model: 'Maven 10 Pro Plus 3G' - regex: 'MAVEN_?10_?PLUS' model: 'Maven 10 Plus' - regex: 'MAVEN_?10_?PRO' model: 'Maven 10 Pro' - regex: 'MAVEN_?10_?HD' model: 'Maven 10 HD' - regex: 'MAVEN_7_PLUS' model: 'Maven 7 Plus' - regex: 'RAPID_?7_?LTE' model: 'Rapid 7 LTE' - regex: 'RAPID_?10_?LTE' model: 'Rapid 10 LTE' - regex: 'TAO_X10' model: 'Tao X10' - regex: 'SPACE10_PLUS_3G' model: 'Space 10 Plus 3G' - regex: 'SPACE_ONE_10SE' model: 'Space One 10 SE' - regex: 'SPACE_ONE10' model: 'Space One 10' - regex: 'SPACE10_PRO_3G' model: 'Space 10 Pro 3G' - regex: 'THOR_?10 Build' model: 'Thor 10' - regex: 'JuniorT8Pro' model: 'Junior T8 Pro' - regex: 'JUNIOR_8_PRO' model: 'Junior 8 Pro' - regex: 'ADM816HC' model: 'Neo X' - regex: 'EOS10' model: 'EOS 10' - regex: 'PACE_10_LTE_V2' model: 'Pace 10 LTE V2' - regex: 'PACE ?10' model: 'Pace 10' - regex: 'AEON' model: 'Aeon' - regex: 'FALCON_10_PLUS_3G' model: 'Falcon 10 Plus 3G' - regex: 'FUSION' model: 'Fusion 7' - regex: 'UNO[_ ]X(8|10)' model: 'Uno X$1' - regex: 'ADM8000KP' model: 'Titan' - regex: 'Titan_10_LTE' model: 'Titan 10 LTE' - regex: 'PYRO_7_PLUS_3G' model: 'Pyro 7 Plus 3G' - regex: 'NOVA_X7_PLUS_3G' model: 'Nova X7 Plus 3G' - regex: 'ODYS_NOVA_X7' model: 'Nova X7' - regex: 'THOR_?10_PLUS_3G' model: 'Thor 10 Plus 3G' - regex: 'NOTOSplus3G' model: 'Notos Plus 3G' - regex: 'MAVEN_G10' model: 'Maven G10' - regex: 'PEDI_PLUS_W' model: 'Pedi Plus W' - regex: 'NoteTab_Pro' model: 'NoteTab Pro' - regex: 'GOAL_10_PLUS_3G' model: 'Goal 10 Plus 3G' - regex: 'IEOS[_ ]QUAD[_ ]W' model: 'Ieos Quad W' - regex: 'IEOS[_ ]NEXT[_ ]10' model: 'Ieos Next 10' - regex: 'IEOS[_ ]QUAD[_ ]PRO' model: 'Ieos Quad Pro' - regex: 'NERON' model: 'Neron' # explicit smartphones models - regex: 'NEO6[_ ]LTE' model: 'Neo 6 LTE' device: 'smartphone' - regex: 'SLADE_X55' model: 'Slade X55' device: 'smartphone' # general detections - regex: 'IEOS[ _]([^/;]+) Build' model: 'Ieos $1' - regex: '(?:ODYS[ _-])?NOON Build' model: 'Noon' - regex: '(?:ODYS[ _-])?NOON_PRO' model: 'Noon Pro' - regex: 'Odys[ _-]([^/;]+) Build' model: '$1' # Astro (astro.ua) Astro: regex: 'Astro[- ](S451|S501)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Obi or Obi Worldphone Obi: regex: 'Obi[ _-]|(?:(?:SJ1\.5|SJ2\.6|(?<!verykool )S(400|452\+|45[13]|50[127]|503\+?|520|55[01])|falcon)|SJ1-5|SJ[23]\.2| SF1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SJ(\d)[.-](\d)' model: 'SJ$1.$2' - regex: '(?:Obi_)?S400' model: 'Skipper' - regex: '(?:Obi_)?S451|falcon' model: 'Flacon' - regex: '(?:Obi_)?S452\+' model: 'Python' - regex: '(?:Obi_)?S453' model: 'Fox' - regex: '(?:Obi[_ ])?(SF1)(?:[);/ ]|$)' model: '$1' - regex: '(?:Obi_)?S501' model: 'Wolverine' - regex: '(?:Obi_)?S502' model: 'Leopard' - regex: '(?:Obi_)?S503\+' model: 'Boa Plus' - regex: '(?:Obi_)?S503' model: 'Boa' - regex: '(?:Obi_)?S507' model: 'Pelican' - regex: '(?:Obi_)?S520' model: 'Octopus' - regex: '(?:Obi_)?S550' model: 'Crane' - regex: '(?:Obi_)?S551' model: 'Hornbill' - regex: '(?:Obi_)?S454' model: 'Alligator' - regex: 'Obi[ _-]([^;/]+) Build' model: '$1' - regex: 'Obi[ _-]([^;/)]+)(?:[;/)]|$)' model: '$1' # Okapi (https://www.okapius.com/) Okapi: regex: 'Okapi(?!a)' device: 'smartphone' models: - regex: 'Okapi10(?:[);/ ]|$)' model: 'Okapi 10' # Okapia Okapia: regex: 'Okapia|Signature (?:L|Pro|Touch)|(?<!STYLO SM61 )(?:MAGIC\+)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Signature (L|Pro|Touch)' model: 'Signature $1' - regex: 'Okapia X1(?:[);/ ]|$)' model: 'X1' - regex: 'Okapia[_ ]Mirage(?:[);/ ]|$)' model: 'Mirage' - regex: 'MAGIC\+(?:[);/ ]|$)' model: 'Magic+' - regex: 'Okapia[_ ]?Magic(?:[);/ ]|$)' model: 'Magic' # Olax (https://www.olaxwifi.com/) Olax: regex: 'Olax |Ocean K(?:10|8)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Ocean (K10|K8)(?:[);/ ]|$)' model: 'Ocean $1' device: 'tablet' - regex: 'Olax Prime 12(?:[);/ ]|$)' model: 'Prime 12' # Olympia (https://www.olympia-vertrieb.de/) Olympia: regex: '(?<!Stream )TREK(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TREK(?:[);/ ]|$)' model: 'Trek' # onda (ondatlc.com) Onda: regex: 'Onda|(?:(?:V820w|V891[w]?|V919(?: 3G)? Air)[ _-]DualOS|(?:V919 4G Air|V989 Air|V972) Core[48]|T2101L2B1C| V10 4G|OBOOK20[_ ]PLUS|OBOOK (?:20 SE|20 DualOS|20 PLUS(?: DUALOS)?)|OBOOK10 SE|V10_4G|V919 Air CH DualOS| T9S|V116w-DualOS|V80[ _]SE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?: T9S)(?:[);/ ]|$)' model: 'T9 S' # explicit tablet models - regex: 'ONDA[ _]MID' model: 'MID' device: 'tablet' - regex: 'V820w[ _-]DualOS' model: 'V820W Dual OS' device: 'tablet' - regex: 'V891W[ _-]DualOS' model: 'V891W Dual OS' device: 'tablet' - regex: 'V891[ _-]DualOS' model: 'V891 Dual OS' device: 'tablet' - regex: 'V919 3G Air[ _-]DualOS' model: 'V919 3G Air Dual OS' device: 'tablet' - regex: 'V116w-DualOS' model: 'V116w 3G Dual OS' device: 'tablet' - regex: 'V919 Air[ _-]DualOS' model: 'V919 Air Dual OS' device: 'tablet' - regex: 'V919 Air CH DualOS' model: 'V919 Air CH Dual OS' device: 'tablet' - regex: 'V919 4G Air Core8' model: 'V919 4G Air Core 8' device: 'tablet' - regex: 'V972 Core4' model: 'V919 Core 4' device: 'tablet' - regex: 'V989 Air Core8' model: 'V989 Air Core 8' device: 'tablet' - regex: 'ONDA V989' model: 'V989 Core 8' device: 'tablet' - regex: 'T2101L2B1C|OBOOK 20 PLUS DUALOS' model: 'oBook 20 Plus Dual OS' device: 'tablet' - regex: 'OBOOK[_ ]?20[_ ]PLUS' device: 'tablet' model: 'oBook 20 Plus' - regex: 'V10 4G(?:[);/ ]|$)' model: 'V10 10.1" 4G' device: 'tablet' - regex: 'V80[ _]SE(?:[);/ ]|$)' model: 'V80 SE' device: 'tablet' - regex: 'OBOOK 20 DualOS(?:[);/ ]|$)' model: 'oBook 20 Dual OS' device: 'tablet' - regex: 'OBOOK 20 SE(?:[);/ ]|$)' model: 'oBook 20 SE' device: 'tablet' - regex: 'OBOOK10 SE(?:[);/ ]|$)' model: 'oBook 10 SE' device: 'tablet' - regex: 'V10_4G(?:[);/ ]|$)' model: 'V10 4G' device: 'tablet' - regex: '([a-z0-9]+)[ _]Onda' model: '$1' - regex: 'Onda ([a-z0-9]+)' model: '$1' # OnePlus (www.oneplus.com or oneplus.com.ru) OnePlus: regex: '(?:du_)?ONEPLUS|(?:PGKM10|CPH251[35]|CPH2551|CPH2613|CPH2569|CPH249[31]|CPH244[79]|CPH240[19]|CPH24[12]3|CPH246[579]|CPH2487|CPH241[157]|CPH2419|CPH245[91]|CPH2399|CPH238[19]|CPH258[135]|CPH2573|CPH2611|CPH260[59]|A0001|A200[135]|AC200[13]|A300[03]|A3010|A5000|A600[03]|A601[03]|BE201[1235]|BE202[5689]|E100[135]|GM191[03517]|GM190[0135]|GM192[05]|HD191[0137]|HD190[01357]|HD1925|IN201[013579]|IN202[0135]|KB200[01357]|LE211[01357]|LE212[035]|GN2200|Nord N10 5G|LE210[01]|LE212[17]|DE211[78]|DN210[13]|EB210[13]|MT211[01]|IV2201|NE221[01357]|PG[PZ]110|PH[BKP]110|OPD2203|OPD2304|PJ[ADEFX]110|CPH26(?:19|21))(?: Build|[;)])' device: 'smartphone' models: - regex: '(?:CPH2585|CPH2611|CPH2609)(?:[);/ ]|$)' model: '12R' - regex: '(?:PJD110|CPH258[13]|CPH2573)(?:[);/ ]|$)' model: '12' - regex: '(?:CPH244[79]|PHB110|CPH2451)(?:[);/ ]|$)' model: '11' - regex: 'CPH2487(?:[);/ ]|$)' model: '11R 5G' - regex: 'CPH2551(?:[);/ ]|$)' model: 'Open' - regex: 'PJE110(?:[);/ ]|$)' model: 'Ace 3' - regex: 'PJX110(?:[);/ ]|$)' model: 'Ace 3 Pro 5G' - regex: 'PJF110(?:[);/ ]|$)' model: 'Ace 3V' - regex: 'PHK110(?:[);/ ]|$)' model: 'Ace 2' - regex: 'PJA110(?:[);/ ]|$)' model: 'Ace 2 Pro' - regex: 'PGKM10(?:[);/ ]|$)' model: 'Ace' - regex: 'PHP110(?:[);/ ]|$)' model: 'Ace 2V' - regex: 'PGP110(?:[);/ ]|$)' model: 'Ace Pro' - regex: 'PGZ110(?:[);/ ]|$)' model: 'Ace Racing Edition' - regex: 'AC200[13](?:[);/ ]|$)' model: 'Nord 5G' - regex: '(?:CPH2399|CPH2401)(?:[);/ ]|$)' model: 'Nord 2T' - regex: 'EB210[13](?:[);/ ]|$)' model: 'Nord CE 5G' - regex: 'CPH2613' model: 'Nord CE 4' - regex: 'CPH26(?:19|21)' model: 'Nord CE 4 Lite 5G' - regex: 'CPH(?:2381|2409)(?:[);/ ]|$)' model: 'Nord CE 2 Lite' - regex: 'CPH246[57](?:[);/ ]|$)' model: 'Nord CE 3 Lite' - regex: 'CPH2569(?:[);/ ]|$)' model: 'Nord CE 3 5G' - regex: 'CPH249[13]' model: 'Nord 3 5G' - regex: 'BE2012(?:[);/ ]|$)' model: 'Clover' - regex: 'BE201[135](?:[);/ ]|$)' model: 'Nord N100' - regex: 'DE211[78](?:[);/ ]|$)' model: 'Nord N200 5G' - regex: 'CPH2389' model: 'Nord N300 5G' - regex: '(?:GN2200|CPH2459)(?:[);/ ]|$)' model: 'Nord N20 5G' - regex: '(?:CPH251[35])(?:[);/ ]|$)' model: 'Nord N30 5G' - regex: '(?:CPH2605)(?:[);/ ]|$)' model: 'Nord N30 SE 5G' - regex: 'CPH2469(?:[);/ ]|$)' model: 'Nord N20 SE' - regex: 'BE2025(?:[);/ ]|$)' model: 'Nord N10' - regex: '(BE202[69]|Nord N10 5G)(?:[);/ ]|$)' model: 'Nord N10 5G' - regex: 'BE2028(?:[);/ ]|$)' model: 'Nord N10 Lite' - regex: 'DN210[13](?:[);/ ]|$)' model: 'Nord 2 5G' - regex: 'IV2201(?:[);/ ]|$)' model: 'Nord CE 2' - regex: 'IN202[0135](?:[);/ ]|$)' model: '8 Pro' - regex: 'KB2000(?:[);/ ]|$)' model: '8T' - regex: 'OnePlus 8 Lite(?:[);/ ]|$)' model: '8 Lite' - regex: '(?:IN201[01357]|OnePlus 8)(?:[);/ ]|$)' model: '8' - regex: 'IN2019(?:[);/ ]|$)' model: '8 5G UW' - regex: 'LE211[01357](?:[);/ ]|$)' model: '9' - regex: 'MT211[01](?:[);/ ]|$)' model: '9RT 5G' - regex: 'LE210[01](?:[);/ ]|$)' model: '9R' - regex: 'CPH2423(?:[);/ ]|$)' model: '10R' - regex: 'CPH2411(?:[);/ ]|$)' model: '10R 5G' - regex: 'CPH241[3579](?:[);/ ]|$)' model: '10T 5G' - regex: 'LE212[01357](?:[);/ ]|$)' model: '9 Pro' - regex: 'NE2210(?:[);/ ]|$)' model: '10 Pro Extreme Edition' - regex: 'NE221[1357](?:[);/ ]|$)' model: '10 Pro' - regex: '(?:GM191[01357]|OnePlus 7 Pro)(?:[);/ ]|$)' model: '7 Pro' - regex: 'GM190[0135](?:[);/ ]|$)' model: '7' - regex: 'HD190[01357](?:[);/ ]|$)' model: '7T' - regex: '(?:HD191[0137]|OnePlus 7T Pro)(?:[);/ ]|$)' model: '7T Pro' - regex: '(?:HD1925|GM192[05])(?:[);/ ]|$)' model: '7T Pro 5G' - regex: 'KB200[135](?:[);/ ]|$)' model: '8T' - regex: '(?:KB2007|OnePlus ?8TMO)(?:[);/ ]|$)' model: '8T+ 5G' - regex: 'A0001(?:[);/ ]|$)' model: 'One' - regex: 'A200[135]|OnePlus2' model: '2' - regex: 'E100[135](?:[);/ ]|$)' model: 'X' - regex: 'A3010|OnePlus3T' model: '3T' - regex: 'A300[03]|OnePlus3' model: '3' - regex: 'A5010|OnePlus[ ]?5T' model: '5T' - regex: 'A5000|OnePlus5' model: '5' - regex: 'A600[03]|OnePlus6' model: '6' - regex: 'A601[03](?:[);/ ]|$)' model: '6T' - regex: 'OPD2203(?:[);/ ]|$)' device: 'tablet' model: 'Pad 11.61" WiFi' - regex: 'OPD2304(?:[);/ ]|$)' device: 'tablet' model: 'Pad Go 11.35"' - regex: '(?:du_)?ONEPLUS[ _]?([^;/,)(]+)(?: Build|[;,)])' model: '$1' # Realme (sub brand Oppo) Realme: regex: 'Realme[ _]|(?:RMX(?:18(0[13579]|11|3[13]|2[1257]|[45]1|53|45)|19(03|4[1235]|19|9[23]|2[1579]|[01379]1|73)|20(?:[025-7]1|42|[0357]2|03|2[257]|63|7[56]|63L1|8[1356]|[2-5]0)|21(?:0[13]|1[27]|[12]1|4[24]|5[156]|6[13]|7[036]|8[0359]|9[345])|220[0125]|30(?:[3468]1|4[23]|9[23]|63|85)|31(?:15|2[125]|42|51|6[16]|71|9[1357])|32(?:0[13]|35|42|[346]1|6[0235689]|86)|33(?:[0157]0|[17]2|71|6[036]|[0186]1|57|88|9[12356])|34(?:30|78|[69]1|[67]2|7[145]|9[23])|35(?:0[1236]|1[12367]|21|[578]1|6[0123]|7[246])|36(?:1[0125789]|[39]0|36|2[347](?:_Natv_vf)?|8[67]|6[013])|37(?:0[0689]|6[125]|[14-7]0|[0457]1|8[01235])|38(?:[039]0|2[03]|34|4[01234]|5[0123]|6[78]|7[01]|88)|39(?:9[35789]|10|3[09]))|(?:OPPO[ _]?)?CPH1861|RMP220[45]|RMP210[235-8]|4K Google TV Stick)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'RMX3844' model: 'P1 Pro 5G' - regex: 'RMX3870' model: 'P1 5G' - regex: 'RMX3834' model: 'Note 50' - regex: 'RMX370[68]' model: 'GT Neo 5' - regex: 'RMX3852' model: 'GT Neo 6' - regex: 'RMX38(?:51|00)' model: 'GT 6' - regex: 'RMX3853' model: 'GT 6T' - regex: 'RMX3850' model: 'GT Neo 6 SE' - regex: 'RMX3700' model: 'GT Neo 5 SE' - regex: '(?:OPPO[ _]?)?RMX3142(?:[);/ ]|$)' model: 'Q3 Pro Play' - regex: '(?:OPPO[ _]?)?CPH1861(?:[);/ ]|$)' model: '1' - regex: 'RMX3663' model: '10 Pro' - regex: 'RMX180[59]' model: '2' - regex: 'RMX180[137]' model: '2 Pro' - regex: 'RMX(?:182[125])' model: '3' - regex: 'RMX1827' model: '3i' - regex: 'RMX185[13]' model: '3 Pro' - regex: 'RMX190[13]|Realme X(?:[);/ ]|$)' model: 'X' - regex: 'RMX199[12]' model: 'X2' - regex: 'RMX1993' model: 'X2 Dual' - regex: 'RMX1931|Realme X2 Pro(?:[);/ ]|$)' model: 'X2 Pro' - regex: 'RMX2117' model: 'Q2 5G' - regex: 'RMX2173' model: 'Q2 Pro' - regex: 'RMX2205' model: 'Q3 Pro 5G' - regex: 'RMX3161' model: 'Q3 5G' - regex: 'RMX3462' model: 'Q3t' - regex: 'RMX3372' model: 'Q5 Pro' - regex: 'RMX3478' model: 'Q5' - regex: 'RMX3574' model: 'Q5i' - regex: 'RMX2176(?:[);/ ]|$)' model: 'X7 5G' - regex: 'RMX2121(?:[);/ ]|$)' model: 'X7 Pro 5G' - regex: 'RMX1921|Realme XT(?:[);/ ]|$)' model: 'XT' - regex: 'RMX19(1[19]|27)' model: '5' - regex: 'RMX197[13]' model: '5 Pro' - regex: 'RMX203[02]' model: '5i' - regex: 'RMX1929' model: '5s' - regex: 'RMX200[13]' model: '6' - regex: 'RMX204[02]' model: '6i' - regex: 'RMX2002' model: '6S' - regex: 'RMX206[13](?:L1)?(?:[);/ ]|$)' model: '6 Pro' - regex: 'RMX215[15]' model: '7' - regex: 'RMX2103' model: '7I' - regex: 'RMX2170' model: '7 Pro' - regex: 'RMX3115' model: 'X7 Pro Extreme Edition' - regex: 'RMX3081' model: '8 Pro' - regex: 'RMX3085|Realme 8(?:[);/ ]|$)' model: '8' - regex: 'RMX3151|Realme 8i(?:[);/ ]|$)' model: '8i' - regex: 'RMX3381' model: '8s' - regex: 'RMX3241' model: '8 5G' - regex: 'RMX349[123]' model: '9i' - regex: 'RMX3612' model: '9i 5G' - regex: 'RMX3521' model: '9' - regex: 'RMX3388|RMX3474' model: '9 5G' - regex: 'RMX339[23]' model: '9 Pro+ 5G' - regex: 'RMX347[12]' model: '9 Pro 5G' - regex: 'RMX36(?:30|15)' model: '10' - regex: 'RMX3617' model: '10s' - regex: 'RMX366[01]' model: '10 Pro 5G' - regex: 'RMX368[67]' model: '10 Pro+ 5G' - regex: 'RMX3741' model: '11 Pro+ 5G' - regex: 'RMX3740' model: '11 Pro+' - regex: 'RMX3771' model: '11 Pro 5G' - regex: 'RMX3770' model: '11 Pro' - regex: 'RMX3785' model: '11x 5G' - regex: 'RMX3(?:636|751)' model: '11' - regex: 'RMX3780' model: '11 5G' - regex: 'RMX3842' model: '12 Pro 5G' - regex: 'RMX3843' model: '12 Pro' - regex: 'RMX3841' model: '12 Pro+' - regex: 'RMX3840' model: '12 Pro+ 5G' - regex: 'RMX3867' model: '12+ 5G' - regex: 'RMX3999' model: '12 5G' - regex: 'RMX3871' model: '12' - regex: 'RMX3998' model: '12x 5G' - regex: 'RMX3993' model: '12x' - regex: 'RMX1925(?:[);/ ]|$)' model: '5S' - regex: 'RMX1811(?:[);/ ]|$)' model: 'C1' - regex: 'RMX194[1235](?:[);/ ]|$)' model: 'C2' - regex: '(?:RMX202[1207]|Realme G70 Series)(?:[);/ ]|$)' model: 'C3' - regex: 'RMX2185(?:[);/ ]|$)' model: 'C11' - regex: 'RMX2189(?:[);/ ]|$)' model: 'C12' - regex: 'RMX218[03](?:[);/ ]|$)' model: 'C15' - regex: 'RMX219[45](?:[);/ ]|$)' model: 'C15 Qualcomm Edition' - regex: 'RMX2101(?:[);/ ]|$)' model: 'C17' - regex: 'RMX306[13](?:[);/ ]|$)' model: 'C20' - regex: 'RMX320[13]' model: 'C21' - regex: 'RMX326[123]' model: 'C21Y' - regex: 'RMX319[13]|realme C25 Series' model: 'C25' - regex: 'RMX319[57]' model: 'C25s' - regex: 'RMX326[589]' model: 'C25Y' - regex: 'RMX350[123]' model: 'C31' - regex: 'RMX(?:3581|3623)' model: 'C30' - regex: 'RMX3690' model: 'C30s' - regex: 'RMX362[47]' model: 'C33' - regex: 'RMX351[123]' model: 'C35' - regex: 'RMX3710' model: 'C55' - regex: 'RMX3830' model: 'C51' - regex: 'RMX3765' model: 'C51s' - regex: 'RMX376[02]' model: 'C53' - regex: 'RMX3930' model: 'C61' - regex: 'RMX3939' model: 'C63' - regex: 'RMX3890' model: 'C67' - regex: 'RMX3782' model: 'C67 5G' - regex: 'RMX3910' model: 'C65' - regex: 'RMX3997' model: 'C65 5G' - regex: 'RMX3231' model: 'C11 (2021)' - regex: 'RMX382[03]' model: 'GT 5' - regex: 'RMX3888' model: 'GT 5 Pro' - regex: 'RMX3709' model: 'GT 3' - regex: 'RMX330[01]' model: 'GT 2 Pro' - regex: 'RMX331[012]' model: 'GT 2' - regex: 'RMX3551' model: 'GT 2 Explorer Master' - regex: 'RMX3031(?:[);/ ]|$)' model: 'GT Neo' - regex: 'RMX3370(?:[);/ ]|$)' model: 'GT Neo 2' - regex: 'RMX356[012](?:[);/ ]|$)' model: 'GT Neo 3' - regex: 'RMX3563(?:[);/ ]|$)' model: 'GT Neo 3 150W' - regex: 'RMX3371(?:[);/ ]|$)' model: 'GT Neo 3T' - regex: 'RMX3357(?:[);/ ]|$)' model: 'GT Neo 2T' - regex: 'RMX3701' model: 'GT Neo 5 SE' - regex: 'RMX336[0136]' model: 'GT Master Edition' - regex: 'RMX3350(?:[);/ ]|$)' model: 'GT Neo Flash' - regex: 'RMX216[13](?:[);/ ]|$)' model: 'Narzo 20 Pro' - regex: 'RMX2193' model: 'Narzo 20' - regex: 'RMX2050' model: 'Narzo 20A' - regex: 'RMX3171' model: 'Narzo 30A' - regex: 'RMX2156' model: 'Narzo 30' - regex: 'RMX3242' model: 'Narzo 30 5G' - regex: 'RMX3430' model: 'Narzo 50A' - regex: 'RMX3286' model: 'Narzo 50' - regex: 'RMX3572' model: 'Narzo 50 5G' - regex: 'RMX3395' model: 'Narzo 50 Pro' - regex: 'RMX3396' model: 'Narzo 50 Pro 5G' - regex: 'RMX351[67]' model: 'Narzo 50A Prime' - regex: 'RMX3235' model: 'Narzo 50i' - regex: 'RMX3506' model: 'Narzo 50i Prime' - regex: 'RMX3750' model: 'Narzo 60 5G' - regex: 'RMX3868' model: 'Narzo 70 Pro 5G' - regex: 'RMX3761' model: 'Narzo N53' - regex: 'RMX183[13](?:[);/ ]|$)' model: 'U1' - regex: 'RMX(?:20(?:51|[2]5)|2144)(?:[);/ ]|$)' model: 'X50 5G' - regex: 'RMX2052(?:[);/ ]|$)' model: 'X50t 5G' - regex: 'RMX2071(?:[);/ ]|$)' model: 'X50 Pro' - regex: 'RMX207[56](?:[);/ ]|$)' model: 'X50 Pro 5G' - regex: 'RMX2072(?:[);/ ]|$)' model: 'X50 Pro Player' - regex: 'RMX(2142|2081)(?:[);/ ]|$)' model: 'X3' - regex: 'RMX208[56]' model: 'X3 Super Zoom' - regex: 'RMX2083' model: 'X3' - regex: 'Realme X7 Max 5G' model: 'X7 Max 5G' - regex: 'RMX2173' model: 'Q2 Pro' - regex: 'RMX346[12]' model: 'Q3s' - regex: 'RMX211[12]' model: 'V5 5G' - regex: 'RMX220[01]' model: 'V3 5G' - regex: 'RMX3618' model: 'V30' - regex: 'RMX312[12]' model: 'V11 5G' - regex: 'RMX3125' model: 'V11s 5G' - regex: 'RMX304[123]' model: 'V13 5G' - regex: 'RMX309[23]' model: 'V15 5G' - regex: 'RMX361[01]' model: 'V20' - regex: 'RMX3571' model: 'V23' - regex: 'RMX3576' model: 'V23i' - regex: 'RMX3475' model: 'V25' - regex: 'RMX3619' model: 'V30' - regex: 'RMX3783' model: 'V50' - regex: 'RMX3781' model: 'V50s' - regex: 'RMX3995' model: 'V60' - regex: 'RMX2202' model: 'GT 5G' - regex: 'Realme[ _]([1-9])[ _]Pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'RMP210[23](?:[);/ ]|$)' device: 'tablet' model: 'Pad' - regex: 'RMP220[45]' device: 'tablet' model: 'Pad 2' - regex: 'RMP210[78]' device: 'tablet' model: 'Pad X' - regex: 'RMP210[56](?:[);/ ]|$)' device: 'tablet' model: 'Pad Mini' - regex: '4K Google TV Stick' device: 'tv' model: '4K Google TV Stick' # Oppo (oppo.com) OPPO: regex: '(?:OB-)?OPPO[ _]?([a-z0-9]+)|Reno Ace|N1T|R8001|R820[16]|A101OP|OPG0[1-4]|A00[12]OP|(?:X90[07][0679]|U70[57]T?|X909T?|R(?:10[01]1|2001|201[07]|6007|7005|7007|80[13579]|81[13579]|82[01379]|83[013]|800[067]|8015|810[679]|811[13]|820[057]|15 Neo)[KLSTW]?|N520[79]|N5117|A33[wf]|A33fw|A37fw?|PAAM00|A303OP|PAAT00|PAC[TM]00|R7kf|R7plus[fmt]?|A1601|CPH[0-9]{4}|CPH19(69|79|23|1[179])|PB(A[TM]00|CT10|BT30|CM[13]0|[FD]M00)|P(E[RFHG]M\d{2}|E[GH]T\d{2}|DAM10|ADM00|AF[TM]00|ADT00|AHM00|BBM[03]0|BBT00|BDT00|BFT00|[CB]E[MT]00|CA[MT]00|C[CDG]M00|CA[MT]10|[CD]PM00|CRM00|CDT00|CD[TM]10|CHM[013]0|CKM[08]0|CLM[15]0|DEM[13]0|DHM00|D[RK][TM]00|DPT00|DB[TM]00|DCM00|[CD]NM00|DVM00|DY[TM][12]0|DNT00|EA[TM]00|CRT01|EDM00)|PFDM00|PEG[MT]10|PEM[MT][02]0|PDCT00|PDET10|PDS[TM]00|PEC[MT]30|PE[QYPEXNLU]M00|PCHT[13]0|PCRT00|PFGM00|PF[VU]M10|A102OP|PFCM00|PFJM10|PGCM10|PECM20|PDAT10|A103OP|PCCT00|PFTM[12]0|PFFM20|OW19W[123]|OW20W1|PGJM10|PGAM10|PF[EF]M10|Reno[4567]|Find X[23]|Find N| R7sf| 1201|[56].*; (?:R7[gf])|OPD(?:210[12]A?|220[12]|230[12])|PFZM10|PGIM10|A1603|A201OP|PESM10|PGBM10|PH[WQJMU]110|PH[AY]120|PGGM10|PG[WX]110|PGU110|PCCM40|CHP1723|PGT110|PGEM10|RX17Neo|R15 Dream Mirror|R9 Plustm A|PGFM10|A301OP|P(?:J[CGJSU]|H[FVSTNYZ])110|K9 Pro 5G| K9[xs]|CPH1821EX|PJ[HYBVRW]110|PKA110|CHP2219|RX17Pro|F7 Youth|A302OP|Reno [56])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'PCH[TM]10(?:[);/ ]|$)' model: 'A11' - regex: 'PHQ110(?:[);/ ]|$)' model: 'A1 Pro' - regex: 'PJU110' model: 'A1i 5G' - regex: 'PJS110' model: 'A2x 5G' - regex: 'CPH2681' model: 'A3x 5G' - regex: 'PJB110' model: 'A2 5G' - regex: 'PKA110' model: 'A3 5G' - regex: 'PJY110|CPH2665|CPH2639' model: 'A3 Pro 5G' - regex: 'PCHT30(?:[);/ ]|$)' model: 'A11x' - regex: '(?:CPH2083|CPH2077)(?:[);/ ]|$)' model: 'A12' - regex: '(?:CPH2179)(?:[);/ ]|$)' model: 'A15s' - regex: '(?:CPH2271)(?:[);/ ]|$)' model: 'A16s' - regex: 'CPH2421' model: 'A16e' - regex: 'CPH2349|CPH2351' model: 'A16k' - regex: 'CPH2477' model: 'A17' - regex: 'CPH2471' model: 'A17k' - regex: 'CPH2185' model: 'A15' - regex: 'PCHM00' model: 'A11x' - regex: 'CPH1923' model: 'A1k' - regex: 'CPH2071' model: 'A11k' - regex: 'CPH1925' model: 'A1s' - regex: 'CPH22(?:69|75)(?:[);/ ]|$)' model: 'A16' - regex: 'CPH2591' model: 'A18' - regex: '(?:OPPO[ _]?)?(CPH1837|PAD[TM]00)(?:[);/ ]|$)' model: 'A3' - regex: '(?:OPPO[ _]?)?A37f(w)(?:[);/ ]|$)' model: 'A37f$1' - regex: 'A37f(?:[);/ ]|$)' model: 'A37f' - regex: 'CPH2579(?:[);/ ]|$)' model: 'A38' - regex: '(?:OPPO[ _]?)?CPH1605(?:[);/ ]|$)' model: 'A39' - regex: 'PESM10(?:[);/ ]|$)' model: 'A36' - regex: 'CPH20(?:81|73|31|15)(?:[);/ ]|$)' model: 'A31' - regex: 'CPH2137(?:[);/ ]|$)' model: 'A33' - regex: '(?:OPPO[ _]?)?(?:CPH18(?:0[35]|53)|PBBM30)(?:[);/ ]|$)' model: 'A3s' - regex: '(?:OPPO[ _]?)?(?:CPH1809|PBA[TM]00|PBBT30)(?:[);/ ]|$)' model: 'A5' - regex: 'CPH19(?:3[13]|43)(?:[);/ ]|$)' model: 'A5 (2020)' - regex: '(?:PEC[MT]30|PECM20)(?:[);/ ]|$)' model: 'A53 5G' - regex: 'PDVM00(?:[);/ ]|$)' model: 'A32' - regex: 'PEFM00(?:[);/ ]|$)' model: 'A35' - regex: '(?:PDA[TM]10|CPH2069|CPH2061)(?:[);/ ]|$)' model: 'A52' - regex: 'CPH(?:2127|213[19])(?:[);/ ]|$)' model: 'A53' - regex: 'CPH2135(?:[);/ ]|$)' model: 'A53s' - regex: 'CPH2321(?:[);/ ]|$)' model: 'A53s 5G' - regex: '(?:CPH2195|OPG02|CPH2303)(?:[);/ ]|$)' model: 'A54 5G' - regex: '(?:CPH2239|CPH2241)(?:[);/ ]|$)' model: 'A54' - regex: 'CPH2273(?:[);/ ]|$)' model: 'A54s' - regex: 'PEM[MT][02]0(?:[);/ ]|$)' model: 'A55 5G' - regex: 'CPH2325' model: 'A55' - regex: 'CPH2631' model: 'A60' - regex: '(?:A102OP|CPH2309)(?:[);/ ]|$)' model: 'A55s 5G' - regex: 'PFVM10' model: 'A56 5G' - regex: '(?:OPPO[ _]?)?(?:CPH170[15]|CPH2407)(?:[);/ ]|$)' model: 'A57' - regex: 'PFTM20|CPH2387' model: 'A57 (2022)' - regex: 'PHJ110' model: 'A58 5G' - regex: 'CPH2577' model: 'A58' - regex: 'PFTM10' model: 'A97' - regex: 'PHA120' model: 'A96' - regex: 'CPH19(?:09|1[02])(?:[);/ ]|$)' model: 'A5S' - regex: '(?:OPPO[ _]?)?(?:CPH190[15]|PBF[TM]00)(?:[);/ ]|$)' model: 'A7' - regex: '(?:OPPO[ _]?)?CPH1717(?:[);/ ]|$)' model: 'A71' - regex: '(?:OPPO[ _]?)?CPH1801(?:[);/ ]|$)' model: 'A71 (2018)' - regex: '(?:OPPO[ _]?)?(?:PDY[TM]20|CPH2067)(?:[);/ ]|$)' model: 'A72' - regex: 'CPH(?:2161|2099)(?:[);/ ]|$)' model: 'A73 5G' - regex: '(?:CHP|CPH)2219(?:[);/ ]|$)' model: 'A74' - regex: 'CPH2263(?:[);/ ]|$)' model: 'A74 5G' - regex: '(?:OPPO[ _]?)?(?:PDY[TM]10)(?:[);/ ]|$)' model: 'A72n 5G' - regex: 'CPH2375' model: 'A76' - regex: '(?:OPPO[ _]?)?(?:CPH1715)(?:[);/ ]|$)' model: 'A77' - regex: '(?:OPPO[ _]?)?(?:CPH2339|CPH2385)' model: 'A77 5G' - regex: '(?:OPPO[ _]?)?(?:CPH2495|CPH2483)' model: 'A78 5G' - regex: '(?:OPPO[ _]?)?CPH2565' model: 'A78' - regex: '(?:OPPO[ _]?)?A79kt' model: 'A79' - regex: '(?:OPPO[ _]?)?(?:CPH255[37]|A303OP)' model: 'A79 5G' - regex: '(?:OPPO[ _]?)?CPH2473' model: 'A77s' - regex: 'PCD[TM]00(?:[);/ ]|$)' model: 'A7n' - regex: '(PBBT00|PBBM00)(?:[);/ ]|$)' model: 'A7x' - regex: '(?:OPPO[ _]?)?(?:PDBM00)(?:[);/ ]|$)' model: 'A8' - regex: '(?:OPPO[ _]?)?CPH1729(?:[);/ ]|$)' model: 'A83' - regex: '(?:OPPO[ _]?)?CPH1827(?:[);/ ]|$)' model: 'A83 (2018)' - regex: '(?:OPPO[ _]?)?(?:PCA[TM]10|CPH193[89])(?:[);/ ]|$)' model: 'A9' - regex: '(CPH1937|CPH1941|PCHM30)(?:[);/ ]|$)' model: 'A9 (2020)' - regex: '(?:PCPM00|CPH20[02]1)(?:[);/ ]|$)' model: 'A91' - regex: 'CPH2059(?:[);/ ]|$)' model: 'A92' - regex: 'PDK[TM]00(?:[);/ ]|$)' model: 'A92s' - regex: '(?:PEH[MT]00|CPH212[13])(?:[);/ ]|$)' model: 'A93' - regex: '(?:PFGM00)(?:[);/ ]|$)' model: 'A93s' - regex: 'PFUM10' model: 'A96 5G' - regex: 'CPH2529' model: 'A98 5G' - regex: '(?:CPH2203|CPH2333)(?:[);/ ]|$)' model: 'A94' - regex: '(?:CPH2197)(?:[);/ ]|$)' model: 'A74 5G' - regex: 'CPH2365|PELM00' model: 'A95' - regex: 'PCE[TM]00(?:[);/ ]|$)' model: 'A9x' - regex: '(?:OPPO[ _]?)?CPH1851(?:[);/ ]|$)' model: 'AX5' - regex: 'CPH1920(?:[);/ ]|$)' model: 'AX5s' - regex: '(?:OPPO[ _]?)?CPH1903(?:[);/ ]|$)' model: 'AX7' - regex: 'CPH2341' model: 'F21 Pro' - regex: 'CPH2455|CPH2461' model: 'F21s Pro' - regex: '(?:OPPO[ _]?)?X9009(?:[);/ ]|$)' model: 'F1 Plus' - regex: 'CPH2527' model: 'F23 5G' - regex: 'CPH2603' model: 'F25 Pro 5G' - regex: 'CPH2643' model: 'F27 Pro+ 5G' - regex: 'CPH191[135](?:[);/ ]|$)' model: 'F11' - regex: 'CPH19(?:69|87)(?:[);/ ]|$)' model: 'F11 Pro' - regex: '(?:OPPO[ _]?)?CPH2095' model: 'F17' - regex: '(?:OPPO[ _]?)?(?:CPH2119)(?:[);/ ]|$)' model: 'F17 Pro' - regex: '(?:OPPO[ _]?)?A1601(?:[);/ ]|$)' model: 'F1s' - regex: '(?:OPPO[ _]?)?CPH1609(?:[);/ ]|$)' model: 'F3' - regex: '(?:OPPO[ _]?)?CPH1613(?:[);/ ]|$)' model: 'F3 Plus' - regex: '(?:OPPO[ _]?)?(?:CPH172[37]|CHP1723)(?:[);/ ]|$)' model: 'F5' - regex: '(?:OPPO[ _]?)?CPH1725(?:[);/ ]|$)' model: 'F5 Youth' - regex: '(?:OPPO[ _]?)?CPH18(?:[15]9|21|21EX)(?:[);/ ]|$)' model: 'F7' - regex: 'F7 Youth' model: 'F7 Youth' - regex: '(?:OPPO[ _]?)?(?:CPH1825|CPH1881)(?:[);/ ]|$)' model: 'F9' - regex: '(?:OPPO[ _]?)?CPH1823(?:[);/ ]|$)' model: 'F9 Pro' - regex: '(?:OPPO[ _]?)?CPH2223(?:[);/ ]|$)' model: 'F19s' - regex: '(?:OPPO[ _]?)?(?:CPH2285|F19 Pro)(?:[);/ ]|$)' model: 'F19 Pro' - regex: '(?:OPPO[ _]?)?CPH2213(?:[);/ ]|$)' model: 'F19 Pro Plus' - regex: '(?:OPPO[ _]?)?X909T?(?:[);/ ]|$)' model: 'Find 5' - regex: '(?:OPPO[ _]?)?R827T?(?:[);/ ]|$)' model: 'Find 5 Mini' - regex: '(?:OPPO[ _]?)?X907[067](?:[);/ ]|$)' model: 'Find 7' - regex: '(?:OPPO[ _]?)?X900[067](?:[);/ ]|$)' model: 'Find 7a' - regex: '(?:OPPO[ _]?)?PEUM00' model: 'Find N 5G' - regex: '(?:OPPO[ _]?)?Find N(?:[);/ ]|$)' model: 'Find N' - regex: '(?:OPPO[ _]?)?(?:PGU110|CPH2439)(?:[);/ ]|$)' model: 'Find N2' - regex: '(?:OPPO[ _]?)?(?:CPH2437|PGT110)(?:[);/ ]|$)' model: 'Find N2 Flip' - regex: '(?:OPPO[ _]?)?(?:CPH2519|PHT110)(?:[);/ ]|$)' model: 'Find N3 Flip' - regex: '(?:OPPO[ _]?)?(?:PHN110|CPH2499)' model: 'Find N3' - regex: '(?:OPPO[ _]?)?R815[TW]?(?:[);/ ]|$)' model: 'Find Clover' - regex: '(?:OPPO[ _]?)?R8015(?:[);/ ]|$)' model: 'Find Guitar' - regex: '(?:OPPO[ _]?)?R8111(?:[);/ ]|$)' model: 'Find Melody' - regex: '(?:OPPO[ _]?)?R821T?(?:[);/ ]|$)' model: 'Find Muse' - regex: '(?:OPPO[ _]?)?U707T?(?:[);/ ]|$)' model: 'Find Way S' - regex: '(?:OPPO[ _]?)?U705T(?:[);/ ]|$)' model: 'Ulike 2' - regex: '(?:OPPO[ _]?)?(?:CPH187[15]|PAF[MT]00)(?:[);/ ]|$)' model: 'Find X' - regex: '(?:OPPO[ _]?)?(?:PAHM00)(?:[);/ ]|$)' model: 'Find X Lamborghini' - regex: '(?:OPPO[ _]?)?(?:PDE[TM]10|CPH2023)(?:[);/ ]|$)' model: 'Find X2' - regex: '(?:OPPO[ _]?)?(?:CPH2005|Find X2 Lite)(?:[);/ ]|$)' model: 'Find X2 Lite' - regex: '(?:OPPO[ _]?)?(?:PDEM30|OPG01|CPH2025|Find X2 Pro)(?:[);/ ]|$)' model: 'Find X2 Pro' - regex: 'PEDM00(?:[);/ ]|$)' model: 'Find X3' - regex: 'Find X3 Neo(?:[);/ ]|$)' model: 'Find X3 Neo' - regex: '(?:PEEM00|CPH2173|OPG03|Find X3 Pro)(?:[);/ ]|$)' model: 'Find X3 Pro' - regex: 'Find X3 Lite(?:[);/ ]|$)' model: 'Find X3 Lite' - regex: 'CPH2307|PFFM10' model: 'Find X5' - regex: 'CPH2305|PFEM10|PFFM20' model: 'Find X5 Pro' - regex: 'PGEM10' model: 'Find X6 Pro' - regex: 'PGFM10' model: 'Find X6' - regex: 'PHZ110' model: 'Find X7' - regex: 'PHY110' model: 'Find X7 Ultra' - regex: 'PHY120' model: 'Find X7 Ultra SE' - regex: '(?:OPPO[ _]?)?R1011 Build' model: 'Joy Plus' - regex: '(?:OPPO[ _]?)?(PBC(?:M30|T10))(?:[);/ ]|$)' model: 'K1' - regex: 'A1603(?:[);/ ]|$)' model: 'C1' - regex: 'CPH1955(?:[);/ ]|$)' model: 'K3' - regex: '(?:OPPO[ _]?)?(PCNM00)(?:[);/ ]|$)' model: 'K5' - regex: '(?:OPPO[ _]?)?(PCLM50)(?:[);/ ]|$)' model: 'K7' - regex: '(?:OPPO[ _]?)?(PERM00)(?:[);/ ]|$)' model: 'K7x' - regex: '(?:OPPO[ _]?)?PGCM10| K9x(?:[);/ ]|$)' model: 'K9x' - regex: '(?:OPPO[ _]?)?PGGM10' model: 'K10x' - regex: '(?:OPPO[ _]?)?PERM10| K9s(?:[);/ ]|$)' model: 'K9s' - regex: '(?:OPPO[ _]?)?CPH2373' model: 'K10' - regex: '(?:OPPO[ _]?)?(?:PGJM10|CPH2337)' model: 'K10 5G' - regex: '(?:OPPO[ _]?)?PGIM10' model: 'K10 Pro 5G' - regex: '(?:OPPO[ _]?)?PJC110' model: 'K11 5G' - regex: '(?:OPPO[ _]?)?PHS110' model: 'A1 5G' - regex: '(?:OPPO[ _]?)?PJG110' model: 'A2 5G' - regex: '(?:OPPO[ _]?)?PHF110' model: 'K11x 5G' - regex: '(?:OPPO[ _]?)?PJR110' model: 'K12 5G' - regex: '(?:OPPO[ _]?)?N5117(?:[);/ ]|$)' model: 'N1 Mini' - regex: '(?:OPPO[ _]?)?N520[79](?:[);/ ]|$)' model: 'N3' - regex: '(?:OPPO[ _]?)?R831T?(?:[);/ ]|$)' model: 'Neo' - regex: '(?:OPPO[ _]?)?R831K(?:[);/ ]|$)' model: 'Neo 3' - regex: '(?:OPPO[ _]?)?(?:R831[SL]|1201)(?:[);/ ]|$)' model: 'Neo 5' - regex: '(?:OPPO[ _]?)?A33[wf](?:[);/ ]|$)' model: 'Neo 7' - regex: '(?:OPPO[ _]?)?A33fw(?:[);/ ]|$)' model: 'Neo 7s' - regex: '(?:OPPO[ _]?)?R8113(?:[);/ ]|$)' model: 'Piano' - regex: '(?:OPPO[ _]?)?CPH1707(?:[);/ ]|$)' model: 'R11' - regex: '(?:OPPO[ _]?)?R11 Plusk?t?(?:[);/ ]|$)' model: 'R11 Plus' - regex: 'R8001(?:[);/ ]|$)' model: 'R1K' - regex: 'R820[16](?:[);/ ]|$)' model: 'R1x' - regex: '(?:OPPO[ _]?)?(?:CPH1721|R11s Plust?)(?:[);/ ]|$)' model: 'R11s Plus' - regex: '(?:OPPO[ _]?)?(?:CPH1719|R11st?)(?:[);/ ]|$)' model: 'R11s' - regex: '(?:OPPO[ _]?)?(?:CPH1835|PAC[TM]00|PAAM00)(?:[);/ ]|$)' model: 'R15' - regex: '(?:OPPO[ _]?)?(?:CPH183[13]|PAAT00)(?:[);/ ]|$)' model: 'R15 Pro' - regex: 'PBCM10(?:[);/ ]|$)' model: 'R15x' - regex: '(?:OPPO[ _]?)?(?:CPH1879|PBE[MT]00)(?:[);/ ]|$)' model: 'R17' - regex: 'RX17Neo' model: 'RX17 Neo' - regex: 'R15 Dream Mirror' model: 'R15 Dream Mirror' - regex: 'R15 Neo' model: 'R15 Neo' - regex: '(?:OPPO[ _]?)?(?:CPH1893)(?:[);/ ]|$)' model: 'R17 Neo' - regex: '(?:OPPO[ _]?)?(?:CPH1877|PBD[MT]00|RX17Pro)(?:[);/ ]|$)' model: 'R17 Pro' - regex: '(?:OPPO[ _]?)?R8006(?:[);/ ]|$)' model: 'R1L' - regex: '(?:OPPO[ _]?)?R800[07](?:[);/ ]|$)' model: 'R1S' - regex: '(?:OPPO[ _]?)?R810[679](?:[);/ ]|$)' model: 'R5' - regex: '(?:OPPO[ _]?)?R7kf(?:[);/ ]|$)' model: 'R7 Lite' - regex: '(?:OPPO[ _]?)?R7sPlus(?:[);/ ]|$)' model: 'R7s Plus' - regex: '(?:OPPO[ _]?)?R7sf(?:[);/ ]|$)' model: 'R7s' - regex: '(?:OPPO[ _]?)?R7[gf](?:[);/ ]|$)' model: 'R7' - regex: '(?:OPPO[ _]?)?R7Plus[mt]?(?:[);/ ]|$)' model: 'R7 Plus' - regex: '(?:OPPO[ _]?)?R7Plusf(?:[);/ ]|$)' model: 'R7 Plus F' - regex: '(?:OPPO[ _]?)?(?:X9079|R9 Plustm A)(?:[);/ ]|$)' model: 'R9 Plus' - regex: '(?:OPPO[ _]?)?(?:CPH1607|R9sk)(?:[);/ ]|$)' model: 'R9s' - regex: '(?:OPPO[ _]?)?(?:CPH1611|R9s Plus)(?:[);/ ]|$)' model: 'R9s Plus' - regex: '(?:CPH1917|PCA[MT]00)(?:[);/ ]|$)' model: 'Reno' - regex: 'CPH1983(?:[);/ ]|$)' model: 'Reno A' - regex: '(?:CPH1919|PCCM00)(?:[);/ ]|$)' model: 'Reno 10X Zoom' - regex: 'PCCT00' model: 'Reno 10X' - regex: 'PHW110' model: 'Reno 10' - regex: 'CPH2531' model: 'Reno 10 5G' - regex: '(?:CPH2525|PHV110|A302OP)(?:[);/ ]|$)' model: 'Reno 10 Pro 5G' - regex: 'CPH2521|PHU110' model: 'Reno 10 Pro+ 5G' - regex: 'PJJ110|CPH2607' model: 'Reno 11 Pro' - regex: 'CPH2599|PJH110' model: 'Reno 11' - regex: 'PJ[VW]110' model: 'Reno 12' - regex: 'CPH2625' model: 'Reno 12 5G' - regex: 'CPH2637' model: 'Reno 12 F 5G' - regex: 'CPH2687' model: 'Reno 12 F 4G' - regex: 'CPH2629' model: 'Reno 12 Pro 5G' - regex: '(?:PCKM00|CPH1907)(?:[);/ ]|$)' model: 'Reno 2' - regex: 'CPH1989(?:[);/ ]|$)' model: 'Reno 2F' - regex: '(?:PCKM80|CPH1945|CPH1951)(?:[);/ ]|$)' model: 'Reno 2Z' - regex: '(?:CPH2043|PDCT00)(?:[);/ ]|$)' model: 'Reno 3' - regex: '(?:CPH2013|A002OP)(?:[);/ ]|$)' model: 'Reno 3A' - regex: '(?:PDCM00|A001OP|CPH2048)(?:[);/ ]|$)' model: 'Reno 3 5G' - regex: '(?:PCR[MT]00|CPH203[567]|CPH2009)' model: 'Reno 3 Pro' - regex: 'PCRT01(?:[);/ ]|$)' model: 'Reno 3 Lite' - regex: 'CPH2113(?:[);/ ]|$)' model: 'Reno 4 4G' - regex: 'CPH2125(?:[);/ ]|$)' model: 'Reno 4 Lite' - regex: 'CPH2109(?:[);/ ]|$)' model: 'Reno 4 Pro 4G' - regex: '(?:PDP[TM]00|CPH2091)(?:[);/ ]|$)' model: 'Reno 4 5G' - regex: '(?:PEA[TM]00|Reno4 SE 5G)(?:[);/ ]|$)' model: 'Reno 4 SE 5G ' - regex: '(?:PDN[TM]00|CPH2089)(?:[);/ ]|$)' model: 'Reno 4 Pro 5G' - regex: 'CPH2065|Reno4 Z 5G' model: 'Reno 4Z 5G' - regex: 'CPH2209(?:[);/ ]|$)' model: 'Reno 4F' - regex: '(?:CPH2199|A10[13]OP)|Reno5 A 5G(?: Build|[;)])' model: 'Reno 5A' - regex: 'CPH2205|Reno5 Lite(?: Build|[;)])' model: 'Reno 5 Lite' - regex: '(?:PEG[MT]00|CPH2145|Reno5 5G)(?:[);/ ]|$)' model: 'Reno 5 5G' - regex: 'PEG[MT]10(?:[);/ ]|$)' model: 'Reno 5K' - regex: 'Reno5 K 5G' model: 'Reno 5K 5G' - regex: 'CPH2217(?:[);/ ]|$)' model: 'Reno 5F' - regex: '(?:CPH2211|Reno5 Z 5G)(?:[);/ ]|$)' model: 'Reno 5Z' - regex: '(?:PDS[TM]00|CPH220[17]|Reno5 Pro 5G)(?:[);/ ]|$)' model: 'Reno 5 Pro 5G' - regex: 'PDR[TM]00(?:[);/ ]|$)' model: 'Reno 5 Pro Plus 5G' - regex: '(?:CPH1921|PCCM40)(?:[);/ ]|$)' model: 'Reno 5G' - regex: 'CPH2159|(?:Reno5 4G|Reno 5)(?: Build|[;)])' model: 'Reno 5' - regex: 'CPH2237|Reno6 Z 5G(?: Build|[;)])' model: 'Reno 6 Z 5G' - regex: 'PEPM00(?:[);/ ]|$)' model: 'Reno 6 Pro' - regex: 'CPH224[79]|Reno6 Pro 5G(?: Build|[;)])' model: 'Reno 6 Pro 5G' - regex: 'PENM00(?:[);/ ]|$)' model: 'Reno 6 Pro Plus' - regex: '(?:CPH2235|PEQM00|CPH2251|Reno6 5G|Reno 6)(?:[);/ ]|$)' model: 'Reno 6' - regex: 'PFJM10|CPH2371|CPH2363|Reno7(?: Build|[;)])' model: 'Reno 7' - regex: 'CPH2343' model: 'Reno 7Z' - regex: 'CPH2353|OPG04|A201OP' model: 'Reno 7A' - regex: 'PFCM00|Reno7 SE(?: Build|[;)])' model: 'Reno 7 SE' - regex: '(?:PFDM00|CPH2293|Reno7 Pro)(?:[);/ ]|$)' model: 'Reno 7 Pro' - regex: 'CPH235[79]|PGAM10' model: 'Reno 8 Pro' - regex: 'PFZM10' model: 'Reno 8 Pro+' - regex: 'CPH2457' model: 'Reno 8 Z' - regex: 'PGBM10' model: 'Reno 8' - regex: 'CPH2481|CPH2505' model: 'Reno 8T' - regex: 'PHM110' model: 'Reno 9' - regex: 'PGW110' model: 'Reno 9 Pro+' - regex: 'PGX110' model: 'Reno 9 Pro' - regex: 'CPH2523|A301OP' model: 'Reno 9 A' - regex: '(?:PEYM00|K9 Pro 5G)(?:[);/ ]|$)' model: 'K9 Pro 5G' - regex: '(?:PEXM00)(?:[);/ ]|$)' model: 'K9 5G' - regex: 'Reno Ace 2 EVA' model: 'Reno Ace 2 EVA' - regex: 'PCLM10(?:[);/ ]|$)' model: 'Reno Ace' - regex: 'PDHM00(?:[);/ ]|$)' model: 'Reno Ace 2' - regex: 'PCGM00(?:[);/ ]|$)' model: 'Reno K3' - regex: '(?:OPPO[ _]?)?(?:CPH1979|PCD[TM]10)(?:[);/ ]|$)' model: 'Reno Z' - regex: 'A59st(?:[);/ ]|$)' model: 'A59s' - regex: 'CPH2617' model: 'A59 5G' - regex: 'OPPO ?(CNM632)' device: 'tv' model: '$1' - regex: 'OPD2102A?' model: 'Pad Air' device: 'tablet' - regex: 'OPD2301' model: 'Pad Air 2' device: 'tablet' - regex: 'OPD2302' model: 'Pad Neo' device: 'tablet' - regex: 'OPD220[12]' model: 'Pad 2' device: 'tablet' - regex: 'OPD2101' model: 'Pad WiFi' device: 'tablet' - regex: 'OW19W[13]' model: 'Watch 46mm' device: 'wearable' - regex: 'OW19W2' model: 'Watch 41mm' device: 'wearable' - regex: 'OW20W1' model: 'Watch 2 46mm' device: 'wearable' - regex: 'N1T?(?:[);/ ]|$)' model: 'N1T' device: 'phablet' - regex: 'R([0-9]{3,4}[KSTW]?)(?:[);/ ]|$)' # valid model numbers are filtered in main regex model: 'R$1' # general detections - regex: '(CPH[0-9]{4})' model: '$1' - regex: '(?:OB-)?OPPO[ _]?((?!Browser)[a-z0-9]+)' model: '$1' # orange Orange: regex: 'SPV[ \-]?([a-z0-9]+)|(?<!FBCR/)Orange[ _-](?!Tahiti-LS\))([^/;]+)( Build|\))(?<!Tahiti-LS\))|SC/IHD92|Nura 2|FunTab ([^/;]+) Build|Orange Mahpee|Dive 50|MouveTab7WIFI' device: 'smartphone' models: - regex: 'SC/IHD92' device: 'tv' # set top box model: 'Livebox Play' - regex: 'Orange TV Box(?:[);/ ]|$)' device: 'tv' model: 'TV Box' - regex: 'Nola play' model: 'Nola Play' - regex: 'Nola fun' model: 'Nola Fun' - regex: 'Neva zen' model: 'Neva Zen' - regex: 'Neva start' model: 'Neva Start' - regex: 'Nura 2' model: 'Nura 2' - regex: 'Sego' model: 'Sego' device: 'tablet' - regex: 'FunTab ([^/;]+) Build' model: 'FunTab $1' device: 'tablet' - regex: 'Orange Mouve 2' device: 'tablet' model: 'Mouve Tab II' - regex: 'MouveTab7WIFI' model: 'Mouve Tab 7 WiFi' device: 'tablet' - regex: 'orange_Tab_7_4G' model: 'Tab 7 4G' device: 'tablet' - regex: 'Orange[ _-](Rise) ?(3[125]|5[12])(?:[);/ ]|$)' model: '$1 $2' - regex: '(?:Orange[ _-])?Dive ?(\d+) Dual(?:[);/ ]|$)' model: 'Dive $1 Dual' - regex: '(?:Orange[ _-])?Dive ?(\d+)(?:[);/ ]|$)' model: 'Dive $1' - regex: 'Orange[ _-](Daytona|Dublin|Fova|Gova|Hi 4G|Hiro|Kivo|Monte Carlo|Neva 80|Neva play|Nura|Reyo|Rise[_ ](3[034]|40|5[345])|Rono|Roya|San Francisco|Tactile internet 2|Tado|Yomi|Yumo|Zali|Mahpee|Neva leaf|Sanza touch|Viking L508|Zilo)(?:[);/ ]|$)' model: '$1' - regex: 'SPV[ \-]?([a-z0-9]+)' model: 'SPV $1' # Oukitel Oukitel: regex: 'OU[Kc]ITEL|(?:Android 10(?:[\d.]*);(?: [\w-]+;)? (?:C19|C22)|Android 8(?:[\d.]*);(?: [\w-]+;)? (?:C11|U23)|Android 9(?:[\d.]*);(?: [\w-]+;)? (?:K12)|Android 11(?:[\d.]*);(?: [\w-]+;)? (?:C25)|Android 12(?:[\d.]*);(?: [\w-]+;)? (?:C3[12])|Android 1[23](?:[\d.]*);(?: [\w-]+;)? (?:K16|C51|C3[3568]|RT8)|Android 7(?:[\d.]*);(?: [\w-]+;)? (?:U1[78]|U22)|(?:C1[569]|K10000|K[46]000)(?:[ _]Pro)|K4000Pro|C1[18]_Pro|C1[0237] Pro|C2[13] Pro|C12 Plus|[UK]15 Pro|K15_Plus|U16 Max|C11_F|U7 Max|U7 Plus|U11[_ ]Plus|U20_Plus|C21 Plus|OK6000 Plus|WP5000|WP[58] Pro|K[46]000[ _](?:Plus|Lite)|K9 Pro|Y4800|K10000|K7 Power|K[4-8]000| RT[12356]| OT[568]| WP(?:[125-79]|1[02356789]|2[0123678]|3[023568]|50)|K[37]_Pro|K13_Pro|U25_Pro|OKT[13]|UniverseTap|RT7 TITAN(?: 5G)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'WP21 Ultra' model: 'WP21 Ultra' - regex: '(C1[0-9]|C2[13]|C31|K10000|K[46]000|WP\d+|U[12]5|K[379]|K1[35])[ _]?Pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'K7 Power(?:[);/ ]|$)' model: 'K7 Power' - regex: '(K10000|U16|U7)[ _]Max(?:[);/ ]|$)' model: '$1 Max' - regex: '(U20|K[46]000|U7|U11|OK6000|K15|C12|C21)[_ ]?Plus(?:[);/ ]|$)' model: '$1 Plus' - regex: '(K4000)[_ ]Lite(?:[);/ ]|$)' model: '$1 Lite' - regex: '(K10000)[_ ]Mix(?:[);/ ]|$)' model: '$1 Mix' - regex: 'UniverseTap(?:[);/ ]|$)' model: 'U8 Universe Tap' - regex: '(?:Oukitel-)?(Y4800|K10000|K[4-8]000|WP5000|[CU]2|U1[078]|U2[23]|C1[19]|C[23]2|C3|C3[13568]|C51|WP15 S|C25)(?:[);/ ]|$)' model: '$1' - regex: '(?:OUKITEL)? K([37]|1[26])(?:[);/ ]|$)' model: 'K$1' - regex: 'RT7 TITAN 5G' device: 'tablet' model: 'RT7 Titan 5G' - regex: 'RT7 TITAN' device: 'tablet' model: 'RT7 Titan' - regex: '(RT[123568]|OKT[13]|OT5 S|OT[568])(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: '(?:OUKITEL)? (WP\d+|C11_F)(?:[);/ ]|$)' model: '$1' - regex: 'OUKITEL; ([^;]+);' model: '$1' # OKWU OKWU: regex: '(?:OKWU SIGMA|PI[_ ]Plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SIGMA' model: 'Sigma' - regex: 'PI[_ ]Plus' model: 'PI Plus' # Orion Orion: regex: 'ORION, ([a-z0-9_ \-]+), (?:wired|wireless)|CRANE-EVB' device: 'tv' models: - regex: 'ORION, ([a-z0-9_ \-]+), (?:wired|wireless)' model: '' - regex: '(CRANE-EVB)' model: 'CRANE-EVB' device: 'tablet' # Ouki Ouki: regex: 'OUKI|OK[AU][0-9]+[a-z]* Build|OKP6 Pro' device: 'smartphone' models: - regex: 'OKP6 Pro' model: 'OKP6 Pro' - regex: 'OUKI[ _-]?([^;/]+) Build' model: '$1' - regex: '([^;/)]+) Build/OUKI' model: '$1' - regex: 'OUKI[ _-]?([^;/)]+)(?:[;/)]|$)' model: '$1' - regex: '(OK[AU][0-9]+[a-z]*) Build' model: '$1' # Overmax Overmax: regex: 'OV-[a-z]+(?:[^;(/]*)[();/ ]|Qualcore 10(?:10|27)|Livecore7032|Vertis 5021 Aim|Vertis 4004 You|OV1027[34]G' device: 'tablet' models: - regex: 'OV-V10' model: 'Vertis Yard' device: 'smartphone' - regex: 'Vertis 5021 Aim' model: 'Vertis 5021 Aim' device: 'smartphone' - regex: 'Vertis 4004 You' model: 'Vertis 4004 You' device: 'smartphone' - regex: 'OV-Vertis[ _-]([^;/]+) Build' model: 'Vertis $1' device: 'smartphone' - regex: 'Livecore7032' model: 'Livecore 7032' - regex: 'Qualcore 1010' model: 'Qualcore 1010' - regex: 'OV(\d+)([34])G' model: 'Qualcore $1 $2G' - regex: '(?:OV-)?Qualcore[-_ ](\d+)[-_ ]([34])G' model: 'Qualcore $1 $2G' - regex: '(OV-[a-z]+(?:[^/();]+))(?: Build|[();])' model: '$1' # OX TAB OX TAB: regex: 'Ox-([^;/)]+)(?: Build|[;)])' device: 'tablet' models: - regex: 'Ox-p010-2(?:[);/ ]|$)' model: 'Ox-p010-2' # Oysters Oysters: regex: 'Oysters|T84ERI[ _]3G|T72HM(s_)?3G|T102MS_3G|T102ER3G|T72ER3G|(T74HMi|T84Bi)[_ ]4G|T74MR4G|T74RD|T84Ni[_ ][34]G|Pacific(?:[ ]?800i|E)|T104B_[34]G|IndianV|T72HA_3G|T12V? 3G|T74D_3G|T74N_3G|T74SC_3G|T74Mai_3G|T74MRi3G|T104MBi_3G|T104SCi_3G|T104ER4G|Arctic450|Atlantic(?:4G|454|[EV])|AntarcticE|Life4G|T7V 3G|Pacific(?:VS?|I?4G|454)' device: 'tablet' models: - regex: 'Pacific[ ]?800i' device: 'smartphone' model: 'Pacific 800i' - regex: 'PacificE' device: 'smartphone' model: 'Pacific E' - regex: 'IndianV' device: 'smartphone' model: 'Indian V' - regex: '(?:Oysters[_ ])?Pacific(VS?|I?4G|454)' device: 'smartphone' model: 'Pacific $1' - regex: 'Atlantic(454|[EV]|4G)(?:[);/ ]|$)' device: 'smartphone' model: 'Atlantic $1' - regex: 'Arctic(450)(?:[);/ ]|$)' device: 'smartphone' model: 'Arctic $1' - regex: 'AntarcticE(?:[);/ ]|$)' device: 'smartphone' model: 'Antarctic E' - regex: 'Life4G(?:[);/ ]|$)' device: 'smartphone' model: 'Life 4G' - regex: 'Oysters ((?:Arctic|Indian|Atlantic|Pacific)[^/;]+) Build' device: 'smartphone' model: '$1' - regex: '(T84ERI[ _]3G|T72HM(s_)?3G|(?:(T74HMi|T84Bi)[_ ]4G)|T84Ni[_ ][34]G)' model: '$1' - regex: '(T74MR|T102MS|T104B|T74SC|T74[DN]|T72HA|T102ER|T72ER|T104SCi|T104MBi|T104ER|T7V|T12V?|T74MRi)[ _]?([34]G)' model: '$1 $2' - regex: 'T74Mai_3G' model: 'T74MAi 3G' - regex: '(T74RD)' model: '$1' - regex: 'Oysters ([^/;]+)( Build|\))' model: '$1' # öwn (own mobile) öwn: regex: 'OWN[ _]|(?:S4035[ _][34]G|Smart8|SMART PLUS LTE|FUN VALUE (?:4G|Lite)|FUN_VALUE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'FUN ([67])' model: 'Fun $1' - regex: 'FUN 5\(4G\)' model: 'Fun 5 4G' - regex: '(?:OWN[ _])?(S3000D|S3010|S3020D|S4010|S4025|S4035[ _][34]G)' model: '$1' - regex: 'One Plus' model: 'One Plus' - regex: 'One' model: 'One' - regex: 'Fun Value Lite' model: 'Fun Value Lite' - regex: 'FUN[_ ]VALUE(?: 4G)?' model: 'Fun Value 4G' - regex: 'Smart ?(8|9)(?:[);/ ]|$)' model: 'Smart $1' - regex: 'SMART PLUS LTE(?:[);/ ]|$)' model: 'Smart Plus LTE' # Panacom Panacom: regex: 'T-i708D' device: 'smartphone' models: - regex: 'T-i708D' device: 'tablet' model: 'T-i708D' # panasonic Panasonic: regex: 'Panasonic|PANATV[0-9]+|Viera/|4KTV-0SU|(?:P902i|P-0[28]D|FZ-B2D|FZ-[NX]1|FZ-A2A|DMC-CM1|P-01[JK]|P-0[23]E|P55 Max)(?:[);/ ]|$)|Eluga[ _]|P55 Novo 4G' device: 'smartphone' models: - regex: 'P-01J(?:[);/ ]|$)' model: 'P-smart Keitai' - regex: '(P-01K)(?:[);/ ]|$)' model: 'Toughbook $1' - regex: 'P-03E(?:[);/ ]|$)' model: 'Eluga P' - regex: 'P-02E(?:[);/ ]|$)' model: 'Eluga X' - regex: 'Eluga[ _]I7(?:_EE)?' model: 'Eluga I7' - regex: '(?:Panasonic_)?Eluga[ _-]([^;/]+) Build' model: 'Eluga $1' - regex: '(?:Panasonic_)?Eluga[ _-]([^);/]+)[;/)]' model: 'Eluga $1' - regex: '(DMC-CM1)' model: 'Lumix $1' device: 'camera' - regex: 'P-02D(?:[);/ ]|$)' model: 'Lumix Phone P-02D' - regex: '(FZ-[XN]1)(?:[);/ ]|$)' model: 'Toughpad $1' - regex: 'FZ-(B2D|A2A)(?:[);/ ]|$)' model: 'Toughpad FZ-$1' device: 'tablet' - regex: 'P55 Novo 4G' model: 'P55 Novo 4G' - regex: 'P55 Max' model: 'P55 Max' - regex: 'P(\d*) NXT' model: 'P$1 NXT' - regex: 'P902i(?:[);/ ]|$)' device: 'feature phone' model: 'P902i' - regex: 'Panasonic\..+\.([0-9]{4})(?:[);/ ]|$)' device: 'tv' model: 'Smart TV ($1)' - regex: 'Panasonic\..+\.([0-9]{4})\.Mediatek' device: 'tv' model: 'Smart TV ($1)' - regex: 'Panasonic MIL DLNA' device: 'tv' model: 'Viera Cast' - regex: 'PANATV[0-9]+|Viera/' device: 'tv' model: 'Smart TV' - regex: '(43D1200|(?:32|43)D1270|32D1280|4KTV-0SU[WF]?)' device: 'tv' model: '$1' - regex: 'PANASONIC, ([a-z0-9_ \-]+), (?:wired|wireless)' model: '' device: 'tv' - regex: 'PANASONIC,([a-z0-9_ \-]+),(?:wired|wireless)' model: '$1' device: 'tv' - regex: 'Panasonic[ _\-]?([a-z0-9]+)' model: '$1' - regex: 'portalmmm/2\.0 (P[a-z0-9]+)' model: '$1' - regex: 'P-08D(?:[);/ ]|$)' model: 'Eluga Live 10.1"' device: 'tablet' # PCBOX PCBOX: regex: 'Art-PCB-V116|Bee-PCB-V216|Clap-PCB-I316|PCB-T(?:10[34]|715|750)|Kova[ _-]PCB-\w+|Kova_Plus_PCB_T735' device: 'smartphone' models: - regex: 'Art-PCB-V116' model: 'Art' - regex: 'Bee-PCB-V216' model: 'Bee' - regex: 'Clap-PCB-I316' model: 'Clap' - regex: 'PCB-T103' device: 'tablet' model: 'Curi Lite' - regex: 'PCB-T104' device: 'tablet' model: 'Flash' - regex: 'PCB-T(715|750)' device: 'tablet' model: 'T$1' - regex: 'Kova[ _-]PCB-T730' device: 'tablet' model: 'Kova T730' - regex: 'Kova_Plus_PCB_T735' device: 'tablet' model: 'Kova Plus T735' # PCD or PCD Argentina (https://pcdlatam.com/) PCD: regex: '(?:PCD[ _])?(?:PL5507|PL571US|PH3501|PH400[12]|E400)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'PL571US' model: 'Jaguar Pro II' - regex: '(?:PCD[ _])?(P[HL]\d{4}|E400)' model: '$1' # PCD Argentina PCD Argentina: regex: 'PCD[ ]?50[689]|(?:PL620|P63L)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'PCD[ ]?(50[689])' model: '$1' - regex: '(PL620|P63L)' model: '$1' # ArmPhone ArmPhone: regex: '(TSD Octa A0520P|TSD Quadra A050[59]P)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Penta Penta: regex: 'Penta[ _]|(?:PS650)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'PS650' model: 'Smart PS650' - regex: 'WS704DX' model: 'T-Pad WS704DX' # Pentagram Pentagram: regex: 'Pentagram|Quadra|Monster X5' device: 'tablet' models: - regex: '(?:PENTAGRAM[_ ])?EON[_ ]PRIX' model: 'Eon Prix' - regex: 'Quadra 7(?: UltraSlim)?' model: 'Quadra 7 UltraSlim' - regex: 'Monster X5?' model: 'Monster X5' device: 'smartphone' - regex: 'Quadra ?([^);/]*) Build' model: 'Quadra $1' - regex: 'Pentagram ?TAB ?([^);/]*) Build' model: 'Tab $1' - regex: 'Pentagram ?([^);/]*) Build' model: '$1' device: 'smartphone' # Tcl (tcl.com) TCL: regex: 'TCL,|smarttv_AFTMM-TCL|AFTMD002|AFTSHN02|AFTMD001|TCL[_ -][a-z0-9]+|(?:TCL[_ -][^;/]+ Build)|TCL72563C|(?:TCLGalaG60(?:\(9108A\))?|4163D|4187[DMU]|4188[CLRSVO]|5004S|5033TP|5087Z|5101A|5102[BKLMOP]|5107G|5124J|5130[JMEI]|5133MP|5133A|5148A|5152D|5159[AJ]|5164[AD]|5199I|6102[ADH]|6125[ADFH]|6127[AI]|6156[ADH]|6159[AK]|6165[AHS]|7040N|8491X|9048S|9060[GX]|9080G|9081X|9295G|9296[GQ]|A(?:50[2789]|600)DL|T(?:60[123]|701)DL|T(?:506D|671[EFGHO]|676[HJK]|766[AHJSU]|767[GHW]|770[BH]|771K|773O|774[BH]|775[BH]|776[HO]|779W|780H|781SPP|781S|781|782H|790[SY]|799[BH]|810[HS])|Percee TV|9183W|9198S|9309X2|9317X1|8[14]96G|916[016]G| 9061| 8182| 8167| 8095|BeyondTV\d?|UnionTV|T507U|5131[AG]|T610[KE]|T612B|9132[GS]|9137W|T430W|T431[DUQ]|T501[CL]|T768S|9494G|9460G|9466X|T60[79]DL)(?:_(?:RU|EEA|TR))?(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TCLGalaG60(?:\(9108A\))?(?:[);/ ]|$)' model: 'Gala G60' - regex: '5004S(?:[);/ ]|$)' model: 'Signa' - regex: 'T430W(?:[);/ ]|$)' model: 'Ion X' - regex: 'T501[CL](?:[);/ ]|$)' model: 'Ion' - regex: 'T779W(?:[);/ ]|$)' model: 'Stylus 5G' - regex: '5[01]33[MT]P(?:[);/ ]|$)' model: '201' - regex: '4187D(?:[);/ ]|$)' model: '205' - regex: '(?:4163D|4188S)(?:[);/ ]|$)' model: '304' - regex: '5131[AG]' model: '303' - regex: 'T431[DUQ](?:[);/ ]|$)' model: '403' - regex: '6102[AD](?:[);/ ]|$)' model: '305' - regex: '5164[AD](?:[);/ ]|$)' model: '305i' - regex: '6102H(?:[);/ ]|$)' model: '306' - regex: 'T506D(?:[);/ ]|$)' model: '405' - regex: 'T507U(?:[);/ ]|$)' model: '408' - regex: 'T610[KE](?:[);/ ]|$)' model: '40 SE' - regex: 'T774[BH](?:[);/ ]|$)' model: '20L' - regex: 'T775B(?:[);/ ]|$)' model: '20L Plus Premium Edition' - regex: 'T775H(?:[);/ ]|$)' model: '20L Plus' - regex: '6125[ADFH]' model: '20E' - regex: '6127[AI]' model: '30E' - regex: '6156[ADH]' model: '20Y' - regex: '6159[AK]' model: '20B' - regex: '5199I(?:[);/ ]|$)' model: 'C9' - regex: 'A509DL(?:[);/ ]|$)' model: 'A3' - regex: 'A600DL(?:[);/ ]|$)' model: 'A3X' - regex: '5102[LO](?:[);/ ]|$)' model: 'A30' - regex: '5152D(?:[);/ ]|$)' model: 'C5' - regex: '5133A(?:[);/ ]|$)' model: 'L5' - regex: '5102[BKMP](?:[);/ ]|$)' model: 'L7' - regex: '5159[AJ](?:[);/ ]|$)' model: 'L9' - regex: '5101A(?:[);/ ]|$)' model: 'L9 Plus' - regex: '5107G(?:[);/ ]|$)' model: 'L9S' - regex: '5124J(?:[);/ ]|$)' model: 'L10' - regex: '5130[JEI](?:[);/ ]|$)' model: 'L10+' - regex: '4187[MU](?:[);/ ]|$)' model: 'L10 Lite' - regex: '5148A(?:[);/ ]|$)' model: 'T9' - regex: '5130M(?:[);/ ]|$)' model: 'T Pro' - regex: 'T780H(?:[);/ ]|$)' model: 'Plex' - regex: 'T782H(?:[);/ ]|$)' model: '10 Plus' - regex: 'T790Y(?:[);/ ]|$)' model: '10 5G' - regex: 'T790S(?:[);/ ]|$)' model: '10 5G UW' - regex: 'TCL[_ -]([^;/]+) Build' model: '$1' - regex: 'TCL[_ -]([a-z0-9]+)' model: '$1' - regex: '(7040N)(?:[);/ ]|$)' model: '$1' - regex: 'A502DL(?:[);/ ]|$)' model: 'LX' - regex: 'A507DL(?:[);/ ]|$)' # TracFone A507DL model: 'A2' - regex: 'A508DL(?:[);/ ]|$)' model: 'A2X' - regex: 'T601DL(?:[);/ ]|$)' model: 'X4 5G' - regex: 'T609DL(?:[);/ ]|$)' model: '40 XE 5G' - regex: 'T770[HB](?:[);/ ]|$)' model: '10L' - regex: 'T766[AHJSU](?:_(?:EEA|TR|RU))?(?:[);/ ]|$)' model: '10 SE' - regex: 'T671[HFEO](?:_EEA)?(?:[);/ ]|$)' model: '20 SE' - regex: 'T768S(?:_EEA)?(?:[);/ ]|$)' model: '20 A' - regex: '6165[AHS]' model: '30 SE' - regex: '4188V' model: '30 LE' - regex: 'T676[KJ]' model: '30+' - regex: 'T676H' model: '30' - regex: '(?:4188[CLRO]|T602DL)(?:[);/ ]|$)' model: '30 Z' - regex: '(?:T781S|T781SPP)(?:[);/ ]|$)' model: '30 V 5G' - regex: 'T603DL' model: '30 T' - regex: 'T776[HO]' model: '30 5G' - regex: 'T767[GW](?:[);/ ]|$)' model: '30 XE 5G' - regex: '(?:T671G|T701DL)(?:[);/ ]|$)' model: '30 XL' - regex: 'T767H(?:[);/ ]|$)' model: '20R 5G' - regex: 'T773O(?:[);/ ]|$)' model: '20S' - regex: '5087Z(?:[);/ ]|$)' model: '20 XE' - regex: 'T781(?:[);/ ]|$)' model: '20 5G' - regex: 'T810[SH](?:[);/ ]|$)' model: '20 Pro 5G' - regex: 'T799[BH]' model: '10 Pro' - regex: 'T771K(?:[);/ ]|$)' model: '40R 5G' - regex: 'T607DL(?:[);/ ]|$)' model: 'ION V' - regex: 'T612B(?:[);/ ]|$)' device: 'phablet' model: 'NxtPaper 40' - regex: '9494G' device: 'tablet' model: 'NxtPaper 12 Pro' - regex: '9466X' device: 'tablet' model: 'NxtPaper 11' - regex: '9317X1' device: 'tablet' model: 'Smart Tab 7' - regex: '8095(?:[);/ ]|$)' device: 'tablet' model: 'TKEE Max' - regex: '9048S(?:[);/ ]|$)' device: 'tablet' model: 'Tab 8" 4G' - regex: '9132G' device: 'tablet' model: 'Tab 8"' - regex: '9132S' device: 'tablet' model: 'Tab Lite' - regex: '9295G' device: 'tablet' model: '10 TabMax 4G' - regex: '9296G' device: 'tablet' model: '10 TabMax WiFi' - regex: '9296Q' device: 'tablet' model: '10 TabMax' - regex: '9198S(?:[);/ ]|$)' device: 'tablet' model: 'Tab Pro 5G' - regex: '9460G(?:[);/ ]|$)' device: 'tablet' model: 'Tab 10' - regex: '9183W(?:[);/ ]|$)' device: 'tablet' model: 'Tab 10 5G' - regex: '(?:9061|9081X)(?:[);/ ]|$)' device: 'tablet' model: 'Tab 10s' - regex: '8496G(?:[);/ ]|$)' device: 'tablet' model: 'Tab 10 WiFi (Gen 2)' - regex: '8196G(?:[);/ ]|$)' device: 'tablet' model: 'Tab 10 LTE (Gen 2)' - regex: '9309X2(?:_EEA)?(?:[);/ ]|$)' device: 'tablet' model: 'Tab 7 Lite' - regex: '(?:8167)(?:[);/ ]|$)' device: 'tablet' model: 'Tab 7L WiFi' - regex: '(?:8182)(?:[);/ ]|$)' device: 'tablet' model: 'Tab 10L WiFi' - regex: '9060G|9161G' device: 'tablet' model: 'Tab 10 FHD 4G' - regex: '9060X|9160G' device: 'tablet' model: 'Tab 10 HD 4G' - regex: '9137W' device: 'tablet' model: 'Tab 8 LE' - regex: '9166G' device: 'tablet' model: 'Tab 11 LTE' - regex: '8491X' device: 'tablet' model: 'Tab 10L' - regex: '9080G' device: 'tablet' model: 'Tab 10s 4G' - regex: '(Percee TV|UnionTV)(?:[);/ ]|$)' device: 'tv' model: '$1' - regex: 'BeyondTV(\d)?(?:[);/ ]|$)' device: 'tv' model: 'Beyond TV $1' - regex: '((?:43|55)S62FS|(?:43|50)P65US|U(?:43|60|65)P60|65P4USM|(?:40|49)S62|L32S6|55P610|50P8S|55S62|(?:43|50)P6US|55DP60)' device: 'tv' model: '$1' - regex: 'TCL72563C' device: 'tv' model: '72563C' - regex: 'smarttv_AFTMM-TCL-TS8011' device: 'tv' model: 'TS8011' - regex: 'AFTMD002(?:[);/ ]|$)' device: 'tv' model: 'Fire TV 3-Series (2023)' - regex: 'AFTSHN02(?:[);/ ]|$)' device: 'tv' model: 'FHD Fire TV (2023)' - regex: 'AFTMD001(?:[);/ ]|$)' device: 'tv' model: '4K Fire TV (2023)' - regex: 'TCL,([a-z0-9_ \-]+),(?:wired|wireless)' device: 'tv' model: '$1' # phoneOne phoneOne: regex: 'phoneOne[ \-]?([a-z0-9]+)' device: 'smartphone' model: '$1' # Primepad Primepad: regex: 'PD\-(3127NC|3127) Build' device: 'tablet' models: - regex: 'PD\-3127NC Build' model: 'PD-3127NC' - regex: 'PD\-3127 Build' model: 'PD-3127' # Pioneer Computers (www.pioneercomputers.com.au) Pioneer Computers: regex: 'PIONEER COMPUTERS (DreamBook)' device: 'tablet' model: '$1' # Pioneer Pioneer: regex: 'Pioneer|.*; R1 Build|(?:dvr700pi|XDP-300R|F9212[AB]|SDA-835TAB|SDA-80?TAB)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '.*; R1 Build' model: 'R1' device: 'tablet' - regex: 'dvr700pi' model: 'DVR700PI 7.0"' device: 'tablet' - regex: '(XDP-300R)' device: 'portable media player' model: '$1' - regex: '(F9212[AB]|SDA-835TAB|SDA-80?TAB)' device: 'car browser' model: '$1' - regex: 'BDP-160' device: 'tv' model: 'BDP-160' - regex: 'Pioneer, ?([a-z0-9_ \-]+), ?(?:wired|wireless)' device: 'tv' model: '$1' - regex: 'Pioneer[ _-]?([^;/]+) Build' model: '$1' - regex: 'Pioneer[ _-]?([^;/)]+)(?:[;/)]|$)' model: '$1' # Pixus Pixus: regex: 'Pixus|(hiPower|Touch_7_3G|Ride[_ ][34]G|Play[ _]Three[ _]v(?:[234]\.0|3\.1))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Ride[_ ]([34])G' model: 'Ride $1G' - regex: 'Play[ _]Three[ _]v([234]\.0|3.1)' model: 'Play Three v$1' - regex: 'Play Two' model: 'Play Two' - regex: 'Play Five' model: 'Play Five' - regex: 'hiPower' model: 'hiPower' - regex: 'Pixus[ _]Sprint' model: 'Sprint' - regex: 'Pixus[ _]Drive' model: 'Drive' - regex: 'Pixus[ _]Wing' model: 'Wing' - regex: 'Pixus[ _]Line' model: 'Line' - regex: 'Pixus[ _]Titan' model: 'Titan' - regex: 'Pixus[ _]Folio' model: 'Folio' - regex: '(?:Pixus_)?Touch[ _]7[ _]3G' model: 'Touch 7 3G' - regex: 'Pixus[ _]hiMax' model: 'HiMax 9.6"' - regex: 'Pixus[ _]Blast' model: 'Blast 10.1"' - regex: 'Pixus[ _]Joker' model: 'Joker 10.1"' - regex: 'Pixus Blaze 10\.1 3G' model: 'Blaze 10.1" 3G' - regex: 'Pixus[_ ]Hammer' model: 'Hammer' - regex: 'Raze' model: 'Raze' device: 'smartphone' - regex: 'Pixus_Jet' model: 'Jet' device: 'smartphone' - regex: 'pixus hit 2' model: 'Hit 2' device: 'smartphone' # PULID PULID: regex: 'PULID[ _]|F1[01357]\+? Build' device: 'smartphone' models: - regex: 'F(1[01357]\+?) Build' model: 'F$1' - regex: 'PULID[ _]([^;/]+) Build' model: '$1' - regex: 'PULID[ _]([a-z0-9_]+)\)' model: '$1' # Purism (https://puri.sm/) Purism: regex: 'Librem 5' device: 'smartphone' models: - regex: 'Librem 5' model: 'Librem 5' # Point Mobile (https://pointmobile.com/) Point Mobile: regex: 'PM80' device: 'peripheral' models: - regex: 'PM80' model: 'PM80' # Point of View (pointofview.eu) Point of View: regex: 'POV_TV|POV_TAB|MOB-5045|TAB-P10232-3G' device: 'tablet' models: - regex: 'POV_TV-HDMI-KB-01' model: 'HDMI Smart TV Dongle' device: 'tv' - regex: 'POV_TV-HDMI-200BT' model: 'Mini PC HDMI Dongle' device: 'tv' - regex: 'MOB-5045' model: 'Mobii Phone 5045' device: 'smartphone' - regex: 'POV_TAB-P506' model: 'ONYX 506 Navi' - regex: 'POV_TAB[_-]NAVI7[_-]3G[_-]M' model: 'ONYX 507 Navi' - regex: 'POV_TAB-P527S' model: 'ONYX 527S' - regex: 'POV_TAB-P547' model: 'ONYX 547 Navi' - regex: 'POV_TAB-PROTAB26' model: 'ProTab 26 XXL IPS' - regex: 'POV_TAB-PROTAB25XXL8?' model: 'ProTab 25XXL' - regex: 'POV_TAB-PL1015' model: 'Mobii 1015' - regex: 'TAB-P10232-3G' model: 'Tab P10232 3G' - regex: 'POV_TAB-PROTAB([a-z0-9]+)' model: 'ProTab $1' - regex: 'POV_TAB-P?([a-z0-9]+)' model: 'Mobii $1' # Pomp Pomp: regex: 'POMP[ _-]' device: 'smartphone' models: - regex: 'POMP[ _-]([^;/]+) Build' model: '$1' - regex: 'POMP[ _-]([^;/)]+)(?:[;/)]|$)' model: '$1' # PPTV PPTV: regex: '(KING 7S?)' device: 'smartphone' model: '$1' # ProScan ProScan: regex: 'PLT([^;/]+) Build|PLT(?:777[045]|9774|107[47]|9999)G(?:[);/ ]|$)' device: 'tablet' models: - regex: 'PLT([^;/]+) Build' model: 'PLT$1' - regex: 'PLT(777[045]|9774|107[47]|9999)G' model: 'PLT$1G' # RCA Tablets (RCA) (https://www.rca.com/) RCA Tablets: regex: 'RCA-OEM[;,]|RC[AT]([^;/]+)(?: Build|[;)]|$)|RCA RLTP4028|RLTP5567|RLTP5573|RC7T3G21|DRP(?:29101|2091)' device: 'smartphone' models: - regex: 'RCARENO5011619' model: 'Reno' - regex: '(?:RCA[ _])?(RLTP4028|RLTP5567|RLTP5573)' model: '$1' - regex: 'RCT6513W87' device: 'tablet' model: 'Galileo Pro 11.5"' - regex: 'RCT6873W42M|RCT6876Q22N?|RCT6873W42BMF9E' device: 'tablet' model: 'Voyager 7.0"' - regex: 'RCT6973W43(?:MD)?' device: 'tablet' model: 'Voyager III 7.0"' - regex: 'RCT6773W22B' device: 'tablet' model: 'Voyager II 7.0"' - regex: 'RCT6703W12|RCT6B06P23' device: 'tablet' model: 'Atlas 10.0"' - regex: 'RCT6203W46L' device: 'tablet' model: 'Pro 10 Edition II' - regex: 'RCT6A06P22' device: 'tablet' model: 'Endeavor 10.0" HD' - regex: 'RCT(?:6303W87(?:DK|M)|6K03W13)' device: 'tablet' model: 'Viking Pro 10.0"' - regex: 'RCT6603W47M7' device: 'tablet' model: 'Viking II 10.0"' - regex: 'RCT6613W23P' device: 'tablet' model: 'Delta Pro 11.6"' # tablet + dvd player - regex: '(DRP29101|DRP2091)' device: 'portable media player' model: '$1' # general detections - regex: 'RCT([^;/)]+)(?: Build|[;)])' device: 'tablet' model: 'RCT$1' - regex: 'RC(?!A)([^;/)]+)(?: Build|[;)])' device: 'tablet' model: 'RC$1' # RCT or Rectron (https://www.rctzone.co.za/) RCT: regex: '(MX101M[23])(?:[);/ ]|$)' device: 'tablet' model: '$1' # Readboy Readboy: regex: 'Readboy[ _-]' device: 'tablet' models: - regex: 'Readboy[ _-]C18Max' model: 'C18 Max' - regex: 'Readboy[ _-]C(\d+)Pro' model: 'C$1 Pro' - regex: 'Readboy[ _-]([^;/)]+)(?: Build|[;)])' model: '$1' # Roku Roku: regex: 'Roku(?:OS|4640X)?/(?:DVP|Pluto)?-?|QSP; Roku' device: 'tv' models: - regex: '3930X' model: 'Express' - regex: 'Roku4640X' model: 'Ultra' - regex: '' model: 'Digital Video Player' # Rokit or ROKiT (rokitphones.com) Rokit: regex: '(?:IO (?:Pro|3D|Light)|Orb S)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Orb S' model: 'Orb S' - regex: 'IO Pro' model: 'IO Pro' - regex: 'IO Light' model: 'IO Light' - regex: 'IO 3D' model: 'IO 3D' # Rover Rover: regex: 'Rover ([0-9]+)' device: 'feature phone' model: '$1' # RoverPad or Rover Pad RoverPad: regex: '(?:Rover[ ]?Pad|RoverPhone|(?:Air|Art|Sky) 7\.85 3G|Pro_Q(?:8|10)_LTE)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'RoverPhone(?:[);/ ]|$)' model: '' device: 'smartphone' - regex: 'Pro_Q(8|10)_LTE(?:[);/ ]|$)' model: 'Pro Q$1 LTE' - regex: '(?:Rover[ ]?Pad)?sky 7\.85(?: 3G)?(?:[);/ ]|$)' model: 'Sky 7.85" 3G' - regex: '(Air|Art) 7\.85 3G' model: '$1 7.85" 3G' - regex: 'RoverPad (10\.4|Air S70|9\.7 3G|Sky 9\.7|3W A73|3W7|3WT70|3W9\.4)(?:[);/ ]|$)' model: '$1' # Roadrover Roadrover: regex: 'Roadrover ChangAn S' device: 'tablet' model: 'ChangAn S' # RT Project RT Project: regex: '(?:Shock ?(?:5|5\.5)|popper2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Shock ?(5\.5|5)' model: 'Shock $1' - regex: 'popper2' model: 'Popper 2' # Saba Saba: regex: 'Saba ' device: 'tv' models: - regex: 'SMART TV(?:[);/ ]|$)' model: 'Smart TV' # S-TELL S-TELL: regex: 'S-TELL|(?:M630|M55[78]|P760|P750i|M555i|M580|M457|M655)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(P760|P750i)(?:[);/ ]|$)' model: '$1' - regex: '(?:S-TELL[ _])?M([0-9]{3}|555i|M580|M655)(?:[);/ ]|$)' model: 'M$1' # Safaricom Safaricom: regex: 'Safaricom|NEON[_ ]RAY|(?:NEON_NOVA|NEON PLUS|NEON PLUS|NEON LITE|Neon Storm|SFCSTB2LITE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ET Kimem(?:[);/ ]|$)' model: 'ET Kimem' - regex: 'Safaricom_Kimem_Kerefa_4G(?:[);/ ]|$)' model: 'Kimem Kerefa 4G' - regex: 'NEON_RAY_PRO' model: 'Neon Ray Pro' - regex: 'Neon Ray Ultra' model: 'Neon Ray Ultra' - regex: 'NEON_RAY' model: 'Neon Ray' - regex: 'NEON RAY 2' model: 'Neon Ray 2' - regex: 'NEON_NOVA' model: 'Neon Nova' - regex: 'NEON PLUS' model: 'Neon Plus' - regex: 'NEON LITE' model: 'Neon Lite' - regex: 'Neon Storm' model: 'Neon Storm' - regex: 'SFCSTB2LITE' device: 'tv' model: 'STB2 Lite' # Santin Santin: regex: 'SANTIN|(?:BiTBiZ_V58|ACTOMA ACE|DREAMPLUS03A|Candy U7 Pro|GAAMII|RS635H|HY-002 Plus|HongQi HQ1|G101-OG|HEXIN-H2-A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'BiTBiZ_V58(?:[);/ ]|$)' model: 'BiTBiZ V58' - regex: 'GAAMII G1(?:[);/ ]|$)' model: 'GAAMII G1' - regex: 'GAAMII(?:[);/ ]|$)' model: 'GAAMII' - regex: 'HEXIN-H2-A(?:[);/ ]|$)' model: 'Hexin H2-A' - regex: 'Candy U7 Pro(?:[);/ ]|$)' model: 'Candy U7 Pro' - regex: 'DREAMPLUS03A(?:[);/ ]|$)' model: 'Dream Plus 03A' - regex: 'GreenOrange(?:[);/ ]|$)' model: 'Green Orange' - regex: 'CLASSONE(?:[);/ ]|$)' model: 'Class One' - regex: 'halove(?:[);/ ]|$)' model: 'Halove' - regex: 'ACTOMA ACE(?:[);/ ]|$)' model: 'Actoma Ace' - regex: 'monica(?:[);/ ]|$)' model: 'Monica' - regex: 'HongQi HQ1(?:[);/ ]|$)' model: 'HongQi HQ1' - regex: 'POWER(?:[);/ ]|$)' model: 'Power' - regex: 'GALAZ(?:[);/ ]|$)' model: 'Galaz' - regex: 'NEWDUN(?:[);/ ]|$)' model: 'Newdun' - regex: 'HEXIN[_ -](H2-A|H3)(?:[);/ ]|$)' model: 'Hexin $1' - regex: 'HY-002 Plus(?:[);/ ]|$)' model: 'HY-002 Plus' - regex: 'G101-OG(?:[);/ ]|$)' device: 'tablet' model: 'G101-OG' - regex: 'SANTIN[ _][#]?(Dante|Candy U7|Armor(?: 2)?|YSL-Y7|ANT\.W|N[13]|JS|S6|V9(?:[ _]Pro)?|Life Shine|ovvi|D|11 XS Max|SHUGUO)(?:[);/ ]|$)' model: '$1' - regex: '(RS635H)(?:[);/ ]|$)' model: '$1' - regex: 'Santin[ _#]?([^;/)]+)(?: Build|[;)])' model: '$1' # Siemens Siemens: regex: 'SIEMENS|SIE-|portalmmm/2\.0 SI|(?:S55(?! Nova)|SL45i)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:SIE-)?(S[56]5|S40|C45|ME45|SLIK)(?:[);/ ]|$)' device: 'feature phone' model: '$1' - regex: 'SIEMENS[ \-]([a-z0-9]+)' model: '$1' - regex: 'SIE(?:MENS )?[\-]?([a-z0-9]+)' model: '$1' - regex: '(?:SIE-)?(SL45i)' model: '$1' - regex: 'portalmmm/2\.0 (SI[a-z0-9]+)' model: '$1' # Soundmax Soundmax: regex: '((?:SM-LED32M(?:1[014]|0[49])S)|SM-QLED50T2SU|SM-LED(?:24M0[69]S|43M02S|40M04S|(?:5[05]|43)M0[12]SU|32M13S|65M0[12]SU))(?:_-Ver01)?(?:[);/ ]|$)' device: 'tv' model: '$1' # Samsung Samsung: regex: 'SAMSUNG(?! ?(?:Browser|Redmi|TicWatch))|FamilyHub|Maple (?!III)|Maple2012|SMART-TV.+Tizen.+SamsungBrowser|Gear Live|(?:SEC_)?SC-(?:001|01[EFGHKLM]|02[CGHJKLMF]|03[EFJKL]|04[EFJLG]|05[GL]|(?:4[12]|5[1-4])A|5[1-5]B|5[1-5]C|56C|5[23]D)|N[57]100|N5110|N9100|S(?:CH|GH|PH|EC|AM|HV|HW|M)-|GT-|(?<!GOG|GOG )Galaxy|(?:portalmmm|o2imode)/2\.0 [SZ]|sam[rua]|beyond[02]q?|crownq?lte|vollo Vi86(?:[);/ ]|$)|(?:lineage_|aokp_|rr_)?(?:serranoltexx|j5y17lte|Santos103G|fortuna3g|Verizon-SM)|(?:OTV-)?SMT-E5015|ISW11SC|40[34]SC|SC(?:G1[6789]|G2[0-7]|V3[1-9]|V4[0-9]|51Aa|-56B|T21|G0[1-9]|G1[0-5]|L2[234])(?:-[uj])?(?:[);/ ]|$)' device: 'smartphone' models: # explicit tv models - regex: 'GT-B9150' device: 'tv' model: 'Home Sync' - regex: '(?:OTV-)?SMT-E5015' device: 'tv' model: 'SMT-E5015' # set top box - regex: 'Maple ' device: 'tv' model: '' - regex: 'Samsung, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '$1' - regex: 'Maple2012' device: 'tv' model: 'Smart TV (2012)' # explicit tablet models - regex: '(?:SAMSUNG-)?(?:GT-)?N5100' device: 'tablet' model: 'Galaxy Note 8.0"' - regex: '(?:SAMSUNG-)?SM-T677(?:[ATV]|N[KL])?(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy View 18.4" LTE' - regex: '(?:SAMSUNG-)?SM-T670(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy View 18.4" WiFi' - regex: '(?:SAMSUNG-)?(?:GT-)?N5110' device: 'tablet' model: 'Galaxy Note 8.0" WiFi' - regex: '(?:SAMSUNG-)?GT-N5120' device: 'tablet' model: 'Galaxy Note 8.0" LTE' - regex: '(?:SAMSUNG-)?(?:GT|SM)-N8000' device: 'tablet' model: 'Galaxy Note 10.1"' - regex: '(?:SAMSUNG-)?GT-N8010' device: 'tablet' model: 'Galaxy Note 10.1" WiFi' - regex: '(?:SAMSUNG-)?GT-N8020' device: 'tablet' model: 'Galaxy Note 10.1" LTE' - regex: '(?:SAMSUNG-)?GT-P1000M?|SCH-I800' device: 'tablet' model: 'Galaxy Tab' - regex: '(?:SAMSUNG-)?GT-P3100B?' device: 'tablet' model: 'Galaxy Tab 2 7"' - regex: '(?:SAMSUNG-)?GT-P311[03]' device: 'tablet' model: 'Galaxy Tab 2 7" WiFi' - regex: '(?:SAMSUNG-)?GT-P5100|SCH-I915' device: 'tablet' model: 'Galaxy Tab 2 10.1"' - regex: '(?:SAMSUNG-)?GT-P511[03]' device: 'tablet' model: 'Galaxy Tab 2 10.1" WiFi' - regex: '(?:SAMSUNG-)?SM-T217T' device: 'tablet' model: 'Galaxy Tab 3 7.0" 4G' - regex: '(?:SAMSUNG-)?GT-P5200|Santos103G' device: 'tablet' model: 'Galaxy Tab 3 10.1"' - regex: '(?:SAMSUNG-)?GT-P5210' device: 'tablet' model: 'Galaxy Tab 3 10.1" WiFi' - regex: '(?:SAMSUNG-)?GT-P5220' device: 'tablet' model: 'Galaxy Tab 3 10.1" LTE' - regex: '(?:SAMSUNG-)?GT-P6200' device: 'tablet' model: 'Galaxy Tab 7" Plus' - regex: '(?:SAMSUNG-)?GT-P6201' device: 'tablet' model: 'Galaxy Tab 7" Plus N' - regex: '(?:SAMSUNG-)?GT-P6810' device: 'tablet' model: 'Galaxy Tab 7.7"' - regex: 'SC-01E' device: 'tablet' model: 'Galaxy Tab 7.7" Plus' - regex: '(?:SAMSUNG-)?GT-P7100' device: 'tablet' model: 'Galaxy Tab 10.1v' - regex: '(?:SAMSUNG-)?GT-P75[01]0' device: 'tablet' model: 'Galaxy Tab 10.1"' - regex: '(?:SAMSUNG-)?SM-T321' device: 'tablet' model: 'Galaxy Tab Pro 8.4" 3G' - regex: '(?:SAMSUNG-)?SM-T905' device: 'tablet' model: 'Galaxy Tab Pro 12.2" LTE' - regex: '(?:SAMSUNG-)?SM-P600' device: 'tablet' model: 'Galaxy Note 10.1" 2014 Edition WiFi' - regex: '(?:SAMSUNG-)?SM-P60[12]' device: 'tablet' model: 'Galaxy Note 10.1" 2014 Edition' - regex: '(?:SAMSUNG-)?SM-(?:P605|P607T)' device: 'tablet' model: 'Galaxy Note 10.1" 2014 Edition LTE' - regex: '(?:SAMSUNG-)?SM-P900' device: 'tablet' model: 'Galaxy NotePRO 12.2" WiFi' - regex: '(?:SAMSUNG-)?SM-P901' device: 'tablet' model: 'Galaxy NotePRO 12.2"' - regex: '(?:SAMSUNG-)?SM-P905' device: 'tablet' model: 'Galaxy NotePRO 12.2" LTE' - regex: '(?:SAMSUNG-)?SM-(?:P587|P588C)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab A 10.1" with S Pen (2016) LTE' - regex: '(?:SAMSUNG-)?SM-P583(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab A 10.1" with S Pen (2016) WiFi' - regex: '(?:SAMSUNG-)?SM-P205(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab A 8.0" with S Pen (2019) LTE' - regex: '(?:SAMSUNG-)?SM-P200(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab A 8.0" with S Pen (2019) WiFi' - regex: '(?:SAMSUNG-)?SM-T307U(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab A 8.4" (2020) LTE' - regex: '(?:SAMSUNG-)?SM-T297' device: 'tablet' model: 'Galaxy Tab A 8.0" (2019) LTE' - regex: '(?:SAMSUNG-)?SM-(?:T505[CN]?|T507)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab A7 10.4" (2020) LTE' - regex: '(?:SAMSUNG-)?SM-T50[03](?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab A7 10.4" (2020) WiFi' - regex: '(?:SAMSUNG-)?SM-T22[57]' device: 'tablet' model: 'Galaxy Tab A7 Lite 8.7" (2021) LTE' - regex: '(?:SAMSUNG-)?SM-T220(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab A7 Lite 8.7" (2021) WiFi' - regex: '(?:SAMSUNG-)?SM-X216' device: 'tablet' model: 'Galaxy Tab A9+ 11.0" 5G' - regex: '(?:SAMSUNG-)?SM-X218' device: 'tablet' model: 'Galaxy Tab A9+ 11.0" 5G' - regex: '(?:SAMSUNG-)?SM-X210' device: 'tablet' model: 'Galaxy Tab A9+ 11.0" WiFi' - regex: '(?:SAMSUNG-)?SM-X115' device: 'tablet' model: 'Galaxy Tab A9 8.7"' - regex: '(?:SAMSUNG-)?SM-X110' device: 'tablet' model: 'Galaxy Tab A9 8.7" WiFi' - regex: '(?:SAMSUNG-)?SM-T11[03]' device: 'tablet' model: 'Galaxy Tab 3 Lite 7.0" WiFi' - regex: '(?:SAMSUNG-)?SM-X205' device: 'tablet' model: 'Galaxy Tab A8 10.5" LTE' - regex: '(?:SAMSUNG-)?SM-X200' device: 'tablet' model: 'Galaxy Tab A8 10.5" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T830[X]?|T837R4)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S4 10.5" WiFi' - regex: '(?:SAMSUNG-)?SM-T837P(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S4 10.5" with S Pen' - regex: '(?:SAMSUNG-)?SM-(?:T835[CN]?|T837[VTA]?)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S4 10.5"' - regex: '(?:SAMSUNG-)?SM-(?:T725[CN]?|T720X|T727(?:R4|[AUV])?)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S5e 10.5"' - regex: '(?:SAMSUNG-)?SM-T720(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S5e 10.5" WiFi' - regex: '(?:SAMSUNG-)?SM-T865N?(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S6 10.5"' - regex: '(?:SAMSUNG-)?SM-T867(?:R4|[VU])?(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S6 10.5" LTE' - regex: '(?:SAMSUNG-)?SM-(?:P615[CN]?|P61[379])(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S6 Lite 10.4"' - regex: '(?:SAMSUNG-)?SM-(?:P610X?|P620)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S6 Lite 10.4" WiFi' - regex: '(?:SAMSUNG-)?SM-T860X?(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S6 10.5" WiFi' - regex: '(?:SAMSUNG-)?SM-T866N(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S6 10.5" 5G' - regex: '(?:SAMSUNG-)?SM-X700' device: 'tablet' model: 'Galaxy Tab S8 11.0" WiFi' - regex: '(?:SAMSUNG-)?SM-X900' device: 'tablet' model: 'Galaxy Tab S8 Ultra 14.6" WiFi' - regex: '(?:SAMSUNG-)?SM-X910(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S9 Ultra 14.6" WiFi' - regex: '(?:SAMSUNG-)?SM-X916[CB]' device: 'tablet' model: 'Galaxy Tab S9 Ultra 14.6" 5G' - regex: '(?:SAMSUNG-)?SM-X810' device: 'tablet' model: 'Galaxy Tab S9+ 12.4"' - regex: '(?:SAMSUNG-)?(?:SM-X818U|SM-X816[BN])' device: 'tablet' model: 'Galaxy Tab S9+ 12.4" 5G' - regex: '(?:SAMSUNG-)?SM-X716' device: 'tablet' model: 'Galaxy Tab S9 12.4" 5G' - regex: '(?:SAMSUNG-)?SM-X616' device: 'tablet' model: 'Galaxy Tab S9 FE+ 12.4" 5G' - regex: '(?:SAMSUNG-)?SM-X(?:518U|516)' device: 'tablet' model: 'Galaxy Tab S9 FE 10.9" 5G' - regex: '(?:SAMSUNG-)?SM-X610' device: 'tablet' model: 'Galaxy Tab S9 FE+ 12.4" WiFi' - regex: '(?:SAMSUNG-)?SM-T111' device: 'tablet' model: 'Galaxy Tab 3 Lite 7.0"' - regex: '(?:SAMSUNG-)?SM-T116(?:BU|NU|NY)?' device: 'tablet' model: 'Galaxy Tab 3 V' - regex: '(?:SAMSUNG-)?SM-(?:T2105|T212)' device: 'tablet' model: 'Galaxy Tab 3 7.0" Kids' - regex: '(?:SAMSUNG-)?SM-T210R?' device: 'tablet' model: 'Galaxy Tab 3 7.0" WiFi' - regex: '(?:SAMSUNG-)?SM-T21(?:[15]|7[AS])' device: 'tablet' model: 'Galaxy Tab 3 7.0"' - regex: '(?:SAMSUNG-)?SM-T230(?:NU)?' device: 'tablet' model: 'Galaxy Tab 4 7.0" WiFi' - regex: '(?:SAMSUNG-)?SM-T23[15]|403SC|SM-T321' device: 'tablet' model: 'Galaxy Tab 4 7.0" 3G' - regex: '(?:SAMSUNG-)?SM-(?:T239|T237[PV])' device: 'tablet' model: 'Galaxy Tab 4 7.0" LTE' - regex: '(?:SAMSUNG-)?SM-T232(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab 4 7.0" WiFi + 3G' - regex: '(?:SAMSUNG-)?SM-T310' device: 'tablet' model: 'Galaxy Tab 3 8.0" WiFi' - regex: '(?:SAMSUNG-)?SM-T312' device: 'tablet' model: 'Galaxy Tab 3 8.0" 3G' - regex: '(?:SAMSUNG-)?SM-T311' device: 'tablet' model: 'Galaxy Tab 3 8.0"' - regex: '(?:SAMSUNG-)?SM-T315' device: 'tablet' model: 'Galaxy Tab 3 8.0" LTE' - regex: '(?:SAMSUNG-)?SM-T330' device: 'tablet' model: 'Galaxy Tab 4 8.0" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T33[215]|T337[AVT])' device: 'tablet' model: 'Galaxy Tab 4 8.0" LTE' - regex: '(?:SAMSUNG-)?SM-T520' device: 'tablet' model: 'Galaxy TabPRO 10.1" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T53[15]|T537[AV])' device: 'tablet' model: 'Galaxy Tab 4 10.1" LTE' - regex: '(?:SAMSUNG-)?SM-T536(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab 4 10.1" Advanced' - regex: '(?:SAMSUNG-)?SM-T532(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab 4 10.1"' - regex: '(?:SAMSUNG-)?SM-T320' device: 'tablet' model: 'Galaxy TabPRO 8.4" WiFi' - regex: '(?:SAMSUNG-)?SM-T325' device: 'tablet' model: 'Galaxy TabPRO 8.4" LTE' - regex: '(?:SAMSUNG-)?SM-T525' device: 'tablet' model: 'Galaxy TabPRO 10.1" LTE' - regex: '(?:SAMSUNG-)?SM-(?:T530(?:NU)?|T533)' device: 'tablet' model: 'Galaxy Tab 4 10.1" WiFi' - regex: '(?:SAMSUNG-)?SM-T700' device: 'tablet' model: 'Galaxy Tab S 8.4" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T705|T707[AV])' device: 'tablet' model: 'Galaxy Tab S 8.4" LTE' - regex: '(?:SAMSUNG-)?SM-T800' device: 'tablet' model: 'Galaxy Tab S 10.5" WiFi' - regex: '(?:SAMSUNG-)?(?:SM-(?:T805|T807[PV]?)|SCT21)' device: 'tablet' model: 'Galaxy Tab S 10.5" LTE' - regex: '(?:SAMSUNG-)?SM-(?:T813|T810)' device: 'tablet' model: 'Galaxy Tab S2 9.7" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T719[CY]?|T715(?:N0|[CY])?)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S2 8.0" LTE' - regex: '(?:SAMSUNG-)?SM-(?:T71[03]|T710X)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S2 8.0" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T815|T817[ATW]?|T818[ATVW]?|T819[Y]?)' device: 'tablet' model: 'Galaxy Tab S2 9.7" LTE' - regex: '(?:SAMSUNG-)?SM-T820' device: 'tablet' model: 'Galaxy Tab S3 9.7" WiFi' - regex: '(?:SAMSUNG-)?SM-T82[57]' device: 'tablet' model: 'Galaxy Tab S3 9.7" LTE' - regex: '(?:SAMSUNG-)?SM-T975N?(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S7+ 12.4" LTE' - regex: '(?:SAMSUNG-)?SM-T970(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S7+ 12.4" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T976[BN]|T978U)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S7+ 12.4" 5G' - regex: '(?:SAMSUNG-)?SM-T870(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S7 11.0" WiFi' - regex: '(?:SAMSUNG-)?SM-T875N?(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S7 11.0" LTE' - regex: '(?:SAMSUNG-)?SM-T878U(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab S7 11.0" 5G' - regex: '(?:SAMSUNG-)?SM-T73[57]' device: 'tablet' model: 'Galaxy Tab S7 FE 12.4" LTE' - regex: '(?:SAMSUNG-)?(?:SM-T736|SM-T738[UTV])' device: 'tablet' model: 'Galaxy Tab S7 FE 12.4" 5G' - regex: '(?:SAMSUNG-)?SM-T733' device: 'tablet' model: 'Galaxy Tab S7 FE 12.4" WiFi' - regex: '(?:SAMSUNG-)?SM-X906' device: 'tablet' model: 'Galaxy Tab S8 Ultra 14.6" 5G' - regex: '(?:SAMSUNG-)?SM-X80[68]' device: 'tablet' model: 'Galaxy Tab S8+ 12.4" 5G' - regex: '(?:SAMSUNG-)?SM-X800' device: 'tablet' model: 'Galaxy Tab S8+ 12.4" WiFi' - regex: '(?:SAMSUNG-)?SM-X706' device: 'tablet' model: 'Galaxy Tab S8 11.0" 5G' - regex: '(?:SAMSUNG-)?SM-T900' device: 'tablet' model: 'Galaxy TabPRO 12.2" WiFi' - regex: '(?:SAMSUNG-)?SM-T280' device: 'tablet' model: 'Galaxy Tab A 7.0" WiFi' - regex: '(?:SAMSUNG-)?SM-T285' device: 'tablet' model: 'Galaxy Tab A 7.0" LTE' - regex: '(?:SAMSUNG-)?SM-T3[58]0' device: 'tablet' model: 'Galaxy Tab A 8.0" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:P350|T3[58]5|T357[TW])' device: 'tablet' model: 'Galaxy Tab A 8.0" LTE' - regex: '(?:SAMSUNG-)?SM-T387(?:AA|R4|VK|[TPVW])' device: 'tablet' model: 'Galaxy Tab A 8.0" (2018) LTE' - regex: '(?:SAMSUNG-)?SM-T295' device: 'tablet' model: 'Galaxy Tab A 8.0" (2019) LTE' - regex: '(?:SAMSUNG-)?SM-T290' device: 'tablet' model: 'Galaxy Tab A 8.0" (2019) WiFi' - regex: '(?:SAMSUNG-)?SM-(?:P355([MY])?|T550)' device: 'tablet' model: 'Galaxy Tab A 9.7" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:P550|P555(M)?|T555)' device: 'tablet' model: 'Galaxy Tab A 9.7" LTE' - regex: '(?:SAMSUNG-)?SM-(?:T58[05]|P58[05])' device: 'tablet' model: 'Galaxy Tab A 10.1" (2016) WiFi' - regex: '(?:SAMSUNG-)?SM-T587[P]?' device: 'tablet' model: 'Galaxy Tab A 10.1" (2016) LTE' - regex: '(?:SAMSUNG-)?SM-T59[057]' device: 'tablet' model: 'Galaxy Tab A 10.5" (2018) LTE' - regex: '(?:SAMSUNG-)?SM-T51(?:7P|[057])' device: 'tablet' model: 'Galaxy Tab A 10.1" (2019)' - regex: '(?:SAMSUNG-)?SM-(?:T37[57]|T378[KLSV])' device: 'tablet' model: 'Galaxy Tab E 8.0"' - regex: '(?:SAMSUNG-)?SM-T56[02]' device: 'tablet' model: 'Galaxy Tab E 9.6" WiFi' - regex: '(?:SAMSUNG-)?SM-T561' device: 'tablet' model: 'Galaxy Tab E 9.6" 3G' - regex: '(?:SAMSUNG-)?SM-T567V' device: 'tablet' model: 'Galaxy Tab E 9.6" 4G' - regex: '(?:SAMSUNG-)?SM-X306' device: 'tablet' model: 'Galaxy Tab Active 5 8.0" 5G' - regex: '(?:SAMSUNG-)?SM-T365(?:F0|[MY])?(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab Active 8.0"' - regex: '(?:SAMSUNG-)?SM-T360(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab Active 8.0" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T395[CN]?|T397U)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab Active 2 8.0"' - regex: '(?:SAMSUNG-)?SM-T390(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab Active 2 8.0" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T575N?|T577U?)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab Active 3 8.0"' - regex: '(?:SAMSUNG-)?SM-T570(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab Active 3 8.0" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:T545|T547U?)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab Active Pro 10.1"' - regex: '(?:SAMSUNG-)?SM-T540(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Tab Active Pro 10.1" WiFi' - regex: '(?:SAMSUNG-)?SM-(?:P902|P907A)(?:[);/ ]|$)' device: 'tablet' model: 'Galaxy Note Pro 12.2"' - regex: '(?:SAMSUNG[- ])?SM-T2519' model: 'Galaxy Tab Q' device: 'tablet' # explicit wearable models - regex: 'SM-R820' device: 'wearable' model: 'Galaxy Watch Active 2 44mm' - regex: 'SM-V7000' device: 'wearable' model: 'Galaxy Gear' - regex: 'SM-R3500' device: 'wearable' model: 'Galaxy Gear Fit' - regex: 'SM-R3800' device: 'wearable' model: 'Galaxy Gear 2' - regex: 'SSM-R3810' device: 'wearable' model: 'Galaxy Gear 2 Neo' - regex: 'SM-R825' device: 'wearable' model: 'Galaxy Watch Active 2 44mm LTE' - regex: 'SM-R830' device: 'wearable' model: 'Galaxy Watch Active 2 40mm' - regex: 'SM-R835' device: 'wearable' model: 'Galaxy Watch Active 2 40mm LTE' - regex: 'SM-R800' device: 'wearable' model: 'Galaxy Watch 46mm' - regex: 'SM-R875' device: 'wearable' model: 'Galaxy Watch 4 44mm' - regex: 'SM-R8[76]0' device: 'wearable' model: 'Galaxy Watch 4 40mm' - regex: 'SM-R90[05]' device: 'wearable' model: 'Galaxy Watch 5 40mm' - regex: 'SM-R91[05]' device: 'wearable' model: 'Galaxy Watch 5 44mm' - regex: 'SM-R925' device: 'wearable' model: 'Galaxy Watch 5 Pro 50mm' - regex: 'SM-R920' device: 'wearable' model: 'Galaxy Watch 5 Pro 45mm' - regex: 'SM-R805' device: 'wearable' model: 'Galaxy Watch 46mm LTE' - regex: 'SM-R895' device: 'wearable' model: 'Galaxy Watch 4 46mm' - regex: 'SM-R810' device: 'wearable' model: 'Galaxy Watch 42mm' - regex: 'SM-R815' device: 'wearable' model: 'Galaxy Watch 42mm LTE' - regex: 'SM-R885' device: 'wearable' model: 'Galaxy Watch 4 Classic 42mm' - regex: 'SM-R500' device: 'wearable' model: 'Galaxy Watch Active' - regex: 'SM-R600' device: 'wearable' model: 'Galaxy Gear Sport 43mm' - regex: 'SM-R760' device: 'wearable' model: 'Galaxy Gear S3 Frontier 46mm' - regex: 'SM-R720' device: 'wearable' model: 'Galaxy Gear S2 43mm' - regex: 'SM-R730' device: 'wearable' model: 'Galaxy Gear S2 44mm' - regex: 'SM-R750' device: 'wearable' model: 'Gear S 40mm' - regex: 'SM-R732' device: 'wearable' model: 'Gear S2 42mm' - regex: 'SM-R765' device: 'wearable' model: 'Galaxy Gear S3 Frontier 33mm' - regex: 'SM-R770' device: 'wearable' model: 'Galaxy Gear S3 Classic 41mm' - regex: 'SM-R845' device: 'wearable' model: 'Galaxy Watch 3 45mm LTE' - regex: 'SM-R840' device: 'wearable' model: 'Galaxy Watch 3 45mm' - regex: 'SM-R850' device: 'wearable' model: 'Galaxy Watch 3 41mm' - regex: 'SM-R855' device: 'wearable' model: 'Galaxy Watch 3 41mm 4G' - regex: 'Gear Live' device: 'wearable' model: 'Gear Live' # smart fridge models - regex: 'Family ?Hub' device: 'peripheral' model: 'Family Hub' # explicit smartphone models - regex: '(?:SAMSUNG-)?SM-A245' model: 'Galaxy A24' - regex: '(?:SAMSUNG-)?SM-A256' model: 'Galaxy A25 5G' - regex: '(?:SAMSUNG-)?SM-G850(?:8S|[AFKLMSWXY])' model: 'Galaxy Alpha' - regex: '(?:SAMSUNG-)?GT-B5330' model: 'Galaxy Chat' - regex: '(?:SAMSUNG-)?SM-A605K' model: 'Galaxy Jean' - regex: '(?:SAMSUNG-)?SM-A202K' model: 'Galaxy Jean 2' - regex: '(?:SAMSUNG-)?GT-B5510' model: 'Galaxy Y Pro' - regex: '(?:SAMSUNG-)?GT-B5512' model: 'Galaxy Y Pro Duos' - regex: '(?:SAMSUNG-)?GT-B7510' model: 'Galaxy Pro' - regex: '(?:SAMSUNG-)?GT-I5700' model: 'Galaxy Spica' - regex: '(?:SAMSUNG-)?GT-I5801' model: 'Galaxy Apollo' - regex: '(?:SAMSUNG-)?GT-I5800' model: 'Galaxy 3' - regex: '(?:SAMSUNG-)?GT-I8000' model: 'Omnia II' - regex: '(?:SAMSUNG-)?GT-S7530' model: 'Omnia M' - regex: '(?:SAMSUNG-)?GT-I8350' model: 'Omnia W' - regex: '(?:SAMSUNG-)?OMNIA7' model: 'Omnia 7' - regex: '(?:SAMSUNG-)?SGH-i677' model: 'Focus Flash' - regex: '(?:SAMSUNG-)?SGH-i917' model: 'Focus' - regex: '(?:SAMSUNG-)?SGH-i937' model: 'Focus S' - regex: '(?:SAMSUNG-)?(?:GT-I8150|SM-T255S)' model: 'Galaxy W' - regex: 'SC-01H(?:[);/ ]|$)' model: 'Galaxy Active Neo' - regex: '(?:SAMSUNG-)?GT-S5830' model: 'Galaxy Ace' - regex: '(?:SAMSUNG-)?SM-(?:G357(?:FZ|M)|G310HN)' model: 'Galaxy Ace Style' - regex: '(?:SAMSUNG-)?GT-I8160' model: 'Galaxy Ace 2' - regex: '(?:SAMSUNG-)?SM-G313(?:HY|M[LUY]|[FM])' model: 'Galaxy Ace 4' - regex: '(?:SAMSUNG-)?SM-G316M' model: 'Galaxy Ace 4 Duos' - regex: '(?:SAMSUNG-)?SM-G313[HU]' model: 'Galaxy Ace 4 Lite' - regex: '(?:SAMSUNG-)?SM-(?:G316U|G318(?:H|ML))(?:[);/ ]|$)' model: 'Galaxy Ace 4 Neo' - regex: '(?:SAMSUNG-)?SM-G9100(?:[);/ ]|$)' model: 'Galaxy S II' - regex: '(?:SAMSUNG-)?SHV-E120' model: 'Galaxy S II HD LTE' - regex: '(?:SAMSUNG-)?GT-I8190' model: 'Galaxy S III mini' - regex: '(?:SAMSUNG-)?GT-I8200' model: 'Galaxy S III mini Value Edition' - regex: '(?:SAMSUNG-)?GT-I826[02]' model: 'Galaxy Core' - regex: '(?:SAMSUNG-)?SHW-M570S' model: 'Galaxy Core Advance' - regex: '(?:SAMSUNG-)?SM-G386W' model: 'Galaxy Core LTE' - regex: '(?:SAMSUNG-)?SM-G3589W' model: 'Galaxy Core Lite LTE' - regex: '(?:SAMSUNG-)?GT-I8320' model: 'H1' - regex: '(?:SAMSUNG-)?GT-I85[23]0' model: 'Galaxy Beam' - regex: '(?:SAMSUNG-)?SM-G3858' model: 'Galaxy Beam 2' - regex: '(?:SAMSUNG-)?SM-G600S' model: 'Galaxy Wide' - regex: '(?:SAMSUNG-)?SM-E426S' model: 'Galaxy Wide 5' - regex: '(?:SAMSUNG-)?GT-I855[028]' model: 'Galaxy Win' - regex: '(?:SAMSUNG-)?SM-G381[28]' model: 'Galaxy Win Pro' - regex: '(?:SAMSUNG-)?GT-I8580' model: 'Galaxy Core Advance' - regex: '(?:SAMSUNG-)?GT-I8730' model: 'Galaxy Express' - regex: '(?:SAMSUNG-)?SM-(?:E500(?:HQ|YZ|[0FHM])|S978L)' model: 'Galaxy E5' - regex: '(?:SAMSUNG-)?SM-E700[09FHM]' model: 'Galaxy E7' - regex: '(?:SAMSUNG-)?GT-I90(?:00|08|18|88)' model: 'Galaxy S' - regex: '(?:SAMSUNG-)?GT-I9001' model: 'Galaxy S Plus' - regex: '(?:SAMSUNG-)?GT-I9003' model: 'Galaxy SL' - regex: '(?:SAMSUNG-)?GT-I9010' model: 'Galaxy S Giorgio Armani' - regex: '(?:SAMSUNG-)?GT-I9070' model: 'Galaxy S Advance' - regex: '(?:SAMSUNG-)?GT-I910[08]' model: 'Galaxy S II' - regex: '(?:SAMSUNG-)?ISW11SC' model: 'Galaxy S II WiMAX' - regex: '(?:SAMSUNG-)?GT-I9103' model: 'Galaxy R' - regex: '(?:SAMSUNG-)?GT-I9105' model: 'Galaxy S II Plus' - regex: '(?:SAMSUNG-)?SM-G730(?:W8|[AV])' model: 'Galaxy S3 mini' - regex: '(?:SAMSUNG-)?(?:GT-I919[025]|SCH-I435)|(?:lineage_|aokp_)?serranoltexx' model: 'Galaxy S4 mini' - regex: '(?:SAMSUNG-)?GT-I9515' model: 'Galaxy S4 Value Edition' - regex: '(?:SAMSUNG-)?GT-I9295' model: 'Galaxy S4 ACTIVE' - regex: '(?:SAMSUNG-)?(?:GT-I9300|SCH-(?:I535|I939|L710))|SC-03E' model: 'Galaxy S III' - regex: '(?:SAMSUNG-)?(?:GT-I9305|SCH-R530)' model: 'Galaxy S III LTE' - regex: '(?:SAMSUNG-)?(?:SM-S975L|GT-I950[025]|SC-04E|SCH-(?:I545|I959|R970)|SGH-M919N?|Galaxy-S4|SHV-E300K)' model: 'Galaxy S4' - regex: '(?:SAMSUNG-)?(?:GT-I9506)' model: 'Galaxy S4 with LTE+' - regex: '(?:SAMSUNG-)?SHV-E330' model: 'Galaxy S4 LTE' - regex: '(?:SAMSUNG-)?GT-S5280' model: 'Galaxy STAR' - regex: '(?:SAMSUNG-)?GT-S5301' model: 'Galaxy POCKET Plus' - regex: '(?:SAMSUNG-)?GT-S5310' model: 'Galaxy POCKET Neo' - regex: '(?:SAMSUNG-)?SM-G110[BHM]' model: 'Galaxy POCKET 2' - regex: '(?:SAMSUNG-)?GT-S5360' model: 'Galaxy Y Hello Kitty' - regex: '(?:SAMSUNG-)?GT-S6310' model: 'Galaxy Young' - regex: '(?:SAMSUNG-)?GT-S6312' model: 'Galaxy Young DUOS' - regex: '(?:SAMSUNG-)?SM-G130(?:BT|HN|[EHMU])' model: 'Galaxy Young 2' - regex: '(?:SAMSUNG-)?SM-G130BU' model: 'Galaxy Young 2 Pro' - regex: '(?:SAMSUNG-)?GT-S6790' model: 'Galaxy FAME Lite with NFC' - regex: '(?:SAMSUNG-)?GT-S6810' model: 'Galaxy FAME' - regex: '(?:SAMSUNG-)?GT-S6812' model: 'Galaxy FAME Duos' - regex: 'SC-04J(?:[);/ ]|$)' model: 'Galaxy Feel' - regex: 'SC-02L(?:[);/ ]|$)' model: 'Galaxy Feel 2' - regex: '(?:SAMSUNG-)?GT-S7275' model: 'Galaxy ACE 3' - regex: '(?:SAMSUNG-)?GT-S7500' model: 'Galaxy ACE Plus' - regex: '(?:SAMSUNG-)?(?:GT-S7560|SCH-I699)' model: 'Galaxy Trend' - regex: '(?:SAMSUNG-)?GT-S7390' model: 'Galaxy Trend Lite' - regex: '(?:SAMSUNG-)?GT-S7580' model: 'Galaxy Trend Plus' - regex: '(?:SAMSUNG-)?SCH-I739' model: 'Galaxy Trend 2' - regex: '(?:SAMSUNG-)?(?:GT-S7562|SCH-I919)' model: 'Galaxy S DUOS' - regex: '(?:SAMSUNG-)?GT-S7582' model: 'Galaxy S DUOS 2' - regex: '(?:SAMSUNG-)?SM-(?:G31[36]HU|G313HZ)' model: 'Galaxy S DUOS 3' - regex: '(?:SAMSUNG-)?GT-S7710' model: 'Galaxy Xcover 2' - regex: '(?:SAMSUNG-)?SM-G388F' model: 'Galaxy Xcover 3' - regex: '(?:SAMSUNG-)?SM-G389F' model: 'Galaxy Xcover 3 VE' - regex: '(?:SAMSUNG-)?SM-G390[FWY]' model: 'Galaxy Xcover 4' - regex: '(?:SAMSUNG-)?SM-G398FN' model: 'Galaxy Xcover 4s' - regex: '(?:SAMSUNG-)?SM-G715(?:FN|U1|[AUW])' model: 'Galaxy Xcover Pro' - regex: '(?:SAMSUNG-)?SM-G889(?:YB|[AFG])' model: 'Galaxy Xcover FieldPro' - regex: '(?:SAMSUNG-)?SM-G525[FN]' model: 'Galaxy Xcover 5' - regex: '(?:SAMSUNG-)?SM-G736' model: 'Galaxy Xcover 6 Pro' - regex: '(?:SAMSUNG-)?GT-S8500' model: 'Wave' - regex: '(?:SAMSUNG-)?GT-S8530' model: 'Wave II' - regex: '(?:SAMSUNG-)?GT-S8600' model: 'Wave 3' - regex: '(?:SAMSUNG-)?GT-S5380' model: 'Wave Y' - regex: '(?:SAMSUNG-)?GT-S7250' model: 'Wave M' - regex: '(?:SAMSUNG-)?GT-S5250' model: 'Wave 525' - regex: '(?:SAMSUNG-)?GT-S5330' model: 'Wave 533' - regex: '(?:SAMSUNG-)?GT-S5780' model: 'Wave 578' - regex: '(?:SAMSUNG-)?GT-S7230' model: 'Wave 723' - regex: '(?:SAMSUNG-)?SM-(?:C101|C105([AL])?)' model: 'Galaxy S4 zoom' - regex: '(?:SAMSUNG-)?SM-(?:C111(M)?|C115)' model: 'Galaxy K zoom' - regex: '(?:SAMSUNG-)?SM-G318[HM]Z' model: 'Galaxy V Plus' - regex: '(?:SAMSUNG-)?SM-G355(?:6D|[89HM])' model: 'Galaxy Core 2' - regex: '(?:SAMSUNG-)?SM-G350' model: 'Galaxy Core Plus' - regex: '(?:SAMSUNG-)?SM-(?:G360[FH]?|S820L)' model: 'Galaxy Core Prime' - regex: '(?:SAMSUNG-)?SM-G361[FH]?' model: 'Galaxy Core Prime Value Edition' - regex: '(?:SAMSUNG-)?SM-(?:G386F|G3518(?:_TD)?|G3586V)' model: 'Galaxy Core LTE' - regex: '(?:SAMSUNG-)?SM-G3568V' model: 'Galaxy Core Mini 4G' - regex: '(?:SAMSUNG-)?SM-G5108Q?' model: 'Galaxy Core Max' - regex: '(?:SAMSUNG-)?SM-G3815' model: 'Galaxy EXPRESS II' - regex: '(?:SAMSUNG-)?SM-G80[01]' model: 'Galaxy S5 mini' - regex: '(?:SAMSUNG-)?SM-G9009D' model: 'Galaxy S5 Dual-SIM' - regex: '(?:SAMSUNG-)?SM-G900FD' model: 'Galaxy S5 Duos' - regex: '(?:SAMSUNG-)?SM-(?:G900|G906[KLS]|S902L|S903VL|G490F)|Galaxy-S5|SCL23|SC-04F' model: 'Galaxy S5' - regex: '(?:SAMSUNG-)?SM-G901F' model: 'Galaxy S5 LTE+' - regex: '(?:SAMSUNG-)?SM-G870[AFW]|SC-02G' model: 'Galaxy S5 Active' - regex: '(?:SAMSUNG-)?SM-G903[FMW]' model: 'Galaxy S5 Neo' - regex: '(?:SAMSUNG-)?SM-G860P' model: 'Galaxy S5 K Sport' - regex: '(?:SAMSUNG-)?(?:SM-G920(?:F[DQ]|W8|[089AFIKLPRSTVX])?|SM-S906L|SM-S907VL)|SC-05G' model: 'Galaxy S6' - regex: '(?:SAMSUNG-)?SM-G890A' model: 'Galaxy S5 Active' - regex: '(?:SAMSUNG-)?(?:SM-G925[0ADFJIKLPRSTVWX]|SCV31|404SC|SC-04G|SM-G828)' model: 'Galaxy S6 Edge' - regex: '(?:SAMSUNG-)?SM-G928(?:7C|N0|R4|W8|[07ACFGIKLPSTVX])' model: 'Galaxy S6 Edge+' - regex: '(?:SAMSUNG-|Verizon-)?SM-G930(?:AZ|FD|R[467]|T1|V[CL]|W8|[0AFKLPRSTUVX8])?(?:[);/ ]|$)' model: 'Galaxy S7' - regex: '(?:SAMSUNG-)?SM-G935(?:R4|W8|[0AFKLPSTUVX])|SC-02H|SCV33|Galaxy s7 edge' model: 'Galaxy S7 Edge' - regex: '(?:SAMSUNG-)?SM-G891A' model: 'Galaxy S7 Active' - regex: '(?:SAMSUNG-)?SM-G950[08FNUW]?|SCV36|SC-02J' model: 'Galaxy S8' - regex: '(?:SAMSUNG-)?SM-G8750' model: 'Galaxy S8 Lite' - regex: '(?:SAMSUNG-)?SM-G892[AU]' model: 'Galaxy S8 Active' - regex: '(?:SAMSUNG-)?SM-G955[0AFKLNPRTUVWX]?|SCV35|SC-03J' model: 'Galaxy S8+' - regex: '(?:SAMSUNG-)?SM-G960[0FNUWX]?|SCV38|SC-02K' model: 'Galaxy S9' - regex: '(?:SAMSUNG-)?SM-G965[0FNUWX]|SCV39|SC-03K' model: 'Galaxy S9+' - regex: '(?:SAMSUNG-)?(?:SM-(?:G973|G977[BNPTU])|SCV41|SC-03L)' model: 'Galaxy S10' - regex: '(?:SAMSUNG-)?SM-(?:S10 Lite|G770(?:U1|F))' model: 'Galaxy S10 Lite' - regex: '(?:SAMSUNG-)?(?:SM-G975[08FUNWX]|SCV42|SC-04L)' model: 'Galaxy S10+' - regex: 'SC-05L' model: 'Galaxy S10+ Olympic Games Edition' - regex: '(?:(?:SAMSUNG-)?SM-G970(?:U1|[08FUNWX])|beyond0q?)(?:[);/ ]|$)' model: 'Galaxy S10e' - regex: '(?:SAMSUNG-)?SM-G980F' model: 'Galaxy S20' - regex: '(?:SAMSUNG-)?SM-G981(?:U1|[0BNUVW])|SCG01|SC-51A|SC51Aa' model: 'Galaxy S20 5G' - regex: '(?:SAMSUNG-)?SM-G780' model: 'Galaxy S20 FE' - regex: '(?:SAMSUNG-)?SM-G781(?:U1|[0BNUVW])' model: 'Galaxy S20 FE 5G' - regex: '(?:SAMSUNG-)?SM-G988(?:U1|[0BNQUW])|SCG03' model: 'Galaxy S20 Ultra 5G' - regex: '(?:SAMSUNG-)?SM-G985F|SCG02' model: 'Galaxy S20+' - regex: '(?:SAMSUNG-)?SM-G986(?:U1|[0BNUW])|SC-52A' model: 'Galaxy S20+ 5G' - regex: '(?:SAMSUNG-)?SM-G991V' model: 'Galaxy S21 5G UW' - regex: '(?:SAMSUNG-)?SM-G991(?:U1|R4|[0ABNWQU])|SCG09' model: 'Galaxy S21 5G' - regex: '(?:SAMSUNG-)?SM-G990' model: 'Galaxy S21 FE 5G' - regex: '(?:SAMSUNG-)?SC-51B' model: 'Galaxy S21 5G Olympic Games Edition' - regex: '(?:SAMSUNG-)?(?:SM-G998(?:U1|[0BNUWTP])|SC-52B)' model: 'Galaxy S21 Ultra 5G' - regex: '(?:SAMSUNG-)?SM-G996(?:U1|[0BNWUP])|SCG10' model: 'Galaxy S21+ 5G' - regex: '(?:SAMSUNG-)?SM-S901(?:U1|[0BENUW])|SC-51C|SCG13' model: 'Galaxy S22' - regex: '(?:SAMSUNG-)?SM-S908(?:U1|[0BENUW])|SCG14|SC-52C' model: 'Galaxy S22 Ultra' - regex: '(?:SAMSUNG-)?SM-S906(?:U1|[0BENUW])' model: 'Galaxy S22+' - regex: '(?:SAMSUNG-)?(?:SM-S911|SCG19)' model: 'Galaxy S23' - regex: '(?:SAMSUNG-)?SM-S916' model: 'Galaxy S23+' - regex: '(?:SAMSUNG-)?(?:SM-S918|SC-52D|SCG20)' model: 'Galaxy S23 Ultra' - regex: '(?:SAMSUNG-)?(?:SM-S711|SCG24)' model: 'Galaxy S23 FE' - regex: '(?:SAMSUNG-)?(?:SM-S921|SCG25)' model: 'Galaxy S24' - regex: '(?:SAMSUNG-)?(?:SM-S926)' model: 'Galaxy S24+' - regex: '(?:SAMSUNG-)?(?:SM-S928|SCG26)' model: 'Galaxy S24 Ultra' - regex: '(?:SAMSUNG-)?SM-F700(?:U1|[0FNUW])|SCV47' model: 'Galaxy Z Flip' - regex: '(?:SAMSUNG-)?SM-F707(?:U1|[0BNUW])|SCG04' model: 'Galaxy Z Flip 5G' - regex: '(?:SAMSUNG-)?SCH-I200' model: 'Galaxy Stellar' - regex: '(?:SAMSUNG-)?SCH-I829' model: 'Galaxy Style Duos' - regex: '(?:SAMSUNG-)?(?:SCH-R740|SGH-S730)' model: 'Galaxy Discover' - regex: '(?:SAMSUNG-)?SCH-S738' model: 'Galaxy Centura' - regex: 'vollo Vi86(?:[);/ ]|$)' model: 'Vollo Vi86' - regex: '(?:SAMSUNG-)?SM-G386(?:T1|T)' model: 'Galaxy Avant' - regex: '(?:SAMSUNG-)?SM-A716S' model: 'Galaxy A Quantum' - regex: '(?:SAMSUNG-)?SM-(?:A015(?:DL|[TU]1|[AFGMUV])|S111DL)' model: 'Galaxy A01' - regex: '(?:SAMSUNG-)?SM-A013[FGM]' model: 'Galaxy A01 Core' - regex: '(?:SAMSUNG-)?SM-(?:A025(?:[AFGM]|AZ)?|S124DL)' model: 'Galaxy A02s' - regex: '(?:SAMSUNG-)?(?:SM-A037[F]?|SM-S13[45]DL)' model: 'Galaxy A03s' - regex: '(?:SAMSUNG-)?SM-A035[F]?' model: 'Galaxy A03' - regex: '(?:SAMSUNG-)?SM-A047' model: 'Galaxy A04s' - regex: '(?:SAMSUNG-)?SM-A042[FM]' model: 'Galaxy A04e' - regex: '(?:SAMSUNG-)?SM-A045' model: 'Galaxy A04' - regex: '(?:SAMSUNG-)?SM-A032[F]?' model: 'Galaxy A03 Core' - regex: '(?:SAMSUNG-)?SM-A022[GMF]?' model: 'Galaxy A02' - regex: '(?:SAMSUNG-)?SM-A055' model: 'Galaxy A05' - regex: '(?:SAMSUNG-)?SM-A057' model: 'Galaxy A05s' - regex: '(?:SAMSUNG-)?SM-A260[FG]' model: 'Galaxy A2 Core' - regex: '(?:SAMSUNG-)?(?:SM-S115(?:DL)?|SM-A115V)' model: 'Galaxy A11' - regex: '(?:SAMSUNG-)?(?:SM-[AS]146)' model: 'Galaxy A14 5G' - regex: '(?:SAMSUNG-)?(?:SM-A145)' model: 'Galaxy A14' - regex: '(?:SAMSUNG-)?(?:SM-A156|SM-S156V)' model: 'Galaxy A15 5G' - regex: '(?:SAMSUNG-)?(?:SM-A155)' model: 'Galaxy A15' - regex: '(?:SAMSUNG-)?SM-A225[F]?' model: 'Galaxy A22' - regex: '(?:SAMSUNG-)?SM-A226L' model: 'Galaxy Buddy' - regex: '(?:SAMSUNG-)?SM-A226|SC-56B' model: 'Galaxy A22 5G' - regex: '(?:SAMSUNG-)?SM-A300(?:FU|YZ|XU|XZ|[09FGHMXY])' model: 'Galaxy A3 (2015)' - regex: '(?:SAMSUNG-)?SM-A310(?:N0|[FMXY])' model: 'Galaxy A3 (2016)' - regex: '(?:SAMSUNG-)?SM-A320(?:FL|[FXY])' model: 'Galaxy A3 (2017)' - regex: '(?:SAMSUNG-)?SM-A346' model: 'Galaxy A34 5G' - regex: '(?:SAMSUNG-)?SM-A356' model: 'Galaxy A35 5G' - regex: '(?:SAMSUNG-)?SM-A430F' model: 'Galaxy A4' - regex: '(?:SAMSUNG-)?(?:SM-A500(?:YZ|[9LSWY])?|SM-A5OOH)(?:[);/ ]|$)' model: 'Galaxy A5' - regex: '(?:SAMSUNG-)?SM-A500[0FGHKM]' model: 'Galaxy A5 Duos' - regex: '(?:SAMSUNG-)?SM-A500(?:FU|X)' model: 'Galaxy A5 (2015)' - regex: '(?:SAMSUNG-)?SM-A510[08FKLMSXY]' model: 'Galaxy A5 (2016)' - regex: '(?:SAMSUNG-)?SM-A520[FKLSWX]' model: 'Galaxy A5 (2017)' - regex: '(?:SAMSUNG-)?SM-A525' model: 'Galaxy A52' - regex: '(?:SAMSUNG-)?(?:SC-53B|SM-A526)' model: 'Galaxy A52 5G' - regex: '(?:SAMSUNG-)?SM-A528' model: 'Galaxy A52s 5G' - regex: '(?:SAMSUNG-)?SM-A600(?:AZ|FN|GN|T1|[AFGNPTUX])|SM-A6(?:[);/ ]|$)' model: 'Galaxy A6' - regex: '(?:SAMSUNG-)?SM-A605(?:[FG]N|[08FGX])|SM-A6\+' model: 'Galaxy A6+' - regex: '(?:SAMSUNG-)?SM-G6200' model: 'Galaxy A6s (2018)' - regex: '(?:SAMSUNG-)?SM-A606[0Y]' model: 'Galaxy A60' - regex: '(?:SAMSUNG-)?SM-A700(?:YD|[09FHKLSX])' model: 'Galaxy A7' - regex: '(?:SAMSUNG-)?SM-A710[08FKLMSXY]' model: 'Galaxy A7 (2016)' - regex: '(?:SAMSUNG-)?SM-A720[FMSX]' model: 'Galaxy A7 (2017)' - regex: '(?:SAMSUNG-)?SM-A750(?:GN|[CFGNX])' model: 'Galaxy A7 (2018)' - regex: '(?:SAMSUNG-)?SM-A71(?:5[FW])?(?:[);/ ]|$)' model: 'Galaxy A71' - regex: '(?:SAMSUNG-)?SM-A725[FM](?:[);/ ]|$)' model: 'Galaxy A72' - regex: '(?:SAMSUNG-)?SM-A736' model: 'Galaxy A73 5G' - regex: '(?:SAMSUNG-)?SM-A716(?:U1|[0BUVT])(?:[);/ ]|$)' model: 'Galaxy A71 5G' - regex: '(?:SAMSUNG-)?SM-A(?:530F|800[0FISXY])|SCV32' model: 'Galaxy A8' - regex: '(?:SAMSUNG-)?SM-G885[FSY]' model: 'Galaxy A8 Star' - regex: '(?:SAMSUNG-)?SM-A810(?:YZ|[FS])' model: 'Galaxy A8 (2016)' - regex: '(?:SAMSUNG-)?SM-(?:A8s|G887[0F])' model: 'Galaxy A8s' - regex: '(?:SAMSUNG-)?SM-A530[MNWX]' model: 'Galaxy A8 (2018)' - regex: '(?:SAMSUNG-)?SM-A730[FX]' model: 'Galaxy A8+ (2018)' - regex: '(?:SAMSUNG-)?SM-A900[0F]' model: 'Galaxy A9' - regex: 'SM-A9\[7\]' model: 'Galaxy A9 7' - regex: '(?:SAMSUNG-)?SM-A920[0FXN]' model: 'Galaxy A9 (2018)' - regex: '(?:SAMSUNG-)?SM-G885[08]' model: 'Galaxy A9 Star' - regex: '(?:SAMSUNG-)?SM-(?:A9 Pro|A910[0F]|G887N)' model: 'Galaxy A9 Pro' - regex: '(?:SAMSUNG-)?SM-A105[FGMN]' model: 'Galaxy A10' - regex: '(?:SAMSUNG-)?SM-A107[FM]' model: 'Galaxy A10s' - regex: '(?:SAMSUNG-)?SM-(?:S102DL|A102[NUW])' model: 'Galaxy A10e' - regex: '(?:SAMSUNG-)?SM-A115(?:A[PZ]|U1|[AFMUW])' model: 'Galaxy A11' - regex: '(?:SAMSUNG-)?SM-(?:A12(?:5[AFMNUWTPV]|7[FM])|S127DL)' model: 'Galaxy A12' - regex: '(?:SAMSUNG-)?SM-(?:A136(?:U1|[BMWUS])|S136DL)' model: 'Galaxy A13 5G' - regex: '(?:SAMSUNG-)?(?:SM-A135|SM-A137F)' model: 'Galaxy A13' - regex: '(?:SAMSUNG-)?SM-(?:A205(?:U1|YN|[FGSWU])|S205DL)|SC-02M|SCV46' model: 'Galaxy A20' - regex: '(?:SAMSUNG-)?(?:SM-A215(?:DL|R4|U1|[UWTP])|SM-S215DL|SC-42A|SCV49|SM-A102J)(?:[);/ ]|$)' model: 'Galaxy A21' - regex: '(?:SAMSUNG-)?SM-A217[FMN](?:[);/ ]|$)' model: 'Galaxy A21s' - regex: '(?:SAMSUNG-)?SM-A202[FG]' model: 'Galaxy A20e' - regex: '(?:SAMSUNG-)?SM-A207[0FM]' model: 'Galaxy A20s' - regex: '(?:SAMSUNG-)?SM-A235' model: 'Galaxy A23' - regex: '(?:SAMSUNG-)?SM-A23[36]|SM-S236|SC-56C|SCG18' model: 'Galaxy A23 5G' - regex: '(?:SAMSUNG-)?(?:SM-A305(?:[FGY]N|GT|[FGN])|SCV43)' model: 'Galaxy A30' - regex: '(?:SAMSUNG-)?SM-A307(?:FN|GN|GT|[FG])' model: 'Galaxy A30s' - regex: '(?:SAMSUNG-)?SM-A315[FGN](?:[);/ ]|$)' model: 'Galaxy A31' - regex: '(?:SAMSUNG-)?SM-A325' model: 'Galaxy A32' - regex: '(?:SAMSUNG-)?(?:SM-(?:A326(?:BR|U1|[BUWJ])|S326DL)|SCG08)' model: 'Galaxy A32 5G' - regex: '(?:SAMSUNG-)?SM-A336' model: 'Galaxy A33 5G' - regex: '(?:SAMSUNG-)?SM-A405(?:F[NM]|S)' model: 'Galaxy A40' - regex: '(?:SAMSUNG-)?SM-A305[018](?:[);/ ]|$)' model: 'Galaxy A40s' - regex: '(?:SAMSUNG-)?(?:SM-A415F|SC-41A|SCV48)(?:[);/ ]|$)' model: 'Galaxy A41' - regex: '(?:SAMSUNG-)?SM-[AS]426' model: 'Galaxy A42 5G' - regex: '(?:SAMSUNG-)?SM-(?:A505(?:F[GN]|U1|YN|[FGNUWX])|S506DL|505FN)' model: 'Galaxy A50' - regex: '(?:SAMSUNG-)?SM-A5070(?:[);/ ]|$)' model: 'Galaxy A50s' - regex: '(?:SAMSUNG-)?SM-A507FN' model: 'Galaxy A50s' - regex: '(?:SAMSUNG-)?SM-(?:A515[FUW]|S515DL)' model: 'Galaxy A51' - regex: '(?:SAMSUNG-)?(?:SM-A516(?:U1|[0BNUVT])|SC-54A|SCG07)' model: 'Galaxy A51 5G' - regex: '(?:SAMSUNG-)?SM-A536V' model: 'Galaxy A53 5G UW' - regex: '(?:SAMSUNG-)?(?:SM-A536|SC-53C|SCG15|SM-S536DL)' model: 'Galaxy A53 5G' - regex: '(?:SAMSUNG-)?SM-A546S' model: 'Galaxy Quantum 4' - regex: '(?:SAMSUNG-)?(?:SM-A546|SC-53D|SCG21)' model: 'Galaxy A54 5G' - regex: '(?:SAMSUNG-)?(?:SM-A556|SCG27)' model: 'Galaxy A55 5G' - regex: '(?:SAMSUNG-)?SM-A705(?:GM|[MYF]N|[0FUWX])' model: 'Galaxy A70' - regex: '(?:SAMSUNG-)?SM-A707[0FW]' model: 'Galaxy A70s' - regex: '(?:SAMSUNG-)?SM-A805[0FNX]' model: 'Galaxy A80' - regex: '(?:SAMSUNG-)?SM-A908[BN]' model: 'Galaxy A90' - regex: '(?:SAMSUNG-)?SM-A9080' model: 'Galaxy A90 5G' - regex: '(?:SAMSUNG-)?SM-E025F' model: 'Galaxy F02s' - regex: '(?:SAMSUNG-)?SM-F127G(?:[);/ ]|$)' model: 'Galaxy F12' - regex: '(?:SAMSUNG-)?SM-E135F' model: 'Galaxy F13' - regex: '(?:SAMSUNG-)?SM-E146B' model: 'Galaxy F14 5G' - regex: '(?:SAMSUNG-)?SM-E156B' model: 'Galaxy F15 5G' - regex: '(?:SAMSUNG-)?SM-E225F(?:[);/ ]|$)' model: 'Galaxy F22' - regex: '(?:SAMSUNG-)?SM-E236' model: 'Galaxy F23 5G' - regex: '(?:SAMSUNG-)?SM-E346' model: 'Galaxy F34 5G' - regex: '(?:SAMSUNG-)?SM-F415F(?:[);/ ]|$)' model: 'Galaxy F41' - regex: '(?:SAMSUNG-)?SM-E426B(?:[);/ ]|$)' model: 'Galaxy F42 5G' - regex: '(?:SAMSUNG-)?SM-E5260(?:[);/ ]|$)' model: 'Galaxy F52 5G' - regex: '(?:SAMSUNG-)?SM-E546' model: 'Galaxy F54 5G' - regex: '(?:SAMSUNG-)?SM-E625' model: 'Galaxy F62' - regex: '(?:SAMSUNG-)?GT-I9301I' model: 'Galaxy S III Neo' - regex: '(?:SAMSUNG-)?SM-S120VL' model: 'Galaxy Luna' - regex: '(?:SAMSUNG-)?SGH-T399' model: 'Galaxy Light' - regex: '(?:SAMSUNG-)?SM-(?:J100(?:FN|VPP|MU|[FGHMY])|S777C)' model: 'Galaxy J1' - regex: '(?:SAMSUNG-)?SM-J105[BFHYM]' model: 'Galaxy J1 Mini' - regex: '(?:SAMSUNG-)?SM-J106[BFHM]' model: 'Galaxy J1 mini Prime' - regex: '(?:SAMSUNG-)?SM-(?:J120(?:ZN|[AFGHMPTW])|J05H)' model: 'Galaxy J1 (2016)' - regex: '(?:SAMSUNG-)?SM-(?:J110[FGHLM]|J111[FM])' model: 'Galaxy J1 Ace' - regex: '(?:SAMSUNG-)?SM-J200[FGHMY]' model: 'Galaxy J2' - regex: '(?:SAMSUNG-)?SM-J200BT' model: 'Galaxy J2 Duos' - regex: '(?:SAMSUNG-)?SM-J260AZ' model: 'Galaxy J2 Pure' - regex: '(?:SAMSUNG-)?SM-(?:J260([AFGMY]|T1)|S260DL)' model: 'Galaxy J2 Core' - regex: '(?:SAMSUNG-)?SM-J(?:210F|250[FGMNY])' model: 'Galaxy J2 Pro' - regex: '(?:SAMSUNG-)?SM-(?:S367VL|S357BL)' model: 'Galaxy J3 Orbit' - regex: '(?:SAMSUNG-)?SM-J311(?:[09]|9S)' model: 'Galaxy J3 Pro' - regex: '(?:SAMSUNG-)?SM-S320VL(?:[);/ ]|$)' model: 'Galaxy J3 Sky' - regex: '(?:SAMSUNG-)?SM-S327VL(?:[);/ ]|$)' model: 'Galaxy J3 Luna Pro' - regex: '(?:SAMSUNG-)?SM-J327(?:T1|[ATW])(?:[);/ ]|$)' model: 'Galaxy J3 Prime' - regex: '(?:SAMSUNG-)?SM-J327(?:[FP]|R4)' model: 'Galaxy J3 Emerge' - regex: '(?:SAMSUNG-)?SM-J337R4(?:[);/ ]|$)' model: 'Galaxy J3 Aura' - regex: '(?:SAMSUNG-)?SM-J337T(?:[);/ ]|$)' model: 'Galaxy J3 Star' - regex: '(?:SAMSUNG-)?SM-J327VPP' model: 'Galaxy J3 Mission' - regex: '(?:SAMSUNG-)?SM-J327V' model: 'Galaxy J3 Eclipse' - regex: '(?:SAMSUNG-)?SM-S337TL' model: 'Galaxy J3 Luna Pro' - regex: '(?:SAMSUNG-)?SM-J3109' model: 'Galaxy J3 (2015)' - regex: '(?:SAMSUNG-)?SM-(?:J300H|J320(?:[ZF]N|R4|W8|YZ|[AFGHMNPVY]))' model: 'Galaxy J3 (2016)' - regex: '(?:SAMSUNG-)?SM-(?:J330(?:FN|[08FGLN])|J327(?:R[76]|U))(?:[);/ ]|$)' model: 'Galaxy J3 (2017)' - regex: '(?:SAMSUNG-)?SM-J337(?:VPP|[AWPUV])(?:[);/ ]|$)' model: 'Galaxy J3 (2018)' - regex: '(?:SAMSUNG-)?SM-(?:G400[FG]|J400[FGM])' model: 'Galaxy J4' - regex: '(?:SAMSUNG-)?SM-J500(?:FN|N0|[78FGHMY])(?:[);/ ]|$)' model: 'Galaxy J5 (2015)' - regex: '(?:SAMSUNG-)?SM-(?:J510(?:[FGMU]N|FQ|[8FGHKLSY])?|5108|G510H)(?:[);/ ]|$)' model: 'Galaxy J5 (2016)' - regex: '(?:SAMSUNG-)?SM-J530[GY]' model: 'Galaxy J5 Pro (2017)' - regex: '(?:SAMSUNG-)?SM-J530|(?:lineage_)?j5y17lte' model: 'Galaxy J5 (2017)' - regex: '(?:SAMSUNG-)?SM-G570[0FMY]' model: 'Galaxy J5 Prime' - regex: '(?:SAMSUNG-)?SM-J600[FGLN]' # 2018 model: 'Galaxy J6' - regex: '(?:SAMSUNG-)?SM-J610[FG]' model: 'Galaxy J6+' - regex: '(?:SAMSUNG-)?SM-J410[FG]' model: 'Galaxy J4 Core' - regex: '(?:SAMSUNG-)?SM-J415(?:[FG]N|[FGN])' model: 'Galaxy J4+' - regex: '(?:SAMSUNG-)?SM-J710FN(?:[);/ ]|$)' model: 'Galaxy On8' - regex: '(?:SAMSUNG-)?SM-J7[01]0(?:FN|MN|[8FHKM])' model: 'Galaxy J7' - regex: '(?:SAMSUNG-)?SM-J700P' model: 'Galaxy J7 (2015)' - regex: '(?:SAMSUNG-)?SM-(?:J700(?:T1|T)|J710GN|J7109?)' model: 'Galaxy J7 (2016)' - regex: '(?:SAMSUNG-)?SM-(?:J730[K]|J727(?:R4|[AFSU]))(?:[);/ ]|$)' model: 'Galaxy J7 (2017)' - regex: '(?:SAMSUNG-)?SM-J737(?:R4|T1|VPP|[APSTUV])(?:[);/ ]|$)' model: 'Galaxy J7 (2018)' - regex: '(?:SAMSUNG-)?SM-C710F' model: 'Galaxy J7+ (C7)' - regex: '(?:SAMSUNG-)?SM-G610[FMY]' model: 'Galaxy J7 Prime' - regex: '(?:SAMSUNG-)?SM-G611(?:FF|MT|M)' model: 'Galaxy J7 Prime 2' - regex: '(?:SAMSUNG-)?SM-G615F' model: 'Galaxy J7 Max' - regex: '(?:SAMSUNG-)?SM-(?:S727VL|S737TL)' model: 'Galaxy J7 Sky Pro' - regex: '(?:SAMSUNG-)?SM-(?:J7 Pro|J730(?:GM|[FG]))' model: 'Galaxy J7 Pro' - regex: '(?:SAMSUNG-)?SM-J701[FM]' model: 'Galaxy J7 Core' # also Galaxy J7 Nxt and Galaxy J7 Neo - regex: '(?:SAMSUNG-)?SM-J720[FM]' model: 'Galaxy J7 Duo' - regex: '(?:SAMSUNG-)?SM-(?:S767VL|S757BL)' model: 'Galaxy J7 Crown' - regex: '(?:SAMSUNG-)?SM-J727[PTV]' model: 'Galaxy J7 V' - regex: 'SM-J7\[7\]' model: 'Galaxy J7 7' - regex: 'SM-J8 Plus' model: 'Galaxy J8 Plus' - regex: 'SM-J8 Pro' model: 'Galaxy J8 Pro' - regex: '(?:SAMSUNG-)?SM-J810|SM-J8(?:[);/ ]|$)' model: 'Galaxy J8' - regex: 'SM-J9\[7\] Prime' model: 'Galaxy J9 7 Prime' - regex: 'SM-J9\[8\] Pro' model: 'Galaxy J9 8 Pro' - regex: 'SM-A326' model: 'Galaxy Jump 5G' - regex: 'SM-M336K' model: 'Galaxy Jump 2' - regex: 'SM-M446K' model: 'Galaxy Jump 3' - regex: '(?:SAMSUNG-)?SM-M015[FG]' model: 'Galaxy M01' - regex: '(?:SAMSUNG-)?SM-[EM]045F' model: 'Galaxy M04' - regex: '(?:SAMSUNG-)?SM-M013F' model: 'Galaxy M01 Core' - regex: '(?:SAMSUNG-)?SM-M017F' model: 'Galaxy M01s' - regex: '(?:SAMSUNG-)?SM-M025F' model: 'Galaxy M02s' - regex: '(?:SAMSUNG-)?SM-M022[FGM]' model: 'Galaxy M02' - regex: '(?:SAMSUNG-)?SM-M105[FGMY]' model: 'Galaxy M10' - regex: '(?:SAMSUNG-)?SM-M107F' model: 'Galaxy M10s' - regex: '(?:SAMSUNG-)?SM-M115[FM]' model: 'Galaxy M11' - regex: '(?:SAMSUNG-)?SM-M127[FGN]' model: 'Galaxy M12' - regex: '(?:SAMSUNG-)?SM-M135' model: 'Galaxy M13' - regex: '(?:SAMSUNG-)?SM-M136' model: 'Galaxy M13 5G' - regex: '(?:SAMSUNG-)?SM-M146B' model: 'Galaxy M14 5G' - regex: '(?:SAMSUNG-)?SM-(?:M205(?:[FGMN]|FN)|M20)(?:[);/ ]|$)' model: 'Galaxy M20' - regex: '(?:SAMSUNG-)?SM-M215F' model: 'Galaxy M21' - regex: '(?:SAMSUNG-)?SM-M215G' model: 'Galaxy M21 (2021)' - regex: '(?:SAMSUNG-)?SM-M225' model: 'Galaxy M22' - regex: '(?:SAMSUNG-)?SM-M236L' model: 'Galaxy Buddy 2' - regex: '(?:SAMSUNG-)?SM-M236' model: 'Galaxy M23 5G' - regex: '(?:SAMSUNG-)?SM-(?:M307(?:FN|[0F])|M30s)' model: 'Galaxy M30s' - regex: '(?:SAMSUNG-)?SM-M305?' model: 'Galaxy M30' - regex: '(?:SAMSUNG-)?SM-M315F' model: 'Galaxy M31' - regex: '(?:SAMSUNG-)?SM-M325F' model: 'Galaxy M32' - regex: '(?:SAMSUNG-)?SM-M326' model: 'Galaxy M32 5G' - regex: '(?:SAMSUNG-)?SM-M336' model: 'Galaxy M33 5G' - regex: '(?:SAMSUNG-)?SM-M317F' model: 'Galaxy M31s' - regex: '(?:SAMSUNG-)?SM-M346' model: 'Galaxy M34 5G' - regex: '(?:SAMSUNG-)?SM-M405' model: 'Galaxy M40' - regex: '(?:SAMSUNG-)?SM-M426' model: 'Galaxy M42 5G' - regex: '(?:SAMSUNG-)?SM-M515F' model: 'Galaxy M51' - regex: '(?:SAMSUNG-)?SM-M526' model: 'Galaxy M52 5G' - regex: '(?:SAMSUNG-)?SM-M536S' model: 'Galaxy Quantum 3' - regex: '(?:SAMSUNG-)?SM-M536' model: 'Galaxy M53 5G' - regex: '(?:SAMSUNG-)?SM-M546' model: 'Galaxy M54 5G' - regex: '(?:SAMSUNG-)?SM-M625' model: 'Galaxy M62' - regex: '(?:SAMSUNG-)?SM-M546' model: 'Galaxy M54 5G' - regex: '(?:SAMSUNG-)?SM-W201([689])' model: 'Galaxy W201$1' - regex: '(?:SAMSUNG-)?SM-W2022' model: 'Galaxy W22' - regex: '(?:SAMSUNG-)?SM-W2020' model: 'Galaxy W20' - regex: '(?:SAMSUNG-)?SM-W2021' model: 'Galaxy W21' - regex: '(?:SAMSUNG-)?SM-A826' model: 'Galaxy Quantum 2' - regex: '(?:SAMSUNG-)?SM-W2015' model: 'Galaxy Golden 2' - regex: '(?:SAMSUNG-)?SM-G910S' model: 'Galaxy Round' - regex: '(?:SAMSUNG-)?SM-(?:G550(?:FY|T[12]?)|S550TL|G55[01]0|G5520)' model: 'Galaxy On5' - regex: '(?:SAMSUNG-)?SM-G5528' model: 'Galaxy On5 (2016)' - regex: '(?:SAMSUNG-)?SM-G600(?:FY|[0F])' model: 'Galaxy On7' - regex: '(?:SAMSUNG-)?SM-G610[0KLS]' model: 'Galaxy On7 (2016)' - regex: '(?:SAMSUNG-)?SM-G611[FKLS]' model: 'Galaxy On7 Prime' - regex: '(?:SAMSUNG-)?SM-C500[0X]' model: 'Galaxy C5' - regex: '(?:SAMSUNG-)?SM-C501[08]' model: 'Galaxy C5 Pro' - regex: '(?:SAMSUNG-)?SM-C5560' model: 'Galaxy C55 5G' - regex: '(?:SAMSUNG-)?SM-C700[0X]' model: 'Galaxy C7' - regex: '(?:SAMSUNG-)?SM-C701[08FX]' model: 'Galaxy C7 Pro' - regex: '(?:SAMSUNG-)?SM-C710[08]' model: 'Galaxy C8' - regex: '(?:SAMSUNG-)?SM-C900[08FY]' model: 'Galaxy C9 Pro' - regex: '(?:SAMSUNG-)?SM-Z130H' model: 'Galaxy Z1' - regex: '(?:SAMSUNG-)?SM-Z200[FMY]' model: 'Galaxy Z2' - regex: '(?:SAMSUNG-)?SM-Z300H' model: 'Galaxy Z3' - regex: '(?:SAMSUNG-)?SM-Z400[FY]' model: 'Galaxy Z4' - regex: '(?:SAMSUNG-)?SM-(?:G150(?:N[0KLS])?|G155S)(?:[);/ ]|$)' model: 'Galaxy Folder' - regex: '(?:SAMSUNG-)?(?:SM-G16(?:0N|[05]0?|5N))(?:[);/ ]|$)' model: 'Galaxy Folder 2' - regex: '(?:SAMSUNG-)?SM-J321AZ(?:[);/ ]|$)' model: 'Galaxy Sol' - regex: '(?:SAMSUNG-)?SM-J326AZ(?:[);/ ]|$)' model: 'Galaxy Sol 2' - regex: '(?:SAMSUNG-)?SM-J336AZ(?:[);/ ]|$)' model: 'Galaxy Sol 3' - regex: '(?:SAMSUNG-)?SM-J727AZ(?:[);/ ]|$)' model: 'Galaxy Halo' - regex: '(?:SAMSUNG-)?SM-J327AZ' model: 'Galaxy Amp Prime 2' - regex: '(?:SAMSUNG-)?SM-J337AZ' model: 'Galaxy Amp Prime 3 (2018)' # explicit phablet models - regex: '(?:SAMSUNG-)?SM-(?:F900[0FUW]|F907[BN])|SCV44' model: 'Galaxy Fold' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-W9023' model: 'Galaxy W23 Fold' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-W7023' model: 'Galaxy W23 Flip' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-W7024' model: 'Galaxy W24 Flip' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-F711|SCG12|SC-54B)' model: 'Galaxy Z Flip 3' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-F721|SC-54C|SCG17)' model: 'Galaxy Z Flip 4' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-F731|SCG23)' model: 'Galaxy Z Flip 5' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-F741)' model: 'Galaxy Z Flip 6' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-F916(?:U1|[0BNQUW])|SCG05' model: 'Galaxy Z Fold 2 5G' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-F926|SC-55B|SCG11)' model: 'Galaxy Z Fold 3 5G' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-F936|SCG16|SC-55C)' model: 'Galaxy Z Fold 4' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-F946|SCG22)' model: 'Galaxy Z Fold 5' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-I9060(?:[);/ ]|$)' model: 'Galaxy Grand Neo' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-I9063' model: 'Galaxy Grand Neo Duos' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-I9(?:080|128)' model: 'Galaxy Grand' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-I9168' model: 'Galaxy Grand Neo+' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-I9082' model: 'Galaxy Grand Duos' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-N7000' model: 'Galaxy Note' device: 'phablet' - regex: '(?:SC-01G|SCL24)(?:[);/ ]|$)' model: 'Galaxy Note Edge' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-N935[FSLK](?:[);/ ]|$)' model: 'Galaxy Note Fan Edition' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:(?:GT-)?N7100|SCH-(?:I605|N719|R950)|SPH-L900|Galaxy Note 2)(?:[);/ ]|$)' model: 'Galaxy Note II' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-N7105' model: 'Galaxy Note II LTE' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-G710(?:2T|5[HL]|[25689KLS])?(?:[);/ ]|$)' model: 'Galaxy Grand 2' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-G720(?:AX|N0|[02])(?:[);/ ]|$)' model: 'Galaxy Grand Max' - regex: '(?:(?:SAMSUNG-)?SM-(?:G530(?:[689]W|[AF]Z|BT|MU|R[47]|[AFHMPTWY])|G531[FH]|S920L)|(?:rr_)?fortuna3g)(?:[);/ ]|$)' model: 'Galaxy Grand Prime' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-G531(?:BT|[MY])(?:[);/ ]|$)' model: 'Galaxy Grand Prime VE Duos' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-G532F(?:[);/ ]|$)' model: 'Galaxy Grand Prime Plus' # also Galaxy J2 Prime device: 'phablet' - regex: '(?:SAMSUNG-)?SM-G532MT(?:[);/ ]|$)' model: 'Galaxy J2 Prime (TV)' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-G532[MG](?:[);/ ]|$)' model: 'Galaxy J2 Prime' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-N7502(?:[);/ ]|$)' model: 'Galaxy Note 3 Neo Duos' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-N750[05LQ]?' model: 'Galaxy Note 3 Neo' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-N9002(?:[);/ ]|$)' model: 'Galaxy Note 3 Duos' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-9005(?:[);/ ]|$)' model: 'Galaxy Note 3 LTE' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-N900(?:W8|[05689][VQ]?|[AKLPSTV])?|SCL22|SC-01F|SC-02F)' model: 'Galaxy Note 3' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-(?:N910|910U)|N9100(?:[);/ ]|$)' model: 'Galaxy Note 4' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-N916[KLS]' model: 'Galaxy Note 4 LTE' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-N915' model: 'Galaxy Note 4 Edge' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-N920(?:R[467]|W8|[0ACFGIKLPSTVX])' model: 'Galaxy Note 5' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-N9208' model: 'Galaxy Note 5 Duos' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-G750(?:8Q|[9AFH])' model: 'Galaxy Mega 2' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-I915[028]' model: 'Galaxy Mega 5.8' device: 'phablet' - regex: '(?:SAMSUNG-)?GT-I920[05]' model: 'Galaxy Mega 6.3' device: 'phablet' - regex: '(?:SAMSUNG-)?(?:SM-N930(?:R[467]|W8|[0AFKLPSTUVX])|SCV34)' model: 'Galaxy Note 7' device: 'phablet' - regex: '(?:SAMSUNG[- ])?SM-N950|SCV37|SC-01K' model: 'Galaxy Note 8' device: 'phablet' - regex: '(?:SAMSUNG[- ])?(?:SM-N960|SCV40|SC-01L)|crownqlte' model: 'Galaxy Note 9' device: 'phablet' - regex: '(?:SAMSUNG[- ])?(?:SM-N975(?:U1|XU|[0CFUWX])|SM-N976[0BVNQU]|SC-01M|SCV45)|Galaxy Note 10\+' model: 'Galaxy Note 10+' device: 'phablet' - regex: '(?:SAMSUNG[- ])?SM-(?:N970(?:U1|W8|[089DFJKLSUWX])|N971N)|Galaxy Note 10' model: 'Galaxy Note 10' device: 'phablet' - regex: '(?:SAMSUNG[- ])?SM-N770[FX]' model: 'Galaxy Note 10 Lite' device: 'phablet' - regex: '(?:SAMSUNG[- ])?(?:SM-N981(?:B/DS|U1|[0BNUW]))' model: 'Galaxy Note 20 5G' device: 'phablet' - regex: '(?:SAMSUNG[- ])?(?:SM-N985(?:F/DS|F))|Galaxy Note 20 Ultra(?! 5G)' model: 'Galaxy Note 20 Ultra' device: 'phablet' - regex: '(?:SAMSUNG[- ])?(?:SM-N980(?:F/DS|F)|Galaxy Note 20)' model: 'Galaxy Note 20' device: 'phablet' - regex: '(?:SAMSUNG[- ])?(?:SM-N986(?:B/DS|U1|[0BCNUW])|SC-53A|SCG06)' model: 'Galaxy Note 20 Ultra 5G' device: 'phablet' - regex: '(?:SAMSUNG-)?SM-W750V' model: 'Ativ SE' - regex: '(?:SAMSUNG-)?SM-G310R5' model: 'GreatCall Touch 3' # explicit feature phones - regex: '(?:SAMSUNG-)?GT-E2152' model: 'E2152' device: 'feature phone' # explicit notebooks - regex: 'Chromebook 3' model: 'Chromebook 3' device: 'desktop' - regex: 'Chromebook Plus' model: 'Chromebook Plus' device: 'desktop' # general detections - regex: '(?:SAMSUNG-)?(GT-(P|N8|N5)[0-9]+[a-z]?)' device: 'tablet' model: '$1' - regex: 'SC-02C' model: 'Galaxy S II' - regex: '(?:SAMSUNG-)?((?:SM-[TNP]|GT-P)[a-z0-9_\-]+)' device: 'tablet' model: '$1' - regex: '((?:SCH|SGH|SPH|SHV|SHW|GT|SM)-[a-z0-9_\-]+)' model: '$1' - regex: 'SMART-TV' device: 'tv' model: 'Smart TV' - regex: 'Galaxy ([^/;)]+)(?: Build|[;)])' model: 'Galaxy $1' - regex: 'Galaxy ([a-z0-9]+)' model: 'Galaxy $1' - regex: 'SAMSUNG[\-][ ]?([a-z0-9]+[\-_][a-z0-9]+)' model: '$1' - regex: 'SAMSUNG;[ ]?([a-z0-9]+[\-_][a-z0-9]+)' model: '$1' - regex: 'SAMSUNG[ _/\-]?([a-z0-9\-]+)' model: '$1' - regex: 'SAMSUNG;(?! CPU OS)[ ]?([a-z0-9 ]+)' model: '$1' - regex: 'SEC_SC-([a-z0-9]+)' model: 'SC-$1' # NTT DoCoMo - regex: 'SEC-([a-z0-9]+)' model: '$1' - regex: 'SAM-([a-z0-9]+)' model: 'SCH-$1' - regex: '(?:portalmmm|o2imode)/2\.0 ([SZ][a-z0-9]+)' model: '$1' - regex: 'sam([rua][0-9]+)' model: 'SCH-$1' # Sanei Sanei: regex: '(?:8312D|G(60[25]|70[3568]G?|785|803)|N83(?:-2cpu)?|N91) Build' device: 'smartphone' models: - regex: 'N83' model: 'N83' - regex: 'N91' model: 'N91' - regex: '8312D' model: 'G101' - regex: 'G(60[25]|70[3568]G?|785|803)' model: 'G$1' # Selfix Selfix: regex: 'SELFIX' device: 'smartphone' models: - regex: 'SELFIX_SLASH6' model: 'Slash 6' - regex: 'VOYAGER-V45' model: 'Voyager V45' - regex: 'SELFIX_ES732_EXPERIUS' model: 'ES732 Experius' - regex: 'SELFIX_Q5_URBAN' model: 'Q5 Urban' - regex: 'SELFIX_Q3_REBEL' model: 'Q3 Rebel' - regex: 'SELFIX_Q6_STALLION' model: 'Q6 Stallion' - regex: 'SELFIX_V41_PRO_MARDIGRAS' model: 'V41 Pro Mardigras' # Senwa (senwamobile.com) Senwa: regex: 'Senwa|(?:S\-?(?:471|7[12]5|6[01]5|915|905TL|1000|5018)|V705B|LS50F| LS50?|LS5518H|LS5718|LS5018FP?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'S-?471(?:[);/ ]|$)' model: 'Jazz' - regex: 'S-?605(?:[);/ ]|$)' model: 'City' - regex: 'S-?905TL(?:[);/ ]|$)' model: 'Odin' - regex: 'S-?1000(?:[);/ ]|$)' model: 'Odin' - regex: 'S-?5018(?:[);/ ]|$)' model: 'Inizio' - regex: 'LS5018FP(?:[);/ ]|$)' model: 'Inizio Plus' - regex: 'LS5018F(?:[);/ ]|$)' model: 'Inizio LTE' - regex: 'S-?(615|7[12]5|915)(?:[);/ ]|$)' model: 'S$1' - regex: 'V705B(?:[);/ ]|$)' model: 'V705B' - regex: 'LS50F(?:[);/ ]|$)' model: 'Evolution' - regex: 'LS50(?:[);/ ]|$)' model: 'Pegasus' - regex: 'LS5(?:[);/ ]|$)' model: 'Thor' - regex: 'LS5518H(?:[);/ ]|$)' model: 'Sparkly' - regex: 'LS5718(?:[);/ ]|$)' model: 'Diamond' - regex: 'Senwa[ _-]*([^;/]+)(?: Build|[;)])' model: '$1' # Visual Land (www.visual-land.com) Visual Land: regex: '(?:Prime10(?:SE|ES)|Elite(?:7QS|8QI|9QL|10QH(?:Pro)?))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Prime10(SE|ES)' model: 'Prestige Prime 10$1' - regex: 'Elite10QHPro' model: 'Prestige Elite 10QH Pro' - regex: 'Elite(7QS|8QI|9QL|10QH)' model: 'Prestige Elite $1' # Sky or Sky Devices or SKY EVO (skydevices.com) Sky: regex: '(?:SKY|Elite|Fuego)[_ ][3-7]\.[05](?:[A-Z]{1,2})?|Elite[ _](?:Max|PHOTOPRO|5_0T|M45|[45]T|45T|GO|A63Max|M5Plus|T8Plus|T[46]|[ABCDHP]5|A6|5_5_Octa|Octa|[A-HJLNPTVR]55|[AB]65|[CG]63|T10)|Platinum[_ ](?:5\.0M|5\.5C|[56]\.[05]\+?|[ABCMP]4|[ACGKV]55|[ABDEFGHJKM]5|A7|A57|P9|X|UNO|VIEW2|O|4\.0|4_0Plus)|PLATINUMVIEW|SKY[ _](?:55M|Pro_III|PAD10|PAD8)|SKYVISION|SKY B(?:lack|63)| SKY[ _]Prestige|Sky Vision2|PRO_SELFIE|Premier5|Sky,' device: 'smartphone' models: - regex: 'Platinum[_ ](?:5\.0M|M5)' model: 'Platinum 5.0M' - regex: 'Platinum[_ ]5\.5C' model: 'Platinum 5.5C' - regex: 'Platinum[_ ]([56])\.([05])\+' model: 'Platinum $1.$2 Plus' - regex: 'Platinum_4_0Plus' model: 'Platinum 4.0 Plus' - regex: 'Platinum[ _]4\.0' model: 'Platinum 4.0' - regex: 'Platinum[_ ](P9) Pro(?:[);/ ]|$)' model: 'Platinum $1 Pro' - regex: 'Platinum[_ ]B4P(?:[);/ ]|$)' model: 'Platinum B4' - regex: 'Platinum[_ ]([ABCMP]4|[ACGK]55|[ABDEFGHJKM]5|A7|A57|P9|X|UNO|O|6\.0)(?:[);/ ]|$)' model: 'Platinum $1' - regex: 'Platinum[_ ]?VIEW(2)?(?:[);/ ]|$)' device: 'tablet' model: 'Platinum View$1' - regex: 'SKY[ _]PAD10Max' device: 'tablet' model: 'Pad 10 Max' - regex: 'SKY[ _]PAD8Pro' device: 'tablet' model: 'Pad 8 Pro' - regex: 'SKY[ _]PAD(10|8)' device: 'tablet' model: 'Pad $1' - regex: 'SKYVISION' device: 'tablet' model: 'Vision' - regex: 'Sky Vision2' device: 'tablet' model: 'Vision 2' - regex: 'Elite_Octaplus(?:[);/ ]|$)' device: 'tablet' model: 'Elite OctaPlus' - regex: 'Elite[_ ]T8Plus(?:[);/ ]|$)' device: 'tablet' model: 'Elite T8 Plus' - regex: 'Elite_OctaXS(?:[);/ ]|$)' device: 'tablet' model: 'Elite Octa XS' - regex: 'Elite OctaX(?:[);/ ]|$)' device: 'tablet' model: 'Elite Octa X' - regex: 'Elite Octa(?:[);/ ]|$)' device: 'tablet' model: 'Elite Octa' - regex: 'Elite OctaMax(?:[);/ ]|$)' device: 'tablet' model: 'Elite OctaMax' - regex: 'Elite_5_5_Octa' model: 'Elite 5.5 Octa' - regex: 'ELITE PHOTOPRO' model: 'Elite Photo Pro' - regex: 'Elite M5Plus' model: 'Elite M5 Plus' - regex: 'Elite ([ENP])55Max' model: 'Elite $155 Max' - regex: 'Elite A63Max' model: 'Elite A63 Max' - regex: 'SKY B63' model: 'Elite B63' - regex: 'Elite[ _](Max|M45|Go|[45]T|T[46]|[ABCDHP]5|A6|[A-HJLNPTVR]55|[AB]65|[CG]63|45T)(?:[);/ ]|$)' model: 'Elite $1' - regex: 'Elite (T10)' device: 'tablet' model: 'Elite $1' - regex: 'Elite[_ ]([3-7])[\._]([05](?:[A-Z]{1,2})?\+?)' model: 'Elite $1.$2' - regex: 'Fuego[_ ]([3-7]\.[05](?:[A-Z]{1,2})?\+?)' model: 'Fuego $1' - regex: 'SKY Black ?(2)?' model: 'Black $1' - regex: 'SKY_Pro_III' model: 'Pro III' - regex: 'PRO_SELFIE' model: 'Pro Selfie' - regex: 'SKY 5\.0Pro II' model: 'Pro II' - regex: 'SKY 55M' model: '55M' - regex: 'Premier5' model: 'Premier 5' - regex: 'SKY[ _]PrestigeX' model: 'Prestige X' - regex: 'SKY[ _]Prestige' model: 'Prestige' - regex: 'SKY[_ ]([3-7]\.[05](?:[A-Z]{1,2})?)' model: '$1' - regex: 'EM150' model: 'Q Mini' device: 'tv' - regex: 'ES130' model: 'Q 1TB' device: 'tv' - regex: 'ES140' model: 'Q 2TB' device: 'tv' - regex: 'ES240' model: 'Q 2TB' device: 'tv' - regex: 'ES340' model: 'Q 2TB V3' device: 'tv' - regex: 'Sky, (XiOneUK|LlamaUK), (?:wired|wireless)' model: '$1' device: 'tv' # Skyworth or SWTV Skyworth: regex: 'Sky_?worth|SWTV-|(?:FlowBox-F1|SWTV|SW-22AE NF)(?:[);/ ]|$)' device: 'tv' models: - regex: 'FlowBox-F1' model: 'FlowBox-F1' - regex: 'SW-22AE NF' model: 'SWTV-22AE NF' - regex: '(SWTV-2[02]AE(?:-PRO|-FHD)?)' model: '$1' - regex: 'Sky_?worth ([^;/)]+)(?: Build|[;)])' model: '$1' # Smartfren Smartfren: regex: 'Smartfren|Androtab|Andromax|PD6D1J|AD682J|AD68[89]G|AD6B1H|AD9A1H|AD682H|AD683G' device: 'smartphone' models: # explicit tablet models - regex: 'S7 Build' model: 'Andromax Tab 7.0' device: 'tablet' # explicit smartphone models - regex: 'PD6D1J' model: 'Andromax V3s' - regex: 'AD682J' model: 'Andromax T' - regex: 'AD688G' model: 'Andromax C2' - regex: 'AD689G' model: 'Andromax i3' - regex: 'AD682H' model: 'Andromax i3s' - regex: 'AD6B1H' model: 'Andromax G2 Hot' - regex: 'AD9A1H' model: 'Andromax G2' - regex: 'AD683G' model: 'Andromax I' - regex: 'B26D2H' model: 'Andromax L' - regex: 'New Andromax-i' model: 'New Andromax I' - regex: 'Andromax[ _\-]([^/;]+) Build' model: 'Andromax $1' - regex: 'Andromax[ _\-]([a-z0-9]+)' model: 'Andromax $1' - regex: 'Smartfren[ _\-]([^/;\)]+)(?: Build|[/;\)])' model: '$1' - regex: '(Androtab[^/;]+) Build' model: '$1' device: 'tablet' # Smartisan Smartisan: regex: 'Smartisan[_ ]|(SM(?:70[15]|[89]01|919)|OD10[35]|YQ60[1357]|DT2002C|DE106|DT190[12]A|O[CE]106|OS103|O[CS]105)[ /;\)]' device: 'smartphone' models: - regex: 'SM70[15]' model: 'T1' - regex: 'SM801' model: 'T2' - regex: 'SM901' model: 'M1' - regex: 'SM919' model: 'M1L' - regex: 'YQ60[1357]' model: 'U1' - regex: 'OD10[35]' model: 'Pro' - regex: 'OS105[ /;\)]' model: 'Pro 2' - regex: 'DE106[ /;\)]' model: 'R1' - regex: 'OE106[ /;\)]' model: 'Nut Pro 2s' - regex: 'OC10[56][ /;\)]' model: 'Nut 3' - regex: 'DT2002C[ /;\)]' model: 'Nut 2' - regex: 'DT190[12]A[ /;\)]' model: 'Nut Pro 3' - regex: 'OS103[ /;\)]' model: 'JianGuo Pro 2' - regex: 'Smartisan U3 Pro' model: 'U3 Pro' # STF Mobile STF Mobile: regex: '(?:AERIAL(?: PLUS)?|BLOCK_MINI|BLOCK GO|BLOCK 3|Fractal|Joy Pro|Origins Pro|SLAY II)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Fractal' model: 'Fractal' - regex: 'Origins Pro' model: 'Origins Pro' - regex: 'AERIAL PLUS' model: 'Aerial Plus' - regex: 'AERIAL' model: 'Aerial' - regex: 'BLOCK_MINI' model: 'Block Mini' - regex: 'BLOCK 3 mini' model: 'Block 3 Mini' - regex: 'BLOCK 3' model: 'Block 3' - regex: 'BLOCK GO' model: 'Block Go' - regex: 'SLAY II' model: 'Slay II' - regex: 'Joy Pro' model: 'Joy Pro' # STK STK: regex: 'STK[_ ]|(?:Storm 2e Pluz|Life 7S)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Life 8' model: 'Life 8' - regex: 'Life 7S' model: 'Life 7S' - regex: 'Storm 2e Pluz' model: 'Storm 2e Plus' - regex: 'Sync 5z Plus' model: 'Sync 5z Plus' - regex: 'STK[_ ]Transporter[_ ]1' model: 'Transporter 1' - regex: 'STK[_ ]([^/;)]+)(?: Build|[;)])' model: '$1' - regex: 'STK[_ ]([a-z0-9]+)' model: '$1' # Stonex Stonex: regex: 'STX[ -]([^;/]+)|STONE EVO' device: 'smartphone' models: - regex: 'STX[ -]([^;/]+) Build' model: '$1' - regex: 'STX[ -]([a-z0-9_-]+)' model: '$1' # SuperBOX SuperBOX: regex: 'SuperBOX_S2PRO(?:[);/ ]|$)' device: 'tv' model: 'S2 Pro' # Super General (https://www.supergeneral.com/) Super General: regex: 'SUPER GENERAL[;,]' device: 'tv' model: '' # SuperSonic SuperSonic: regex: '(SC-[0-9]+[a-z]+|SC-2110)' device: 'tablet' model: '$1' # Supra Supra: regex: 'SUPRA|NVTAB 7\.0 3G|M74C 3G' device: 'smartphone' models: - regex: 'SUPRA[ _]([^;/)]+)(?: Build|[;)])' device: 'tablet' model: '$1' - regex: '(NVTAB 7\.0 3G|M74C 3G)' device: 'tablet' model: '$1' # Sumvision Sumvision: regex: 'Cyclone (?:Voyager|X8)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Cyclone (?:Voyager 2|Voyager))(?:[);/ ]|$)' model: '$1' - regex: '(Cyclone X8)(?:[);/ ]|$)' device: 'tv' model: '$1' # SunVan SunVan: regex: 'SUNVAN[ _\-]' device: 'smartphone' models: - regex: 'SUNVAN[ _\-]?([^/;]+) Build' model: '$1' - regex: 'SUNVAN[ _\-]?([^);/ ]+)' model: '$1' # SWISSMOBILITY or Swiss Mobility SWISSMOBILITY: regex: '(?:SCHR9G[RL]|PRA(?:U8|100|557|507)|ZUR(?:722M|70016W?|700[RW]|805A))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SCHR9G[RL]' model: 'SCHON R9' - regex: 'PRA(U8|100|557|507)(?:[);/ ]|$)' model: 'PRA$1' - regex: 'ZUR722M' device: 'phablet' model: 'Z72 go' - regex: 'ZUR(70016W?|700[RW]|805A)(?:[);/ ]|$)' device: 'tablet' model: 'ZUR$1' # Thomson Thomson: regex: '(?:Primo(7|8)|QM73[45]-8G|QM734-2|QM736-8G\(HD\)|(?<!\.)8950|MID1002|5014G|TEO(?:13P|10[SM]|8M|7RK|X10[23]|104G)|Friendly_TH101|Delight TH201|TEOX10-MT8SL128LTE|HERO10RK|SPTEO10BK16|Origin_679(?:_Pro)?)(?:[);/ ]|$)|(?:Tlink|Every)[0-9]+|THOMSON[, ]' device: 'tablet' models: # already detected as manta device #- regex: 'MID1002' # model: 'MID1002' - regex: 'Primo(7|8)' model: 'Primo $1' - regex: 'QM734-2' model: 'QM734-2' - regex: 'QM734-8G' model: 'QM734-8G' - regex: 'QM735-8G' model: 'QM735-8G' - regex: 'QM736-8G\(HD\)' model: 'QM736-8G (HD)' - regex: '(?<!\.)8950(?:[);/ ]|$)' model: '3G 8950' - regex: 'SPTEO10BK16' model: 'TEO10BK16' - regex: 'TEOX10-MT8SL128LTE' model: 'TEOX10' - regex: 'TEO(13P|10[SM]|7RK|104G|X10[23]|8M)(?:[);/ ]|$)' model: 'TEO$1' - regex: 'HERO10RK' model: 'Hero 10RK' - regex: '(5014G|T510H)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # EGO-5014G - regex: 'Tlink([0-9]+)' device: 'smartphone' model: 'Tlink$1' - regex: 'Origin[_ ]679[_ ]Pro' device: 'smartphone' model: 'Origin 679 Pro' - regex: 'Origin[_ ]679' device: 'smartphone' model: 'Origin 679' - regex: 'Every([0-9]+)' device: 'smartphone' model: 'Every$1' - regex: 'Delight TH201' device: 'smartphone' model: 'Delight TH201' - regex: 'Friendly_TH101' device: 'smartphone' model: 'Friendly TH101' - regex: 'THOMSON[ _]SEREA500' device: 'smartphone' model: 'Serea 500' - regex: '((?:49|55)UC6306|55UC63|32HD55|40FD54|55UD63)' device: 'tv' model: '$1' # Tanix Tanix: regex: 'Tanix|(?:TX[53] MAX|TX[69]s|TX3 Mini|TX3MINI|TX5 Pro)(?:[);/ ]|$)' device: 'tv' models: - regex: 'TX([69])s' model: 'TX$1s' - regex: 'Tanix (A3)' model: '$1' - regex: 'TX([35]) MAX' model: 'TX$1 Max' - regex: 'TX5 Pro' model: 'TX5 Pro' - regex: 'TX3 Mini|TX3MINI' model: 'TX3 Mini' # Panavox Panavox: regex: 'Panavox' device: 'tv' models: - regex: 'Panavox Android TV(?:[);/ ]|$)' model: 'Smart TV' # Pantech Pantech: regex: 'Pantech|P[GN]-|PT-[a-z0-9]{3,}|(?<!Winmax )TX[T]?[0-9]+|IM-[a-z0-9]+(?:[);/ ]|$)|ADR910L' device: 'smartphone' models: # explicit smartphone models - regex: 'ADR910L' model: 'Star Q' - regex: 'IM-A860' model: 'Vega No 6' - regex: 'IM-A850' model: 'Vega R3' - regex: 'IM-A870K' model: 'Vega Iron' - regex: 'Pantech[ -]?(P4100)' device: 'tablet' model: '$1' - regex: 'Pantech[ -]?([a-z0-9]+)' model: '$1' - regex: 'Pantech_([a-z0-9\-]+)' model: '$1' - regex: '(P[GTN]-[a-z0-9]+)' model: '$1' - regex: '(TX[T]?[0-9]+) Pro' model: '$1 Pro' - regex: '(TX[T]?[0-9]+)' model: '$1' - regex: '(IM-[a-z0-9]+)(?:[);/ ]|$)' model: '$1' # Mosimosi Mosimosi: regex: '(?:momo3s)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'momo3s' model: 'momo3S' # Moxee or Moxee Technologies (https://www.moxee.com/) Moxee: regex: '(?:MH-T6000|MT-T8B22|MT-T800)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MH-T6000' model: '2160' - regex: 'MT-T8(00|B22)' device: 'tablet' model: 'MT-T8$1' # Ployer Ployer: regex: 'MOMO([0-9]|[ ]?mini[ ]?(?:S|3GS)?)' device: 'tablet' models: - regex: 'MOMOminiS' model: 'MOMO mini S' - regex: 'momo mini 3GS' model: 'MOMO Mini 3GS' - regex: 'MOMO([0-9][^);/]*)(?: Build|[;)])' model: 'MOMO $1' # Plum (plum-mobile.com) Plum: regex: 'PLUM[ _]|(?:Z51[89])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Z405' model: 'Gator 3' - regex: 'Z407' model: 'Axe 4' - regex: 'Z516' model: 'Compass' - regex: 'Z518' model: 'Compass 2' - regex: 'Z519' model: 'Gator 5' - regex: 'Z811' device: 'tablet' model: 'Optimax 11' - regex: 'Z709' device: 'tablet' model: 'Optimax 7' - regex: 'Z712' device: 'tablet' model: 'Optimax 12' # Polaroid Polaroid: regex: 'Polaroid|POLPAROID|(?:PMID|MIDC)[0-9a-z]+(?:[);/ ]|$)|MID(?:1014|0714)|PRO[VG]?(?:[0-9]{3,}[a-z]*|[0-9]{2}[a-z])|(?:P(?:400[56]|4526|500[56]|502[56]|504[67]|552[56])A|P902/A900|PSPC(?:505|550|[MZL]20A0|K2[01]NA)|SIGMA 5|MIDI109PDE|MIDI156PDE|MIDB1048PHE|MIDS145PXE|MIDS747PX|MID4004JBL|MIDS185PR|PSPTD21NA|POMDTB00[56]|PSPCL30A0|PSN-H116|BDL0232PR|Mobility3G|BDL1064PR001)(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: 'P4005A' model: 'Turbo C4' - regex: 'P5005A' model: 'Turbo C5' - regex: 'P4006A' model: 'Turbo D4' - regex: 'PSPTD21NA' model: 'Turbo D2 Plus' - regex: 'P4526A' model: 'Turbo E' - regex: 'PSPC(505|550)' model: 'Cosmo $1' - regex: 'PSPCL30A0' model: 'Cosmo C6' - regex: 'P5006A' model: 'Cosmo K' - regex: 'P5526A' model: 'Cosmo K Plus' - regex: 'PSPCK20NA' model: 'Cosmo K2' - regex: 'PSPCK21NA' model: 'Cosmo K2 Plus' - regex: 'P5026A' model: 'Cosmo L' - regex: 'PSPCL20A0' model: 'Cosmo L2' - regex: 'PSPCM20A0' model: 'Cosmo M2' - regex: 'P5046A' model: 'Cosmo P5s' - regex: 'P5525A' model: 'Cosmo Q5s' - regex: 'P5047A' model: 'Cosmo Z' - regex: 'PSPCZ20A0' model: 'Cosmo Z2' - regex: 'P5025A' model: 'L5s' - regex: 'PRO4611(?:PR201)?' model: 'Pro4611' - regex: 'PRO5023' model: 'Phantom 5' - regex: 'PROV400' model: 'Agate' - regex: 'PROV350' model: 'ProV350' - regex: 'SIGMA 5(?:[);/ ]|$)' model: 'Sigma 5' - regex: 'PRO([VG]?(?:[0-9]{3,}[a-z]*|[0-9]{2}[a-z]))' model: 'Pro$1' - regex: 'PSPT350' model: 'Turbo 350 Gris' - regex: 'PSN-H116' model: 'Snap' - regex: 'POLAROID, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' - regex: 'MIDS185PR|POLPAROID PURE' model: 'Pure 10.1"' device: 'tablet' - regex: 'Mobility3G' model: 'Mobility 10.1" 3G' device: 'tablet' - regex: '(MID(?:1014|0714|S145PXE|S747PX|4004JBL|B1048PHE|I109PDE|I156PDE)|POMDTB00[56]|BDL0232PR|BDL1064PR001)' model: '$1' device: 'tablet' - regex: '((?:PMID|MIDC)[0-9a-z]+)(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: '(P902/A900)(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: 'Polaroid' model: '' device: 'tablet' # PolyPad PolyPad: regex: 'POLY ?PAD' device: 'tablet' models: - regex: 'POLY ?PAD[_ \.]([a-z0-9]+)(?:[);/ ]|$)' model: '$1' - regex: 'POLY ?PAD[_\.]([a-z0-9]+)' model: '$1' # Polytron Polytron: regex: 'POLYTRON|W8480|W7430|PW1100S|W7550|W7531|W8570|R2401|R255B' device: 'smartphone' models: - regex: 'R2508' model: 'Rocket' - regex: 'POLYTRON[ _]R1500' model: 'Rocket Q-Five' - regex: 'R2401' model: 'Rocket 2X' - regex: 'POLYTRON[ _-]R2402' model: 'Rocket R2402' - regex: 'POLYTRON[ _-]R2403' model: 'Rocket R1' - regex: 'POLYTRON[ _-]R2406' model: 'Rocket R2' - regex: 'POLYTRON[ _-]R2407' model: 'Rocket R3' - regex: 'POLYTRON[ _-]R2452' model: 'Rocket S1' - regex: 'POLYTRON[ _-]R2457' model: 'Rocket S2' - regex: 'POLYTRON[ _-]R2501' model: 'Rocket T1' - regex: 'POLYTRON[ _-]R2507' model: 'Rocket T3' - regex: 'POLYTRON[ _-]R2509SE' model: 'Rocket T6 SE' - regex: 'POLYTRON[ _-]R2509' model: 'Rocket T6' - regex: 'POLYTRON[ _-]R250A' model: 'Rocket T7' - regex: 'POLYTRON[ _-]R2506' model: 'Rocket T4' - regex: 'POLYTRON[ _-](?:R3450|W1400)' model: 'Rocket Jetz' - regex: 'POLYTRON[ _-]R3500' model: 'Rocket Jetz 5.0' - regex: '4G450' model: 'Zap 5' - regex: 'W6500' model: 'Quadra Rocket' - regex: 'W7452' model: 'Quadra S2' - regex: 'W7550' model: 'Quadra V5' - regex: 'W8570' model: 'Quadra V7' - regex: 'POLYTRON[ _]L501' model: 'Rocket L501' - regex: 'POLYTRON[ _]P520' model: 'Prime 7S' - regex: 'POLYTRON[ _]P552' model: 'Prime 7 Pro' - regex: '4G500' model: 'Zap 6 Cleo' - regex: 'W8480' model: 'Crystal 4 W8480' - regex: 'W7531' model: 'Wizard V' - regex: 'W7430' model: 'Quadra Mini W7430' - regex: 'POLYTRON[ _]4G501' model: 'Zap 6 Posh' - regex: 'POLYTRON[ _]4G502' model: 'Zap 6 Power' - regex: 'POLYTRON[ _]4G503' model: 'Zap 6 Flaz' - regex: 'POLYTRON[_ ]?[ _]4G550' model: 'Zap 6 Note' - regex: 'POLYTRON[ _]4G551' model: 'Zap 6 Posh Note' - regex: 'PW1100S' model: 'PW1100S' - regex: 'Q2352' model: 'Q2352' - regex: 'R255B' model: 'Prime T8' - regex: 'POLYTRON[ _]T7800' model: 'Cosmica T7800' device: 'tablet' - regex: 'POLYTRON[ _]T7700' model: 'Rocket Pad' device: 'tablet' # Positivo (www.positivoempresas.com.br) Positivo: regex: '(?:YPY_S450|Twist 4(?: Fit|Pro)?|Twist (?:4G|5 Max)|T1085|Positivo (?:Q20|Slim)|M10 4G PRO X|UP 32|YOLO|Android 4([\d.]*);(?: [\w-]+;)? X400)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'YPY_S450' model: 'YPY S450' - regex: 'X400(?:[);/ ]|$)' model: 'X400' - regex: 'Positivo (Q20|Slim)(?:[);/ ]|$)' model: '$1' - regex: 'Twist 4 Mini' model: 'Twist 4 Mini' - regex: 'Twist 5 Max' model: 'Twist 5 Max' - regex: 'Twist 4 (Fit|Pro)' model: 'Twist 4 $1' - regex: 'YOLO' model: 'Twist 4 Fit' - regex: 'UP 32' model: 'Twist 4 Pro' - regex: 'Twist 4G' model: 'Twist 4G' - regex: 'Twist 4' model: 'Twist 4' - regex: 'T1085' device: 'tablet' model: 'T1085' - regex: 'M10 4G PRO X' device: 'tablet' model: 'M10 4G Pro X' # Prestigio (prestigio.ru) Prestigio: regex: 'Prestigio 5500 DUO|(?:PMP|PAP|PMT|PSP|PGPS)[0-9]+[a-z0-9_]+(?:[);/ ]|$)|Muze C3|PTV50SS04X_CIS_BK|PTV32SS08Z|PTV40SS04Y_CIS_ML|PTV32SS04Z_CIS_(?:ML|BK)|SILVER POS|PAB4411|GV7777' device: 'tablet' models: # explicit smartphone models - regex: 'Prestigio 5500 DUO' # PAP5500DUO model: 'MultiPhone 5500 Duo' device: 'smartphone' - regex: 'P[AS]P(5517|5503|550[578])DUO(?:[);/ ]|$)' model: 'MultiPhone $1 Duo' device: 'smartphone' - regex: 'PAP(7500)(?:[);/ ]|$)' model: 'MultiPhone $1' device: 'smartphone' - regex: 'PSP5551DUO' device: 'smartphone' model: 'Grace S5' - regex: 'PSP7590DUO' device: 'smartphone' model: 'Grace V7 LTE' - regex: 'PSP7551DUO' device: 'smartphone' model: 'Grace S7 LTE' - regex: 'PSP5470DUO' device: 'smartphone' model: 'Grace X5' - regex: 'PSP5530DUO' device: 'smartphone' model: 'Grace Z5' - regex: 'PSP3533DUO' device: 'smartphone' model: 'Grace Z3' - regex: 'PSP5515DUO' device: 'smartphone' model: 'Grace P5' - regex: 'PSP5552DUO' device: 'smartphone' model: 'Grace R5 LTE' - regex: 'PSP5506DUO' device: 'smartphone' model: 'Grace Q5' - regex: 'PSP5511DUO' device: 'smartphone' model: 'Grace M5 LTE' - regex: 'PSP7501DUO' device: 'smartphone' model: 'Grace R7' - regex: 'PSP7570DUO' device: 'smartphone' model: 'Grace P7 LTE' - regex: 'PSP7572DUO' device: 'smartphone' model: 'Grace B7' - regex: 'PSP3552DUO' device: 'smartphone' model: 'Muze H3' - regex: 'PSP5523DUO' device: 'smartphone' model: 'Muze H5 LTE' - regex: 'PSP3515DUO' device: 'smartphone' model: 'Muze M3 LTE' - regex: 'PSP3495DUO' device: 'smartphone' model: 'Muze V3 LTE' - regex: 'PSP3534DUO' device: 'smartphone' model: 'Muze K3 LTE' - regex: 'PSP5513DUO' device: 'smartphone' model: 'Muze D5 LTE' - regex: 'PSP5520DUO' device: 'smartphone' model: 'Muze B5' - regex: 'PSP5518DUO' device: 'smartphone' model: 'Muze X5 LTE' - regex: 'PSP5553DUO' device: 'smartphone' model: 'Muze F5 LTE' - regex: 'PSP5502DUO' device: 'smartphone' model: 'Muze A5' - regex: 'PSP5545DUO' device: 'smartphone' model: 'Muze E5 LTE' - regex: 'PSP7512DUO' device: 'smartphone' model: 'Muze E7 LTE' - regex: 'PSP3511DUO' device: 'smartphone' model: 'Muze G3 LTE' - regex: 'PSP5522DUO' device: 'smartphone' model: 'Muze G5 LTE' - regex: 'PSP7550DUO' device: 'smartphone' model: 'Muze G7 LTE' - regex: 'PSP7510DUO' device: 'smartphone' model: 'Muze C7 LTE' - regex: '(?:Muze C3|PSP3504DUO)(?:[);/ ]|$)' device: 'smartphone' model: 'Muze C3' - regex: 'PSP3512DUO' device: 'smartphone' model: 'Muze B3' - regex: 'PSP3532DUO' device: 'smartphone' model: 'Muze F3' - regex: 'PSP3470DUO' device: 'smartphone' model: 'Muze J3' - regex: 'PSP5524DUO' device: 'smartphone' model: 'Muze J5' - regex: 'PSP7511DUO' device: 'smartphone' model: 'Muze B7' - regex: 'PSP3514DUO' device: 'smartphone' model: 'Wize U3' - regex: 'PSP3513DUO' device: 'smartphone' model: 'Wize V3' - regex: 'PSP3416DUO' device: 'smartphone' model: 'Wize YA3' - regex: 'PSP3406DUO' device: 'smartphone' model: 'Wize Y3' - regex: 'PSP3423DUO' device: 'smartphone' model: 'Wize R3' - regex: 'PSP3471DUO' device: 'smartphone' model: 'Wize Q3 LTE' - regex: 'PSP3510DUO' device: 'smartphone' model: 'Wize G3' - regex: 'PSP3537DUO' device: 'smartphone' model: 'Wize NV3' - regex: 'PSP3528DUO' device: 'smartphone' model: 'Wize PX3' - regex: 'PSP3527DUO' device: 'smartphone' model: 'Wize NK3' - regex: 'PSP3468DUO' device: 'smartphone' model: 'Wize OK3' # explicit tables models - regex: 'SILVER POS' model: 'Silver POS' - regex: 'PMT3277_3G' model: 'MultiPad Ranger 7.0" 3G' - regex: 'PMT4337_3G' model: 'Seed A7 3G' - regex: 'PMT3997_W_D' model: 'SmartKids' - regex: 'PMT3103_W' model: 'SmartKids Max' - regex: 'PMT3104_Wi_D' model: 'SmartKids Up' - regex: 'PMT4511_4G' model: 'SmartKids Pro' - regex: 'PMT4208' model: 'Node A8 3G' - regex: 'PMT4771' model: 'Root A10 3G' - regex: 'PMP7070C3G' model: 'MultiPad 4 Diamond 7.0" 3G' - regex: 'PGPS7799CIS08GBPG(?:[);/ ]|$)' model: 'Geo Vision Tour 3' - regex: 'GV7777(?:[);/ ]|$)' model: 'Geo Vision 7777' - regex: 'PGPS7797(?:[);/ ]|$)' model: 'Geo Vision Tour 2' - regex: 'PMT(3118|38[74]8|3[123]01|3[12]57|778[18]|4[789]91|5588|5718|5791|577[18]|4327|3768)[_ ]([34])G' model: 'Grace $1 $2G' - regex: 'PMT3287_3G' model: 'MultiPad Ranger 8.0 3G' - regex: 'PMT4238_4G' model: 'Q Pro' - regex: 'PMT(1177|3208|3618|31[357]1|1157|1196|3[10]96|3[17]61|3407)[_ ]([34])GE?' model: 'MultiPad Wize $1 $2G' - regex: 'PMT(1107|3[456]37|3[34]27|3317|4638|4311|413[17]|411[178]|3771)[_ ]([34])GE?' model: 'Wize $1 $2G' - regex: 'PMT(3231|37[01]8|4231|4667|38[3678]1)[_ ]([34])GE?' model: 'Muze $1 $2G' - regex: 'PSP7546DUO([ _][A-Z]{2})?' model: 'X Pro' - regex: 'PSP7610DUO([ _][A-Z]{2})?' model: 'S Max' # explicit tv models - regex: 'PTV(\w+)_CIS_(ML|BK)' device: 'tv' model: 'PTV$1CIS$2' - regex: '(PAB4411)' device: 'tv' model: 'MultiCenter $1' - regex: '(PTV32SS08Z)' device: 'tv' model: '$1' # general detection - regex: '(PM[PT][0-9]+[a-z0-9_]+)(?:[);/ ]|$)' model: '$1' - regex: '((?:PAP|PSP)[0-9]+[a-z0-9_]+(?: DUO)?)(?:[);/ ]|$)' model: '$1' device: 'smartphone' # Sanyo Sanyo: regex: 'Sanyo|MobilePhone[ ;]' device: 'feature phone' models: # explicit feature phone models - regex: 'SCP-?6750' model: 'Katana Eclipse X' - regex: 'SCP-?6760' model: 'Incognito' - regex: 'SCP-?6780' model: 'Innuendo' - regex: 'SANYO[ /_-]([a-z0-9\-]+)' model: '$1' - regex: 'MobilePhone ([a-z0-9\-]+)' model: '$1' # Vankyo Vankyo: regex: 'Vankyo[_ ]|(?:QTAB1010X|S10_ROW|S[23]0_EEA|Z[14]_EEA)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Vankyo[_ ]S(10|[78])' model: 'MatrixPad S$1' - regex: '(S[23]0|Z[14])_EEA' model: 'MatrixPad $1' - regex: 'QTAB(1010X)' model: 'QTab $1' - regex: 'S10_ROW' model: 'MatrixPad S10' # Quest or Quest Mobile Quest: regex: 'Android 1[012](?:[\d.]*);(?: [\w-]+;)? RAPTOR(?! LTD)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'RAPTOR' model: 'Raptor' # QMobile or QSmart or Q-Smart (qmobile.com.pk) QMobile: regex: 'QMobile|QTab(?!10EW)|Q-?Smart|LINQ (?:L10|X100)|(?:Mark [25]|E2 Noir|Noir[ _](A[18]|X1S)|LUNA PRO|NICE S|JazzX JS(?:[27]|10)(?: PRO)?|LT[57]00[ _]PRO|LT950|Infinity (?:Cinema 2|triple|santos|Prime 2)|Q Infinity|Hot 5|Hot Pro 2|VITA S|i7i 2020|i10[ _]20(?:20|19)|V2 2018|Z12 PRO|Smart HD Pro|V[67]_Metal|Rocket (?:Lite|Pro)| GLi|i6i 2020|i6 Metal|Android 6(?:[\d.]*);(?: [\w-]+;)? (?:J5|S2 Pro|J7 PRO|M350 Pro)|Android 5(?:[\d.]*);(?: [\w-]+;)? Z9 Plus|i8i Dual|View Max Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'JazzX JS7 PRO' model: 'Jazz X JS7 Pro' - regex: 'JazzX JS(2|10)' model: 'Jazz X JS$1' - regex: 'Noir A1 lite' model: 'Noir A1 Lite' - regex: 'Noir[ _](A[18]|X1S)(?:[);/ ]|$)' model: 'Noir $1' - regex: 'Z9 Plus' model: 'Z9 Plus' - regex: 'A600(?:[);/ ]|$)' model: 'Noir A600' - regex: 'Z12 PRO' model: 'Noir Z12 Pro' - regex: 'QMobile (Z9|J2)' model: 'Noir $1' - regex: 'E2 Noir' model: 'E2 Noir' - regex: 'Hot Pro 2' model: 'Hot Pro 2' - regex: '(J7|S2) Pro' model: '$1 Pro' - regex: 'Hot 5' model: 'Hot 5' - regex: 'LT([57]00)[ _]PRO' model: 'Noir LT$1 Pro' - regex: 'View Max Pro' model: 'View Max Pro' - regex: 'X700 PRO II' model: 'X700 Pro II' - regex: 'X700 PRO Lite' model: 'X700 Pro Lite' - regex: 'X700 PRO' model: 'X700 Pro' - regex: 'M350 Pro' model: 'M350 Pro' - regex: 'LUNA PRO' model: 'Luna Pro' - regex: 'VITA S' model: 'Vita S' - regex: 'NICE S' model: 'Nice S' - regex: 'V([67])_Metal' model: 'V$1 Metal' - regex: 'i(\d+)i 20(20|1[89])' model: 'i$1i (20$2)' - regex: 'i10[ _]20(20|19)' model: 'i10 (20$1)' - regex: 'i6i 2020' model: 'i6i (2020)' - regex: 'i8i PRO' model: 'i8i Pro' - regex: 'i8i Dual' model: 'i8i Dual' - regex: 'QMobile I8i' model: 'i8i' - regex: 'i6 Metal ONE' model: 'i6 Metal One' - regex: 'i6 Metal HD' model: 'i6 Metal HD' - regex: 'i6 Metal (201[78])' model: 'i6 Metal ($1)' - regex: 'Smart HD Pro' model: 'Smart HD Pro' - regex: 'Rocket Pro' model: 'Rocket Pro' - regex: 'Rocket Lite' model: 'Rocket Lite' - regex: 'Mark ([25])' model: 'Mark $1' - regex: 'QSmart (X[124]0)' model: '$1' - regex: 'Infinity Cinema 2' model: 'Infinity Cinema 2' - regex: 'Infinity Prime 2' model: 'Infinity Prime 2' - regex: 'Infinity triple' model: 'Infinity Triple' - regex: 'Infinity santos' model: 'Infinity Santos' - regex: 'Q Infinity PRO' model: 'Q Infinity Pro' - regex: 'Q Infinity E Lite' model: 'Q Infinity E Lite' - regex: 'Q Infinity ([FCB])' model: 'Q Infinity $1' - regex: '(LT950|J5)(?:[);/ ]|$)' model: '$1' - regex: 'LINQ (L10|X100)' model: 'Linq $1' - regex: 'GLi Lite(?:[);/ ]|$)' model: 'GLi Lite' - regex: 'GLi(?:[);/ ]|$)' model: 'GLi' - regex: 'V2 2018(?:[);/ ]|$)' model: 'V2 (2018)' - regex: 'QMobile ENERGY (X[12])(?:[);/ ]|$)' model: 'Energy $1' # general detections - regex: 'QTab[ _-]([^;/]+) Build' model: '$1 Tab' device: 'tablet' - regex: 'QTab[ _-]([^;/)]+)(?:[;/)]|$)' model: '$1 Tab' device: 'tablet' - regex: '(?:QMobile|Q-?Smart)[ _-]([^;/)]+) Plus(?: Build|[;)])' model: '$1 Plus' - regex: '(?:QMobile|Q-?Smart)[ _-]([^;/)]+) PRO(?: Build|[;)])' model: '$1 Pro' - regex: '(?:QMobile|Q-?Smart)[ _-]([^;/)]+)(?: Build|[;)])' model: '$1' - regex: 'Q Infinity' model: 'Q Infinity' # COYOTE COYOTE: regex: 'COYOTE[ _]' device: 'tablet' models: - regex: '1090 DVR Maximus Pro' model: '1090 DVR Maximus Pro' # GPS tablet # Matco Tools Matco Tools: regex: '(Maximus 3\.0)' device: 'tablet' model: '$1' # Maximus (maximus-mobile.com) Maximus: regex: 'Maximus[ _]|(Noir X|G10 max|iX Ultra)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Maximus[ _])?(Noir X|D1)(?:[);/ ]|$)' model: '$1' - regex: 'G10 max(?:[);/ ]|$)' model: 'G10 Max' - regex: 'iX Ultra' model: 'iX Ultra' - regex: 'Maximus_(T2)' device: 'tablet' model: '$1' # TOOGO TOOGO: regex: 'TOOGO[_ ]' device: 'smartphone' models: - regex: 'TOOGO[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # Quantum Quantum: regex: 'Qrash|(?:Quantum (?:Fit|Five|Fly|UP|MUV (?:PRO|UP)|Go|Mini|M|V|You [2E])|GO 2|Q[23]0|LIO\+|Q-TITANO(_007i|-H2)?|Q-Pulse70M|Q-Wave(?:101|71M))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LIO\+(?:[);/ ]|$)' model: 'Lio Plus' - regex: 'GO 2(?:[);/ ]|$)' model: 'Go 2' - regex: 'Qrash(?:[);/ ]|$)' model: 'Qrash' - regex: 'Quantum (Fit|Five|Go|Mini|[MV]|Fly|You [2E]|Q[23]0)(?:[);/ ]|$)' model: '$1' - regex: 'Quantum MUV PRO(?:[);/ ]|$)' model: 'MUV Pro' - regex: 'Quantum MUV UP(?:[);/ ]|$)' model: 'MUV Up' - regex: 'Quantum UP(?:[);/ ]|$)' model: 'Up' - regex: 'Q-TITANO[ _-](BOS|X|M1|007i|H[12]|AK47)(?:[);/ ]|$)' model: 'Q-Titano $1' - regex: 'Q-Pulse70M(?:[);/ ]|$)' device: 'tablet' model: 'Q-Pulse 70M' - regex: 'Q-Wave(101|71M)(?:[);/ ]|$)' device: 'tablet' model: 'Q-Wave $1' # Quechua Quechua: regex: 'Quechua Phone 5' device: 'smartphone' model: 'Quechua Phone 5' # Quipus (https://quipus.gob.bo/) Quipus: regex: 'TINKU LTE(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TINKU LTE(?:[);/ ]|$)' model: 'Tinku' # Ramos Ramos: regex: 'Ramos ?([^/);]+)(?: Build|[);])|(?:MOS1(?:max)?|W22PRO 3G)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Ramos[ _])?(R10|R9|M7)(?:[);/ ]|$)' model: '$1' - regex: '(MOS1)(?:[);/ ]|$)' model: '$1' - regex: 'MOS1max' model: 'MOS1 Max' - regex: 'W22PRO 3G' device: 'tablet' model: 'W22 Pro 3G' - regex: 'Ramos ?([^/;]+)(?: Build|[);])' device: 'tablet' model: '$1' # Volla (https://volla.online/) Volla: regex: 'Volla Phone' device: 'smartphone' models: - regex: 'Volla Phone (22|X23)' model: 'Phone $1' # IPlus (https://iplus-mobile.com) I-Plus: regex: '(?:Nu65|iPlus P3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'iPlus P3' model: 'P3' - regex: '(Nu65)' model: '$1' # Razer (razer.com) Razer: regex: '(?:(?<!T )Phone 2|Razer Edge 5G)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Razer Edge 5G' device: 'console' model: 'Edge 5G' - regex: 'Phone 2' model: 'Phone 2' # Sendo Sendo: regex: 'Sendo([a-z0-9]+)' device: 'feature phone' model: '$1' # Silent Circle Silent Circle: regex: 'Blackphone 2' device: 'smartphone' model: 'Blackphone 2' # Ophone Ophone: regex: '(?:(?:Sigma|Beeta)_4_0|Active 5\.0)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Sigma_4_0' model: 'Sigma 4.0' - regex: 'Beeta_4_0' model: 'Beeta 4.0' - regex: 'Active 5\.0' model: 'Active 5.0' # Sigma or Sigma Mobile (sigmamobile.net) Sigma: regex: 'Sigma(?!Designs)|(X[_-]Style[ _]?Tab[_ ]A(\d+)|Tab_A1025_X-treme|X[-_ ]?treme[-_ ]?(?:PQ[0-9]{2}|PQ18_MAX)|X-Style_(?:S550[12]|S3502)|Tab A1015|Tab A802|Tab_A1010_Neo)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Sigma[ _])?X[-_ ]?treme[-_ ]?PQ([0-9]{2})[_ ]Max(?:[);/ ]|$)' model: 'X-Treme PQ$1 Max' - regex: '(?:Sigma[ _])?X[-_ ]?treme[-_ ]?PQ([0-9]{2})(?:[);/ ]|$)' model: 'X-Treme PQ$1' - regex: 'X[_-]Style[ _]?Tab[_ ]A(\d+)(?:[);/ ]|$)' model: 'X-Style Tab A$1' device: 'tablet' - regex: 'Tab_A1025_X-treme' model: 'X-Treme Tab A1025' device: 'tablet' - regex: 'Tab (A1015|A802)(?:[);/ ]|$)' model: 'Tab $1' device: 'tablet' - regex: 'Tab_A1010_Neo(?:[);/ ]|$)' model: 'Tab A1010 Neo' device: 'tablet' - regex: '(?:Sigma[ _])?X[-_ ]?Style[-_ ]S([0-9]+)(?:[);/ ]|$)' model: 'X-Style S$1' # Spice Spice: regex: '(?<![\d];)Spice(?!bird)|(?:Xlife[-_ ](?:\d+Q?|Victor5|M5q\+|M5 Pro|Proton5|Electro55HD))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Spice_)?Xlife[-_ ](\d+Q?|M5\+)(?:[);/ ]|$)' model: 'Xlife $1' - regex: 'Xlife-M5q\+' model: 'Xlife M5Q+' - regex: 'Xlife-M5 Pro' model: 'Xlife M5 Pro' - regex: 'Xlife-Victor5' model: 'Xlife Victor 5' - regex: 'Xlife-Proton5 Pro' model: 'Xlife Proton 5 Pro' - regex: 'Xlife-Electro55HD' model: 'Xlife Electro 55 HD' - regex: 'Spice[-_ ]?Mi-?(7\d{2})N(?:[);/ ]|$)' device: 'tablet' model: 'Mi-$1N' - regex: 'Spice[-_ ]?Mi-?(7\d{2})(?:[);/ ]|$)' device: 'tablet' model: 'Mi-$1' - regex: 'Spice[-_ ]?Mi-?(\d{3})N(?:[);/ ]|$)' model: 'Mi-$1N' - regex: 'Spice[-_ ]?Mi-?(\d{3})(?:[);/ ]|$)' model: 'Mi-$1' - regex: 'Spice[-_ ]?([^/;]+)(?: Build|[;)])' model: '$1' - regex: 'Spice[-_ ]?([^/;]+)(?:/|$)' model: '$1' # SGIN SGIN: regex: 'SGIN_(?:E10M|X10)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SGIN_E10M' model: 'E10M' - regex: 'SGIN_X10' model: 'X10' # F+ or F-Plus (fplusmobile.ru) F+: regex: '(?:(?:SH6[05]|SA50|SP65)_(?:2[13]|66)\d{3}|H166|R570E|P670|(?:SH6[05]|SA55) \dGB/\d{2}GB \d{4}mAh [HG]MS)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SA55 2GB' model: 'SA55' - regex: 'SH(6[05]) 2GB' model: 'SH$1' - regex: '(H166|P670|R570E)(?:[);/ ]|$)' model: '$1' - regex: '(SH6[05]|SA50|SP65)_(?:2[13]|66)\d{3}' model: '$1' # Sharp (jp.sharp) Sharp: regex: 'SHARP(?!_2|1)|SBM|SH-?[0-9]+[a-z]?(?:[);/ ]|$)|AQUOS|(?:SH-T01|SH-M26|SH-M0[14-9]|SH-M1[1-7](?:-y)?|S[357]-SH|SH-[MZ]([12]0|01|22)|SH-C06|SH-[CL]02|SH-RM(?:1[1258]|02)|SH-R?M19s?|SH-R10A|[34]04SH|401SH|[45]02SH|306SH|[36]05SH|70[1246]SH|80[138]SH|90[1678]SH|50[3679]SH|SHL2[1235]|SHV4[0-8]|SHV3[1-9](?:[-_]u)?|FS80(?:1[08]|32|28|0[29])|TG-L900S|NP601SH|403SH|603SH|SHF3[1-4]|SHV4[035][-_]u|SW001SH|SHG0[1-9]|X4-SH|A002SH|DM-01[JH]|A[01]01SH|606SH|FS801[56]|d-41A|d-51C|NP80[567]SH|NP501SH|A00[34]SH|A102SH|IS05|SH-(?:S50|53A|51B|[HDA]01|01FDQ|S40P|M24)|LP-0[12]|FS8014|SBM00[35]SH|SBM103SH|A10[345]SH|lineage_ss2|LCD_xxSUFOC475A|A20[1248]SH|FS802[56]|ADS1|STTM21VAPP|NPA205SH|SHG10|SHT21|A30[12]SH)(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: '506SH(?:[);/ ]|$)' model: 'Aquos Xx3' - regex: 'STTM21VAPP' model: 'Rouvo V' - regex: '603SH(?:[);/ ]|$)' model: 'Aquos Xx3 Mini' - regex: '50[23]SH(?:[);/ ]|$)' model: 'Aquos Xx2' - regex: '[34]04SH(?:[);/ ]|$)' model: 'Aquos Xx' - regex: '606SH(?:[);/ ]|$)' model: 'Aquos ea' - regex: '507SH(?:[);/ ]|$)' model: 'Android One' - regex: 'S3-SH(?:[);/ ]|$)' model: 'Android One S3' - regex: 'S5-SH(?:[);/ ]|$)' model: 'Android One S5' - regex: 'S7-SH(?:[);/ ]|$)' model: 'Android One S7' - regex: 'X4-SH(?:[);/ ]|$)' model: 'Android One X4' - regex: '(?:SHG06|A10[34]SH|SH-M20)(?:[);/ ]|$)' model: 'Aquos Wish' - regex: '(?:SH-51C|A204SH|SHG08)(?:[);/ ]|$)' model: 'Aquos Wish 2' - regex: 'SH-M04(?:[);/ ]|$)' model: 'Aquos SH-M04' - regex: 'SH-M05(?:[);/ ]|$)' model: 'Aquos Sense Lite' - regex: 'SH-(?:M26|54D)(?:[);/ ]|$)' model: 'Aquos Sense 8' - regex: 'SH-M07(?:[);/ ]|$)' model: 'Aquos Sense Plus' - regex: 'A003SH(?:[);/ ]|$)' model: 'Aquos Sense 4 Basic' - regex: 'SH-41A(?:[);/ ]|$)' model: 'Aquos Sense 4' - regex: 'SH-S40P(?:[);/ ]|$)' model: 'Aquos Sense 4 Plus' - regex: '(?:SH-54B|SHG05|SH-R?M19)(?:[);/ ]|$)' model: 'Aquos Sense 6' - regex: '(?:SHG07|SH-RM19s)(?:[);/ ]|$)' model: 'Aquos Sense 6s' - regex: 'A208SH(?:[);/ ]|$)' model: 'Aquos Sense 7 Plus' - regex: '(?:SH-53C|SH-M24|SHG10)(?:[);/ ]|$)' model: 'Aquos Sense 7' - regex: '(?:SHG03|A004SH|SH-M17|SH-53A|A105SH|SH-S50)(?:[);/ ]|$)' model: 'Aquos Sense 5G' - regex: 'SH-D01(?:[);/ ]|$)' model: 'Aquos D10' - regex: 'SH-M12(?:-y)?(?:[);/ ]|$)' model: 'Aquos S3 Dual SIM' - regex: 'SH-H01(?:[);/ ]|$)' model: 'Aquos Zeta' - regex: '(?:SH-[MZ]10|801SH)(?:[);/ ]|$)' model: 'Aquos Zero' - regex: '(?:SH-M13|906SH|SH-01M)(?:[);/ ]|$)' model: 'Aquos Zero 2' - regex: '(?:SHG04|A102SH|SH-RM18|Aquos zero6)(?:[);/ ]|$)' model: 'Aquos Zero 6' - regex: '(?:SHG02|A002SH)(?:[);/ ]|$)' model: 'Aquos Zero 5G Basic' - regex: '(?:SH-Z01|Aquos S2 4/64)(?:[);/ ]|$)' model: 'Aquos S2 (C10)' - regex: '(?:SH-02E|SH-01[GH]|SH-04H|SH-09D)(?:[);/ ]|$)' model: 'Aquos Phone Zeta' - regex: 'SH-01FDQ(?:[);/ ]|$)' model: 'Dragon Quest' - regex: 'SH-?06D(?:[);/ ]|$)' model: 'Aquos Phone SH-06D' - regex: '(SHL2[1235]|SH-M01|SH-01E)(?:[);/ ]|$)' model: 'Aquos Phone $1' - regex: 'SBM(203SH|30[23]SH)(?:[);/ ]|$)' model: 'Aquos Phone XX $1' - regex: 'SH-L02(?:[);/ ]|$)' model: 'Aquos L2' - regex: '(?:605SH|SH-03J|SHV39)(?:[);/ ]|$)' model: 'Aquos R' - regex: '(?:701SH|SHV41|SH-M06)(?:[);/ ]|$)' model: 'Aquos R Compact' - regex: '(?:SH-M09|SHV42|706SH|SH-03K)(?:[);/ ]|$)' model: 'Aquos R2' - regex: '803SH(?:[);/ ]|$)' model: 'Aquos R2 Compact' - regex: '(?:908SH|SHG01|SH-M14)(?:[);/ ]|$)' model: 'Aquos R5G' - regex: 'SH-M16(?:[);/ ]|$)' model: 'Aquos S4 Plus' - regex: 'SH-M15(?:[);/ ]|$)' model: 'Aquos S4 SIM' - regex: 'SH-C02(?:[);/ ]|$)' model: 'Aquos V' - regex: 'SH-C06(?:[);/ ]|$)' model: 'Aquos V7+' - regex: '(SHF3[1-4])(?:[);/ ]|$)' model: 'Aquos K $1' - regex: '704SH(?:[);/ ]|$)' model: 'Simple Smartphone 4' - regex: 'A201SH(?:[);/ ]|$)' model: 'Simple Smartphone 6' - regex: '(?:SH-02J|SH-04G)(?:[);/ ]|$)' model: 'Aquos Ever' - regex: 'SH-02H(?:[);/ ]|$)' model: 'Aquos Compact' - regex: '30[56]SH(?:[);/ ]|$)' model: 'Aquos Crystal' - regex: '402SH(?:[);/ ]|$)' model: 'Aquos Crystal X' - regex: '403SH(?:[);/ ]|$)' model: 'Aquos Crystal 2' - regex: '(?:509SH|SH-R10A)(?:[);/ ]|$)' model: 'Aquos 3' - regex: 'NP601SH(?:[);/ ]|$)' model: 'Aquos 2' - regex: '(?:SHV40|SHV3[24])(?:_u)?(?:[);/ ]|$)' model: 'Aquos S' - regex: '702SH(?:[);/ ]|$)' model: 'Aquos S Basic' - regex: 'Aquos P6(?:[);/ ]|$)' model: 'Aquos P6' - regex: 'SHV3[183](?:[);/ ]|$)' model: 'Aquos S Mini' - regex: '(?:FS8010|SH-M08|SHV43(?:-u)?|SH-01[KL]|lineage_ss2|Aquos S2)(?:[);/ ]|$)' model: 'Aquos S2' - regex: 'FS8016(?:[);/ ]|$)' model: 'Aquos S2 Plus' - regex: '(?:SHV46|SH-R?M11|901SH)(?:[);/ ]|$)' model: 'Aquos S3 Plus' - regex: '(?:SHV44|808SH|SH-04L|SH-03G)(?:[);/ ]|$)' model: 'Aquos R3' - regex: '(?:FS8032|FS8015|SH-02M|SHV45(?:-U)?)(?:[);/ ]|$)' model: 'Aquos S3' - regex: 'FS8018(?:[);/ ]|$)' model: 'Aquos S3 Mini' - regex: '(?:SHV48|907SH)(?:[);/ ]|$)' model: 'Aquos S3 Basic' - regex: 'SH-RM12(?:[);/ ]|$)' model: 'Aquos S3 Lite' - regex: 'SH-RM15(?:[);/ ]|$)' model: 'Aquos S4 Lite' - regex: 'SH-51A(?:[);/ ]|$)' model: 'Aquos R5G' - regex: '(?:SH-51B|A101SH|SH-M22)(?:[);/ ]|$)' model: 'Aquos R6' - regex: '(?:A202SH|SH-52C)(?:[);/ ]|$)' model: 'Aquos R7' - regex: '(?:SH-51D|A301SH)(?:[);/ ]|$)' model: 'Aquos R8 Pro' - regex: 'A302SH(?:[);/ ]|$)' model: 'Aquos wish3' - regex: '(?:SH-52D)(?:[);/ ]|$)' model: 'Aquos R8' - regex: 'SHV3[57](?:_u)?(?:[);/ ]|$)' model: 'Aquos U' - regex: 'TG-L900S(?:[);/ ]|$)' model: 'Luna S' - regex: 'SH-A01(?:[);/ ]|$)' model: 'B10' - regex: 'FS8026(?:[);/ ]|$)' model: 'A2 Lite' - regex: 'FS8025(?:[);/ ]|$)' model: 'A2' - regex: '(?:FS8002|SHV47)(?:[);/ ]|$)' model: 'Z2' - regex: 'FS8009(?:[);/ ]|$)' model: 'Z3' - regex: 'FS8014(?:[);/ ]|$)' model: 'R1' - regex: 'FS8028(?:[);/ ]|$)' model: 'R1S' - regex: 'SHV36(?:[);/ ]|$)' model: 'Basio 2' - regex: 'SHG09(?:[);/ ]|$)' model: 'Basio Active' - regex: 'SW001SH(?:[);/ ]|$)' model: 'Star Wars' - regex: 'SH-RM02' model: 'Aquos SH-RM02' - regex: '401SH' model: 'Aquos 401SH' - regex: '(DM-01[JH])' model: 'Disney Mobile $1' - regex: 'A001SH' model: 'Simple Sumaho 5' # (Simple Smartphone 5) - regex: 'NP80[56]SH' model: 'Aquos Keitai 3' - regex: 'NPA205SH' model: 'Aquos Keitai 4' - regex: 'NP807SH' model: 'Aquos Keitai 10' - regex: 'NP501SH' model: 'Aquos Keitai' - regex: 'LP-0([12])(?:[);/ ]|$)' model: 'Leica Leitz Phone $1' - regex: 'SBM(00[35]SH)(?:[);/ ]|$)' model: 'Galapagos $1' # SoftBank - regex: 'SBM(103SH)(?:[);/ ]|$)' model: 'Aquos Phone $1' # SoftBank - regex: 'SH-02L(?:[);/ ]|$)' model: 'Aquos K-tai' - regex: 'SBM200SH(?:[);/ ]|$)' model: 'Pantone 6' # SoftBank # explicit tablet models - regex: 'SH-08E(?:[);/ ]|$)' device: 'tablet' model: 'Sharp Aquos Pad' - regex: 'SHT21(?:[);/ ]|$)' device: 'tablet' model: 'Aquos Pad SHT21' - regex: '(d-41A|d-51C)(?:[);/ ]|$)' device: 'tablet' model: 'dtab $1' - regex: '(SH-T01)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: '(LC-(?:[0-9]{2})[a-z0-9]+)(?:[);/ ]|$)' device: 'tv' model: '$1' - regex: 'LCD_xxSUFOC475A' device: 'tv' model: 'LCD-60SU475A' - regex: 'SHARP-AQUOS|AQUOSBrowser' device: 'tv' model: 'Aquos Net Plus' - regex: 'SHARP[ -]([a-z0-9\-]+)' model: '$1' - regex: 'AQUOS[ _-]TV([a-z0-9\-]+)' device: 'tv' model: 'Aquos TV$1' - regex: '(?:SHARP|SBM)([a-z0-9]+)' model: '$1' - regex: '(SH-?[0-9]+[a-z]?|IS05|ADS1)(?:[);/ ]|$)' model: '$1' # Simply or SIMPLE Mobile (simplemobile.com) Simply: regex: '(NP602SI)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Softbank Softbank: regex: 'Softbank|J-PHONE' device: 'smartphone' models: - regex: 'Softbank/[12]\.0/([a-z0-9]+)' model: '$1' - regex: '([a-z0-9]+);Softbank;' model: '$1' - regex: 'J-PHONE/[0-9]\.[0-9]/([a-z0-9\-]+)' model: '$1' # Sonim or Sonimtech (sonimtech.com) Sonim: regex: 'Sonim[ -]|XP(?:[67]7|[358]8|99)00(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Sonim-)?XP3400' model: 'XP3400' device: 'feature phone' - regex: '(?:Sonim-)?XP3800' model: 'XP3' - regex: '(?:Sonim-)?XP3900' model: 'XP3 Plus' - regex: '(?:Sonim-)?XP5800' model: 'XP5s' - regex: '(?:Sonim-)?XP5700' model: 'XP5' - regex: '(?:Sonim-)?XP6700' model: 'XP6' - regex: '(?:Sonim-)?XP7700' model: 'XP7' - regex: '(?:Sonim-)?XP8800' model: 'XP8' - regex: '(?:Sonim-)?XP9900' model: 'XP10' # Star Star: regex: '(?:N(?:9[5678]00|8800|9000|9977)|Star[ _]N9589)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'N9000' model: 'Note 3' - regex: '(?:Star_)?N(9[5678]00|8800|9977|9589)(?:[);/ ]|$)' model: 'N$1' # Starmobile (starmobile.ph) Starmobile: regex: '(?:Starmobile (?:Play (?:Neo|Spark|GO|Click|Max)|Astra)|DIAMOND D1|UP[_ ](?:Sense|Rave|Groove|Octa|Prime|Selfie|Snap|Xtreme|XL|Max|Vision|Neo)|PLAY (?:Club|Style|Click LTE|Dash)|ENGAGE7\+)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Starmobile PLAY GO(?:[);/ ]|$)' model: 'Play Go' - regex: 'Starmobile ASTRA(?:[);/ ]|$)' model: 'Astra' - regex: 'DIAMOND D1(?:[);/ ]|$)' model: 'Diamond D1' - regex: '(?:Starmobile )?Play (Neo|Spark|Click|Club|Style|Max|Dash)(?:[);/ ]|$)' model: 'Play $1' - regex: 'UP[_ ](Sense|Rave|Groove|Octa|Prime|Selfie|Snap|Xtreme|XL|Max|Vision|Neo)(?:[);/ ]|$)' model: 'UP $1' - regex: 'ENGAGE7\+' device: 'tablet' model: 'Engage 7 Plus' # Ok Ok: regex: 'AFTWI001(?:[);/ ]|$)' device: 'tv' model: '4K (2020)' # Anker (https://www.anker.com/) Anker: regex: 'Anker|smarttv_AFTMM-Anker-AK-D3000111|(?:AFTMM|D21[45]0)(?:[);/ ]|$)' device: 'tv' models: - regex: 'Anker|smarttv_AFTMM-Anker-AK-D3000111|AFTMM(?:[);/ ]|$)' model: 'Nebula Soundbar' - regex: 'D2140(?:[);/ ]|$)' model: 'Nebula Cosmos' - regex: 'D2150(?:[);/ ]|$)' model: 'Nebula Cosmos Max' # Altus (https://www.altus.com.tr/) Altus: regex: 'Altus(?:[);/ ]|$)' device: 'tv' model: '' # Onida (https://www.onida.com/) Onida: regex: 'ONIDA[_ ](i4G1)|(?:AFTLE|AFTTIFF55)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ONIDA[_ ](i4G1)' model: '$1' - regex: 'AFTLE(?:[);/ ]|$)' model: 'Fire TV (2019)' device: 'tv' - regex: 'AFTTIFF55(?:[);/ ]|$)' model: 'Fire TV (2020)' device: 'tv' # Amazon Basics Amazon Basics: regex: '(?:AFTBU001|AFTPR001)(?:[);/ ]|$)' device: 'tv' models: - regex: 'AFTBU001(?:[);/ ]|$)' model: 'Fire TV (2020)' - regex: 'AFTPR001(?:[);/ ]|$)' model: 'Fire TV 4K (2020)' # Kindle Amazon: regex: '(?:smarttv_)?(?:AFT[ABMNRST]|AFTSSS?|AFTANNA0|AFTGAZL|AFTMM|AFTK(?:A|M|RT)|AFTTI43|AFTTIFF43|AFTHA001|AFTKA(?:UK)?002|SD4930UR|AEO(?:AT|B[CP]|C[HNW]|HY|KN|TA)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|[KMR]AWI|MEWI|[MSTQ]UWI|SNWI|RAPWI))(?:[);/ _]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK|Amazon;Echo' device: 'tablet' models: - regex: '(?:smarttv_)?AFTA(?:[);/ _]|$)' model: 'Fire TV Cube (Gen 1)' device: 'tv' - regex: '(?:smarttv_)?AFTR(?:[);/ _]|$)' model: 'Fire TV Cube (Gen 2)' device: 'tv' - regex: '(?:smarttv_)?AFTGAZL(?:[);/ _]|$)' model: 'Fire TV Cube (Gen 3)' device: 'tv' - regex: '(?:smarttv_)?AFTN(?:[);/ _]|$)' model: 'Fire TV (Gen 3)' device: 'tv' - regex: '(?:smarttv_)?AFTTI43' model: 'Fire TV 4-Series (2021)' device: 'tv' - regex: '(?:smarttv_)?AFTKA(?:UK)?002(?:[);/ _]|$)' model: 'Fire TV 2-Series (2023)' device: 'tv' - regex: '(?:smarttv_)?AFTANNA0(?:[);/ _]|$)' model: 'Fire TV (2021-2022)' device: 'tv' - regex: '(?:smarttv_)?AFTALMO(?:[);/ _]|$)' # Insignia or Pioneer model: 'Fire TV 2K (2022)' device: 'tv' - regex: '(?:smarttv_)?AFTHA001(?:[);/ _]|$)' # Hisense or Toshiba model: 'Fire TV 4K (2021-2022)' device: 'tv' - regex: '(?:smarttv_)?AFTB(?:[);/ _]|$)' model: 'Fire TV (Gen 1)' device: 'tv' - regex: '(?:smarttv_)?AFTSSS(?:[);/ _]|$)' model: 'Fire TV Stick (Gen 3)' device: 'tv' - regex: '(?:smarttv_)?AFTSS(?:[);/ _]|$)' model: 'Fire TV Stick Lite (Gen 1)' device: 'tv' - regex: '(?:smarttv_)?AFTTIFF43(?:[);/ _]|$)' model: 'Fire TV Omni QLED (2022)' device: 'tv' - regex: '(?:smarttv_)?AFT[MST](?:[);/ _]|$)' model: 'Fire TV Stick' device: 'tv' - regex: '.+FIRETVSTICK2018|(?:smarttv_)?AFTMM(?:[);/ _]|$)' model: 'Fire TV Stick 4K' device: 'tv' - regex: '(?:smarttv_)?AFTKM(?:[);/ _]|$)' model: 'Fire TV Stick 4K (2023)' device: 'tv' - regex: '(?:smarttv_)?AFTKA(?:[);/ _]|$)' model: 'Fire TV Stick 4K Max' # 2021 device: 'tv' - regex: '(?:smarttv_)?AFTKRT(?:[);/ _]|$)' model: 'Fire TV Stick 4K Max (2023)' device: 'tv' - regex: 'KFFOWI(?:[);/ ]|$)' model: 'Fire 7"' - regex: 'KFMUWI(?:[);/ ]|$)' model: 'Fire 7" (2019)' - regex: 'KFTT(?:[);/ ]|$)' model: 'Kindle Fire HD' - regex: 'KFJWI(?:[);/ ]|$)|Amazon Jem' model: 'Kindle Fire HD 8.9" WiFi' - regex: 'KFJWA(?:[);/ ]|$)' model: 'Kindle Fire HD 8.9" 4G' - regex: 'KFSOWI(?:[);/ ]|$)|Amazon Tate' model: 'Kindle Fire HD 7" WiFi' - regex: 'KFTHWI(?:[);/ ]|$)' model: 'Kindle Fire HDX 7" WiFi' - regex: 'KFTHWA(?:[);/ ]|$)' model: 'Kindle Fire HDX 7" 4G' - regex: 'KFAPWI(?:[);/ ]|$)' model: 'Kindle Fire HDX 8.9" WiFi' - regex: 'KFAPWA(?:[);/ ]|$)' model: 'Kindle Fire HDX 8.9" 4G' - regex: 'KFSNWI(?:[);/ ]|$)' model: 'Fire Max 11' - regex: 'KFARWI(?:[);/ ]|$)' model: 'Fire HD 6' - regex: 'KFASWI(?:[);/ ]|$)' model: 'Fire HD 7' - regex: 'KFQUWI(?:[);/ ]|$)' model: 'Fire 7 (2022)' - regex: 'KFAUWI(?:[);/ ]|$)' model: 'Fire HD 7 (2017)' - regex: 'KFMEWI(?:[);/ ]|$)' model: 'Fire HD 8 (2015)' - regex: 'KFRAP?WI(?:[);/ ]|$)' model: 'Fire HD 8 (2022)' - regex: 'KFGIWI(?:[);/ ]|$)' model: 'Fire HD 8 (2016)' - regex: 'KFDOWI(?:[);/ ]|$)' model: 'Fire HD 8 (2017)' - regex: 'KFKAWI(?:[);/ ]|$)' model: 'Fire HD 8 (2018)' - regex: 'KFONWI(?:[);/ ]|$)' model: 'Fire HD 8 (2020)' - regex: 'KFSAWI(?:[);/ ]|$)' model: 'Fire HDX 8.9' - regex: 'KFSAWA(?:[);/ ]|$)' model: 'Fire HDX 8.9 4G' - regex: 'KFTBWI(?:[);/ ]|$)' model: 'Fire HD 10' - regex: 'KFSUWI(?:[);/ ]|$)' model: 'Fire HD 10 (2017)' - regex: 'KFMAWI(?:[);/ ]|$)' model: 'Fire HD 10 (2019)' - regex: 'KFTRWI(?:[);/ ]|$)' model: 'Fire HD 10 (2021)' - regex: 'KFTUWI(?:[);/ ]|$)' model: 'Fire HD 10 (2023)' - regex: 'KFTRPWI(?:[);/ ]|$)' model: 'Fire HD 10 Plus (2021)' - regex: 'SD4930UR' model: 'Fire Phone' device: 'smartphone' - regex: 'KFOT|Kindle Fire|Silk-Accelerated' model: 'Kindle Fire' - regex: 'Kindle' model: 'Kindle' - regex: 'Amazon;Echo;' model: 'Echo' device: 'smart speaker' - regex: 'Echo/1|AEO(?:AT|BC|CN|KN|TA)(?:[);/ ]|$)' model: 'Echo' device: 'smart speaker' - regex: 'Amazon;Echo_Dot' model: 'Echo Dot' device: 'smart speaker' - regex: 'Amazon;Echo_Show_(\d+)' model: 'Echo Show $1' - regex: 'AEOBP(?:[);/ ]|$)' model: 'Echo Show (Gen 2)' device: 'smart speaker' - regex: 'AEOC[HW](?:[);/ ]|$)' model: 'Echo Show 8' device: 'smart speaker' - regex: 'AEOHY(?:[);/ ]|$)' model: 'Echo Show 15 (2021)' device: 'smart speaker' - regex: 'AlexaMediaPlayer' model: 'Alexa' device: 'smart speaker' - regex: 'Silk/\d+\.\d+' model: '' device: 'tv' # Syco (https://www.sycomobiles.be/) Syco: regex: 'RS-403(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'RS-403' model: 'RS-403' # Symphony (https://www.symphony-mobile.com/) Symphony: regex: 'SYMPHONY[ \_]([a-z0-9]+)|(?:(?:roar[ _](?:V20|A50|V78|E80|V150))|innova[123]0|roarV95|ZVIII?|V10[25]|V1[23]0|V128|V14[012]|V1[45]5|SYMTAB\d+| (?:i9[79]|i7[245]|i8[05]|i6[568]|i30|i1[58]|i120|Z30 pro|Z60 plus|[ZR]30|V9[246789]|V75m)|INOVA|Android 7(?:[\d.]*);(?: [\w-]+;)? P11|Android 6.*; (?:V75|i2[015])|EASY_NAV_2|G10\+|helio 30)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ZVIII' model: 'ZVIII' - regex: 'innova([123]0)' model: 'Innova $1' - regex: 'ZVII' model: 'ZVII' - regex: 'INOVA' model: 'iNova' - regex: 'Symphony Atom ii' model: 'Atom II' - regex: 'roar[ _]?(V20|A50|E80|V78|V95|V150)(?:[);/ ]|$)' model: 'Roar $1' - regex: '(Z30|P7) pro' model: '$1 Pro' - regex: '(Z60) plus' model: '$1 Plus' - regex: 'G10\+' model: 'G10 Plus' - regex: 'helio 30' model: 'helio 30' - regex: '(V141|V1[23]0|V10[25]|V128|V14[012]|i9[79]|i7[245]|i8[05]|i6[568]|i30|i1[58]|i120|V1[45]5|[ZR]30|V9[246789]|V75m?|i2[015]|P11)(?:[);/ ]|$)' model: '$1' - regex: 'SYMPHONY[ \_]([a-z0-9]+)' model: '$1' - regex: 'SYMTAB(\d+)' device: 'tablet' model: 'SymTab $1' - regex: 'EASY_NAV_2' device: 'tablet' model: 'Easy Nav 2' # Helio Helio: regex: 'Helio (S60|S5)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # HERO (https://www.only4hero.com/) HERO: regex: 'SP-001(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SP-001(?:[);/ ]|$)' model: 'SP-001' # Syrox Syrox: regex: '(SYX-(?:T70[04]|T10[12]))(?:[);/ ]|$)' device: 'tablet' model: '$1' # System76 (https://system76.com/) System76: regex: 'System76' device: 'desktop' models: - regex: 'System76 Galago Pro(?:[);/ ]|$)' model: 'Galago Pro' # Qtek Qtek: regex: 'Qtek[ _]?([a-z0-9]+)' device: 'smartphone' model: '$1' # Q-Box Q-Box: regex: 'QBOX(?:[);/ ]|$)' device: 'tv' model: '' # Q-Touch or Q.Touch or QTouch Q-Touch: regex: 'Qtouch_|[ ](Q09|QS701|Q0[15]A|QS31)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Qtouch[_ ])?[ ]?(Q09|QS701|Q0[15]A|Q85|QS31)(?:[);/ ]|$)' model: '$1' # G-Touch or GTouch G-Touch: regex: 'GTouch[_ ]|(?:Stella (?:XS?|Omega))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Stella (XS?|Omega)' model: 'Stella $1' - regex: 'GTouch[_ ]STELLA' model: 'Stella' # T-Mobile T-Mobile: regex: 'T-Mobile[ _][a-z0-9 ]+|(?:REVVLRY\+?|REVVL V\+ 5G|REVVL 2(?: PLUS)?|5062[ZW]|5007[ZW]|T790[WZ]|Telekom Puls|TMAF0[23]5G|TMRVL4G|TMRV0[67]P?5G|T Phone|T Tablet)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TMRVL4G' model: 'REVVL V' - regex: '5062[ZW]' model: 'REVVL 4 Plus' - regex: '5007[ZW]' model: 'REVVL 4' - regex: 'TMRV065G' model: 'REVVL 6x 5G' - regex: 'TMRV06P5G' model: 'REVVL 6x Pro 5G' - regex: 'T790[WZ]' model: 'REVVL 5G' - regex: 'REVVL 2 PLUS' model: 'REVVL 2 Plus' - regex: 'REVVL V\+ 5G' model: 'REVVL V+ 5G' - regex: 'REVVLRY' model: 'REVVL Plus' - regex: 'REVVL 2(?:[);/ ]|$)' model: 'REVVL 2' - regex: 'TMAF025G(?:[);/ ]|$)' model: 'REVVL 6 5G' - regex: 'TMRV075G(?:[);/ ]|$)' model: 'REVVL 7 5G' - regex: 'TMAF035G(?:[);/ ]|$)' model: 'REVVL 6 Pro 5G' - regex: 'TMRV07P5G(?:[);/ ]|$)' model: 'REVVL 7 Pro 5G' - regex: 'Telekom Puls(?:[);/ ]|$)' model: 'Telekom Puls' # Deutsche Telekom - regex: 'T Phone 2 Pro' model: 'T Phone 2 Pro' - regex: 'T Phone Pro \((2023)\)' model: 'T Phone Pro ($1)' - regex: 'T Phone \((2023)\)' model: 'T Phone ($1)' - regex: 'T Phone Pro(?:[);/ ]|$)' model: 'T Phone Pro' - regex: 'T Phone (\d*)(?:[);/ ]|$)' model: 'T Phone $1' - regex: 'T Phone(?:[);/ ]|$)' model: 'T Phone' - regex: 'T Tablet(?:[);/ ]|$)' device: 'tablet' model: 'T Tablet' # Deutsche Telekom - regex: 'T-Mobile[ _]([a-z0-9_ ]+) Build' model: '$1' - regex: 'T-Mobile[ _]([a-z0-9_ ]+)' model: '$1' # TB Touch TB Touch: regex: 'Ignis [89]' device: 'tablet' models: - regex: 'Ignis ([89])' model: 'Ignis $1' # Teclast (teclast.com) Teclast: regex: 'Teclast|P80_G3M2|TLA00[12]|TLA016|X98 Air III|M20_4G|X98 Air II\(HG5N\)|Tbook|X80 Power\(B2N4\)|P80H\(D1C2\)|T20\(T2E1\)|(?:[TM]40 Plus|T30|P80[XHT]|P20HD|P10[_ ]HD|M40|P10SE?|M30_Pro|M40SE|P8[05]|P25(?:_T)?|P85T|P[23]0S|P[34]0HD|T40S)_(?:ROW|EEA|RUS|W_EEA)|P20HD\(N6H5\)|T40 Plus\(M7T3\)|T40Pro|T40 PRO(?:\(T1A1\))?|T10\(E3C[56]\)|P10S\(N4H5\)|98\(M1E[45789]\)|98\(M3E3\)|X10 \(M1D3\)|M89 Pro|M40\(N9H[123]\)|P20HD\(N6H7\)|M40SE\(M5T3\)|M40(?:SE?|Pro|Air)_(?:ROW|EEA|RUS)|P30Air|P10HD_Lite|(?:T50|M40_?Plus|M40 Pro|T50Pro_W|TLG01|P26T|P40S)_(?:ROW|EEA)|M40Plus_EEA|P40HD_T_(?:EEA|ROW)|T40_Plus_RUS|T40 Air|(?: (?:T4[05]HD|P30T|P80X|M50HD))|(?:Android 13(?:[\d.]*);(?: [\w-]+;)? (?:M50 Pro|T[56]0)|T50HD)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Tbook[_ -]([^;/]+)(?: Build|[;)]|$)' model: 'Tbook $1' - regex: 'T10\(E3C[56]\)' model: 'T10' - regex: 'T20\(T2E1\)' model: 'T20' - regex: 'X10 \(M1D3\)' model: 'X10' - regex: 'P10S(?:\(N4H5\)|_(?:ROW|EEA))(?:[);/ ]|$)' model: 'P10S' - regex: 'P20HD_?(?:ROW|EEA|RUS)|P20HD\(N6H[57]\)' model: 'P20HD' - regex: 'P40HD' model: 'P40HD' - regex: 'P80T' model: 'P80T' - regex: 'P10[_ ]HD_(?:ROW|EEA)' model: 'Apex P10HD' - regex: 'P10HD_Lite' model: 'Apex P10HD Lite' - regex: 'P80[_ ](?:ROW|EEA)|P80_G3M2' model: 'P80' - regex: 'P30S' model: 'P30S' - regex: 'P85[_ ](?:ROW|EEA|RUS)' model: 'P85' - regex: 'M([43]0)[_ ]?Pro[_ ](?:ROW|EEA|RUS)' model: 'M$1 Pro' - regex: 'M50 Pro' model: 'M50 Pro' - regex: 'M20_4G' model: 'M20 4G' - regex: 'M89 Pro' model: 'M89 Pro' - regex: 'TLA002' model: 'M30 4G' - regex: 'TLA016' model: 'M16' - regex: 'M40Air' model: 'M40 Air' - regex: 'M40\(N9H[123]\)' model: 'M40' - regex: 'M40SE' model: 'M40 SE' - regex: 'M40[_ ]Plus' model: 'M40 Plus' - regex: 'M40S[_ ](?:ROW|EEA|RUS)' model: 'M40S' - regex: 'M40 Plus|M40Plus_' model: 'M40 Plus' - regex: 'T40 ?PRO' model: 'T40 Pro' - regex: 'T40 Air' model: 'T40 Air' - regex: 'TLA001' model: 'T40' - regex: 'T40[ _]Plus(?:_(?:ROW|EEA|RUS)|\(M7T3\))' model: 'T40 Plus' - regex: 'T(4[05])HD' model: 'T$1HD' - regex: 'M(50)HD' model: 'M$1HD' - regex: 'T50Pro_W' model: 'T50 Pro' - regex: 'P80H\(D1C2\)' model: 'P80h' - regex: '(P80[Xh]|P30HD|T30|M40|P25(?:_T)?|P10SE|T40S|P[24]0S|T[56]0|TLG01|P26T|P85T|P30T|T50HD)(?:[_ ](?:ROW|EEA))?(?:[);/ ]|$)' model: '$1' - regex: 'P80X' model: 'P80X' - regex: 'P30Air' model: 'P30 Air' - regex: '98\(M1E[45789]\)|98\(M3E3\)' model: 'TPad 98 10.1" 4G' - regex: 'X80 Power\(B2N4\)(?:[);/ ]|$)' model: 'X98 Power' - regex: 'X98 Air III(?:[);/ ]|$)' model: 'X98 Air III' - regex: 'X98 Air II\(HG5N\)(?:[);/ ]|$)' model: 'X98 Air II' - regex: 'Teclast[_ -]([^;/]+) Build' model: '$1' # Tecno Mobile or Tecno (https://www.tecno-mobile.com/) Tecno Mobile: regex: 'Tecno|Camon|Phantom[56]|Phantom6-Plus|Phantom6S|DP7C ?Pro-SGA1|(?:DP7CPRO|DP8D)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Phantom6-Plus' model: 'Phantom 6 Plus' - regex: 'Phantom6S' model: 'Phantom 6S' - regex: 'Phantom([56])' model: 'Phantom $1' - regex: 'TECNO[ _]AD8' model: 'Phantom X2' - regex: 'TECNO[ _]AD9' model: 'Phantom X2 Pro' - regex: 'TECNO[ _]AC8(?:[);/ ]|$)' model: 'Phantom X' - regex: 'TECNO[ _]AD10(?:[);/ ]|$)' model: 'Phantom V Fold' - regex: 'TECNO[ _]AD11(?:[);/ ]|$)' model: 'Phantom V Flip' - regex: 'TECNO[ _]AB7(?:[);/ ]|$)' model: 'Phantom 9' - regex: 'TECNO[ _]AX8(?:[);/ ]|$)' model: 'Phantom 8' - regex: 'TECNO WX3LTE' model: 'WX3 LTE' - regex: 'TECNO-W3' model: 'W3' - regex: 'TECNO[ _]F4 Pro(?:[);/ ]|$)' model: 'F4 Pro' - regex: 'TECNO[ _]IN5(?:[);/ ]|$)' model: 'Camon i' - regex: 'TECNO[ _]IA5(?:[);/ ]|$)' model: 'Camon iTwin' - regex: 'TECNO[ _]ID3k(?:[);/ ]|$)' model: 'Camon iAir 2+' - regex: 'TECNO[ _]KB2(?:[);/ ]|$)' model: 'Camon iAce 2' - regex: 'TECNO[ _]ID5b(?:[);/ ]|$)' model: 'Camon i2X' - regex: 'TECNO[ _]ID5a(?:[);/ ]|$)' model: 'Camon i2' - regex: 'TECNO[ _]ID6(?:[);/ ]|$)' model: 'Camon iClick 2' - regex: 'TECNO[ _]IN2(?:[);/ ]|$)' model: 'Camon iSky' - regex: 'TECNO[ _]IN1 Pro(?:[);/ ]|$)' model: 'Camon iSky 2' - regex: 'TECNO[ _]KB3(?:[);/ ]|$)' model: 'Camon iSky 3' - regex: 'Tecno[ _]7C(?:[);/ ]|$)' model: 'DroidPad 7C' device: 'tablet' - regex: 'Tecno[ _]P701(?:[);/ ]|$)' model: 'DroidPad 7D' device: 'tablet' - regex: '(?:DP7C ?Pro-SGA1|TECNO[ _]DP7CPRO|DP7CPRO)(?:[);/ ]|$)' model: 'DroidPad 7C Pro' device: 'tablet' - regex: 'Tecno[ _]P703(?:[);/ ]|$)' model: 'DroidPad 7F' device: 'tablet' - regex: 'Tecno[ _]P704a(?:[);/ ]|$)' model: 'DroidPad 7G' device: 'tablet' - regex: 'TECNO[ _]DP10A Pro(?:[);/ ]|$)' model: 'DroidPad 10A Pro' device: 'tablet' - regex: 'TECNO[ _]P904(?:[);/ ]|$)' model: 'DroidPad 10D 4G' device: 'tablet' - regex: 'DP8D(?:[);/ ]|$)' model: 'DroidPad 8D' device: 'tablet' - regex: 'Tecno[ _]RC6(?:[);/ ]|$)' model: 'R7+' - regex: 'Tecno[ _]CB7[j]?' model: 'Camon i4' - regex: 'Tecno[- _]C9(?:[);/ ]|$)' model: 'Camon C9' - regex: 'Tecno[ _]CF7[kS]?(?:[);/ ]|$)' model: 'Camon 11' - regex: 'Tecno[ _]CF8(?:[);/ ]|$)' model: 'Camon 11 Pro' - regex: 'Tecno[ _]CC7S?(?:[);/ ]|$)' model: 'Camon 12' - regex: 'Tecno[ _]CC9(?:[);/ ]|$)' model: 'Camon 12 Pro' - regex: 'Tecno[ _](?:CC6|KC3)(?:[);/ ]|$)' model: 'Camon 12 Air' - regex: 'Tecno[ _-]CD7(?:[);/ ]|$)' model: 'Camon 15' - regex: 'Tecno[ _-]CD6S?(?:[);/ ]|$)' model: 'Camon 15 Air' - regex: 'Tecno[ _-]CD8j(?:[);/ ]|$)' model: 'Camon 15 Premier' - regex: 'Tecno[ _-]CD8(?:[);/ ]|$)' model: 'Camon 15 Pro' - regex: 'Tecno[ _-](?:CE9h|CE7)(?:[);/ ]|$)' model: 'Camon 16' - regex: 'Tecno[ _-]CE9(?:[);/ ]|$)' model: 'Camon 16 Premier' - regex: 'Tecno[ _-]CE8(?:[);/ ]|$)' model: 'Camon 16 Pro' - regex: 'Tecno[ _-]CD6j(?:[);/ ]|$)' model: 'Camon 16 S' - regex: 'Tecno[ _-]CE7j(?:[);/ ]|$)' model: 'Camon 16 SE' - regex: 'Tecno[ _-]CG6j?(?:[);/ ]|$)' model: 'Camon 17' - regex: 'Tecno[ _-]CG8h?(?:[);/ ]|$)' model: 'Camon 17 Pro' - regex: 'Tecno[ _-]CG7n?(?:[);/ ]|$)' model: 'Camon 17P' - regex: 'Tecno[ _-](?:Mobile )?CH9n?(?:[);/ ]|$)' model: 'Camon 18 Premier' - regex: 'Tecno[ _-](?:Mobile )?CH6[nh]?(?:[);/ ]|$)' model: 'Camon 18' - regex: 'Tecno[ _-]CH7n?(?:[);/ ]|$)' model: 'Camon 18P' - regex: 'Tecno[ _-](?:CH6i|CI6n?)(?:[);/ ]|$)' model: 'Camon 19' - regex: 'Tecno[ _-](?:Mobile )?CI8n?(?:[);/ ]|$)' model: 'Camon 19 Pro' - regex: 'Tecno[ _-]CI7n(?:[);/ ]|$)' model: 'Camon 19 Pro 5G' - regex: '(?:Tecno[ _-]CK7n?|Camon 20 Pro)(?:[);/ ]|$)' model: 'Camon 20 Pro' - regex: 'Tecno[ _-]CK6n?(?:[);/ ]|$)' model: 'Camon 20' - regex: 'Tecno[ _-]CK8nB?(?:[);/ ]|$)' model: 'Camon 20 Pro 5G' - regex: 'Tecno[ _-]CK9n(?:[);/ ]|$)' model: 'Camon 20 Premier 5G' - regex: 'Tecno[ _-]CL6[ks]?(?:[);/ ]|$)' model: 'Camon 30' - regex: 'Tecno[ _-]CL9(?:[);/ ]|$)' model: 'Camon 30 Premier 5G' - regex: 'Tecno[ _-]CL7[ks]?(?:[);/ ]|$)' model: 'Camon 30 5G' - regex: 'Tecno[ _-]CL8(?:[);/ ]|$)' model: 'Camon 30 Pro 5G' - regex: 'Tecno[ _-]CA6S?(?:[);/ ]|$)' model: 'Camon CM' - regex: 'Tecno[ _-]CA7(?:[);/ ]|$)' model: 'Camon X' - regex: 'Tecno[ _-]CA8S?(?:[);/ ]|$)' model: 'Camon X Pro' - regex: 'Tecno[ _-]Camon CX(?:[);/ ]|$)' model: 'Camon CX' - regex: 'Tecno[ _-]CX Air(?:[);/ ]|$)' model: 'Camon CX Air' - regex: 'TECNO[ _]F3(?:[);/ ]|$)' model: 'Pop 1' - regex: 'TECNO[ _]B1(?:[);/ ]|$)' model: 'Pop 2' - regex: 'TECNO[ _]SA2S(?:[);/ ]|$)' model: 'Pop 2 Mini' - regex: 'TECNO[ _]B1[fg](?:[);/ ]|$)' model: 'Pop 2F' - regex: 'TECNO[ _](?:RA8|KB2h)(?:[);/ ]|$)' model: 'Pop 2S' - regex: 'TECNO[ _]KB2j(?:[);/ ]|$)' model: 'Pop 2S Pro' - regex: 'TECNO[ _]BA2(?:[);/ ]|$)' model: 'Pop 2 Plus' - regex: 'TECNO[ _]B1p(?:[);/ ]|$)' model: 'Pop 2 Power' - regex: 'TECNO[ _]RB8S(?:[);/ ]|$)' model: 'Pop 2X Plus' - regex: 'TECNO[ _]RB6S(?:[);/ ]|$)' model: 'Pop 2X Air' - regex: 'TECNO[ _]RB7S(?:[);/ ]|$)' model: 'Pop 2X' - regex: 'TECNO[ _]B1c(?:[);/ ]|$)' model: 'Pop 2F' - regex: 'TECNO[ _]SC7S(?:[);/ ]|$)' model: 'Pop 2 Air' - regex: 'TECNO[ _]BB2(?:[);/ ]|$)' model: 'Pop 3' - regex: 'TECNO[ _]BB4(?:[);/ ]|$)' model: 'Pop 3 Plus' - regex: 'TECNO[ _]BC2c?(?:[);/ ]|$)' model: 'Pop 4' - regex: 'TECNO[ _]BC3?(?:[);/ ]|$)' model: 'Pop 4 Pro' - regex: 'TECNO[ _]BC1(?:[);/ ]|$)' model: 'Pop 4 Air' - regex: 'TECNO[ _]BC1s(?:[);/ ]|$)' model: 'Pop 4 LTE' - regex: 'TECNO[ _]BD2[dp]?(?:[);/ ]|$)' model: 'Pop 5' - regex: 'TECNO[ _]L6502S(?:[);/ ]|$)' model: 'Pop 5X' - regex: 'TECNO[ _]BD1(?:[);/ ]|$)' model: 'Pop 5 Go' - regex: 'TECNO[ _]W5006S(?:[);/ ]|$)' model: 'Pop 5C' - regex: 'TECNO[ _]BD4[ai]?(?:[);/ ]|$)' model: 'Pop 5 LTE' - regex: 'TECNO[ _]BD4[jh](?:[);/ ]|$)' model: 'Pop 5 Pro' - regex: 'TECNO[ _]BD3(?:[);/ ]|$)' model: 'Pop 5P' - regex: 'TECNO[ _]BE7(?:[);/ ]|$)' model: 'Pop 6' - regex: 'TECNO[ _]BE6j?(?:[);/ ]|$)' model: 'Pop 6 Go' - regex: 'TECNO[ _]BE8[i]?(?:[);/ ]|$)' model: 'Pop 6 Pro' - regex: 'TECNO[ _](?:Mobile )?BF6(?:[);/ ]|$)' model: 'Pop 7' - regex: 'TECNO[ _]BF7h?(?:[);/ ]|$)' model: 'Pop 7 Pro' - regex: 'TECNO[ _]BG6[ih](?:[);/ ]|$)' model: 'Pop 8' - regex: 'Tecno[ _]SA1S Pro(?:[);/ ]|$)' model: 'SA1s Pro' - regex: 'Tecno[ _]KG5[mh]?(?:[);/ ]|$)' model: 'Spark Go (2022)' - regex: 'Tecno[ _](?:Mobile )?BF7n(?:[);/ ]|$)' model: 'Spark Go (2023)' - regex: 'Tecno[ _](?:Mobile )?BG6m?(?:[);/ ]|$)' model: 'Spark Go (2024)' - regex: 'Tecno[ _](?:Mobile )?KJ5n?(?:[);/ ]|$)' model: 'Spark 20' - regex: 'Tecno[ _](?:Mobile )?BG7n?(?:[);/ ]|$)' model: 'Spark 20C' - regex: 'Tecno[ _](?:Mobile )?KJ6(?:[);/ ]|$)' model: 'Spark 20 Pro' - regex: 'Tecno[ _](?:Mobile )?KJ7s?(?:[);/ ]|$)' model: 'Spark 20 Pro+' - regex: 'Tecno[ _]KA7O?(?:[);/ ]|$)' model: 'Spark 2' - regex: 'Tecno[ _]LB6?(?:[);/ ]|$)' model: 'Spark 2 Youth' - regex: 'Tecno[ _]KB7j?(?:[);/ ]|$)' model: 'Spark 3' - regex: 'Tecno[ _]KB8?(?:[);/ ]|$)' model: 'Spark 3 Pro' - regex: 'Tecno[ _](?:KC8S?|KC2j?)(?:[);/ ]|$)' model: 'Spark 4' - regex: 'Tecno[ _](?:KC6S?|KC1j)(?:[);/ ]|$)' model: 'Spark 4 Air' - regex: 'Tecno[ _]BB4k(?:[);/ ]|$)' model: 'Spark 4 Lite' - regex: 'Tecno[ _]KD6a?(?:[);/ ]|$)' model: 'Spark 5 Air' - regex: 'Tecno[ _]KD7[hS](?:[);/ ]|$)' model: 'Spark 5' - regex: 'Tecno[ _]KD7(?:[);/ ]|$)' model: 'Spark 5 Pro' - regex: 'TECNO[ _]KE7(?:[);/ ]|$)' model: 'Spark 6' - regex: 'TECNO[ _]KE6j?(?:[);/ ]|$)' model: 'Spark 6 Air' - regex: 'TECNO[ _]KE5[jk]?(?:[);/ ]|$)' model: 'Spark 6 Go' - regex: 'TECNO[ _](?:KF6(?:ks|[nhmjki])?|PR651[EH]?)(?:[);/ ]|$)' model: 'Spark 7' - regex: 'TECNO[ _]KF8(?:[);/ ]|$)' model: 'Spark 7 Pro' - regex: 'TECNO[ _]KF7j(?:[);/ ]|$)' model: 'Spark 7P' - regex: 'TECNO[ _]KF6p(?:[);/ ]|$)' model: 'Spark 7T' - regex: 'TECNO[ _](?:Mobile )?KG6k?(?:[);/ ]|$)' model: 'Spark 8' - regex: 'TECNO[ _]KG5[nkjq]?(?:[);/ ]|$)' model: 'Spark 8C' - regex: 'TECNO[ _]KG7[nh]?(?:[);/ ]|$)' model: 'Spark 8P' - regex: 'TECNO(?: Mobile)?[ _]KG6p(?:[);/ ]|$)' model: 'Spark 8T' - regex: 'TECNO(?: Mobile)?[ _]KG8(?:[);/ ]|$)' model: 'Spark 8 Pro' - regex: 'TECNO[ _]KH7n?(?:[);/ ]|$)' model: 'Spark 9 Pro' - regex: 'TECNO[ _]KG5p(?:[);/ ]|$)' model: 'Spark 9' - regex: 'TECNO[ _]KH6(?:[);/ ]|$)' model: 'Spark 9T' - regex: 'TECNO[ _](?:Mobile[ _])?KI5[km]' model: 'Spark 10C' - regex: 'TECNO[ _](?:Mobile[ _])?KI5' model: 'Spark 10' - regex: 'TECNO[ _]KI8' model: 'Spark 10 5G' - regex: 'TECNO[ _](?:Mobile[ _])?KI7' model: 'Spark 10 Pro' - regex: 'TECNO[ _]KC1h(?:[);/ ]|$)' model: 'Spark Go' - regex: 'TECNO[ _]KE5S(?:[);/ ]|$)' model: 'Spark Go (2020)' - regex: 'TECNO[ _]KC1(?:[);/ ]|$)' model: 'Spark Air' - regex: 'TECNO[ _]K9(?:[);/ ]|$)' model: 'Spark Plus' - regex: 'TECNO[ _]KA6(?:[);/ ]|$)' model: 'Spark Youth' - regex: 'TECNO[ _]KA9(?:[);/ ]|$)' model: 'Spark CM' - regex: 'Tecno[ _]DP8D(?:[);/ ]|$)' model: 'DroidPad 8D' device: 'tablet' - regex: 'Tecno[ _](P702AS)(?:[);/ ]|$)' model: 'DroidPad $1' device: 'tablet' - regex: 'TECNO[ _]LA7 Pro(?:[);/ ]|$)' model: 'Pouvoir 2 Pro' - regex: 'TECNO[ _]LA7(?:[);/ ]|$)' model: 'Pouvoir 2' - regex: 'TECNO[ _]LA6(?:[);/ ]|$)' model: 'Pouvoir 1' - regex: 'TECNO[ _]LB7(?:[);/ ]|$)' model: 'Pouvoir 3' - regex: 'TECNO[ _]LC6a?(?:[);/ ]|$)' model: 'Pouvoir 3 Air' - regex: 'Tecno[ _]LB8a?' model: 'Pouvoir 3 Plus' - regex: 'TECNO[ _]LC7S?(?:[);/ ]|$)' model: 'Pouvoir 4' - regex: 'TECNO[ _]LC8(?:[);/ ]|$)' model: 'Pouvoir 4 Pro' - regex: 'Tecno[ _-]J8(?:[);/ ]|$)' model: 'Boom J8' - regex: 'Tecno[ _-]RA7(?:[);/ ]|$)' model: 'R7 4G' - regex: 'Tecno[ _-]W3 Pro(?:[);/ ]|$)' model: 'W3 Pro' - regex: 'Tecno[ _-]WX3P(?:[);/ ]|$)' model: 'WX3 Pro' - regex: 'TECNO S9' device: 'phablet' model: 'S9' - regex: 'TECNO[ _]LD7j?(?:[);/ ]|$)' device: 'phablet' model: 'Pova' - regex: 'TECNO[ _]LE6h?(?:[);/ ]|$)' device: 'phablet' model: 'Pova Neo' - regex: 'TECNO[ _](?:Mobile )?LG6n(?:[);/ ]|$)' device: 'phablet' model: 'Pova Neo 2' - regex: 'TECNO[ _]LH6n(?:[);/ ]|$)' device: 'phablet' model: 'Pova Neo 3' - regex: 'TECNO[ _]LE6j(?:[);/ ]|$)' device: 'phablet' model: 'Pova Neo 5G' - regex: 'TECNO[ _]LE7n?(?:[);/ ]|$)' device: 'phablet' model: 'Pova 2' - regex: 'TECNO[ _]LF7n?(?:[);/ ]|$)' device: 'phablet' model: 'Pova 3' - regex: 'TECNO[ _]LE8(?:[);/ ]|$)' device: 'phablet' model: 'Pova 5G' - regex: 'TECNO[ _]LG7n(?:[);/ ]|$)' device: 'phablet' model: 'Pova 4' - regex: 'TECNO[ _]LG8n(?:[);/ ]|$)' device: 'phablet' model: 'Pova 4 Pro' - regex: 'TECNO[ _]LH7n(?:[);/ ]|$)' device: 'phablet' model: 'Pova 5' - regex: 'TECNO[ _](?:Mobile )?LH8n(?:[);/ ]|$)' device: 'phablet' model: 'Pova 5 Pro 5G' - regex: 'TECNO[ _](?:Mobile )?LI9(?:[);/ ]|$)' device: 'phablet' model: 'Pova 6 Pro 5G' - regex: 'TECNO[ _](?:Mobile )?LI7(?:[);/ ]|$)' device: 'phablet' model: 'Pova 6' - regex: 'TECNO[ _](?:Mobile )?LI6(?:[);/ ]|$)' device: 'phablet' model: 'Pova 6 Neo' - regex: 'Tecno (F2) ?LTE' model: '$1 LTE' - regex: '(?:TECNO[-_])?L8Plus' model: 'L8 Plus' - regex: 'TECNO[ _-]?(T611)(?:[);/ ]|$)' device: 'feature phone' model: '$1' - regex: 'Tecno[ _]([^;/]+)(?: Build|[);])' model: '$1' - regex: 'Tecno[ _-]?([a-z0-9_\-]+)' model: '$1' # TechSmart or Techmade TechSmart: regex: 'TECHSMART[_ ]' device: 'smartphone' models: - regex: 'TECHSMART[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # TechPad (techpad.mx) TechPad: regex: 'Tech[ _]?pad|XTAB[ _-]|(?:3G_16|Dual (?:C1081HD|C981HD)|S813G|NOTE[_ ]4CAM|M5(?:Go|Plus)|M6Plus|Android 8(?:[\d.]*);(?: [\w-]+;)? 816x?)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'S813G' model: 'S813G' - regex: 'TechPad10QC' model: '10QC' - regex: 'TechPad_10xx' model: '10XX' - regex: 'TechPad703' model: '703' - regex: 'Tech ?Pad[_ ](10Y|9x|i700|10Z|7QC|10QC)' model: '$1' - regex: 'TechPad[_ ]3Gx' model: '3Gx' - regex: '3G_16' model: '3G-16' - regex: 'Android 8(?:[\d.]*);(?: [\w-]+;)? (816x?)' model: '$1' - regex: 'Dual (C981HD|C1081HD)' model: 'XTAB $1' - regex: 'XTAB[ _-]([^/;)]+)(?: Build|[;)])' model: 'XTAB $1' # explicit smartphone models - regex: 'M5(Go|Plus)' device: 'smartphone' model: 'M5 $1' - regex: 'M6Plus' device: 'smartphone' model: 'M6 Plus' - regex: 'NOTE[ _]4CAM' device: 'smartphone' model: 'Note 4 Cam' # explicit feature phone models - regex: 'Tech_Pad_Kaios_One_3G' device: 'feature phone' model: 'Kaios One 3G' - regex: 'Tech ?pad[ _-]([^/;)]+)(?: Build|[;)])' model: '$1' device: 'smartphone' # Techwood Techwood: regex: 'Techwood' device: 'tv' model: '' # Teracube (https://myteracube.com/) Teracube: regex: 'Teracube' device: 'smartphone' models: - regex: 'Teracube (2e|One)(?:[);/ ]|$)' model: '$1' # Tesco Tesco: regex: 'Hudl (?:[^/;]+)(?: Build|[;)])|W032i-C3(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Hudl ([^/;]+)(?: Build|[;)])' model: 'Hudl $1' - regex: 'W032i-C3(?:[);/ ]|$)' model: 'Op3n Dott' # teXet (www.texet.ru) teXet: regex: 'Texet|(NaviPad [^/;]*) Build|TM-(?:1046|1058|1057|1067|3000|3200R|3500|400[34]|4071|450[34]|451[30]|4377|4082R|508[34]|550[358]|5010|5017|507[4-7]|5[23]77|6003|6906|702[13]|7055HD|709[69]|9747BT|9758|9751HD|9767|5513|520[410]|507[13]|558[134]|570[23]|7859|8044|9748[ _]3G|9720|7047HD[ _]3G|9757|9740|4982|4515|4083|500[3567]|5571|3204R|5016|8043|7047HD[ _]3G|8041HD|8066|705[23]|7041|8041HD|8051|8048|974[96]|973[78]W|974[170]|9743W|9750HD|7043XD|7049|7887|7037W|702[46])|TB-(771A|711A)|X Point|X-Force[\(-]?TM-5009\)?|X-Plus[\(-]?TM-5577\)?|TM_5011|X-pad (?:AIR 8|iX 7|NAVI 7\.[35]|NAVI 10|SKY 8\.1|STYLE 8|STYLE 10\.1|HIT|LITE 7\.[12]|QUAD (?:7\.2|10|7)|SHINE 8\.1)(?: 3G)?' device: 'tablet' models: - regex: 'TM-9749' model: 'X-pad Plus 7.1 3G' - regex: 'TM-9746' model: 'X-pad Plus 7 3G' - regex: 'TM-8051' model: 'X-pad Force 8i 3G' - regex: 'TM-1058' model: 'X-Force 10 3G' - regex: 'TM-8048' model: 'X-pad Force 8 3G' - regex: '(NaviPad [^/;]*) Build' model: '$1' - regex: 'TM-7055HD' model: 'NaviPad 3G' - regex: 'TM-9758' model: 'X-pad Style 10.0"' - regex: 'X-pad SHINE 8\.1 3G' model: 'X-pad Shine 8.1" 3G' - regex: 'X-pad QUAD 10 3G' model: 'X-pad Quad 10.0" 3G' - regex: 'X-pad QUAD 7 3G' model: 'X-pad Quad 7.0" 3G' - regex: 'X-pad QUAD 7\.2 3G' model: 'X-pad Quad 7.2" 3G' - regex: 'X-pad STYLE 8 3G' model: 'X-pad Style 8.0" 3G' - regex: 'X-pad HIT 3G' model: 'X-pad Hit 3G' - regex: 'X-pad LITE (7\.[12])' model: 'X-pad Lite $1"' - regex: 'TM-9767' model: 'X-pad Style 10.0" 3G' - regex: 'X-pad STYLE 10\.1 3G' model: 'X-pad Style 10.1" 3G' - regex: '(X-pad (?:AIR 8|iX 7) 3G)' model: '$1' - regex: 'TM-7096|X-pad NAVI 7\.3 3G' model: 'X-pad NAVI 7.3" 3G' - regex: 'TM-7099' model: 'X-pad NAVI 7.4" 3G' - regex: 'X-pad NAVI 7\.5 3G' model: 'X-pad NAVI 7.5" 3G' - regex: 'X-pad SKY 8\.1 3G' model: 'X-pad Sky 8.1" 3G' - regex: 'TM-1046|X-pad NAVI 10 3G' model: 'X-pad NAVI 10.0" 3G' - regex: 'TM-7859' model: 'X-pad NAVI 8.2" 3G' - regex: 'TM-7049' model: 'NaviPad TM-7049 3G' - regex: 'TM-7887' model: 'NaviPad TM-7887 3G' - regex: 'TM-8066' model: 'X-pad Rapid 8.2" 4G' - regex: '(TM-(?:1057|1067|6906|8043|9748[_ ]3G|9740|9757(?:[_ ]3G)?|7047HD[ _]3G|9747BT|9751HD|702[13]|705[23]|7041|9720|7047HD[_ ]3G|8044|8041HD|973[78]W|9743W|974[710]|9750HD|7043XD|7037W|702[46])|TB-(?:771A|711A|8041HD))' model: '$1' - regex: 'TM-4503' device: 'smartphone' model: 'X-Quad' - regex: '(TM-(?:3000|3200R|400[34]|4083|4377|4504|451[30]|500[35]|5[23]77|5571|3204R|520[04]|5581|5505|5017|507[13-7]|5081|6003|5513))' device: 'smartphone' model: '$1' - regex: 'TM-5006' device: 'smartphone' model: 'X-Line' - regex: 'TM-5007' device: 'smartphone' model: 'X-Shine' - regex: 'TM_5011' device: 'smartphone' model: 'X-Omega' - regex: 'TM-508(3|4)' device: 'smartphone' model: 'Pay $1G' - regex: 'TM-558(3|4)' device: 'smartphone' model: 'Pay 5.5" $1G' - regex: 'TM-5702' device: 'smartphone' model: 'Pay 5.7" 3G' - regex: 'TM-5703' device: 'smartphone' model: 'Pay 5.7" Pro' - regex: 'TM-5201' device: 'smartphone' model: 'Rock' - regex: 'TM-4515' device: 'smartphone' model: 'X-Style' - regex: 'TM-(5016|3500)' device: 'smartphone' model: 'X-Maxi 2' - regex: 'TM-4071' device: 'smartphone' model: 'X-Smart' - regex: 'TM-4982' device: 'smartphone' model: 'iX-Maxi' - regex: 'TEXET[_ ]IX-MINI' device: 'smartphone' model: 'iX-Mini' - regex: 'TM-5010' device: 'smartphone' model: 'X-Selfie' - regex: 'TM-4082R' device: 'smartphone' model: 'X-Driver Quad' - regex: 'TM-5503' device: 'smartphone' model: 'X-Mage' - regex: 'TM-5508' device: 'smartphone' model: 'X-Cosmo' - regex: 'X-Force[\(-]?TM-5009\)?' device: 'smartphone' model: 'X-Force' - regex: 'X-Plus[\(-]?TM-5577\)?' device: 'smartphone' model: 'X-Plus' - regex: 'teXet[_ ]X-medium[_ ]plus' device: 'smartphone' model: 'X-Medium Plus' - regex: 'X Point' device: 'smartphone' model: 'X-Point' # Telefunken Telefunken: regex: 'TELEFUNKEN|Foxtrot|TEL-1013GIQA|TEL-1014GIQ|TEL-73GIQA|TEL-74GIQ|TF-SP(?:500[12]|4002)|(TF-MID(?:[78]02G|70[78]G|80[46]G|9705RG|9707G|7805G|100[57]G|1010G))| TF5X| TF6|TF500|TF501_EC|(TF-LED(?:32S14T2S|43S9[57]T2SU|50S0[34]T2SU|50S25T2SU|55S11T2SU|58S06T2SU|65S75T2SU|32S39T2S|32S08T2S|32S5[289]T2S|32S60T2S|32S7[045]T2S|40S63T2S|40S19T2S|40S41T2S|43S94T2S|43S22T2SU)(?:-1)?)|LTE_LIMA|LTE Mike|Diamond_LTE|Outdoor (?:LTE|WT4|WT4-S)|TELP-1013KBC' device: 'tablet' models: - regex: 'TEL-1013GIQA' model: 'Giqa 10.1" 3G' - regex: 'TEL-(1014GIQ|74GIQ|73GIQA(?:11)?)' model: 'TEL-$1' - regex: 'Foxtrot2' model: 'Foxtrot 2' device: 'smartphone' - regex: 'LTE_LIMA' model: 'Lima LTE' device: 'smartphone' - regex: 'Diamond_LTE' model: 'Diamond LTE' device: 'smartphone' - regex: 'LTE Mike' model: 'Mike LTE' device: 'smartphone' - regex: '(?:TELEFUNKEN)?(TF-SP(?:500[12]|4002)|Outdoor (?:LTE|WT4-S|WT4)|Foxtrot|TF5X|TF6)' model: '$1' device: 'smartphone' - regex: '(TF-MID(?:[78]02G|70[78]G|80[46]G|9705RG|9707G|7805G|100[57]G|1010G)|TF501_EC|TELP-1013KBC)' model: '$1' - regex: '(TF-LED(?:\d{2}S\d{2}T2SU?)|TF500)' model: '$1' device: 'tv' - regex: 'TELEFUNKEN, ([a-z0-9_ \-]+), (?:wired|wireless)' model: '' device: 'tv' # Telego Telego: regex: 'TELEGO|Wise2_plus' device: 'smartphone' models: - regex: 'TELEGO-W503' model: 'W503' - regex: 'Telego_JOY2' model: 'Joy 2' - regex: 'Wise2_plus' model: 'Wise 2 Plus' - regex: 'Telego[ _-]([^/;)]+)(?: Build|[;)])' model: '$1' # Telenor Telenor: regex: '(?<!FBCR/)Telenor|(?:Infinity[_ ](?:E[2-5]|K2?|A2))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Telenor[ _]([^;/]+)(?: Build|[;)])' model: '$1' - regex: 'Infinity[ _](E[2-5]|K2?|A2)' model: 'Infinity $1' # Telit Telit: regex: 'Telit' device: 'feature phone' models: - regex: 'Telit_Mobile_Terminals-([a-z0-9]+)' model: '$1' - regex: 'Telit[\-_]?([a-z0-9]+)' model: '$1' # Telly (https://www.telly.com/) Telly: regex: 'TY55_1' device: 'tv' models: - regex: 'TY55_1' model: 'TY55-1' # Telma (https://www.telma.mg/) Telma: regex: 'Telma|(?:F1x4G|Feel_Plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Telma_F1_Max_4G' model: 'F1 Max 4G' - regex: 'TELMA F1\+4G' model: 'F1 Plus 4G' - regex: 'F1x4G' model: 'F1x 4G' - regex: 'Feel_Plus' model: 'Feel Plus' - regex: 'TELMA[_ ]FEEL' model: 'Feel' - regex: 'Telma[_ ](F2|Titan[_ ]4G|EGO)' model: '$1' # Telpo (https://www.telpo.com.cn/) Telpo: regex: 'TPS3[29]0' device: 'peripheral' models: - regex: 'TPS(3[29]0)' model: 'TPS$1' # ThL ThL: regex: 'ThL[ _-]|(?:Knight 2|THL5000|T200)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Knight 2' model: 'Knight 2' - regex: 'THL ?(5000)' model: '$1' - regex: '(T200)(?:[);/ ]|$)' model: '$1' - regex: 'Box 1 Pro(?:[);/ ]|$)' device: 'tv' model: 'Box 1 Pro' - regex: 'Box 1(?:[);/ ]|$)' device: 'tv' model: 'Box 1' - regex: 'ThL[ _-]*([^;/)]+)(?: Build|[;)])' model: '$1' - regex: 'ThL[ _-]*([^ ;/)]+)(?:[);/ ]|$)' model: '$1' # Tianyu TIANYU: regex: 'TIANYU' device: 'feature phone' models: - regex: 'TIANYU ([a-z0-9]+)' model: '$1' - regex: 'TIANYU-KTOUCH/([a-z0-9]+)' model: '$1' # Tooky Tooky: regex: 'TOOKY' device: 'smartphone' models: - regex: 'TOOKY (A19|W1|T8[368]|T1982)(?:[);/ ]|$)' model: '$1' - regex: 'TOOKY A9PLUS(?:[);/ ]|$)' model: 'A9 Plus' # Tolino Tolino: regex: 'Tolino Tab ([^/);]+)(?: Build|[);])' device: 'tablet' model: 'Tolino Tab $1' # Top House Top House: regex: 'Coto[_ ]|X1013' device: 'smartphone' models: - regex: 'Coto W418' model: 'Coto W418' - regex: 'COTO_T117' model: 'Coto T117' device: 'tablet' - regex: 'X1013' model: 'X1013' device: 'tablet' - regex: 'COTO_T40017' model: 'T40017' # Topelotek Topelotek: regex: 'KIDS(09|708)' device: 'tablet' model: 'KIDS$1 Kids Tablet' # Toplux Toplux: regex: 'Toplux ([a-z0-9]+)' device: 'feature phone' model: '$1' # Touchmate (touchmate.net) Touchmate: regex: 'TOUCHMATE|(TM-(?:MID870SB|MID1050WKD|MID1020A|MID794C|MID795|MID710|MID798|MID792|MID788D|SM500N|SM410|MID1010|MID1065))' device: 'smartphone' models: - regex: '(TM-(?:MID1020A|MID794C|MID795|MID710|MID798|MID792|MID788D|MID10[14]0|MID1065))' device: 'tablet' model: '$1' - regex: 'TM-MID870SB' device: 'tablet' model: 'SuperMan 8"' - regex: 'TM-MID1050WKD' device: 'tablet' model: 'Mega Matrix 10.1" 3G' - regex: '(TM-(?:SM500N|SM410))' model: '$1' - regex: 'Touchmate ([^/;]+) Build' model: '$1' # PEAQ (peaq-online.com) PEAQ: regex: 'PEAQ[ _]|PET \d{3}' device: 'tablet' models: - regex: 'PET ([^/;)]+)(?: Build|[;)])' model: 'PET $1' # TrekStor (www.trekstor.de) TrekStor: regex: '(?:TrekStor|Surftab) ([^/;]+)(?: Build|\))|Surftab[^;\)]*(?:[;\)]|$)|ST10216-2A|ST13416-1|VT10416-[12]|TFQCOAL01232|TFMTKAW01232|Xintroni10\.1' device: 'tablet' models: - regex: 'ST10216-2A|VT10416-[12]' model: 'SurfTab 10.1' - regex: 'ST13416-1' model: 'SurfTab Theatre 13.4"' - regex: 'Surftab theatre S11' model: 'SurfTab Theatre S11' - regex: 'PrimeTab P10' model: 'PrimeTab P10' - regex: 'TrekStor ([^/;]+) Build' model: '$1' - regex: 'Surftab ([^/;]+) Build' model: 'SurfTab $1' - regex: 'Surftab[ _]([^;\)]*)(?:[;\)]|$)' model: 'SurfTab $1' - regex: 'TFMTKAW01232' model: 'SurfTab L15' - regex: '(TFQCOAL01232)' model: '$1' - regex: 'Xintroni10\.1' model: 'SurfTab Xintron I 10.1"' # Trevi Trevi: regex: 'Trevi[ _]|TAB[ _]10[ _]3G[ _]V16|TAB[ _](7|8)[ _]3G[ _]V8|TAB9 3G|MINITAB 3GV|Phablet[ _](?:4|4\.5|5|5\,3|6)[ _]?[CSQ]|REVERSE[ _]5\.5[ _]?Q' device: 'tablet' models: - regex: 'TAB[ _]?(7|8)[ _]3G[ _]V8' model: 'TAB $1 3G V8' - regex: 'TAB[ _]?9[ _]3G[ _]V8' model: 'TAB 9 3G V8' - regex: 'TAB[ _]?9[ _]3G' model: 'TAB 9 3G' - regex: 'TAB[ _]10[ _]3G[ _]V16' model: 'TAB 10 3G V16' - regex: 'MINITAB 3GV' model: 'MINITAB 3G V' - regex: '(?:Trevi_)?Phablet[ _]4[ _]?C' model: 'Phablet 4 C' device: 'smartphone' - regex: '(?:Trevi_)?Phablet[ _]4[ _]?S' model: 'Phablet 4 S' device: 'smartphone' - regex: '(?:Trevi_)?Phablet[ _]4\.5[ _]?Q' model: 'Phablet 4.5Q' device: 'smartphone' - regex: '(?:Trevi_)?PHABLET[ _]5[ _]?S' model: 'Phablet 5 S' device: 'smartphone' - regex: '(?:Trevi_)?PHABLET[ _]5,3[ _]?Q' model: 'Phablet 5.3 Q' device: 'phablet' - regex: '(?:Trevi_)?REVERSE[ _]5\.5[ _]?Q' model: 'Phablet 5.5 Q REVERSE' device: 'phablet' - regex: '(?:Trevi_)?PHABLET[ _]6[ _]?S' model: 'Phablet 6 S' device: 'phablet' - regex: 'Trevi[_]([^;/]+) Build' model: '$1' # TVC TVC: regex: '(NuclearSX-SP5)' device: 'smartphone' model: 'Nuclear SX-SP5' # U.S. Cellular U.S. Cellular: regex: 'USCC-' device: 'smartphone' models: - regex: 'USCC-E6762' # Kyocera DuraForce model: 'Kyocera DuraForce' - regex: '(USCC-[a-z0-9_\-]+)' model: '$1' # Uhappy Uhappy: regex: 'Uhappy|UP?580|UP350|UP[35679]20' device: 'smartphone' models: - regex: 'UP([35679]20)' model: 'UP$1' - regex: 'UP350' model: 'UP350' - regex: 'UP580' model: 'UP580' - regex: 'U580' model: 'U580' - regex: 'Uhappy[ _-]([^;/]+) Build' model: '$1' - regex: 'Uhappy[ _-]?([^;/)]+)(?:[);/ ]|$)' model: '$1' # Unimax (UMX) Unimax: regex: 'U((?:67[013]|680)C|(?:452|504)TL|683CL|69[36]CL)(?:[);/ ]|$)' device: 'smartphone' model: 'U$1' # Unowhy (www.unowhy.com) Unowhy: regex: '(?:QOOQ|QOOQ-V[1-5]0?)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'QOOQ-V([1-5])0?' model: 'QOOQ V$1' - regex: 'QOOQ' model: 'QOOQ' # UTStarcom UTStarcom: regex: 'utstar[ _-]?([a-z0-9]+)' device: 'feature phone' model: '$1' # Ulefone (ulefone.com or ulefone.ru) Ulefone: regex: 'Ulefone|Gemini Pro|Power[ _]Armor14|Power 3S|Power_[356]|Power_5S|S(?:10|9)_Pro|(?:Note [89]P|Note 1[23]P|Armor(?! P1s)(?:[ _](?:[2367]|2S|X[236]|6[SE]|3WT|3W|X))?|U00[78][ _]Pro|Be[ _]X|Be[ _]Touch(?:[ _][23])?|Be[ _](?:One|Pure|Pro)(?:[ _]Lite)?|Note 14|Note (?:11P|7T)|Note 16 Pro|Tiger_lite|Note_7P|Note 10P|Paris_(?:Lite|X)|Paris|P6000_Plus|Vienna|GQ3060TF3|Android 11(?:[\d.]*);(?: [\w-]+;)? Note 6P?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'S(10|9)_Pro' model: 'S$1 Pro' - regex: 'Be[ _]Touch([ _][23])?' model: 'Be Touch$1' - regex: 'Be[ _]Pure[ _]Lite' model: 'Be Pure Lite' - regex: 'Be[ _]Pure' model: 'Be Pure' - regex: 'Be[ _]One[ _]Lite' model: 'Be One Lite' - regex: 'Be[ _]One' model: 'Be One' - regex: 'Be[ _]X' model: 'Be X' - regex: 'Be[ _]Pro' model: 'Be Pro' - regex: 'U(00[78]) Pro' model: 'U$1 Pro' - regex: 'P6000_Plus' model: 'P6000 Plus' - regex: 'Paris_lite' model: 'Paris Lite' - regex: 'Paris_X' model: 'Paris X' - regex: 'Paris' model: 'Paris' - regex: 'Tiger_lite' model: 'Tiger Lite' - regex: 'Power[ _]Armor[ _]?(\d+)[ _]Pro' model: 'Power Armor $1 Pro' - regex: 'Power Armor X11 Pro' model: 'Power Armor X11 Pro' - regex: 'Power Armor (\d+|19T|X11|18T|16S)(?:[);/ ]|$)' model: 'Power Armor $1' - regex: 'Armor[ _]6S(?:[);/ ]|$)' model: 'Armor 6S' - regex: 'GQ3060TF3(?:[);/ ]|$)' model: 'Armor 20WT' - regex: 'Armor[ _]([679])E(?:[);/ ]|$)' model: 'Armor $1E' - regex: 'Armor[ _]X(\d+) Pro(?:[);/ ]|$)' model: 'Armor X$1 Pro' - regex: 'Armor[ _]X(\d+)(?:[);/ ]|$)' model: 'Armor X$1' - regex: 'Armor[ _]([25])S(?:[);/ ]|$)' model: 'Armor $1S' - regex: 'Armor[ _]X(?:[);/ ]|$)' model: 'Armor X' - regex: 'Armor[ _]3W(?:[);/ ]|$)' model: 'Armor 3W' - regex: 'Armor[ _]3WT(?:[);/ ]|$)' model: 'Armor 3WT' - regex: 'Armor[ _](1\d|11T) 5G(?:[);/ ]|$)' model: 'Armor $1 5G' - regex: 'Armor[ _](8) Pro(?:[);/ ]|$)' model: 'Armor $1 Pro' - regex: 'Armor[ _]([236789])(?:[);/ ]|$)' model: 'Armor $1' - regex: 'Armor Pad([^;/)]*)(?: Build|[);])' device: 'tablet' model: 'Armor Pad$1' - regex: 'Armor([^;/)]*)(?: Build|[);])' model: 'Armor$1' - regex: 'Gemini Pro(?:[);/ ]|$)' model: 'Gemini Pro' - regex: 'Vienna' model: 'Vienna' - regex: 'Power[_ ]([356][SL]?)' model: 'Power $1' - regex: 'Note[ _]([78]P|7T|6|14)(?:[);/ ]|$)' model: 'Note $1' - regex: 'Note[ _](16) Pro(?:[);/ ]|$)' model: 'Note $1 Pro' - regex: 'Note ([69]|1[123]|10)P(?:[);/ ]|$)' device: 'phablet' model: 'Note $1P' - regex: 'Ulefone[_ ]Tab[_ ]([^;/)]+)(?: Build|[);])' device: 'tablet' model: 'Tab $1' - regex: 'Ulefone[_ ](X|S1[ _]Pro|S[17])(?:[);/ ]|$)' model: '$1' - regex: 'Ulefone[ _-]?([^;/]+) Build' model: '$1' - regex: 'Ulefone[ _-]?([^;/)]+)(?:[;/)]|$)' model: '$1' # UMIDIGI or UMI (www.umidigi.com) UMIDIGI: regex: 'UMI(?:DIGI)?[ _]|(?:A[5]_Pro|.+; A[79] Pro|S3_Pro|ROME[_ ]X|BISON|hammer_S|S2 LITE|London|Z2_PRO|C NOTE 2|A11 Pro Max|Power 3|Android 10(?:[\d.]*);(?: [\w-]+;)? (?:A3[SX]|A7S(?! 2020))|RP0[1234]|MT0[17]|MT1[01]|MP0[1-9]|MP1[3789]|MP2[034-79]|MP34|Plus E|S2_PRO|RP05|(?<! HP Engage )One Pro|Diamond_X|TG3DBG1MA|Android [67](?:[\d.]*);(?: [\w-]+;)? Z Pro|Android 8(?:[\d.]*);(?: [\w-]+;)? A1_PRO|RP08|MP3[38]|PR4JBX20A|PG2309GBA)(?:[;/) ]|$)' device: 'smartphone' models: - regex: 'MT01' device: 'tablet' model: 'A11 Tab' - regex: 'MT07' device: 'tablet' model: 'A13 Tab' - regex: 'TG3DBG1MA|MT10' device: 'tablet' model: 'G1 Tab' - regex: 'MT11' device: 'tablet' model: 'G2 Tab' - regex: '(A[13579]|Z2|S3)[_ ]Pro' model: '$1 Pro' - regex: 'A11 Pro Max' model: 'A11 Pro Max' - regex: 'MP17' model: 'C1 Max' - regex: 'MP29' model: 'C1 Plus' - regex: 'MP07' model: 'C1' - regex: 'MP20' model: 'C2' - regex: 'MP09' model: 'F3' - regex: 'MP19' model: 'F3 Pro 5G' - regex: 'MP13' model: 'F3 5G' - regex: 'MP18' model: 'G1 Max' - regex: 'MP01(?:[;/) ]|$)' model: 'A11S' - regex: 'MP05(?:[;/) ]|$)' model: 'A13S' - regex: 'MP33(?:[;/) ]|$)' model: 'A15' - regex: 'MP34(?:[;/) ]|$)' model: 'A15C' - regex: 'RP08(?:[;/) ]|$)' model: 'G5 Mecha' - regex: 'MP27(?:[;/) ]|$)' model: 'G5' - regex: 'PG2309GBA(?:[;/) ]|$)' model: 'G6 5G' - regex: 'MP38(?:[;/) ]|$)' model: 'G5A' - regex: 'MP24(?:[;/) ]|$)' model: 'G3' - regex: 'MP26(?:[;/) ]|$)' model: 'G3 Max' - regex: 'MP25(?:[;/) ]|$)' model: 'G3 Plus' - regex: 'UMI TOUCH X' model: 'Touch X' - regex: 'UMI TOUCH' model: 'Touch' - regex: 'Plus E' model: 'Plus E' - regex: 'One Pro' model: 'One Pro' - regex: 'ROME[_ ]X' model: 'Rome X' - regex: 'BISON GT' model: 'Bison GT' - regex: 'PR4JBX20A' model: 'Bison X20' - regex: 'RP05(?:[;/) ]|$)' model: 'Bison X10G' - regex: 'Bison N1' model: 'Bison N1' - regex: 'RP01(?:[;/) ]|$)' model: 'Bison X10' - regex: 'RP02(?:[;/) ]|$)' model: 'Bison GT2 5G' - regex: 'RP03(?:[;/) ]|$)' model: 'Bison GT2' - regex: 'RP04(?:[;/) ]|$)' model: 'Bison 2' - regex: 'BISON Pro' model: 'Bison Pro' - regex: 'BISON' model: 'Bison' - regex: 'hammer_S' model: 'Hammer S' - regex: 'Diamond_X' model: 'Diamond X' - regex: 'C NOTE 2' model: 'C Note 2' - regex: 'UMI[_ ]SUPER' model: 'Super' - regex: 'UMI[_ ]ZERO' model: 'Zero' - regex: 'Z Pro' model: 'Z Pro' - regex: 'S2 LITE' model: 'S2 Lite' - regex: 'S2_PRO' model: 'S2 Pro' - regex: 'Power 3' model: 'Power 3' - regex: 'MP02(?:[;/) ]|$)' model: 'Power 5S' - regex: 'MP08(?:[;/) ]|$)' model: 'G1' - regex: 'MP03(?:[;/) ]|$)' model: 'A13 Pro 5G' - regex: 'MP04(?:[;/) ]|$)' model: 'A13 Pro Max 5G' - regex: 'MP06(?:[;/) ]|$)' model: 'Power 7 Max' - regex: '(A3[SX]|A7S)(?:[;/) ]|$)' model: '$1' - regex: '(?:UMI_)?(London|Diamond(?:_X)?)' model: '$1' - regex: 'UMI(?:DIGI)?[ _]([^/;)]+)(?: Build|[;)])' model: '$1' # Uniqcell Uniqcell: regex: 'UNIQCELL_|(?:[AQ]5\.8|UNI (?:10X|GO))(?:[;/) ]|$)' device: 'smartphone' models: - regex: 'UNIQCELL_A4(?:[;/) ]|$)' model: 'A4' - regex: '(Space A5\.8|Q5\.8|UNI (?:10X|GO))(?:[;/) ]|$)' model: '$1' # Uniscope Uniscope: regex: 'Uniscope' device: 'smartphone' models: - regex: 'Uniscope[ _\-]?([^/;]+) Build' model: '$1' - regex: 'Uniscope[ _\-]?([^);/ ]+)' model: '$1' # Unistrong Unistrong: regex: '(UT10)(?:[;/) ]|$)' device: 'smartphone' model: '$1' # United Group (https://united.group/ or sbb.rs) United Group: regex: '(?:SDOTT0202|SDSTB02)(?:[;/) ]|$)' device: 'tv' models: - regex: 'SDOTT0202' model: 'EON Smart Box (2019-2020)' # SDMC SDOTT0202 - regex: 'SDSTB02' model: 'EON Smart Box (2023)' # SDMC SDSTB02 # Unnecto Unnecto: regex: 'Unnecto|(?:U513|U5151|U61[1356]|U7[12]0|U-830|U90[35])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'U513' model: 'Drone XT' - regex: 'U5151' model: 'Bolt' - regex: 'U611' model: 'Quattro X' - regex: 'U613' model: 'Quattro S' - regex: 'U615' model: 'Quattro M' - regex: 'U616' model: 'U616' - regex: 'U710' model: 'Quattro U710' - regex: 'U720' model: 'Quattro Z' - regex: 'U-830' model: 'Rush' - regex: 'U903' model: 'Air' - regex: 'U905' model: 'Air 5.5' # Unnion Technologies (https://www.unniontech.com/) Unnion Technologies: regex: 'UNSP7(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'UNSP7(?:[);/ ]|$)' model: 'SP7' # Unonu (unonumobile.com) Unonu: regex: 'Unonu[ _-]|(?:U4001|UT3G)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(U4001|UT3G)(?:[);/ ]|$)' model: '$1' - regex: 'Unonu[ _-]([^;/]+) Build' model: '$1' - regex: 'Unonu[ _-]?([^;/)]+)(?:[);/ ]|$)' model: '$1' # UTOK UTOK: regex: 'UTOK (45[01]D)|(?:Dorel \d|Dorel 3S|Hello 7Q)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'UTOK (45[01]D)' model: '$1' - regex: 'Dorel 3S' model: 'Dorel 3S' - regex: 'Dorel (\d)' model: 'Dorel $1' - regex: 'Hello 7Q' device: 'tablet' model: 'Hello 7Q' # Vastking Vastking: regex: '(?:M910A|M783K|M783K-16G|M1072R-3G|KingPad[_ ](?:[KM]10|SA10|SA8|Z10)(?:Pro)?)(?:_EEA)?(?:[);/ ]|$)' device: 'tablet' models: - regex: 'KingPad[_ ]([KM]10|SA10|SA8|Z10)(Pro)?' model: 'KingPad $1 $2' - regex: '(M910A|M783K|M783K-16G|M1072R-3G)(?:[);/ ]|$)' model: '$1' # ViewSonic (viewsonic.com) ViewSonic: regex: 'ViewSonic|ViewPad|ViewPhone|(?:IFP(?:98|86|[67]5)50-3|VSD[0-9]+|vsi7q_1)(?:[);/ ]|$)' device: 'smart display' models: - regex: '(?:ViewSonic-)?V500(?:[);/ ]|$)' model: 'V500' device: 'smartphone' - regex: 'ViewSonic A8\+(?:[);/ ]|$)' model: 'A8 Plus' device: 'smartphone' - regex: '(?:ViewSonic-)?ViewPhone ?([^;/]+) Build' model: 'ViewPhone $1' device: 'smartphone' - regex: 'vsi7q_1' model: 'ViewPad i7Q' device: 'tablet' - regex: '(?:ViewSonic-)?ViewPad[ _]?([^;/)]+)(?: Build|[;)])' model: 'ViewPad $1' device: 'tablet' - regex: '(VSD[0-9]+)(?:[);/ ]|$)' model: '$1' - regex: 'IFP(98|86|[67]5)50-3' model: 'ViewBoard IFP$150-3 $1" 4K' # Vitelcom Vitelcom: regex: 'Vitelcom|portalmmm/[12]\.0 TSM' device: 'feature phone' models: - regex: 'TSM-([a-z0-9]+)' model: '$1' - regex: 'TSM([a-z0-9\-]+)' model: '$1' - regex: 'portalmmm/[12]\.0 (TSM[a-z0-9 ]+)' model: '$1' # Fengxiang Fengxiang: regex: '(vKB011B|vKB004L)' device: 'tablet' model: '$1' # Fenoti Fenoti: regex: 'FENOTI' device: 'tv' models: - regex: 'FENOTI_(42FN6000F)(?:[);/ ]|$)' model: '$1' # VK Mobile VK Mobile: regex: 'VK-VK([79]00)(?:[);/ ]|$)' device: 'feature phone' model: 'VK$1' # Fortis Fortis: regex: '(Apollo 5 Neo)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # FortuneShip (http://www.fortuneship.com/) FortuneShip: regex: 'ENIE E2(?:[);/ ]|$)' device: 'smartphone' model: 'Enie E2' # Vernee Vernee: regex: 'Vernee|(?:Mars Pro|Apollo[ _](?:Lite|X)|Thor (?:E|Plus)|X2_euro|M7_EEA|T3 Pro|V2 Pro|(?<!MAXTRON )Apollo(?! Premium))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Apollo[ _]Lite' model: 'Apollo Lite' - regex: 'Apollo[ _]X' model: 'Apollo X' - regex: 'Apollo' model: 'Apollo' - regex: 'Mars Pro' model: 'Mars Pro' - regex: 'Thor E' model: 'Thor E' - regex: 'Thor Plus' model: 'Thor Plus' - regex: 'Vernee_M5' model: 'M5' - regex: 'M7_EEA' model: 'M7' - regex: 'X2_euro' model: 'X2' - regex: '(V2|T3) Pro' model: '$1 Pro' - regex: 'Vernee[ _-]([^;/]+) Build' model: '$1' - regex: 'Vernee[ _-]([a-z0-9_-]+)' model: '$1' # Vertu (www.vertu.com) Vertu: regex: 'Vertu[ ]?([a-z0-9]+)|(?:ASTER(?: [PT])?|CONSTELLATION X|VTL-202[12]01)(?:[);/ ]|$)' device: 'feature phone' models: - regex: 'ASTER( [PT])?(?:[);/ ]|$)' device: 'smartphone' model: 'Aster$1' - regex: 'VTL-202101(?:[);/ ]|$)' device: 'smartphone' model: 'iVertu 5G' - regex: 'VTL-202201(?:[);/ ]|$)' device: 'smartphone' model: 'Metavertu 5G' - regex: 'CONSTELLATION X(?:[);/ ]|$)' device: 'smartphone' model: 'Constellation X' - regex: 'Vertu[ ]?([a-z0-9]+)' model: '$1' # Veidoo (https://veidoo.com/) Veidoo: regex: 'VEIDOO' device: 'tablet' models: - regex: 'VEIDOO_(T60)_PLUS(?:[);/ ]|$)' model: '$1 Plus' # Venso mobile Venso: regex: '(?:CX-508|CX-551|Reiv 500|Creon F5|Isprit U50|Isprit-U50-LTE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Isprit U50|Isprit-U50-LTE' model: 'Isprit U50' - regex: '(CX-508|CX-551|Reiv 500|Creon F5)' model: '$1' # Venturer (https://venturer.com/) Venturer: regex: '(?:VCT([a-z0-9_-]+)|CT9A03W23|CT9A06P23)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'VCT9B06Q22(?:[);/ ]|$)' model: 'Challenger Pro 10.1"' - regex: '(?:CT9A03W23|CT9A06P23)(?:[);/ ]|$)' model: 'Mariner 10 Pro' - regex: 'VCT([a-z0-9_-]+)' model: 'VCT$1' # Verizon Verizon: regex: 'QTA(SUN[12]|XIA1|QZ3|QZ3KID|IR7)|QMV7[AB]|WTVIS01' device: 'tablet' models: - regex: 'QTAXIA1|QTAIR7' model: 'Ellipsis 10' - regex: 'QTASUN1' model: 'Ellipsis 8 HD' - regex: 'QTASUN2' model: 'Ellipsis 8 HD 4G LTE' - regex: 'QTAQZ3KID' model: 'Ellipsis Kids LTE' - regex: 'QTAQZ3' model: 'Ellipsis 8' - regex: 'QMV7[AB]' model: 'Ellipsis 7' - regex: 'WTVIS01' # Wingtech device: 'smartphone' model: 'Visible Midnight' # Verykool Verykool: regex: 'verykool' device: 'smartphone' models: - regex: 'verykool[ _]?SL5009' model: 'Jet' - regex: 'verykool[ _]?S5001' model: 'Lotus' - regex: 'verykool[ _]?S5004' model: 'Lotus Jr' - regex: 'verykool[ _]?S5007' model: 'Lotus Plus' - regex: 'verykool[ _]?s5015' model: 'Spark II' - regex: 'verykool[ _]?SL5011' model: 'Spark LTE' - regex: 'verykool[ _]?s5019' model: 'Wave' - regex: 'verykool[ _]?S5005' model: 'Lotus II' - regex: 'verykool[ _]?SL5560' model: 'Maverick Pro' - regex: 'verykool[ _]?SL5200' model: 'Eclipse' - regex: 'verykool[ _]?SL5050' model: 'Phantom' - regex: 'verykool[ _]?S5030' model: 'Helix II' - regex: 'verykool[ _]?s5527' model: 'Alpha Pro' - regex: 'verykool[ _]?s5526' model: 'Alpha' - regex: 'verykool[ _]?S5530' model: 'Maverick II' - regex: 'verykool[ _]?S5525' model: 'Maverick III' - regex: 'verykool[ _]?S5524' model: 'Maverick III Jr' - regex: 'verykool[ _]?s5516' model: 'Maverick Jr' - regex: 'verykool[ _]?SL5550' model: 'Maverick LTE' - regex: 'verykool[ _]?s5035' model: 'Spear' - regex: 'verykool[ _]?s5034' model: 'Spear Jr' - regex: 'verykool[ _]?s5037' model: 'Apollo Quattro' - regex: 'verykool[ _]?s5036' model: 'Apollo' - regex: 'Sol Quatro Jr' model: 'Sol Quatro Jr' - regex: 'verykool[ _]?s6005x' model: 'Cyprus Pro' - regex: 'verykool[ _]?SL6010' model: 'Cyprus LTE' - regex: 'verykool[ _]?S4006[QT]?' model: 'Leo 3G' - regex: 'verykool[ _]?S4007' model: 'Leo IV' - regex: 'verykool[ _]?S4008' model: 'Leo V' - regex: 'verykool[ _]?s5017|Dorado s5017' model: 'Dorado' - regex: 'verykool[ _]?s4510' model: 'Luna' - regex: 'verykool[ _]?s5204' model: 'Orion' - regex: 'verykool[ _]?s5205' model: 'Orion Pro' - regex: 'verykool[ _]?s5528Jr' model: 'Cosmo Jr' - regex: 'verykool[ _]?s5528' model: 'Cosmo' - regex: 'verykool[ _]?s5702' model: 'Royale Quattro' - regex: 'verykool[ _]?SL5029' model: 'Bolt Pro' - regex: 'verykool[ _]?SL5565' model: 'Rocket' - regex: 'verykool[ _]?TL8010' device: 'tablet' model: 'KolorPad LTE' - regex: 'verykool[ _]?T7440' device: 'tablet' model: 'KolorPad II' - regex: 'verykool[ _]?T7445' device: 'tablet' model: 'KolorPad IV' - regex: 'verykool[ _]?([^/;)]+)(?:[ _]SL?[0-9]{4}[QT]?)(?: Build|[);])' model: '$1' - regex: 'verykool[ _]?([^/;)]+)(?: Build|[);])' model: '$1' # Finlux Finlux: regex: 'FINLUX' device: 'tv' models: - regex: 'FINLUX, ?([0-9]+[a-z0-9_ \-]+), ?(?:wired|wireless)' model: '$1' # Hitachi Hitachi: regex: 'HITACHI[;,]' device: 'tv' models: - regex: 'HITACHI, ?([0-9]+[a-z0-9_ \-]+), ?(?:wired|wireless)' model: '$1' # Mitchell & Brown (https://www.mitchellandbrown.co.uk/) Mitchell & Brown: regex: 'MITCHELL_BROWN[;,]' device: 'tv' model: '' # Logik Logik: regex: 'DIXONS-LOGIK[;,]' device: 'tv' model: '' # Logitech (https://www.logitechg.com/) Logitech: regex: 'GR0006(?:[);/ ]|$)' device: 'console' model: 'G Cloud' # Vestel (vestel.com) Vestel: regex: 'Vestel[ _,/\-]|Venus[ _](GO|E[2-5]|V[1-9]|Z[1-9]0)|(?<!Winnovo )V_?TAB|VP74|VT97PRO|VSP145M|VSP250[GS]|VSP355[GS]|V3_5580_Dual|V TAB Z[12]' device: 'smartphone' models: - regex: 'VT97PRO' model: 'VTab 9.7 Pro' device: 'tablet' - regex: 'VP74' model: 'VTab Lite II' device: 'tablet' - regex: 'VTAB10' model: 'VTab 10' device: 'tablet' - regex: 'V_TAB_7_ECO_III' model: 'VTab 7 Eco 3' device: 'tablet' - regex: 'V_TAB_7_LITE_III' model: 'VTab 7 Lite 3' device: 'tablet' - regex: 'V_TAB_([0-9]{4}[A-Z]?)' model: 'VTab $1' device: 'tablet' - regex: 'V[_ ]TAB[_ ](Z[12])' model: 'VTab $1' device: 'tablet' - regex: 'V3_5580_Dual' model: 'Venus V3 5580 Dual' - regex: 'VSP145M' model: 'Venus 4.5' - regex: 'VSP250G' model: 'Venus 5.0V' - regex: 'VSP250S' model: 'Venus 5.0X' - regex: 'VSP355G' model: 'Venus 5.5V' - regex: 'VSP355S' model: 'Venus 5.5X' - regex: 'Venus[ _]V([1-9])([ _][0-9]{4})?' model: 'Venus V$1$2' - regex: 'Venus[ _]Z([1-9]0)' model: 'Venus Z$1' - regex: 'Venus[ _]GO' model: 'Venus Go' - regex: 'Venus E2 Plus Dual' model: 'Venus E2 Plus Dual' - regex: 'Venus[ _]E2 Plus' model: 'Venus E2 Plus' - regex: 'Venus[ _]E([345])' model: 'Venus E$1' - regex: 'Vestel_5000_Dual' model: '5000 Dual' - regex: 'Vestel_5000_2gb' model: '5000 2GB' - regex: 'Vestel[ _]5530[ _]Dual' model: '5530 Dual' - regex: 'Vestel[ _](5000|5530)' model: '$1' - regex: 'VESTEL\-v\.tv\.([0-9]{4})' device: 'tv' model: 'Smart TV ($1)' - regex: 'VESTEL, ([a-z0-9_ \-]+), (?:wired|wireless)|\+CE-HTML' device: 'tv' model: '' # Videocon Videocon: regex: 'Videocon[_ \-]|(?:VT75C|V50DC|V406018|V512930|V50(?:2430|3630|4730|5024|5430|4630|5[98]20)|Z45_(?:Dazzle|Amaze)|Z45Q Star|Z50 Nova)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Videocon_V1585' device: 'feature phone' model: 'V1585' - regex: 'Videocon[_ \-]([a-z0-9]+)' model: '$1' - regex: 'VT75C(?:[);/ ]|$)' model: 'VT75C' device: 'tablet' - regex: 'V502430(?:[);/ ]|$)' model: 'Kryton 3' - regex: 'V50DC(?:[);/ ]|$)' model: 'Kryton' - regex: 'V505024(?:[);/ ]|$)' model: 'Kryton 22 Plus' - regex: 'V503630(?:[);/ ]|$)' model: 'Delite 11' - regex: 'V504730(?:[);/ ]|$)' model: 'Delite 21' - regex: 'V505920(?:[);/ ]|$)' model: 'Metal Pro 2' - regex: 'V505820(?:[);/ ]|$)' model: 'Metal Pro 1' - regex: 'V406018(?:[);/ ]|$)' model: 'Starr 100' - regex: 'V512930(?:[);/ ]|$)' model: 'Ultra 50' - regex: '(V505430|V504630)(?:[);/ ]|$)' model: '$1' - regex: 'Z45_(Dazzle|Amaze)(?:[);/ ]|$)' model: 'Infinium Z45 $1' - regex: 'Z45Q Star(?:[);/ ]|$)' model: 'Infinium Z45Q Star' - regex: 'Z50 Nova(?:[);/ ]|$)' model: 'Infinium Z50 Nova' # Vodafone Vodafone: regex: '(?<!FBCR/)Vodafone[ _-]|VodafoneSmartChat|Smart Ultra 6|Smart ?Tab ?(?:III? ?)?(?:4G|7|10)(?! e-Biz| M1)[;/ )-]|(?:GigaTV|VFD[ _][0-9]+|VFD[37]20|VF6[89]5|VF-(696|1397|795|895N|1497)|SmartV22)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VFD 100' model: 'Smart Mini' - regex: 'Vodafone Pro 4G' # Mobiwire model: 'Pro 4G' - regex: 'VFD720' model: 'Smart N9' - regex: 'VF685' model: 'Smart Kicka' - regex: 'VF695' model: 'Smart First 6' - regex: 'VFD 200' model: 'Smart First 7' - regex: 'VFD 300' model: 'Smart Mini 7' - regex: 'VFD 301' model: 'Smart Mini 7 Dual' - regex: 'VFD 50[012]' model: 'Smart Turbo 7' - regex: 'VFD 51[0123]' model: 'Smart E8' - regex: 'VFD 52[789]' model: 'Smart E9' - regex: 'VFD 822' model: 'Smart X9' - regex: 'VFD 600' model: 'Smart Prime 7' - regex: 'VFD320' model: 'Smart C9' - regex: 'VFD 820' model: 'Smart X9' - regex: 'VFD 610' model: 'Smart N8' - regex: 'VFD 630' model: 'Smart N10' - regex: 'VFD 620' model: 'Smart N9 Lite' - regex: 'Smart ultra 6' model: 'Smart Ultra 6' - regex: 'VFD 700' model: 'Smart Ultra 7' - regex: 'VFD 710' model: 'Smart V8' - regex: 'VFD 720' model: 'Smart N9' - regex: 'VFD 730' model: 'Smart V10' - regex: 'SmartV22' model: 'Smart V22' - regex: 'VFD 900' model: 'Smart Platinum 7' - regex: 'Vodafone[ _]875(?:[);/ ]|$)' model: 'Smart Mini' # Alcatel - regex: 'Vodafone[ _]975N?(?:[);/ ]|$)' model: 'Smart 3' # Alcatel - regex: 'Vodafone[ _]785(?:[);/ ]|$)' model: 'Smart 4 Mini' - regex: 'VFD 525(?:[);/ ]|$)' model: 'Smart 4G' - regex: 'Vodafone[ _]890N(?:[);/ ]|$)' model: 'Smart 4 Turbo' # Coolpad 3601U - regex: 'Vodafone[ _]985N(?:[);/ ]|$)' model: 'Smart 4 Power' - regex: 'VodafoneSmartChat' model: 'Smart Chat' - regex: 'VF-696' model: 'Smart Grand 6' - regex: 'VF-795' model: 'Smart Speed 6' - regex: 'VF-895N' model: 'Smart Prime 6' # explicit table models - regex: 'VF-1397' model: 'Tab Speed 6' device: 'tablet' - regex: 'VF-1497' model: 'Tab Prime 6' device: 'tablet' - regex: 'VFD 1100' device: 'tablet' model: 'Tab Mini 7' - regex: 'VFD 1300' device: 'tablet' model: 'Smart Tab N8' - regex: 'VFD 1400' device: 'tablet' model: 'Tab Prime 7' - regex: 'Smart ?Tab ?3G' device: 'tablet' model: 'Smart Tab 3G' - regex: 'Smart ?Tab ?4G' device: 'tablet' model: 'Smart Tab 4G' # Alcatel - regex: 'Smart ?Tab ?4' model: 'Smart Tab 4' # ZTE device: 'tablet' - regex: 'SmartTab7[);/ -]' model: 'Smart Tab 7' # ZTE device: 'tablet' - regex: 'SmartTab10[);/ -]' model: 'Smart Tab 10' # ZTE device: 'tablet' - regex: 'Smart ?Tab ?II ?7' model: 'Smart Tab II 7' # Lenovo device: 'tablet' - regex: 'Smart ?Tab ?II ?10' model: 'Smart Tab II 10' # Lenovo device: 'tablet' - regex: 'Smart ?Tab ?III ?7' model: 'Smart Tab III 7' # Lenovo device: 'tablet' - regex: 'Smart ?Tab ?III ?10' model: 'Smart Tab III 10' # Lenovo device: 'tablet' - regex: 'Vodafone TV(?:[);/ ]|$)' model: 'TV' device: 'tv' - regex: 'GigaTV' model: 'Giga TV' device: 'tv' - regex: 'VFD[ _]([0-9]+)(?:[);/ ]|$)' model: 'VFD $1' - regex: 'Vodafone[ _-]([^;/]+) Build' model: '$1' - regex: 'Vodafone[ _-]([a-z0-9_-]+)' model: '$1' # Surge or Surgephone (surgephone.com) Surge: regex: 'VOLT_(5XL)(?:[);/ ]|$)' device: 'smartphone' model: 'Volt $1' # Volt or Volt Mobile Volt: regex: 'VOLT[_ ](SV451[_ ]Vision)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Vonino (vonino.ro, vonino.it) Vonino: regex: 'Vonino|Epic (?:E8|P7)|Epic_(?:M8|P7)|Gyga[ _](?:X|S|QS|XS)|Jax[ _](?:QS|[SXQN]|Mini)|Magnet[ _](?:M[19]|G[135]0|W10)|Navo_QS|Navo S|Onyx_(QS|Z)|Orin_QS|Pluri[ _](?:[BCMQ]7|[CQM]8)|Sirius_QS|Spirit QS|(?<!Schok )Volt[ _][XS]|Xavy[_ ]([GT]7|L8)|Xylo[ _][XSPQT]|Zun[ _](?:N|X[OS]?)|JAX_N|Druid_L10|iMart_Pro|MusicPAD_[HM]1' device: 'smartphone' models: - regex: 'Zun[ _](N|X[OS]?)' model: 'Zun $1' - regex: 'Xylo[ _]([PSXQT])' model: 'Xylo $1' - regex: 'Volt[ _]S_A7' model: 'Volt S A7' - regex: 'Volt[ _]S' model: 'Volt S' - regex: 'Volt[ _]X' model: 'Volt X' - regex: 'Gyga[ _]QS' model: 'Gyga QS' - regex: 'Gyga[ _]XS' model: 'Gyga XS' - regex: 'Gyga[ _](S|X)' model: 'Gyga $1' - regex: 'Jax[ _]QS' model: 'Jax QS' - regex: 'Jax[ _]S_A7' model: 'Jax S A7' - regex: 'Jax[ _]([SQXN])' model: 'Jax $1' - regex: 'Jax[ _]Mini' model: 'Jax Mini' - regex: 'iMart_Pro' device: 'tablet' model: 'IMart Pro' - regex: 'Epic[_ ]([EM]8|P7)' model: 'Epic $1' device: 'tablet' - regex: 'Pluri_M([78])_2020' model: 'Pluri M$1 (2020)' device: 'tablet' - regex: 'Pluri[ _]([BCMQ])7' model: 'Pluri $17' device: 'tablet' - regex: 'Pluri[ _]([CQM])8' model: 'Pluri $18' device: 'tablet' - regex: 'Druid[_ ](L10)' model: 'Druid $1' device: 'tablet' - regex: 'Magnet[_ ]M10[_ ]2020' device: 'tablet' model: 'Magnet M10 (2020)' - regex: 'Magnet[_ ](G50)[_ ]Pro' device: 'tablet' model: 'Magnet $1 Pro' - regex: 'Magnet[ _](M[19]|G[135]0|W10)' model: 'Magnet $1' device: 'tablet' - regex: 'Navo[_ ](Q?S)' model: 'Navo $1' device: 'tablet' - regex: 'Onyx_(QS|Z)' model: 'Onyx $1' device: 'tablet' - regex: 'Orin_QS' model: 'Orin QS' device: 'tablet' - regex: 'Sirius_QS' model: 'Sirius QS' device: 'tablet' - regex: 'Spirit QS' model: 'Spirit QS' device: 'tablet' - regex: 'Xavy[_ ]([GT]7|L8)' model: 'Xavy $1' device: 'tablet' - regex: 'MusicPAD_([HM]1)' model: 'MusicPAD $1' device: 'portable media player' # Vorago (www.voragolive.com) Vorago: regex: 'VORAGO|(?:PAD-7-V5|PAD-7)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'CELL-500' model: 'CELL-500' - regex: '(PAD-7-V5|PAD-7)' device: 'tablet' model: '$1' # Voto Voto: regex: 'VOTO[ _\-]|VT8[89]8(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VOTO[ _\-]?([^/;]+) Build' model: '$1' - regex: 'VOTO[ _\-]?([^);/ ]+)' model: '$1' - regex: '(VT8[89]8)(?:[);/ ]|$)' model: '$1' # Voxtel Voxtel: regex: 'Voxtel_([a-z0-9]+)' device: 'feature phone' model: '$1' # Vulcan Vulcan: regex: '(?:VP5004A|VS5513|VS4011|VR6031)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(VP5004A|VR6031)(?:[);/ ]|$)' model: '$1' - regex: 'VS5513(?:[);/ ]|$)' model: 'Tempo S13' - regex: 'VS4011(?:[);/ ]|$)' model: 'Tempo S11' # Ober Ober: regex: 'OBER[_ ](Primo E8)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Walton (waltonbd.com) Walton: regex: 'Walton|Walpad|RX7 Mini|Primo[ _](?:C[1234]?|D[1-689]|E[1-589]|F8s|EF[23]?|EM|F[1-79]i?|G[1-9]|GF[234]?|GH[23]?|GM|H[2-689M]|H10|H7s|N[F1]?|NX2?|R[1-689]|R[HM]2?|RX[23]?|S[1-8]|V1|X[1-4]|Z|[ZV]X)|Orbit M20|Orbit Y(?:2[10]|[57]0)|XANON X[29]0|NEXG N(?:7[0-3]|25|[689])' device: 'smartphone' models: - regex: 'Walpad[ _]?([^;/)]+)(?: Build|[);])' device: 'tablet' model: 'Primo Walpad $1' - regex: 'Primo S6 infinity' model: 'Primo S6 Infinity' - regex: 'Primo S8 mini' model: 'Primo S8 Mini' - regex: 'Primo H8 Pro(?:[);/ ]|$)' model: 'Primo H8 Pro' - regex: 'Primo (RM2|ZX2|NX4) mini(?:[);/ ]|$)' model: 'Primo $1 Mini' - regex: 'Primo H8(?:[);/ ]|$)' model: 'Primo H8 Turbo' - regex: 'RX7 Mini(?:[);/ ]|$)' model: 'RX7 Mini' - regex: 'Orbit Y(\d{2})' model: 'Orbit Y$1' - regex: 'Orbit M(\d{2})' model: 'Orbit M$1' - regex: 'XANON X20' model: 'Xanon X20' - regex: 'XANON X90' model: 'Xanon X90' - regex: 'NEXG N71 Plus' model: 'Nexg N71 Plus' - regex: 'NEXG N(7[0-3]|25|[689])' model: 'Nexg N$1' # general detections - regex: 'Primo[ _]([^;/)]+)[ _]Plus(?: Build|[;)])' model: 'Primo $1 Plus' - regex: 'Primo[ _]([^;/)]+)(?: Build|[;)])' model: 'Primo $1' - regex: 'Walton[ _]([^;/)]+)(?: Build|[;)])' model: '$1' # Wellcom WellcoM: regex: 'WELLCOM[ _\-/]([a-z0-9]+)' device: 'smartphone' model: '$1' # Wexler Wexler: regex: 'Wexler|(?:MOBI 7 LTE|ULTIMA 7 TWIST PLUS|ULTIMA 7|ULTIMA [78] TWIST|TAB10iQ3G|TAB[ _]10Q)(?:[);/ ]|$)|ZEN[ _](?:4\.[57]|5)' device: 'tablet' models: - regex: '(?:Wexler[ _\-\.])?ZEN[ _]4\.5(?:[);/ ]|$)' model: 'ZEN 4.5' device: 'smartphone' - regex: '(?:Wexler[ _\-\.])?ZEN[ _]4\.7(?:[);/ ]|$)' model: 'ZEN 4.7' device: 'smartphone' - regex: '(?:Wexler[ _\-\.])?ZEN[ _]5(?:[);/ ]|$)' model: 'ZEN 5' device: 'smartphone' - regex: 'ZEN[ _]5\+(?:[);/ ]|$)' model: 'ZEN 5 Plus' device: 'smartphone' - regex: '(?:Wexler[._-])?TAB[ _]?10Q(?:[);/ ]|$)' model: 'TAB 10Q' - regex: 'TAB10iQ3G(?:[);/ ]|$)' model: 'TAB 10iQ 3G' - regex: 'Wexler[ _\-\.]([^;/]+) Build' model: '$1' - regex: 'Wexler[ _\-\.]([^);/]+)(?:[);/ ]|$)' model: '$1' - regex: '(ULTIMA 7 TWIST PLUS|ULTIMA [78] TWIST|ULTIMA 7 OCTA|ULTIMA 7|MOBI 7 LTE)(?:[);/ ]|$)' model: '$1' # Inco (incomobile.com) Inco: regex: '(?:Inco[ _](Aurora II|Colors|Sphere|Plain[_ ]2S?|Plain2 S|Flex(?: 2S)?|S4|Bloom(?: 2)?)|(Horizon_S|Horizon \+|MATTER)|Bloom4|eco_s|Flex-3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Bloom ?4' model: 'Bloom 4' - regex: '(?:Inco[ _])?(Plain[_ ]2S?|Colors|Horizon_S|Horizon \+|Aurora II|Flex(?: 2S)?|S4|Bloom(?: 2)?)(?:[);/ ]|$)' model: '$1' - regex: 'Plain2 S' model: 'Plain 2S' - regex: 'MATTER' model: 'Matter' - regex: 'eco_s' model: 'Eco S' - regex: 'Flex-(3)' model: 'Flex $1' - regex: 'Inco Sphere( 3)?(?:[);/ ]|$)' device: 'tablet' model: 'Sphere$1' # Inka Inka: regex: 'X96mini(?:[);/ ]|$)' device: 'tv' model: 'X96 mini' # Wink Wink: regex: '(?<!mismart )Wink[_ ]|SWITRON-i12A' device: 'smartphone' models: - regex: 'SWITRON-i12A' device: 'tv' model: 'Switron i12A' - regex: 'Wink[_ ]((?:Glory|World|Share|City)(?:[_ ](?:SE|S))?)(?:[);/ ]|$)' model: '$1' - regex: 'Wink[ _](Primo|Highway)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Smart (smartgsmphone.com) Smart: regex: '(?:Coral 4|Slide Lite|Notrino|Smart PRIME II)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Smart PRIME II' model: 'Prime II' - regex: '(Coral 4|Slide Lite|Notrino|Smart PRIME II)' model: '$1' # Wiko (wikomobile.com) Wiko: regex: '(?:WIKO[_ -])|(?:WIKO-)?CINK_[a-z0-9_]+|(?:WIKO-)?HIGHWAY_[a-z0-9_]+|(?:WIKO-)?(?:Cink([^/;]*)|Highway([^/;]*)|Iggy|Stairway|Rainbow ?(Jam|Lite|Up)?|Darkside|Darkmoon|Darkfull|Darknight|Freddy|FEVER|Jerry[2]?|Sublim|Ozzy|JIMMY|Barry|Birdy|Bloom(?!4)|Getaway|Goa(?!nna|lPlus|-)|Kite|Robby|Lenny[2-9]?|(?<!iBall[_ ])Slide2?|Sunset[2-9]?|Sunny[2-9]?|Tommy[2-9]?|PULP(?: Fab)?|Wax|HARRY|Ridge(?! Plus)(?: Fab)?|U FEEL(?: Prime| Lite)?|U PULSE(?: LITE)?|View2 (?:Go|Plus)|View XL|View Prime)(?: Plus)?(?: 4G)?(?: Build|$)?|W_(?:C8[06]0|K[346]00|P130|P200|C200SN)|WC300|W-(?:V7[23]0|V745|V755|V8[035]0|P[36]11|K130|K211|K3[68]0|K420|K510S?|K521|K560|K610|K630)-(?:BYT|EEA|FRA|OPE|SU[IN]|SWI|TIM|TMV|TVM|DU|T[HV]|ID)|WIM Lite|W-V851|W-V6[08]0|W-V750BN|W-V770|W-K200|W-U300|(?:U307AS|CINK PEAX 2|HIGHWAY PURE|C210AE|v3913|U614AS|V3991AN|v12fnlite|K-KOOL|p6901|U616AT|VHEM|KENNY|View Go| WIM)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:WIKO-)?W-V770' model: 'T3' - regex: '(?:WIKO-)?VHEM' model: '10' - regex: '(?:WIKO-)?U616AT' model: 'Voix' - regex: '(?:WIKO-)?W-V745' model: 'Power U10' - regex: '(?:WIKO-)?W-V750' model: 'Power U20' - regex: '(?:WIKO-)?W-V755-EEA' model: 'Power U30' - regex: '(?:WIKO-)?Cink Peax 2' model: 'Cink Peax 2' - regex: '(?:Wiko-)?Cink([^/;]*) Build' model: 'Cink$1' - regex: '(?:WIKO-)?CINK_([a-z0-9_]+)' model: 'Cink $1' - regex: '(?:WIKO-)?HIGHWAY PURE' model: 'Highway Pure' - regex: '(?:WIKO-)?HIGHWAY STAR' model: 'Highway Star' - regex: '(?:Wiko-)?Highway([^/;]*) Build' model: 'Highway$1' - regex: '(?:WIKO-)?HIGHWAY_([a-z0-9_]+)' model: 'Highway $1' - regex: '(?:WIKO-)?Iggy' model: 'Iggy' - regex: '(?:WIKO-)?FEVER' model: 'Fever' - regex: '(?:WIKO-)?Stairway' model: 'Stairway' - regex: '(?:WIKO-)?Ridge Fab 4G' model: 'Ridge Fab 4G' - regex: '(?:WIKO-)?Ridge 4G' model: 'Ridge 4G' - regex: '(?:WIKO-)?Ridge' model: 'Ridge' - regex: 'RAINBOW LITE' model: 'Rainbow Lite' - regex: '(?:WIKO-)?Rainbow ([^/;]+) Build' model: 'Rainbow $1' - regex: '(?:WIKO-)?Rainbow' model: 'Rainbow' - regex: '(?:WIKO-)?Darkside' model: 'Darkside' - regex: '(?:WIKO-)?Darkmoon' model: 'Darkmoon' - regex: '(?:WIKO-)?Darkfull' model: 'Darkfull' - regex: '(?:WIKO-)?Darknight' model: 'Darknight' - regex: '(?:WIKO-)?Sublim' model: 'Sublim' - regex: '(?:WIKO-)?Ozzy' model: 'Ozzy' - regex: '(?:WIKO-)?Barry' model: 'Barry' - regex: '(?:WIKO-)?Birdy' model: 'Birdy' - regex: '(?:WIKO-)?Bloom2' model: 'Bloom 2' - regex: '(?:WIKO-)?Bloom' model: 'Bloom' - regex: '(?:WIKO-)?JIMMY' model: 'Jimmy' - regex: 'JERRY MAX' model: 'Jerry Max' - regex: 'W_K300' model: 'Jerry 3' - regex: 'W-K420-TVM' model: 'Jerry 4' - regex: '(?:WIKO-)?Jerry2' model: 'Jerry 2' - regex: '(?:WIKO-)?Jerry' model: 'Jerry' - regex: '(?:WIKO-)?Getaway' model: 'Getaway' - regex: '(?:WIKO-)?KENNY' model: 'Kenny' - regex: '(?:WIKO-)?Goa(?!nna)' model: 'Goa' - regex: '(?:WIKO-)?Freddy' model: 'Freddy' - regex: '(?:WIKO-)?Kite' model: 'Kite' - regex: 'W_K400' model: 'Lenny 5' - regex: 'C210AE(?:[);/ ]|$)' model: 'Life' - regex: 'U307AS(?:[);/ ]|$)' model: 'Life 2' - regex: 'U316AT(?:[);/ ]|$)' model: 'Life 3' - regex: 'v3913(?:[);/ ]|$)' model: 'Kenny' - regex: '(?:WIKO-)?Lenny[ -_]?3 Max' model: 'Lenny 3 Max' - regex: '(?:WIKO-)?Lenny[ -_]?4 Plus' model: 'Lenny 4 Plus' - regex: '(?:WIKO-)?Lenny[ -_]?([2-9])' model: 'Lenny $1' - regex: '(?:WIKO-)?Lenny' model: 'Lenny' - regex: '(?:WIKO-)?Slide2' model: 'Slide 2' - regex: '(?:WIKO-)?Slide' model: 'Slide' - regex: '(?:WIKO-)?Sunset2' model: 'Sunset 2' - regex: '(?:WIKO-)?Sunset' model: 'Sunset' - regex: '(?:WIKO-)?Sunny3 Mini' model: 'Sunny 3 Mini' - regex: '(?:WIKO-)?Sunny3' model: 'Sunny 3' - regex: 'W-K200' model: 'Sunny 3 Plus' - regex: '(?:WIKO-)?Sunny2 Plus' model: 'Sunny 2 Plus' - regex: '(?:WIKO-)?Sunny2' model: 'Sunny 2' - regex: 'W-K360-TV' model: 'Sunny 4 Plus' - regex: 'W-K130-TMV' model: 'Sunny 4' - regex: 'W-K380-TVM' model: 'Sunny 5' - regex: 'W-K211-(?:TH|TVM)' model: 'Sunny 5 Lite' - regex: '(?:WIKO-)?Sunny' model: 'Sunny' - regex: '(?:W_K600|Tommy3|W_C200SN)' model: 'Tommy 3' - regex: '(?:WIKO-)?Tommy2 Plus' model: 'Tommy 2 Plus' - regex: '(?:WIKO-)?Tommy2' model: 'Tommy 2' - regex: '(?:WIKO-)?Tommy' model: 'Tommy' - regex: '(?:WIKO-)?Wax' model: 'Wax' - regex: '(?:WIKO-)?HARRY' model: 'Harry' - regex: 'W-V600' model: 'Harry 2' - regex: '(?:WIKO-)?WIM Lite|p6901' model: 'WIM Lite' - regex: '(?:WIKO-)?WIM' model: 'WIM' - regex: '(?:WIKO-)?Pulp Fab 4G' model: 'Pulp Fab 4G' - regex: '(?:WIKO-)?Pulp Fab' model: 'Pulp Fab' - regex: '(?:WIKO-)?Pulp 4G' model: 'Pulp 4G' - regex: '(?:WIKO-)?Pulp' model: 'Pulp' - regex: '(?:WIKO-)?Robby(2)?' model: 'Robby$1' - regex: '(?:WIKO-)?U PULSE LITE' model: 'U Pulse Lite' - regex: '(?:WIKO-)?U PULSE' model: 'U Pulse' - regex: '(?:WIKO-)?U FEEL LITE' model: 'U Feel Lite' - regex: '(?:WIKO-)?U FEEL PRIME' model: 'U Feel Prime' - regex: '(?:WIKO-)?U FEEL' model: 'U Feel' - regex: 'V3991AN' model: 'U Feel Fab' - regex: '(?:WIKO-)?View2 Go' model: 'View 2 Go' - regex: '(?:WIKO-)?View2 Plus' model: 'View 2 Plus' - regex: '(?:WIKO-)?View XL' model: 'View XL' - regex: '(?:WIKO-)?View Prime' model: 'View Prime' - regex: 'WC300' model: 'View Lite' - regex: 'v12fnlite' model: 'View' - regex: 'W_C800' model: 'View 2' - regex: 'W_C860' model: 'View 2 Pro' - regex: 'W_P200' model: 'View Max' - regex: 'W_P130|View Go' model: 'View Go' - regex: 'W-V800-(TVM|TIM|EEA|OPE|DU)' model: 'View 3 Lite' - regex: 'W-V851' model: 'View 5' - regex: 'W-V850-EEA' model: 'View 5 Plus' - regex: 'W-K130-(?:OPE|EEA|BYT)' model: 'Y50' - regex: 'W-K420-EEA' model: 'Y50' - regex: 'W-K211' model: 'Y51' - regex: 'W-K521' model: 'Y52' - regex: 'W-K510-(?:TVM|EEA|OPE|SUN|BYT|TH)|W-K510S-SWI' model: 'Y60' - regex: 'W-K560-(?:EEA|TVM)' model: 'Y61' - regex: 'W-K610-(?:SUI|FRA)' model: 'Y62 Plus' - regex: 'W-K610' model: 'Y62' - regex: 'W-V720-(?:EEA|OPE|SUN)' model: 'Y80' - regex: 'W-V680' model: 'Y81' - regex: 'W-K630' model: 'Y82' - regex: 'W-P311-(?:EEA|OPE|TVM)' model: 'View 3' - regex: 'W-P611-(?:EEA|OPE)' model: 'View 3 Pro' - regex: 'W-V830-(?:EEA|OPE|ID)' model: 'View 4' - regex: 'W-V730-(?:EEA|TVM|ID|OPE)' model: 'View 4 Lite' - regex: 'W-V745-TVM' model: 'Power U10' - regex: 'W-U300(?:[);/ ]|$)' model: 'Ride' - regex: 'U520AS(?:[);/ ]|$)' model: 'Ride 2' - regex: 'U614AS(?:[);/ ]|$)' model: 'Ride 3' - regex: 'K-KOOL(?:[);/ ]|$)' model: 'K-Kool' - regex: 'Wiko ([^/;)]+)(?: Build|[;)])' model: '$1' # Wieppo Wieppo: regex: 'Wieppo (S6 Lite|S[658]|E1)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Weiimi Weiimi: regex: '(?:20200808A1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '20200808A1' model: 'X16 Pro' # Weimei Weimei: regex: 'weplus_3|WEIMEI_NEON2' device: 'smartphone' models: - regex: 'weplus_3' model: 'WePlus 3' - regex: 'WEIMEI_NEON2' model: 'Neon 2' # Wileyfox Wileyfox: regex: 'Wileyfox|(?:Swift 2|crackling)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Wileyfox Spark \+' model: 'Spark +' - regex: 'Wileyfox; Pro' model: 'Pro' - regex: 'Wileyfox Spark X' model: 'Spark X' - regex: 'Swift 2 (X|Plus)(?:[);/ ]|$)' model: 'Swift 2 $1' - regex: 'Swift 2(?:[);/ ]|$)' model: 'Swift 2' - regex: 'crackling' model: 'Swift' - regex: 'Wileyfox (Spark|Swift)' model: '$1' - regex: 'Wileyfox ([^/)]+)(?: Build|[);])' model: '$1' # Wolder Wolder: regex: 'miSmart|miTab|WIAM[ _]\#?\d+|WOLDER' device: 'smartphone' models: - regex: 'WIAM[_ ]\#?65[_ ]lite' model: 'Wiam #65 Lite' - regex: '(?:WOLDER_)?WIAM[ _]\#?(\d+)' model: 'Wiam #$1' - regex: 'WOLDER[_ ](\d+)' model: 'Wiam #$1' - regex: 'miSmart[ \-_]?([^/]+) Build' model: 'miSmart $1' - regex: 'miTab[_ ]PRO[_ ]10[_ ]plus' device: 'tablet' model: 'miTab PRO 10 PLUS' - regex: 'miTab[ \-_]?([^/)]+)(?: Build|[;)])' device: 'tablet' model: 'miTab $1' # Wolfgang Wolfgang: regex: 'AT[ _-]AS([0-9A-Z]+)(?:[);/ ]|$)' device: 'smartphone' model: 'AT-AS$1' # Wolki (https://wolkimobile.com/) Wolki: regex: '(?:W55SE|W626 LITE|WS054|WS067|WS5SE|WS626)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'WS054' model: 'W5.5 Lite' - regex: 'W55SE' model: 'W5.5 SE' - regex: 'WS626' model: 'W6.26' - regex: 'W626 LITE' model: 'W6.26 Lite' - regex: 'WS5SE' model: 'W5 SE' - regex: 'WS067' model: 'W6 Pro' # Wonu Wonu: regex: 'Wonu ([a-z0-9]+)' device: 'feature phone' model: '$1' # Woo Woo: regex: 'SP5026i-Scorpio|SP5040-Casiopea' device: 'smartphone' models: - regex: 'SP5026i-Scorpio' model: 'Scorpio' - regex: 'SP5040-Casiopea' model: 'Casiopea II' # Woxter (woxter.es) Woxter: regex: 'Woxter[ _]|Nimbus 101Q' device: 'tablet' models: - regex: 'Nimbus ?(101Q|115|1100RX)(?:[);/ ]|$)' model: 'Nimbus $1' - regex: 'WOXTER[ _]I-101(?:[);/ ]|$)' model: 'i-101' - regex: 'Woxter[ _]([SQ]X) ?([0-9A-Z]+)(?:[);/ ]|$)' model: '$1 $2' - regex: 'Woxter[_ ](?:Zielo[ _])?(Q27|Z800|Z420)(?:[);/ ]|$)' device: 'smartphone' model: 'Zielo $1' - regex: 'Woxter[ _]([^/;)]+)(?: Build|\))' model: '$1' # X-View X-View: regex: 'X-View|ZEN_U5\+|AMBER_KIDS|Proton_Amber_HD|Proton_Neon|PROTON_JADE_2_PRO|TitaniumGTColorsGO' device: 'smartphone' models: - regex: 'ZEN_U5\+' model: 'ZEN U5+' - regex: 'AMBER_KIDS' device: 'tablet' model: 'Amber Kids' - regex: 'Proton_Amber_HD' device: 'tablet' model: 'Proton Amber HD' - regex: 'Proton_Neon' device: 'tablet' model: 'Proton Neon' - regex: 'PROTON_JADE_2_PRO' device: 'tablet' model: 'Proton Jade 2 Pro' - regex: 'X-ViewTablet' device: 'tablet' model: '' - regex: 'TitaniumGTColorsGO' device: 'tablet' model: 'Titanium GT Colors GO' # POCO (sub brand Xiaomi) POCO: regex: '(?:POCO[ _](?:X[2-6](?:_SN)?|F[26] PRO|M[32456]|M5s|F[356]|F4(?: GT)?|C40|C3|C51|C65)|M2010J19(?:C[GI]|GC)|M2007J20C[ITG]|M2012K11AG|M2006C3MI|M2004J19PI|M2102J20S[GI]|M2103K19P[IGY]|21091116AG|21061110AG|M2104K10I|211033MI|220111[67]P[GI]|camellian?|21121210G|2203(?:1116AI|33QPG)|22021211R[GI]|2204121(?:6U?G|9P[GI])|2207(?:1219C[GI]|33SP[IH]|117BPG)|22101320[GI]|22111317P[GI]|23013PC75G|2302EPCC4I|23049PCD8[GI]|2305EPCC4G|22127PC95I|2310FPCA4[GI]|MZB0(?:GGWIN|E6DIN|7Z[0-4]IN)|23076PC4BI|2312(?:FRAFDI|BPC51H|FPCA6G|2PCD1[GI]|8PC33I)|2311(?:3RKC6G|DRK48[GI])|24069PC21[GI]|2404APC5FG|2405CPCFBG|MZB9965IN|MZB874[13456]IN|M2004J11G|MZB0A0MIN)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:POCO X2|MZB874[13456]IN)(?:[);/ ]|$)' model: 'X2' - regex: '23113RKC6G|POCO F6 Pro(?:[);/ ]|$)' model: 'F6 Pro' - regex: '24069PC21[GI]|POCO F6(?:[);/ ]|$)' model: 'F6' - regex: '2311DRK48[GI]|POCO X6 Pro 5G(?: Build|[;)])' model: 'X6 Pro 5G' - regex: '23122PCD1[GI]|POCO X6 5G(?: Build|[;)])' model: 'X6 5G' - regex: '2312FRAFDI|MZB0GGWIN' model: 'X6 Neo' - regex: '(?:M2012K11AG|POCO F3)(?:[);/ ]|$)' model: 'F3' - regex: '23013PC75G|POCO F5 Pro' model: 'F5 Pro' - regex: '23049PCD8[GI]|POCO F5' model: 'F5' - regex: 'M2004J19PI(?:[);/ ]|$)' model: 'M2' - regex: '(?:M2103K19P[IGY]|M3 Pro 5G|camellian?)(?:[);/ ]|$)' model: 'M3 Pro 5G' - regex: 'POCO M([23]) Pro(?:[);/ ]|$)' model: 'M$1 Pro' - regex: '21091116AG|M4 Pro 5G' model: 'M4 Pro 5G' - regex: '22041219P[IG]|POCO M4 5G(?: Build|[;)])' model: 'M4 5G' - regex: '22071219C[IG]|POCO M5(?: Build|[;)])' model: 'M5' - regex: '2207117BPG|POCO M5s' model: 'M5s' - regex: '23128PC33I' model: 'M6 5G' - regex: '2404APC5FG|POCO M6(?: Build|[;)])' model: 'M6' - regex: '23076PC4BI' model: 'M6 Pro 5G' - regex: '2312FPCA6G|POCO M6 Pro(?: Build|[;)])' model: 'M6 Pro' - regex: '2201117P[GI]|POCO M4 Pro' model: 'M4 Pro' - regex: '(?:M2010J19C[GI]|POCO M3)(?:[);/ ]|$)' model: 'M3' - regex: 'M2010J19GC' model: 'M3 SE' - regex: '(?:M2007J20C[GT]|POCO X3 NFC)(?:[);/ ]|$)' model: 'X3 NFC' - regex: '(?:M2102J20S[GI]|POCO X3 Pro)(?:[);/ ]|$)' model: 'X3 Pro' - regex: '(?:21061110AG|POCO X3 GT)(?:[);/ ]|$)' model: 'X3 GT' - regex: '(?:M2007J20CI|MZB9965IN|POCO X3(?:_SN)?|MZB07Z[0-4]IN)(?:[);/ ]|$)' model: 'X3' - regex: '(?:22111317P[GI]|POCO X5 5G)(?:[);/ ]|$)' model: 'X5 5G' - regex: '(?:22041216UG|POCO X4 GT Pro)(?:[);/ ]|$)' model: 'X4 GT Pro' - regex: '(?:22041216G|POCO X4 GT)(?:[);/ ]|$)' model: 'X4 GT' - regex: '(?:22101320[GI]|POCO X5 Pro 5G)(?:[);/ ]|$)' model: 'X5 Pro 5G' - regex: '2201116P[GI]|POCO X4 Pro 5G' model: 'X4 Pro 5G' - regex: '(?:M2104K10I)(?:[);/ ]|$)' model: 'F3 GT' - regex: '(?:21121210G|POCO F4 GT)(?:[);/ ]|$)' model: 'F4 GT' - regex: '22021211R[GI]|POCO F4' model: 'F4' - regex: '(?:M2006C3MI|POCO C3)(?:[);/ ]|$)' model: 'C3' - regex: '(?:211033MI|22031116AI|MZB0A0MIN)(?:[);/ ]|$)' model: 'C31' - regex: '(?:220333QPG|POCO C40)(?:[);/ ]|$)' model: 'C40' - regex: '2305EPCC4G|MZB0E6DIN|2302EPCC4I|POCO C51(?: Build|[;)])' model: 'C51' - regex: '220733SP[IH]' model: 'C50' - regex: '22127PC95I' model: 'C55' - regex: '2312BPC51H' model: 'C61' - regex: '2310FPCA4[GI]|POCO C65' model: 'C65' - regex: '(?:POCO F2 PRO|M2004J11G)(?:[);/ ]|$)' model: 'F2 Pro' - regex: 'X5 GT PRO(?:[);/ ]|$)' model: 'X5 GT Pro' - regex: '2405CPCFBG' device: 'tablet' model: 'Pad 12.1"' # Zopo Zopo: regex: 'ZOPO|(?:ZOPO[_ ])?(HERO2|Flash X3|F2_Color5_5|F5_Color_M5|C2_Color_M4|ZP[0-9]{2,}[^/;]+)(?:\)| Build)' device: 'smartphone' models: - regex: '(?:ZOPO_C2_MOD|ZP998)(?:[);/ ]|$)' model: 'C2 II' - regex: 'ZOPO 9xxQuad(?:[);/ ]|$)' model: '9XX Quad' - regex: '(?:ZOPO_)?ZP980[+](?:[);/ ]|$)' model: 'ZP980+' - regex: '(?:ZOPO_)?ZP980(?:[);/ ]|$)' model: 'Scorpio' - regex: 'ZP952(?:[);/ ]|$)' model: 'Speed 7 Plus' - regex: 'HERO2(?:[);/ ]|$)' model: 'Hero 2' - regex: 'ZP951(?:[);/ ]|$)' model: 'Speed 7' - regex: 'ZP955(?:[);/ ]|$)' model: 'Speed 8' - regex: 'ZP950[+h]?(?:[);/ ]|$)' model: 'Leader Max' - regex: 'ZP(?:900H?|910)(?:[);/ ]|$)' model: 'Leader' - regex: 'ZP(?:800H|810)(?:[);/ ]|$)' model: 'Libero HD' - regex: 'ZP500[+]?(?:[);/ ]|$)' model: 'Libero' - regex: 'ZP330(?:[);/ ]|$)' model: 'Color C' - regex: 'ZP370(?:[);/ ]|$)' model: 'Color S' - regex: 'F2_Color5_5(?:[);/ ]|$)' model: 'Color F2' - regex: 'F5_Color_M5(?:[);/ ]|$)' model: 'F5 Color M5' - regex: 'C2_Color_M4(?:[);/ ]|$)' model: 'C2 Color M4' - regex: 'ZP5(63|86)(?:[);/ ]|$)' model: 'Color X' - regex: 'ZP567(?:[);/ ]|$)' model: 'Color C5i' - regex: 'ZP300[S+]?(?:[);/ ]|$)' model: 'Field' - regex: 'ZP200[+]?(?:[);/ ]|$)' model: 'Shining' - regex: 'ZP100(?:[);/ ]|$)' model: 'Pilot' - regex: 'ZP1790(?:[);/ ]|$)' model: 'Flash X2' - regex: 'ZP781(?:[);/ ]|$)' model: 'Flash G5 Plus' - regex: 'ZOPO[_ ]ONE[_ ]([YXTP])(?:[);/ ]|$)' model: 'One $1' - regex: '(?:ZOPO_)?(Flash X3|X1i|ZP[0-9]{2,}[^/;)]+)(?: Build|\))' model: '$1' # QIN or QIN(cn) (sub brand Xiaomi) (qinphone.com) QIN: regex: '(?:Android 12(?:[\d.]*);(?: [\w-]+;)? F22 ?Pro|(?:Android 11(?:[\d.]*);(?: [\w-]+;)? (?:F22|F21 Pro))(?: Build|[;)]))' device: 'smartphone' models: - regex: 'F(\d+) ?Pro(?:[);/ ]|$)' model: 'F$1 Pro' - regex: 'F(22)(?:[);/ ]|$)' model: 'F$1' # Xiaomi Xiaomi: regex: 'Xiaomi(?!/(?:Miui|Mint[ ])Browser)| ONC(?: Build|[;)])|MiTV-\w|Mi9 ?(?:Lite|SE)|MiProj(?:A1|M05)|Mi9 Pro 5G|(?:Mi5X|MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+|MIX(?: 2S?)?|MIX 2S ART|pomelo|rubyplus|AFTBTX4)(?:[);/ ]|$)|HM (?:[^/;]+) (?:Build|MIUI)|(?:2014501|2014011|201481[12378]|201302[23]|2013061) Build|Redmi|POCOPHONE|(?:SHARK )?KTUS-[AH]0|(?:SHARK )?(KLE|KSR|MBU|PAR)-[AH]0|SK[RW]-[AH]0|PRS-[AH]0|POCO F1|DLT-[AH]0|MIBOX[234]([_ ]PRO)?|MiTV4[ACSX]?|AWM-A0|MI CC 9 Meitu Edition|MiBOX1S|M2006J10C|M2006C3(?:L[IGC]|LVG|MN?G|MT)|M2007J1(?:7[CGI]|SC)|M2002(?:J9[SEG]|F4LG)|HM2014819|WT88047|210611(?:8C|19(?:BI|[AD]G|AL))|M2001(?:J[12]G|C3K3I)|M2004J1(?:5SC|9AG)|M2004J(?:7[AB]|19)[CG]|M2012K11(?:[CGI]|A[CI])|M2011K2[CG]|M2011J18C|M2006C3[ML]II|M2003J(?:15SC|15SS|6B2G|6A1G|6A1I)|M2007J3S[ICYGP]|M2007J22[CG]|M2103K19[CGYI]|M2101K(?:[79]AG|7AI|7B[GI]|6[GIRP]|7BNY|9[GCR])|M2010J19S[CGYIL]|M2102(?:K1AC|K1[CG]|J2SC)|HM NOTE 1(?:LTE|W)|MI[_ ]PLAY|Qin 1s\+|Qin ?2(?: Pro)?|MI_(NOTE_Pro|5X|4i|(?:A2|8)_Lite)|A001XM|lancelot|XIG0[1-5]|2107119DC|M1810F6LI|M2101K(?:7BL|9AI)|A101XM|M2012K10C|M2104K10AC|M19(?:01F7[1S]|10F4S|08(?:F1XE|C3JGG)|08C3J[IH]|06F9S[IH]|02F1G|03C3GI)|21051182[CG]|21081111RG|2109119D[GI]|21091116(?:AI|[AU]?C|i|U[GI])|220111(?:7T[LGIY]|19TI|19UY|6S[IRC]|6TG|[67]SG|7SL)|21121(?:119S[CG]|23A[CG]|119VL|210C)|2204121(?:6[CI]|6UC|9[CGI]|9NY|1AC)|220333Q(?:AG|NY|L|BI)|2107113S[IGR]|22031(?:29G|116BG|21C)|PAR-H0|M2105K81A?C|2109119BC|2202(?:1119KR|1211RC|33L2[CGI])|22011(?:2[23][CG]|211C|16TI|17S[YI])|joyeuse|galahad|hydrogen|begonia|kenzo|willow|beryllium|rosemary| MDG1|KLE-AO|Mi ?Pad ?\d|220612(?:18C|[23]SC)|2207(?:12(?:2MC|12AG|19AI)|33S(?:F?G|[ILH])|43FI)|2208(?:7RA4DI|1212(?:U?G|[CR])|128(?:1AC|3[GC]))|Black Shark|MZB82(?:98|5[57])IN|MZB0A5[HE]IN|2210(?:1317C|1320C|1316(?:U[PG]|UCP?|[CIG])|1(?:29SG|32[CG]))|2211(?:13(?:3[CG]|17I)|1317G)|23013RK75C|2305(?:3RN02[AYLI]|4RA19C)|2209(?:5RA98C|116AG|129SC)|2212(?:0RN86[CGIH]|6RN91Y|ARNC4L|2RK93C|7RK46C)|2302(?:6RN54G|1RAA(?:EG|2Y)|7RAD4I|8R(?:N4D[GI]|A60L|NCA[GI]))|angelican|vnd_camellia|2304(?:9RAD8C|FPN6D[GC]|6RP50C|3RP34[CGI]|6PNC9C)|2303(?:0RAC7Y|CRA44A|ERA42L)|M1908C3(?:[KJI]G|KH|I[CH])|M1906G7G|M1903(?:F10I|C3GG|C3EI)|M1904F3BG|Hongmi [45]A?|M1912G7B[CE]|2307(?:7RABDC|6RN4BI|6RA4BR|6RN8DY|8PND5G|8RKD5C|6RA4BC|3RPBF[GCL]|BRPDCC)|2310(?:6RN0DA|8RN04Y)|2312(?:CRNCCL|DRA50G|9RAA4G|9RA5FL|9RN51[HX]|CRAD3C|DRAAB[CGI]|7PN0C[CG]|DRA50[CI]|4RA7EO|4RN87[CIG])|2311(?:6PN5B[CG]|BPN23C|7RA68G|DRN14I|7RK66C|FRAFDC|DRK48C|3RKC6C)|2308(?:CPXD0C|8PND5R)|24018RPAC[CG]|2404(?:ARN45A|8RN6C[GI]|0RN64Y|4RN32L)|2405(?:3PY09[CI]|CRPFD[CG])|2306EPN60G|23090(?:RA98[CGI])|23100RN82L|2406(?:9RA21C|ERN9CI)|2403(?:1PN0DC|0PN60G)|QIN3ULTRA|FengMiProjA2|A401XM|MZB8458IN|M1805E10A|M1803D5XA|2407(?:2PX77C|FRK8EC)' device: 'smartphone' models: # specific smartphone models - regex: 'SKR-[AH]0' model: 'Black Shark' - regex: 'AWM-A0' model: 'Black Shark Helo' - regex: 'SKW-[AH]0' model: 'Black Shark 2' - regex: 'DLT-[AH]0' model: 'Black Shark 2 Pro' - regex: '(?:SHARK )?KLE-A[0O]' model: 'Black Shark 3' - regex: '(?:SHARK )?KSR-[AH]0' model: 'Black Shark 4 Pro' - regex: '(?:SHARK )?KLE-H0' model: 'Black Shark 3 5G' - regex: '(?:SHARK )?MBU-H0' model: 'Black Shark 3 Pro 5G' - regex: '(?:SHARK )?MBU-A0' model: 'Black Shark 3 Pro' - regex: '(?:SHARK )?PRS-[AH]0' model: 'Black Shark 4' - regex: '(?:SHARK )?PAR-[AH]0' model: 'Black Shark 5' - regex: '(?:SHARK )?KTUS-[AH]0' model: 'Black Shark 5 Pro' - regex: 'Black Shark ([^/);]+)(?: Build|[;)])' model: 'Black Shark $1' - regex: 'Xiaomi_2014501|2014501 Build' model: 'Hongmi 4G' - regex: 'Xiaomi_2014011|2014011 Build' model: 'Hongmi 1S' - regex: 'Xiaomi_201302[23]|201302[23] Build' model: 'Hongmi' - regex: 'Xiaomi[_-]2014818|2014818 Build' model: 'Hongmi 2 3G' - regex: 'Xiaomi_2014817|2014817 Build' model: 'Hongmi 2' - regex: 'Xiaomi[_-]201481[123]|201481[123] Build' model: 'Hongmi 2 4G' - regex: 'Hongmi ([45]A?)' model: 'Hongmi $1' - regex: 'MI[_ ]PLAY(?:[);/ ]|$)' model: 'Mi Play' - regex: 'Mi ?9 ?SE(?:[);/ ]|$)' model: 'Mi 9 SE' - regex: '(?:Mi ?9 Lite|M1904F3BG)(?:[);/ ]|$)' model: 'Mi 9 Lite' - regex: '(?:Xiaomi_)?M1902F1[GT]' model: 'Mi 9' - regex: 'MI CC 9e|MI CC9e' model: 'Mi CC 9e' - regex: 'MI CC9 Pro Premium Edition' model: 'Mi CC 9 Pro Premium Edition' - regex: 'MI CC ?9 Pro' model: 'Mi CC 9 Pro' - regex: 'MI CC 9(?: Meitu Edition)?(?:[);/ ]|$)' model: 'Mi CC 9' - regex: '(?:Xiaomi_)?(?:M2001J2E_TD-LTE|M2001J2G)(?:[);/ ]|$)' model: 'Mi 10' - regex: '(?:Xiaomi_)?(?:Mi 10 Pro|M2001J1[EG](?:_TD-LTE)?)(?:[);/ ]|$)' model: 'Mi 10 Pro' - regex: 'M2011K2[CG](?:[);/ ]|$)' model: 'Mi 11' - regex: '21091116UI(?:[);/ ]|$)' model: '11i HyperCharge 5G' - regex: 'M2012K11AI(?:[);/ ]|$)' model: 'Mi 11X' - regex: '(?:M2012K11I|Mi 11X Pro)(?:[);/ ]|$)' model: 'Mi 11X Pro' - regex: 'M2007J3S[GI](?:[);/ ]|$)' model: 'Mi 10T Pro 5G' - regex: 'M2007J17G(?:[);/ ]|$)' model: 'Mi 10T Lite 5G' - regex: 'M2007J3S[CYP](?:[);/ ]|$)' model: 'Mi 10T 5G' - regex: 'M2007J1SC(?:[);/ ]|$)' model: 'Mi 10 Ultra 5G' - regex: 'M2102J2SC(?:[);/ ]|$)' model: 'Mi 10S' - regex: '(?:M2002J9[EGS]|XIG01|Mi 10 Lite 5G)(?:[);/ ]|$)' model: 'Mi 10 Lite 5G' - regex: 'M2007J17I(?:[);/ ]|$)' model: 'Mi 10i' - regex: '(?:M2012K11G|MZB0A5EIN)(?:[);/ ]|$)' model: 'Mi 11i' - regex: '(?:2107113S[IGR]|Xiaomi 11T Pro)(?:[);/ ]|$)' model: 'Mi 11T Pro' - regex: '(?:21081111RG|Xiaomi 11T)(?:[);/ ]|$)' model: 'Mi 11T' - regex: '(?:2109119DI|(?:Xiao)?mi 11 Lite (?:5G )?NE)(?:[);/ ]|$)' model: 'Mi 11 Lite 5G NE' - regex: '(?:M2101K9[GCR]|2109119DG|Mi 11 Lite 5G)(?:[);/ ]|$)' model: 'Mi 11 Lite 5G' - regex: '(?:M2101K9A[GI]|Mi 11 Lite)(?:[);/ ]|$)' model: 'Mi 11 Lite' - regex: 'M2102K1[CG](?:[);/ ]|$)' model: 'Mi 11 Ultra' - regex: '(?:M2102K1AC|Mi 11 Pro)(?:[);/ ]|$)' model: 'Mi 11 Pro' - regex: '2201122[CG](?:[);/ ]|$)' model: '12 Pro' - regex: '2201123[CG](?:[);/ ]|$)' model: '12' - regex: '2209116AG(?:[);/ ]|$)' model: 'Note 12 Pro' - regex: '22071212AG(?:[);/ ]|$)' model: '12T' - regex: '(?:2207122MC|Xiaomi 12 Pro Dimensity)(?:[);/ ]|$)' model: '12 Pro Dimensity' - regex: '(?:22081212(?:U?G|[CR])|Xiaomi 12T Pro)(?:[);/ ]|$)' model: '12T Pro' - regex: '(?:2206122SC|Xiaomi 12S Pro)(?:[);/ ]|$)' model: '12S Pro' - regex: '(?:2206123SC)(?:[);/ ]|$)' model: '12S' - regex: '(?:2203121C|Xiaomi 12S Ultra)(?:[);/ ]|$)' model: '12S Ultra' - regex: '2203129G(?:[);/ ]|$)' model: '12 Lite' - regex: '(?:2112123A[CG]|Xiaomi 12X)(?:[);/ ]|$)' model: '12X' - regex: '2210132[CG](?:[);/ ]|$)' model: '13 Pro' - regex: '(?:2210129SG|Xiaomi 13 Lite)(?:[);/ ]|$)' model: '13 Lite' - regex: '2211133[CG](?:[);/ ]|$)|Xiaomi 13(?: Build|[;)])' model: '13' - regex: '(?:2304FPN6D[CG]|Xiaomi 13 Ultra)(?:[);/ ]|$)' model: '13 Ultra' - regex: '(?:23078PND5G|23088PND5R|Xiaomi 13T Pro)(?:[);/ ]|$)' model: '13T Pro' - regex: '(?:2306EPN60G|XIG04)(?:[);/ ]|$)' model: '13T' - regex: '23127PN0C[CG](?:[);/ ]|$)' model: '14' - regex: '(?:24031PN0DC|24030PN60G|Xiaomi 14 Ultra)(?:[);/ ]|$)' model: '14 Ultra' - regex: 'Xiaomi 14 Pro Ti' model: '14 Pro Ti' - regex: '24053PY09I(?:[);/ ]|$)' model: '14 Civi' - regex: '(?:2311(?:6PN5B[CG]|BPN23C)|Xiaomi 14 Pro)(?:[);/ ]|$)' model: '14 Pro' - regex: 'MI[ _]8[ _]?Lite(?:[);/ ]|$)' model: 'Mi 8 Lite' - regex: 'MI 8 Explorer Edition(?:[);/ ]|$)' model: 'Mi 8 Explorer Edition' - regex: 'MI 8 ([a-z]+)(?:[);/ ]|$)' model: 'Mi 8 $1' - regex: 'Mi 9T Pro(?:[);/ ]|$)' model: 'Mi 9T Pro' - regex: '(?:Mi ?9 Pro 5G|M1908F1XE)(?:[);/ ]|$)' model: 'Mi 9 Pro 5G' - regex: 'MI 9 Transparent Edition(?:[);/ ]|$)' model: 'Mi 9 Transparent Edition' - regex: 'MI ([89]) Lite(?:[);/ ]|$)' model: 'Mi $1 Lite' - regex: 'MI 5s Plus(?:[);/ ]|$)' model: 'Mi 5s Plus' - regex: 'Xiaomi_MDT2|Mi5X(?:[);/ ]|$)' model: 'Mi 5X' - regex: 'Xiaomi_2013061|2013061 Build' model: 'Mi 3' - regex: 'Mi[- ]([43])c(?:[);/ ]|$)' model: 'Mi $1C' - regex: 'MI 4W(?:[);/ ]|$)' model: 'Mi 4W' - regex: 'Mi_4i(?:[);/ ]|$)' model: 'Mi 4i' - regex: 'MI 4 ?LTE(?:[);/ ]|$)' model: 'Mi 4 LTE' - regex: 'Mi Max3Pro' model: 'Mi Max 3 Pro' - regex: 'MI MAX ([23])(?:[);/ ]|$)' model: 'Mi Max $1' - regex: '(?:MI MAX|hydrogen)(?:[);/ ]|$)' model: 'Mi Max' - regex: 'Mi[ _]A2[ _]Lite(?:[);/ ]|$)' model: 'Mi A2 Lite' - regex: 'M1906F9S[IH](?:[);/ ]|$)' model: 'Mi A3' - regex: '2106118C(?:[);/ ]|$)' model: 'Mi Mix 4' - regex: 'M1803D5XA(?:[);/ ]|$)' model: 'Mi Mix 2' - regex: 'Mi MIX 3 5G(?:[);/ ]|$)' model: 'Mi Mix 3 5G' - regex: 'MIX ([23])(?:[);/ ]|$)' model: 'Mi Mix $1' - regex: 'MIX 2S ART(?:[);/ ]|$)' model: 'Mi Mix 2S Art' - regex: 'MIX 2S(?:[);/ ]|$)' model: 'Mi Mix 2S' - regex: 'MIX(?! Fold 3)(?:[);/ ]|$)' model: 'Mi Mix' - regex: '24072PX77C(?:[);/ ]|$)' model: 'Mix Fold 4' - regex: 'Mi Note 3(?:[);/ ]|$)' model: 'Mi Note 3' - regex: 'POCOPHONE[ _]F1|POCO F1|beryllium|M1805E10A' model: 'Pocophone F1' - regex: 'M1903C3G[IG]' model: 'Redmi Go' - regex: '24069RA21C|Redmi Turbo 3' model: 'Redmi Turbo 3' - regex: 'Redmi 5 Plus' model: 'Redmi 5 Plus' - regex: 'MDG1(?:[);/ ]|$)' model: 'Redmi 5' - regex: 'WT88047(?:[);/ ]|$)' model: 'Redmi 2' - regex: 'HM2014819(?:[);/ ]|$)' model: 'Redmi 2 Pro' - regex: 'HM 2A(?:[);/ ]|$)' model: 'Redmi 2A' - regex: 'HM 1S[CW]?(?:[);/ ]|$)' model: 'Redmi 1S' - regex: 'HM 1(?:[);/ ]|$)' model: 'Redmi 1' - regex: '(?:M2001C3K3I|MZB8298IN|M1908C3K[GH]|MZB8458IN)(?:[);/ ]|$)' model: 'Redmi 8A' - regex: '(?:MZB825[57]IN|M1908C3I[CG]|M1908C3IH)(?:[);/ ]|$)' model: 'Redmi 8' - regex: 'Redmi 8A (Dual|Pro)(?:[);/ ]|$)' model: 'Redmi 8A $1' - regex: '(?:M2004J7AC|M2004J15SC|Redmi 10X (?:4G|LTE))(?:[);/ ]|$)' model: 'Redmi 10X' - regex: '220333Q(?:AG|NY|L)(?:[);/ ]|$)' model: 'Redmi 10C' - regex: '(?:2310(?:6RN0DA|8RN04Y|0RN82L)|2311DRN14I)(?:[);/ ]|$)' model: 'Redmi 13C' - regex: '2404ARN45A|24040RN64Y' model: 'Redmi 13' - regex: '2406ERN9CI' model: 'Redmi 13 5G' - regex: '(?:23124RN87[CIG])(?:[);/ ]|$)' model: 'Redmi 13C 5G' - regex: '(?:M2004J19[CG]|M2006C3MII|lancelot|galahad|M2004J19AG)(?:[);/ ]|$)' model: 'Redmi 9' - regex: '(?:M2004J19I|Redmi 9 Prime)(?:[);/ ]|$)' model: 'Redmi 9 Prime' - regex: '(?:M2010J19SI|Redmi 9 Power)(?:[);/ ]|$)' model: 'Redmi 9 Power' - regex: 'M2006C3L[GCI](?:[);/ ]|$)' model: 'Redmi 9A' - regex: 'M2006C3LII(?:[);/ ]|$)' model: 'Redmi 9i' - regex: 'MZB0A5HIN(?:[);/ ]|$)' model: 'Redmi 9i Sport' - regex: 'M2006C3M[GT](?:[);/ ]|$)' model: 'Redmi 9C' - regex: 'M2006C3LVG(?:[);/ ]|$)' model: 'Redmi 9AT' - regex: '(?:M2010J19S[GYL]|pomelo|Redmi 9T, Note 9 4G, 9 Power)(?:[);/ ]|$)' model: 'Redmi 9T' - regex: 'Redmi 9T NFC(?:_SN)?(?:[);/ ]|$)' model: 'Redmi 9T NFC' - regex: '(?:M2006C3MNG|Redmi 9C NFC|angelican)(?:[);/ ]|$)' model: 'Redmi 9C NFC' - regex: '(?:22041219(?:G|NY)|Redmi 10 5G)(?:[);/ ]|$)' model: 'Redmi 10 5G' - regex: '(?:21061119D[CG])(?:[);/ ]|$)' model: 'Redmi 10' - regex: '(?:220333QBI|Redmi 10 Power)(?:[);/ ]|$)' model: 'Redmi 10 Power' - regex: '220233L2[CGI](?:[);/ ]|$)' model: 'Redmi 10A' - regex: '(?:21061119A[GL]|21121119(?:SG|VL)|22011119UY|Redmi 10 2022)(?:[);/ ]|$)' model: 'Redmi 10 (2022)' - regex: '(?:22041219I|Redmi 10 Prime\+ 5G)(?:[);/ ]|$)' model: 'Redmi 10 Prime+ 5G' - regex: '22011119TI(?:[);/ ]|$)' model: 'Redmi 10 Prime (2022)' - regex: '(?:21061119[BT]I|Redmi 10 Prime)(?:[);/ ]|$)' model: 'Redmi 10 Prime' - regex: '(?:M2004J7BC|Redmi 10X Pro)(?:[);/ ]|$)' model: 'Redmi 10X Pro' - regex: '22120RN86[CGIH]|22126RN91Y|2212ARNC4L' model: 'Redmi 12C' - regex: '23053RN02[AYLI]' model: 'Redmi 12' - regex: '(?:23076(?:RN8DY|RA4BR|RN4BI)|23077RABDC|XIG03|Redmi 12 5G|A401XM)(?:[);/ ]|$)' model: 'Redmi 12 5G' - regex: '22071219AI(?:[);/ ]|$)' model: 'Redmi 11 Prime' - regex: 'Redmi K20 Pro Premium Edition(?:[);/ ]|$)' model: 'Redmi K20 Pro Premium Edition' - regex: 'Redmi K20Pro(?:[);/ ]|$)' model: 'Redmi K20 Pro' - regex: 'M1903F10I' model: 'Redmi K20' - regex: 'Redmi K30 Pro Zoom Edition(?:[);/ ]|$)' model: 'Redmi K30 Pro Zoom Edition' - regex: 'Redmi K30 Pro Zoom(?:[);/ ]|$)' model: 'Redmi K30 Pro Zoom' - regex: 'Redmi K30S Ultra(?:[);/ ]|$)' model: 'Redmi K30S Ultra' - regex: 'Redmi K([23]0) Pro(?:[);/ ]|$)' model: 'Redmi K$1 Pro' - regex: 'Redmi K30 5G(?:[);/ ]|$)' model: 'Redmi K30 5G' - regex: 'M1912G7B[CE](?:[);/ ]|$)' model: 'Redmi K30 4G' - regex: 'Redmi K30i 5G(?:[);/ ]|$)' model: 'Redmi K30i 5G' - regex: 'M2012K11AC(?:[);/ ]|$)' model: 'Redmi K40' - regex: '22021211RC(?:[);/ ]|$)' model: 'Redmi K40S' - regex: '(?:M2012K10C|Redmi K40 Gaming)(?:[);/ ]|$)' model: 'Redmi K40 Gaming' - regex: 'Redmi K40 Pro\+(?:[);/ ]|$)' model: 'Redmi K40 Pro+' - regex: '(?:M2012K11C|Redmi K40 Pro)(?:[);/ ]|$)' model: 'Redmi K40 Pro' - regex: '(?:M2006J10C|Redmi K30 Ultra)(?:[);/ ]|$)' model: 'Redmi K30 Ultra' - regex: '22041211AC' model: 'Redmi K50' - regex: 'Redmi K50 Mercedes-AMG F1 Team' model: 'Redmi K50 Mercedes-AMG F1 Team' - regex: '22041216I' model: 'Redmi K50i' - regex: '21121210C' model: 'Redmi K50G' - regex: '22011211C|Redmi K50 Pro' model: 'Redmi K50 Pro' - regex: 'Redmi K50 Ultra' model: 'Redmi K50 Ultra' - regex: '23013RK75C' model: 'Redmi K60' - regex: '22122RK93C' model: 'Redmi K60E' - regex: '22127RK46C|Redmi K60 Pro' model: 'Redmi K60 Pro' - regex: '23078RKD5C|Redmi K60 Ultra' model: 'Redmi K60 Ultra' - regex: '23117RK66C' model: 'Redmi K70 Pro' - regex: '2311DRK48C' model: 'Redmi K70E' - regex: '23113RKC6C' model: 'Redmi K70' - regex: '2407FRK8EC' model: 'Redmi K70 Ultra' - regex: 'Redmi Y1 Lite(?:[);/ ]|$)' model: 'Redmi Y1 Lite' - regex: 'Redmi 6 Pro Extreme' model: 'Redmi 6 Pro Extreme' - regex: 'Xiaomi_M1805D1ST' model: 'Redmi 6 Pro' - regex: 'ONC(?: Build|[;)])|M1810F6LI' model: 'Redmi 7' - regex: 'M1903C3EI' model: 'Redmi 7A' - regex: 'Redmi (\d+) Pro(?:[);/ ]|$)' model: 'Redmi $1 Pro' - regex: 'Redmi 4 Prime(?:[);/ ]|$)' model: 'Redmi 4 Prime' - regex: '(?:220733SFG|Redmi A1\+|220743FI)(?:[);/ ]|$)' model: 'Redmi A1+' - regex: '220733S[GHIL](?:[);/ ]|$)' model: 'Redmi A1' - regex: '2302(?:8RN4D[GI]|6RN54G)' model: 'Redmi A2' - regex: '23028RNCA[GI]' model: 'Redmi A2+' - regex: '23129RN51[XH]' model: 'Redmi 3' - regex: '2404(?:4RN32L|8RN6C[GI])' model: 'Redmi A3x' - regex: '2312CRNCCL' model: 'Redmi A3' - regex: 'QIN3ULTRA' model: 'Qin 3 Ultra' - regex: 'Qin ?2 Pro(?:[);/ ]|$)' model: 'Qin 2 Pro' - regex: 'Qin 2(?:[);/ ]|$)' model: 'Qin 2' - regex: '2107119DC(?:[);/ ]|$)' model: 'CC11' - regex: '2109119BC(?:[);/ ]|$)' model: 'Civi' - regex: '2209129SC(?:[);/ ]|$)' model: 'Civi 2' - regex: '23046PNC9C(?:[);/ ]|$)' model: 'Civi 3' - regex: '24053PY09C(?:[);/ ]|$)' model: 'Civi 4' - regex: 'Civi 1S(?:[);/ ]|$)' model: 'Civi 1S' # specific tablet models - regex: '(?:M2105K81AC|22081281AC|(?:Xiao)?mi Pad 5 Pro)(?:[);/ ]|$)' model: 'Mi Pad 5 Pro' device: 'tablet' - regex: '(?:21051182[CG]|(?:Xiao)?mi Pad 5)(?:[);/ ]|$)' model: 'Mi Pad 5' device: 'tablet' - regex: 'M2105K81C(?:[);/ ]|$)' model: 'Mi Pad 5 Pro 5G' device: 'tablet' - regex: '(?:23046RP50C|Pad 6 Pro)(?:[);/ ]|$)' model: 'Pad 6 Pro' device: 'tablet' - regex: '23043RP34[CGI]|Xiaomi Pad 6(?: Build|[;)])' model: 'Pad 6' device: 'tablet' - regex: '2307BRPDCC(?:[);/ ]|$)' model: 'Pad 6 Max 14' device: 'tablet' - regex: '(?:24018RPAC[CG]|Xiaomi Pad 6S Pro 12\.4)(?:[);/ ]|$)' model: 'Pad 6S Pro 12.4"' device: 'tablet' - regex: 'MI (?:PAD ?4 ?PLUS|Pad4\+)(?:[);/ ]|$)' model: 'Mi Pad 4 Plus' device: 'tablet' - regex: 'MI PAD4 Wi-?Fi(?:[);/ ]|$)' model: 'Mi Pad 4 WiFi' device: 'tablet' - regex: 'MI PAD 4(?:[);/ ]|$)' model: 'Mi Pad 4' device: 'tablet' - regex: 'MI ?PAD 3(?:[);/ ]|$)' model: 'Mi Pad 3' device: 'tablet' - regex: 'MI PAD 2(?:[);/ ]|$)' model: 'Mi Pad 2' device: 'tablet' - regex: 'MI PAD(?:[);/ ]|$)' model: 'Mi Pad' device: 'tablet' - regex: '22081283[GC](?:[);/ ]|$)' model: 'Redmi Pad' device: 'tablet' - regex: '2405CRPFD[CG](?:[);/ ]|$)' model: 'Redmi Pad Pro' device: 'tablet' - regex: '(?:23073RPBF[GCL]|Redmi Pad SE)(?:[);/ ]|$)' model: 'Redmi Pad SE' device: 'tablet' - regex: 'MiProjA1' model: 'Mi Laser Projector 150"' device: 'peripheral' - regex: 'MiProjM05' model: 'Mi Smart Compact Projector' device: 'peripheral' # specific tv models - regex: 'FengMiProjA2(?:[);/ ]|$)' model: 'FengMi Projector A2' device: 'tv' - regex: 'MIBOX3[ _]Pro(?:[);/ ]|$)' model: 'Mi Box 3 Pro' device: 'tv' - regex: 'MIBOX([234])(?:[);/ ]|$)' model: 'Mi Box $1' device: 'tv' - regex: 'MiBOX1S(?:[);/ ]|$)' model: 'Mi Box 1S' device: 'tv' - regex: 'MiTV-MSSP[123](?:[);/ ]|$)' model: 'MiTV 4S' device: 'tv' - regex: 'MiTV-MTEQ0(?:[);/ ]|$)' model: 'MiTV Q1' device: 'tv' - regex: 'MiTV-AESP0(?:[);/ ]|$)' model: 'MiTV Stick' device: 'tv' - regex: 'MiTV-(?:ANSP0|AYFR0)(?:[);/ ]|$)' model: 'MiTV Stick 4K' device: 'tv' - regex: 'MiTV-MOOQ0(?:[);/ ]|$)' model: 'MiTV P1' device: 'tv' - regex: 'MiTV-MOSR1(?:[);/ ]|$)' model: 'MiTV R1' device: 'tv' - regex: 'MiTV-MOOQ1(?:[);/ ]|$)' model: 'MiTV Q1' device: 'tv' - regex: 'MiTV-MOOR4(?:[);/ ]|$)' model: 'MiTV A Pro' device: 'tv' - regex: '(?:MiTV-AXSO0|MiTV4(?:A|-ANSM0)|MiTV-MSSP0)(?:[);/ ]|$)' model: 'MiTV 4A' device: 'tv' - regex: 'MiTV-AXSO[12](?:[);/ ]|$)' model: 'MiTV 4A Pro' device: 'tv' - regex: 'MiTV(4[CSXI]|4)(?:[);/ ]|$)' model: 'MiTV $1' device: 'tv' - regex: 'MiTV-AFKR0(?:[);/ ]|$)' model: 'TV Box S (2nd Gen)' device: 'tv' - regex: 'AFTBTX4(?:[);/ ]|$)' model: 'Redmi Smart Fire TV 4K' device: 'tv' # general detections - regex: 'MiTV-([A-Z]{4}[0-9]{1})(?:[);/ ]|$)' model: 'MiTV $1' device: 'tv' # specific phablet models - regex: 'M2011J18C(?:[);/ ]|$)' device: 'phablet' model: 'Mi Mix Fold' - regex: '22061218C(?:[);/ ]|$)' device: 'phablet' model: 'Mix Fold 2' - regex: '(?:2308CPXD0C|Mix Fold 3)(?:[);/ ]|$)' device: 'phablet' model: 'Mix Fold 3' - regex: 'HM NOTE 1W(?:[);/ ]|$)' device: 'phablet' model: 'Redmi Note' - regex: 'HM NOTE 1TD (?:Build|MIUI)' device: 'phablet' model: 'Hongmi Note 1TD' - regex: 'HM NOTE 1(?:LTE|S)(?:W|GLOBAL|TD)? (?:Build|MIUI)|HM NOTE 1LTE' device: 'phablet' model: 'Redmi Note 4G' - regex: 'Xiaomi[_ ]2015052' model: 'Redmi Note 2' device: 'phablet' - regex: 'kenzo' model: 'Redmi Note 3' device: 'phablet' - regex: 'Redmi Note 5A Prime' model: 'Redmi Note 5A Prime' device: 'phablet' - regex: 'Redmi Note 5A Lite' model: 'Redmi Note 5A Lite' device: 'phablet' - regex: '(?:M2010J19SC|M2003J15SS|Redmi Note 9 4G)(?:[);/ ]|$)' model: 'Redmi Note 9' device: 'phablet' - regex: 'M2003J6A1G(?:[);/ ]|$)' model: 'Redmi Note 9S' device: 'phablet' - regex: 'M2003J15SC(?:[);/ ]|$)' model: 'Redmi Note 10X' device: 'phablet' - regex: '(?:M2101K7BL|rosemary)(?:[);/ ]|$)' model: 'Redmi Note 10S' device: 'phablet' - regex: '(?:M2007J22G|A001XM)(?:[);/ ]|$)' model: 'Redmi Note 9T 5G' device: 'phablet' - regex: 'M2007J22C(?:[);/ ]|$)' model: 'Redmi Note 9 5G' device: 'phablet' - regex: 'M2007J17C(?:[);/ ]|$)' model: 'Redmi Note 9 Pro 5G' device: 'phablet' - regex: '(?:joyeuse|M2003J6(?:B2G|A1I))(?:[);/ ]|$)' model: 'Redmi Note 9 Pro' device: 'phablet' - regex: 'Redmi Note 10 Lite|M2002F4LG(?:[);/ ]|$)' model: 'Redmi Note 10 Lite' device: 'phablet' - regex: 'Redmi Note ?9 Pro Max(?:[);/ ]|$)' model: 'Redmi Note 9 Pro Max' device: 'phablet' - regex: 'M2101K7A[GI]' model: 'Redmi Note 10' device: 'phablet' - regex: 'M2103K19Y|22021119KR' model: 'Redmi Note 10T' device: 'phablet' - regex: 'M2101K7B(?:[GI]|NY)(?:[);/ ]|$)' model: 'Redmi Note 10S' device: 'phablet' - regex: '(?:M2103K19[GC]|Redmi Note 10 5G|vnd_camellia)(?:[);/ ]|$)' model: 'Redmi Note 10 5G' device: 'phablet' - regex: 'M2103K19I|A101XM|Redmi Note 10T 5G' model: 'Redmi Note 10T 5G' device: 'phablet' - regex: 'XIG02(?:[);/ ]|$)' model: 'Redmi Note 10 JE' device: 'phablet' - regex: '(?:M2101K6[GIRP]|M2104K10AC|Redmi Note 10 Pro(?! Max))(?:[);/ ]|$)' model: 'Redmi Note 10 Pro' device: 'phablet' - regex: 'rubyplus(?:[);/ ]|$)' model: 'Redmi Note 12 Discovery' device: 'phablet' - regex: '(?:22101316[CIG])(?:[);/ ]|$)' model: 'Redmi Note 12 Pro' device: 'phablet' - regex: '(?:22101320C)(?:[);/ ]|$)' model: 'Redmi Note 12 Pro Speed' device: 'phablet' - regex: '2303(?:0RAC7Y|CRA44A|ERA42L|Redmi Note 12S)(?:[);/ ]|$)' model: 'Redmi Note 12S' device: 'phablet' - regex: '(?:2302(?:1RAA2Y|1RAAEG|8RA60L|7RAD4I)|22101317C|22111317G)(?:[);/ ]|$)' model: 'Redmi Note 12' device: 'phablet' - regex: '(?:Redmi Note 12R Pro)(?:[);/ ]|$)' model: 'Redmi Note 12R Pro' device: 'phablet' - regex: '(?:23076RA4BC|Redmi Note 12R)(?:[);/ ]|$)' model: 'Redmi Note 12R' device: 'phablet' - regex: '(?:23049RAD8C)(?:[);/ ]|$)' model: 'Redmi Note 12T' device: 'phablet' - regex: '(?:23054RA19C)(?:[);/ ]|$)' model: 'Redmi Note 12T Pro' device: 'phablet' - regex: '(?:22101316UC)(?:[);/ ]|$)' model: 'Redmi Note 12 Pro DE' device: 'phablet' - regex: '(?:22101316U[GP])(?:[);/ ]|$)' model: 'Redmi Note 12 Pro+ 5G' device: 'phablet' - regex: '22101316UCP(?:[);/ ]|$)' model: 'Redmi Note 12 Pro+' device: 'phablet' - regex: '22111317I(?:[);/ ]|$)' model: 'Redmi Note 12' device: 'phablet' - regex: '(?:21091116C|2201116T[IG])(?:[);/ ]|$)' model: 'Redmi Note 11 Pro' device: 'phablet' - regex: '(?:2312CRAD3C|2312DRA50C|23117RA68G)(?:[);/ ]|$)' model: 'Redmi Note 13 Pro' device: 'phablet' - regex: '(?:2311FRAFDC)(?:[);/ ]|$)' model: 'Redmi Note 13R Pro' device: 'phablet' - regex: '(?:2312DRA50[GI]|Redmi Note 13 Pro 5G|XIG05)(?:[);/ ]|$)' model: 'Redmi Note 13 Pro 5G' device: 'phablet' - regex: '2312(?:4RA7EO|9RAA4G|9RA5FL)(?:[);/ ]|$)' model: 'Redmi Note 13' device: 'phablet' - regex: '(?:23090RA98C)(?:[);/ ]|$)' model: 'Redmi Note 13 Pro+' device: 'phablet' - regex: '(?:23090RA98[GI]|Redmi Note 13 Pro\+ 5G)(?:[);/ ]|$)' model: 'Redmi Note 13 Pro+ 5G' device: 'phablet' - regex: '(?:2312DRAAB[CGI]|Redmi Note 13 5G)(?:[);/ ]|$)' model: 'Redmi Note 13 5G' device: 'phablet' - regex: '(?:2201116SC|Redmi Note 11E Pro)(?:[);/ ]|$)' model: 'Redmi Note 11E Pro' device: 'phablet' - regex: '(?:22041219C|Redmi Note 11E)(?:[);/ ]|$)' model: 'Redmi Note 11E' device: 'phablet' - regex: '(?:22041216C|Redmi Note 11T Pro)(?:[);/ ]|$)' model: 'Redmi Note 11T Pro' device: 'phablet' - regex: '22041216UC(?:[);/ ]|$)' model: 'Redmi Note 11T Pro+' device: 'phablet' - regex: '(?:2201116S[GR]|Redmi Note 11 Pro 5G)(?:[);/ ]|$)' model: 'Redmi Note 11 Pro 5G' device: 'phablet' - regex: '(?:2201116SI|Redmi Note 11 Pro\+ 5G)(?:[);/ ]|$)' model: 'Redmi Note 11 Pro+ 5G' device: 'phablet' - regex: '(?:21091116U[CG]|Redmi Note 11 Pro\+)(?:[);/ ]|$)' model: 'Redmi Note 11 Pro+' device: 'phablet' - regex: '21091116AC(?:[);/ ]|$)' model: 'Redmi Note 11 5G' device: 'phablet' - regex: '22095RA98C(?:[);/ ]|$)' model: 'Redmi Note 11R 5G' device: 'phablet' - regex: '(?:21121119SC|2201117T[GILY]|Redmi Note 11 4G)(?:[);/ ]|$)' model: 'Redmi Note 11 4G' device: 'phablet' - regex: '(?:22087RA4DI|Redmi Note 11 SE)(?:[);/ ]|$)' model: 'Redmi Note 11 SE' device: 'phablet' - regex: '2201117S[GIYL]' model: 'Redmi Note 11S' device: 'phablet' - regex: '(?:22031116BG|Redmi Note 11S 5G)(?:[);/ ]|$)' model: 'Redmi Note 11S 5G' device: 'phablet' - regex: '(?:21091116(?:AI|I)|Redmi Note 11T 5G)(?:[);/ ]|$)' model: 'Redmi Note 11T 5G' device: 'phablet' - regex: '(?:M1908C3J[IH]|M1908C3JG)(?:[);/ ]|$)' model: 'Redmi Note 8' device: 'phablet' - regex: '(?:M1908C3JGG|Redmi Note 8 \(2021\))(?:[);/ ]|$)' model: 'Redmi Note 8 (2021)' device: 'phablet' - regex: '(?:begonia|M1906G7G)(?:[);/ ]|$)' model: 'Redmi Note 8 Pro' device: 'phablet' - regex: 'willow(?:[);/ ]|$)' model: 'Redmi Note 8T' device: 'phablet' - regex: 'M1901F71(?:[);/ ]|$)' model: 'Redmi Note 7S' device: 'phablet' - regex: 'M1901F7S(?:[);/ ]|$)' model: 'Redmi Note 7 Pro' device: 'phablet' - regex: 'Redmi Note (\d+) Pro Max(?:[);/ ]|$)' model: 'Redmi Note $1 Pro Max' device: 'phablet' - regex: 'Redmi Note (\d+) Pro(?:[);/ ]|$)' model: 'Redmi Note $1 Pro' device: 'phablet' - regex: 'Redmi[ _]Note[ _]([^;/) ]+)?' model: 'Redmi Note $1' device: 'phablet' - regex: 'Redmi[ _]([^;/) ]+)?' model: 'Redmi $1' - regex: 'MI_NOTE_Pro' model: 'Mi Note Pro' device: 'phablet' - regex: 'Mi Note 10 Pro|M1910F4S(?:[);/ ]|$)' model: 'Mi Note 10 Pro' device: 'phablet' - regex: 'Mi Note 10 Lite' model: 'Mi Note 10 Lite' device: 'phablet' - regex: 'Mi Note 10|M1910F4G(?:[);/ ]|$)' model: 'Mi Note 10' device: 'phablet' - regex: 'MI[ _]Note[ _]([^;/) ]+)?' model: 'Mi Note $1' device: 'phablet' # specific feature phone models - regex: 'Qin 1s\+' model: 'Qin 1s+' # general detections - regex: 'MI[- ]One[ _]?Plus(?:[);/ ]|$)' model: 'Mi One Plus' - regex: 'Mi[- ]One[ _]?([a-z0-9]+)?(?: Build|[);])' model: 'Mi One $1' - regex: 'MI[ _]([^;/]*) Build' model: 'Mi $1' - regex: 'MI[ _]([a-z0-9]+)(?:[);/ ]|$)' model: 'Mi $1' - regex: 'HM Note ([^/;]+) (?:Build|MIUI)' device: 'phablet' model: 'Note' - regex: 'HM ([^/;]+) (?:Build|MIUI)' model: 'HM $1' - regex: 'Xiaomi[ _-]([^/;]+)(?: Build|$)' model: '$1' # Xion Xion: regex: 'XI[_-]CE(?:655|U55|U[48])' device: 'smartphone' models: - regex: 'XI[_-]CE(655|U55|U[48])' model: 'CE$1' # Xolo Xolo: regex: 'Xolo|(?:Q600|Q700s?|Q800|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5\.[05]|Era5X|Era[ _]2[VX](?:[_ ]3GB)?|era[ _]X|era_HD|era[_ ]4[GK]|Era_4?X(?:_2GB)?|BLACK-1XM|A1000s_Lite|cube 5\.0_2GB|Opus 3|era1X|era [2X]|era1Xpro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'BLACK-?1XM?' model: 'Black 1X' - regex: 'Era[ _]?1X ?Pro' model: 'Era 1X Pro' - regex: 'Era[_ ]?([145])X(?:[);/ ]|$)' model: 'Era $1X' - regex: 'Era_4X_2GB(?:[);/ ]|$)' model: 'Era 4X 2GB' - regex: 'Era[ _]2V(?:[);/ ]|$)' model: 'Era 2V' - regex: 'era[_ ](HD|4[GK]|2X?|X)' model: 'Era $1' - regex: 'cube 5\.0_2GB' model: 'Cube 5.0' - regex: '(Q600 Club|Q600|Q700s?|Q800|Q1000s Plus|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5\.[05]|A1000s_Lite|Opus 3)(?:[);/ ]|$)' model: '$1' - regex: 'Xolo[ _]?([^;/]+) Build' model: '$1' - regex: 'Xolo[ _]?([a-z0-9_-]+)' model: '$1' # Yarvik Yarvik: regex: 'Xenta[ \-]Tab|Luna TAB|TAB09-410|TAB10-410|TAB07-485|TAB0[78]-200|TAB08-201-3G|TAB9-200|TAB09-211|TAB10-2[01]1|TAB13-201' device: 'tablet' models: # explicit tablet models - regex: 'Luna TAB07-920N' model: 'Luna 7' - regex: 'Luna TAB07-10[01]' model: 'Luna 7c' - regex: 'Luna TAB274' model: 'Luna 7c' - regex: 'Luna TAB474' model: 'Luna 10' - regex: 'Luna TAB10-150' model: 'Luna 10c' - regex: 'TAB09-410' model: 'Noble 9.7' - regex: 'TAB10-410' model: 'Noble 10.1' - regex: 'TAB07-485' model: 'Noble Mini' - regex: 'Xenta-TAB07-21[01]' model: 'Xenta 7c' - regex: 'TAB07-200' model: 'Xenta 7ic' - regex: 'TAB08-200' model: 'Xenta 8ic' - regex: 'TAB08-201-3G' model: 'Xenta 8c' - regex: 'TAB9-200' model: 'Xenta 9.7ic' - regex: 'TAB09-211' model: 'Xenta 9.7ic+' - regex: 'TAB10-2[01]1' model: 'Xenta 10ic' - regex: 'TAB13-201' model: 'Xenta 13c' # Yes Yes: regex: 'M631Y|M685Y4|M651G_MY|YES (?:Altitude 4|MPY(?:48|54))' device: 'smartphone' models: - regex: 'M631Y' model: 'Altitude' - regex: 'M651G_MY' model: 'Altitude 2' - regex: 'M685Y4' model: 'Altitude 3' - regex: 'YES (Altitude 4|MPY(?:48|54))' model: '$1' # Yestel or YesTeL Yestel: regex: 'yestel|(?:T5|T13|X2)_EEA(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'yestel P30(?:[);/ ]|$)' model: 'P30' - regex: '(X2|T5|T13)_EEA(?:[);/ ]|$)' device: 'tablet' model: '$1' # Yezz (https://myyezz.com/) Yezz: regex: 'Yezz|ANDY[ _]|(?: (?:4E4|5EQ)|A5EI|LIV[ _][13]S?|LIV1|LIV2[_ ]?LTE|ART ?[123](?:_?PRO|S)?|MAX_1_PLUS|MAX2 PLUS|EPIC T|GO ?[123])(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:YEZZ[_-])?(4E4|5EQ|A4M|A5EI)' model: 'Andy $1' - regex: 'Yezz-AC4EI' model: 'Andy 4EI' - regex: 'ART1_PRO' model: 'Art 1 Pro' - regex: 'ART1' model: 'Art 1' - regex: 'ART2PRO' model: 'Art 2 Pro' - regex: 'ART 3S' model: 'Art 3S' - regex: 'EPIC T' model: 'Epic T' - regex: 'GO ?([123])' model: 'GO $1' - regex: 'LIV1' model: 'LIV1' - regex: 'LIV 3S LTE' model: 'LIV 3S LTE' - regex: 'LIV[ _]([13])S' model: 'LIV $1S' - regex: 'LIV 3 LTE' model: 'LIV 3 LTE' - regex: 'LIV2[_ ]?LTE' model: 'LIV2 LTE' - regex: 'MAX_1_PLUS' model: 'Max 1 Plus' - regex: 'MAX2 PLUS' model: 'Max 2 Plus' - regex: 'Andy[ _]([A-Z]*[0-9]\.[0-9][A-Z0-9]*)(?:[ _](LTE))?' model: 'Andy $1 $2' - regex: 'Andy[ _]([A-Z]*[0-9])([0-9][A-Z0-9]*)(?:[ _](LTE))?' model: 'Andy $1.$2 $3' - regex: 'Andy[ _]([A-Z]*[0-9][A-Z0-9]+)(?:[ _](LTE))?' model: 'Andy $1 $2' # YU Fly YU Fly: regex: 'YU Fly (\w+)' device: 'smartphone' model: '$1' # Yu Yu: regex: '(?:YU5[05]10[A]?|YU4711|AO5510|YU5050|YU501[14]|YU5551|YU Yureka Black|YU 6000)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'YU5010[A]?(?:[);/ ]|$)' model: 'Yuphoria' - regex: 'YU5011(?:[);/ ]|$)' model: 'Yunique 2' - regex: 'YU5050(?:[);/ ]|$)' model: 'Yutopia' - regex: 'AO5510(?:[);/ ]|$)' model: 'Yureka' - regex: 'YU5551(?:[);/ ]|$)' model: 'Yureka 2' - regex: 'YU5510[A]?(?:[);/ ]|$)' model: 'Yureka Plus' - regex: 'YU4711(?:[);/ ]|$)' model: 'Yunique' - regex: 'YU5014(?:[);/ ]|$)' model: 'Ace' - regex: 'YU 6000' model: 'Yureka Note' - regex: 'YU (Yureka Black)(?:[);/ ]|$)' model: '$1' # Yuandao or YuanDao Yuandao: regex: '(?:N101[ _]DUAL(?:[ _]CORE)?(?:[ _]?2)?(?:[ _]V11)?|N70 DUAL CORE)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'N(101|70)[ _]DUAL(?:[ _]CORE)?(?:[ _]?2)?' model: 'N$1' # Yusun Yusun: regex: 'Yusun|LA2-T' device: 'smartphone' models: # explicit smartphone models - regex: 'LA2-T' model: 'LA2-T' - regex: 'Yusun ([^;/]+) Build' model: '$1' - regex: 'Yusun ([a-z0-9_\-\+]+)' model: '$1' # Ytone Ytone: regex: 'YTONE[ _\-]' device: 'smartphone' models: - regex: 'YTONE[ _\-]?([^/;]+) Build' model: '$1' - regex: 'YTONE[ _\-]?([^);/ ]+)' model: '$1' # Zonda Zonda: regex: '(ZM(?:CK|EM|TFTV|TN)[a-z0-9]+)|ZA409' device: 'feature phone' models: - regex: 'ZA409' device: 'smartphone' model: 'Muzic' - regex: '(ZM(?:CK|EM|TFTV|TN)[a-z0-9]+)' model: '$1' # ZYQ ZYQ: regex: 'ZYQ-Q88|(Q(?:2602|262[436]|638|2688|272[89]|3022|3623|TAB Tab4|328 m9|328|668)|J77|Q[._](?:Up|Boss P99|Dee R09|Good M9|Hi|Hot|Me|Mate R99|Next|TOP-X8|You))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Q638' model: 'I7' - regex: 'Q2624' model: 'Cheer 3G' - regex: 'Q2602' model: 'TV Next' - regex: 'Q2728' model: 'Zone 3G' - regex: 'Q2729' model: 'Q2729' - regex: 'Q2688' model: 'Q2688' - regex: 'Q2623' model: 'Win 3G' - regex: 'Q2626' model: 'Care 3G' - regex: 'Q3623' model: 'Braw 3G' - regex: 'Q3022' model: 'Q3022' - regex: 'Q328 m9' model: 'Q328 M9' - regex: 'Q328' model: 'Speed 3G' - regex: 'Q668' model: 'TV I4' - regex: 'J77' model: 'Q.Dee' - regex: 'Q\.Up C5' model: 'Q.Up C5' - regex: 'Q\.Up' model: 'Q.Up' - regex: 'Q\.Boss P99' model: 'Q.Boss P99' - regex: 'Q[._]Dee R09' model: 'Q.Dee R09' - regex: 'Q\.Good M9' model: 'Q.Good M9' - regex: 'Q[._]Hi S1' model: 'Q.Hi S1' - regex: 'Q[._]Hi' model: 'Q.Hi' - regex: 'Q[._]Hot P7 3G' model: 'Q.Hot P7 3G' - regex: 'Q[._]Hot' model: 'Q.Hot' - regex: 'Q[._]Me Phone7 3G' model: 'Q.Me Phone 7 3G' - regex: 'Q[._]Me Plus7' model: 'Q.Me Plus 7' - regex: 'Q[._]Me' model: 'Q.Me' - regex: 'Q[._]Mate R99' model: 'Q.Mate R99' - regex: 'Q[._]Next B7' model: 'Q.Next B7' - regex: 'Q[._]Next J2' model: 'Q.Next J2' - regex: 'Q[._]TOP-X8' model: 'Q.Top X8' - regex: 'Q[._]You' model: 'Q.You' - regex: 'QTAB Tab4' model: 'QTab Tab4' device: 'tablet' - regex: 'ZYQ-Q88' model: 'Q88' device: 'tablet' # Vivax (www.vivax.com) Vivax: regex: 'VIVAX|(?:Fly4|Fly5[_ ]Lite|Fun[_ ]S500|Point[_ ](?:X[12]|X50[123]|X450)|SMART FLY V500|PRO3|32LE77SM|40LE77SM|FUN S1|FUN_S20|TPC[-_ ](?:7121|80[56])3G)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Fly5[_ ]Lite(?:[);/ ]|$)' model: 'Fly 5 Lite' - regex: 'Fly4(?:[);/ ]|$)' model: 'Fly 4' - regex: 'SMART FLY V500(?:[);/ ]|$)' model: 'Smart Fly V500' - regex: 'Point_X([12])(?:[);/ ]|$)' model: 'Point X$1' - regex: 'Fun[_ ]S500(?:[);/ ]|$)' model: 'Fun S500' - regex: 'FUN[ _]S(10?|20)(?:[);/ ]|$)' model: 'Fun S$1' - regex: 'VIVAX[ _]Fly ?(\d)(?:[);/ ]|$)' model: 'Fly $1' - regex: 'VIVAX[ _]Fly[ _]V(1|550)(?:[);/ ]|$)' model: 'Fly V$1' - regex: '(?:VIVAX )?(Point[ _](?:X551|X50[123]|X450))(?:[);/ ]|$)' model: '$1' - regex: 'SMART Point X5010(?:[);/ ]|$)' model: 'Smart Point X5010' - regex: 'VIVAX[_ ]PRO[_ ]?(3|M1)' model: 'Pro $1' - regex: '(?:VIVAX[ _])?TPC[-_ ](105|7121|806)_?([34])G' model: 'TPC-$1 $2G' device: 'tablet' - regex: '(?:TABLET )?TPC[-_ ](\d+) ?([34])G(?:[);/ ]|$)' device: 'tablet' model: 'TPC-$1 $2G' - regex: '(?:VIVAX-)?(40LE78T2S2SM|32LE77SM|40LE77SM)' device: 'tv' model: '$1' # MLS or Making Life Simple (mlsinnovation.com) MLS: regex: 'IQ(?:0705|L550|1017|1010w?|1012N?|1019N|1025|1060M|1380|1401|1436|1452a|1453|1470|1502a|1511|155[23]|1568|1570|1805N|180[68]|1810B_M|1832|1850|1890|5017|L626|9610|181011N|A27X_E|E[12]00|EL41|G550|GW516|L30|L5[01]|M801|M1001|N700|P50|R300|S300|S801|S1001|W503|W511T|W553N?|W60[38]|W626|M960|D10S|D700|9013_4N|F 200|T800)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'IQ0705(?:[);/ ]|$)' model: 'iQTalk Twist' - regex: 'IQL550(?:[);/ ]|$)' model: 'Notch Lite' - regex: 'iQD10S(?:[);/ ]|$)' model: 'Notch Sense' - regex: 'IQ1010W?(?:[);/ ]|$)' model: 'iQTab 10' device: 'tablet' - regex: 'IQ1012N?(?:[);/ ]|$)' model: 'iQTab Brave 3G' device: 'tablet' - regex: 'IQ1025(?:[);/ ]|$)' model: 'iQTab Action 4G' device: 'tablet' - regex: 'iQ9013_4N(?:[);/ ]|$)' model: 'Life 10.1"' device: 'tablet' - regex: 'IQ1019N(?:[);/ ]|$)' model: 'Alu Plus 4G 10.1"' device: 'tablet' - regex: 'iQ1805N(?:[);/ ]|$)' model: 'iQTab Ideal 8.0"' device: 'tablet' - regex: 'iQ181011N(?:[);/ ]|$)' model: 'iQTab Care 8.0"' device: 'tablet' - regex: 'IQ1380(?:[);/ ]|$)' model: 'Brain 3G' - regex: 'IQ1401(?:[);/ ]|$)' model: 'iQTalk Verse 4G' - regex: 'IQ1436(?:[);/ ]|$)' model: 'Color mini 4G' - regex: 'IQ1452a(?:[);/ ]|$)' model: 'TOP-S 4G' - regex: 'IQ1453(?:[);/ ]|$)' model: 'Trend 4G' - regex: 'IQ1470(?:[);/ ]|$)' model: 'iQTalk Onyx' - regex: 'IQ1502a(?:[);/ ]|$)' model: 'iQTalk Flame' - regex: 'IQ1511(?:[);/ ]|$)' model: 'iQTalk Spicy' - regex: 'IQ1552(?:[);/ ]|$)' model: 'iQTalk Titan 4G' - regex: 'IQ1553(?:[);/ ]|$)' model: 'Color 3 4G' - regex: 'IQ1568(?:[);/ ]|$)' model: 'Range 4G' - regex: 'IQ1570(?:[);/ ]|$)' model: 'iQTalk Color 5.5 4G' - regex: 'IQ1806(?:[);/ ]|$)' model: 'iQTab Rose' device: 'tablet' - regex: 'IQ1808(?:[);/ ]|$)' model: 'iQTab Master' device: 'tablet' - regex: 'IQ1810B_M(?:[);/ ]|$)' model: 'iQTab Novel 3G' device: 'tablet' - regex: 'IQ1832(?:[);/ ]|$)' model: 'Jet 3G' device: 'tablet' - regex: 'iQ1017(?:[);/ ]|$)' model: 'Trophy 4G' device: 'tablet' - regex: 'IQ1850(?:[);/ ]|$)' model: 'Diamond 5.2 4G' - regex: 'IQ1890(?:[);/ ]|$)' model: 'iQTalk Aura' - regex: 'IQ5017(?:[);/ ]|$)' model: 'Slice 4G' - regex: 'IQ9610(?:[);/ ]|$)' model: 'Angel 3G' device: 'tablet' - regex: 'iQM960(?:[);/ ]|$)' model: 'Angel 3G (2018)' device: 'tablet' - regex: 'iQS801(?:[);/ ]|$)' model: 'Vital 4G' device: 'tablet' - regex: 'IQG550(?:[);/ ]|$)' model: 'Style 4G' - regex: 'IQGW516(?:[);/ ]|$)' model: 'F5' - regex: 'IQE100(?:[);/ ]|$)' model: 'Energy 4G' - regex: 'iQE200(?:[);/ ]|$)' model: 'MX 4G' - regex: 'iQA27X_E(?:[);/ ]|$)' model: 'MX (2019)' - regex: 'IQEL41(?:[);/ ]|$)' model: 'Fab 4G' - regex: 'IQL30(?:[);/ ]|$)' model: 'Status 4G' - regex: 'IQL50(?:[);/ ]|$)' model: 'More 4G' - regex: 'IQL51(?:[);/ ]|$)' model: 'Wave 4G' - regex: 'IQM801(?:[);/ ]|$)' model: 'Brace 2018 4G' device: 'tablet' - regex: 'IQM1001(?:[);/ ]|$)' model: 'Level 4G' device: 'tablet' - regex: 'IQN700(?:[);/ ]|$)' model: 'Inspire 4G' - regex: 'IQP50(?:[);/ ]|$)' model: 'Ruby 4G' - regex: 'IQS300(?:[);/ ]|$)' model: 'DX 4G' - regex: 'IQS1001(?:[);/ ]|$)' model: 'Vista 4G' ## Gold device: 'tablet' - regex: 'iQ1060M(?:[);/ ]|$)' model: 'Space S 4G' device: 'tablet' - regex: 'IQR300(?:[);/ ]|$)' model: 'R3 4G' - regex: 'IQW608(?:[);/ ]|$)' model: 'Regal' - regex: 'iQW603(?:[);/ ]|$)' model: 'Phab 6.0"' device: 'phablet' - regex: 'IQW626(?:[);/ ]|$)' model: 'D6 4G' - regex: 'IQW511T(?:[);/ ]|$)' model: 'Liberal' - regex: 'IQW553N?(?:[);/ ]|$)' model: 'Alu 5.5"' - regex: 'iQL626?(?:[);/ ]|$)' model: 'Pop 4G' - regex: 'IQW503(?:[);/ ]|$)' model: 'Flame 4G (2018)' - regex: 'iQD700(?:[);/ ]|$)' model: 'Color Fingerprint 4G' - regex: 'iQT800(?:[);/ ]|$)' device: 'tablet' model: 'T8 Fingerprint 4G' - regex: 'iQF ?200(?:[);/ ]|$)' model: 'iQF200' # MMI MMI: regex: 'MMI, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '$1' # FLYCAT FLYCAT: regex: 'FLYCAT' device: 'smartphone' models: - regex: 'OPTIMUM (500[1-4]|5501)' model: 'Optimum $1' - regex: 'UNICUM (1002|8S|8003)' device: 'tablet' model: 'Unicum $1' # Fly Fly: regex: '(?<!GI |SMART )Fly(?!Flow|touch)|Power Plus 5000|Power Plus 3|Photo Pro|Slimline|Cirrus (?:6|13)|Life (?:Ace|Jet|Sky|Compact 4G|Geo|Zen|Play)|(?:lineage_)?FS50[1-9]|FS51[0-8]|FS52[0-9]|FS530|FS55[134]|FS40[1-9]|FS45[1-9]|4FS06|MERIDIAN-|(?:Phoenix 2|(?:IQ(?!10[134]0)[0-9]{3,}[i]?)[ _]?(?:Quad|Firebird|Quattro|Turbo|Magic)?|Tornado Slim|Android 8(?:[\d.]*);(?: [\w-]+;)? View Max)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Fly_)?IQ310(?:[);/ ]|$)' model: 'Panorama' device: 'tablet' - regex: '(?:Fly_)?IQ236(?:[);/ ]|$)' model: 'Victory' - regex: '(?:Fly_)?View Max(?:[);/ ]|$)' model: 'View Max' - regex: 'Slimline(?:[);/ ]|$)' model: 'Slimline' - regex: 'Power Plus 5000(?:[);/ ]|$)' model: 'Power Plus 5000' - regex: 'Photo Pro(?:[);/ ]|$)' model: 'Photo Pro' - regex: 'Life Ace(?:[);/ ]|$)' model: 'Life Ace' - regex: 'Life Jet(?:[);/ ]|$)' model: 'Life Jet' - regex: 'Life Sky(?:[);/ ]|$)' model: 'Life Sky' - regex: 'Life Geo(?:[);/ ]|$)' model: 'Life Geo' - regex: 'Life Zen(?:[);/ ]|$)' model: 'Life Zen' - regex: 'Life Play(?:[);/ ]|$)' model: 'Life Play' - regex: 'Life Buzz(?:[);/ ]|$)' model: 'Life Buzz' - regex: 'Life Compact 4G(?:[);/ ]|$)' model: 'Life Compact 4G' - regex: 'FS506' model: 'Cirrus 3' - regex: 'FS403' model: 'Cumulus 1' - regex: 'FS508|Cirrus 6' model: 'Cirrus 6' - regex: 'FS511' model: 'Cirrus 7' - regex: 'FS509' model: 'Nimbus 9' - regex: 'FS406' model: 'Stratus 5' - regex: 'FS404' model: 'Stratus 3' - regex: '(?:lineage_)?FS504' model: 'Cirrus 2' - regex: 'FS407' model: 'Stratus 6' - regex: 'FS401' model: 'Stratus 1' - regex: 'FS402' model: 'Stratus 2' - regex: 'FS501' model: 'Nimbus 3' - regex: 'FS502' model: 'Cirrus 1' - regex: 'FS507' model: 'Cirrus 4' - regex: 'FS505' model: 'Nimbus 7' - regex: 'FS551' model: 'Nimbus 4' - regex: 'FS514' model: 'Cirrus 8' - regex: 'FS553' model: 'Cirrus 9' - regex: 'FS554' model: 'Power Plus FHD' - regex: 'Power Plus 3' model: 'Power Plus 3' - regex: 'FS517' model: 'Cirrus 11' - regex: 'FS516' model: 'Cirrus 12' - regex: 'FS518|Cirrus 13' model: 'Cirrus 13' - regex: 'FS520' model: 'Selfie 1' - regex: 'FS521' model: 'Power Plus 1' - regex: 'FS522' model: 'Cirrus 14' - regex: 'FS523' model: 'Cirrus 16' - regex: 'FS524' model: 'Knockout' - regex: 'FS526' model: 'Power Plus 2' - regex: 'FS527' model: 'Nimbus 17' - regex: 'FS528' model: 'Memory Plus' - regex: 'FS529' model: 'Champ' - regex: 'FS530' model: 'Power Plus XXL' - regex: 'FS454' model: 'Nimbus 8' - regex: 'FS452' model: 'Nimbus 2' - regex: 'FS512' model: 'Nimbus 10' - regex: 'FS510' model: 'Nimbus 12' - regex: 'FS451' model: 'Nimbus 1' - regex: 'FS405' model: 'Stratus 4' - regex: 'FS408' model: 'Stratus 8' - regex: 'FS409' model: 'Stratus 9' - regex: 'FS455' model: 'Nimbus 11' - regex: 'FS456' model: 'Nimbus 14' - regex: 'FS457' model: 'Nimbus 15' - regex: 'FS459' model: 'Nimbus 16' - regex: 'FS458' model: 'Stratus 7' - regex: '(?:Fly_)?IQ237(?:[);/ ]|$)' model: 'Dynamic' - regex: '(?:Fly_)?IQ238(?:[);/ ]|$)' model: 'Jazz' - regex: '(?:Fly_)?IQ240(?:[);/ ]|$)' model: 'Whizz' - regex: '(?:Fly_)?IQ255(?:[);/ ]|$)' model: 'Pride' - regex: '(?:Fly_)?IQ270(?: Firebird)?(?:[);/ ]|$)' model: 'Firebird' - regex: '(?:Fly_)?IQ275(?:[);/ ]|$)' model: 'Marathon' - regex: '(?:Fly_)?IQ285(?: Turbo)?(?:[);/ ]|$)' model: 'Turbo' - regex: '(?:Fly_)?IQ430(?:[);/ ]|$)' model: 'Evoke' - regex: '(?:Fly_)?IQ431(?:[);/ ]|$)' model: 'Glory' - regex: '(?:Fly_)?IQ432(?:[);/ ]|$)' model: 'Era Nano 1' - regex: '(?:Fly_)?IQ436(?:[);/ ]|$)' model: 'Era Nano 3' - regex: '(?:Fly_)?IQ4490(?:[);/ ]|$)' model: 'Era Nano 4' - regex: '(?:Fly_)?IQ434(?:[);/ ]|$)' model: 'Era Nano 5' - regex: '(?:Fly_)?IQ4406(?:[);/ ]|$)' model: 'Era Nano 6' - regex: '(?:Fly_)?IQ436i(?:[);/ ]|$)' model: 'Era Nano 9' - regex: '(?:Fly_)?IQ4490i(?:[);/ ]|$)' model: 'Era Nano 10' - regex: '(?:Fly_)?IQ440(?:[);/ ]|$)' model: 'Energy' - regex: '(?:Fly_)?IQ4401(?:[);/ ]|$)' model: 'Era Energy 2' - regex: '(?:Fly_)?IQ441(?:[);/ ]|$)' model: 'Radiance' - regex: '(?:Fly_)?IQ442 Quad(?:[);/ ]|$)' model: 'Miracle 2' - regex: '(?:Fly_)?IQ442(?:[);/ ]|$)' model: 'Miracle' - regex: '(?:Fly_)?IQ443(?:[);/ ]|$)' model: 'Trend' - regex: '(?:Fly_)?IQ444(?: Quattro)?(?:[);/ ]|$)' model: 'Diamond 2' - regex: '(?:Fly_)?IQ445(?:[);/ ]|$)' model: 'Genius' - regex: '(?:Fly_)?IQ446(?: Magic)?(?:[);/ ]|$)' model: 'Magic' - regex: '(?:Fly_)?IQ447(?:[);/ ]|$)' model: 'Era Life 1' - regex: '(?:Fly_)?IQ456(?:[);/ ]|$)' model: 'Era Life 2' - regex: '(?:Fly_)?IQ4409 Quad(?:[);/ ]|$)' model: 'Era Life 4' - regex: '(?:Fly_)?IQ448(?:[);/ ]|$)' model: 'Chic' - regex: '(?:Fly_)?IQ449(?:[);/ ]|$)' model: 'Pronto' - regex: '(?:Fly_)?IQ450(?:[);/ ]|$)' model: 'Horizon' - regex: '(?:Fly_)?IQ450[ _]Quattro(?:[);/ ]|$)' model: 'Horizon 2' - regex: '(?:Fly_)?IQ451(?:[);/ ]|$)' model: 'Vista' - regex: '(?:Fly_)?IQ452 Quad(?:[);/ ]|$)' model: 'Ego Vision 1' - regex: '(?:Fly_)?IQ454(?:[);/ ]|$)' model: 'Evo Tech 1' - regex: '(?:Fly_)?IQ4403(?:[);/ ]|$)' model: 'Energy 3' - regex: '(?:Fly_)?IQ4404(?:[);/ ]|$)' model: 'Spark' - regex: '(?:Fly_)?IQ4410 Quad(?:[);/ ]|$)' model: 'Phoenix' - regex: 'Phoenix 2(?:[);/ ]|$)' model: 'Phoenix 2' - regex: '(?:Fly_)?IQ4411(?:[);/ ]|$)' model: 'Energy 2' - regex: '(?:Fly_)?IQ4412 Quad(?:[);/ ]|$)' model: 'Coral' - regex: '(?:Fly_)?IQ4413[ _]Quad(?:[);/ ]|$)' model: 'Evo Chic 3' - regex: '(?:Fly_)?IQ4414 Quad(?:[);/ ]|$)' model: 'Evo Tech 3' - regex: '(?:Fly_)?IQ4415 Quad(?:[);/ ]|$)' model: 'Era Style 3' - regex: '(?:Fly_)?IQ4418(?:[);/ ]|$)' model: 'Era Style 4' - regex: '(?:Fly_)?IQ4504 Quad(?:[);/ ]|$)' model: 'Evo Energy 5' - regex: 'Tornado Slim(?:[);/ ]|$)' model: 'Tornado Slim' - regex: '(?:Fly_)?IQ([0-9]+[i]? ?(?:Quad|Firebird|Quattro)?)(?:[);/ ]|$)' model: 'IQ$1' - regex: 'Fly[ _\-]?([a-z0-9_]+)/' model: '$1' device: 'feature phone' - regex: 'Flylife[ _\-]?([^/;]+)(?: Build|[;)])' model: 'Flylife $1' device: 'tablet' - regex: 'Fly[ _\-]?([a-z0-9]+)' model: '$1' - regex: 'MERIDIAN-([a-z0-9]+)' model: '$1' # FinePower FinePower: regex: 'FinePower[_ ]?([AB][1-9]|[CD][1-9])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'FinePower[_ ]?([AB][1-9])(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: 'FinePower[_ ]?([CD][1-9])(?:[);/ ]|$)' model: '$1' # Freetel (freetel.jp) Freetel: regex: '(?:FUN PLUS|Fun \+|FTJ17[AC]00|FTJ152[ABCD]|FTU18A00|FT141B|FT142D(?:_LTEXM)?|FT142A?|FTJ161[ABE](?:-VN)?|FTJ1[56]2E|FTJ162[BD]|FT162D|FTE161[GE]|SAKURA_FTE1|FTE171A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Fun \+' # plusone ltd model: 'Fun +' - regex: 'FTJ152C' model: 'Samurai Miyabi' - regex: 'FTJ17A00(?:[);/ ]|$)' model: 'Rei 2 Dual' - regex: 'FTJ17C00(?:[);/ ]|$)' model: 'Priori 5' - regex: 'FTU18A00(?:[);/ ]|$)' model: 'Cricket Wave' - regex: 'FTJ161A' model: 'Musashi' - regex: 'FTE171A' model: 'Ice 3' - regex: 'FTE161E|FTJ161E' model: 'Ice 2' - regex: 'FTE161G' model: 'Ice 2 Plus' - regex: 'FTJ162E' model: 'Raijin' - regex: 'FT141B' model: 'Nico' - regex: 'FT142D(?:_LTEXM)?(?:[);/ ]|$)' model: 'XM' - regex: 'FT142A?' model: 'Priori 2' - regex: 'FTJ152A' model: 'Priori 3' - regex: 'FTJ?162D' model: 'Priori 4' - regex: 'FTJ152B' model: 'Priori 3S LTE' - regex: 'FTJ152D' model: 'Samurai Kiwami' - regex: 'FTJ162B' model: 'Samurai Kiwami 2' - regex: 'FTJ161B' model: 'Samurai Rei' - regex: 'FTJ152E' model: 'Katana 1' - regex: 'SAKURA_FTE1' model: 'Sakura FTE1' - regex: 'FUN PLUS' model: 'Fun Plus' # Western Digital Western Digital: regex: 'Westerndigital|WDSimpleBrowser' device: 'tv' models: - regex: 'Streamer2010' model: 'Streamer (2010)' # Zeemi Zeemi: regex: 'ZEEMI[ _-]' device: 'smartphone' models: - regex: 'ZEEMI[ _-]([^/;]+) Build' model: '$1' - regex: 'ZEEMI[ _-]([^/;)]+)(?:[);/ ]|$)' model: '$1' # Zenek Zenek: regex: 'Z5007|Z551[679]|Z6001' device: 'smartphone' models: - regex: 'Z5517' model: 'Leopardo' - regex: 'Z6001' model: 'Libelula' - regex: 'Z5007' model: 'Oso' - regex: 'Z5519' model: 'Pingûino' - regex: 'Z5516' model: 'Zebra' # Nubia (www.nubia.com) Nubia: regex: 'Nubia[ _]|(?:NX(?:403A|404H|406E|40[X2]|503A|50[5678]J|51[0123]J|521J|523J_V1|529Jq?|5[345]1J|5[48]9J|569[HJ]|5[67]3J|575J|59[157]J|60[1689]J|61[12679]J|62[79]J|65[19]J|6[126]9J|66[67]J|679[JS]|70[129]J|71[123]J|72[19]J|769J|709S|907J)|NP01J|Z2352N|Z6255CA)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NP01J' device: 'tablet' model: 'Red Magic Gaming Pad' - regex: 'Z6255CA' model: 'Blade A72' - regex: '8150N' model: 'Neo 5G' - regex: 'Z2352N' model: 'Neo 2 5G' - regex: 'NX711J' model: 'Z50' - regex: 'NX712J' model: 'Z50 Ultra' - regex: 'NX713J' model: 'Z50S Pro' - regex: 'NX721J' model: 'Z60 Ultra' - regex: 'NX667J' model: 'Z30 Pro' - regex: 'NX701J' model: 'Z40 Pro' - regex: 'NX702J' model: 'Z40s Pro' - regex: 'NX709J' model: 'Red Magic 7 Pro' - regex: 'NX729J' model: 'Red Magic 8 Pro' - regex: 'NX769J' model: 'Red Magic 9 Pro' - regex: 'NX709S' model: 'Red Magic 7S Pro' - regex: 'NX679[JS]' model: 'Red Magic 7' - regex: 'NX669J' model: 'Red Magic 6' - regex: 'NX666J' model: 'Red Magic 6R' - regex: 'NX619J' model: 'Red Magic Mars' - regex: 'NX629J' model: 'Red Magic 3' - regex: 'NX40[X2]' model: 'Z5 Mini' - regex: 'NX(403[AE]|406E|404H)' model: 'Z5S Mini' - regex: 'NX503A' model: 'Z5S' - regex: 'NX506J' model: 'Z7' - regex: 'NX507J' model: 'Z7 Mini' - regex: 'NX505J' model: 'Z7 Max' - regex: 'NX508J' model: 'Z9' - regex: '(NX5[12]1J|Nubia Z9 mini)' model: 'Z9 Mini' - regex: '(NX510J|Nubia Z9 Max)' model: 'Z9 Max' - regex: 'NX512J' model: 'Z9 Max Dual' - regex: 'NX531J' model: 'Z11' - regex: 'NX523J_V1' model: 'Z11 Max' - regex: '(?:NX549J|Nubia Z11 mini S)' model: 'Z11 Mini S' - regex: '(?:NX529Jq?|Nubia Z11 mini)' model: 'Z11 Mini' - regex: 'NX606J' model: 'Z18' - regex: 'NX616J' model: 'Z18S' - regex: 'NX611J' model: 'Z18 Mini' - regex: 'NX551J' model: 'M2' - regex: 'NX563J' model: 'Z17' - regex: 'NX569[HJ]' model: 'Z17 Mini' - regex: 'NX589J' model: 'Z17 Mini S' - regex: 'NX591J' model: 'Z17 Lite' - regex: 'NX595J' model: 'Z17S' - regex: 'NX612J' model: 'V18' - regex: 'NX627J' model: 'Z20' - regex: 'NX513J' model: 'My Prague' - regex: 'NX601J' model: 'X6' - regex: 'NX609J' model: 'Red Magic' - regex: 'NX659J' model: 'Red Magic 5G' - regex: 'NX651J' model: 'Play' - regex: 'NX573J' model: 'M2 Lite' - regex: 'NX907J' model: 'M2 Play' - regex: 'NX541J' model: 'N1' - regex: 'NX597J' model: 'N1 Lite' - regex: 'NX575J' model: 'N2' - regex: 'NX6(?:08|17)J' model: 'N3' - regex: 'Nubia 8011' model: 'N80' - regex: 'Nubia[_ ]([^;)/]+)( build|[;)])' model: '$1' # Rakuten (network.mobile.rakuten.co.jp) Rakuten: regex: '(?:ZR01|3917JR|P710|P780|C330)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ZR01' model: 'Big' - regex: '3917JR' model: 'Big S' - regex: 'P710' model: 'Hand' - regex: 'C330' model: 'C330 Mini' - regex: 'P780' model: 'Hand 5G' # ZTE ZTE: regex: 'ZTE(?!; MegaFon)|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade[ _](?:E01|V0820|L110|L[2357]|L210(?:RU)?|L7A|L8|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310?|320|460|465|475|510|520|530|602|51|30|3)|V580|V Ultra|Q Lux)|N9[15]8St|N818S|N951[0579]|N91[38]0|N9101|N913[267]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:5151V|610DL|6250CC|6400C|6410S|233V|331|5031O|559DL|6621O|667T|6750M|768G|792|81[25]|818L|82[08]|83[12359]|85[125]|851M|992|(557|71[67]|798|836|861|916)BL|986DL|(232|718|828)TL|(?:233|353|558|717|799|837|862|899|917|963)VL|955A|95[678]|965|97[018]|98[1237]|986U|999|936L)|V769M|Blade Apex2|G (LTE|Lux)|Vec|Z959|V865M|Z3001S|902ZT|KIS II Max|Kis 3|K3DX-V5G|Z930L|Optus X|Blade[ _](A[357] 2019(?:-T)?|A[35] 2020-T|A7S 2020-T|A6 MAX|A0622|X9)|Z3153V|Z836F|Ctyon-A9|602ZT|MO-01[JK]|Z963U|402ZT|P545|P609|P650 Pro|dandelion|901ZT|A00[13]ZT|Z-01K|UZTE (?:GRAND V7|V808)|ZTG01|K8[37]CA|K87CC|VERGATARIO ?5(?:PLUS)?|Axon mini|KIS C341|A[13]03ZT|Z335(?:1S|[23]CA)|Z5156CC|Z5157[VY]|B867RE|MEO Smart A[48]0|SmartA35|P65[10] 2021|Z6201V|Z6252CA|Z6251V?|A2020N3|A2322G|A202ZT|A302ZT|Z719DL|Z5158|Z235[069]|Z2450|B2017G|5G UG Phone U23|ATLAS[ _]W|A2121G|A2022|A202[23]P|A0622|A0616)(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models - regex: '5G UG Phone U23|ZTE 7160N' model: '5G UG Phone U23' - regex: 'P651 2021(?:[);/ ]|$)' model: 'Optus X (2021)' - regex: 'P650 2021(?:[);/ ]|$)' model: 'Optus X Pro (2021)' - regex: '7530N(?:[);/ ]|$)' model: 'Voyage 10' - regex: '9040N(?:[);/ ]|$)' model: 'Voyage 20 Pro' - regex: '9042N(?:[);/ ]|$)' model: 'Voyage 40 Pro+' - regex: '7531N(?:[);/ ]|$)' model: 'Voyage 30S' - regex: 'A2122H(?:[);/ ]|$)' model: 'S30 Pro 5G' - regex: '602ZT(?:[);/ ]|$)' model: 'Libero 2' - regex: 'A001ZT(?:[);/ ]|$)' model: 'Libero 3' - regex: 'A003ZT(?:[);/ ]|$)' model: 'Libero 5G' - regex: 'A103ZT(?:[);/ ]|$)' model: 'Libero 5G II' - regex: 'A202ZT(?:[);/ ]|$)' model: 'Libero 5G III' - regex: 'A302ZT(?:[);/ ]|$)' model: 'Libero 5G IV' - regex: '901ZT(?:[);/ ]|$)' model: 'Libero S10' - regex: 'A303ZT(?:[);/ ]|$)' model: 'Anshin Family' - regex: 'ZTG01(?:[);/ ]|$)' model: 'A1' - regex: 'ZTE T221(?:[);/ ]|$)' model: 'Blade AF3' - regex: 'A0616(?:[);/ ]|$)' model: 'Blade A3' # 2017 - regex: 'Z3352CA(?:[);/ ]|$)' model: 'Blade A3 (2019)' - regex: 'Z3353CA(?:[);/ ]|$)' model: 'Blade A3 Plus' - regex: 'ZTE[_ ]Blade[_ ]A(3[13])[_ ]?(?:Plus|\+)' model: 'Blade A$1 Plus' - regex: '(?:A7020(?:RU)?|Blade A7S 2020-T)(?:[);/ ]|$)' model: 'Blade A7s (2020)' - regex: 'A7000(?:[);/ ]|$)' model: 'Blade A7 (2020)' - regex: 'Z6252CA(?:[);/ ]|$)' model: 'Blade A7p (2020)' - regex: 'A7030|A71 5G' model: 'Blade A71' - regex: 'ZTE 7060' model: 'Blade A73' - regex: 'Z2359' model: 'Blade A75' - regex: 'N939Sc' model: 'Blade A711' - regex: 'Z5157[VY]' model: 'Blade A3v' - regex: '7540N' model: 'Blade A72 5G' - regex: 'A0722(?:[);/ ]|$)' model: 'Blade A7 Vita' - regex: 'Z6201V(?:[);/ ]|$)' model: 'Blade A7' - regex: 'Blade 10 Vita(?:[);/ ]|$)' model: 'Blade 10 Vita' - regex: 'Z6251V(?:[);/ ]|$)' model: 'Blade 11 Prime' - regex: 'ZTE (?:2050|V1050)(?:RU)?' model: 'Blade 20 Smart' - regex: 'ZTE Axon 7(?:[);/ ]|$)' model: 'Axon 7' - regex: 'A2019G? Pro(?:[);/ ]|$)' model: 'Axon 9 Pro' - regex: '(?:902ZT|A2020N[23] Pro|A2020N3)(?:[);/ ]|$)' model: 'Axon 10 Pro 5G' - regex: 'A2020 SP(?:[);/ ]|$)' model: 'Axon 10s Pro 5G' - regex: '(?:A2021[LGH]?|ZTE Axon 11 5G)(?:[);/ ]|$)' model: 'Axon 11 5G' - regex: 'A2021E(?:[);/ ]|$)' model: 'Axon 11' - regex: '9000N(?:[);/ ]|$)' model: 'Axon 11 SE 5G' - regex: 'A2322G' model: 'Axon 30 5G' - regex: 'A2322|A2022L' model: 'Axon 30' - regex: 'A2022H' model: 'Axon 31 Pro 5G' - regex: 'A2022PG' model: 'Axon 30 Ultra' - regex: 'A2022P' model: 'Axon 30 Pro 5G' - regex: 'A2022' model: 'Axon 30 Pro' - regex: 'A2023H' model: 'Axon A41 Ultra 5G' - regex: 'A2023P' model: 'Axon 40 Ultra' - regex: 'A2023G?' model: 'Axon 40 Pro' - regex: 'ZTE[ _]?9047' model: 'Axon 40 SE' - regex: 'A2016' model: 'Axon Elite' - regex: 'Z2356' model: 'Axon 60' - regex: 'Z2350' model: 'Axon 60 Lite' - regex: 'A2024H' model: 'Axon 50 Ultra 5G' - regex: 'N799D(?:[);/ ]|$)' model: 'Blade Eg' - regex: 'Z818L(?:[);/ ]|$)' model: 'Allstar' - regex: 'Z3001S(?:[);/ ]|$)' model: 'Quest Plus' - regex: 'Z3351S(?:[);/ ]|$)' model: 'Quest 5' - regex: 'Ctyon-A9(?:[);/ ]|$)' model: 'Ctyon A9' - regex: 'K3DX-V5G(?:[);/ ]|$)' model: 'V5G' - regex: '(?:ZTE)?N918St(?:[);/ ]|$)' model: 'V5S' - regex: 'N958St(?:[);/ ]|$)' model: 'V5 Max' - regex: 'N9101(?:[);/ ]|$)' model: 'Imperial' - regex: 'Z963U(?:[);/ ]|$)' model: 'Imperial Max' - regex: 'N9120(?:[);/ ]|$)' model: 'Avid' - regex: 'Z5156CC(?:[);/ ]|$)' model: 'Avid 579' - regex: 'Z5158(?:[);/ ]|$)' model: 'Avid 589' - regex: 'N9130(?:[);/ ]|$)' model: 'Speed' - regex: 'N9132(?:[);/ ]|$)' model: 'Prestige' - regex: 'N9136(?:[);/ ]|$)' model: 'Prestige 2' - regex: 'N9137(?:[);/ ]|$)' model: 'Tempo X' - regex: 'N9180(?:[);/ ]|$)' model: 'V5' - regex: 'N9510(?:[);/ ]|$)' model: 'Warp 4G' - regex: 'Z5151V(?:[);/ ]|$)' model: 'Visible R2' - regex: 'N9517(?:[);/ ]|$)' model: 'Blade Force' - regex: 'Z559DL(?:[);/ ]|$)' model: 'Blade T2' - regex: '402ZT(?:[);/ ]|$)' model: 'Blade Q+' - regex: '(?:ZTE[_ ])?Blade[ _]Q[ _]Lux(?:[);/ ]|$)' model: 'Blade Q Lux' - regex: 'ZTE T320(?:[);/ ]|$)' model: 'Blade GF3' - regex: 'N9515(?:[);/ ]|$)' model: 'Warp Sync' - regex: 'N9519(?:[);/ ]|$)' model: 'Warp 7' - regex: 'N9520(?:[);/ ]|$)' model: 'Boost Max' - regex: 'N9521(?:[);/ ]|$)' model: 'Boost Max+' - regex: 'N9560(?:[);/ ]|$)' model: 'Max XL' - regex: 'N9810(?:[);/ ]|$)' model: 'Vital' - regex: '[UV]9180(?:[);/ ]|$)' model: 'V5 Red Bull' - regex: '[UV]9815(?:[);/ ]|$)' model: 'Grand Memo LTE' - regex: 'V779M' model: 'Joey Jump 2' - regex: 'V807' model: 'Blade C' - regex: 'V809' model: 'Blade C2' - regex: 'ZTE[_ ]Blade[_ ](C2|V7)[_ ]Plus' model: 'Blade $1 Plus' - regex: '(?:ZTE[_ ])?BA521' model: 'Blade 521' - regex: 'Blade G Plus' model: 'Blade G Plus' - regex: 'ZTE_Blade_III' model: 'Blade III' - regex: '(?:ZTE_)?V829' model: 'Blade G Pro' - regex: 'V882' model: 'Lord' - regex: 'V967S' model: 'Grand X2' - regex: 'V970M?|V987' model: 'Grand X' - regex: 'Z959(?:[);/ ]|$)' model: 'Grand X3' - regex: '(?:[RV]880H|V965)(?:[);/ ]|$)' model: 'V965' - regex: 'V8000' model: 'Nova 4' - regex: 'Z95[67]' model: 'Grand X4' - regex: 'Z987' model: 'Grand X Max+' - regex: '(?:ZTE_)?Grand[ _]Era' model: 'Grand Era' - regex: 'UZTE GRAND V7' # UZTE model: 'Grand V7' - regex: 'V788D' model: 'Kis Plus' - regex: 'Z331(?:[);/ ]|$)' model: 'Z331' - regex: 'N818S(?:[);/ ]|$)' model: 'N818S' - regex: 'ZTE[_ ]V0840(?:[);/ ]|$)' model: 'Small Fresh 5' - regex: 'Z5031O(?:[);/ ]|$)' model: 'Optus X Spirit 2' - regex: 'P545(?:[);/ ]|$)' model: 'Optus X Power 2' - regex: 'P609(?:[);/ ]|$)' model: 'Optus X Wave' - regex: 'Optus X Start(?:[);/ ]|$)' model: 'Optus X Start' - regex: 'BA520(?:[);/ ]|$)' model: 'Blade A520' - regex: 'Blade A(5[12]) Lite(?:[);/ ]|$)' model: 'Blade A$1 Lite' - regex: 'Blade L2 Plus(?:[);/ ]|$)' model: 'Blade L2 Plus' - regex: '(?:ZTE_)?Blade[ _]L2(?:[);/ ]|$)' model: 'Blade L2' - regex: 'Blade L3 Plus(?:[);/ ]|$)' model: 'Blade L3 Plus' - regex: 'Blade L3 Apex(?:[);/ ]|$)' model: 'Blade L3 Apex' - regex: 'Blade L3(?:[);/ ]|$)' model: 'Blade L3' - regex: 'ZTE[ _]T610(?:[);/ ]|$)' model: 'Blade L4' - regex: 'ZTE[ _]Blade L4 Pro(?:[);/ ]|$)' model: 'Blade L4 Pro' - regex: '(?:Blade L5 Plus|BLADE L0510)(?:[);/ ]|$)' model: 'Blade L5 Plus' - regex: 'Blade L6(?:[);/ ]|$)' model: 'Blade L6' - regex: 'Blade L7A(?:[);/ ]|$)' model: 'Blade L7A' - regex: 'Blade L(\d+)(?:RU)?' model: 'Blade L$1' - regex: 'Blade A([357]) (20(?:19|20))' model: 'Blade A$1 ($2)' - regex: 'ZTE BV0720(?:[);/ ]|$)' model: 'Blade A2' - regex: 'Blade A[35] 2020-T(?:[);/ ]|$)' model: 'Blade A$1 (2020)' - regex: 'ZTE C880A(?:[);/ ]|$)' model: 'Blade A1' - regex: 'Blade A([35]1?) Lite' model: 'Blade A$1 Lite' - regex: 'Blade A(53) Pro' model: 'Blade A$1 Pro' - regex: 'Blade (S6|A[35]1?) Plus' model: 'Blade $1 Plus' - regex: '(?:ZTE[ _])?BLADE[ _]A062[02](?:[);/ ]|$)' model: 'Blade A6' - regex: 'BLADE (?:A6 MAX|A0605)(?:[);/ ]|$)' model: 'Blade A6 Max' - regex: 'A0622(?:[);/ ]|$)' model: 'Blade A6 Lite' - regex: 'Blade S6 Lite(?:[);/ ]|$)' model: 'Blade S6 Lite' - regex: 'Blade S6(?:[);/ ]|$)' model: 'Blade S6' - regex: 'BLADE A5 PRO(?:[);/ ]|$)' model: 'Blade A5 Pro' - regex: 'T920(?:[);/ ]|$)' model: 'Blade S7' - regex: 'ZTE[ _]T617(?:[);/ ]|$)' model: 'Blade D Lux' - regex: '(?:ZTE[ _])?Blade[ _]L(210|130)' model: 'Blade L$1' - regex: '(?:ZTE_)?Blade_A5_2019' model: 'Blade A5' - regex: 'BLADE V Ultra(?:[);/ ]|$)' model: 'Blade V Ultra' - regex: 'Blade V6 MAX(?:[);/ ]|$)' model: 'Blade V6 Max' - regex: 'Blade V6 Plus(?:[);/ ]|$)' model: 'Blade V6 Plus' - regex: 'Blade (?:V7 Lite|V0720)(?:[);/ ]|$)' model: 'Blade V7 Lite' - regex: 'BLADE V0710(?:[);/ ]|$)' model: 'Blade V7' - regex: 'Blade V([67])(?:[);/ ]|$)' model: 'Blade V$1' - regex: '9050N(?:[);/ ]|$)' model: 'Blade V50' - regex: 'ZTE 8050(?:[);/ ]|$)' model: 'Blade V50 Design' - regex: 'ZTE 8150N(?:[);/ ]|$)' model: 'Blade V50 Design 5G' - regex: 'ZTE 8550(?:[);/ ]|$)' model: 'Blade V50 Vita' - regex: 'BV0800(?:[);/ ]|$)' model: 'Blade V8' - regex: 'ZTE Blade V1000|(?:ZTE_)?V1000' model: 'Blade V10' - regex: 'Z6750M(?:[);/ ]|$)' model: 'Blade X1 5G' - regex: 'Blade X([79])(?:[);/ ]|$)' model: 'Blade X$1' - regex: 'ZTE T630(?:[);/ ]|$)' model: 'Blade X5' - regex: 'ZTE T520(?:[);/ ]|$)' model: 'Blade L5' - regex: 'Blade (?:V8Q|V0840)(?:[);/ ]|$)' model: 'Blade V8Q' - regex: 'Blade V8 SE(?:[);/ ]|$)' model: 'Blade V8 SE' - regex: 'BLADE (?:V0850|V8 Mini)(?:[);/ ]|$)' model: 'Blade V8 Mini' - regex: 'BLADE V0920|ZTE-V9VITA' model: 'Blade V9 Vita' - regex: 'ZTE 8030' model: 'Blade V30 Vita' - regex: 'ZTE 8031' model: 'Blade V2022 4G' - regex: 'ZTE 9030N' model: 'Blade S30' - regex: 'ZTE 9030' model: 'Blade V30' - regex: 'ZTE A7040' model: 'Blade V40 Smart' - regex: 'ZTE A7050' model: 'Blade V41 Smart' - regex: 'ZTE 8045' model: 'Blade V40 Vita' - regex: 'ZTE 8140N' model: 'Blade V41 Vita' - regex: 'ZTE 9046' model: 'Blade V40 Pro' - regex: 'ZTE 8046' model: 'Blade V40 Design' - regex: 'ZTE 9045' model: 'Blade V40' - regex: 'Blade V(9|10) Vita(?:[);/ ]|$)' model: 'Blade V$1 Vita' - regex: 'Blade V([89]|10)(?:[);/ ]|$)' model: 'Blade V$1' - regex: 'BLADE V0820(?:[);/ ]|$)' model: 'Blade V8 Lite' - regex: '(?:Blade[ _])?(Apex2|G (LTE|Lux)|Vec)(?:[);/ ]|$)' model: 'Blade $1' - regex: 'Z768G(?:[);/ ]|$)' model: 'Midnight' - regex: 'Z820' model: 'Obsidian' - regex: 'Z986U' model: 'Blade Max 3' - regex: 'Z6410S' model: 'Blade Max 2s' - regex: 'Z610DL' model: 'Blade Max View' - regex: 'Z971' model: 'Blade Spark' - regex: 'Z978' model: 'Blade V8 Pro' - regex: 'Z839' model: 'Blade Vantage' - regex: 'Z3153V' model: 'Blade Vantage 2' - regex: 'Z930L' model: 'Unico LTE' - regex: 'Z965' model: 'Blade X' - regex: 'Z6400C' model: 'Blade X2 Max' - regex: 'Z981' model: 'Blade Z Max Pro' - regex: 'Z982' model: 'Blade Z Max' - regex: 'Z983' model: 'Blade X Max' - regex: 'Z717[BV]L(?:[);/ ]|$)' model: 'Citrine LTE' - regex: 'Z233VL(?:[);/ ]|$)' model: 'Cymbal-C LTE' - regex: 'Z233V' model: 'Cymbal LTE' - regex: 'Z232TL' model: 'Cymbal-G LTE' - regex: 'Z353VL' model: 'Cymbal-T LTE' - regex: 'Z718TL' model: 'Jasper LTE' - regex: 'KIS II Max' model: 'Kis II Max' - regex: 'Kis 3' model: 'Kis 3' - regex: '(?:Z798BL|Z799VL)(?:[);/ ]|$)' model: 'Majesty Pro LTE' - regex: 'Z899VL' model: 'Majesty Pro Plus LTE' - regex: 'Z828TL' model: 'Midnight Pro LTE' - regex: '(?:ZTE-)?Z792' model: 'Fanfare' - regex: '(?:ZTE-)?Z812' model: 'Maven' - regex: '(?:ZTE-)?Z719DL' model: 'ZMax One' - regex: 'Z815' model: 'Fanfare 2' - regex: 'Z831' model: 'Maven 2' - regex: 'Z832' model: 'Sonata 3' - regex: 'Z835' model: 'Maven 3' - regex: 'Z851(?:[);/ ]|$)' model: 'Prelude Plus' - regex: 'Z851M' model: 'Overture 3' - regex: 'Z852' model: 'Fanfare 3' - regex: 'Z828' model: 'Avid Plus' - regex: 'Z855' model: 'Avid 4' - regex: 'Z833' model: 'Avid TRIO' - regex: '(?:Z836BL|Z837VL|Z836F)(?:[);/ ]|$)' model: 'ZFive 2 LTE' - regex: 'Z558VL' model: 'ZFive C LTE' - regex: 'Z557BL' model: 'ZFive G LTE' - regex: '(?:Z861BL|Z862VL)(?:[);/ ]|$)' model: 'ZFive L LTE' - regex: 'Z916BL' model: 'ZMax Grand LTE' - regex: 'Z917VL' model: 'ZMax Champ LTE' - regex: '(?:Z958|Z955A)(?:[);/ ]|$)' model: 'ZMax 2' - regex: 'dandelion(?:[);/ ]|$)' model: 'ZMax 3' - regex: 'Z6250CC(?:[);/ ]|$)' model: 'ZMax 10' - regex: 'Z963VL' model: 'Max Duo LTE' - regex: 'Z970' model: 'ZMax Z970' - regex: 'Z986DL' model: 'MAX Blue LTE' - regex: '(?:ZTE[-_])?Z992' model: 'Avail 2' - regex: '(?:Z999|Z-01K)(?:[);/ ]|$)' model: 'Axon M' - regex: 'B201[56]|Axon mini' model: 'Axon Mini' - regex: 'A2015' model: 'Axon Tianji' - regex: 'A2017[GU]?' model: 'Axon 7' - regex: 'C2017' model: 'Axon 7 Max' - regex: 'A2018' model: 'Axon 7s' - regex: 'B2017G' model: 'Axon 7 Mini' - regex: '(?:A2020(?:RU|[GU])? Pro|Axon 10 Pro)(?:[);/ ]|$)' model: 'Axon 10 Pro' - regex: 'Z667T' model: 'Zinger' - regex: 'Skate 2' model: 'Skate 2' - regex: 'V?975|geek' model: 'Geek' - regex: 'Z716BL' model: 'Citrine LTE' - regex: 'X500' model: 'Score' - regex: 'X501' model: 'Groove' - regex: '(?:ZTE-)?G-X991' model: 'Rio' - regex: 'F-450' model: 'Adamant' - regex: 'Z936L(?:[);/ ]|$)' model: 'Lever' - regex: 'MO-01[JK](?:[);/ ]|$)' model: 'Mono' - regex: 'V865M(?:[);/ ]|$)' model: 'V865M' - regex: 'Z6621O(?:[);/ ]|$)' model: 'Optus X Vista' - regex: 'P650 Pro(?:[);/ ]|$)' model: 'Optus X Pro LTE' - regex: 'V769M(?:[);/ ]|$)' model: 'Leo Q2' - regex: 'VERGATARIO 5(?:[);/ ]|$)' model: 'Vergatario 5' - regex: 'VERGATARIO5PLUS(?:[);/ ]|$)' model: 'Vergatario 5 Plus' - regex: 'ZTE V5 PRO(?:[);/ ]|$)' model: 'V5 Pro' - regex: 'ZTE 8012N' model: 'Blade V2021 5G' - regex: 'ZTE 9000' model: 'Blade V2020' - regex: 'ZTE 8000' model: 'Blade V2020 Vita' - regex: 'KIS C341' model: 'Kis C341' - regex: 'MEO Smart A([48]0)' model: 'MEO Smart A$1' - regex: 'Smart ?A(35)' model: 'MEO Smart A$1' - regex: 'ATLAS[ _]W' model: 'Atlas W' - regex: 'A2121[GLE]?(?:[);/ ]|$)' device: 'phablet' model: 'Axon 20 5G' - regex: 'ZTE 8010' device: 'phablet' model: 'Blade V2020 Smart' # explicit tv models - regex: 'B867RE(?:[);/ ]|$)' device: 'tv' model: 'ZXV10 B867RE' # explicit tablet models - regex: 'K83CA(?:[);/ ]|$)' device: 'tablet' model: 'Grand X View 3' - regex: 'K87CA(?:[);/ ]|$)' device: 'tablet' model: 'Grand X View 4' - regex: 'K87CC(?:[);/ ]|$)' device: 'tablet' model: 'Grand X View 3.8' - regex: 'ZTE-K88(?:[);/ ]|$)' device: 'tablet' model: 'Trek 2' # AT&T - regex: 'ZTE-K92(?:[);/ ]|$)' device: 'tablet' model: 'PrimeTime' - regex: 'T1002(?:[);/ ]|$)' device: 'tablet' model: 'Blade X10' - regex: 'T1004(?:[);/ ]|$)' device: 'tablet' model: 'Blade X10 II Pro+' - regex: 'AxonPhone ([^;/]+) Build' model: 'AxonPhone $1' - regex: '([a-z0-9]+)_USA_Cricket' model: '$1' - regex: 'ZTE[- ](V98|V96A|V81|V70)(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: 'Blade[_ ](A(\d+)C?|L111|V580|E01)(?:[);/ ]|$)' model: 'Blade $1' - regex: 'ZTE Blade A52' model: 'Blade A52' - regex: 'Z2450' model: 'Blade A55' - regex: 'ZTE Blade A53\+' model: 'Blade A53+' - regex: 'ZTE Blade A33s' model: 'Blade A33s' - regex: 'Blade[_ ]V0730(?:[);/ ]|$)' model: 'Blade V7' - regex: 'Blade[_ ]V0800(?:[);/ ]|$)' model: 'Blade V8' - regex: 'Blade[_ ]V1000(?:[);/ ]|$)' model: 'Blade V10' - regex: 'ZTE B(A601|A910|A510)(?:[);/ ]|$)' model: 'Blade $1' - regex: 'ZTE Blade (A[35]1|A7s|C370)' model: 'Blade $1' - regex: 'ZTE BA610T(?:[);/ ]|$)' model: 'Blade A610' - regex: 'ZTE[- ]([a-z0-9\-_ ]+) Build' model: '$1' - regex: 'ZTE-(?:G |G-)?([a-z0-9 _]+)' model: '$1' - regex: 'U?ZTE[ _]?([a-z0-9]+)' model: '$1' # Onix Onix: regex: '(?:ONIX S405|AT101-1116|ONIX_8_3G_01)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(AT101-1116)(?:[);/ ]|$)' model: '$1' - regex: 'ONIX_8_3G_01(?:[);/ ]|$)' model: '8" Tablet 3G' - regex: '(S405)(?:[);/ ]|$)' device: 'smartphone' model: '$1' Zuum: regex: 'Zuum[ _-]|Android 6.+ UNIQ(?: Build|[);])|(?:ROCKET III?|Akus (?:PRO|[ZP]1?)|AURA_Z|COVET|MAGNO(?:-S)?|ONIX(?: S)?|STEDI|STELLAR(?:[ _](?:Z|PRO|[MP]1|M2))?|GRAVITY [ZM]|AURA (?:PLUS JLO|PRO JLO|PRO|X)|COVET_PRO_LITE|RONI|Android.*; (?:GRANT|LIMIT)|Gravity Life|SENS M1|ULTRA Z)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AKUS PRO' model: 'Akus Pro' - regex: 'AKUS ([ZP]1?)' model: 'Akus $1' - regex: 'AURA_Z(?:[);/ ]|$)' model: 'Aura Z' - regex: 'COVET_PRO_LITE' model: 'Covet Pro Lite' - regex: 'COVET PRO' model: 'Covet Pro' - regex: 'COVET Mini' model: 'Covet Mini' - regex: 'COVET( [XZ])?' model: 'Covet$1' - regex: 'MAGNO PLUS' model: 'Magno Plus' - regex: 'MAGNO-S' model: 'Magno S' - regex: 'MAGNO( C[12]?)?' model: 'Magno$1' - regex: 'ONIX S' model: 'Onix S' - regex: 'ONIX' model: 'Onix' - regex: 'SENS M1' model: 'Sens M1' - regex: 'STEDI' model: 'Stedi' - regex: 'STELLAR PRO' model: 'Stellar Pro' - regex: 'STELLAR PLUS' model: 'Stellar Plus' - regex: 'STELLAR ([MP]\d|Z)' model: 'Stellar $1' - regex: 'STELLAR MINI' model: 'Stellar Mini' - regex: 'STELLAR Max' model: 'Stellar Max' - regex: 'STELLAR' model: 'Stellar' - regex: 'GRAVITY ([MZ])' model: 'Gravity $1' - regex: 'Gravity Life' model: 'Gravity Life' - regex: 'AURA PLUS JLO' model: 'Aura Plus J.Lo' - regex: 'AURA PRO JLO' model: 'Aura Pro J.Lo' - regex: 'AURA PRO' model: 'Aura Pro' - regex: 'AURA X' model: 'Aura X' - regex: 'RONI' model: 'Roni' - regex: 'ULTRA Z' model: 'Ultra Z' - regex: 'ROCKET (III?)' model: 'Rocket $1' - regex: 'Android 6.+; UNIQ(?: Build|[);])' model: 'Uniq' - regex: 'Android.+; LIMIT(?: Build|[);])' model: 'Limit' - regex: 'GRANT' model: 'Grant' - regex: 'Zuum[ _-]([^;/]+) Build' model: '$1' - regex: 'Zuum[ _-]?([^;/)]+)(?:[);/ ]|$)' model: '$1' # Zen Zen: regex: '(Admire[_ ][^/;]+|Cinemax[^/;)]+)(?:Build|\))|(?:AdmireGlam|M72 Smart)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AdmireGlam' model: 'Admire Glam' - regex: 'ADMIRE[_ ]SENSE\+' model: 'Admire Sense+' - regex: 'ADMIRE[_ ]SWADESH\+' model: 'Admire Swadesh+' - regex: 'ADMIRE[_ ]SENSE[_ ]DUO' model: 'Admire Sense Duo' - regex: 'ADMIRE[_ ]CURVE[_ ]NEO' model: 'Admire Curve Neo' - regex: 'ADMIRE[_ ]CURVE\+' model: 'Admire Curve+' - regex: 'ADMIRE[_ ]NEO\+' model: 'Admire Neo+' - regex: 'ADMIRE[_ ]DUO' model: 'Admire Duo' - regex: 'ADMIRE[_ ]SHINE' model: 'Admire Shine' - regex: 'ADMIRE[_ ]INFINITY' model: 'Admire Infinity' - regex: 'ADMIRE[_ ]Unity' model: 'Admire Unity' - regex: 'ADMIRE[_ ]STRONG' model: 'Admire Strong' - regex: 'ADMIRE[_ ]GLORY\+' model: 'Admire Glory+' - regex: '(M72 Smart)' model: '$1' - regex: '(Admire[_ ][^/;]+|Cinemax[^/;)]+)(?:Build|\))' model: '$1' # Zync Zync: regex: 'ZYNC|(Cloud Z5|Z1000|Z18|Z99|Z99[_ ][23]G|Z99|Z900[_ ]Plus|Z909|Z930[+]|Z930)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Z18| DuZ99al Core|Z99[_ ][23]G|Z99 Dual Core|Z99|Z900[_ ]Plus|Z909|Z930[+]|Z930)' model: '$1' - regex: '(Z1000[^/;]+)Build' model: '$1' - regex: 'Cloud (Z5)' model: 'Cloud $1' - regex: 'ZYNC Cloud[ _]([^;]+)Build' model: 'Cloud $1' - regex: 'ZYNC[ _]([^;]+)Build' model: '$1' # Lemhoov Lemhoov: regex: 'Lemhoov' device: 'smartphone' models: - regex: 'Lemhoov[ _-]([^/;]+) Build' model: '$1' # MStar MStar: regex: 'MStar(?:[);/ ]|$)' device: 'tv' model: '' # MTC (MTS) MTC: regex: 'MTC[ _](968|97[82]|970|982[OT]?|1078)|(?:MTC[_ ])?SMART[ _]?(?:Race[2]?|Sprint|Run|Turbo|Surf[2]?)[ _]4G|MTC975|Smart Bit|Smart_(?:LINE|Light)|(?:MTC[ _])?SMART[ _](?:Run|Start[_ ][23])|Redbox Mini 5\(MTS\)|MTS TV|DV8235|DV9135|DV9157-C|DV8304-C|Osmartphona' device: 'smartphone' models: - regex: 'Osmartphona' model: 'Osmartphona' - regex: 'MTC[ _]?(97[258]|970[H]?|982[OT]?|968)' model: '$1' - regex: 'MTC[ _](1078)' model: '$1' device: 'tablet' - regex: 'SMART[ _]Race[ _]4G' model: 'Smart Race 4G' - regex: 'SMART[ _]Race2[ _]4G' model: 'Smart Race 2 4G' - regex: '(?:MTC_)?SMART[ _]Sprint[ _]4G' model: 'Smart Sprint 4G' - regex: '(?:MTC_)?SMART[ _]Start[ _]([23])' model: 'Smart Start $1' - regex: 'Smart_LINE' model: 'Smart Line' - regex: 'Smart_Light' model: 'Smart Light' - regex: 'Smart Bit' model: 'Smart Bit' - regex: 'SMART[ _]?Run(?:[ _]4G)?' model: 'Smart Run 4G' - regex: 'SMART[ _]Surf2[ _]4G' model: 'Smart Surf 2 4G' - regex: 'SMART[ _]Surf[ _]4G' model: 'Smart Surf 4G' - regex: 'SMART[ _]Turbo[ _]4G' model: 'Smart Turbo 4G' - regex: 'Redbox Mini 5\(MTS\)' device: 'tv' model: 'Redbox Mini 5' - regex: 'MTS TV Box (\d{3})' device: 'tv' model: 'SB-$1' - regex: 'DV8304-C' device: 'tv' model: 'SuperWave DV8304-C' - regex: '(DV8235|DV9135|DV9157)' device: 'tv' model: '$1' # Megacable (https://megacable.com.mx/) Megacable: regex: 'OTT Xview AV1(?:[);/ ]|$)' device: 'tv' models: - regex: 'OTT Xview AV1' model: 'Xview+' # ZTE B866V2F # MegaFon MegaFon: regex: 'MegaFon|MFLoginPh|MegLogPh|(MFLogin[34]T?|MS3B|SP-A5|SP-A20i|KM8-ATV-MF)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MFLoginPh|MegLogPh' model: 'Login+' - regex: 'MFLogin4' model: 'Login 4 LTE' - regex: 'MFLogin3T|MegaFon Login 3' model: 'Login 3' device: 'tablet' - regex: 'MS3B|Megafon Optima' model: 'Optima' - regex: 'SP-A20i' model: 'Mint' - regex: '(SP-A5|SP-W1)' model: '$1' - regex: 'MegaFon V9+' device: 'tablet' model: 'V9 Plus' - regex: '(KM8-ATV-MF)' device: 'tv' model: '$1' # Inoi (inoi.com) Inoi: regex: 'INOI|(?:A126|A1[68]1|A170_Plus|A161_Plus|(?:Android 12(?:[\d.]*);(?: [\w-]+;)? (?:A151))|(?:Android 11(?:[\d.]*);(?: [\w-]+;)? (?:A17[01]|A180))|A181_Plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'inoiPad mini 2\+32 Wi-Fi\+3G' device: 'tablet' model: 'Pad Mini 2+32' - regex: 'inoiPad 2\+32 Wi-Fi\+3G' device: 'tablet' model: 'Pad 2+32' - regex: 'inoiPad 128\+4GB Wi-Fi\+4G' device: 'tablet' model: 'Pad 4+128' - regex: 'inoiPad mini 1\+16 Wi-Fi' device: 'tablet' model: 'Pad Mini 1+16 WiFi' - regex: 'inoiPad Pro' device: 'tablet' model: 'Pad Pro' - regex: 'inoiPad 64GB Wi-Fi\+3G' device: 'tablet' model: 'Pad WiFi' - regex: 'INOI easyphone' model: 'Easy Phone' - regex: 'INOI (2|5) Lite (2019|2021)' model: '$1 Lite ($2)' - regex: 'INOI[_ ]([123])[_ ]LITE' model: '$1 Lite' - regex: '(A126|A17[01])(?:[);/ ]|$)' model: '$1' - regex: 'A170_Plus' model: 'A72' - regex: 'A181_Plus' model: 'A181 Plus' - regex: 'A(1[58]1)' model: 'A$1' - regex: 'A180' model: 'Note 12' - regex: '(?: A161|A161_Plus)(?:[);/ ]|$)' model: 'A62' - regex: 'INOI ([257]) (?:\d\+\d+ )?(2019|202[01])(?:[);/ ]|$)' model: '$1 ($2)' - regex: 'INOI[_ ]([^);/]+)(?: Build|[;)])' model: '$1' # Vertex (vertex-digital.ru) Vertex: regex: 'Vertex[_ -]|(?:Luck|Luck_L1[02]0_[34]G|Lion_Dual|V709X|TAB X8|TAB X10|Tab [43]G (?:7-2|8-1|10-1)|Tab_3G_7-1|Pro_P3[01]0_4G|Lion_DC|Baccara|Eagle[ _]4G|ImpressMAX|Lion [1-3])(?:[);/ ]|$)|Impress[ _]([^;/]+)(?:Build|\))' device: 'smartphone' models: - regex: '(?:Vertex_)?Luck[_ ]L[_ ](5045)[_ ]([34])G' model: 'Luck L $1 $2G' - regex: '(Lion_Dual|Lion_DC|Baccara|Eagle[ _]4G|Luck[_ ]L1[023]0(?:[_ ][34]G)?|Luck)(?:[);/ ]|$)' model: '$1' - regex: 'Impress ?MAX(?:[);/ ]|$)' model: 'Impress Max' - regex: 'IMPRESS ECLIPSE(?:[);/ ]|$)' model: 'Impress Eclipse' - regex: 'Pro_P(3[01]0)_4G(?:[);/ ]|$)' model: 'Pro P$1 4G' - regex: 'Impress_Luck[_ ]?4G_NFC(?:[);/ ]|$)' model: 'Impress Luck 4G NFC' - regex: 'Lion ([1-3])(?:[);/ ]|$)' model: 'Impress Lion $1' - regex: '(Impress[ _][a-z]+)([34])G(?:Build|\))' model: '$1 $2G' - regex: '(Impress[ _](?:[^;/]+))(?:Build|\))' model: '$1' - regex: '(V709X)' device: 'tablet' model: '$1' - regex: 'TAB X(8|10)(?:[);/ ]|$)' device: 'tablet' model: 'Tab X$1' - regex: 'Tab[ _]([43])G[ _]([78]|10)-([21])' device: 'tablet' model: 'Tab $1G $2.$3"' # Starway Starway: regex: 'Andromeda[ _]S(707|84[05]|850|8)(?:[);/ ]|$)' device: 'tablet' model: 'Andromeda S$1' # Savio Savio: regex: ' (TB-PO1|TB-B01|TB-G01)(?:[);/ ]|$)' device: 'tv' model: '$1' # Schok (https://www.schokgear.com/) Schok: regex: 'Schok[ _]|FreedomTurboXL' device: 'smartphone' models: - regex: 'Schok Volt SV55' model: 'Volt SV55' - regex: 'FreedomTurboXL' model: 'Freedom Turbo XL' # Simbans Simbans: regex: 'TangoTab|Presto[ )]|PicassoTab_[X9]|PICASSOTABX14|Ultimax|Valumax|S72-B|SX2W' device: 'tablet' models: - regex: 'TangoTab[_ ]?(\d+|X)' model: 'TangoTab $1' - regex: 'TangoTab' model: 'TangoTab' - regex: 'Ultimax' model: 'Ultimax' - regex: 'Valumax' model: 'Valumax' - regex: 'PicassoTab_?(X14|XL?|9)' model: 'Picasso Tab $1' - regex: 'Presto' model: 'Presto' - regex: 'S72-B' model: 'S72-B' - regex: 'SX2W' model: 'SX2W' # MYFON MYFON: regex: 'MYPAD7s' device: 'tablet' model: 'My Pad 7s' # X-TIGI (x-tigi.com) X-TIGI: regex: 'X[-_]TIGI|Hope(?:[78]|10)[_ ](?:Mate|Max|Pro|Plus|LTE)|JOY(?:10|8) Mate|JOY10_LTE|Photo_P15_Lite|SHARP_2|SHARP1|V18 pro_A' device: 'smartphone' models: - regex: 'X-TIGI_JOY10_PRO' model: 'Joy 10 Pro' device: 'tablet' - regex: 'X-TIGI_JOY10' model: 'Joy 10' device: 'tablet' - regex: 'X[_ ]TIGI[_ ]JOY7_TV' model: 'Joy 7 TV' device: 'tablet' - regex: '(?:X_TIGI_)?JOY(10|[78])[ _]Mate' model: 'Joy $1 Mate' device: 'tablet' - regex: 'Hope([78])[_ ](Mate|Max)' model: 'Hope $1 $2' device: 'tablet' - regex: 'Hope ?8 LTE' model: 'Hope 8 LTE' device: 'tablet' - regex: 'Hope10[_ ]Pro' model: 'Hope 10 Pro' device: 'tablet' - regex: 'Hope10[_ ]Plus' model: 'Hope 10 Plus' device: 'tablet' - regex: 'X-TIGI_JOY7_MAX' model: 'Joy 7 Max' device: 'tablet' - regex: 'JOY10_LTE' model: 'Joy 10 LTE' device: 'tablet' - regex: 'X-TIGI[_ ]V28[_ ]LTE' model: 'V28 LTE' - regex: 'X[-_]TIGI[_ ]V19' model: 'V19' - regex: 'V18 pro_A' model: 'V18 Pro' - regex: 'X[-_]TIGI[_ ]A1[_ ]?Plus' model: 'A1 Plus' - regex: 'X-TIGI[_ ]Photo[_ ]P11' model: 'Photo P11' - regex: 'Photo_P15_Lite' model: 'Photo P15 Lite' - regex: 'SHARP_?([12])' model: 'Sharp $1' - regex: 'X[-_]TIGI[ _-]([^/;)]+)(?: Build|[;)])' model: '$1' # Hot Pepper (https://www.hotpepperusa.com/) Hot Pepper: regex: '(?:HPP-(GS1|L55B)|VLE5|Puya|HPPL6[03]A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'HPP-GS1' model: 'Ghost' - regex: 'HPPL60A' model: 'Chilaca' - regex: 'HPPL63A' model: 'Panca' - regex: 'VLE5' model: 'Poblano' - regex: 'Puya' model: 'Puya' device: 'tablet' - regex: 'HPP-L55B' model: 'Serrano' # Xiaolajiao or Shenzhen Peppers xiaolajiao.com) Xiaolajiao: regex: '(LA2-(?:L|S[N]?)|HLA Note(?:3|1-L)|L7620DE|20190416Q|20170608S|20180322D|20190325D|20190718Q|20190417Q|20180101M|20170605Q)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'HLA Note3(?:[);/ ]|$)' model: 'Red Pepper Note 3' - regex: 'HLA Note1-L(?:[);/ ]|$)' model: 'Note 1' - regex: '(LA2-(?:L|S[N]?))(?:[);/ ]|$)' model: '$1' - regex: '(20190416Q|L7620DE|20180101M|20170605Q)(?:[);/ ]|$)' model: '$1' - regex: '20170608S(?:[);/ ]|$)' model: 'Red Pepper Plus' - regex: '20180322D(?:[);/ ]|$)' model: 'E Sports' - regex: '20190325D(?:[);/ ]|$)' model: 'Red Pepper 8X Pro' - regex: '20190718Q(?:[);/ ]|$)' model: 'Red Pepper 9X' - regex: '20190417Q(?:[);/ ]|$)' model: 'Mate 30 Max' # Ritmix Ritmix: regex: '(RMD[-_](?:10(?:2[689]|30|5[089])|1121|75[017]|726|85[57]|870)|RMP-(?:450|50[56]|530|600))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'RMD[-_](10(?:2[689]|30|5[089])|1121|75[017]|726|85[57]|870)(?:[);/ ]|$)' model: 'RMD-$1' - regex: 'RMP[-_](450|50[56]|530|600)(?:[);/ ]|$)' model: 'RMP-$1' device: 'smartphone' # Ross&Moor Ross&Moor: regex: 'RM(D)?[-_](974R|600|550|790)(?:[);/ ]|$)' device: 'tablet' model: 'RM$1-$2' # R-TV R-TV: regex: 'R-TV BOX[ _]?(MINI\+|X99|X10 PRO|[RXS]10)' device: 'tv' model: 'Box $1' # NEXBOX NEXBOX: regex: '(MXQ|MXQ-Pro)-NEXBOX|NEXBOX-([^) ]+)' device: 'tv' models: - regex: 'MXQ-Pro-NEXBOX' model: 'MXQ Pro' - regex: 'MXQ-NEXBOX' model: 'MXQ' - regex: 'NEXBOX-([^) ]+)' model: '$1' # True or TrueSmart 'True': regex: 'TRUE BEYOND TAB 3G|HPH07|SMART[ _](4G Adventure(?: Pro)?|MAX 4\.0 PLUS|4G[ _](?:MAX 5\.5|GEN C [45]\.[05]|M1 Plus|Champion|Speedy 5\.0 Plus|Speedy[_ ]5inch|P1))|Alpha 5G|SMART Champ 4\.0|TRUE SMART 7\.0 Quadcore|SMART 4G M1|SMART TAB 4G (?:e-Biz|M1)' device: 'smartphone' models: - regex: 'Alpha 5G(?:[);/ ]|$)' model: 'Alpha 5G' - regex: 'SMART MAX 4\.0 PLUS' model: 'Smart Max 4.0 Plus' - regex: 'SMART Champ 4\.0' model: 'Smart Champ 4.0' - regex: 'SMART 4G Gen C ([45]\.[05])' model: 'Smart 4G Gen C $1"' - regex: 'SMART 4G Speedy 5\.0 Plus' model: 'Smart 4G Speedy 5.0 Plus' - regex: 'SMART 4G Adventure Pro' model: 'Smart 4G Adventure Pro' - regex: 'SMART 4G Adventure' model: 'Smart 4G Adventure' - regex: 'SMART 4G MAX 5\.5' model: 'Smart 4G Max 5.5' - regex: 'SMART[ _]4G[_ ]Speedy[_ ]5inch' model: 'Smart 4G Speedy 5' - regex: 'SMART[ _]4G[_ ]Champion' model: 'Smart 4G Champion' - regex: 'SMART[ _]4G[_ ]P1 Prime' model: 'Smart 4G P1 Prime' - regex: 'SMART[ _]4G[_ ]P1' model: 'Smart 4G P1' - regex: 'SMART[ _]4G M1 Plus' model: 'Smart 4G M1 Plus' - regex: 'SMART 4G M1' model: 'Smart 4G M1' - regex: 'SMART TAB 4G M1' device: 'tablet' model: 'Smart Tab 4G M1' - regex: 'SMART TAB 4G e-Biz PRO' device: 'tablet' model: 'Smart Tab 4G e-Biz Pro' - regex: 'SMART TAB 4G e-Biz' device: 'tablet' model: 'Smart Tab 4G e-Biz' - regex: 'TRUE BEYOND TAB 3G' device: 'tablet' model: 'Beyond Tab 3G' - regex: 'TRUE SMART 7\.0 Quadcore' device: 'tablet' model: 'Smart Tab 7.0 QuadCore' - regex: 'HPH07' device: 'tv' model: 'ID TV HPH07' Yandex: regex: '(?:YNDX-?00(?:0SB|10[12]|055|07[1235]|09[12])|YandexModule2-00001)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'YandexModule2-00001' device: 'tv' model: 'Module' - regex: 'YNDX-?(0007[1235]|0009[12]|0010[12])' device: 'tv' model: 'YNDX-$1' - regex: 'YNDX-?000SB' model: 'YNDX-000SB' - regex: 'YNDX-?00055' device: 'smart speaker' model: 'SmartSpeak Duo Max' # FORME FORME: regex: 'FORME[ _-]' device: 'smartphone' models: - regex: 'FORME[ _-]F520(?:[);/ ]|$)' model: 'Forever' - regex: 'FORME[ _-](A[35]7|R7S?|P6)(?:[);/ ]|$)' model: '$1' # Shuttle Shuttle: regex: '(PNT-704[025])(?:[);/ ]|$)' device: 'tablet' model: '$1' # BDF BDF: regex: '(?:BDF[- ](?:819|P10|M107|K107H|KT107|MT6753|X20|P30)|K960N_MT(?:6580|6753)(?:_32_N)?|m107_\d+a_64_q|ZL80)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'BDF[- ](819|P10|M107|K107H|KT107|MT6753|X20|P30)(?:[);/ ]|$)' model: '$1' - regex: 'm107_\d' model: 'M107' - regex: 'ZL80' model: 'ZL80' - regex: 'K960N_MT(6580|6753)(_32_N)?(?:[);/ ]|$)' model: 'BK960N MT$1' # HiHi (https://www.hihi.co.uk) HiHi: regex: 'HIHI-' device: 'tablet' models: - regex: 'HIHI-(4[01])KH-TAB-0?1' model: '$1KH-TAB-01' # Hi or Hi TFG (https://www.hi-online.co.za/) Hi: regex: '(?:(?<!Thrill )Boost(?:[ _](?:Hypa|Max|Ultra))?(?: Build|[;)])|HMR(?:5012|5450)|Crusader|(?:VHIX-)?VHIX-\w+(?:-[A-Z])?|43FSY112X[bcd]?|32HSY119X|39HSY111X|55USY151X|50USY151X|65USY151X)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Boost[ _](Hypa|Max|Ultra)(?:[);/ ]|$)' model: 'Boost $1' - regex: 'Boost(?:[);/ ]|$)' model: 'Boost' - regex: 'HMR5012(?:[);/ ]|$)' model: 'Boost Go' - regex: '(HMR5450|Crusader)(?:[);/ ]|$)' model: '$1' - regex: 'VHIX-40F152MSYb' device: 'tv' model: 'VHIX-40F152MSY' - regex: '(?:VHIX-)?VHIX-(\w+)' device: 'tv' model: 'VHIX-$1' - regex: '(32HSY119X|39HSY111X|55USY151X|43FSY112X[bcd]?|50USY151X|65USY151X)(?:[);/ ]|$)' device: 'tv' model: '$1' # Boost Boost: regex: '(?:Pulse Retro|Pulse Sky|Pulse Glide|Cabana|StrikaPlay)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Pulse Retro|Pulse Sky|Pulse Glide)' model: '$1' - regex: '(Cabana)' device: 'tablet' model: '$1' - regex: 'StrikaPlay' device: 'tablet' model: 'Strika Play' # Highscreen Highscreen: regex: 'HIGHSCREEN|(Easy[- ]Power(?:[- ]Pro)?|Pure[_ ](?:Power|F)|Power Ice(?: Max)?|Easy[_ ]([SFL]|XL)(?:_Pro)?|Razar_Pro|Power Rage(?: Evo)?|Zera-S-Power|Zera[ _][UFS]|Power[ _]?Five[ _]?(?:Pro|Evo|Max|Max(?:Lite|2))|Power(?:Four|Five)|BOOST II(?:se)?|Fest(?:XL)?(?:-Pro)?|Tasty|Boost3|Boost 3(?: Pro)? SE|Expanse|Explosion|Hercules|Alpha Rage|VergeM|Ice2|Prime [LS]|Spade|Spark 2|Alpha GT[RX]|Wallet|Thunder|Razar|COSMO DUO|Prime Mini SE| Bay|Omega Q)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Power Ice(?:[ ](?:Max|Evo))?|Power Rage(?: Evo)?|Zera[ _][UFS]|Alpha GT[RX]|Wallet)(?:[);/ ]|$)' model: '$1' - regex: 'PowerFivePro(?:[);/ ]|$)' model: 'Power Five Pro' - regex: 'PowerFiveMaxLite(?:[);/ ]|$)' model: 'Power Five Max Lite' - regex: 'PowerFiveMax2(?:[);/ ]|$)' model: 'Power Five Max 2' - regex: 'Power Five Evo(?:[);/ ]|$)' model: 'Power Five Evo' - regex: 'Power Five Max(?:[);/ ]|$)' model: 'Power Five Max' - regex: 'Power[_ ]?Five(?:[);/ ]|$)' model: 'Power Five' - regex: 'Spade(?:[);/ ]|$)' model: 'Spade' - regex: 'Spark 2(?:[);/ ]|$)' model: 'Spark 2' - regex: 'FestXL-Pro(?:[);/ ]|$)' model: 'Fest XL Pro' - regex: 'FestXL(?:[);/ ]|$)' model: 'Fest XL' - regex: 'Fest-Pro(?:[);/ ]|$)' model: 'Fest Pro' - regex: 'Fest(?:[);/ ]|$)' model: 'Fest' - regex: 'Bay(?:[);/ ]|$)' model: 'Bay' - regex: 'PowerFour(?:[);/ ]|$)' model: 'Power Four' - regex: 'Pure[_ ]Power(?:[);/ ]|$)' model: 'Pure Power' - regex: 'Pure[ _]F(?:[);/ ]|$)' model: 'Pure F' - regex: 'Razar_Pro(?:[);/ ]|$)' model: 'Razar Pro' - regex: 'Razar(?:[);/ ]|$)' model: 'Razar' - regex: 'Easy[_ ]([SLF]|XL)[_ ]Pro(?:[);/ ]|$)' model: 'Easy $1 Pro' - regex: 'Easy[_ ]([SFL]|XL)(?:[);/ ]|$)' model: 'Easy $1' - regex: '(?:HIGHSCREEN )?Easy[- ]Power[- ]Pro(?:[);/ ]|$)' model: 'Easy Power Pro' - regex: '(?:HIGHSCREEN )?Easy-Power(?:[);/ ]|$)' model: 'Easy Power' - regex: 'Explosion' model: 'Explosion' - regex: 'BOOST II(?:[);/ ]|$)' model: 'Boost 2' - regex: 'BOOST IIse(?:[);/ ]|$)' model: 'Boost 2 SE' - regex: 'Boost 3 SE(?:[);/ ]|$)' model: 'Boost 3 SE' - regex: 'Boost 3 Pro SE(?:[);/ ]|$)' model: 'Boost 3 Pro SE' - regex: 'BOOST3(?:[);/ ]|$)' model: 'Boost 3' - regex: 'Zera-S-Power(?:[);/ ]|$)' model: 'Zera S Power' - regex: 'Tasty(?:[);/ ]|$)' model: 'Tasty' - regex: 'VergeM(?:[);/ ]|$)' model: 'Verge M' - regex: 'WinWin(?:[);/ ]|$)' model: 'WinWin' - regex: 'Expanse(?:[);/ ]|$)' model: 'Expanse' - regex: 'Hercules(?:[);/ ]|$)' model: 'Hercules' - regex: 'Thunder' model: 'Thunder' - regex: 'Alpha Rage(?:[);/ ]|$)' model: 'Alpha Rage' - regex: 'Ice2(?:[);/ ]|$)' model: 'Ice 2' - regex: 'Prime Mini SE(?:[);/ ]|$)' model: 'Prime Mini SE' - regex: 'Prime ([LS])(?:[);/ ]|$)' model: 'Prime $1' - regex: 'COSMO DUO' model: 'Cosmo Duo' - regex: 'Omega Q' model: 'Omega Q' # CVTE CVTE: regex: 'CVTE[_ ](MSD338_(:?1G|512M))(?:[);/ ]|$)' device: 'tv' model: '$1' # Globex Globex: regex: '(GU1011C|GU8012C|GU7013C|GU730C|GU-6012B)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'GU8012C(?:[);/ ]|$)' model: 'X8' - regex: 'GU-6012B(?:[);/ ]|$)' model: 'GU6012B' - regex: '(GU1011C|GU7013C|GU730C)(?:[);/ ]|$)' model: '$1' # Atom or Atom evolution Atom: regex: 'ATOM-(108A[ML]|216AL|216RK|216AM)(?:[);/ ]|$)' device: 'tv' model: '$1' # Qumo Qumo: regex: 'QUMO[ _]?|(?:Quest[ _]?(?:408|410|45[56]|50[679])|Vega[ _]?78[23]|Sirius[ _]?(?:1001|890))(?:[);/ ]|$)' device: 'tablet' models: - regex: '(?:QUMO[ _]?)?Vega[ _]?(78[23]|8002)(?:[);/ ]|$)' model: 'Vega $1' - regex: 'Yooda(?:[);/ ]|$)' model: 'Yooda' - regex: 'Sirius[ _]?(1001|890)(?:[);/ ]|$)' model: 'Sirius $1' - regex: '(?:QUMO[ _]?)?(Sirius 101-4G 8GB Black|Altair 701 8GB Black|Altair 71 4GB Black|Altair 700[24]|Altair 70[16]|Vega_803i)(?:[);/ ]|$)' model: '$1' - regex: '(?:QUMO[ _])?Quest[ _]?(35[34]|40[268]|410|45[2568]|47[46]|50[679]|5[137]0|574|600)(?:[);/ ]|$)' device: 'smartphone' model: 'Quest $1' # Qubo (qubomobile.com) Qubo: regex: '(?:Cronos|MINERVA(?:_32GB)?|X668_64GB|X626_4G|Hermes|T104_64GB)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MINERVA(?:_32GB)?(?:[);/ ]|$)' model: 'Minerva' - regex: 'X668_64GB' model: 'X668' - regex: '(Cronos|Hermes|X626_4G)(?:[);/ ]|$)' model: '$1' - regex: 'T104_64GB(?:[);/ ]|$)' device: 'tablet' model: 'T104' # Umax (umax.cz) Umax: regex: 'VisionBook[ _]|([78]Qa_3G|7A_3G|VB_10Q_Plus|10A_LTE_eea|(?:8|10)C_LTE|10L-PLUS)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(VisionBook[ _](?:10Qi|7Q[i]?|8Q[ei]?|P70|8Qi_3G)(?:[ _](?:[34]G|Plus|LTE))?)(?:[);/ ]|$)' model: '$1' - regex: '(7A(?:[ _](?:[34]G)))(?:[);/ ]|$)' model: 'VisionBook $1' - regex: '([78])Qa_3G(?:[);/ ]|$)' model: 'VisionBook $1Qa 3G' - regex: 'VisionBook_10Q_LTE(?:[);/ ]|$)' model: 'VisionBook 10Q LTE' - regex: '(8|10)C_LTE(?:[);/ ]|$)' model: 'VisionBook $1C LTE' - regex: '10L-PLUS' model: 'VisionBook 10L Plus' - regex: 'VisionBook_10Q_Pro(?:[);/ ]|$)' model: 'VisionBook 10Q Pro' - regex: '10A_LTE_eea(?:[);/ ]|$)' model: 'VisionBook 10A LTE' - regex: 'VB_10Q_Plus(?:[);/ ]|$)' model: 'VisionBook 10Q Plus' - regex: 'VisionBook_P50Plus_LTE(?:[);/ ]|$)' device: 'smartphone' model: 'VisionBook P50 Plus LTE' - regex: '(VisionBook[ _](?:P50 LTE|P55 X2 LTE|P55 LTE(?: Pro)?))(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Mann Mann: regex: 'MANN[ _]|(ZUG 3|ZUG 5S(?: Q)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MANN[ _](8S)' model: '$1' - regex: '(ZUG 3|ZUG 5S(?: Q)?)(?:[);/ ]|$)' model: '$1' # Unihertz (unihertz.com) Unihertz: regex: '((?<!Astra )Titan(_pocket)?|Jelly(?:-Pro| Star|2(?:_JP)?| 2E)|Atom_X?L|Ticktock(?:-S)?|UNIA62_S01|Titan Slim|TANK 01|TANK 2 PRO|TANK2|TANK 3|TANK MINI 1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Jelly)-Pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'Jelly2(?:_JP)?(?:[);/ ]|$)' model: 'Jelly 2' - regex: 'Jelly 2E' model: 'Jelly 2E' - regex: 'Jelly Star' model: 'Jelly Star' - regex: 'Titan_pocket' model: 'Titan Pocket' - regex: 'Titan Slim' model: 'Titan Slim' - regex: 'Ticktock-S' model: 'Ticktock S' - regex: 'UNIA62_S01' model: 'Ticktock E' - regex: 'Ticktock' model: 'Ticktock' - regex: 'TANK 01' model: 'Tank 01' - regex: '(Titan|Atom_X?L)(?:[);/ ]|$)' model: '$1' # 8849 (8849tech.com) sub brand Unihertz - regex: 'TANK 2 PRO' model: 'Tank 2 Pro' - regex: 'TANK MINI 1' model: 'Tank Mini 1' - regex: 'TANK ?([23])' model: '8849 Tank $1' # Chuwi (www.chuwi.com) Chuwi: regex: '(?:CW-(Hi8-super|Hi12|V99i?|V17HD3G|VX8-3G|V88-QUAD|V9-DUAL|V88S|Vi[78]|[HV]i10 (?:pro|plus))|Hi10 (?:Pro|plus)|HiPad[ -](?:X|X?Pro|Air|Max)|HiPadX|HiBox-hero|HiBook(?: pro)?|Hi(?:[89]|10) ?(?:Air|X?Pro)|HiPad ?Plus|Hi8SE|Vi8 plus|Vi10(?: ?Pro)?|Surpad|HiPadPro)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(CW-Hi8-super)(?:[);/ ]|$)' model: 'Hi8' - regex: '(?:CW-)?(Vi10|Hi10|Vi8) plus(?:[);/ ]|$)' model: '$1 Plus' - regex: 'CW-(V88)-QUAD(?:[);/ ]|$)' model: '$1 Quad' - regex: 'CW-(V9)-DUAL(?:[);/ ]|$)' model: '$1 Dual' - regex: 'CW-(V17HD|VX8)-?(3G)(?:[);/ ]|$)' model: '$1 $2' - regex: '(?:CW-)?(Hi10) pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'HiBook pro(?:[);/ ]|$)' model: 'HiBook Pro' - regex: 'HiBook(?:[);/ ]|$)' model: 'HiBook' - regex: 'HiPad ?X(?:[);/ ]|$)' model: 'HiPad X' - regex: 'HiPad ?Pro(?:[);/ ]|$)' model: 'HiPad Pro' - regex: 'HiPad ?XPro(?:[);/ ]|$)' model: 'HiPad X Pro' - regex: 'HiPad-Air(?:[);/ ]|$)' model: 'HiPad Air' - regex: 'HiPad ?Plus(?:[);/ ]|$)' model: 'HiPad Plus' - regex: 'HiPad ?Max(?:[);/ ]|$)' model: 'HiPad Max' - regex: 'Hi([89]) ?Air(?:[);/ ]|$)' model: 'Hi$1 Air' - regex: 'Hi8SE(?:[);/ ]|$)' model: 'Hi8 SE' - regex: 'Hi10 ?XPro' model: 'Hi10 XPro' - regex: 'Hi([89]) ?pro(?:[);/ ]|$)' model: 'Hi$1 Pro' - regex: 'Vi10 Plus(?:[);/ ]|$)' model: 'Vi10 Plus' - regex: 'Vi10 ?Pro(?:[);/ ]|$)' model: 'Vi10 Pro' - regex: 'Vi10(?:[);/ ]|$)' model: 'Vi10' - regex: 'Surpad(?:[);/ ]|$)' model: 'SurPad' - regex: 'HiBox-hero(?:[);/ ]|$)' model: 'HiBox Hero' device: 'desktop' - regex: 'CW-(Vi[78]|Hi12|V99i?|V88S)(?:[);/ ]|$)' model: '$1' # Bezkam Bezkam: regex: 'BEZKAM (BK-RAM2)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # NG Optics NG Optics: regex: '(NG3128HD)(?:[);/ ]|$)' device: 'tv' model: '$1' # KATV1 KATV1: regex: '(KATV-01) PRO(?:[);/ ]|$)' device: 'tv' model: '$1 Pro' # Ghong Ghong: regex: 'GHONG(V10)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Ghost Ghost: regex: 'GHOST G03(?:[);/ ]|$)' device: 'tablet' models: - regex: 'G03(?:[);/ ]|$)' model: 'G03' # Xoro (www.xoro.de) Xoro: regex: 'XORO[ _]|(?:TelePAD(?:795|731|1032|10A3|7A3)|HMT(?:390Q?|400)|HST 260)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'TelePAD(7|10)A3 4G(?:[);/ ]|$)' model: 'TelePad $1 A3 4G' - regex: 'TelePAD(795|731|1032)(?:[);/ ]|$)' model: 'TelePad $1' - regex: 'MegaPAD3204V5(?:[);/ ]|$)' model: 'MegaPad 3204 V5' - regex: 'HMT(390Q?|400)(?:[);/ ]|$)' model: 'HMT $1' device: 'portable media player' - regex: 'HST 260(?:[);/ ]|$)' model: 'HST 260' device: 'tv' # Vinga Vinga: regex: 'VMP-(015-162|021-82|041-162|011-81|025-324|045-664|046-664)(?:[);/ ]|$)|VMP023\.' device: 'tv' models: - regex: 'VMP-021-82' model: '021' - regex: 'VMP-025-324' model: '025' - regex: 'VMP-015-162' model: '015' - regex: 'VMP-041-162' model: '041' - regex: 'VMP-045-664' model: '045' - regex: 'VMP-011-81' model: '011' - regex: 'VMP-046-664' model: '046' - regex: 'VMP023\.' model: '023' # Viumee (viumee.com) Viumee: regex: '(?:SMART[_ ]EV[56]|EV7_Pro|EV6 ELITE|EV5 X|EV7_Play| EV7)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(EV7)_Pro' model: '$1 Pro' - regex: '(EV6) ELITE' model: '$1 Elite' - regex: '(EV7)_Play' model: '$1 Play' - regex: 'EV5 X' model: 'EV5 X' - regex: 'EV7(?:[);/ ]|$)' model: 'EV7' - regex: 'SMART[_ ](EV[56])' model: 'Smart $1' # Nuvo Nuvo: regex: 'Nuvo[_ ](NS35|Blue ND40|Green[_ ]ND[_ ]45)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Nuvo[_ ](NS35)(?:[);/ ]|$)' model: '$1' - regex: 'Blue (ND40)(?:[);/ ]|$)' model: '$1' - regex: 'Green[_ ]ND[_ ]45(?:[);/ ]|$)' model: 'ND45' # Sunvell Sunvell: regex: '(?:Sunwell_)?(?:T95ZPLUS|T95[KU]PRO|MINIM8S|MXQ-H3)(?:[);/ ]|$)' device: 'tv' models: - regex: '(?:Sunwell_)?T95ZPLUS' model: 'T95Z Plus' - regex: '(T95[KU])PRO' model: '$1 Pro' - regex: 'MINIM8S(?:[);/ ]|$)' model: 'Mini M8S' - regex: 'MXQ-H3(?:[);/ ]|$)' model: 'MXQ-H3' # Ugoos Ugoos: regex: 'UGOOS[-_ ]|(?:Android 11(?:[\d.]*);(?: [\w-]+;)? UT8|TOX3)(?:[);/ ]|$)' device: 'tv' models: - regex: 'UGOOS-UT3 ?Plus' model: 'UT3 Plus' - regex: '(UT8|TOX3)(?:[);/ ]|$)' model: '$1' - regex: 'UGOOS[- _](\w{2}\d+\w?)(?:[);/ ]|$)' model: '$1' # Yxtel Yxtel: regex: 'YXTEL_([HU]1|U3)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # PROFiLO PROFiLO: regex: 'PROFILO(?:[);/ ]|$)' device: 'tv' model: '' # Proline Proline: regex: 'Proline_|(?:H10882M-TN|H1088[28]M|H1010|M504)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Proline[_ ]FalconXL' device: 'smartphone' model: 'Falcon XL' - regex: 'M504' device: 'smartphone' model: 'Falcon X' - regex: '(H10882M-TN|H1088[28]M|H1010)' model: '$1' # Yota Yota: regex: '(YD20[16]|YOTA 3[+])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'YD20[16](?:[);/ ]|$)' model: 'Phone 2' - regex: 'YOTA 3[+](?:[);/ ]|$)' model: 'Phone 3 Plus' # Mystery Mystery: regex: 'MYSTERY|(MID-(?:123G|72[12]|7[01348]3G|753G|8[23]3G))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'MID-(123G|72[12]|7[01348]3G|753G|8[23]3G)(?:[);/ ]|$)' model: 'MID-$1' - regex: 'MYSTERY[_ ]TV[_ ](D\d{4}[A-Z]{2}\d{2})' device: 'tv' model: '$1' # Ritzviva Ritzviva: regex: '(RITZVIVA[_ ]S500C)(?:[);/ ]|$)' device: 'smartphone' model: 'S500C' # DeWalt DeWalt: regex: 'DeWalt (MD501)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Runbo Runbo: regex: 'Runbo|F1-TT(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Runbo[ _-]?(X5-W|F1 Plus|[PF]1-TT|F1-EN|[FH]1|TT|Q5-S|X5-King|X6|Q5)(?:[);/ ]|$)' model: '$1' - regex: 'F1-TT' model: 'F1-TT' - regex: 'RunboP2' device: 'tablet' model: 'P2' # NewsMy NewsMy: regex: '(CarPad-(?:II|III)-P)(?:[);/ ]|$)' device: 'car browser' model: '$1' # Newsday Newsday: regex: 'Newsday[_ ](E1|A[12]|N2\+)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Daewoo Daewoo: regex: 'Daewoo|(DTA-07IDRF)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(DTA-07IDRF)(?:[);/ ]|$)' model: 'Archive 7P' - regex: 'Daewoo (Android TV 638)(?:[);/ ]|$)' model: '$1' device: 'tv' - regex: 'Daewoo, ?([a-z0-9_ \-]+), ?(?:wired|wireless)' model: '$1' device: 'tv' # Vesta (vesta.md) Vesta: regex: 'VESTA_SMART|VESTA32LD86(?:[);/ ]|$)' device: 'tv' models: - regex: 'VESTA32LD86' model: 'SmartTV 32LD86S' - regex: 'VESTA_SMART_TV' model: 'SmartTV' # Spectrum Spectrum: regex: '(CARBONO_5|CUARZO_6|DIAMANTE_5|VULCANO_55)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VULCANO_55(?:[);/ ]|$)' model: 'Vulcano 5.5"' - regex: 'CARBONO_5(?:[);/ ]|$)' model: 'Carbono 5.0"' - regex: 'CUARZO_6(?:[);/ ]|$)' model: 'Cuarzo 6.0"' - regex: 'DIAMANTE_5(?:[);/ ]|$)' model: 'Diamante 5.0"' # Kivi Kivi: regex: 'KIVI [24]K|(?:24H600G[RU]|24FR50WU|24HK30B|32HR55GU|32H700GU|32F700WU|4[39]UP50GU|40UR50G[RU]|40U600G[RU]|50U730GR|55U600(?:G[RU]|KD)|65UP50GU|55U[PC]50G[RU]|50U600G[RU]|50UX10S|55UR50G[RU]|40FK30G|40FR5[02]BR|43U(?:800B[RU]|600KD|K3[05]G|700GR)|50FK30G|50UK35G|32HR50GR|32[FH]700GR|55UC30G|55U730GR|32HK30G|40FK30G|32HR50GU|32FR50(?:WR|BU)|32FK3[02]G|32H600KD|40U600KD|32H600G[RU])(?:_-Ver0[0-9])?(?:[);/ ]|$)' device: 'tv' models: - regex: '(55UC30G|40FK30G|43UK30G|32HR50G[RU]|32HK30G|32FK32G)_-Ver0([0-9])(?:[);/ ]|$)' model: '$1 v$2' - regex: '(\d{2}(?:[HFU]|U[CPRXKX]|[BHF][RK])\d{2,3}(?:[GW][RU]|B[UR]|KD|[BGS]))(?:[);/ ]|$)' model: '$1' - regex: 'KIVI ([24]K Android TV)' model: '$1' # DiverMax (https://divermax.net/) DiverMax: regex: 'DiverMax' device: 'tv' models: - regex: 'DiverMax SpeedBox 3 SB1800(?:[);/ ]|$)' model: 'SpeedBox 3' # Divisat (divisat.ru) Divisat: regex: '(?:Divisat|X-MEDIA|DVS X3|OPTIMA_T-II|J-LINK II)(?:[);/ ]|$)' device: 'tv' models: - regex: 'J-LINK II' model: 'J-Link II' - regex: '(?:DVS )?(J-Link|X3)(?:[);/ ]|$)' model: '$1' - regex: 'X-MEDIA(?:[);/ ]|$)' model: 'X-Media' - regex: 'OPTIMA_T-II(?:[);/ ]|$)' model: 'Optima T-II' # ArtLine (artline.ua) ArtLine: regex: 'ARTLINE[ _-](KMX3)(?:[);/ ]|$)' device: 'tv' model: '$1' # DIXON (https://www.dixoninfo.com/) DIXON: regex: 'DIXON_|(?:ACK1010|KT5512|HK7-3502|DN6015|DFM48|TS-M105G-1|TS_M103A|TS-M704F-1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(ACK1010|KT5512|DFM48)' model: '$1' - regex: 'HK7-3502' model: 'Solis' - regex: 'DN6015' model: 'Astrum' - regex: 'TS-(M105G|M704F)-1' device: 'tablet' model: 'TS-$1-1' - regex: 'TS_M103A' device: 'tablet' model: 'TS-M103A' - regex: 'DIXON_XK1_3G(?:[);/ ]|$)' device: 'feature phone' model: 'XK1 3G' # Kanji Kanji: regex: 'KJ[-_](OB0[23]|YU_?BI|SMART4K|GOCHI|ALFARK|AC0[25])(?:[);/ ]|$)' device: 'tablet' models: - regex: 'KJ[-_]OB03' model: 'Cata 7' - regex: 'KJ-GOCHI' model: 'Gochi' - regex: 'KJ[-_]OB02' model: 'Ailu Max' - regex: 'KJ[-_]YU_?BI' model: 'Yubi 3G' - regex: 'KJ[-_]ALFARK' model: 'Alfa' - regex: 'KJ-(AC0[25])' model: 'KJ-$1' - regex: 'KJ-SMART4K' device: 'tv' model: 'Smart 4K' # Kaiomy Kaiomy: regex: 'KaiCloud[ ]?(7[48]4|942)(?:[);/ ]|$)' device: 'tablet' model: 'KaiCloud $1' # National National: regex: '(NX-32THS100)(?:[);/ ]|$)' device: 'tv' model: '$1' # Shift Phones Shift Phones: regex: '(SHIFT6mq?)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # RTK RTK: regex: 'ESKIMO_K5001(?:[);/ ]|$)' device: 'smartphone' model: 'ESKIMO!' # RugGear RugGear: regex: '(?:RugGear|RG(?:310|500|65[05]|702|7[13]0|850)|RG725)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(RG[0-9]+)(?:[);/ ]|$)' model: '$1' - regex: 'RG725' model: 'RG725' # RuggeTech RuggeTech: regex: '(FieldPad 8)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(FieldPad 8)' model: '$1' # Rhino Rhino: regex: '(?:PACE A1)(?:[);/ ]|$)' device: 'smartphone' model: 'Pace A1' # Ruggex (https://www.ruggex.com/) Ruggex: regex: 'Rhino-Quest(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Rhino-Quest(?:[);/ ]|$)' model: 'Rhino Quest' # Maxcom (maxcom.pl) Maxcom: regex: '(?:MS(?:45[036]|505|507_STRONG|514|651)|MS457(?:PLUS)?|RS-401|Neva Rise S1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(MS457)PLUS(?:[);/ ]|$)' model: '$1 Plus' - regex: '(MS507)_STRONG(?:[);/ ]|$)' model: '$1 Strong' - regex: 'MS(45[0367]|505|514|651)(?:[);/ ]|$)' model: 'MS$1' - regex: 'RS-401(?:[);/ ]|$)' model: 'RS-401' - regex: 'Neva Rise S1' # Orange model: 'Neva Rise S1' # Luna (http://luna.id/) Luna: regex: '(?:LUNA[ _](?:[VG]55|G[56]0|G9|G6E|V6)|TG-L800S)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LUNA[ _]([VG]55|G[56]0|G9|G6E|V6)(?:[);/ ]|$)' model: '$1' - regex: '(TG-L800S)(?:[);/ ]|$)' model: '$1' # Luxor Luxor: regex: 'LUXOR, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # Protruly Protruly: regex: 'PROTRULY[ _](D[78]|V10S)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # JFone JFone: regex: 'JFone[ _](JS501)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Uhans Uhans: regex: '(A101S)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Soyes Soyes: regex: '(?:SOYES[ _](?:[67]S|XS|XS11)|S10-H|XS12 PRO)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SOYES[ _]([67]S|XS11|XS)' model: '$1' - regex: 'S10-H' model: 'S10-H' - regex: 'XS12 PRO' model: 'XS12 Pro' # Zidoo Zidoo: regex: 'ZIDOO[ _](H6 Pro|X6 Pro|X9S|Z10|X[1589]|X20 Pro|Z9S)(?:[);/ ]|$)' device: 'tv' model: '$1' # Zfiner Zfiner: regex: 'ZFINERY900(?:[);/ ]|$)' device: 'tablet' model: 'Y900' # EKINOX (https://ekinoxnigeria.com/) EKINOX: regex: '(?:E8_Ultra)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'E8_Ultra' model: 'E8 Ultra' # iGet iGet: regex: 'iGET SMART|(?:SMART[_ ](?:L20X|G10[12]|S7[02]|G71|G81[H]?|L10[234]|L11|L3[12]|W[12]0X|W101|W3[12]|W8X|W20[23]|L206)(?:_eea)?|Android 5(?:[\d.]*);(?: [\w-]+;)? (?:S100))(?:[);/ ]|$)' device: 'tablet' models: - regex: '(?:SMART[_ ])?S100(?:[);/ ]|$)' model: 'Smart S100' - regex: 'SMART[_ ](L20X|G10[12]|S7[02]|G71|G81[H]?|L10[234]|L11|W[12]0X|W101|W8X|W3[12]|W20[23]|L206|L3[12])' model: 'Smart $1' # Phicomm Phicomm: regex: '(PHICOMM|E5051)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'C630 \(CLUE L\)(?:[);/ ]|$)' model: 'Clue L' - regex: 'E653\(ENERGY L\)(?:[);/ ]|$)' model: 'Energy L' - regex: 'PHICOMM ENERGY 3\+(?:[);/ ]|$)' model: 'Energy 3+' - regex: 'E5051(?:[);/ ]|$)' model: 'Energy 4S' - regex: 'C6051(?:[);/ ]|$)' model: 'Clue 2S' - regex: 'PHICOMM[ _]Clue[ _]([^/;)]+)(?: Build|[);])' model: 'Clue $1' # Huadoo Huadoo: regex: 'Huadoo[ _]|(?: HG11)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Huadoo[ _](HG0[46]|HG11|V[34])' model: '$1' - regex: 'HG11(?:[);/ ]|$)' model: 'HG11' # Gome Gome: regex: '(?:GOME[_ ](?:201[678].+|C7_Note(?:_Plus)?|U9|S[17])|Fenmmy_Note)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GOME[_ ](?:2018X38A)(?:[);/ ]|$)' model: 'C72' - regex: 'GOME[_ ](?:2018X07A)(?:[);/ ]|$)' model: 'C7' - regex: 'GOME[_ ](?:2017X05A)(?:[);/ ]|$)' model: 'C71' - regex: 'GOME[_ ](?:2017X82A)(?:[);/ ]|$)' model: 'C51' - regex: 'GOME[_ ](?:2016G68A)(?:[);/ ]|$)' model: 'K1' - regex: 'GOME[_ ](?:2016M25A)(?:[);/ ]|$)' model: 'U1' - regex: 'GOME[_ ](?:2017M27A)(?:[);/ ]|$)' model: 'U7' - regex: 'GOME[_ ](?:2017M95A)(?:[);/ ]|$)' model: 'U7 Mini' - regex: 'GOME[_ ](?:2018M29A)(?:[);/ ]|$)' model: 'U9' - regex: 'GOME[_ ](C7_Note(?:_Plus)?|U9|S[17])(?:[);/ ]|$)' model: '$1' - regex: '(?:GOME[_ ])?(Fenmmy_Note)(?:[);/ ]|$)' device: 'phablet' model: '$1' # Voyo (en.myvoyo.com) Voyo: regex: '(?:VOYO[_ ](?:A15)|i8-Max|Q101-4G)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'i8-Max(?:[);/ ]|$)' model: 'i8 Max' - regex: '(Q101)-4G(?:[);/ ]|$)' model: '$1 4G' - regex: 'VOYO[_ ](A15)(?:[);/ ]|$)' model: '$1' # Ryte (rytemobile.com) Ryte: regex: '(?:RYTE U55 LTE|RT701)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'RYTE (U55 LTE)' model: '$1' - regex: '(RT701)' device: 'tablet' model: '$1' # Vontar Vontar: regex: '(HK1 (?:Max|MINI\+?|PLUS|PRO)|KK MAX|VONTAR[_ -](?:Z[58]|[VH]1|KIII|MX-4K|X[234]|R3)|H618|DQ08)(?:[);/ ]|$)' device: 'tv' models: - regex: 'DQ08(?:[);/ ]|$)' model: 'DQ08' - regex: 'VONTAR[_ -](Z[58]|[VH]1|KIII|MX-4K|X[234]|H618|R3)(?:[);/ ]|$)' model: '$1' - regex: 'HK1 Max(?:[);/ ]|$)' model: 'HK1 Max' - regex: 'KK MAX(?:[);/ ]|$)' model: 'KK Max' - regex: 'HK1 MINI\+(?:[);/ ]|$)' model: 'HK1 Mini Plus' - regex: 'HK1 MINI(?:[);/ ]|$)' model: 'HK1 Mini' - regex: 'HK1 PLUS(?:[);/ ]|$)' model: 'HK1 Plus' - regex: 'HK1 PRO(?:[);/ ]|$)' model: 'HK1 Pro' # Vorke Vorke: regex: 'VORKE[ _](Z[157]|Z6(?: Plus)?)(?:[);/ ]|$)' device: 'tv' model: '$1' # Wigor Wigor: regex: '(?:Wigor (?:V4))(?:[);/ ]|$)|Android 7(?:[\d.]*);(?: [\w-]+;)? V3(?: Build|[;)])' device: 'smartphone' models: - regex: 'Wigor (V4)(?:[);/ ]|$)' model: '$1' - regex: '(V3)(?: Build|[;)])' model: '$1' # NEXON (nexon.ua) NEXON: regex: 'NEXON[ _](X[1235]\+|X[123589]|X10)(?:[);/ ]|$)' device: 'tv' model: '$1' # ONN or onn. (walmart) ONN: regex: 'onn\.|Onn 2k|(10007148[135]A|ONA19TB00[327]|10000356[12]|100110027|100110603|10000520[6-9]|O8HD|100011886(?:C?A|_GTW)|10001188[56]|100015685-[AE]|100026191|100043279|100044018G?|10007148[1356]|TBBVNC10000520[78]|100092980A?|10013592[35])(?:[);/ ]|$)' device: 'tablet' models: - regex: '(100092980A?|10007148[135]A|ONA19TB00[327]|10000356[12]|10000520[6-9]|O8HD|100011886(?:C?A|_GTW)|10001188[56]|100015685-[AE]|100026191|100043279|100044018G?|10007148[1356]|TBBVNC10000520[78]|100110027|100110603|10013592[35])(?:[);/ ]|$)' model: '$1' - regex: '(4K Streaming Box)' device: 'tv' model: '$1' - regex: '2k TV stick' device: 'tv' model: '2K TV Stick' # EXO S.A (exo.com.ar) EXO: regex: '(?:Tablet)?EXO_|(?:Wave[_-]i101[GLRS]|Wave[_ ]i007[BT]?|Wave i101[Hb]|Wave i007Kids)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Wave i007Kids(?:[);/ ]|$)' model: 'Wave i007 Kids' - regex: '(?:Tablet)?(?:EXO_)?(Wave[_-]i101[GLRS]|Wave[_ ]i007[BT]?|Wave i101[Hb])(?:[);/ ]|$)' model: '$1' # Q.Bell (qbell.it) Q.Bell: regex: '(QPHONE[_ ](?:10\.1|9\.[12]|7\.1|5\.[246])|QTAB10EW)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(QPHONE[_ ](?:10\.1|9\.[12]|7\.1|5\.[246]))(?:[);/ ]|$)' model: '$1' - regex: 'QTAB10EW' device: 'tablet' model: 'QTAB10EW' # Datawind Datawind: regex: 'DW-[A-Z0-9]{5}(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(DW-PS3G5)(?:[);/ ]|$)' model: 'Pocket Surfer 3G5' - regex: 'DW-UBT7W' device: 'tablet' model: 'Ubislate 7W' # Droidlogic (https://droidlogic.tv/) Droidlogic: regex: '(i96 Pro)(?:[);/ ]|$)' device: 'tv' model: '$1' # Droxio (droxio.es) sub brand 3GO Droxio: regex: 'DROXIO (C40|A47|B45|KENTIA)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # 3GO (www.3go.es) 3GO: regex: '(?:Aplay ?[34])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Aplay ?([34])' device: 'tablet' model: 'Aplay $1' # Goophone Goophone: regex: 'Goophone[ _]|(?:M(G492|L7[JK]2)CH|MN(4A2|8J2)ZP|MGA92ZP|MKU82ZP|MNGW2CH|MNH02CH|MNRM2CH)[/]A(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:MG492CH|MGA92ZP)[/]A(?:[);/ ]|$)' model: 'I6 Plus' - regex: 'ML7[JK]2CH[/]A(?:[);/ ]|$)' model: 'I6' - regex: 'MKU82ZP[/]A(?:[);/ ]|$)' model: 'I6S' - regex: 'MNGW2CH[/]A(?:[);/ ]|$)' model: 'I6S Plus' - regex: '(?:MN4A2ZP|MNH02CH)[/]A(?:[);/ ]|$)' model: 'I7' - regex: '(?:MN8J2ZP|MNRM2CH)[/]A(?:[);/ ]|$)' model: 'I7 Plus' - regex: 'S4 MEGA(?:[);/ ]|$)' model: 'S4 Mega' - regex: 'Goophone i([69])(?:[);/ ]|$)' model: 'I$1' # PocketBook PocketBook: regex: 'PocketBook[ _/]' device: 'tablet' models: - regex: 'A7(?:[);/ ]|$)' model: 'A7' - regex: 'A10 3G(?:[);/ ]|$)' model: 'A10 3G' - regex: 'A10(?:[);/ ]|$)' model: 'A10' - regex: 'SURFpad2(?:[);/ ]|$)' model: 'SURFpad 2' - regex: 'PocketBook SURFpad 3 \(([\d]+)[,.]([\d]+)["]?\)(?:[);/ ]|$)' model: 'SURFpad 3 $1.$2"' - regex: 'SURFpad 4 ([LMS])(?:[);/ ]|$)' model: 'SURFpad 4 $1' - regex: 'PocketBook/(515|614|62[23467]|63[012]|64[01]|650|740|801|840|970)(?:[);/ ]|$)' model: '$1' # Bitmore Bitmore: regex: '(?:Mobitab10c-3G|Tab1011Q_II|Colortab[ _]?(10(?:M| II)?|816i))(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Mobitab)(10)c-3G(?:[);/ ]|$)' model: '$1 $2C 3G' - regex: 'Tab1011Q_II(?:[);/ ]|$)' model: 'Tab1011Q II' - regex: 'Colortab[ _]?(10(?:M| II)?|816i)(?:[);/ ]|$)' model: 'ColorTab $1' # Bittium (https://www.bittium.com) Bittium: regex: 'Bittium' device: 'smartphone' models: - regex: 'Tough Mobile 2(?:[);/ ]|$)' model: 'Tough Mobile 2' # Kuliao Kuliao: regex: 'KULIAO (K10)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Sugar Sugar: regex: 'SUGAR[ _]' device: 'smartphone' models: - regex: 'SUGAR Y([78]) MAX(?:[);/ ]|$)' model: 'Y$1 Max' - regex: 'SUGAR S60 pro(?:[);/ ]|$)' model: 'S60 Pro' - regex: 'SUGAR F7 Mini(?:[);/ ]|$)' model: 'F7 Mini' - regex: 'SUGAR[ _]([^);/]+) ?Dual(?: Build|[);])' model: '$1 Dual' - regex: 'SUGAR[ _]([^);/]+)(?: Build|[);])' model: '$1' # Subor Subor: regex: 'SUBOR[ _]' device: 'smartphone' models: - regex: 'SUBOR[ _](S5|2019)(?:[);/ ]|$)' model: '$1' - regex: 'SUBOR[_ ]K10PLUS(?:[);/ ]|$)' model: 'K10 Plus' # Xshitou Xshitou: regex: 'Xshitou[_ ](P7)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # JKL JKL: regex: 'JKL[_ ](A28)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Gree Gree: regex: '(?:G0[256]15D|G0245D|G0335D)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'G0515D' model: 'Tosot 5G' - regex: 'G0615D' model: 'Tosot 7G' - regex: '(G0215D|G0245D|G0335D)(?:[);/ ]|$)' model: '$1' # Vodacom Vodacom: regex: '(?:Vodacom)[ _]|(?:Kicka 5 Plus 4G)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Kicka 5 Plus 4G' device: 'smartphone' model: 'Kicka 5 Plus 4G' - regex: '(?:Vodacom)[ _](Power Tab 10)(?:[);/ ]|$)' model: '$1' # VKworld VKworld: regex: '(?:(?:VK700)-MAX|VK700 Pro|T5SE|VK700[0X]|vk6050|vk6735|vk700)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(VK700)-MAX(?:[);/ ]|$)' model: '$1 Max' - regex: '(VK700) Pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'T5SE(?:[);/ ]|$)' model: 'T5 SE' - regex: 'VK(700[0X]|6050|6735|700)(?:[);/ ]|$)' model: 'VK$1' # Mito (mitomobile.com) Mito: regex: 'MITO[- _]' device: 'smartphone' models: - regex: 'MITO[- _]3255(?:[);/ ]|$)' device: 'tv' model: '3255' - regex: 'MITO[- _]A37[_ ]Z1plus' model: 'A37 Z1 Plus' - regex: 'MITO[- _](A(?:19[_ ][12]GB|37[_ ]Z1|36[_ ]W1|[0-9]+)|311)(?:[);/ ]|$)' model: '$1' - regex: 'MITO[- _](T(?:[0-9]+))(?:[);/ ]|$)' device: 'tablet' model: '$1' # TWM or TaiwanMobile TWM: regex: 'Amazing[ _](X[35]s|X[123567]|A5S|A3[025]|A[468]|A4S|A5[057]|P6)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Amazing[ _](X[35])s(?:[);/ ]|$)' model: 'Amazing $1S' - regex: 'Amazing[ _](A5S|X[123567]|A[468]|A4S|A5[057]|A3[025])(?:[);/ ]|$)' model: 'Amazing $1' - regex: 'Amazing[ _](P6)(?:[);/ ]|$)' device: 'tablet' model: 'Amazing $1' # TWZ or TWZ Corporation PLC (twz.co.th) TWZ: regex: 'TWZ[-_ ](?:TabPlay|Y6[08]|Y52|A49|A[59]5|A567|AA8|QQ[12])|TWZQQ1|(?:OX_X1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TWZ[_ ]TabPlay[_ ](12[56])' device: 'tablet' model: 'TabPlay $1' - regex: 'TWZ[-_ ]?(Y6[08]|Y52|A49|A[59]5|A567|AA8|QQ[12])' model: '$1' - regex: 'OX_X1' model: 'OX X1' # Oale Oale: regex: '(?:Apex(?:[123])|CC1 PRO)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(CC1) PRO' model: '$1 Pro' - regex: 'Apex([123])' model: 'Apex $1' # Mobo Mobo: regex: '(?:(?:MOBO[_ ]MB7005|MT7-421HD)|(?:MT7-442D|MT7-411D))(?:[);/ ]|$)' device: 'tablet' models: - regex: '(?:MOBO[_ ])?(MB7005|MT7-421HD|MT7-442D|MT7-411D)(?:[);/ ]|$)' model: '$1' # Macoox Macoox: regex: '(MC-X7MINI)(?:[);/ ]|$)' device: 'smartphone' model: 'MC-X7 Mini' # Prixton Prixton: regex: '(?:T1700Q-)?PRIXTON|(T7012Q)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'PRIXTON (C18)' device: 'smartphone' model: '$1' - regex: '(T701[24]Q|T1700Q)' model: '$1' # Mafe Mafe: regex: 'Mafe_(?:M8[12]0|M825)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Mafe_M820' model: 'Shine M820' - regex: 'Mafe_(M810|M825)' model: '$1' # Magnus or Magnus Telecom Magnus: regex: '(?:Magnus[ _](?:bravoZ[23]0|Infinity_?(?:G8|G11))|bravo Z40|Bravo Z11|bravo[-_]Z[12]2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'bravo[ _-]?(Z[234]0|Z11|Z[12]2)' model: 'Bravo $1' - regex: '(?:Magnus[ _])?Infinity_?(G8|G11)' model: 'Infinity $1' # Newland (www.newland-id.com) Newland: regex: 'NLS-(?:MT90|NFT10|MT65)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NLS-MT90' model: 'MT90 Orca' - regex: 'NLS-MT65' device: 'peripheral' model: 'MT65 Beluga IV' - regex: 'NLS-NFT10' model: 'NFT10 Pilot Pro' # Orbic (orbic.us) Orbic: regex: '(?:RC(?:2200|501|545|555|60[89])L|R678EL|R8L5T|RC608L2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'R678EL' model: 'Magic 5G' - regex: 'RC501L' model: 'Slim' - regex: 'RC545L' model: 'Maui' - regex: 'RC555L' model: 'Wonder' - regex: 'RC2200L' model: 'Journey V' - regex: 'RC608L' model: 'Joy' - regex: 'RC609L' model: 'Q10' - regex: 'R8L5T' device: 'tablet' model: 'Tab8 5G' # RedLine (https://redline.com.tr/) RedLine: regex: '(Space_M10)(?:[);/ ]|$)' device: 'tablet' model: '$1' # RED RED: regex: '(?:H1A1000)(?:[);/ ]|$)' device: 'smartphone' model: 'Hydrogen One' # Contixo Contixo: regex: 'Contixo|(?:CX-1045 3G|KT995 3G|CX1045|B108_4G)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'CX-?1045(?: 3G)?(?:[);/ ]|$)' model: 'CX-1045 3G' - regex: 'CX-?1065(?: 3G)?(?:[);/ ]|$)' model: 'CX-1065 3G' - regex: 'CONTIXO GX 1035(?:[);/ ]|$)' model: 'GX-1035 4G 10.1"' - regex: 'Contixo GT1160 4G(?:[);/ ]|$)' model: 'GT1160 4G 10.1"' - regex: 'B105(?:[);/ ]|$)' model: 'B105 3G 10.1"' - regex: 'B108(?:[_ ]4G)?(?:[);/ ]|$)' model: 'B108 4G 10.1"' - regex: 'KT107(?: 3G)?(?:[);/ ]|$)' model: 'KT107 3G 10.1"' - regex: 'K109(?:[);/ ]|$)' model: 'KT109 4G 10.1"' - regex: 'KT715 3G(?:[);/ ]|$)' model: 'KT715 3G 7.0"' - regex: 'KT995(?:[);/ ]|$)' model: 'KT995 3G 10.1"' - regex: 'KT ?1100GT(?: 4G)?(?:[);/ ]|$)' model: 'KT1100GT' # E-Ceros E-Ceros: regex: '(?:CT9716(?:-B)?)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'CT9716(?:[);/ ]|$)' model: 'Revolution' - regex: 'CT9716-B(?:[);/ ]|$)' model: 'Revolution HD' # How (how.com.br) How: regex: '(?:HT-705XS|705-G Go|1001-G Go)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(HT-705XS)(?:[);/ ]|$)' model: '$1' - regex: '(1001-G Go)(?:[);/ ]|$)' model: 'HT-1001G Go Kids' - regex: '(705-G Go)(?:[);/ ]|$)' model: 'HT-$1' # Multilaser (https://www.multilaser.com.br/) Multilaser: regex: 'Multilaser[ _]|ML-TI-MS|(?:MS50[LGXM]|M7[_-]3G[_-](?:PLUS|QC_3|QUAD_CORE)|MS5\.V2|M9-3G|MS45S_A6|ML([02]1|12)-M7s[- ]?Quad-?Core| ML01-M7-SD|MS45S|MS50S|MS60[XZ]|M7SQC_Plus|MS80X|MS40[GS]|MS55M|MS70|M7_3G_A10|M7_3G|M7S_PLUS|M10A?_3G|M7-3G QUAD CORE|M7s_?Lite|M[79]_WIFI|ML-(?:SO|WI)-M9-3G|M10A-Lite|M10_4G_PRO|MS50L?_4G|MS60F(?:_PLUS)?|MS45S_A6_(?:Teen|Senior)|MLX8|ML-WI-M7_3G_PLUS|KIDPAD_LITE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Multilaser[ _]([EFG])[_ ]Pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'Multilaser[ _]F[_ ]Pro[ _]2(?:[);/ ]|$)' model: 'F Pro 2' - regex: 'Multilaser[ _]G[_ ]Max(?:[);/ ]|$)' model: 'G Max' - regex: 'Multilaser[ _]GMAX_2(?:[);/ ]|$)' model: 'G Max 2' - regex: 'Multilaser[ _]G_?MAX_2_SE' model: 'G Max 2 SE' - regex: 'Multilaser[ _]G(?:[);/ ]|$)' model: 'G' - regex: 'Multilaser[ _]G[ _]2(?:[);/ ]|$)' model: 'G2' - regex: 'Multilaser[ _]E[_ ]Lite(?:[);/ ]|$)' model: 'E Lite' - regex: 'Multilaser[ _]([H])[_ ]5G(?:[);/ ]|$)' model: '$1 5G' - regex: 'Multilaser[ _]([FEH])(?:[);/ ]|$)' model: '$1' - regex: 'MS60F_PLUS(?:[);/ ]|$)' model: 'MS60F Plus' - regex: 'MS45S_A6_Senior' model: 'MS45S A6 Senior' - regex: 'MS45S_A6_Teen' model: 'MS45S A6 Teen' - regex: '(MS50[LGXSM]|MS45S_A6|MS40[GS]|MS55M|MS60F|MS70|MS60[XZ]|MS45S|MS80X|MS50L?_4G|MS5\.V2)(?:[);/ ]|$)' model: '$1' - regex: '(?:ML-WI-)?M7[_-]3G[_-]PLUS(?:[);/ ]|$)' device: 'tablet' model: 'M7 3G Plus' - regex: 'M7S_PLUS' device: 'tablet' model: 'M7S Plus' - regex: 'M([79])_WIFI(?:[);/ ]|$)' device: 'tablet' model: 'M$1 WiFi' - regex: 'M10_4G_PRO(?:[);/ ]|$)' device: 'tablet' model: 'M10 4G Pro' - regex: 'M7SQC_PLUS(?:[);/ ]|$)' device: 'tablet' model: 'M7SQC Plus' - regex: 'M7-3G_QC_3(?:[);/ ]|$)' device: 'tablet' model: 'M7 3G Quad Core 3' - regex: 'M7-3G[ _]QUAD[ _]CORE(?:[);/ ]|$)' device: 'tablet' model: 'M7 3G Quad Core' - regex: 'ML([02]1|12)-M7s[- ]?Quad-?Core(?:[);/ ]|$)' device: 'tablet' model: 'ML$1-M7s Quad Core' - regex: 'M7s_?Lite(?:[);/ ]|$)' device: 'tablet' model: 'M7s Lite' - regex: 'ML01-M7-SD(?:[);/ ]|$)' device: 'tablet' model: 'ML01-M7 SD' - regex: 'M10A-Lite(?:[);/ ]|$)' device: 'tablet' model: 'M10A Lite' - regex: '(?:ML-(?:SO|WI)-)?M9-3G(?:[);/ ]|$)' device: 'tablet' model: 'M9 3G' - regex: 'M7_3G_A10(?:[);/ ]|$)' device: 'tablet' model: 'M7 3G A10' - regex: 'MLX8(?:[);/ ]|$)' device: 'tablet' model: 'X8 4G' - regex: 'M(10A?|7)_3G(?:[);/ ]|$)' device: 'tablet' model: 'M$1 3G' - regex: 'KIDPAD_LITE(?:[);/ ]|$)' device: 'tablet' model: 'KidPad Lite' - regex: 'ML-TI-(MS\d+)(?:[);/ ]|$)' model: '$1' # Positivo BGH Positivo BGH: regex: '(?:T1060B|S455|Positivo (?:Twist|Ypy|Mini I)|Twist[ _](?:\(2018\)|2 (?:Fit|Pro)|Mini|Tab|Metal(?: 32GB)?|Max|XL|SE|[23SM])|KC770|G1101T)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'S455(?:[);/ ]|$)' model: 'Selfie' - regex: 'Twist \(2018\)(?:[);/ ]|$)' model: 'Twist (2018)' - regex: 'Twist Metal 32GB(?:[);/ ]|$)' model: 'Twist Metal 32GB' - regex: 'Twist Metal(?:[);/ ]|$)' model: 'Twist Metal' - regex: 'Twist Max(?:[);/ ]|$)' model: 'Twist Max' - regex: 'Twist[ _]Mini(?:[);/ ]|$)' model: 'Twist Mini' - regex: 'Twist 2 Fit(?:[);/ ]|$)' model: 'Twist 2 Fit' - regex: 'Twist 2 Go(?:[);/ ]|$)' model: 'Twist 2 Go' - regex: 'Twist 2 Pro(?:[);/ ]|$)' model: 'Twist 2 Pro' - regex: 'Twist XL(?:[);/ ]|$)' model: 'Twist XL' - regex: 'Twist SE(?:[);/ ]|$)' model: 'Twist SE' - regex: '(?:Positivo )?Twist ([23SM])(?:[);/ ]|$)' model: 'Twist $1' - regex: '(?:Positivo )Mini I(?:[);/ ]|$)' model: 'Mini I' - regex: '(T1060B|KC770|G1101T)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'Positivo Ypy (AB7F|AB10H|L1050E)(?:[);/ ]|$)' device: 'tablet' model: 'Ypy $1' - regex: 'Twist Tab(?:[);/ ]|$)' device: 'tablet' model: 'Twist Tab' # Maxtron Maxtron: regex: 'Maxtron[ _-](V[327]|V1[2357]|V20|S[89]|T1|Genio|Apollo|PLUTO)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Maxtron[ _-]PLUTO' model: 'Pluto' - regex: 'Maxtron[ _-](V[327]|S[89]|V1[2357]|V20|Apollo)(?:[);/ ]|$)' model: '$1' - regex: 'Maxtron[ _-](T1|Genio)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Philco (philco.com.br) Philco: regex: 'PHILCO[ /]|(PCS0[12]|PH350B|PTB(?:10|[78])R|PTB7PAP_PTB7PAB_PTB7PAR|Hit Max|Hit P1[023]|HIT P8|HIT P10a|TP7A4|TP10A1I)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'HIT P10a' model: 'Hit P10a' - regex: 'Hit (P1[023]|P8)' model: 'Hit $1' - regex: '(PCS0[12]|PH350B|Hit Max)(?:[);/ ]|$)' model: '$1' - regex: '(PTB(?:10|[78])R|TP7A4|TP10A1I)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'PHILCO Android TV(?:[);/ ]|$)' device: 'tv' model: '' - regex: 'PH60D16DSGWN4K(?:[);/ ]|$)' device: 'tv' model: 'PH60D16DSGWN4K' - regex: 'PTB7PAP_PTB7PAB_PTB7PAR(?:[);/ ]|$)' device: 'tablet' model: 'PTB7PA' # SEMP TCL SEMP TCL: regex: '(?:GO[35]E|5101J|GO3C(?: Plus)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '5101J(?:[);/ ]|$)' model: 'L9 Plus' - regex: 'GO3C Plus(?:[);/ ]|$)' model: 'GO! 3C Plus' - regex: 'GO3C(?:[);/ ]|$)' model: 'GO! 3C' - regex: '(GO[35]E)(?:[);/ ]|$)' model: '$1' # Newman Newman: regex: 'Newman[ _](P308|K1|G5i)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Swipe Swipe: regex: '(?:Slate2|Swipe_(?:Elite_3M?|Strike8)|Elite_(?:Grace|VR)|EliteDual|Elite (?:Prime|Star|Note|Sense|Power)|Konnect (?:Prime|Power|Neo 4G))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Konnect Power' model: 'Konnect Power' - regex: 'Konnect Prime' model: 'Konnect Prime' - regex: 'Konnect Neo 4G' model: 'Konnect Neo 4G' - regex: '(?:Swipe_)?Elite[_ ]?(Sense|VR|3M?|Grace|Star|Prime|Note|Dual|Power)(?:[);/ ]|$)' model: 'Elite $1' - regex: 'Slate2(?:[);/ ]|$)' device: 'tablet' model: 'Slate 2' - regex: 'Swipe[_ ]Strike8' device: 'tablet' model: 'Strike 8' # Owwo Owwo: regex: '(?:OWWO[ _]?(?:[1457]S|Q[78])|CARNIVAL B5)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'OWWO[ _]?([1457]S|Q[78])(?:[);/ ]|$)' model: '$1' - regex: 'CARNIVAL B5(?:[);/ ]|$)' model: 'Carnival B5' # 360 or names Qihoo 360, +360, QiKU 360 '360': regex: '(?:180[1379]-A01|1713-A01|1707-A01|1509-A00|1603-A03|1607-A01|1503-A01|1505-A0[12]|1605-A01)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '1807-A01(?:[);/ ]|$)' model: 'N7' - regex: '1803-A01(?:[);/ ]|$)' model: 'N7 Lite' - regex: '1809-A01(?:[);/ ]|$)' model: 'N7 Pro' - regex: '1713-A01(?:[);/ ]|$)' model: 'N6 Lite' - regex: '1707-A01(?:[);/ ]|$)' model: 'N6' - regex: '1801-A01(?:[);/ ]|$)' model: 'N6 Pro' - regex: '1509-A00(?:[);/ ]|$)' model: 'Q5 Plus' - regex: '1503-A01(?:[);/ ]|$)' model: 'N4' - regex: '1605-A01(?:[);/ ]|$)' model: 'N5' - regex: '1603-A03(?:[);/ ]|$)' model: 'N4A' - regex: '1607-A01(?:[);/ ]|$)' model: 'N5S' - regex: '1505-A0[12](?:[);/ ]|$)' model: 'N4S' # TD Systems TD Systems: regex: '(K(?:24|32)DLX9HS|K40DLM8FS|K40DLX9FS|K50DLX9US|K50DLJ10US|K43DLJ10US|K32DLX10HS|K32DLJ12HS)(?:[);/ ]|$)' device: 'tv' model: '$1' # Ravoz (https://www.ravoz.online/) Ravoz: regex: 'RAVOZ[ _](Z[3567] (?:Lite|Pro)|Z[3-7]|R[4789]|V[1235])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Tone Mobile (tone.ne.jp) Tone: regex: 'TONE[ _-](e19|m1[57]|e2[01])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # AT&T AT&T: regex: '(?:EA1002|EA21100[125]|EABF22206A|U(?:202|304|31[89]|328|626|668|6080|705)AA|QS5509A|V340U|V350U|WTATTRW2|SL112A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'EA211005' model: 'Fusion 5G' - regex: 'U304AA(?:[);/ ]|$)' model: 'Radiant Core' - regex: 'U705AA(?:[);/ ]|$)' model: 'Radiant Max' - regex: 'EA211001(?:[);/ ]|$)' model: 'Radiant Max 5G' - regex: 'QS5509A(?:[);/ ]|$)' model: 'Axia' - regex: 'U318AA(?:[);/ ]|$)' model: 'Calypso' - regex: 'U319AA(?:[);/ ]|$)' model: 'Calypso 2' - regex: 'U328AA(?:[);/ ]|$)' model: 'Calypso 3' - regex: 'U202AA(?:[);/ ]|$)' model: 'Maestro' - regex: 'EA1002(?:[);/ ]|$)' model: 'Maestro Max' - regex: 'V350U(?:[);/ ]|$)' model: 'Maestro Plus' - regex: 'U626AA(?:[);/ ]|$)' model: 'Maestro 3' - regex: 'EA211002(?:[);/ ]|$)' model: 'Motivate 2' - regex: 'EABF22206A(?:[);/ ]|$)' model: 'Motivate 3' - regex: 'SL112A(?:[);/ ]|$)' model: 'Motivate 4' - regex: 'U668AA(?:[);/ ]|$)' model: 'Motivate Max' - regex: 'WTATTRW2(?:[);/ ]|$)' model: 'Vista' - regex: 'U6080AA(?:[);/ ]|$)' model: 'Propel 5G' - regex: 'V340U(?:[);/ ]|$)' model: 'Fusion Z' # Vsmart # BIHEE BIHEE: regex: '(ZBH-)?BIHEE' device: 'smartphone' models: - regex: '(A1[1268]|A[78]\+|A[56])(?:[);/ ]|$)' model: '$1' # Enot Enot: regex: 'Enot[ _-](E102|J101)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Kooper Kooper: regex: 'Kooper-mobile-W502(?:[);/ ]|$)' device: 'smartphone' model: 'Mobile W502' # Lesia Lesia: regex: 'ANOVA A5(?:[);/ ]|$)' device: 'smartphone' model: 'Anova A5' # Anry Anry: regex: 'ANRY-(RS10|[SX]20|E30|1006)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Tinai Tinai: regex: 'Tinai (K[12])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Winds or Windsmobile (www.windsmobile.com.my) Winds: regex: '(?:NOTE GRACE V)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NOTE GRACE V' model: 'Note Grace V' # Asano Asano: regex: '(?:32LH7010T|32LH8030S|43L[FU]8120T|43LU8030S|43LU8130S|32LH8[10]10T|32LH7030S|32LF7130S|28LH701[10]T|43LU8010T|24LH7011T|24L[HF]7020T|24LH8010T|40LF7030S|5[05]LU8120T|42LF7110T|32LF7120T|32LF8120T|50LU8110T|40LF8120T|43LF7010T|32LH8011T|32LF7111T)(?:[);/ ]|$)' device: 'tv' models: - regex: '(\d{2})(L[FHU]\d+[ST])(?:[);/ ]|$)' model: '$1$2 $1.0"' # Phonemax Phonemax: regex: '(?:PHONEMAX[_ ](?:Saturn(?:[_ ]X)?|Mars|Venus X)|Rocky 2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'PHONEMAX[_ ]Saturn[_ ]X(?:[);/ ]|$)' model: 'Saturn X' - regex: 'PHONEMAX[_ ]Saturn(?:[);/ ]|$)' model: 'Saturn' - regex: 'PHONEMAX[_ ]Mars(?:[);/ ]|$)' model: 'Mars' - regex: 'PHONEMAX[_ ]Venus X(?:[);/ ]|$)' model: 'Venus X' - regex: 'Rocky 2(?:[);/ ]|$)' model: 'Rocky 2' # Vipro or ViPro (Vipro Mobile) Vipro: regex: 'VIPRO[_ ]' device: 'smartphone' models: - regex: 'ViPro S20(?:[);/ ]|$)' model: 'S20' - regex: 'VIPRO PRO2X(?:[);/ ]|$)' model: 'Pro 2X' - regex: 'Vipro Edge 2(?:[);/ ]|$)' model: 'Edge 2' - regex: 'VIPRO PRO[ _-]?([0-9])(?:[);/ ]|$)' model: 'Pro $1' # Virzo (https://virzo.com/) Virzo: regex: '(?:V608C|V50[15]c|VT701)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'V(50[15]|608)C(?:[);/ ]|$)' model: 'V$1c' - regex: '(VT701)' device: 'tablet' model: '$1' # OzoneHD OzoneHD: regex: 'Ozone HD|OzoneHD[ _]?(T2 WiFi|Nexo|4K(?: TV)?|Fun|Neo)(?:[);/ ]|$)' device: 'tv' model: '$1' # KZEN (kzen.me) Kzen: regex: '(?:Ureki_U1|Victor V1|Lamia L01|DART KZ07|REX RX|Eva_E01|Majesty (?:M5|4G))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Ureki_U1' model: 'Ureki U1' - regex: 'Eva_E01' model: 'Eva E01' - regex: 'Victor V1' model: 'Victor V1' - regex: 'REX RX' model: 'Rex RX' - regex: 'Lamia L01' model: 'Lamia L01' - regex: 'Majesty (M5|4G)' model: 'Majesty $1' - regex: 'DART KZ07' device: 'tablet' model: 'Dart KZ07' # MELROSE Melrose: regex: 'MELROSE[_ ](?:S9\+?|S9P|2019)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MELROSE[_ ]S9\+(?:[);/ ]|$)' model: 'S9 Plus' - regex: 'MELROSE[_ ](S9|S9P)(?:[);/ ]|$)' model: '$1' - regex: 'MELROSE_2019(?:[);/ ]|$)' model: '2019 Ultra Slim 3.4"' # Crony Crony: regex: 'CRONY-7021(?:[);/ ]|$)' device: 'tablet' model: '7021' # T96 T96: regex: 'T96mini(?:[);/ ]|$)' device: 'tv' model: 'Mini' # TADAAM TADAAM: regex: 'TADAAM' device: 'tv' models: - regex: 'TADAAM BOX(?:[);/ ]|$)' model: 'TV Box' # Takara Multimédia (https://www.takara.fr/) Takara: regex: '(MID169|MID211H)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Tronsmart Tronsmart: regex: '(Orion R68G|Draco AW80|Draco H3|Vega S95_(?:Meta|Pro|Telos))(?:[);/ ]|$)' device: 'tv' model: '$1' # Amigoo Amigoo: regex: 'AMIGOO (R300|R9 Max|M1 Max|X15)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Lumigon Lumigon: regex: 'Lumigon[ _](T3)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Neo Neo: regex: 'NEO, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # NEKO NEKO: regex: '(?:NEKO_(?:W_)?LT[-_](\w+)|LT-\d{2}N(?:[HF]8020S|X8001S|F7021S))(?:[);/ ]|$)' device: 'tv' models: - regex: '(?:NEKO_)?(?:W_)?LT[-_](\w+)(?:[);/ ]|$)' model: 'LT-$1' # Neomi Neomi: regex: 'NEO[ ]?(90[689])(?:[);/ ]|$)' device: 'smartphone' model: 'Neo $1' # Eltex (eltex-co.ru) Eltex: regex: '(?:NV5(?:01|10)WAC|NV501|NV731|NV[57]10WB|NV72[01]WB|NV711WAC|NV73[01]WB)(?:[);/ ]|$)' device: 'tv' models: - regex: 'NV(501|510|711)WAC(?:[);/ ]|$)' model: 'NV-$1-Wac' - regex: 'NV(501|731)(?:[);/ ]|$)' model: 'NV-$1' - regex: 'NV(\d{3})WB(?:[);/ ]|$)' model: 'NV-$1-WB' # Senkatel Senkatel: regex: 'Senkatel[ _]|(?:MaximusT1001)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'MaximusT1001' model: 'Maximus T1001' - regex: 'Senkatel[ _](T1009|T8002|T701[12]|T9702)' model: '$1' # Bobarry Bobarry: regex: '(?:K10[ ]?SE)(?:[);/ ]|$)' device: 'tablet' model: 'K10 SE' # Wortmann (wortmann.de) Wortmann: regex: 'TERRA[ _]PAD[ _](\d+)(_V2)?(?:[);/ ]|$)' device: 'tablet' model: 'Terra Pad $1$2' # BB Mobile BB Mobile: regex: 'bb-mobile|Techno[-_ ](8\.0|9\.7|TQ863Q|X595BT|X800BJ|S700BF|I700AJ|10\.1 LTE TQ060X|7\.0 LTE TQ763I|I785AP|I101BI)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Techno[_ ]S700BF(?:[);/ ]|$)' model: 'Techno 7.0" Pioneer LTE S700BF' - regex: 'Techno[_ ]10\.1 LTE TQ060X(?:[);/ ]|$)' model: 'Techno 10.0" LTE TQ060X' - regex: 'Techno[_ ]TQ863Q(?:[);/ ]|$)' model: 'Techno 8.0" Poplar LTE TQ863Q' - regex: 'Techno[_ ]I700AJ(?:[);/ ]|$)' model: 'Techno 7.0" Mozg LTE I700AJ' - regex: 'Techno[-_ ]I785AP(?:[);/ ]|$)' model: 'Techno 7.85" Mozg I785AP' - regex: 'Techno[_ ]X800BJ(?:[);/ ]|$)' model: 'Techno 8.0" Mozg X800BJ' - regex: 'Techno[-_ ]I101BI(?:[);/ ]|$)' model: 'Techno 10.1" Mozg I101BI' - regex: 'Techno[_ ]7\.0 LTE TQ763I(?:[);/ ]|$)' model: 'Techno 7.0" Kalash LTE TQ763I' - regex: '(FirstTab TP-17)(?:[);/ ]|$)' model: '$1' - regex: 'Techno[_ ](9\.7|[78]\.0) 3G(?:[);/ ]|$)' model: 'Techno $1" 3G' - regex: 'Techno[_ ](?:X595BT)(?:[);/ ]|$)' device: 'smartphone' model: 'Techno Spark 3G X595BT' # 2E (2e.ua) 2E: regex: '(?:E500A_2019|2E E450 2018)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'E500A_2019(?:[);/ ]|$)' model: 'E500A (2019)' - regex: '2E E450 2018(?:[);/ ]|$)' model: 'E450 (2018)' # Billion Billion: regex: 'Capture\+(?:[);/ ]|$)' device: 'smartphone' model: 'Capture Plus' # Telkom Telkom: regex: '(TVB-100)(?:[);/ ]|$)' device: 'tv' model: '$1' # Tele2 (www.tele2.com) mobile operator Tele2: regex: 'Tele2[ _]|Tele2fon' device: 'smartphone' models: - regex: 'Tele2fon[_ ]V6' model: 'V6' - regex: 'Tele2[ _](Mi[dn]i)[ _]1[_.]1(?:[);/ ]|$)' model: '$1 1.1' - regex: 'Tele2[ _]Midi[ _]2[_.]0(?:[);/ ]|$)' model: 'Midi 2.0' - regex: 'Tele2[ _]((?:Maxi|Midi)(?:[_ ](?:Plus|LTE))?)(?:[);/ ]|$)' model: '$1' - regex: 'Tele2[ _](Mi[dn]i)(?:[);/ ]|$)' model: '$1' # ALDI NORD ALDI NORD: regex: 'ALDINORD, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # ALDI SÜD ALDI SÜD: regex: 'ALDISUED, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # Alfawise Alfawise: regex: '(?:Alfawise (?:A9)|(?:A95X_R1|Z28Pro))(?:[);/ ]|$)' device: 'tv' models: - regex: '(A95X_R1)(?:[);/ ]|$)' model: '$1' - regex: 'Z28Pro(?:[);/ ]|$)' model: 'Z28 Pro' - regex: 'Alfawise (A9)' model: '$1' # Klipad (www.klipad.fr) Klipad: regex: 'KLIPAD_|(?:KL-V905|KL(2108NBE|[46]889|489[08]|9878A?E?|3669|759[01]|500|638DK|60[15]|988)?(?:_EEA)?|7589AN|KL628_HL|KL628KO|KL4898[_ -]A50|V356B?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:KLIPAD_)?(V355B?|KL600|KL-V905|V356B?|KL500|KL60[15])(?:_EEA)?(?:[);/ ]|$)' model: '$1' - regex: '(KL[46]889|7589AN|KL759[01]|KL9878A?E?|KL628KO|KL3669|KL489[08]|KL988|KL2108NBE|KL638DK)(?:_EEA)?(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'KL628_HL' device: 'tablet' model: 'KL628HL' - regex: 'KL4898[_ -]A50' device: 'tablet' model: 'KL4898-A50' # SQOOL (sqool.fr) SQOOL: regex: 'SQOOL-V(41?)(?:[);/ ]|$)' device: 'tablet' model: 'V$1' # TurboPad (turbopad.ru) TurboPad: regex: 'Turbopad[-_ ]?(72[34]|80[23]|912|101[456]|Pro)(?:NEW)?(?:[);/ ]|$)' device: 'tablet' model: '$1' # TurboKids sub brand TurboPad (turbokids.ru) TurboKids: regex: '(?:Turbokids[-_ ]?(TMNT|3G|S4|Princess|3GNEW)|Monsterpad 3G)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Monsterpad 3G' model: 'MonsterPad 3G' - regex: 'Turbokids[-_ ]?3GNEW' model: '3G New' - regex: 'Turbokids[-_ ]?(TMNT|3G|S4|Princess)' model: '$1' # Türk Telekom (https://www.turktelekom.com.tr/) Türk Telekom: regex: 'Turk Telekom' device: 'smartphone' models: - regex: 'TT175(?:[);/ ]|$)' model: 'TT175' # Jinga (jinga.ru) Jinga: regex: 'Jinga[-_ ]|(?:(?:Fresh|Optim)4G|Pass(?:Plus|3G)|PicassoNote|Hotz[_ ]M1|WinPRO|Touch4G|Start(?:3G|LTE)?|IGO[ _]L[41]|Basco[ _](?:L3|L[45]00|L45[01]|XS1|S2|M1)|M500-1|Hit4G|A450|Neon(?!/)|IGO_L3|JoyPRO|Fresh|GoalPlus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Optim4G(?:[);/ ]|$)' model: 'Optim 4G' - regex: 'Fresh4G(?:[);/ ]|$)' model: 'Fresh 4G' - regex: 'Hotz[_ ]M1(?:[);/ ]|$)' model: 'Hotz M1' - regex: 'Hit4G(?:[);/ ]|$)' model: 'Hit 4G' - regex: 'PassPlus(?:[);/ ]|$)' model: 'Pass Plus' - regex: 'Pass3G(?:[);/ ]|$)' model: 'Pass 3G' - regex: 'GoalPlus(?:[);/ ]|$)' model: 'Goal Plus' - regex: '(Win|Joy)PRO(?:[);/ ]|$)' model: '$1 Pro' - regex: 'Touch4G(?:[);/ ]|$)' model: 'Touch 4G' - regex: 'Start3G(?:[);/ ]|$)' model: 'Start 3G' - regex: 'StartLTE(?:[);/ ]|$)' model: 'Start LTE' - regex: 'Start(?:[);/ ]|$)' model: 'Start' - regex: 'PicassoNote(?:[);/ ]|$)' model: 'Picasso Note' - regex: 'Jinga Iron(?:[);/ ]|$)' model: 'Iron' - regex: 'Fresh(?:[);/ ]|$)' model: 'Fresh' - regex: 'IGO_L3(?:[);/ ]|$)' model: 'IGO L3' - regex: 'Jinga Basco neo(?:[);/ ]|$)' model: 'Basco Neo' - regex: 'M500-1(?:[);/ ]|$)' model: 'Basco M500 3G' - regex: '(?:Jinga[ _])?Basco[ _](L[13]|L[45]00|XS1|S2|L45[01]|M1)(?:[);/ ]|$)' model: 'Basco $1' - regex: 'Jinga Trezor S1 Plus(?:[);/ ]|$)' model: 'Trezor S1 Plus' - regex: 'JINGA_IGO_L2(?:[);/ ]|$)' model: 'IGO L2' - regex: '(?:JINGA[_ ])?IGO[_ ]([ML]1|L4)(?:[);/ ]|$)' model: 'IGO $1' - regex: '(?:JINGA[_ ])?(Neon|A450)(?:[);/ ]|$)' model: '$1' # Jio (https://www.jio.com/) Jio: regex: 'LS1542QWN?(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LS1542QWN?(?:[);/ ]|$)' model: 'JioPhone Next' # Twoe Twoe: regex: '(?:TWOE[-_ ]E450R|F534L|F572L|E500A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TWOE[-_ ](E450R)(?:[);/ ]|$)' model: '$1' - regex: '(F534L|F572L|E500A)(?:[);/ ]|$)' model: '$1' # iTruck iTruck: regex: 'iTRUCK 7 3G(?:[);/ ]|$)' device: 'smartphone' model: '7.0" 3G' # Torex (torex.tools) Torex: regex: '(?:TOREX[- _](?:PS12|S18|S27|PAD 8 ?PRO|PAD818)|PAD831B)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'TOREX-(PS12)' model: '$1' - regex: '(?:TOREX[_ ])?PAD(831B|818)' model: 'Pad $1' - regex: 'TOREX PAD 8 ?PRO' model: 'Pad 8 Pro' - regex: 'TOREX[- ](S18|S27)' device: 'smartphone' model: '$1' # Doffler Doffler: regex: '(24DHS54|32GHS5[67]|40KFS57|32KHS57|43KUS65|24[KG]HS57|24GHS55|50KUS65|40GHS57|43GUS65|55KUS65|65KUS65|42GFS56)(?:[);/ ]|$)' device: 'tv' model: '$1' # Oyyu Oyyu: regex: 'OYYUT11(?:[);/ ]|$)' device: 'tablet' model: 'T11 3G' # Primux (primux.es) Primux: regex: 'Primux|SirocoY|Omega6_4G(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Primux_ioxphone(?:[);/ ]|$)' model: 'IOX Phone' - regex: 'PrimuxDelta6(?:[);/ ]|$)' model: 'Delta 6' - regex: 'PrimuxKappa(P50[01])(?:[);/ ]|$)' model: 'Kappa $1' - regex: 'PrimuxKappa(?:[);/ ]|$)' model: 'Kappa' - regex: 'Primux_Beta2(?:[);/ ]|$)' model: 'Beta 2' - regex: 'Primux_?Omega([57])(?:[);/ ]|$)' model: 'Omega $1' - regex: 'Omega6_4G(?:[);/ ]|$)' model: 'Omega 6 4G' - regex: 'PrimuxUP(?:[);/ ]|$)' device: 'tablet' model: 'UP' - regex: 'PrimuxZonda4(?:[);/ ]|$)' device: 'tablet' model: 'Zonda 4' - regex: 'Primux_Siroco6(?:[);/ ]|$)' device: 'tablet' model: 'Siroco 6' - regex: 'SirocoY(?:[);/ ]|$)' device: 'tablet' model: 'Siroco Y' # iMars iMars: regex: '(?:IMARS VEGA X7|VIVI_8|MILKY_WAY_M2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'IMARS VEGA X7' model: 'Vega X7' - regex: 'VIVI_8' model: 'VIVI 8' - regex: 'MILKY_WAY_M2' model: 'Milky Way M2' # Logic or Logic Mobility (logicmobility.com) Logic: regex: 'LOGIC[_ ]|(?:LOGIC[_ ](X4 Plus|X50|X[135]|X4M|L4T|L5D|X5[AFT]|X57A|X60G|L50T?|L57|L6[0135]|X60_PLUS)(:?[_ ]LITE2?)?|L55[ABS]|Q-502)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LOGIC[_ ]X60_PLUS(?:[);/ ]|$)' model: 'X60 Plus' - regex: 'LOGIC[_ ](L65|X5|X4M)[_ ]LITE(?:[);/ ]|$)' model: '$1 Lite' - regex: 'LOGIC[_ ](L65)(?:[);/ ]|$)' model: '$1' - regex: 'LOGIC[_ ](X5)[_ ]LITE2(?:[);/ ]|$)' model: '$1 Lite 2' - regex: 'LOGIC[_ ](X4 Plus|X50|X[13]|X4M|L4T|L5D|L6[013]|X5[AFT]|X57A|X60G)(?:[);/ ]|$)' model: '$1' - regex: '(L50T?|L55[ABS]|L57|Q-502)(?:[);/ ]|$)' model: '$1' # Cloud or Cloud TruConnect (www.cloudmobileusa.com) Cloud: regex: '(?:Cirrus_C2|Cyclone_C4|Storm_C3|Stratus_C[57](?:_Elite)?|Sunshine_T1|Typhoon_C6|Sunshine_T1_Elite)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Stratus_C5_Elite' model: 'Stratus C5 Elite' - regex: '(Cirrus_C2|Cyclone_C4|Storm_C3|Stratus_C[57]|Typhoon_C6)' model: '$1' - regex: '(Sunshine_T1(?:_Elite)?)' device: 'tablet' model: '$1' # Cloudpad Cloudpad: regex: '\+VT(?:107C|Q007C)(?:[);/ ]|$)' device: 'tablet' models: - regex: '\+VT(107C)' model: '+VT$1' - regex: '\+VTQ(007C)' model: '+VTQ$1' # Cloudfone Cloudfone: regex: 'CloudFone[ _]|(?:Thrill[ _](?:Boost[ ]?(2|3)?|Power|Snap|Access|Plus 16GB|Lite|HD)|Excite Prime 2 Pro|Excite Prime|ExciteC|NBA Edition|Go SP|Next Infinity Plus|Next Infinity|Next Lite|Go Connect)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Thrill Boost 2 Plus(?:[);/ ]|$)' model: 'Thrill Boost 2 Plus' - regex: 'Thrill Boost (2|3)(?:[);/ ]|$)' model: 'Thrill Boost $1' - regex: 'Thrill[ _]Boost(?:[);/ ]|$)' model: 'Thrill Boost' - regex: 'Thrill Snap(?:[);/ ]|$)' model: 'Thrill Snap' - regex: 'Thrill Plus 16GB(?:[);/ ]|$)' model: 'Thrill Plus 16GB' - regex: 'Thrill Power(?:[);/ ]|$)' model: 'Thrill Power' - regex: 'Thrill Access(?:[);/ ]|$)' model: 'Thrill Access' - regex: 'Thrill Lite(?:[);/ ]|$)' model: 'Thrill Lite' - regex: 'Thrill HD(?:[);/ ]|$)' model: 'Thrill HD' - regex: 'Excite Prime 2 Pro' model: 'Excite Prime 2 Pro' - regex: 'Excite Prime 2' model: 'Excite Prime 2' - regex: 'Excite Prime' model: 'Excite Prime' - regex: 'ExciteC' model: 'Excite C' - regex: 'NBA Edition(?:[);/ ]|$)' model: 'NBA Edition' - regex: '(Go SP(?: 2)?|Next Infinity (?:Pro|Plus)|Next Infinity|Go Connect(?: Lite)?(?: 2)?)(?:[);/ ]|$)' model: '$1' - regex: 'Next Lite(?:[);/ ]|$)' model: 'Next Lite' - regex: 'Next(?:[);/ ]|$)' model: 'Next' # Völfen (https://www.volfen.net/) Völfen: regex: 'Nexo-TAB-7(?: Build|[;)])' device: 'smartphone' models: - regex: 'Nexo-TAB-7(?: Build|[;)])' device: 'tablet' model: 'Nexo TAB7' # Vsmart Vsmart: regex: '(?:Joy [123]\+|Joy [34]|Active 1\+|Bee 3|Active [13]|V341U|Bee Lite|Aris| Bee|Star [345])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Joy ([123])\+(?:[);/ ]|$)' model: 'Joy $1 Plus' - regex: 'Joy ([34])(?:[);/ ]|$)' model: 'Joy $1' - regex: 'Active 1\+(?:[);/ ]|$)' model: 'Active 1 Plus' - regex: 'Bee 3(?:[);/ ]|$)' model: 'Bee 3' - regex: 'Bee Lite' model: 'Bee Lite' - regex: 'Bee(?:[);/ ]|$)' model: 'Bee' - regex: 'Star (\d)(?:[);/ ]|$)' model: 'Star $1' - regex: 'Active (\d)(?:[);/ ]|$)' model: 'Active $1' - regex: 'V341U(?:[);/ ]|$)' model: 'Hobson' - regex: 'Aris Pro' model: 'Aris Pro' - regex: 'Aris' model: 'Aris' # MiXzo MiXzo: regex: '(?:MiXzo[ _])?(?:ME ?10(?:2[35]|30)|MX1037|MX1024|MX10[24]1|MX1397)([ _][34]G)?(?:[);/ ]|$)' device: 'tablet' models: - regex: 'MiXzo[_ ]ME ?(1023|1030)(?:[_ ]([34])G)(?:[);/ ]|$)' model: 'ME$1 $2G' - regex: 'MiXzo[_ ]MX1021(?:[_ ]3G)?(?:[);/ ]|$)' model: 'MX1021 3G' - regex: '(?:MiXzo[ _])?MX(1037|1041|1024|1397)[ _]4G(?:[);/ ]|$)' model: 'MX$1 4G' - regex: 'ME ?1025' model: 'ME1025 3G' # Openbox Openbox: regex: '(?:Openbox (?:A[3489](?: (?:Pro|Lite))?)|AS1_HD|AS_?4K[_-](?:CI(?:_PRO|_Lite)?(?:_PLUS)?|PLUS|2X)|AS_?4K)(?:[);/ ]|$)' device: 'tv' models: - regex: 'Openbox (A[3489](?: (?:Pro|Lite))?)(?:[);/ ]|$)' model: '$1' - regex: 'AS_4K_CI_PRO_PLUS' model: 'AS 4K CI Pro Plus' - regex: 'AS_4K_CI_Lite' model: 'AS 4K CI Lite' - regex: 'AS_?4K_CI_PRO' model: 'AS 4K CI Pro' - regex: 'AS_?4K[_-](2X|CI)' model: 'AS 4K $1' - regex: 'AS_?4K[_-]PLUS' model: 'AS 4K Plus' - regex: 'AS1_HD' model: 'AS1 HD' - regex: 'AS_?4K' model: 'AS 4K' # Ziox Ziox: regex: 'ZIOX[_ ]|(?:Astra Viva 4G|Astra (?:(?:NXT|Curve|Young) Pro|(?:Metal|Titan|Young|Curve) 4G|Star|Blaze)|Duo(?:tel|pix)[ _]\w\d{1,2})(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ZIOX[_ ]F9[_ ]PRO(?:[);/ ]|$)' model: 'F9 Pro' - regex: 'Astra (Viva|Titan|Young|Metal|Curve) 4G(?:[);/ ]|$)' model: 'Astra $1 4G' - regex: 'Astra (Star|Blaze)(?:[);/ ]|$)' model: 'Astra $1' - regex: 'Astra (NXT|Curve|Young) Pro(?:[);/ ]|$)' model: 'Astra $1 Pro' - regex: 'Duopix F9 Pro' model: 'Duopix F9 Pro' - regex: 'Duo(tel|pix)[ _](\w\d{1,2})(?:[);/ ]|$)' model: 'Duo$1 $2' # iDroid iDroid: regex: '(?:APACHE G6|iDroid Royal V5|BALR_?X7(?:_PAK)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'APACHE G6' model: 'Apache G6' - regex: 'Royal V5' model: 'Royal V5' - regex: 'BALR_?X7' model: 'Barl X7' # Aoson Aoson: regex: '(?:aoson ?(?:R10[1-3]|S[78]|M707TG|M96T)(?:[_ ]?Pro)?|R103)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(?:aoson ?)?R10([1-3])(?:[);/ ]|$)' model: 'R10$1 10.1"' - regex: 'aoson ?S7_Pro(?:[);/ ]|$)' model: 'S7 Pro 7.0"' - regex: 'aoson ?S7(?:[);/ ]|$)' model: 'S7 7.0"' - regex: 'aoson ?S8Pro(?:[);/ ]|$)' model: 'S8 Pro 8.0"' - regex: 'aoson ?(M707TG|M96T)(?:[);/ ]|$)' model: '$1' # FireFly Mobile FireFly Mobile: regex: '(?:AURII[ _](?:FAME|VIVID|INSPIRE|MAGNUM|Passion|Virtuoso|RAZOR|ULTRA|Secret Lite|AMUSE[_ ]3G|FORCE|FUSION|F8[_ ]Premium|XCITE|DELIGHT|DREAM[_ ](?:MINI|One)|AMUSE_4G)|SECRET_XR?|INTENSE[ _](?:POWER|METAL_2|XT)|RAZOR_PLUS_4G|SUPER SWEET|SWEET MINI|Dream_One_8|INSPIRE_4G|S90_Q|INTENSE_METAL_4G|INTENSE (?:5|XL)|VIVID_PRO|VIVID_PREMIUM)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AURII[ _]FORCE(?:[);/ ]|$)' model: 'Aurii Force' - regex: 'AURII[ _]VIVID(?:[);/ ]|$)' model: 'Aurii Vivid' - regex: 'AURII[ _]INSPIRE(?:[);/ ]|$)' model: 'Aurii Inspire' - regex: 'AURII[ _]RAZOR(?:[);/ ]|$)' model: 'Aurii Razor' - regex: 'RAZOR_PLUS_4G(?:[);/ ]|$)' model: 'Aurii Razor Plus' - regex: 'AURII[ _]DELIGHT(?:[);/ ]|$)' model: 'Aurii Delight' - regex: 'AURII[ _]DREAM[_ ]MINI(?:[);/ ]|$)' model: 'Aurii Dream Mini' - regex: 'AURII[ _]FAME(?:[);/ ]|$)' model: 'Aurii Fame' - regex: 'AURII[ _]AMUSE[ _]4G(?:[);/ ]|$)' model: 'Aurii Amuse 4G' - regex: 'Dream_One_8(?:[);/ ]|$)' model: 'Aurii Dream One 8' - regex: 'AURII[ _]DREAM[_ ]One(?:[);/ ]|$)' model: 'Aurii Dream One' - regex: 'AURII[ _]ULTRA(?:[);/ ]|$)' model: 'Aurii Ultra' - regex: 'AURII[ _]AMUSE[_ ]3G(?:[);/ ]|$)' model: 'Aurii Amuse 3G' - regex: 'AURII[ _]FUSION(?:[);/ ]|$)' model: 'Aurii Fusion' - regex: 'AURII[ _]MAGNUM(?:[);/ ]|$)' model: 'Aurii Magnum' - regex: 'VIVID_PRO(?:[);/ ]|$)' model: 'Aurii Vivid Pro' - regex: 'VIVID_PREMIUM(?:[);/ ]|$)' model: 'Aurii Vivid Premium' - regex: 'AURII[ _]XCITE(?:[);/ ]|$)' model: 'Aurii xCite' - regex: 'SECRET_(XR?)(?:[);/ ]|$)' model: 'Aurii Secret $1' - regex: 'AURII[ _]((?:Passion|Virtuoso|Secret Lite|F8[_ ]Premium))(?:[);/ ]|$)' model: 'Aurii $1' - regex: 'INTENSE POWER(?:[);/ ]|$)' model: 'Intense Power' - regex: 'INTENSE_XT(?:[);/ ]|$)' model: 'Intense XT' - regex: 'INTENSE_METAL_4G(?:[);/ ]|$)' model: 'Intense Metal 4G' - regex: 'INTENSE_METAL_2(?:[);/ ]|$)' model: 'Intense Metal 2' - regex: 'SUPER SWEET(?:[);/ ]|$)' model: 'Super Sweet' - regex: 'SWEET MINI(?:[);/ ]|$)' model: 'Sweet Mini' - regex: 'Inspire_4G' model: 'Inspire 4G' - regex: 'INTENSE (5|XL)' model: 'Intense $1' - regex: '(S90_Q)(?:[);/ ]|$)' model: '$1' # FISE (http://www.fise.com.cn/) FISE: regex: 'Fise_' device: 'smartphone' models: - regex: 'Fise_32433_3G(?:[);/ ]|$)' device: 'feature phone' model: 'M32433 3G' # FITCO FITCO: regex: 'FITCO, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # I KALL (https://ikall.in/) I KALL: regex: 'IKALL' device: 'smartphone' model: '' # i-Cherry or iCherry i-Cherry: regex: 'iCherry_?' device: 'smartphone' models: - regex: 'iCherry[ _](C(?:25[1258]|21[16]|110|121|22[01379]|23[03])|X1)(?:[);/ ]|$)' model: '$1' - regex: 'iCherry-C256' device: 'tablet' model: 'C256 Nano 3G' # NextTab NextTab: regex: 'TAB (A40[13]0)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Time 2 Time2: regex: '(TC1050G)(?:[);/ ]|$)' device: 'tablet' model: '$1 10.1"' # Sunstech (sunstech.com) Sunstech: regex: '(TAB(?:2323GMQC|1081|918QC|917QC-(?:8|16)GB)|TAB1090)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Hotwav (www.hotwav.com) Hotwav: regex: '(?:Venus[_ ](?:X[12]|X1[0245679]|R8 PLUS|R[236-9]|R1[028]|X16-1)|Cosmos[ _](?:V8_lite|V19_Plus|V2[0-3]|U2?|V1[359]|V[45689]|V8-2)|Pearl K[123]|Magic Q8|Magic 5 Plus|Magic (?:[89]|1[13])|Hot[_ ]6|Symbol (?:M1|X|Max|R60|Pro|S4)|Symbol|Cyber (?:[78X]|15)|Cyber (?:9|13|X) Pro|Cosmos|W10 Pro|TAB R7|TAB R6 (?:Pro|Ultra)|T5 Pro| M5i)(?:[);/ ]|$)|(?:Android 8(?:[\d.]*);(?: [\w-]+;)? M5 Plus|Android 12(?:[\d.]*);(?: [\w-]+;)? W10|Android 13(?:[\d.]*);(?: [\w-]+;)? T7)(?: Build|[;)])' device: 'smartphone' models: - regex: 'Cosmos[ _]V8_lite(?:[);/ ]|$)' model: 'Cosmos V8 Lite' - regex: 'Hot[_ ]6?(?:[);/ ]|$)' model: 'Hot 6' - regex: 'Venus R8 PLUS(?:[);/ ]|$)' model: 'Venus R8 Plus' - regex: 'Venus[_ ]X16(?:-1)?(?:[);/ ]|$)' model: 'Venus X16' - regex: 'Venus[_ ](X[12]|X1[0245679]|R[236-9]|R1[028])(?:[);/ ]|$)' model: 'Venus $1' - regex: 'Cyber (\d*|X) Pro' model: 'Cyber $1 Pro' - regex: 'Cyber X' model: 'Cyber X' - regex: 'Cyber (\d*)' model: 'Cyber $1' - regex: 'Symbol (S4|M1)' model: 'Symbol $1' - regex: '(W10|T5) Pro' model: '$1 Pro' - regex: 'W10?(?:[);/ ]|$)' model: 'W10' - regex: '(T7)(?:[);/ ]|$)' model: '$1' - regex: 'M5i(?:[);/ ]|$)' model: 'M5i' - regex: 'Symbol R60' device: 'phablet' model: 'Symbol R60' - regex: 'TAB R6 Pro' device: 'tablet' model: 'Tab R6 Rro' - regex: 'TAB R6 Ultra' device: 'tablet' model: 'Tab R6 Ultra' - regex: 'TAB R7' device: 'tablet' model: 'Tab R7' - regex: 'Pearl K(3) (2021)' model: 'Pearl K$1 ($2)' - regex: '(Cosmos[ _](?:V19_Plus|V2[0-3]|U2?|V1[359]|V[45689])|Pearl K[123](?: Prime)?|Magic Q8|Magic 5 Plus|Magic (?:[89]|1[13])|Symbol (?:X|Max)|Cosmos|M5 Plus)(?:-2)?(?:[);/ ]|$)' model: '$1' - regex: 'Symbol Pro' model: 'Symbol Pro' - regex: 'Symbol' model: 'Symbol' # Tetratab Tetratab: regex: 'CASEBOOK_3(?:[);/ ]|$)' device: 'tablet' model: 'Casebook 3' # Dolamee Dolamee: regex: 'Dolamee[_ -](D[56])(?:[);/ ]|$)' device: 'tv' model: '$1' # INVIN Invin: regex: 'INVIN[ _-]|(?:IPC002|KM5PRO)(?:[);/ ]|$)' device: 'tv' models: - regex: 'INVIN[ _-](X[24]|KM[678])' model: '$1' - regex: 'KM5PRO' model: 'KM5 Pro' - regex: '(IPC002)' model: '$1' # Doopro Doopro: regex: 'Doopro P3(?:[);/ ]|$)' device: 'smartphone' model: 'P3' # IQM IQM: regex: 'IQM (?:picasso|vivaldi|newton)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'IQM picasso(?:[);/ ]|$)' model: 'Picasso' - regex: 'IQM vivaldi(?:[);/ ]|$)' model: 'Vivaldi' - regex: 'IQM newton(?:[);/ ]|$)' model: 'Newton' # Nos Nos: regex: 'Nos (?:FIVE|NOVU|NEVA|Roya)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NOS FIVE(?:[);/ ]|$)' model: 'Five' - regex: 'NOS NOVU III(?:[);/ ]|$)' model: 'Novu III' - regex: 'NOS NOVU II(?:[);/ ]|$)' model: 'Novu II' - regex: 'NOS NOVU(?:[);/ ]|$)' model: 'Novu' - regex: 'NOS NEVA 80(?:[);/ ]|$)' model: 'Neva 80' - regex: 'NOS Roya(?:[);/ ]|$)' model: 'Roya' # Accent (DBM Maroc) (accent.ma) Accent: regex: '(?:ACCENT[_ ]NEON|FAST7 ?3G|PEARL[_ ]A[24567]|TANK_P55|CAMELEON[_ ](?:C[456]|A1|H2)(?:[_ ]PLUS)?|Speed[- ](?:[AXYM]2|X2\+)|SURF1000|KIDZY70|SPEED_S8)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ACCENT[_ ]NEON(?:[);/ ]|$)' model: 'Neon' - regex: 'CAMELEON[_ ]C([65])[_ ]PLUS(?:[);/ ]|$)' model: 'Cameleon C$1 Plus' - regex: 'Speed[- _]([AXYM]2|S8)(?:[);/ ]|$)' model: 'Speed $1' - regex: 'Speed-X2\+(?:[);/ ]|$)' model: 'Speed X2 Plus' - regex: 'CAMELEON[_ ](C[456]|A1|H2)(?:[);/ ]|$)' model: 'Cameleon $1' - regex: 'PEARL A4 Lite(?:[);/ ]|$)' model: 'Pearl A4 Lite' - regex: 'PEARL A4 PLUS(?:[);/ ]|$)' model: 'Pearl A4 Plus' - regex: 'PEARL[_ ]A([24567])(?:[);/ ]|$)' model: 'Pearl A$1' - regex: 'TANK_P55(?:[);/ ]|$)' model: 'Tank P55' - regex: 'FAST7 ?3G(?:[);/ ]|$)' device: 'tablet' model: 'FAST7 3G' - regex: 'SURF1000(?:[);/ ]|$)' device: 'tablet' model: 'Surf 1000' - regex: 'KIDZY70(?:[);/ ]|$)' device: 'tablet' model: 'Kidzy 70' # Avenzo (www.avenzo.es) Avenzo: regex: 'Avenzo(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MOB4 4G(?:[);/ ]|$)' model: 'Mob 4 4G' - regex: 'MOB4PRO 4G(?:[);/ ]|$)' model: 'Mob 4 Pro 4G' # Beelink (www.bee-link.com) Beelink: regex: '(?:Beelink (?:G[ST]1|LAKE I|SEA I|A1)|GTKing(?:_AT|II)?|GT1mini-2|GT1-mini(?:[-_]AT)?|R68 II|Amlogic Alvatech GT1)(?:[);/ ]|$)' device: 'tv' models: - regex: 'Beelink (G[ST]1|LAKE I|SEA I|A1)(?:[);/ ]|$)' model: '$1' - regex: 'Amlogic Alvatech GT1(?:[);/ ]|$)' model: 'GT1' - regex: 'GT1-mini(?:-AT)?(?:[);/ ]|$)' model: 'GT1 Mini' - regex: 'GT1mini-2(?:[);/ ]|$)' model: 'GT1 Mini 2' - regex: 'GTKing PRO(?:[);/ ]|$)' model: 'GT King Pro' - regex: 'GTKingII(?:[);/ ]|$)' model: 'GT King II' - regex: 'GTKing(?:_AT)?(?:[);/ ]|$)' model: 'GT King' - regex: 'R68 II(?:[);/ ]|$)' model: 'R68 II' # MAXVI MAXVI: regex: 'MAXVI[ _](?:MS401)(?:[);/ ]|$)|\w*_?MAXVI?_\w+|MS502[_ ]Orion|MS531' device: 'smartphone' models: - regex: 'MAXVI[ _](MS401)' model: '$1' - regex: 'MS531' model: 'MS531 Vega' - regex: 'MS502[_ ]Orion' model: 'MS502 Orion' - regex: '\w*MAXVI_(P11|K10|X[358]00)_' device: 'feature phone' model: '$1' # MDC Store (http://mdc.store/ or https://www.facebook.com/mdcmobileuzbekistan/) MDC Store: regex: '(?:Prime_S|M300 4G|MDC M5|Nova Pro|Grand Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Prime_S(?:[);/ ]|$)' model: 'Prime S' - regex: 'Nova Pro' model: 'Nova Pro' - regex: 'Grand Pro' model: 'Grand Pro' - regex: '(M300) 4G(?:[);/ ]|$)' model: '$1 4G' - regex: 'MDC M5(?:[);/ ]|$)' model: 'M5' # MDTV MDTV: regex: 'MDTV(?:[);/ ]|$)' device: 'tv' model: '' # meanIT (meanit.hr) meanIT: regex: 'meanIT[ _]|(?:meanIT[ _](?:C[12]|X10|X[126]|MG430|Q[145]|C[18]0C[18]1)|Smartphone_X5)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Smartphone_X5' model: 'X5' - regex: 'meanIT[ _]Q1 plus(?:[);/ ]|$)' model: 'Q1 Plus' - regex: 'meanIT[ _](C[12]|X[126]|MG430|Q[145])(?:[);/ ]|$)' model: '$1' - regex: 'meanIT[ _](X[12]0|C[18]0C[18]1)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Kenxinda Kenxinda: regex: 'Three[_ ]Proofings[_ ]W([5-9])(?:[);/ ]|$)' device: 'smartphone' model: 'Three Proofings W$1' # X-BO or XBO X-BO: regex: 'X[-]?BO (V[78]|V1[01]|V[89]\+)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # X88 X88: regex: 'X88pro10' device: 'tv' model: 'Pro 10' # X96 X96: regex: '(?:X96Air_(?:A100|100W|V2|P[1-3])|X96_X6_I|X96Max_Plus_?(?:Ultra|[25]|Q[12])?|X96MATE_PLUS|X96MINI_11)(?:[);/ ]|$)' device: 'tv' models: - regex: 'X96Air_(100W|A100|V2|P[1-3])' model: 'Air $1' - regex: 'X96Max_Plus_Ultra' model: 'Max Plus Ultra' - regex: 'X96Max_Plus_?([25]|Q[12])' model: 'Max Plus $1' - regex: 'X96Max_Plus' model: 'Max Plus' - regex: 'X96_X6_I' model: 'X6i' - regex: 'X96MATE_PLUS' model: 'Mate Plus' - regex: 'X96MINI_11' model: 'Mini 11' # X96Q X96Q: regex: 'X96Q(?:[);/ ]|$)' device: 'tv' model: '' # Xgody Xgody: regex: 'XGODY|(?:Y19\(EU\)|XGT_EEA|N01Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'XGODY Y17(?:[);/ ]|$)' model: 'Y17' - regex: 'Y19\(EU\)' model: 'Y19' - regex: 'XGT_EEA' device: 'tablet' model: 'XGT' - regex: 'N01Pro' device: 'tablet' model: 'N01 Pro' - regex: 'XGODY_X96(?:[);/ ]|$)' model: 'X96' device: 'tv' # Alcor (alcordigital) Alcor: regex: '(Access_Q784C)(?:[);/ ]|$)' device: 'tablet' model: '$1' # iBrit iBrit: regex: 'IBRIT_|(?:SI5[12]|i5Plus|POWER_X|Z2Lite|Diamond Pro Max)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Diamond Pro Max' model: 'Diamond Pro Max' - regex: 'IBRIT_I([57])(?:[);/ ]|$)' model: 'I$1' - regex: 'i5Plus' model: 'I5 Plus' - regex: 'iBRIT_POWER6(?:[);/ ]|$)' model: 'Power 6' - regex: 'iBRIT_Speed Pro(?:[);/ ]|$)' model: 'Speed Pro' - regex: 'SI51(?:[);/ ]|$)' model: 'Speed' - regex: 'SI52(?:[);/ ]|$)' model: 'Speed Plus' - regex: 'POWER_X(?:[);/ ]|$)' model: 'Power X' - regex: 'Z2Lite' model: 'Z2 Lite' - regex: 'iBRIT_AF51(?:[);/ ]|$)' model: 'AF51' # Ovvi Ovvi: regex: 'Jumbo X1' device: 'smartphone' model: 'Jumbo X1' # Fero Fero: regex: 'Fero[_ ]|Royale[_ ](?:[YX]2|A1)' device: 'smartphone' models: - regex: 'Fero_Y1' model: 'Y1' - regex: 'Royale Y2 Lite' model: 'Royale Y2 Lite' - regex: 'Royale[_ ]([YX]2|A1)' model: 'Royale $1' - regex: 'FERO PACE' model: 'Pace' - regex: 'A4001 Plus 2019' model: 'A4001 Plus (2019)' - regex: 'A4001 Plus' model: 'A4001 Plus' - regex: 'Fero[ _](A4001|A450[23]|A5001|L100|Iris|Power|Mega LTE|Vibe|J1)' model: '$1' # Ruio Ruio: regex: 'Ruio[ _]|(?:M671M4|i7Plus|S5[05]06|S518)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Ruio[ _](S4)(?:[);/ ]|$)' model: '$1' - regex: '(?:Ruio[ _])?(S5|i7)Plus(?:[);/ ]|$)' model: '$1 Plus' - regex: 'M671M4' model: 'Cola 4G' - regex: '(S5[05]06|S518)(?:[);/ ]|$)' model: '$1' # Transpeed Transpeed: regex: 'Transpeed[_ ]|(?:TR99 MINI\+|TR99|8K618-T)(?:[);/ ]|$)' device: 'tv' models: - regex: 'TR99 MINI\+' model: 'TR99 Mini Plus' - regex: '(?:Transpeed[_ ])?(TR99|H616|6K|X4S?|8K618-T)(?:[);/ ]|$)' model: '$1' # 8848 (everest 8848, 8848 titanium) '8848': regex: '8848 (M[3-6])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # VVETIME VVETIME: regex: 'ZYVV1(?:[);/ ]|$)' device: 'smartphone' model: 'V1' # A1 (www.a1.by, a1.rs) A1: regex: '(?:A1 (?:Alpha|Alpha 20\+)|Alpha 20|Alpha Eco)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'A1 Alpha 20\+' model: 'Alpha 20 Plus' # ZTE Blade V2020 - regex: 'Alpha 20' model: 'Alpha 20' - regex: 'Alpha 21' model: 'Alpha 21' - regex: 'Alpha Eco' model: 'Alpha Eco' - regex: 'A1 Alpha' model: 'Alpha' # Swisstone Swisstone: regex: 'swisstone (SD 5[13]0)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # P-UP (Peaup Co., Ltd.) (p-up.jp, mode1.jp) P-UP: regex: 'MD-0[143]P(?:[);/ ]|$)' device: 'phablet' models: - regex: 'MD-04P(?:[);/ ]|$)' model: 'Mode 1 RR' - regex: 'MD-03P(?:[);/ ]|$)' model: 'Mode 1 RS' - regex: 'MD-01P(?:[);/ ]|$)' device: 'smartphone' model: 'Mode 1 MD-01P' # Pacific Research Alliance (https://www.pacificresearchalliance.com/) Pacific Research Alliance: regex: 'Armadillo Phone' device: 'smartphone' model: 'Armadillo Phone' # Paladin (https://paladin.com.my/) Paladin: regex: 'Paladin TV' device: 'tv' model: 'TV Box' # iVooMi iVooMi: regex: '(?:Innelo_1|iV 505|Me 1\+|Me 3S|Me [2345]|Android 8(?:[\d.]*);(?: [\w-]+;)? (?:i2_Lite|i2))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Innelo_1' model: 'Innelo 1' - regex: 'iV 505' model: 'Me 1' - regex: 'i2_Lite' model: 'i2 Lite' - regex: 'i2(?:[);/ ]|$)' model: 'i2' - regex: 'Me 1\+' model: 'Me 1+' - regex: 'Me ([2345]S?)' model: 'Me $1' # Pixelphone Pixelphone: regex: 'Pixelphone S1(?:[);/ ]|$)' device: 'smartphone' model: 'S1' # Pixela Pixela: regex: 'Infineum[_ ](Z4?5)(?:[);/ ]|$)' device: 'smartphone' model: 'Infineum $1' # Iris Iris: regex: '(?:Vox[_ ](?:[45]S|Alpha|POP|STEEL Plus|Energy|FORTIS|VERO)|IS2_?Plus|IS[36]Plus|IS2S|Next_P(?:_PRO)?|NEXT U|NEXT P\+|IRS002-16|X1 mini|Iris_Pad_G8020|G7060|G7100|G8060)(?:[);/ ]|$)|android 9(?:[\d.]*);(?: [\w-]+;)? (?:N30)(?: Build|[;)])' device: 'smartphone' models: - regex: 'Vox[_ ]([45])S' model: 'Vox $1S' - regex: 'N30(?: Build|[;)])' model: 'N30' - regex: 'VOX[_ ]FORTIS' model: 'Vox Fortis' - regex: 'VOX[_ ]VERO' model: 'Vox Vero' - regex: 'VOX Alpha Plus' model: 'Vox Alpha Plus' - regex: 'VOX STEEL Plus' model: 'Vox Steel Plus' - regex: 'VOX Alpha' model: 'Vox Alpha' - regex: 'VOX Energy' model: 'Vox Energy' - regex: 'VOX POP plus' model: 'Vox Pop Plus' - regex: 'VOX POP Pro' model: 'Vox Pop Pro' - regex: 'Next_P_PRO' model: 'Next P Pro' - regex: 'NEXT[_ ]([PU]\+?)' model: 'Next $1' - regex: 'IS([236])_?Plus' model: 'IS$1 Plus' - regex: 'IRS002-16' model: 'I-S6' - regex: 'IS2S' model: 'IS2S' - regex: 'X1 mini' model: 'X1 Mini' - regex: '(?:Iris_Pad_)?(G7060|G7100|G80[26]0)' device: 'tablet' model: '$1' # Fonos (fonos.eu) Fonos: regex: 'Fonos-|(?:Android 10(?:[\d.]*);(?:[\d.]*)(?: [\w-]+;)? O3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Fonos-(O\d)(?:[);/ ]|$)' model: '$1' - regex: 'O3(?: Build|[;)])' model: 'O3' # Xtouch (www.xtouchtechnologies.com) Xtouch: regex: '(?:Xtouch[ _](?:X10|A5|X)|XBot[_ ](?:Senior|Junior)|X9_16GB|XP10_Wifi)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Xtouch[ _](X10|A5|X)(?:[);/ ]|$)' model: '$1' - regex: 'X9_16GB(?:[);/ ]|$)' model: 'X9' - regex: 'XBot[_ ](Senior|Junior)' model: 'XBot $1' - regex: 'XP10_Wifi' device: 'tablet' model: 'XP10 WiFi' # Conquest Conquest: regex: 'Conquest[-_ ](?:S\d+|F2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Conquest[-_ ]S(\d+)' model: 'S$1' - regex: 'Conquest-F2' model: 'F2' # Zatec Zatec: regex: 'ZATEC[_ ]|(?:[ ]WIND|ZPAD_1|ZPLAY1_2018|Zpower_(?:Plus|2018))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ZATEC[_ ]GRAVITY(?:[);/ ]|$)' model: 'Gravity' - regex: '[ ]WIND(?:[);/ ]|$)' model: 'Wind' - regex: 'ZPLAY1_2018' model: 'Zplay (2018)' - regex: 'Zpower_2018' model: 'Zpower (2018)' - regex: 'Zpower_Plus' model: 'Zpower Plus' - regex: 'ZPAD_1' device: 'tablet' model: 'ZPad' # Selecline (https://www.auchan.lu/) Selecline: regex: 'Selecline[ _]|(?:S4T7IN|ST19101|S3T10IN)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(ST19101|S4T7IN|S3T10IN)(?:[);/ ]|$)' model: '$1' - regex: 'Selecline 10(?:[);/ ]|$)' model: '10' # Selenga (selenga-t2.ru) Selenga: regex: 'Selenga' device: 'tv' models: - regex: 'Selenga[ _](A[1345])(?:[);/ ]|$)' model: '$1' # Starlight Starlight: regex: 'Starlight|(?:My_Star_X|My_star_18|RIO STAR|C_Note(?:_Pro)?|Star_Mix_2|I_STAR_PLUS|star_plus_plus|star_two|I star (?:one|two)|Milan_Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Milan_Pro' model: 'Milan Pro' - regex: 'My_Star_X' model: 'My Star X' - regex: 'My_star_18' model: 'My Star 18' - regex: 'RIO STAR' model: 'Rio Star' - regex: 'C_Note_Pro' model: 'C Note Pro' - regex: 'C_Note' model: 'C Note' - regex: 'Star_Mix_2' model: 'Star Mix 2' - regex: 'I_STAR_PLUS' model: 'I Star Plus' - regex: 'I star two|star_two' model: 'I Star Two' - regex: 'I star one' model: 'I Star One' - regex: 'Starlight_ROME_X' model: 'Rome X' - regex: 'star_plus_plus' model: 'Star++' # GEOFOX GEOFOX: regex: 'GEOFOX[_ ]MID ?(743\+?)(?:[);/ ]|$)' device: 'tablet' model: 'MID$1' # Tinmo Tinmo: regex: 'TiNMO[- _](A11|K3)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Verico Verico: regex: '(?:RP-UDM0[12]A|RP-UDP05A|JO-UQM10A|UQM1[23]A)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(RP-UDM0[12]A|RP-UDP05A|JO-UQM10A)' model: 'Uni Pad $1' - regex: '(UQM1[23]A)' model: 'Uni Pad PM-$1' # TTEC (ttec.com.tr) TTEC: regex: '(Magictab (?:9GX|7GE|718))(?:[);/ ]|$)' device: 'tablet' model: '$1' # TTfone (https://www.ttfone.com/) TTfone: regex: 'TTfone' device: 'smartphone' models: - regex: 'TT20(?:[);/ ]|$)' model: 'TT20' # eSTAR eSTAR: regex: 'eSTAR[_ ](?:Grand|GO\!?|Zoom Quad|Gemini|MINI[_ ]3G|BEAUTY|MOON)|(?:Digni-Smart|MERCURY HD Quad core|MID1020L|takee 1)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'eSTAR (Grand|GO\!?) (HD Intel|IPS Intel|IPS|HD|Intel) Quad Core 3G' model: '$1 $2 Quad Core 3G' - regex: 'eSTAR (Zoom Quad|Gemini|GO)' model: '$1' - regex: 'eSTAR GRAND HD quad core( [34]G)?' model: 'Grand HD Quad Core$1' - regex: 'eSTAR GRAND' model: 'Grand' - regex: 'MERCURY HD Quad core' model: 'Mercury HD Quad core' - regex: 'eSTAR BEAUTY HD Quad core' model: 'Beauty HD Quad Core' - regex: 'eSTAR MOON HD Quad core' model: 'Moon HD Quad Core 3G' - regex: 'eSTAR BEAUTY 2 HD Quad core' model: 'Beauty 2 HD Quad Core' - regex: 'eSTAR[_ ]MINI[_ ]3G' model: 'Mini 3G' - regex: '(MID1020L)' model: '$1' - regex: 'takee 1' device: 'smartphone' model: 'Takee 1' - regex: 'Digni-Smart' device: 'smartphone' model: 'Digni Smart' # Hometech (hometech.com.tr) Hometech: regex: '(?:Ideal (?:10S|Tab [79]|8S)|ALFA(?:10T[BX]|7LM)|ALFA[_ ](?:10R[CX]|10BS|10TM?|8T|10MB|10YC|7RS|[78]M?RC|7M|8S[TL]|8RX|8MG|10BT_V2)|HT[ _](?:7RT|8MZ))(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Ideal (?:10S|Tab 9|8S))(?:[);/ ]|$)' model: '$1' - regex: 'ALFA[_ ]?(10R[CX]|10YC|10BS|10T[BMX]?|7RS|[78]M?RC|7L?M|10MB|8T|8S[TL]|8RX|8MG|10BT_V2)(?:[);/ ]|$)' model: 'ALFA $1' - regex: 'Ideal Tab 7 Ips( 3G)?' model: 'Ideal Tab 7 IPS$1' - regex: 'HT[ _](7RT|8MZ)(?:[);/ ]|$)' model: 'HT $1' # ExMobile (www.exmobile.my) ExMobile: regex: '(?:EX(?:29|45)i|CHAT_5\+)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'CHAT_5+' model: 'Chat 5 Plus' - regex: 'EX(29|45)i(?:[);/ ]|$)' model: 'EX $1i' # Exmart Mobile (exmartmobile.com) Exmart: regex: 'Exmart[ _](K1)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Hipstreet (hipstreet.com) Hipstreet: regex: 'HS_|10DTB12(?:[);/ ]|$)' device: 'tablet' models: - regex: 'HS_9DTB39(?:[);/ ]|$)' model: 'Pulse' - regex: '10DTB12(?:[);/ ]|$)' model: 'Phoenix' - regex: 'HS_([a-z0-9]+)(?:[);/ ]|$)' model: '$1' # Hiremco (https://www.hiremco.com.tr/) Hiremco: regex: 'Hiremco|(?:Matador Pro Air|X6-PRO)(?:[);/ ]|$)' device: 'tv' models: - regex: 'Matador Pro Air(?:[);/ ]|$)' model: 'Matador Pro Air' - regex: 'X6-PRO(?:[);/ ]|$)' model: 'X6 Pro' # Navitech Navitech: regex: '(NeoTab)[ _-]((?:S1[23]0|S125|H85|H11[05]|KID741|S9700))(?:[);/ ]|$)' device: 'tablet' model: '$1 $2' # NorthTech (north-tech.us) NorthTech: regex: '(NT-TP10)(?:[);/ ]|$)' device: 'tablet' model: 'TouchPad 10.0"' # UNIWA UNIWA: regex: 'UNIWA[ _]|(?:W888)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'UNIWA[ _](X5|F40)' model: '$1' - regex: '(W888)' model: '$1' # ASSE ASSE: regex: 'ASSE[-._ ](Q[35]s?)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # ANDOWL (www.andowlph.com) Andowl: regex: '(?:ANDOWL-)?(Q[45]|QG9|QK9MAX)(?:[);/ ]|$)|Andowl' device: 'tv' model: '$1' # Silelis (silelis.com) Silelis: regex: 'Silelis[ _](T-1)(?:[);/ ]|$)' device: 'tv' model: '$1' # Bluedot (bluedot.co.jp) Bluedot: regex: 'BLUEDOT[_ ]|(?:BNT-71|BNT-801W)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(?:BLUEDOT[_ ])?(BNP-500)(?:[);/ ]|$)' device: 'smartphone' model: '$1' - regex: '(BNT-71|BNT-801W)(?:[);/ ]|$)' model: '$1' # Planet Computers (https://www.www3.planetcom.co.uk/) Planet Computers: regex: '(?:Cosmo_Communicator|Gemini[_ ]4G)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Cosmo_Communicator)(?:[);/ ]|$)' model: '$1' - regex: '(?:Gemini[_ ]4G)(?:[);/ ]|$)' model: 'Gemini 4G' # Play Now (https://www.play.pl/) Play Now: regex: 'Play Now ' device: 'tv' models: - regex: 'PLAY NOW TV BOX 2(?:[);/ ]|$)' model: 'TV Box 2' # Reach Reach: regex: '(Allure[_ ](?:Ultra(?:[_]Curve)?|Secure|Admire|Rise)|Opulent X)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Realix (https://www.realix.co.uk/) Realix: regex: '(RxIS202)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # MobiWire MobiWire: regex: 'MobiGo|(?:Kiona|KANUNA|Halona|IKOSORA\+|Kicka[_ ][45][ _]Plus|Kicka Zoom|Kohana|Kayeta|Kosumi|KWANITA|Lonan|Hotah|Kicka 5|Kiona|Smart ?(?:[CEN]11|N12)|Sakari)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'KANUNA' model: 'Kanuna' - regex: 'KWANITA' model: 'Kwanita' - regex: 'MobiGo2L' model: 'MobiGo 2L' - regex: 'Smart ?([CEN]11|N12)' model: 'Smart $1' - regex: '(IKOSORA\+|Kiona|Kicka[_ ][45][ _]Plus|Kohana|Kayeta|Kosumi|Lonan|Halona|Hotah|Kicka 5|Kicka Zoom|Kiona|Sakari)(?:[);/ ]|$)' model: '$1' # Hezire (hezire.com) Hezire: regex: '(HTB801|HBook-Pro)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Hurricane (hurricanemobile.com) Hurricane: regex: 'Hurricane[ _]|(?:Flame_Plus|Glaze|Cobra|Ridge Plus|Rush Plus|DZIRE|Android 7(?:[\d.]*);(?: [\w-]+;)? Beam|Vulcan|SAGE|Iris Plus 2021|VortexPlus|Excite|Flint|Panther|Slam|Epic)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Hurricane[ _]IGNITE' model: 'Ignite' - regex: 'Hurricane[ _]Bolt' model: 'Bolt' - regex: 'Hurricane[ _]VORTEX' model: 'Vortex' - regex: 'Hurricane[ _]GIGA' model: 'Giga' - regex: 'Glaze' model: 'Glaze' - regex: 'Cobra' model: 'Cobra' - regex: 'DZIRE' model: 'Dzire' - regex: 'SAGE' model: 'Sage' - regex: 'Beam' model: 'Beam' - regex: 'Slam' model: 'Slam' - regex: 'Epic' model: 'Epic' - regex: 'Vulcan' model: 'Vulcan' - regex: 'Flame_Plus' model: 'Flame Plus' - regex: 'Ridge Plus' model: 'Ridge Plus' - regex: 'Rush Plus' model: 'Rush Plus' - regex: 'Iris Plus 2021' model: 'Iris Plus (2021)' - regex: 'VortexPlus' model: 'Vortex Plus' - regex: 'Excite' model: 'Excite' - regex: 'Flint' model: 'Flint' - regex: 'Panther' model: 'Panther' # iSwag (iswagmobile.com) iSWAG: regex: 'ISWAG[ _]' device: 'smartphone' models: - regex: 'iSWAG[_ ]ACTIV' model: 'Activ' - regex: 'iSWAG[_ ]KRONOS' model: 'Kronos' - regex: 'iSWAG[_ ]Lynx' model: 'Lynx' - regex: 'iSWAG[_ ]MEGA' model: 'Mega' - regex: 'iSWAG[_ ]MANTRA' model: 'Mantra' - regex: 'iSWAG[_ ]NEMESIS' model: 'Nemesis' - regex: 'iSWAG[_ ]NEO' model: 'Neo' - regex: 'ISWAG[_ ]VIPER' model: 'Viper' # Reeder (reeder.com.tr) Reeder: regex: '(?:reeder[_ ](?:3G_Tablet|A7iC|A[78]i[_ ]Quad|A8i Q2|M8 Plus|[TM]8|M10 Plus|P11SE|M7_Go)|M8_Go|M8Go2020|M10SPlus|P12Curve|M10 Pro LTE|M10 Blue Max|P13[ _]Blue[ _]Plus(?:[ _]2022)?|P13_Max_Blue|P13[_ ]Blue[_ ]Ma(?:ks|x|xL)|P13_Blue|P13[ _]Blue[ _]202[12]|M7Plus|A8i-Q2|M7Go_2019|S19 Max(?: Pro S(?: Zoom)?| \d{2}GB|L 128GB| Pro)|M10 GO|S23 Pro Max|S19 Max|P11SE_Art)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'A8i-Q2' model: 'A8i Q2' - regex: 'P11SE_Art' model: 'P11SE Art' - regex: 'reeder[_ ](3G_Tablet|A7iC|A[78]i[_ ]Quad|A8i Q2|M8 Plus|[TM]8|M10 Plus|P11SE)(?:[);/ ]|$)' model: '$1' - regex: 'M10SPlus' model: 'M10S Plus' - regex: 'M7Plus' model: 'M7 Plus' - regex: '(?:reeder_)?(?:M7Go_2019|M7_Go)' model: 'M7 Go' - regex: 'M8Go2020' model: 'M8 Go (2020)' - regex: '(?:reeder_)?(M8|M10)[_ ]Go' model: '$1 Go' - regex: 'M10 Blue Max' model: 'M10 Blue Max' - regex: 'M10 Pro LTE' model: 'M10 Pro LTE' - regex: 'P12Curve' device: 'smartphone' model: 'P12 Curve' - regex: 'P13 Blue Max PL' device: 'smartphone' model: 'P13 Blue Pro Lite' - regex: 'P13_Blue_Maks' device: 'smartphone' model: 'P13 Blue Maks' - regex: 'P13_Blue_Plus_2022' device: 'smartphone' model: 'P13 Blue Plus (2022)' - regex: 'P13_Blue_Plus' device: 'smartphone' model: 'P13 Blue Plus' - regex: 'P13 Blue Max Pro 2021' device: 'smartphone' model: 'P13 Blue Max Pro (2021)' - regex: 'P13 Blue Max Lite' device: 'smartphone' model: 'P13 Blue Max Lite' - regex: 'P13 Blue Max Pro' device: 'smartphone' model: 'P13 Blue Max Pro' - regex: 'P13 Blue 202([12])' device: 'smartphone' model: 'P13 Blue (202$1)' - regex: 'P13 Blue MaxL? 202([012])' device: 'smartphone' model: 'P13 Blue Max (202$1)' - regex: 'P13[_ ]Blue[_ ]Max|P13_Max_Blue' device: 'smartphone' model: 'P13 Blue Max' - regex: 'P13_Blue' device: 'smartphone' model: 'P13 Blue' - regex: 'S19 Max (?:32|64)GB' device: 'smartphone' model: 'S19 Max' - regex: 'S19 MaxL 128GB' device: 'smartphone' model: 'S19 Max L' - regex: 'S19 Max Pro S Zoom' device: 'smartphone' model: 'S19 Max Pro S Zoom' - regex: 'S19 Max Pro S Edge' device: 'smartphone' model: 'S19 Max Pro S Edge' - regex: 'S19 Max Pro S' device: 'smartphone' model: 'S19 Max Pro S' - regex: 'S19 Max Pro' device: 'smartphone' model: 'S19 Max Pro' - regex: 'S19 Max' device: 'smartphone' model: 'S19 Max' - regex: 'S23 Pro Max' device: 'smartphone' model: 'S23 Pro Max' # ELARI (elari.net) ELARI: regex: 'KidPhone4G(?:[);/ ]|$)' device: 'wearable' model: 'KidPhone 4G' # Epik One or EPIKONE (epikmobile.com) Epik One: regex: '(K501 Plus|[ ]K5(?:0[0-4]|1[01]|03[TS]|3[456]|4[05]|73|03HD)|[ ]K60[01]|[ ]X507T|[ ]K40[56]|[ ]T700|Android 8([\d.]*);(?: [\w-]+;)? X400|RS550)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'K501 Plus' model: 'Leo Plus' - regex: 'RS550' model: 'RS550' - regex: 'K501' model: 'Leo' - regex: 'K500' model: 'Omega Lite' - regex: 'K502' model: 'Omega' - regex: 'K503T' model: 'Leo Turbo' - regex: 'K503S' model: 'Leo Pro' - regex: 'K503HD' model: 'Leo HD' - regex: 'K503' model: 'Leo Max' - regex: 'K504' model: 'Titan 3G' - regex: 'X507T' model: 'Titan II' - regex: 'K510' model: 'Bolt' - regex: 'K511' model: 'Bolt Pro' - regex: 'K534' model: 'Hada' - regex: 'K535' model: 'Hada Turbo' - regex: 'K545' model: 'Rocket' - regex: 'K536' model: 'Royal' - regex: 'K540' model: 'Excalibur' - regex: 'X400' model: 'Pebble X400' - regex: 'K573' model: 'Panther' - regex: 'K600' model: 'Jupiter' - regex: 'K601' model: 'Jupiter One' - regex: 'K406' model: 'Pebble Plus' - regex: 'K405' model: 'Pebble II' - regex: 'T700' model: 'Palette' device: 'tablet' # Altice Altice: regex: 'Altice[ _]|(SX41|Android 9(?:[\d.]*);(?: [\w-]+;)? (?:S32|S42|S32_(?:Plus|NFC)))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(SX41|S32|S42|S32_Plus|S32_NFC)(?:[);/ ]|$)' model: '$1' - regex: 'Altice[ _](S62|S31|S43)(?:[);/ ]|$)' model: '$1' # Kult Kult: regex: '(Ambition|Beyond)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Beyond Beyond: regex: '(?:SURVE(10|[26-8]|[12] PRO)|Home9)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SURVE([12]) PRO' model: 'Surve $1 Pro' - regex: 'SURVE(10|[26-8])' model: 'Surve $1' - regex: 'Home9' model: 'Home 9' # BioRugged (biorugged.com) BioRugged: regex: '(?:BioWolf 8-F30|BIOWOLF8F30|Ruggbo 20 Lite)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'BioWolf 8-F30|BIOWOLF8F30' model: 'BioWolf 8-F30' - regex: 'Ruggbo 20 Lite' model: 'Ruggbo 20 Lite' # VAIO (vaio.com) VAIO: regex: '(?:VPA051|VA-10J)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VPA051' model: 'Phone A' - regex: '(VA-10J)' model: '$1' # Spark (https://www.spark.co.nz/) Spark: regex: 'Spark Plus 3(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Plus 3' model: 'Plus 3' # Sparx or SparX (https://sparx.pk/) Sparx: regex: 'Sparx[ _]|(?:NEO_6|NEO 5|Neo_6_plus|Neo 5 Pro|Neo X|Edge 20 Pro|Ultra 8 Pro)(?: Build|[;)])' device: 'smartphone' models: - regex: 'Edge 20 Pro' model: 'Edge 20 Pro' - regex: 'Neo 7 Ultra' model: 'Neo 7 Ultra' - regex: 'Neo ([578]) Pro' model: 'Neo $1 Pro' - regex: 'Neo[ _]([5687])[ _]Plus' model: 'Neo $1 Plus' - regex: 'Neo[ _]([567])' model: 'Neo $1' - regex: 'Neo X' model: 'Neo X' - regex: 'Ultra 11' model: 'Ultra 11' - regex: 'Ultra 8 Pro' model: 'Ultra 8 Pro' - regex: 'Sparx S7' model: 'S7' # SPC or SPC Universe or SPC Mobile (spc.es) SPC: regex: '(?:GRAVITY [34]G(?:_2019)?|GRAVITY2-4G|GRAVITY_OCTACORE|GRAVITY[ -_](?:Max|SE|PRO|2-MAX|[23]|3_MINI|3_SE|ULTIMATE 2)|SPC (?:GEN|SMART)|SPC_ALIEN(?:_STICK)?|SPC Glow9\.7|Lightyear|Laika|L70_Lite|L60 Turbo|L60 Pro|FLOW 7|SMART_ULTIMATE(?:_64)?|Discovery (?:Pro|SE))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'GRAVITY_OCTACORE' model: 'Gravity OctaCore' - regex: 'GRAVITY ([34])G_2019' model: 'Gravity (2019) $1G' - regex: 'GRAVITY ([34])G' model: 'Gravity $1G' - regex: 'Gravity Max' model: 'Gravity Max' - regex: 'GRAVITY PRO' model: 'Gravity Pro' - regex: 'GRAVITY SE' model: 'Gravity SE' - regex: 'GRAVITY-2-MAX' model: 'Gravity 2 Max' - regex: 'GRAVITY 2|GRAVITY2-4G' model: 'Gravity 2' - regex: 'GRAVITY ULTIMATE 2' model: 'Gravity Ultimate 2' - regex: 'GRAVITY_3_MINI' model: 'Gravity 3 Mini' - regex: 'GRAVITY_3_SE' model: 'Gravity 3 SE' - regex: 'GRAVITY_3' model: 'Gravity 3' - regex: 'SPC Glow9\.7' model: 'Glow 9.7"' - regex: 'Lightyear' model: 'Lightyear' - regex: 'L70_Lite' model: 'L70 Lite' - regex: 'FLOW 7' model: 'Flow 7' - regex: 'Laika' model: 'Laika' - regex: 'SMART_ULTIMATE(?:_64)?' device: 'smartphone' model: 'Smart Ultimate' - regex: 'SPC SMART PLUS' device: 'smartphone' model: 'Smart Plus' - regex: 'SPC SMART LITE' device: 'smartphone' model: 'Smart Lite' - regex: 'SPC SMART MAX' device: 'smartphone' model: 'Smart Max' - regex: 'SPC SMART' device: 'smartphone' model: 'Smart' - regex: 'SPC GEN MAX' device: 'smartphone' model: 'Gen Max' - regex: 'SPC GEN LITE' device: 'smartphone' model: 'Gen Lite' - regex: 'SPC GEN Plus' device: 'smartphone' model: 'Gen Plus' - regex: 'SPC GEN' device: 'smartphone' model: 'Gen' - regex: '(L60 Turbo|L60 Pro|Discovery (?:Pro|SE))' device: 'smartphone' model: '$1' - regex: 'SPC_ALIEN_STICK' device: 'tv' model: 'Alien Stick' - regex: 'SPC_ALIEN' device: 'tv' model: 'Alien' # Winmax (winmaxmobile.com) Winmax: regex: '(?:Winmax[ _](?:XC14|XC[46]|TX30)|PolarH4|Tiger_X12)(?:[);/ ]|$)|MAUI.+Winmax_BD45' device: 'smartphone' models: - regex: 'PolarH4' model: 'Polar H4' - regex: 'Tiger_X12' model: 'Tiger X12' - regex: 'Winmax[ _](XC14|XC[46])(?:[);/ ]|$)' model: '$1' - regex: 'Winmax[ _](TX30)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'MAUI.+Winmax_(BD45)' device: 'feature phone' model: '$1' # Zebra (zebra.com) Zebra: regex: ' (MC2[27]00|TC15|TC2[01567]|TC5[12567]|TC7[05]x|TC7[57]|TC700H|ET51|MC33|MC93|EC30|EC55|PS20J|VC8300)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(TC15|TC2[01567]|TC5[12567]|TC7[05]x|TC7[57]|TC700H|MC33|EC30|EC55)(?:[);/ ]|$)' model: '$1' - regex: '(ET51)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: '(MC2[27]00|MC93|PS20J)(?:[);/ ]|$)' device: 'peripheral' model: '$1' - regex: '(VC8300)' device: 'car browser' model: '$1' # Thuraya (thuraya.com) Thuraya: regex: 'Thuraya[ _](X5-Touch)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Bkav (bkav.com) Bkav: regex: 'Bphone[ _](B111[45]|B2017)(?:[);/ ]|$)' device: 'smartphone' model: 'Bphone $1' # Brandt (brandt.dz) Brandt: regex: 'Brandt|(?:BPRIME|BSTAR\+?|BPRIMES|B-ONE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'BRANDT FHD TV' device: 'tv' model: 'FHD TV' - regex: '(BPRIME|BSTAR\+?|BPRIMES|B-ONE)(?:[);/ ]|$)' model: '$1' # Bigben Bigben: regex: 'GAMETAB-ONE(?:[);/ ]|$)' device: 'tablet' model: 'GameTab-One' # smartec (smartec.tn) SMARTEC: regex: '(?:Atractivo|SmartabS4)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Atractivo)' model: '$1' - regex: 'SmartabS4' device: 'tablet' model: 'Smartab S4' # Asanzo (asanzo.vn) Asanzo: regex: 'ASANZO[ _](?:A2|S[23]|[SZ]5|S3_PLUS)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ASANZO[ _]S3[ _]PLUS' model: 'S3 Plus' - regex: 'ASANZO[ _](A2|S[23]|[SZ]5)(?:[);/ ]|$)' model: '$1' # Artizlee Artizlee: regex: 'Artizlee[ _]S9|ATL-(?:16|21(?:PLUS|[XT])?|31|26)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'ATL-21PLUS(?:[);/ ]|$)' model: 'ATL-21 Plus' - regex: '(ATL-(?:16|21[XT]?|31|26))(?:[);/ ]|$)' model: '$1' - regex: 'Artizlee[ _]S9' device: 'smartphone' model: 'S9' # Mint or Mint Connect Mint: regex: '(?:Pearl_Neo|M4CRD?|Emerald_M55CR|Mint[ _](?:VirGo|Orion))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Pearl_(Neo)' model: 'Pearl $1' - regex: 'Emerald[_ ]M55CR' model: 'Emerald' - regex: 'M4CR' model: 'Clover' - regex: '(?:Mint[_ ])?VirGo' model: 'VirGo' - regex: '(?:Mint[_ ])?Orion' model: 'Orion' # Mintt (www.mintt.co) Mintt: regex: '(?:Cool|Fresh|Ultra)?Mintt' device: 'smartphone' models: - regex: 'Mintt (M3)(?:[);/ ]|$)' model: '$1' - regex: 'Coolmintt ?(Blaze 2|Tribe|A[3578]|M[12]|P[13]|X7)(?:[);/ ]|$)' model: 'CoolMintt $1' - regex: 'Ultramintt ?(A[56]|R1|S[12]|X[56]|Y[35])(?:[);/ ]|$)' model: 'UltraMintt $1' - regex: 'UltraMintt ?(T10)(?:[);/ ]|$)' device: 'tablet' model: 'UltraMintt $1' - regex: 'FRESHMINTT ?(A7|A10)(?:[);/ ]|$)' device: 'tablet' model: 'FreshMintt $1' # Premio Premio: regex: '(?:AXE_II|186HS2080531|186HS1050531|186HS1050232|186FT1080231|185FT5050231|X7[05]-2021|PREMIO[ _](?:S50|P420|P451)|Android 8(?:[\d.]*);(?: [\w-]+;)? Axe)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '186HS2080531' model: 'X1' - regex: 'AXE_II' model: 'Axe II' - regex: 'Axe' model: 'Axe' - regex: '186HS1050531' model: 'P541' - regex: '185FT5050231' model: 'P511' - regex: '186FT1080231' model: 'P571' - regex: '186HS1050232' model: 'P630' - regex: 'X(7[05])-2021' model: 'X$1 (2021)' - regex: 'PREMIO[ _](S50|P420|P451)(?:[);/ ]|$)' model: '$1' # Trifone Trifone: regex: 'Passion[-_](?:1S|PRO|PLUS)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Passion-1S' model: 'Passion 1S' - regex: 'Passion-Plus' model: 'Passion Plus' - regex: 'Passion_Pro' model: 'Passion Pro' # Bluewave Bluewave: regex: '(?:33GT HD|WV8R-M|WV8R[_-]N|WV8-[ML])(?:[);/ ]|$)' device: 'tablet' models: - regex: '33GT HD' model: 'Wave 8 HD+' - regex: 'WV8R-M' model: 'Wave 8 Red Marshmallow' - regex: 'WV8-M' model: 'Wave 8' - regex: 'WV8-L' model: 'Wave 8 HD+' - regex: 'WV8R[_-]N' model: 'Wave 8 Red Nougat' # Siragon (siragon.com) Siragon: regex: 'Siragon|(?:SP[_-](?:5[0124]50|5[34]00|61[05]0|7200))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Siragon[_ ])?(?:SP[_-](5[0124]50|5[34]00|61[05]0|7200))' model: 'SP-$1' # Siswoo (https://web.archive.org/web/20170801152418/http://siswoo.com/) Siswoo: regex: 'APRIX C55(?:[);/ ]|$)' device: 'smartphone' model: 'Aprix C55' # Poppox Poppox: regex: 'Poppox P3' device: 'smartphone' model: 'P3' # POPTEL (https://www.poptelmobile.com/) POPTEL: regex: 'POPTEL|P9000_MAX(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'P9000_MAX(?:[);/ ]|$)' model: 'P9000 Max' - regex: 'POPTEL K1(?:[);/ ]|$)' model: 'K1' # Zentality (zentalityinfo.com) Zentality: regex: '(?:C-723ULTRA|C-70[13] ?ULTRA)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'C-(\d+) ?Ultra' model: 'C-$1 Ultra' # ONVO ONVO: regex: 'ONVO[ _]|Apollo Premium4K TV(?:[);/ ]|$)' device: 'tv' models: - regex: 'ONVO_(32OV6000H|42OV6000F|55OV6000U)(?:[);/ ]|$)' model: '$1' - regex: 'Apollo Premium4K TV(?:[);/ ]|$)' model: 'Apollo Premium' - regex: 'SMART TV' model: 'Smart TV' # Black Bear Black Bear: regex: '(B6 Master|B6 Note X)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Black Box Black Box: regex: 'Black Box' device: 'tv' models: - regex: 'Tv Pro(?:[);/ ]|$)' model: 'TV Pro' # OpelMobile (opelmobile.com.au) OpelMobile: regex: 'Opel ?Mobile|(?:OpelMobile_Smart(?:JX|X1)|Easy_Smart_2|Rugged60Q)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Easy_Smart_2' model: 'Easy Smart 2' - regex: 'Rugged60Q' model: 'Rugged 60Q' - regex: 'OpelMobile_SmartJX' model: 'SmartJX' - regex: 'OpelMobile_SmartX1' model: 'SmartX1 4G' - regex: 'Opel Mobile SmartX6' model: 'SmartX6' # NuAns NuAns: regex: 'NEO \[Reloaded\](?:[);/ ]|$)' device: 'smartphone' model: 'NEO Reloaded' # Koolnee (sub brand from Koobee) Koolnee: regex: '(K1 Trio)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Sansui (sansui-global.com) Sansui: regex: 'Sansui[_ ]|(?:S505024)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'S505024' model: 'Horizon 2' - regex: 'Sansui[_ ](Switch|Play|Fun|SA4[01]|U4[56]|U3[02]|Nova)(?:[);/ ]|$)' model: '$1' # Sico (sico.com.eg) Sico: regex: 'SICO[_ ](?:PLUS|e1002|Topaz)|(?:Express3-Max|SSR3-1-51-5M|SSD-1-53-13M|Mega2(?:max)?|Express3|Diamond 2|Plus3_4G|Plus2 4G|Infinity Max|Nile X|More_3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SICO[_ ]PLUS2|Plus2 4G' model: 'Plus 2' - regex: 'More_3' model: 'More 3' - regex: 'Plus3_4G' model: 'Plus 3' - regex: 'SICO[_ ]PLUS' model: 'Plus' - regex: 'SICO[_ ]Topaz' model: 'Topaz' - regex: 'Mega2max' model: 'Mega 2 Max' - regex: 'Mega2' model: 'Mega 2' - regex: 'Nile X' model: 'Nile X' - regex: 'SSR3-1-51-5M' model: 'Pro 3' - regex: 'SSD-1-53-13M' model: 'Diamond' - regex: 'Diamond 2' model: 'Diamond 2' - regex: 'Infinity Max' model: 'Infinity Max' - regex: 'SICO[_ ]e1002' device: 'tablet' model: 'E1002' - regex: 'Express3-Max' device: 'tablet' model: 'Express 3 Max' - regex: 'Express3' device: 'tablet' model: 'Express 3' # Smadl (smadlethiopia.com) Smadl: regex: 'Android.+(?:Safari)(?!/[\d.]+)(?: Build|\) AppleWebKit)|SMADL[ _]' device: 'smartphone' models: - regex: 'Android.+(?:Safari)(?!/[\d.]+)(?: Build|\) AppleWebKit)' model: 'Safari' - regex: 'SMADL[ _]Matri([2X])' model: 'Matri $1' # EXCEED (exceedmobiles.com) EXCEED: regex: '(EX7SL?4|EX10S4|EX7W1 Plus)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Tymes Tymes: regex: 'Tymes[ _](V5)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Solone Solone: regex: 'SOLONE|(?:E1457|W145[02]|Sun_S5501)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'E1457' model: 'Earth Iron E1457' - regex: 'W1450' model: 'Wind Breeze W1450' - regex: 'W1452' model: 'Wind Air W1452' - regex: 'SOLONE A47' model: 'SL-A47' - regex: 'Sun_S5501' model: 'Sun S5501' - regex: 'SOLONE[ _]Elite[ _]L5501' model: 'Elite L5501' - regex: 'SOLONE[ _]SUMO[_ ]S5001' model: 'Sumo S5001' - regex: 'SOLONE[ _](SL-K40|S5002)(?:[);/ ]|$)' model: '$1' # Far Eas Tone (Fareastone) FarEasTone: regex: 'Smart ?(601|550|50[59])(?:[);/ ]|$)' device: 'smartphone' model: 'Smart $1' # Smailo Smailo: regex: 'Smailo_(2GO)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Smart Kassel Smart Kassel: regex: 'SK5501(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SK5501(?:[);/ ]|$)' model: 'SK5501' # Colors or ColorsMobile (www.colors-mobile.com) Colors: regex: '(?:Colors[ _](S(?:[19]|11)|P70|P[456]5|P32|E15|P50 Plus)|Pride_1A|P52_Pride5C|P90_Pride5X|P95_Pride_7s|P77_Pride_1E|P88_Pride_1X)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Pride_1A(?:[);/ ]|$)' model: 'Pride 1A' - regex: 'P95_Pride_7s(?:[);/ ]|$)' model: 'Pride 7S' - regex: 'P77_Pride_1E(?:[);/ ]|$)' model: 'Pride 1E' - regex: 'P52_Pride5C(?:[);/ ]|$)' model: 'Pride 5C' - regex: 'P90_Pride5X(?:[);/ ]|$)' model: 'Pride 5X' - regex: 'P88_Pride_1X(?:[);/ ]|$)' model: 'Pride 1X' - regex: 'Colors[ _](S(?:[19]|11)|P70|E15|P[456]5|P32|P50 Plus)(?:[);/ ]|$)' model: '$1' # Honeywell (honeywell.com) Honeywell: regex: '(?:EDA5[01]K?|EDA[47]0|EDA71_G|EDA5[12]|CK65|CT[46]0|CT45P|CN80|EDA61K)(?:[);/ ]|$)' device: 'smartphone' models: # smartphone + scan - regex: '(CT45P)(?:[);/ ]|$)' model: '$1' - regex: '(EDA5[01]K?|EDA[47]0|EDA5[12]|EDA61K)(?:[);/ ]|$)' model: 'ScanPal $1' # tablet + scan - regex: 'EDA71' device: 'tablet' model: 'ScanPal EDA71' # mobile terminal - regex: '(CK65|CT[46]0|CN80)(?:[);/ ]|$)' device: 'peripheral' model: 'Dolphin $1' # Electroneum (electroneum.com) Electroneum: regex: 'electroneum(M1)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # High Q or HighQ High Q: regex: '(ELT070[46]H|ELT0802H)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Pluzz Pluzz: regex: 'Pluzz[_-](Z552|PL5[05]10|PL4010|PL501[46]|Elite_Dual)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # IKU Mobile (iku-mobile.com) IKU Mobile: regex: 'IKU[_ ]|(?:Powerful_K55i|Curvy C50L)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Powerful_K55i|Curvy C50L)(?:[);/ ]|$)' model: '$1' - regex: 'IKU[_ ](A22|A[457]0|X[23]|K3|i[34])(?:[);/ ]|$)' model: '$1' - regex: 'IKU[_ ](T[123])(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'IKU[_ ]T[_ ]Max(?:[);/ ]|$)' device: 'tablet' model: 'T Max' # IKI Mobile (ikimobile.com) IKI Mobile: regex: '(?:GO5_55|BLESS_GO55|BLESSPLUS|KF4Go|KF5bless|GO4\.5)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GO5_55' model: 'Go 5.5"' - regex: 'GO4\.5' model: 'Go 4.5"' - regex: 'BLESS_GO55' model: 'Bless Go 5.5"' - regex: 'BLESSPLUS' model: 'Bless Plus' - regex: '(KF4Go|KF5bless)' model: '$1' # CG Mobile CG Mobile: regex: '(?:CG_OMEGA6|Omega (?:[38])|CG_EON_Blaze_Pro|CG\|EON Blaze GOLD|Blaze [GN])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Omega ([38])(?:[);/ ]|$)' model: 'Omega $1' - regex: 'CG_OMEGA6(?:[);/ ]|$)' model: 'Omega 6' - regex: 'CG_EON_Blaze_Pro(?:[);/ ]|$)' model: 'EON Blaze Pro' - regex: 'CG\|EON Blaze GOLD(?:[);/ ]|$)' model: 'EON Blaze Gold' - regex: 'Blaze ([GN])' model: 'Blaze $1' # IUNI IUNI: regex: 'IUNI[ _]' device: 'smartphone' models: - regex: 'IUNI[ _](U3|i1|N1)' model: '$1' # Ordissimo (ordissimo.fr) Ordissimo: regex: '(LeNumero[12])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Necnot (necnontrade.com) Necnot: regex: '(M002[DGQK]-2|M002N|M002N-3T|M002W-2T|6M-3T)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Einstein Einstein: regex: 'Einstein(T3)(?:[);/ ]|$)' device: 'tablet' model: '$1' # AfriOne (afrione.com) AfriOne: regex: '(CYGNUSX?|Gravity Z2|ChampionPro)(?:[);/ ]|$)' device: 'phablet' models: - regex: 'CYGNUSX(?:[);/ ]|$)' model: 'Cygnus X' - regex: 'CYGNUS(?:[);/ ]|$)' model: 'Cygnus' - regex: 'Gravity Z2(?:[);/ ]|$)' device: 'smartphone' model: 'Gravity Z2' - regex: 'ChampionPro(?:[);/ ]|$)' device: 'smartphone' model: 'Champion Pro' # Connex (connexdevices.co.za) Connex: regex: '(?:CTAB1044hn|CTAB-1044|SEN_1055_ARM)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(CTAB1044hn|CTAB-1044)(?:[);/ ]|$)' model: '$1' - regex: 'SEN_1055_ARM' model: 'Serenity 1055 10.1"' # Connectce Connectce: regex: '(?:CP6001A)(?:[);/ ]|$)' device: 'smartphone' model: 'Connect Core 6' # ClearPHONE (https://www.clear.store/) ClearPHONE: regex: 'ClearPHONE' device: 'smartphone' models: - regex: 'ClearPHONE ([246]20)(?:[);/ ]|$)' model: '$1' # Clementoni Clementoni: regex: '(?:CLEMPAD[_ ](?:6_XL|HR_Plus|HR|[68]|7_S|201[89])|ClemPhone_7|MFC_(?:2018|8))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'CLEMPAD_(201[89])' model: 'Clempad ($1)' - regex: 'MFC_2018' model: 'Clempad (2018)' - regex: 'MFC_8' model: 'Clempad 8' - regex: 'CLEMPAD_7_S' model: 'Clempad 7S' - regex: 'Clempad[_ ](6_XL|HR_Plus|HR|[68])' model: 'Clempad $1' - regex: 'ClemPhone[ _](7)' device: 'smartphone' model: 'Clemphone $1' # Cell-C Cell-C: regex: 'Cell_?C_|(?:Android 5(?:[\d.]*);(?: [\w-]+;)? (?:Summit|Fantasy))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Cell_C_(Summit_Plus|Fame|Evolve)(?:[);/ ]|$)' model: '$1' - regex: 'Summit(?:[);/ ]|$)' model: 'Summit' - regex: 'Fantasy(?:[);/ ]|$)' model: 'Fantasy' - regex: 'CELLC_Evolve' device: 'tablet' model: 'Evolve' # VC VC: regex: '(?:Camellia_II|Cactus II|Maple III|Maple-II|Cactus-Pro|LavenderII|Jasmine-II)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Camellia_II|Cactus II|Maple III)(?:[);/ ]|$)' model: '$1' - regex: 'Cactus-Pro' model: 'Cactus Pro' - regex: '(Maple|Jasmine|Lavender)-?II(?:[);/ ]|$)' model: '$1 II' # Cellacom (http://cellacom.com/) Cellacom: regex: 'Cellacom|(?:S51_lite|X501_Prime)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Cellacom_S62(?:[);/ ]|$)' model: 'S62' - regex: 'S51_lite(?:[);/ ]|$)' model: 'S51 Lite' - regex: 'X501_Prime(?:[);/ ]|$)' model: 'X501 Prime' # CellAllure (cellallure.com) CellAllure: regex: '(?:Cool_Extreme_2|Earn2 CL|Earn|Fashion2Plus|Fashion[ _]C|Cool Duo|CHIC_X1|Miracle XS|Miracle 6.0 S)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Cool_Extreme_2|Earn2 CL|Earn|Fashion[ _]C|Cool Duo|Miracle XS|Miracle 6\.0 S)(?:[);/ ]|$)' model: '$1' - regex: 'Fashion2Plus' model: 'Fashion 2 Plus' - regex: 'CHIC_X1' model: 'Chic X1' # EagleSoar EagleSoar: regex: '(EE10A|Z-F1010)' device: 'tablet' model: '$1' # Eagle (eagleuhd.com) Eagle: regex: 'Eagle[ _](Classic Pro|Elite|Gold)(?:[);/ ]|$)' device: 'tv' model: '$1' # Invens Invens: regex: '(?:Diamond D[56]|Fighter|Eager|Royal R[1-8]|Android 9(?:[\d.]*);(?: [\w-]+;)? (?:MAX[89]|MAX_2))(?: Build|[;)])' device: 'smartphone' models: - regex: 'MAX[_ ]?([89]|2)(?:[);/ ]|$)' model: 'Max $1' - regex: '(Fighter|Eager|Royal R[1-8]|Diamond D[56])' model: '$1' # Chico Mobile (chicomobile.ph) Chico Mobile: regex: '(?:ALTO (?:Bombo|classic|Estrella|JUEGO|SUBIR|[235])|FUEGO MAX|OJOS[ _](?:CIELO|CAMBIO|NUBE|[68i]|ORO|VIVIR|Plus|DOS mini|DOS|LUNA|X1)|AVANCE classic)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ALTO Bombo' model: 'Alto Bombo' - regex: 'ALTO classic' model: 'Alto Classic' - regex: 'AVANCE classic' model: 'Avance Classic' - regex: 'ALTO Estrella' model: 'Alto Estrella' - regex: 'ALTO JUEGO' model: 'Alto Juego' - regex: 'ALTO SUBIR' model: 'Alto Subir' - regex: 'ALTO ([235])' model: 'Alto $1' - regex: 'OJOS[ _]([68i]|X1)' model: 'Ojos $1' - regex: 'OJOS NUBE' model: 'Ojos Nube' - regex: 'OJOS CAMBIO' model: 'Ojos Cambio' - regex: 'OJOS ORO' model: 'Ojos Oro' - regex: 'OJOS LUNA' model: 'Ojos Luna' - regex: 'OJOS CIELO' model: 'Ojos Cielo' - regex: 'OJOS PLUS' model: 'Ojos Plus' - regex: 'OJOS VIVIR' model: 'Ojos Vivir' - regex: 'OJOS DOS mini' model: 'Ojos DOS Mini' - regex: 'OJOS DOS' model: 'Ojos DOS' - regex: 'FUEGO MAX' device: 'tablet' model: 'Fuego Max' # Claresta Claresta: regex: 'Claresta[ _]|(?:AirPhoneS[56]|AirPhone K6)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AirPhone ?(S[56]|K6)' model: 'AirPhone $1' - regex: 'Claresta (F3) PRO' model: '$1 Pro' - regex: 'Claresta[ _](F4)' model: '$1' # Camfone (camfonemobile.com) Camfone: regex: '(?:Camfone (?:SE)|Hero[_ ](?:H5\+|SE2|H[579]|(?:H7|XR)_Plus|SX|1[123]|SE3[ _]Max)|Honey (?:Y1|Y2s)|Mega 10|Furious 7 Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Hero[_ ](?:H5\+|SE2|H[579]|(?:H7|XR)_Plus|SX|1[123]|SE3[ _]Max)|Honey (?:Y1|Y2s)|Mega 10)(?:[);/ ]|$)' model: '$1' - regex: 'Furious 7 Pro' model: 'Furious 7 Pro' - regex: 'Camfone (SE)(?:[);/ ]|$)' model: '$1' # Bell (https://www.bell.ca/) Bell: regex: 'FibeTV(?:[);/ ]|$)' device: 'tv' model: 'FibeTV' # Bellphone Bellphone: regex: 'Bp100 X-Plus(?:[);/ ]|$)' device: 'smartphone' model: 'BP 100 X-Plus' # Gini Gini: regex: 'Gini[ _]|(?:SW17W13|SW17W08)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Gini[ _]W(7)' model: 'W$1' - regex: 'Gini[ _]n(8)' model: 'N$1' - regex: 'Gini[ _]s5Pro|SW17W13' model: 'S5 Pro' - regex: 'SW17W08' model: 'S5' - regex: 'Gini[ _]Tab[ _](V[78])' device: 'tablet' model: 'Tab $1' # MIVO (mivo.com.my) MIVO: regex: '(Caryota [1245789]|Jazz J[13] 2018)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(Caryota [1245789])(?:[);/ ]|$)' model: '$1' - regex: 'Jazz (J[13]) 2018' model: 'Jazz $1 (2018)' # Jesy (en.jesy.com) Jesy: regex: 'Jesy_(J7)|J9S_PRO(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'J9S_PRO' model: 'J9s Pro' - regex: 'Jesy_(J7)' model: '$1' # Teknosa or Tekno S.A Teknosa: regex: 'Preo[ _]' device: 'smartphone' models: - regex: 'Preo Teknosa P1' model: 'Preo P1' - regex: 'Preo[ _]P([23])' model: 'Preo P$1' # Hyve Hyve: regex: '(?:Pryme 01|ST01)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Pryme 01' model: 'Pryme 01' - regex: 'ST01' model: 'Storm ST01' # EWIS EWIS: regex: '(?:OCTA T720Q|OCTA-T700M-T2)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'OCTA T720Q' model: 'Octa T720Q' - regex: 'OCTA-T700M-T2' model: 'Octa T700M T2' # Leader Phone or LP (lp.tn) or LP (TN) Leader Phone: regex: '(Vyper|N-5[07]|N-45|LP DAISY|LP_(?:Spectrum_S2|VEYRON|PRADO|Pro1|B-50|EVORA_light)|LP_T70|LP[ _]INFINITY\+?|LP T70 Lite|INFINITY_light|Alphatel_T1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'N-45 light' model: 'N-45 Light' - regex: 'Vyper PRO' model: 'Vyper Pro' - regex: 'LP DAISY' model: 'Daisy' - regex: 'LP_VEYRON' model: 'Veyron' - regex: 'LP_PRADO' model: 'Prado' - regex: 'LP_B-50' model: 'B50' - regex: 'LP_Spectrum_S2' model: 'Spectrum S2' - regex: 'INFINITY_light' model: 'Infinity Light' - regex: 'LP INFINITY\+' model: 'Infinity Plus' - regex: 'LP_INFINITY' model: 'Infinity' - regex: 'LP_EVORA_light' model: 'Evora Light' - regex: 'LP T70 Lite' device: 'tablet' model: 'T70 Lite' - regex: 'LP_T70' device: 'tablet' model: 'T70' - regex: '(?:LP_)?(Vyper|N-5[07]|N-45|Pro1|Alphatel_T1)(?:[);/ ]|$)' model: '$1' # Cavion (cavion.pl) Cavion: regex: '(?:Cavion[_ ](?:Solid[_ ]4[\._]5|Base[ _](?:7|7_3G_Silver|5[._]0|10|7\.2 Quad)|10_3GRQ)|base10_3g_silver|Cavion7\.1quad|M1092Q)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Cavion[_ ]Solid[_ ]4[._]5' model: 'Solid 4.5"' - regex: 'Cavion[ _]BASE[ _]5[._]0' model: 'Base 5.0"' - regex: 'CAVION_10_3GRQ' device: 'tablet' model: 'Base 10 3GR Quad' - regex: 'Cavion(?:7\.1quad)' device: 'tablet' model: 'Base 7.1" Quad' - regex: 'Cavion Base 7\.2 Quad' device: 'tablet' model: 'Base 7.2" Quad' - regex: 'Cavion Base 10' device: 'tablet' model: 'Base 10' - regex: 'Cavion Base 7 Dual' device: 'tablet' model: 'Base 7.0" Dual' - regex: 'Cavion Base 7 Quad' device: 'tablet' model: 'Base 7.0" Quad' - regex: '(?:Cavion_)?Base_?(7|10)_3G_Silver' device: 'tablet' model: 'Base $1.0" 3G Silver' - regex: '(M1092Q)' device: 'tablet' model: '$1' # Canaima (manufactured by COMIVISION http://www.comivision.com/Laptop/37.html) Canaima: regex: 'CNM6762(?:[);/ ]|$)' device: 'tablet' models: - regex: '(CNM6762)(?:[);/ ]|$)' # COMIVISION model: '$1' # Canal+ (https://pl.canalplus.com/) Canal+: regex: 'CANAL PLUS' device: 'tv' models: - regex: 'CANAL PLUS BOX(?:[);/ ]|$)' model: 'TV Box' # GLX or JLX or General luxe (www.glx.ir) GLX: regex: '(?:GLX (?:Aria|Dorna|Taban|Shine|Spark|ASA)|SHAHIN III|Maad\+?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GLX ASA' model: 'Asa' - regex: 'SHAHIN III' model: 'Shahin III' - regex: 'Maad\+' model: 'Maad Plus' - regex: 'Maad' model: 'Maad' - regex: 'GLX (Aria|Taban|Shine|Spark)(?:[);/ ]|$)' model: '$1' - regex: 'GLX (Dorna)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Seeken (seekenmobile.com) Seeken: regex: 'Seeken[ _-]' device: 'smartphone' models: - regex: 'Seeken[_ -](SG1|SJ1)' model: '$1' - regex: 'Seeken[_ -](ST-101)' device: 'tablet' model: '$1' # Jivi Mobiles (jivi.in) Jivi: regex: '(?:Revolution TnT3|Xtreme_(?:[37]|3x)|Xtreme (?:XT84|XT309|XT309 Plus|1)|Opus S3|JSPQ65|Prime (?:P3[09]0|P4442?|P30))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Revolution (TnT3)' model: 'Revolution $1' - regex: 'Opus S3' model: 'Opus S3' - regex: 'JSPQ65' model: 'JSP Q65' - regex: 'Xtreme (XT84)' model: 'Xtreme Klick $1' - regex: 'Prime (P4442?|P3[09]0|P30)' model: 'Prime $1' - regex: 'Xtreme (XT309) Plus' model: 'Xtreme View Pro $1 Plus' - regex: 'Xtreme (XT309)' model: 'Xtreme View $1' - regex: 'Xtreme[ _]([137]|3x)(?:[);/ ]|$)' model: 'Xtreme $1' # NOVO NOVO: regex: '(Bonvi Note|Bonvi Prime|Bonvi Pro|Borneo_Pro|Vi_Note)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Winnovo (www.mywinnovo.com) Winnovo: regex: 'Winnovo|(?:T10LTE|H(?:7|10)_US)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'T10LTE(?:[);/ ]|$)' model: 'T10 LTE' - regex: 'H(7|10)_US(?:[);/ ]|$)' model: 'H$1' - regex: 'Winnovo[ _]?(M866|M798|VTab|750[PK]|T2)(?:[);/ ]|$)' model: '$1' - regex: 'Winnovo[ _](V51)' device: 'smartphone' model: '$1' - regex: 'Winnovo[ _](K5[46]|K43)[a-z]{2}' device: 'smartphone' model: '$1' # WE or WM Mobile or AAMRA WE WE: regex: 'WE (A[15]0|B3|F[12]0|E[12]|L[3469]|R[34]|V[34]|S1|X[13]|T1)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Trio or triomobiles (http://triomobiles.com/products.html) Trio: regex: 'Trio V51 DT(?:[);/ ]|$)' device: 'smartphone' model: 'V51DT' # Seuic (en.seuic.com) Seuic: regex: '(?:AUTOID ?(?:9N|Q[79])|CRUISE[12])(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(CRUISE[12])(?:[);/ ]|$)' model: '$1' # smartphone + post-terminal - regex: 'AUTOID ?(9N|Q[79])(?:[);/ ]|$)' model: 'AUTOID $1' # CENTEK (centek.ru) CENTEK: regex: 'CT-(87(?:4[03]|24|32)|85(?:[67]5|5[08]|32|4[03]))(?:[);/ ]|$)' device: 'tv' model: 'CT-$1' # Centric Centric: regex: '(?:Centric[- ]CM(?:5001|33[23]1|3321Plus)|CM4331|CM2221)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Centric[- ])?CM5001' model: 'A1' - regex: '(?:Centric[- ])?CM3321Plus' model: 'P1 Plus' - regex: '(?:Centric[- ])?CM3321' model: 'P1' - regex: '(?:Centric[- ])?CM3331' model: 'L3' - regex: '(?:Centric[- ])?CM4331' model: 'G1' - regex: '(?:Centric[- ])?CM2221' model: 'L1' # Kata mobile (secure.katadigital.com) Kata: regex: 'Kata[ _-]' device: 'smartphone' models: - regex: 'Kata[ _-](C3|L1|M3s|M4s?|V[56])(?:[);/ ]|$)' model: '$1' - regex: 'Kata[ _-]i5-\w' model: 'I5' - regex: 'Kata-(T5)(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'Kata-Tmini4(?:[);/ ]|$)' device: 'tablet' model: 'T Mini 4' - regex: 'Kata Box 2(?:[);/ ]|$)' device: 'tv' model: 'Box 2' # Hardkernel (www.hardkernel.com) Hardkernel: regex: 'ODROID[-]?(C2|[NU]2|XU[34])(?:[);/ ]|$)' device: 'peripheral' model: 'ODROID $1' # Wiseasy (wiseasy.com) Wiseasy: regex: '(WISENET5|WPOS-3)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # Shtrikh-M Shtrikh-M: regex: 'SHTRIH-SMARTPOS-F2(?:[);/ ]|$)' device: 'peripheral' model: 'Smartpos F2' # BBK (bbk.ru) BBK: regex: '65LEX-8234-UTS2C|(?:32LEX-7272|24LEX-7269|([65]5|50|4[023]|3[29]|2[48])LEX[-_](81(?:27|39|45|58|6[12]|7[34])|71(?:[23]7|4[345]|5[45]|6[2368]|[57]8|7[15])|7202|725[579]|7225|7287|8243|8202|8289|9201)[_/]?([FU]?TS2C)|(?:3[29]|24)LEX-7289(?:-c)?|65LEX-8262)(?:[);/ ]|$)' device: 'tv' models: - regex: '(\d{2})LEX[-_](\d{3,4})[_/-]?([FU]?TS2C)' model: '$1LEX-$2/$3' - regex: '(3[29]|24|65)LEX-(7289|8262)(?:-c)?(?:[);/ ]|$)' model: '$1LEX-$2/TS2C' - regex: '(\d{2})LEX[-_](\d{3,4})' model: '$1LEX-$2' # 4ife 4ife: regex: '4ife (4K Smart TV Box)(?:[);/ ]|$)' device: 'tv' model: '$1' # Westpoint Westpoint: regex: 'WESTPOINT[;,]' device: 'tv' models: - regex: '(TETS-4919SM)' model: '$1' # Wintouch (http://www.wintouch.ae/) Wintouch: regex: 'Q93S' device: 'tablet' model: 'Q93S' # Aiuto Aiuto: regex: '(AT702)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Seatel Seatel: regex: 'Seatel' device: 'smartphone' models: - regex: 'Seatel[ _](L2|V8[AE]|T[5-8]|R6|V[89])(?:[);/ ]|$)' model: '$1' # Ditecma (ditecma.com) Ditecma: regex: '(M1092R(?:-[12]|V[45])?)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Datamini (datamini.co.in) Datamini: regex: '(K908H4G)(?:[);/ ]|$)' device: 'tablet' model: '$1' # 3GNET (3gnet.com.tw) 3GNET: regex: '(?<!NetType/)3GNET[ _]' device: 'smartphone' models: - regex: '3GNET[ _](U8|T800|U6s)(?:[);/ ]|$)' model: '$1' - regex: '3GNET[ _]T ?900' model: 'T900' # Yoka TV Yoka TV: regex: 'KB2 PRO(?:[);/ ]|$)' device: 'tv' model: 'KB2 Pro' # Formuler (formuler.tv) Formuler: regex: 'Formuler[ _]|(?:S_TURBO_PRO)(?:[);/ ]|$)' device: 'tv' models: - regex: 'Formuler[ _](Z(?:8|10)(?: Pro)?|Z Alpha)(?:[);/ ]|$)' model: '$1' - regex: 'S_TURBO_PRO(?:[);/ ]|$)' model: 'S Turbo Pro' # Malata Malata: regex: '(?:Build/)?Malata[ _]?([a-z0-9]+)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # MBOX MBOX: regex: 'MBOX3?(?:[);/ ]|$)' device: 'tv' model: '' # IT IT: regex: 'IT-(?:1101S?|1101-QUAD)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'IT-1101-QUAD' model: '1101 Quad' - regex: 'IT-(1101S?)' model: '$1' # Navcity (www.navcity.com.br) Navcity: regex: 'NP-752Go(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NP-752Go' model: 'NP-752 Go' # Jeka Jeka: regex: '(?:JK(?:960|[71]03) 3G|JK702|JK101|JK[17]00 v2\.0)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'JK(960|[71]03) 3G(?:[);/ ]|$)' model: 'JK $1 3G' - regex: 'JK(702|[17]00 v2\.0|101)(?:[);/ ]|$)' model: 'JK $1' # Jiake Jiake: regex: 'JK-?(760)(?:[);/ ]|$)' device: 'smartphone' model: 'JK-$1' # iQ&T or iQandT (iqandt.com) iQ&T: regex: 'iQ&T|iQ&amp;T|(?:IFoo (?:U200|H55|S50))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:iQ&T|iQ&amp;T) (N8)(?:[);/ ]|$)' model: '$1' - regex: '(IFoo (?:U200|H55|S50))(?:[);/ ]|$)' model: '$1' # Mantra (mantratec.com) Mantra: regex: '(MFSTAB(?:_74G)?)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # Datalogic (datalogic.com) Datalogic: regex: '(?:MEMOR )([12]0|1)(?:[);/ ]|$)' device: 'smartphone' model: 'Memor $1' # mipo (mipo.com.tr) mipo: regex: 'mipo[ _]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # Naomi Phone Naomi Phone: regex: '(?:NAOMIPHONE Ambar|DAMMAR)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NAOMIPHONE Ambar(?:[);/ ]|$)' model: 'Ambar' - regex: 'DAMMAR(?:[);/ ]|$)' model: 'Dammar' # Navitel (navitel.ru) Navitel: regex: 'NAVITEL[ _]|(?:T737PRO|T505PRO|T500 3G)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(?:NAVITEL[ _])?(T70[07]|T500) 3G(?:[);/ ]|$)' model: '$1 3G' - regex: 'NAVITEL[ _](T757)LTE(?:[);/ ]|$)' model: '$1 LTE' - regex: 'NAVITEL[ _](A73[0157]|A650)(?:[);/ ]|$)' model: '$1' - regex: 'T(505|737)PRO(?:[);/ ]|$)' model: 'T$1 Pro' - regex: 'RE900 Full HD(?:[);/ ]|$)' # combo device table/navigator and camera model: 'RE900 Full HD' # Linnex (www.linnex.com) Linnex: regex: 'LI(22)(?:[);/ ]|$)' device: 'smartphone' model: 'Li $1' # SuperTab (supertab-dz.com) SuperTab: regex: '(?:SuperTab(?:A10|K7|S7G)|K7 Kids)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SuperTab(A10|K7|S7G)' model: '$1' - regex: 'K7 Kids' model: 'K7 Kids' # Suzuki (suzukitech.com) Suzuki: regex: 'SUZUKI[ _]|(?:ECOPAD7|SUMOPad10)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SUMOPAD(8100|10)(?:[);/ ]|$)' model: 'SumoPad $1' - regex: 'ECOPAD7' model: 'ECOPad 7' # NEVIR (https://nevir.es/) NEVIR: regex: 'Nevir,([a-z0-9_ \-]+),(?:wired|wireless)' device: 'tv' model: '$1' # philips Philips: regex: 'Philips|NETTV/|2020/2021 UHD Android|10BDL4151T|Xenium S[25]66|(?:PI3210G|TPM1[79]1E|70PUH6774_96|QM152E|QM16[134]E|TLE(?:821L|722G)|AND1E|S397|W5510|S410J)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(10BDL4151T)' device: 'smart display' model: '$1' - regex: '(?:Philips[_ ])?Xenium[ _](S[25]66|V787)(?:[);/ ]|$)' model: 'Xenium $1' - regex: '(?:Philips[_ ])?(X818|X588)(?:[);/ ]|$)' model: 'Xenium $1' - regex: '(?:Philips[_ ])?(S397|W5510)(?:[);/ ]|$)' model: '$1' - regex: '(?:AND1E|Google)(?: TV)?(?:[);/ ]|$)' model: 'Android TV' device: 'tv' - regex: '(PI3210G)' model: '$1' device: 'tablet' - regex: '(TPM1[79]1E)' # Smart Tv 2018/2019 model: '$1' device: 'tv' - regex: 'QM152E(?:[);/ ]|$)' model: '' device: 'tv' - regex: '(QM16[134]E)' model: '$1' device: 'tv' - regex: '(70PUH6774)_96' model: '$1/96 4K UHD' device: 'tv' - regex: '(202[01])/(?:20)?(2[12]) (?:Philips )?UHD Android' model: 'Smart TV UHD ($1-20$2)' device: 'tv' - regex: '(TLE821L)(?:[);/ ]|$)' model: '$1 4G LTE' device: 'tablet' - regex: '(TLE722G)(?:[);/ ]|$)' model: '$1' device: 'tablet' - regex: '(?:S410J)(?:[);/ ]|$)' model: 'M9 Pro' device: 'tablet' - regex: 'Philips, BDP([0-9]{4})' model: 'Blu-ray Player (BDP$1)' device: 'tv' - regex: 'Philips, ([a-z0-9-]+)' model: '$1' device: 'tv' - regex: '(NETTV/[0-9\.]{5})' model: 'NetTV Series' device: 'tv' - regex: 'UHD Android TV' model: 'Smart TV UHD' device: 'tv' - regex: 'Philips-FISIO ([a-z0-9]+)' model: 'Fisio $1' - regex: 'Philips[ _-]?([a-z0-9\-@]+)' model: '$1' # INCAR INCAR: regex: '(KZCAR)(?:[);/ ]|$)' device: 'car browser' model: '$1' # FaRao Pro (www.faraopro.jp) FaRao Pro: regex: '(FTRW100)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Nabi Nabi: regex: '(?:DMTAB-(?:IN08A|NV08B|NV2[04]A)|NBTY07SMKG|NBFP07PMKG|SNB02-NV7A|NABI2-NV7A)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'DMTAB-(?:IN08A|NV08B)' model: 'Dream Tab HD 8.0"' - regex: 'DMTAB-NV(2[04])A' model: 'Big Tab HD $1.0"' - regex: 'NBTY07SMKG' model: 'Barbie Tab 7.0"' - regex: 'NBFP07PMKG' model: 'Fisher Price Learning Tab 7.0"' - regex: 'SNB02-NV7A' model: '2S Tab' - regex: 'NABI2-NV7A' model: '2 Tab' # StrawBerry StrawBerry: regex: 'StrawBerry[ _]' device: 'smartphone' models: - regex: 'StrawBerry[ _](SX|QX15)(?:[);/ ]|$)' model: '$1' # STRONG (https://www.strong.tv/) STRONG: regex: 'LEAP-S1|SH6B7CE_EU012' device: 'tv' models: - regex: 'LEAP-S1' model: 'LEAP-S1' - regex: '(SH6B7CE)_(EU012)' model: '$1-$2' # Gresso Gresso: regex: 'Gresso[ _]|(?:REGAL R2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'REGAL R2' model: 'Regal R2' - regex: 'Gresso[ _]Regal(?:[);/ ]|$)' model: 'Regal' # Pendoo (pendoo.tv) Pendoo: regex: 'Pendoo|A5X MAX(?:[\.-]\w+)?\.01\.d4|(?:PNDP60L10BLK|PNDP60M7PUR)(?:[);/ ]|$)' device: 'tv' models: - regex: 'Pendoo ?(T95Z|X10) PLUS' model: '$1 Plus' - regex: 'Pendoo ?X8PRO+' model: 'X8 Pro+' - regex: 'Pendoo[ \.]?(X9[29]|T95)' model: '$1' - regex: 'pendoo mini' model: 'Mini' - regex: 'X11 PRO' model: 'X11 Pro' - regex: 'A5X MAX(?:[\.-]\w+)?\.01\.d4' model: 'A5X Max' - regex: '(PNDP60L10BLK|PNDP60M7PUR)' device: 'tablet' model: '$1' # PiPO (pipo.com) PiPO: regex: 'Pipo[_ ]|PipoM9Pro' device: 'tablet' models: - regex: 'Pipo[_ ]([TP]9)' model: '$1' - regex: 'PipoM9Pro' model: 'M9 Pro' - regex: 'PIPO[_ ](X10|X9S)' # combo device tv/tablet/pc device: 'tv' model: '$1' # Engel or Engel Axil (www.engelaxil.com) Engel: regex: '(EN1007Q)plus(?:[);/ ]|$)' device: 'tv' model: '$1 Plus' # Genesis Genesis: regex: '(SK-Mtek GT730[15])(?:[);/ ]|$)' device: 'tablet' model: '$1' # Infomir (https://www.infomir.us/) Infomir: regex: '(MAG425A)(?:[);/ ]|$)' device: 'tv' model: '$1' # InfoKit InfoKit: regex: '(TVB-906X)(?:[);/ ]|$)' device: 'tv' model: '$1' # Blloc (blloc.com) Blloc: regex: '(Zero18)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Huskee Huskee: regex: '(?:VULKANO|ST-810)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VULKANO' model: 'Vulkano' - regex: '(ST-810)' device: 'tablet' model: '$1' # SOLE SOLE: regex: 'SOLE[_ ]POP[_ ]S([45]0)(?:[);/ ]|$)' device: 'smartphone' model: 'Pop S$1' # SOLO SOLO: regex: '(?:SOLO[_ ](?:Aspire(?: M)?)|Inspire_U5(?:_PLUS)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:SOLO[_ ](Aspire(?: M)?))' model: '$1' - regex: 'Inspire_U5_PLUS' model: 'Inspire U5 Plus' - regex: 'Inspire_U5' model: 'Inspire U5' # OINOM OINOM: regex: 'OINOM[_ ](V9D|V7H|V[679])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Singtech (singtech.asia) Singtech: regex: 'Singtech|(?:Sapphire[_ ](?:H50S|H7S?|H90)|Infinity_I(?:1|_Mix))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Sapphire[_ ](H50S|H7S?|H90)(?:[);/ ]|$)' model: 'Sapphire $1' - regex: 'Singtech[ _](Q2|S1)(?:[);/ ]|$)' model: '$1' - regex: 'Infinity_I1(?:[);/ ]|$)' model: 'Infinity I1' - regex: 'Infinity_I_Mix(?:[);/ ]|$)' model: 'Infinity I Mix' # TEENO sub brand GOWN(HK) TEENO: regex: 'TEENO' device: 'smartphone' models: - regex: 'TEENO[_ ](S9|A1|i12|S11)(?:[);/ ]|$)' model: '$1' # v-mobile or Vmobile - sub brand GOWN(HK) v-mobile: regex: 'Vmobile[ _]' device: 'smartphone' models: - regex: 'Vmobile[ _](J7)(?:[);/ ]|$)' model: '$1' - regex: 'Vmobile XS Pro(?:[);/ ]|$)' model: 'XS Pro' # OASYS (oasys.co) OASYS: regex: '(TEG9300)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # Aspera (asperamobile.com) Aspera: regex: 'ASPERA|(?:Wren|Jazz 2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ASPERA[ _](R5h|R9|RT3|A4[02]|A50)(?:[);/ ]|$)' model: '$1' - regex: 'Wren(?:[);/ ]|$)' model: 'Wren' - regex: 'Jazz 2(?:[);/ ]|$)' model: 'Jazz 2' # Vision Touch Vision Touch: regex: 'Vision ?Touch' device: 'smartphone' models: - regex: 'VisionTouchLife' model: 'Life' - regex: 'Inspire' model: 'Inspire' NOBUX: regex: 'SMART_VOLT_NX5(?:[);/ ]|$)' device: 'smartphone' model: 'Smart Volt NX5' # Hitech or Hitech Mobile (hitech-mobiles.com) Hitech: regex: '(Amaze[ _](?:S2_4G|S[56] 4G|S1|S[56](?: Plus)?))(?:[);/ ]|$)' device: 'smartphone' model: '$1' # F150 or iiiF150 or ANT DAO TECHNOLOGY LIMITED (sub brand Oukitel) (iif150.com) F150: regex: '(?:Bison2021|B2021|[HR]2022|Air1 Pro| Air1| B[12] Pro|(?:B2|Air2) Ultra|Raptor LTD|Android 12(?:[\d.]*);(?: [\w-]+;)? (?:B1)|Android 13(?:[\d.]*);(?: [\w-]+;)? (?:Raptor|B2))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'B2 Ultra' model: 'B2 Ultra' - regex: 'Raptor(?: LTD)?' model: 'Raptor LTD' - regex: '([HR]2022|Air1 (?:Ultra Pro|Ultra\+?|Pro)|Air1|B[12] Pro|Air2 Ultra)(?:[);/ ]|$)' model: '$1' - regex: '(?:Bison2021|B2021)(?:[);/ ]|$)' model: 'B2021' - regex: '(B[12])(?: Build|[;)])' model: '$1' # BilimLang (bilimlang.com) BilimLand: regex: 'BilimBook mini(?:[);/ ]|$)' device: 'desktop' model: 'BilimBook Mini' # Greentel (greentelmobile.com) Greentel: regex: '(?:X1_Light(?:_Lte)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'X1_Light(?:_Lte)?' model: 'X1 Light LTE' # Gretel: Gretel: regex: 'Gretel|(?:GT6000)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(GT6000)' model: '$1' - regex: 'Gretel; (A[67])' model: '$1' # Kyowon Kyowon: regex: '(KA-E410W)(?:[);/ ]|$)' device: 'tablet' model: '$1' # LT Mobile or LT Electronics (lt-smartphone.com or lt-yemen.com) LT Mobile: regex: 'LT[ _-](?:P[89]|9701|9902|P10I|NOTE 10[SM]|NOTE 30|C1[45]00|C3[1235]00|C3750|S10[ _]Lite|S10|S9_NOTE|M[56]|M5_lite|C1300|6509|2003)|(?:C3[67]00)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LT[- ]NOTE ([13]0[SM]?)' model: 'Note $1' - regex: 'LT_S9_NOTE' model: 'Note S9' - regex: 'LT[ _-]C3100' model: 'P9' - regex: 'LT[ _-]C3200' model: 'P10' - regex: 'LT[ _-]C3750' model: 'P40' - regex: 'LT[ _-]C1400' model: 'P7s' - regex: 'LT[ _-]C3500' model: 'P10 Plus' - regex: '(?:LT[ _-])?C3600' model: 'P20' - regex: '(?:LT[ _-])?C3700' model: 'P30' - regex: 'LT[ _-](C3300|C1500)' model: '$1' - regex: 'LT[ _]S10[ _]Lite' model: 'S10 Lite' - regex: 'LT[ _]S10' model: 'S10' - regex: 'LT[ _]C1300' model: 'W7' - regex: 'LT[ _]P10I' model: 'P10i' - regex: 'LT[ _]9701' model: 'M50' - regex: 'LT[ _]6509' model: 'M40' - regex: 'LT[ _]9902' model: 'M60' - regex: 'LT[ _]2003' model: 'M25 Power' - regex: 'LT[ _]P([89])(?:[);/ ]|$)' model: 'P$1' - regex: 'LT[ _]M([56])[_ ]lite(?:[);/ ]|$)' model: 'M$1 Lite' - regex: 'LT[ _]M([56])(?:[);/ ]|$)' model: 'M$1' # ONYX BOOX (onyx-boox.ru) ONYX BOOX: regex: '(?:KON_TIKI(2)?|Nova3Color|GoColor7|Lomonosov|Poke2Color|NovaAirC|NoteAir2P?|TabUltraCPro|LIVINGSTONE[23]|MC_FAUST[23]|DARWIN[9X]|MC_DARWIN[678]|MC_GAMA4|MC_Cristo4|MC_NovaPro|NoteAir3C|VOLTA[45]|Kon_Tiki3|FAUST[56]|GALILEO|Poke3|KANT2)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'VOLTA([45])' model: 'Volta $1' - regex: 'NovaAirC' model: 'Nova Air C' - regex: 'MC_NovaPro' model: 'Nova Pro' - regex: 'NoteAir2P' model: 'Nova Air 2 Plus' - regex: 'NoteAir2' model: 'Nova Air 2' - regex: 'Nova3Color' model: 'Nova 3 Color' - regex: 'Poke2Color' model: 'Poke 2 Color' - regex: 'Poke3' model: 'Poke 3' - regex: 'KANT2' model: 'Kant 2' - regex: 'KON_TIKI([23])?' model: 'Kon Tiki $1' - regex: 'Lomonosov' model: 'Lomonosov' - regex: '(?:MC_)?FAUST([2356])' model: 'Faust $1' - regex: '(?:MC_)?DARWIN([6789X])' model: 'Darwin $1' - regex: 'MC_GAMA4' model: 'Gama 4' - regex: 'GALILEO' model: 'Galileo' - regex: 'GoColor7' model: 'Go Color 7' - regex: 'MC_Cristo4' model: 'Monte Cristo 4' - regex: 'LIVINGSTONE([23])' model: 'Living Stone $1' - regex: 'NoteAir3C' model: 'Note Air 3C' - regex: 'TabUltraCPro' model: 'Tab Ultra C Pro' # AIRON (airon.ua) AIRON: regex: 'AIRBOOK PRO 8S(?:[);/ ]|$)' device: 'tablet' model: 'AirBook Pro 8S' # 5IVE 5IVE: regex: 'Tarzan F1(?:[);/ ]|$)' device: 'smartphone' model: 'Tarzan F1' # GFive or G'Five (www.gfivepakistan.com) GFive: regex: 'GFIVE[_ ]|(?:PRESIDENT_GOLD_(9|10)|President Gpower 1|Stark(?![_ ]K1)|Gpad70[12]|Speedo_1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'PRESIDENT_GOLD_(9|10)' model: 'President Gold $1' - regex: 'President Gpower 1' model: 'President GPower 1' - regex: 'GFIVE[_ ]President[_ ]Xhero[_ ](\d)' model: 'President XHero $1' - regex: 'President (A97)' model: 'President $1' - regex: 'President Classic (\d)' model: 'President Classic $1' - regex: 'President G6 Plus' model: 'President G6 Plus' - regex: 'President G10 Fashion' model: 'President G10 Fashion' - regex: 'President ?\(?G(\d)\)?' model: 'President G$1' - regex: 'President Tango (\d)' model: 'President Tango $1' - regex: 'GFIVE[_ ]President[_ ]Smart[_ ](A98|\d)' model: 'President Smart $1' - regex: 'Stark' model: 'Stark' - regex: 'Speedo_1' model: 'Speedo 1' - regex: 'GPad(70[12])' device: 'tablet' model: 'GPad$1' # KINGZONE or KING ZONE KINGZONE: regex: 'KINGZONE_|K1[_ ]turbo' device: 'smartphone' models: - regex: 'KINGZONE_(N5)(?:[);/ ]|$)' model: '$1' - regex: 'K1[_ ]turbo' model: 'K1 Turbo' # MTech M-Tech: regex: '(?:Eros[_ ](4G|Star|Smart|Plus|Power)|MTECH (?:ACE9|TURBO L\d+|TEZ 4G|JAZBAA)|Foto3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'EROS 4G' model: 'Eros 4G' - regex: 'Eros[_ ]Star' model: 'Eros Star' - regex: 'Eros[_ ]Smart' model: 'Eros Smart' - regex: 'Eros[_ ]Plus' model: 'Eros Plus' - regex: 'Eros[_ ]Power' model: 'Eros Power' - regex: 'ACE9' model: 'Ace 9' - regex: 'JAZBAA' model: 'JAZBAA' - regex: 'TEZ 4G' model: 'TEZ 4G' - regex: 'Foto3' model: 'Foto 3' - regex: 'TURBO L(\d+)' model: 'Turbo L$1' # Fantec Boogy Fantec: regex: 'FAN-M300H(?:[);/ ]|$)' device: 'smartphone' model: 'M300H' # AURIS Mobile (en.aurismobile.com.tr) AURIS: regex: '(TB-703G)(?:[);/ ]|$)' device: 'tablet' model: '$1' # YUHO Mobile YUHO: regex: 'YUHO_|(?:Netra(?:[_ ](?:Plus|Lite))?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'YUHO_(O2|H2|Y[123])_PRO' model: '$1 Pro' - regex: 'YUHO_Vast_Plus' model: 'Vast Plus' - regex: 'YUHO_Y1_ACE' model: 'Y1 Ace' - regex: 'YUHO_Y1_StarS' model: 'Y1 Star S' - regex: 'YUHO_Y1_STAR' model: 'Y1 Star' - regex: 'YUHO_O1_LITE' model: 'O1 Lite' - regex: '(?:YUHO_)?(Vast2?|O[12]|Y2|Netra(?:[_ ](?:Plus|Lite))?)(?:[);/ ]|$)' model: '$1' # F2 Mobile OR 2F Mobile (f2mexico.com) F2 Mobile: regex: '(?:Z8PLUS|Z8POCKET|LT5216|F80s_plus|C8Finger|F80 PIABELLA|i8_ROKR|LT1[68])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Z8PLUS' model: 'Z8 Plus' - regex: 'i8_ROKR' model: 'i8 Rokr' - regex: 'Z8POCKET' model: 'Z8 Pocket' - regex: 'F80s_plus' model: 'F80s Plus' - regex: 'F80 PIABELLA' model: 'F80 Piabella' - regex: '(LT5216|LT1[68])(?:[);/ ]|$)' model: '$1' - regex: 'C8Finger' model: 'C8 Finger' # Zaith Zaith: regex: '(Z3211G)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Zealot Zealot: regex: 'Zealot(?:[);/ ]|$)' device: 'tv' model: 'TV Box' # Spectralink (spectralink.com) Spectralink: regex: '(Versity (?:9640|9553))(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Vega Vega: regex: 'Vega (Q7128)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Bleck (www.bleck.com.mx) Bleck: regex: '(?:BE_(xl|se|o2|fr|et|dg)|BL-919845)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'BE_(xl|se|o2|fr|et|dg)(?:[);/ ]|$)' model: 'BE $1' - regex: 'BL-919845' device: 'tablet' model: 'BE clever 7.0"' # BS Mobile BS Mobile: regex: '(?:RUNE III?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'RUNE (III?)(?:[);/ ]|$)' model: 'Rune $1' # RoyQueen RoyQueen: regex: '(?:RQ[ -](Regal R8|713S|712|768)|Bishop-RQ451)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'RQ (Regal R8)' model: '$1' - regex: 'Bishop-RQ451' model: 'Bishop' - regex: 'RQ-(713S|712|768)' device: 'tablet' model: '$1' # Remdun (https://www.remdun.com/) Remdun: regex: 'RD(?:16Q|86E)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'RD(16Q|86E)(?:[);/ ]|$)' model: 'RD$1' # Revo or RevoPhone or RevoPad (revophone.com) Revo: regex: 'Revo[_ ](?:Youplus|555)|RevoYou' device: 'smartphone' models: - regex: 'Revo_Youplus' model: 'You Plus' - regex: 'Revo[ _]?(You|555)' model: '$1' # Axioo Axioo: regex: 'Axioo[_ ]|PICOp(?:hone|ad)[_-]' device: 'smartphone' models: - regex: 'Axioo[_ ](AX[45])' model: '$1' - regex: 'PICOphone_(L1|M4N|M4P_M3|M4U_M2_M)' model: 'PicoPhone $1' - regex: 'PICOphone_M2' model: 'PicoPhone M2 M' - regex: 'PICOpad[_-](7H_7|7H|GGT)(?:_3G)?' device: 'tablet' model: 'PicoPad $1 3G' # Pico (https://www.picoxr.com) Pico: regex: 'Pico (?:G2 4K|Neo ?3|4)(?:[);/ ]|$)' device: 'wearable' models: - regex: 'Neo3 Link' model: 'Neo 3 Link' - regex: 'Pico (G2 4K|Neo 3|4)(?:[);/ ]|$)' model: '$1' # STG Telecom (stgtelecom.com) STG Telecom: regex: 'STG[ _](A[12] Pro|[AS]1|X[1-3]|X20|S[1-3]0|[BCHP]10)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # SMT Telecom (SMT_LW, SMT_SN, SMT_TSC) SMT Telecom: regex: '(?:CRUSH_X565|BLAZE_X500)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'CRUSH_X565' model: 'Crush X565' - regex: 'BLAZE_X500' model: 'Blaze X500' # Rivo Rivo: regex: 'PHANTOM (?:PZ|RX)|RHYTHM[ _]RX|(?:STORM_S8(?: ?plus)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'STORM_S8plus' model: 'Storm S8 Plus' - regex: 'STORM_S8' model: 'Storm S8' - regex: 'PHANTOM PZ ?(2[05]|[13]5|4|18)(?:[);/ ]|$)' model: 'Phantom PZ$1' - regex: 'PHANTOM RX ?(298|387)(?:[);/ ]|$)' model: 'Phantom RX$1' - regex: 'RHYTHM[ _]RX ?([15-9]0|[467]5|[12]80|150|[14]00)(?:[);/ ]|$)' model: 'Rhythm RX$1' # Four Mobile or 4mobile Four Mobile: regex: '(?:Four[ _]?(S600|S300I|S185|K500|S61)|S62_Eco_3|S186_Sky_3|S710 Ruby)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Four[ _]?(S600|S300I|K500)' model: '$1' - regex: 'Four[ _]?S185' model: 'S185 Sky 2' - regex: 'S186_Sky_3' model: 'S186 Sky 3' - regex: 'Four[ _]?S61' model: 'S61 Eco 2' - regex: 'S62_Eco_3' model: 'S62 Eco 3' - regex: 'S710 Ruby' model: 'S710 Ruby' # Seven Mobile or 7mobile (www.7mobileafrica.com) 7 Mobile: regex: '(?:SWEGUE|DRENA|Kamba(?:_2)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Swegue' model: 'Swegue' - regex: 'DRENA' model: 'Drena' - regex: 'Kamba_2' model: 'Kamba 2' - regex: 'Kamba' model: 'Kamba' # UZ Mobile or Telecom Device Pro (idevice.uz) UZ Mobile: regex: 'Uzbekistan(?:[);/ ]|$)' device: 'smartphone' model: 'Uzbekistan' # KREZ KREZ: regex: 'KREZ[_ ]' device: 'smartphone' models: - regex: 'KREZ[_ ](SL502)(?:[);/ ]|$)' model: '$1' - regex: 'KREZ[_ ](TM100[12]S8)(?:[);/ ]|$)' device: 'tablet' model: '$1 3G' # KRIP (https://www.krip.com/) KRIP: regex: 'KRIP_|K(?:4[bm]|5[bdm]|6b|55h?|57|65|700A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:KRIP_)?K(4[bm]?|5[bdm]|6b|55h?|57|65|700A)(?:[);/ ]|$)' model: 'K$1' # Kurio or KD Interactive (www.group-kd.com, kdplanet.com) Kurio: regex: 'Kurio|C15100m' device: 'tablet' models: - regex: 'C15100m(?:[);/ ]|$)' model: 'Tab 2' - regex: 'Kurio[_ ]?(10S|7S)(?:[);/ ]|$)' model: '$1' - regex: 'Kurio[_ ]?Phone(?:[);/ ]|$)' device: 'smartphone' model: 'Phone C14500' # Inch Inch: regex: 'Inch (?:Regulus (?:7\.85|II)|Avior 3)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Regulus 7\.85)' model: '$1"' - regex: '(Regulus II|Avior 3)' model: '$1' # UTime UTime: regex: 'UTIME[ _](U6|G7|U100|[TX]1|FX)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # L-Max or LMAX (lmax-mobile.com) L-Max: regex: '(?:Sapphire 8|Sapphire[76]|Mega plus[23])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Mega plus([23])' model: 'Mega Plus $1' - regex: 'Sapphire ?([678])' model: 'Sapphire $1' # WIWA (www.wiwa.info.pl) WIWA: regex: 'WIWA DREAM PLAYER(?:[);/ ]|$)' device: 'tv' model: 'Dream Player TV' # FMT OR Future Mobile Technology FMT: regex: '(?:16M4HI105024|FMT-NM7058-02|FXT113R|176HS1050(?:232|531)|175WT1050231|175HS1050231|175FT1050241|Global3 B01)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '16M4HI105024' model: 'Netsurfer Storm' - regex: 'Global3 B01' model: 'Global3 B01' - regex: 'FMT-NM7058-02' model: 'Flash' - regex: '176HS1050531' model: 'Falcon' - regex: '176HS1050232' model: 'B52' - regex: '175WT1050231' model: 'Eagle' - regex: '175HS1050231' model: 'Tomcat' - regex: '175FT1050241' model: 'Viper' - regex: '(FXT113R)' device: 'tablet' model: '$1' # mPhone mPhone: regex: 'mPhone ?([68]|7 Plus|7s)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Cobalt Cobalt: regex: 'Cobalt[ _-](?:SM|T)' device: 'smartphone' models: - regex: 'Cobalt[ _-]SM_(55?|6)' model: 'SM$1' - regex: 'Cobalt[ _-]T((?:7|10))[ _]3G' device: 'tablet' model: 'T$1 3G' - regex: 'Cobalt[ _-]T((?:7|10))[ _]wifi' device: 'tablet' model: 'T$1 WiFi' # New Balance or NB New Balance: regex: 'NB (RunIQ)(?:[);/ ]|$)' device: 'wearable' model: '$1' # AOYODKG AOYODKG: regex: 'AOYODKG' device: 'tablet' models: - regex: 'AOYODKG[_ ](A38)(?:[);/ ]|$)' model: '$1' # Xtratech (xtratech.com) Xtratech: regex: '(?:BRIO[_ ]X31|XM14G|X10MT(?:16|87))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(BRIO[_ ]X31)' model: '$1' - regex: 'XM14G' device: 'tablet' model: 'IguanaPad XM14G' - regex: 'X10MT16' device: 'tablet' model: 'X10MT16' - regex: 'X10MT87' device: 'tablet' model: 'IguanaPad 10.1"' # XGIMI (www.xgimi.com) XGIMI: regex: '(?:XGIMI TV|XK03H)(?:[);/ ]|$)' device: 'peripheral' models: - regex: 'XK03H' model: 'Horizon Pro' # Laser Projector # VIVIBright VIVIBright: regex: '(F30UP)(?:[);/ ]|$)' # Projector device: 'tv' model: '$1' # Raspberry (raspberrypi.org) Raspberry: regex: 'Raspberry (Pi [0-9]+)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # Tambo Tambo: regex: '(TA-(?:2[_ ](?:3G|Pro)|5[05][_ ]Power|[1-4]|[1246]0))(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Smooth Mobile (https://www.smoothmobile.us/) Smooth Mobile: regex: 'Smooth|S2 Advance(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'S2 Advance' model: 'S2 Advance' - regex: 'Smooth 5\.5 lite' model: 'Smooth 5.5 Lite' - regex: 'Smooth (5\.[05]|6\.[015])(?:[);/ ]|$)' model: 'Smooth $1' - regex: 'Smooth626(?:[);/ ]|$)' model: 'Smooth 6.26' - regex: 'Smooth 6\.26 (Lite|Max|Pro)(?:[);/ ]|$)' model: 'Smooth 6.26 $1' - regex: 'Smooth Note 6\.8(?:[);/ ]|$)' model: 'Smooth Note 6.8' - regex: 'Smooth (8GT)(?:[);/ ]|$)' model: 'Smooth $1' device: 'tablet' # Smotreshka Smotreshka: regex: 'Smotreshka Box (115NA|413NA|213a?)(?:[);/ ]|$)' device: 'tv' model: '$1' # Gooweel (gooweel.com) Gooweel: regex: 'Gooweel| M5 Pro(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Gooweel; (S7);' model: '$1' - regex: 'M5 Pro' model: 'M5 Pro' # Elekta (elektagulf.com) Elekta: regex: 'ELED-(?:4[238]S[AM]{2}RT|5[05](?:CV_)?SMART_UHD|32SMART)(?:[);/ ]|$)' device: 'tv' models: - regex: 'ELED-(4[238])S[AM]{2}RT(?:[);/ ]|$)' model: '$1" FHD LED Smart TV' - regex: 'ELED-55CV_SMART_UHD(?:[);/ ]|$)' model: '55" UHD Curved LED Smart TV' - regex: 'ELED-(50)SMART_UHD(?:[);/ ]|$)' model: '$1" UHD LED Smart TV' - regex: 'ELED-(32)SMART(?:[);/ ]|$)' model: '$1" HD LED Smart TV' # YASIN (yasintv.kz) YASIN: regex: 'YASIN ' device: 'tv' models: - regex: 'YASIN ([24])K G Smart TV' model: '$1K G Smart TV' - regex: 'YASIN (?:Android|2K) (?:Android )?TV(?:[);/ ]|$)' model: '2K Smart TV' - regex: 'YASIN 4K Android TV(?:[);/ ]|$)' model: '4K Smart TV' # BLOW (blow.pl) Blow: regex: '(?:LaserTAB10|PlatinumTAB(?:11|8)_4G|PlatinumTAB10V22|PlatinumTAB10_4G_V\d|BlackTab7_3G_V2|BlackTAB7)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'LaserTAB10' model: 'Laser Tab 10' - regex: 'PlatinumTAB11_4G' model: 'Platinum Tab 11 4G' - regex: 'PlatinumTAB8_4G' model: 'Platinum Tab 8 4G' - regex: 'PlatinumTAB10V22' model: 'Platinum Tab 10 V22' - regex: 'PlatinumTAB10_4G_(V\d)' model: 'Platinum Tab 10 4G $1' - regex: 'BlackTab7_3G_V2' model: 'Black Tab 3G V2' - regex: 'BlackTAB7' model: 'Black Tab 3G' # FNF FNF: regex: '(?:ifive[_ ]?(?:mini[_ ][43]G?S|X2|Mini3|3|Air|Pro 2))(?:[);/ ]|$)' device: 'tablet' models: - regex: 'ifive[_ ]mini[_ ]([43]G?S)' model: 'iFive Mini $1' - regex: 'ifive(X2|3)' model: 'iFive $1' - regex: 'ifiveMini3' model: 'iFive Mini 3' - regex: 'ifive ?Air' model: 'iFive Air' - regex: 'ifive Pro 2' model: 'iFive Pro 2' # iMan iMan: regex: '(i5800C|i6800|Victor(?:_S)?)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Vava VAVA: regex: 'VAVA[ _](X3)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # ivvi ivvi: regex: 'ivvi[ _]' device: 'smartphone' models: - regex: 'ivvi P60_X11 Plus' model: 'P60-X11 Plus' - regex: 'ivvi[ _](P60)[_ ](\w\d+)' model: '$1-$2' - regex: 'ivvi[ _]([^/;)]+)(?: Build|[);])' model: '$1' # Dragon Touch (dragontouch.com) Dragon Touch: regex: '(?:Notepad[_ ](?:K10|102|Y80)|MAX 10|T12M_EEA)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'MAX 10' model: 'Max 10' - regex: 'T12M' model: 'T12M' - regex: 'Notepad[_ ](K10|102|Y80)' model: 'Notepad $1' # Dreamgate Dreamgate: regex: 'Sens 5(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Sens 5(?:[);/ ]|$)' model: 'Sens 5' # AOpen (www.aopen.com) AOpen: regex: '(WT(?:22|19)M-FI)(?:[);/ ]|$)' device: 'smart display' model: 'eTILE $1' # AG or AG Mobile AG Mobile: regex: '(Hashtag|Shine|Chacer)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # DIGIFORS (digifors.ru) DIGIFORS: regex: 'DIGIFORS (400)(?:[);/ ]|$)' device: 'tv' model: 'Smart $1' # DISH (https://www.dish.com/) DISH: regex: '(?:WTCELERO5G|Celero(?:3[ _])?5G\+?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Celero5G\+' model: 'Celero 5G+' - regex: 'Celero3 5G\+' model: 'Celero 3 5G+' - regex: 'Celero3 5G' model: 'Celero 3 5G' - regex: 'WTCELERO5G|Celero5G' model: 'Celero 5G' # VIWA VIWA: regex: '(?:LIGHT MINI|VIWA A5\+|LIGHT PLUS|LIGHT ONE|POWER P1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LIGHT MINI' model: 'Light Mini' - regex: 'LIGHT PLUS' model: 'Light Plus' - regex: 'LIGHT ONE' model: 'Light One' - regex: 'VIWA A5\+' model: 'Light A5 Plus' - regex: 'POWER P1' model: 'Power P1' # M-Horse or M Horse (www.mhorse.com) M-Horse: regex: 'M-HORSE|(?:Pure (?:3|2A?)|Pure ?1|Power1|Top_(?:S[78]|P9|H740|10|i7|Note8)|Top-V30)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Pure ?([13]|2A?)(?:[);/ ]|$)' model: 'Pure $1' - regex: 'Power1' model: 'Power 1' - regex: 'Top[_ -](S[78]|P9|H740|10|i7|V30)' model: 'Top $1' - regex: 'TOP_Note8' model: 'Top Note 8' # M-KOPA (https://www.m-kopa.com/) M-KOPA: regex: 'M-KOPA' device: 'smartphone' models: - regex: '(X20|X2)(?:[);/ ]|$)' # HMD model: '$1' # ProVision (www.provision.co.ir/en) ProVision: regex: 'ProVision (S1)(?:[);/ ]|$)' device: 'tv' model: '$1' # Sirin Labs (https://sirinlabs.com/) Sirin Labs: regex: '(?:FINNEY U1|SOLARIN)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:FINNEY U1)(?:[);/ ]|$)' model: 'Finney U1' - regex: '(?:SOLARIN)(?:[);/ ]|$)' model: 'Solarin' # SK Broadband (https://www.skbroadband.com/) SK Broadband: regex: 'BHX-UH200|BID-AT200' device: 'tv' models: - regex: 'BHX-UH200(?:[);/ ]|$)' # Humax model: 'BHX-UH200' - regex: 'BID-AT200(?:[);/ ]|$)' # Intek INTEKS20SI model: 'B TV Smart 3 (2021)' # Humax (https://automotive-en.humaxdigital.com/) Humax: regex: 'Humax[;,_]|(AIVI-N3000RV)(?:[);/ ]|$)' device: 'tv' models: - regex: 'Humax[;,] ([a-z0-9]+)(?:[);/ ]|$)' model: '$1' - regex: 'Humax_liberty,([a-z0-9]+),(?:wired|wireless)' model: '$1' - regex: '(AIVI-N3000RV)(?:[);/ ]|$)' device: 'car browser' model: '$1' # Humanware (https://www.humanware.com/) Humanware: regex: 'BrailleNote' device: 'tablet' models: - regex: 'BrailleNote Touch \+(?:[);/ ]|$)' model: 'BrailleNote Touch Plus' - regex: 'BrailleNote Touch(?:[);/ ]|$)' model: 'BrailleNote Touch' # Perfeo (perfeo.ru) Perfeo: regex: 'Perfeo' device: 'tv' models: - regex: 'Perfeo_PF_A4551' model: 'CHRONO' - regex: 'Perfeo_PF_A4552' model: 'RATE' - regex: 'Perfeo_PF_A4553' model: 'MATRIX' # CGV (www.cgv.fr) CGV: regex: 'CGV_(Ultimate T8)' device: 'smartphone' model: '$1' # Telia (telia.se or telia.com) Telia: regex: 'Telia box' device: 'tv' model: 'TV Box' # Canal Digital Canal Digital: regex: 'S70CDS(?:[);/ ]|$)' device: 'tv' model: 'OnePlace' # ZIFRO ZIFRO: regex: 'ZIFRO|(?:ZT-97003G)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(ZT-9700)3G' model: '$1 3G' # SmartBook SmartBook: regex: 'SMARTBOOK[ _]S' device: 'tablet' models: - regex: 'SMARTBOOK[ _]SB ?13' model: 'SB13' - regex: 'SMARTBOOK[ _](S9Q9|S7QS|S9\+)' model: '$1' # Kiowa Kiowa: regex: 'KIOWA[_ ]|(?:[AS]5|X4)_CRISTAL(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(X4|[AS]5)_CRISTAL' model: '$1 Cristal' - regex: 'S5 ULTRA' model: 'S5 Ultra' # Sprint Sprint: regex: 'AQT(100|8[02])(?:[);/ ]|$)' device: 'tablet' model: 'AQT$1' # Bundy Mobile (bundy-mobile.fr) Bundy: regex: '(?:BTOUCH7_PLUS|SWEET 5\+ 2019|SWEET ?[56]\+)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SWEET 5\+ 2019' model: 'Sweet 5 Plus (2019)' - regex: 'SWEET ?([65])\+' model: 'Sweet $1 Plus' - regex: 'BTOUCH7_PLUS' device: 'tablet' model: 'B-Touch 7 Plus' # Covia (covia.net) Covia: regex: '(CP-J55a|CP-J55aW|CP-J55aX)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Elevate Elevate: regex: '(?:LUNA (V57|V55A|G58|G62|G60X)|V55C|G55 LITE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(V55C)' model: 'Luna $1' - regex: '(G55)[_ ]LITE' model: 'Luna $1 Lite' - regex: 'LUNA (V57|V55A|G58|G62|G60X)' model: 'Luna $1' # Stylo Stylo: regex: 'STYLO|(?:TARISTAB[234]|Luna|CPE91|VS571|VS5502|S57_A[ZL]URE|BOLD_PLUS|INKOSI(?:_PRO)?|INKULU_PRO|Ithemba|S56 MIST|S55 Nova|INKOSI_PRO_4G|S40_VISTA|S50_JADE|S50_BOLD|S64_ALPHA|S53_STARK|S40_LIFE|LIFE_2|S49[_ ](?:MONO|POISE|ECO)| [27]21|721_PRO|DQR22|MOSCOW|STEP_UP|ARCTIC|S61 JAZZ|DVK87 Orion 8 Tab|DVK82 Mercury|EBY33)(?:[);/ ]|$)| (?:BRAVE|SATURN)(?: Build|[;)])' device: 'smartphone' models: - regex: 'STYLO[ _](F1|Viva)' model: '$1' - regex: 'STYLO[ _]SONIC' model: 'Sonic' - regex: 'STEP_UP' model: 'Step Up' - regex: 'INKOSI_PRO_4G' model: 'Inkosi Pro 4G' - regex: '721_PRO' model: '721 Pro' - regex: '([27]21)(?:[);/ ]|$)' model: '$1' - regex: 'STYLO[ _]S9[_ ]TOPAZ' model: 'S9 Topaz' - regex: 'SV61 VECTOR\+' model: 'SV61 Vector Plus' - regex: 'SM61 MAGIC\+' model: 'SM61 Magic Plus' - regex: 'S61 JAZZ' model: 'S61 Jazz' - regex: 'S57_AZURE' model: 'S57 Azure' - regex: 'S57_ALURE' model: 'S57 Alure' - regex: 'S56 MIST' model: 'S56 Mist' - regex: 'CPE91' model: 'S54 Zen' - regex: 'S55 Nova' model: 'S55 Nova' - regex: 'S40_VISTA' model: 'S40 Vista' - regex: 'S50_JADE' model: 'S50 Jade' - regex: 'S50_BOLD' model: 'S50 Bold' - regex: 'Ithemba' model: 'Ithemba' - regex: 'ARCTIC' model: 'Arctic' - regex: 'EBY33' model: 'Horizon' - regex: 'S53_STARK' model: 'S53 Stark' - regex: 'S40_LIFE' model: 'S40 Life' - regex: 'LIFE_2' model: 'Life 2' - regex: 'MOSCOW' model: 'Moscow' - regex: 'S49[_ ]POISE' model: 'S49 Poise' - regex: 'S49[_ ]MONO' model: 'S49 Mono' - regex: 'S49[_ ]ECO' model: 'S49 Eco' - regex: 'S64_ALPHA' model: 'S64 Alpha' - regex: 'Luna' model: 'Luna' - regex: 'DQR22' model: 'Jupiter' - regex: 'INKOSI_PRO' model: 'Inkosi Pro' - regex: 'INKOSI' model: 'Inkosi' - regex: 'INKULU_PRO' model: 'Inkulu Pro' - regex: 'BOLD_PLUS' model: 'Bold Plus' - regex: 'BRAVE' model: 'Brave' - regex: 'RAIN' model: 'Rain' - regex: 'SATURN' model: 'Saturn' - regex: 'DVK82 Mercury' model: 'DVK82 Mercury' - regex: 'Stylo[_ ](521)' model: '$1' - regex: '(VS571|VS5502)' model: '$1' - regex: 'TARISTAB([2-4])' device: 'tablet' model: 'Taris Tab $1' - regex: 'DVK87' device: 'tablet' model: 'Orion 8 Tab' # galaxy innovations or GI (www.galaxy-innovations.ru) Galaxy Innovations: regex: 'GI (?:UNI2|iTV912|Fly T2)(?:[);/ ]|$)' device: 'tv' models: - regex: 'GI iTV912' model: 'iTV912' - regex: 'GI UNI2' model: 'Uni 2' - regex: 'GI Fly T2' model: 'Fly T2' # Benzo Benzo: regex: '(?:Class S300 LTE|G-PADLITE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'G-PADLITE' device: 'tablet' model: 'GPad Lite' - regex: '(Class S300 LTE)' model: '$1' # Vexia (www.vexia.eu) Vexia: regex: '(?:Zippers Tab 10i 3G)|Vexia FCS E2 CLM' device: 'tablet' models: - regex: 'Vexia FCS E2 CLM' model: 'Elegance E2 CLM' - regex: '(Zippers Tab 10i 3G)' model: '$1' # HiMax (himaxmobilebd.com) HiMax: regex: 'HIMAX[_ ]' device: 'smartphone' models: - regex: 'POLYMER( X)?' model: 'Polymer$1' - regex: 'HIMAX[_ ]PURE[_ ]3S' model: 'Pure 3S' # Packard Bell (sub brand Acer www.packardbell.com, packard-bell.co.za) Packard Bell: regex: '(PB1009|M10[45]00|M7500|M7600-D|DAYTONA-G12|MONZA-T7|SILVERSTONE-T(?:5A|10)|EasyNote TV11HC)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'DAYTONA-G12' device: 'smartphone' model: 'Daytona G12' - regex: 'MONZA-T7' model: 'Monza T7' - regex: 'SILVERSTONE-(T5A|T10)' model: 'Silverstone $1' - regex: '(PB1009|M10[45]00|M7500|M7600-D)(?:[);/ ]|$)' model: '$1' - regex: 'EasyNote TV11HC' device: 'desktop' model: 'EasyNote TV11HC' # Qnet Mobile (qnetmobile.com) Qnet Mobile: regex: 'Passion[ _]P|Hynex plus|Stark K1|Hynex H[356]|Levin V[12]|Aston A[357]\+' device: 'smartphone' models: - regex: 'Passion[ _](P[0-9]+)' model: 'Passion $1' - regex: 'Hynex plus( 2)?' model: 'Hynex Plus$1' - regex: 'Stark K1' model: 'Stark K1' - regex: 'Hynex (H[356])\+' model: 'Hynex $1 Plus' - regex: 'Hynex (H[35])' model: 'Hynex $1' - regex: 'Levin (V[12])' model: 'Levin $1' - regex: 'Aston A([357])\+' model: 'Aston A$1 Plus' # Bluebird (www.bluebirdcorp.com) Bluebird: regex: '(VF550|EF501R?)(:_RU)?(?:[);/ ]|$)' device: 'smartphone' model: '$1' # terminal + smartphone # Mara or MaraPhones (maraphones.com) Mara: regex: 'Mara(?: Phones)?[ _](Z1?|X1|S)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # BMAX (www.bmaxit.com) BMAX: regex: '(?:I11_Plus(?:_EEA)?|(?:I11|I10(Plus)?|I9_Plus)_EEA|I9_Plus|Android 11(?:[\d.]*);(?: [\w-]+;)? I11|I10_Pro|I10Plus)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'I10_?(Plus|Pro)?(?:_(?:EEA|ROW))?(?:[);/ ]|$)' model: 'MaxPad I10 $1' - regex: 'I11(?:_EEA)?(?:[);/ ]|$)' model: 'MaxPad I11' - regex: 'I(11|9)_Plus(?:_EEA)?(?:[);/ ]|$)' model: 'MaxPad I$1 Plus' # Geotex (geotex.tv) Geotex: regex: '(GTX-R10i Pro|GTX-R10i|GTX-98Q)(?:[);/ ]|$)' device: 'tv' model: '$1' # DING DING DING DING: regex: 'DINGDING[ _-](SK\d)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Trident (www.trident.com.tr) Trident: regex: '(A23 Max|A75 Pro Max)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Trimble (https://www.trimble.com/) Trimble: regex: 'MobileMapper' device: 'smartphone' models: - regex: 'MobileMapper60(?:_2)?(?:[);/ ]|$)' model: 'MobileMapper 60' # OKSI OKSI: regex: '(GEN-10|GT1001)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Taiga System or TaigaPhone (taigaphone.ru) Taiga System: regex: '(?:TP_1_3000)(?:[);/ ]|$)' device: 'smartphone' model: 'TaigaPhone 1' # Glofiish (glofiish.ua) Glofiish: regex: 'glofiish[ _]|(?:Gpad_U)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Gpad_U' model: 'G Pad U' - regex: 'Gpad Air' device: 'tablet' model: 'G Pad Air' # Glory Star (https://www.glorystartouch.com/) Glory Star: regex: 'StarOS' device: 'tablet' model: '' # Polar (polar.ru) Polar: regex: 'Polar(?:_W?K?)?[_ ]P\d{2}|(?:P42L31T2CSM|P32L33T2CSM)(?:[);/ ]|$)' device: 'tv' models: - regex: '(?:Polar(?:_W?K?)?[_ ])?(P\d{2}[LU]\d{2}T2S?CSM)(?:[);/ ]|$)' model: '$1' # Polarline (sub brand Polar) PolarLine: regex: 'PolarLine[_ ](?:W?K?[_ ])?(\d{2}P[LU]\d{2}S?TC-SM)(?:[);/ ]|$)' device: 'tv' model: '$1' # MyGica (www.mygica.com) MyGica: regex: 'MyGica[_ ]' device: 'tv' models: - regex: 'HDR (Quad Core|Smart TV) Box' model: 'HDR $1 Box' - regex: 'Quad core Enjoy tv box' model: 'Quad Core Enjoy TV Box' - regex: 'ATV(19[60]0|495 Pro 16G)' model: 'ATV$1' # neoCore (https://neocore.store/) neoCore: regex: 'neocore_?' device: 'tablet' models: - regex: 'neocore_N1G1(?:[);/ ]|$)' model: 'N1 G1' - regex: 'neocore E1-2(?:[);/ ]|$)' model: 'E1+' - regex: 'NEOCORE_E2(?:[);/ ]|$)' model: 'E2' # Novex Novex: regex: '(NWX-40F171MSY|NVX-32H219MSY|NVX-43U329MSY|NVX-39H211MSY|NWX-43F149MSYv?|NWX-24H121MSY|NWX-24H121WSY|NWX-32H171MSY|NVX-55U321MSY|NVX-50U329MSY|NWX-65U169TSY-A|NVX-65U321MSY)(?:[);/ ]|$)' device: 'tv' model: '$1' # Epson (epson.com) Epson: regex: 'Projector(?:[);/ ]|$)' device: 'peripheral' model: 'HA14A LCD Projector' # sti6200-d101 # Awow or AWOW (awowtech.com) Awow: regex: '(?:AWOW_)?(?:UTBook|CreaPad_100[359](?:_EEA)?)' device: 'tablet' models: - regex: '(?:AWOW_)?(UTBook|CreaPad_100[359])' model: '$1' # Mitsui (www.diamond-electronics.com) Mitsui: regex: '(MC32020)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Gocomma Gocomma: regex: 'H1-C-ALADENG' device: 'wearable' model: 'W5' # LEMFO LEMFO: regex: '(?:LEM1[456]|LEM12Pro)(?:[);/ ]|$)' device: 'wearable' models: - regex: '(LEM12)Pro' model: '$1 Pro' - regex: '(LEM1[456])' model: '$1' # Urovo (en.urovo.com) Urovo: regex: '(?:DT[245]0|i6200[AS])(?:[);/ ]|$)' device: 'tablet' models: - regex: '(DT[245]0|i6200[AS])' device: 'peripheral' model: '$1' # Neon IQ or NeonIQ Neon IQ: regex: '(?:NQT-(?:101|7)[34]GIQ(?:11)?|NQT-7W)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(NQT-1013GIQ11)' model: '$1' - regex: 'NQT-101([34])GIQ' model: 'Tab 10.1" $1G' - regex: 'NQT-7([34])GIQ' model: 'Tab 7" $1G' - regex: 'NQT-7W' model: 'Tab 7" WiFi' # Aocos Aocos: regex: 'AOCOS ([^);/]+)(?: Build|[);])' device: 'tablet' model: '$1' # Parrot Mobile Parrot Mobile: regex: '(Xplorer_2)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Partner Mobile (https://partnermobile.com/) Partner Mobile: regex: 'EV1 PRO|Partner[_ ]Evolution(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Partner[_ ]Evolution' model: 'Evolution' - regex: 'EV1 PRO' model: 'EV1 Pro' # Bubblegum (bubblegumtablets.co.za) Bubblegum: regex: '(BUB6R-3T)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Erisson Erisson: regex: '(24LM8002CT2|42FLEA73T2SM|43FLES90[12]T2SM|42FLX9060T2|32LX9000CT|39LES80T2SM|32LX9051T2|43ULX9060T2|32LX9050T2|55ULES92T2SM|32LEA73T2SM|32LES90[24]T2SM|42FLES904T2SM)(?:[);/ ]|$)' device: 'tv' model: '$1' # Liberton (liberton.ua) Liberton: regex: '((?:24|32)TP1HDTA1)(?:[);/ ]|$)' device: 'tv' model: '$1' # Soho Style Soho Style: regex: '((?:S1586K|SS(?:5[23]14|5[47]24)G))(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Shivaki Shivaki: regex: 'STV[-_](40LED25S|40LED42S|32LED42S|32LED30C)(?:[);/ ]|$)' device: 'tv' model: 'STV-$1' # Meizu Meizu: regex: 'Meizu|MZ-(?!Fast)[A-Z]|(?<!POCO )(M04[05]|MZ-16th(?: Plus)?|MZ-16[st]|M7[12]1C|M35[1356]|M612C|M578CA|M181[36]|M1822|M681C|M6T|MX[ -]?[2345](?: Pro)?|(?:MZ-)?m[1-6] note|M621C|M1852|M57[18]C|M3[ESX]|M3 Max|M031|m1 metal|M1 E|(?<!Nubia |STELLAR )M2|M2 E|M5s Build|PRO [567]|PRO 7-[HS]| 15 Lite| 16th|MZ-15 (?:Lite|Plus)|15 Plus|MZ-16 X| 16 X| 16T|MX6| M5c|16s Pro|Android 8(?:[\d.]*);(?: [\w-]+;)? 16)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:MZ-)?M571C' device: 'phablet' model: 'M2 Note' - regex: '(?:MZ-|Meizu-)?m([1-6])[_ ]note(?:[);/ ]|$)' device: 'phablet' model: 'M$1 Note' - regex: '(?:MZ-)?M1 E(?:[);/ ]|$)' model: 'M1E' - regex: 'M2 E(?:[);/ ]|$)' model: 'M2E' - regex: '(?:MZ-)?M578C[A]?|M2(?:[);/ ]|$)' model: 'M2' - regex: 'M681C(?:[);/ ]|$)' model: 'M3 Note' device: 'phablet' - regex: 'M621C(?:[);/ ]|$)' model: 'M5 Note' device: 'phablet' - regex: 'M711C(?:[);/ ]|$)' model: 'M6' - regex: 'M721C(?:[);/ ]|$)' model: 'M6 Note' device: 'phablet' - regex: '(M6T|MX6|M3E|M3X)(?:[);/ ]|$)' model: '$1' - regex: '(?:MZ-)?M3S(?:[);/ ]|$)' model: 'M3s' - regex: '(?:MZ-)?M3 Max(?:[);/ ]|$)' model: 'M3 Max' - regex: 'M5S|M612C' model: 'M5S' - regex: '(?:MZ-)?M5c(?:[);/ ]|$)' model: 'M5c' - regex: '(M04[05]|MX[ -]?2)(?:[);/ ]|$)' model: 'MX2' - regex: '(M35[1356]|MX[ -]?3)(?:[);/ ]|$)' model: 'MX3' - regex: 'MX[ -]?4 Pro(?:[);/ ]|$)' model: 'MX4 Pro' - regex: 'MX[ -]?4(?:[);/ ]|$)' model: 'MX4' - regex: '(Meizu[- _])?MX[ -]?5(?:[);/ ]|$)' model: 'MX5' - regex: 'm1 metal' model: 'M1 Metal' - regex: 'M1813(?:[);/ ]|$)' model: 'M8' - regex: '(?:M1816|M8 lite)(?:[);/ ]|$)' model: 'M8 Lite' - regex: 'M8c Pro(?:[);/ ]|$)' model: 'M8c Pro' - regex: 'PRO 7-[HS](?:[);/ ]|$)' model: 'PRO 7' - regex: 'PRO ([76]) Plus(?:[);/ ]|$)' model: 'PRO $1 Plus' - regex: 'PRO ([567])' model: 'PRO $1' - regex: 'M031(?:[);/ ]|$)' model: 'MX Dual Core' - regex: 'M1852(?:[);/ ]|$)' model: 'X8' - regex: 'M1822(?:[);/ ]|$)' model: 'Note 8' - regex: '(?:MZ-)?16T(?:[);/ ]|$)' model: '16T' - regex: '(?:MZ-)?16th Plus(?:[);/ ]|$)' model: '16th Plus' - regex: '(?:MZ-)?15 Plus(?:[);/ ]|$)' model: '15 Plus' - regex: '(?:MZ-15 Lite| 15 Lite)(?:[);/ ]|$)' model: '15 Lite' - regex: 'MZ-16th| 16th(?:[);/ ]|$)' model: '16th' - regex: '(?:MZ-)?16 X(?:[);/ ]|$)' model: '16X' - regex: '16(?: Build|[;)]|$)' model: '16' - regex: '(?:MZ-)?16s Pro(?:[);/ ]|$)' model: '16s Pro' - regex: 'meizu (17|C9|20) Pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'MZ-?M3(?:[);/ ]|$)' model: 'M3' - regex: '(?:Meizu[_ ])?note([89])(?:[);/ ]|$)' device: 'phablet' model: 'Note $1' - regex: '(?:MZ-)?Meizu[_ ]([^/;]+) Build' model: '$1' - regex: '(?:MZ-)?Meizu[_ ]([a-z0-9_]+)' model: '$1' - regex: 'MZ-([^/;]+) Build' model: '$1' # Athesi or Athesi Professional (https://www.athesi-professional.com/) Athesi: regex: '(?:AP570[12]|AP5705S|AP6301)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(AP570[12]|AP5705S|AP6301)(?:[);/ ]|$)' model: '$1' # Atmaca Elektronik (http://www.atmacaelektronik.com.tr/) Atmaca Elektronik: regex: 'ATMACA_' device: 'tv' model: '' # Atvio Atvio: regex: '(100011886BK)(?:[);/ ]|$)' device: 'tablet' model: '$1' # XY AUTO or XY LINK OR CAR AUDIO XY Auto: regex: '(YT5760[ABL]|YT5716C?|YT7216C?|YT7260[BL]|YT9216[BC]J|YT9213AJ|YT9270)(?:[);/ ]|$)' device: 'car browser' model: '$1' # Alps Alps: regex: '(?:FF-5000|ZQ8003|825X_Pro|03_v89_jbl|benz_hy1920x720|8227L_demo|tb8163p3_bsp)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(FF-5000)' # for Ford Mustang (FFKJ) device: 'car browser' model: '$1' - regex: '(ZQ8003|825X_Pro|benz_hy|8227L_demo|tb8163p3_bsp)(?:1920x720)?' device: 'car browser' model: '$1' # Starwind (starwind.com.ru) Starwind: regex: 'Smart_Starwind|(?:SW-LED(?:24SG303|32SB30[02]|42SB300|43SB304|40SG300|40SB304|43SG30[20]|43UB404|43UG40[0135]|32SG3(?:0[01245]|11)|55UG40[03]|58UG401|5[05]UB401|50UG40[03]|65UG403|5[08]UB400|58UA401))(?:[);/ ]|$)' device: 'tv' models: - regex: 'SW-LED(\d{2}[SU][ABG]\d{3})' model: 'SW-LED$1' # QTECH (https://www.qtech.ru/en/) QTECH: regex: '(?:QMP_K8| QMP-M1-N-IP)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'QMP[_-](K8|M1)' model: 'QMP $1' # Prology (www.prology.ru) Prology: regex: '(MPC-(?:[57]0|65|100)|MPC-110DSP)(?:[);/ ]|$)' device: 'car browser' model: '$1' # Polestar (polestar.com) Polestar: regex: 'Polestar(?:[);/ ]|$)' device: 'car browser' model: '' # Porsche (porsche.com) Porsche: regex: 'Porsche Rear Seat Entertainment' device: 'car browser' model: '' # Portfolio Portfolio: regex: '(V100M4L)(?:[);/ ]|$)' device: 'tablet' model: '$1' # NavRoad (navroad.com) NavRoad: regex: '(?:NEXO (?:Smarty|handy|SMART DUO|Evo)|MOVIO 2)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Nexo Smarty' model: 'Nexo Smarty' - regex: 'Nexo handy' model: 'Nexo Handy' - regex: 'NEXO SMART DUO' device: 'tablet' model: 'Nexo Smart Duo' - regex: 'NEXO EVO' device: 'tablet' model: 'Nexo Evo' - regex: 'MOVIO 2' device: 'tablet' model: 'Movio 2' # Smarty (smarty.by) Smarty: regex: 'Smarty[_ ]' device: 'tablet' models: - regex: 'Mini ?(7L?)' model: 'Mini $1' - regex: 'Maxi 10L' model: 'Maxi 10L' # Leff Leff: regex: '(32[FH]540S|32H5[235]0T|32F550T|32H650S|43U540S|43U550T|5[05]U5[14]0S|55U630S|65U520S|40F540S|40F550T|43F5[35]0T|32H511T|24H5[12]0T|28H540S|28H550T|50U6[23]0S|55U620S|43F511T|43F520T)(?:[);/ ]|$)' device: 'tv' model: '$1' # DF or DFGroup (dfgroup.ru) DF: regex: '(?:JAGUAR|SATURN|TIGER|PUMA)-0\dC?(?:[);/ ]|$)' device: 'tablet' models: - regex: 'JAGUAR-01' model: 'Jaguar 01' - regex: 'SATURN-(02C?)' model: 'Saturn $1' - regex: 'TIGER-01' model: 'Tiger 01' - regex: 'PUMA-01' model: 'Puma 01' # BDQ or BDQ Mobile (bdqholdings.co.mz) BDQ: regex: '(?:SMART_B19|Destiny)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'SMART_B19' model: 'Smart B19' - regex: 'Destiny' device: 'tablet' model: 'Destiny' # TuCEL TuCEL: regex: '(TL554B|TC504B)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # FEONAL FEONAL: regex: '(K11[038]|D118)_EEA(?:[);/ ]|$)' device: 'tablet' model: '$1' # Sunmi (www.sunmi.com) Sunmi: regex: '(?:V1s-G|T2s_LITE|V2_PRO-ST)(?:[);/ ]|$)' device: 'peripheral' models: - regex: 'T2s_LITE(?:[);/ ]|$)' # monoblock and terminal device: 'smart display' model: 'T2s Lite' - regex: '(V1s)-G' model: '$1' - regex: 'V2_PRO-ST' model: 'V2 Pro ST' # iData (idataglobal.com) iData: regex: 'iData[ _](K1|50|i3AL)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # iDino iDino: regex: 'NOTEBOOK6(?:[);/ ]|$)' device: 'tablet' model: 'Notebook 6' # AIDATA AIDATA: regex: '(?:AIDATA ELDE 10 TABLET|ADT_?1061(?:_1)?|ADT1012L)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'ADT_?1061(?:_1)?' model: 'ADT 1061' - regex: 'ADT1012L' model: 'ADT 1012L' - regex: 'ELDE 10' model: 'ELDE 10' # Ematic (ematic.us) Ematic: regex: '(EGQ101)(?:[);/ ]|$)' device: 'tablet' model: '$1' # GLONYX GLONYX: regex: 'Quartz(T10-3)(?:[);/ ]|$)' device: 'tablet' model: 'Quartz $1' # Zyrex Zyrex: regex: 'ZT216' device: 'tablet' model: 'ZT216' # Orbita or Orbit Orbita: regex: '(OT-DVB\d{2})(?:[);/ ]|$)' device: 'tv' model: '$1' # TAG Tech or TAG-Tech or Talal Abu-Ghazaleh Global (www.tagtech.global) TAG Tech: regex: '(?:TAG[ -]TAB[ -]III?|TAGPhone)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'TAG[ -]TAB[ -](III?)' model: 'Tab $1' - regex: 'TAGPhone advanced' device: 'smartphone' model: 'Phone Advanced' - regex: 'TAGPhone(?:[);/ ]|$)' device: 'smartphone' model: 'Phone' # DUNNS Mobile or DUNNS DUNNS Mobile: regex: 'DUNNS[ _]|DunnsExecutive' device: 'smartphone' models: - regex: 'DUNNS[ _](Slinger)(?:[);/ ]|$)' model: '$1' - regex: 'DUNNS[ _]?(?:MOBILE[ _])?(703GDC|AT1001|Executive)(?:[);/ ]|$)' device: 'tablet' model: '$1' # inovo (inovo.co.th) inovo: regex: '(I 618 APP plus\+)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'I 618 APP plus\+' model: 'I618 App Plus+' # iNOVA iNOVA: regex: '(EX1080)(?:[);/ ]|$)' device: 'tablet' model: '$1' # eNOVA eNOVA: regex: 'eNOVA|(?:TAE08N10)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'eNOVA TAB 10 LTE' device: 'tablet' model: 'Tab 10" LTE' - regex: '(TAE08N10)' device: 'tablet' model: '$1' # Amino or Aminocom (www.amino.tv) Amino: regex: '(?:Amigo7x?(?:YUF|SCB)?)(?:[);/ ]|$)' device: 'tv' models: - regex: 'Amigo7x' model: 'Amigo 7x' - regex: 'Amigo7' model: 'Amigo 7' # Saiet (acquistaonline.saiet.it) Saiet: regex: '(?:STS5[57]0|STS502)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(STS5[57]0)' model: 'Sicuro Smart $1' - regex: '(STS502)' model: '$1' # Magicsee (magicsees.com) Magicsee: regex: '(?:N5NOVA|IRON\+|N5Max_X4)(?:[);/ ]|$)' device: 'tv' models: - regex: 'N5NOVA' model: 'N5 Nova' - regex: 'IRON\+' model: 'Iron+' - regex: 'N5Max_X4' model: 'N5 Max X4' # Obabox (www.obabox.com.br) Obabox: regex: '(?:OBA_?(?:SMART_3|Conecta_Max|Conecta_4G))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'OBASMART_3' model: 'Smart 3' - regex: 'OBA_(Conecta_(?:Max|4G))' model: '$1' # iKon (ikonhome.com) iKon: regex: '(IK-102[58]|IK-1106|IK-7108|IK-787)(?:[);/ ]|$)' device: 'tablet' model: '$1' # iKonia iKonia: regex: '(?:Jarvis7_85)(?:[);/ ]|$)' device: 'tablet' model: 'Jarvis 7.85' # QLink or Q Link Wireless (https://qlinkwireless.com/) QLink: regex: '(?:Scepter[ _]?8(?: Tablet)?)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Scepter[ _]?8' model: 'Scepter 8' # IRA or IRA (explore more) (wishtel.com) IRA: regex: '(?:IRA_DUO|IRAW7258)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(IRAW7258)' model: '$1' - regex: 'IRA_DUO' model: 'Duo Tablet' # Microtech (microtech.store) Microtech: regex: '(?:ETL101(?:GB|AL)|ETW101GT(?:_C)?)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'ETW101GT' model: 'E-Tab WiFi' - regex: 'ETL101(?:GB|AL)' model: 'E-Tab LTE' # G-PLUS G-PLUS: regex: '(?:GNE-N001S)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GNE-N001S' model: 'A3' # Gplus (gpluselectronics.com) Gplus: regex: 'GTV-|(?:Gplus[ _](?:[ZXP]10\+?|N809|F53|S9701|FW6950|A2_Plus|S10)|GMC-(?:7127M|668[NM]))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GMC-7127M' model: 'X20' - regex: 'GMC-668N' model: 'Q20S' - regex: 'GMC-668M' model: 'Q20' - regex: 'Gplus[ _]([ZXP]10\+?|N809|F53|S9701|FW6950|A2_Plus|S10)(?:[);/ ]|$)' model: '$1' - regex: 'GTV-(50PU744N)(?:[);/ ]|$)' device: 'tv' model: '$1' # Eurocase (eurocase.com) Eurocase: regex: '(EUTB_758G?)' device: 'tablet' models: - regex: 'EUTB_758G_TABI_Argos_KIDS' model: 'TABI Argos Kids 758G' # VEON VEON: regex: 'VEON[_ ]|VEON[_ ](?:C8680)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VEON[_ ](C8680)(?:[);/ ]|$)' model: '$1' - regex: 'VEON 4K Smart TV(?:[);/ ]|$)' device: 'tv' model: '4K Smart TV' # FiGi (figi-mobile.com) FiGi: regex: 'FIGI[_ ]|(?:Note_(?:[37]|11)_Pro|Note_(?:1C|5)|Note_1_Lite|Nopal|[MGF]two|Hola)(?:[);/ ]|$)|Android 8(?:[\d.]*);(?: [\w-]+;)? Fj(?: Build|[;)])' device: 'smartphone' models: - regex: 'Nopal' model: 'Nopal' - regex: 'FIGI[_ ]P40 Max' model: 'P40 Max' - regex: 'FIGI[_ ]P40' model: 'P40' - regex: 'Hola' model: 'Hola' - regex: '([MGF])two' model: '$1two' - regex: '(FSE1020)' model: '$1' - regex: 'Fj(?: Build|[;)])' model: 'Fj' - regex: 'Note_1C' model: 'Note 1C' - regex: 'Note_5' model: 'Note 5' - regex: 'Note_([37]|11)_Pro' device: 'phablet' model: 'Note $1 Pro' - regex: 'Note_(1)_Lite' device: 'phablet' model: 'Note $1 Lite' # iSafe Mobile or i.safe (www.isafe-mobile.com) iSafe Mobile: regex: '(?:IS655|IS[35]30)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(IS[35]30)' model: '$1' - regex: '(IS655)' model: '$1.RG' # Tigers Tigers: regex: 'TIS001[_-]|TIS_?001' device: 'smartphone' models: - regex: 'TIS001[_-]S([34])(?:[);/ ]|$)' model: 'TIS001 S$1' - regex: 'TIS001[_-]T2(?:[);/ ]|$)' model: 'TIS001 T2' - regex: 'TIS_?001([ABC])?' model: 'TIS001$1' # Redfox (redfox.global) Redfox: regex: '(?:Wizpad_)?Valuer_V8' device: 'tablet' models: - regex: '(?:Wizpad_)?Valuer_V8' model: 'Wizpad Valuer V8' # Vinabox (vinabox.tv) Vinabox: regex: 'Vinabox' device: 'tv' models: - regex: 'Vinabox[-_ ]X(\d*)[-_ ](2018)' model: 'X$1 ($2)' - regex: 'Vinabox[-_ ]X(\d*)[-_ ]?Plus' model: 'X$1 Plus' - regex: 'Vinabox[-_ ]([^/;)]+)(?: Build|[);])' model: '$1' # Vios Vios: regex: 'VMP0617' device: 'smartphone' models: - regex: 'VMP0617(?:[);/ ]|$)' model: 'VMP0617' # Beista Beista: regex: '(X104)-EEA(?:[);/ ]|$)' device: 'tablet' model: '$1' # YOTOPT (www.yotopt.com) YOTOPT: regex: '(?:X109|(?:Y103|Y61|Q11)[-_]EEA)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Y103|Q11|Y61)[-_]EEA' model: '$1' - regex: '(X109)(?:[);/ ]|$)' model: '$1' # Ookee Ookee: regex: 'OokeeOne' device: 'smartphone' model: 'One' # TOSCIDO (www.toscido.com) TOSCIDO: regex: '(?:(?:T1[235]|T151|T2[1268])-EEA|W-?109)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(T1[235]|T151|T2[1268])-EEA(?:[);/ ]|$)' model: '$1' - regex: 'W-?109(?:[);/ ]|$)' model: 'W109' # b2m: b2m: regex: 'Decade 53(?:[);/ ]|$)' device: 'smartphone' model: 'Decade 53' # Koslam Koslam: regex: '(KL1071Z|KL1084)' device: 'tablet' model: '$1' # S2Tel S2Tel: regex: 'S2TEL[ _-]' device: 'smartphone' models: - regex: 'S2TEL-(Q8)' device: 'tablet' model: '$1' # Massgo Massgo: regex: 'Massgo[ _]' device: 'smartphone' models: - regex: 'Massgo[ _]VI2S' model: 'Vi2 S' - regex: 'Massgo[ _]([^/;)]+)(?: Build|[);])' model: '$1' # Angelcare Angelcare: regex: 'angelcare[ _]' device: 'smartphone' models: - regex: 'F20 ?pro' model: 'F20 Pro' - regex: 'angelcare[ _]([^/;)]+)(?: Build|[);])' model: '$1' # iPEGTOP iPEGTOP: regex: 'IPEGTOP' device: 'smartphone' models: - regex: 'iPEGTOP[ _](Z26)' model: '$1' # Jedi Jedi: regex: 'Remix (?:Pro|Mini)' device: 'desktop' models: - regex: 'Remix Pro' device: 'tablet' model: 'Remix Pro' - regex: 'Remix Mini' model: 'Remix Mini' # Technopc (en.technopc.com.tr) Technopc: regex: '(?:UP10SI[34]6LA|UP918|UP7[67]8|UP1018|UP10_SH36LAG|Ultrapad_UP10\.S36LA)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(UP10SI[34]6LA|UP918|UP778|UP768|UP1018)' model: 'UltraPad $1' - regex: '(?:Ultrapad_)?UP10[_.](SH36LAG|S36LA)' model: 'UltraPad UP10$1' # Techstorm Techstorm: regex: 'Allwinner Nitro Pro(?:[);/ ]|$)' device: 'tv' model: 'Nitro Pro' # OMIX or OMIX Mobile (omixmobile.com) OMIX: regex: 'OMIX[ _.]|(?:X600 NFC|Android 1[12](?:[\d.]*);(?: [\w-]+;)? X[467]00)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'X600 NFC' model: 'X600 NFC' - regex: 'X(\d*)' model: 'X$1' # Nexa Nexa: regex: 'Nexa[ _](?:Atlas|Vega N1)' device: 'smartphone' models: - regex: 'Nexa[ _](Vega N1)' model: '$1' - regex: 'Nexa[ _](Atlas)' device: 'tablet' model: '$1' # Onkyo (eu.onkyo.com) Onkyo: regex: '(?:DP-CMX1|TA2C-M8)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(TA2C-M8)' device: 'tablet' model: '$1' - regex: '(DP-CMX1)' model: '$1' # Royole (global.royole.com) Royole: regex: 'Royole' device: 'tablet' models: - regex: 'FlexPai 2' model: 'FlexPai 2' - regex: 'FlexPai' model: 'FlexPai' # DORLAND (dorland-tech.com/) DORLAND: regex: '(Aloha_5G)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Hamlet (english.hamletcom.com) Hamlet: regex: 'Hamlet[ _]|XZPAD412LTE' device: 'tablet' models: - regex: '(?:Hamlet[ _])?XZPAD(412W|412LTE)' model: 'Zelig Pad $1' # Vorcom Vorcom: regex: '(?:SXPro|S7-classic|SXPRO_classic|QuartzLITE)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SXPRO_classic' model: 'SX Pro Classic' - regex: 'SXPro' model: 'SX Pro' - regex: 'S7-classic' model: 'S7 Classic' - regex: 'QuartzLITE' model: 'Quartz Lite' # UNNO UNNO: regex: 'UNNO[_ ]' device: 'smartphone' models: - regex: 'UNNO[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # VDVD VDVD: regex: 'VDVD[_ ](P20|IX21)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Autan Autan: regex: 'R2021W2(?:[);/ ]|$)' device: 'wearable' models: - regex: '(R2021W2)' # Shenzhen Le Dai Technology model: '$1' # ecom Pepperl+Fuchs ecom: regex: '(Smart-Ex02|Ex-Handy 10)(?: (?:ROW|RUS))?(?:[);/ ]|$)' device: 'smartphone' model: '$1' # LOKMAT LOKMAT: regex: '(APPLLP Max|APPLLP2?)(?:[);/ ]|$)' device: 'wearable' model: '$1' # Joy Joy: regex: 'Joy (?:HH|JD)' device: 'smartphone' models: - regex: 'Joy[ _]([^/;)]+)(?: Build|[);])' model: '$1' # iWaylink (https://www.imotiongroup.com/) iWaylink: regex: '(?:MC401_GWL)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(MC401)_GWL' # Mobile+Terminal device: 'peripheral' model: '$1' # VOGA VOGA: regex: 'VOGA[ _]' device: 'smartphone' models: - regex: 'VOGA 55909' model: 'V' # Haipai Haipai: regex: 'Haipai' device: 'smartphone' models: - regex: 'Haipai ?noble S6' model: 'Noble S6' # OYSIN OYSIN: regex: 'OYSIN[ _]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # Leke Leke: regex: 'Leke[ _]Pad-([^/;)]+)(?: Build|[);])' device: 'tablet' model: 'Pad-$1' # ROADMAX ROADMAX: regex: 'FORTIUS QUAD 7(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Fortius Quad 7' model: 'Fortius Quad 7' # BDsharing BDsharing: regex: 'BDS2 Plus' device: 'smartphone' model: 'BDS2 Plus' # Pelitt Pelitt: regex: 'Pelitt[ _]' device: 'smartphone' models: - regex: 'Pelitt T1 MAX' model: 'T1 Max' - regex: 'Pelitt T1 PLUS' model: 'T1 Plus' # Benesse Benesse: regex: '(TAB-A03-(?:BR2|BS))(?:[);/ ]|$)' device: 'tablet' model: '$1' # Airtel Airtel: regex: 'Airtel[ _]' device: 'smartphone' models: - regex: 'Airpad 7-s' device: 'tablet' model: 'AirPad 7S' - regex: 'Imagine(?:[);/ ]|$)' model: 'Imagine' # MAXX MAXX: regex: '(T1270G)(?:[);/ ]|$)' device: 'tablet' model: '$1' # TENPLUS TENPLUS: regex: 'TENPLUS[_ ]([^/;)]+)(?: Build|[);])' device: 'tablet' model: '$1' # HAOVM HAOVM: regex: '(T2000)(?: Build|[);])' device: 'tablet' model: '$1' # VUCATIMES VUCATIMES: regex: 'VucaPad' device: 'tablet' models: - regex: 'VucaPad_(\w+)' model: '$1' # Aoro (www.aoro.hk) Aoro: regex: 'Aoro[ _]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # EBEN EBEN: regex: 'EBEN[ _]([^/;)]+)(?: Build|[);])' device: 'tablet' model: '$1' # X-AGE or X-AGE Mobile X-AGE: regex: 'G1LITE(?:[);/ ]|$)' device: 'smartphone' model: 'G1 Lite' # Zonko Zonko: regex: '(?:K101_EEA|K118)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'K(101|118)' model: 'K$1' # TJC (www.tjc-jp.com) TJC: regex: 'Metal_Tablet_10(?:[);/ ]|$)' device: 'tablet' model: 'Metal Tablet 10' # TJD or TJD(SZ) TJD: regex: '(MT-1011QR)(?:[);/ ]|$)' device: 'tablet' model: '$1' # HOTREALS HOTREALS: regex: 'HOTREALS' device: 'tablet' models: - regex: 'HOTREALS(?:[);/ ]|$)' model: 'Tablet PC 10.1"' # ZEEKER Zeeker: regex: 'ZEEKER' device: 'smartphone' models: - regex: 'ZEEKER[ _](P10|T100)' model: '$1' # AUX AUX: regex: 'AUX[ _]([^/;)]+)(?:_TD)' device: 'smartphone' model: '$1' # Neolix Neolix: regex: 'Neolix[ _-]' device: 'smartphone' models: - regex: 'Neolix[ _-]T7[_ ]' model: 'T7' - regex: 'Neolix[ _-]1-C-' model: '1C' - regex: 'Neolix[ _-]([^/;)]+)(?: Build|[);])' model: '$1' # ATMAN ATMAN: regex: 'ATMAN[ _-]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # EYU EYU: regex: 'EYU[ _-](T53|T7)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # FOODO FOODO: regex: 'FOODO[ _-](X10)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # YEPEN YEPEN: regex: 'M20201419(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'M20201419' model: 'X12 Pro Max' # BROR BROR: regex: 'BROR[_ ]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # Vortex (https://vortexcellular.com/) Vortex: regex: '(Android 13(?:[\d.]*);(?: [\w-]+;)? (?:HD65)|ZG65|SYNQ|CMG101|CM62|CG65|T10M_Pro|HD55|HD60[iL]?|HD62|HD68|ZTAB10|BTAB10|HD65[ _](?:Choice|Select|Ultra|PLUS)|ZG55|ZG65 Pro|V39TPHE01S|V32TPHDE1S|V24TPHDE1S)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'ZG65 Pro' model: 'ZG65 Pro' - regex: 'HD65[_ ]Choice' model: 'HD65 Choice' - regex: 'HD65[_ ]Ultra' model: 'HD65 Ultra' - regex: 'HD65[_ ]Select' model: 'HD65 Select' - regex: 'HD65[_ ]PLUS' model: 'HD65 Plus' - regex: '(SYNQ|CM62|CG65|ZG55|HD55|HD60[iL]?|HD6[258]|ZG65)' model: '$1' - regex: '(CMG101)' device: 'tablet' model: '$1' - regex: 'T10M_Pro' device: 'tablet' model: 'T10M Pro' - regex: 'ZTAB10' device: 'tablet' model: 'Z Tab 10' - regex: 'BTAB10' device: 'tablet' model: 'B Tab 10' - regex: '(V39TPHE01S|V32TPHDE1S|V24TPHDE1S)' device: 'tv' model: '$1' # Xiaodu or Baidu Xiaodu Xiaodu: regex: '(XDH-(?:0F-A1|1[78]-A1|21-A1|29-B1|2A-B1)|XD-SDD05-2101)(?:[);/ ]|$)' device: 'smart display' model: '$1' # AXXA AXXA: regex: 'AXXA[ _]' device: 'smartphone' models: - regex: 'AXXA[ _](S\d+)[ _]PLUS' model: '$1 Plus' - regex: 'AXXA[ _](S\d+)' model: '$1' # AYYA AYYA: regex: 'AYYA[ _]|(?:Ayat101)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AYYA[ _](T1)' model: '$1' - regex: 'Ayat101' model: 'Ayat 101' # Future Mobile Technology Future Mobile Technology: regex: '(FXT810R)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # MBK (byterg.com) MBK: regex: '(MBK-T2101)(?:[);/ ]|$)' device: 'tablet' model: '$1' # MBI International MBI: regex: 'MBI[_ ](R7)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # OUJIA OUJIA: regex: 'OUJIA' device: 'smartphone' models: - regex: '2018-S10MAX' model: 'S10 Max' - regex: 'OUJIA(?:2018)?[-_ ]S20' model: 'S20' - regex: 'S27 PLUS' model: 'S27 Plus' - regex: 'OUJIA[ _](S10|S8|S11|T50|S2[79]|2019)(?:[);/ ]|$)' model: '$1' # Qware Qware: regex: 'QW[ _-]TB-\w+' device: 'tablet' models: - regex: 'TB-9718Q' model: 'Pro 5' - regex: 'TB-1380Q' model: 'Pro 4' - regex: 'TB-1317Q' model: 'Pro 3' - regex: 'TB-1517D' model: 'Tabby' - regex: 'QW[ _-](TB-\w+)' model: '$1' # Listo Listo: regex: 'Webpad[_ ]?(100[123]|7007)' device: 'tablet' model: 'WebPad $1' # ECON ECON: regex: '(EX-32HS01[67]B|EX-32HS006B|EX-39HS004B|EX-50US003B|EX-60US001B)' device: 'tv' model: '$1' # LNMBBS LNMBBS: regex: '(H11)-EEA(?:[);/ ]|$)' device: 'tablet' model: '$1' # SNAMI SNAMI: regex: 'SNAMI[_ ]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # TeachTouch (ttouch.ru) TeachTouch: regex: 'TeachTouch[_ ]' device: 'peripheral' models: - regex: 'TeachTouch (Table)' model: '$1' # Facetel Facetel: regex: '(?:Q3_EEA|Q3pro|Q10-EEA)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Q3_EEA(?:[);/ ]|$)' model: 'Q3' - regex: 'Q10-EEA(?:[);/ ]|$)' model: 'Q10' - regex: 'Q3pro(?:[);/ ]|$)' model: 'Q3 Pro' # HLLO or Exertis HLLO HLLO: regex: '(SMB-H8009)(?:[);/ ]|$)' device: 'tablet' model: '$1' # YUMKEM YUMKEM: regex: '(L211|N10|U221|U310)-EEA(?:[);/ ]|$)' device: 'tablet' model: '$1' # TTK-TV (wwwttk.ru) TTK-TV: regex: 'TTK Box 214' device: 'tv' model: 'SB-214' # Famous or Famous Fones Famous: regex: 'Famous|Red Royal Edition' device: 'smartphone' models: - regex: 'Red 5\+' model: 'Red 5 Plus' - regex: 'Red Royal Edition' model: 'Red Royal Edition' - regex: '5Plus' model: '5 Plus' - regex: 'Famous 5' model: '5' - regex: 'Famous[_ ]TAB[_ ]10' device: 'tablet' model: 'Tab 10' # ZIK (zik.kz) ZIK: regex: 'ZIK[_ ](W1027)(?:[);/ ]|$)' device: 'tablet' model: '$1' # PlusStyle (plusstyle.jp) PlusStyle: regex: 'PS_TAB_(WB01)(?:[);/ ]|$)' device: 'tablet' model: 'Tab $1' # New Bridge New Bridge: regex: '(NBTB10[12])(?:[);/ ]|$)' device: 'tablet' model: '$1' # Intel (intel.com) Intel: regex: 'NUC10i3FNH' device: 'desktop' models: - regex: 'NUC10i3FNH' model: 'NUC 10' # infiniton (infiniton.es) Infiniton: regex: 'INFINITON[_ -]|Earth 7\.0''3G|EARTH10' device: 'smartphone' models: - regex: 'INFINITON[_ -]T5' model: 'T5' - regex: 'Earth 7\.0''3G' device: 'tablet' model: 'Earth 7" 3G' - regex: 'EARTH10' device: 'tablet' model: 'Earth 10.1" 3G' # Backcell Backcell: regex: '(BK2021)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # PAPYRE PAPYRE: regex: 'PAPYRE[_ ]' device: 'tablet' models: - regex: 'PAPYRE[_ ]pad_7\.1' model: 'Pad 7.1"' # I-INN I-INN: regex: 'COMMUNICATOR[_ ]9\.7[_ ]3G' device: 'tablet' model: 'Communicator 9.7" 3G' # Emporia (emporia.eu) Emporia: regex: 'emporia[_ ]|(?:Android 9(?:[\d.]*);(?: [\w-]+;)? S3mini|Android 13(?:[\d.]*);(?: [\w-]+;)? E5mini)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'S3mini' model: 'S3 Mini' - regex: 'E5mini' model: 'E5 Mini' - regex: 'emporia[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # BLISS BLISS: regex: 'BLISS-T6|(BPM9727)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'BLISS-T6' model: 'T6' - regex: '(BPM9727)' model: '$1' # Entity Entity: regex: 'ENT11QF12(?:[);/ ]|$)' device: 'tablet' model: 'ENT11QF12' # Envizen Envizen: regex: '(?:ClickTabDSh18)(?:[);/ ]|$)' device: 'tablet' model: 'ClickTab DSH18' # Denali Denali: regex: '(DT0704K08|DT070[25]W08)(?:[);/ ]|$)' device: 'tablet' model: 'E-Tab $1' # DreamTab DreamTab: regex: '(DRN-[78]09)(?:[);/ ]|$)' device: 'tablet' model: '$1' # DL DL: regex: 'Smartphone[ _]DL|DL_Horizon_Selfie|Tablet_DL_\d{4}|Smartphone[_ ](?:YZU[_ ]DS53)' device: 'smartphone' models: - regex: 'Smartphone[_ ]YZU[_ ]DS53' model: 'YZU DS53' - regex: 'DL[_ ]Horizon[ _]H8' model: 'Horizon H8' - regex: 'DL_Horizon_Selfie' model: 'Horizon Selfie' - regex: 'Tablet_DL_3910' device: 'tablet' model: 'iPlayer Kids' - regex: 'Tablet_DL_(\d{4})' device: 'tablet' model: '$1' # DIGICOM DIGICOM: regex: 'DIGICOM[_ ]' device: 'tablet' models: - regex: 'DIGICOM[_ ](A10_LTE)(?:[);/ ]|$)' model: '$1' - regex: 'Digicom[_ ]DTOK' device: 'smartphone' model: 'DTok' # InFone (nfone.co.th) InFone: regex: '(?:INFONE (?:XE?)|GORILLA 9 PLUS|X_RAINBOW)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GORILLA 9 PLUS' model: 'Gorilla 9 Plus' - regex: 'X_RAINBOW' model: 'X Rainbow' - regex: 'INFONE (XE?)(?:[);/ ]|$)' model: '$1' # Redway Redway: regex: '(?:Redway_7|redway7_pro|redway10_lite)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'redway10_lite' model: '10 Lite' - regex: 'redway7_pro' model: '7 Pro' - regex: 'Redway_7' model: '7' # iNo Mobile or SGiNO (inomobile.com.sg) iNo Mobile: regex: '(?:iNO SCOUT 2|SGINO6|iNO S9)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'iNO SCOUT 2' model: 'Scout 2' - regex: 'SGINO6' model: '6' - regex: 'iNO S9' model: 'S9' # iReplace iReplace: regex: 'Frog ?One(?:[);/ ]|$)' device: 'smartphone' model: 'Frog One' # GEOZON (geozon.ru) GEOZON: regex: 'GEOZON[_ ]([^/;)]+)(?: Build|[);])' device: 'wearable' model: '$1' # actiMirror (www.actimirror.com) actiMirror: regex: 'Desk21T-03' device: 'peripheral' models: - regex: '(Desk21T-03)' # smart mirror model: '$1' # Raylandz Raylandz: regex: 'XPOWER_P6000(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'XPOWER_P6000' model: 'XPower P6000' # OTTO OTTO: regex: 'OTTO (CR05)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Kenbo Kenbo: regex: ' (O[76]1|E61Pro|O31 Plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'E61Pro' model: 'E61 Pro' - regex: 'O31 Plus' model: 'O31 Plus' - regex: '(O[76]1)(?:[);/ ]|$)' model: '$1' # VALE VALE: regex: 'V12E-LTE-8128' device: 'tablet' model: 'V12E LTE' # VALEM VALEM: regex: 'PHANTOM_Z' device: 'tablet' model: 'Phantom Z' # ENACOM ENACOM: regex: '(M1045W|PIXBA2019)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Yuno Yuno: regex: 'YUNO\.|ULX-(?:55UTCS3234|32TCS226|43UTCS347|39TCS222|50UTCS3234|43FTCS2234|32TCSW2234|24TCS221)' device: 'tv' models: - regex: 'ULX-(\d{2}[FU]?TCSW?\d{2,4})' model: 'ULX-$1' # Handheld or Handheld Group or Handheld Wireless (https://www.handheldgroup.com/) Handheld: regex: '(?:ALGIZ_RT8|NAUTIZ_X2)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(NAUTIZ_X2)(?:[);/ ]|$)' device: 'smartphone' model: '$1' - regex: '(ALGIZ_RT8)(?:[);/ ]|$)' model: '$1' # HDC S.A (https://www.hdcsa.com.ar/) HDC: regex: '(?:H10_ONE)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'H10_ONE' model: 'H10 One' # Victurio Victurio: regex: '(VI10[68]|VI86)(?:[);/ ]|$)' device: 'tablet' model: 'TouchPad $1' # MyMobile or My Mobile MyMobile: regex: 'MY MOBILE (708)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Equator (http://equatormobilephones.com/) Equator: regex: 'Axis(?:[);/ ]|$)' device: 'smartphone' model: 'Axis' # Imaq Imaq: regex: 'IMAQ' device: 'tv' models: - regex: 'IMAQ TETRA(?:[);/ ]|$)' model: 'Tetra' # Imose (https://imosemobile.com/) Imose: regex: 'BAM-II' device: 'smartphone' model: 'BAM-II' # OneClick OneClick: regex: 'X-music II pro|X-music (?:S|Ⅲ|III)' device: 'smartphone' models: - regex: 'X-music II pro' model: 'X-Music II Pro' - regex: 'X-music (?:Ⅲ|III)' model: 'X-Music III' - regex: 'X-music (S)' model: 'X-Music $1' # D-Tech (www.d-tech.dz) D-Tech: regex: '(?:D5-L|DT07-TAB4G|LM-01)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'DT07-TAB4G' device: 'tablet' model: 'DT07 Tab 4G' - regex: '(LM-01)' device: 'tablet' model: '$1' - regex: '(D5-L)(?:[);/ ]|$)' model: '$1' # nJoy or Njoy nJoy: regex: '(?:nJoy[_ ])?(Deimos 7|Kali_8|Turnus_8|Tityos_10|Arcas_7|Theia_10|Chronos_10)(?:[);/ ]|$)' device: 'tablet' model: '$1' # iXTech iXTech: regex: '(IX701)(?:[);/ ]|$)' device: 'tablet' model: '$1' # IOTWE IOTWE: regex: 'T95pro(?:[);/ ]|$)' device: 'tv' model: 'T95 Pro' # Legend Legend: regex: '(RST)_(B\d{4}HD)(?:[);/ ]|$)' device: 'tv' model: '$1-$2' # BlueSky BlueSky: regex: 'BSS(45|50)(?:[);/ ]|$)' device: 'smartphone' model: 'BSS$1' # Vue Micro Vue Micro: regex: ' (81V)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Touch Plus or Touch+ Touch Plus: regex: ' (770[NG]|1100AS)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Elong Mobile or EL (www.elongmobile.com) Elong Mobile: regex: ' (6CS)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # HexaByte HexaByte: regex: '(?:HB_X7)(?:[);/ ]|$)' device: 'smartphone' model: 'X7' # HiKing HiKing: regex: 'HIKING[_ ]|(?:HK-MH501|Fun5)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'HIKING[_ ]([^/;)]+)(?: Build|[);])' model: '$1' - regex: 'HK-(MH501)' model: '$1' - regex: 'Fun5' model: 'Fun 5' # Hytera (hytera.com) Hytera: regex: '(?:PTC760|PNC5[56]0)' device: 'smartphone' models: # radio station + smartphone - regex: '(PTC760|PNC5[56]0)' device: 'peripheral' model: '$1' # PIRANHA (piranha.com.tr) PIRANHA: regex: 'PIRANHA[_ ]|(?:Ultra 4 Tab 9\.0|Ultra 5 Tab White|Piranha8032)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Pro II Tab 7\.0' model: 'Pro II' - regex: 'Ultra 4 Tab 9\.0' model: 'Ultra 4' - regex: 'Ultra 5 Tab White' model: 'Ultra 5' - regex: 'Piranha8032' model: '8032' # CipherLab (www.cipherlab.com) CipherLab: regex: '(RK25WO|RK[29]5|RS35|RS51_HS)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # BrandCode (brandcode.co.id) BrandCode: regex: '(?:L1f-pluss|Brandcode B6S)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'L1f-pluss' model: 'L1f Plus' - regex: 'Brandcode B6S' model: 'B6S' # Lumitel Lumitel: regex: '(L950[23])(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Mango Mango: regex: 'Mango[_ ](S5|SQ7)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # NTT West (www.ntt-west.co.jp) NTT West: regex: 'HB-(2000)(?:[);/ ]|$)' device: 'tv' model: 'HikariBox+ $1' # JREN JREN: regex: '(JR-J71)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Wanmukang (www.wanmuk.com) Wanmukang: regex: '(?:ZC-339)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(ZC-339)' device: 'desktop' model: '$1' # Tibuta Tibuta: regex: 'Tibuta[_ ]' device: 'tablet' models: - regex: 'Tibuta[_ ]MasterPad-(E100)' model: 'MasterPad $1' # ATOL (www.atol.ru) ATOL: regex: '(?:ATOL (?:150F)|Smart_(?:Prime|SLIM_Plus))(?:[);/ ]|$)' device: 'peripheral' models: - regex: 'Smart_Prime' model: 'Smart Prime' - regex: 'Smart_Slim_plus' model: 'Smart Slim Plus' - regex: 'ATOL (150F)' model: '$1' # Filimo (https://www.filimo.com/) Filimo: regex: 'Filimo' device: 'tv' models: - regex: 'Filimo Box FB-101(?:[);/ ]|$)' model: 'FB-101' # FILIX or Filih FILIX: regex: '(?:FX4423)(?:[);/ ]|$)' device: 'smartphone' model: 'Ultra M FX4423' # Odotpad or DotPad Odotpad: regex: '(?:FIRE_V[78]|POMELO-MAX\+)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'FIRE_V([78])' model: 'Dragon Fruit Fire V$1' - regex: 'POMELO-MAX\+' model: 'Pomelo Max+' # Orbsmart (www.orbsmart.de) Orbsmart: regex: 'Orbsmart[_ ]' device: 'tv' models: - regex: 'Orbsmart[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # TOX (trustonx.com) TOX: regex: 'TOX1' device: 'tv' model: '1' # Topsion Topsion: regex: 'TOPSION|TP01_box(?:[);/ ]|$)' device: 'tv' model: 'TP01' # Ceibal (www.ceibal.edu.uy) Ceibal: regex: '(?:ACRUX|BELLATRIX|BETELGEUSE|GACRUX|Kil-82WFDC|U800B)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'ACRUX' model: 'Ácrux' - regex: 'BELLATRIX' model: 'Bellatrix' - regex: 'BETELGEUSE' model: 'Betelgeuse' - regex: 'GACRUX' model: 'Gacrux' - regex: 'Kil-82WFDC' model: 'Kiland T8' - regex: '(U800B)' model: '$1' # Wecool Wecool: regex: '(WM1001)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Weelikeit Weelikeit: regex: '(?:C81W_EEA|P16W|F21W)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(P16W|C81W|F21W)(?:_EEA)?' model: '$1' # M3 Mobile (www.m3mobile.net) M3 Mobile: regex: '(?:M3US20W|M3SL20|M3SM15X)(?:[);/ ]|$)' device: 'peripheral' models: - regex: 'M3US20W' model: 'US20W' - regex: 'M3SL20' model: 'SL20' - regex: 'M3SM15X' model: 'SM15X' # Hugerock Hugerock: regex: 'Hugerock|T101_2021(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Hugerock[_ ](T70H)' model: '$1' - regex: 'T101_2021' model: 'T101 (2021)' # Geanee (geanee.jp or www.jenesis.jp) Geanee: regex: '(JT08-X1|JT10-90|JT10-81B|JT10-X)(?:[);/ ]|$)' device: 'tablet' model: '$1' # TOPDON (topdon.com) TOPDON: regex: '(ArtiDiag800 BT)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # Coopers Coopers: regex: '(CP20)(?:_EEA)?(?:[);/ ]|$)' device: 'tablet' model: '$1' # COOD-E COOD-E: regex: 'COOD-E' device: 'tv' models: - regex: 'TV 4K(?:[);/ ]|$)' model: 'TV Box 4K' # Lovme Lovme: regex: 'Lovme[-_ ]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # DASS DASS: regex: 'DASS[-_ ](H-ONE)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Redbean Redbean: regex: '(i-Jupiter)(?: Build|[);])' device: 'smartphone' model: '$1' # ENIE ENIE: regex: '(?:android 8(?:[\d.]*);(?: [\w-]+;)? E4Pro|VT8216)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'E4Pro' model: 'E4 Pro' - regex: '(VT8216)' model: '$1' # Dcode or DCode(dcode.com.pk) Dcode: regex: 'DS-(?:BD[123]|CR1|CL[23] Pro|X1|CL[23] Lite|CL[123])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'DS-CR1' model: 'Cypher' - regex: 'DS-CL([23]) Pro' model: 'Cygnal $1 Pro' - regex: 'DS-CL([23]) Lite' model: 'Cygnal $1 Lite' - regex: 'DS-CL3' model: 'Cygnal 3' - regex: 'DS-CL2' model: 'Cygnal 2' - regex: 'DS-BD1' model: 'Bold' - regex: 'DS-CL1' model: 'Cygnal' - regex: 'DS-BD([23])' model: 'Bold $1' - regex: 'DS-(X1)' model: '$1' # Pritom Pritom: regex: 'Pritom_|(?:K7_A101(?:_EEA)?|Android 1[01](?:[\d.]*);(?: [\w-]+;)? (?:M10_Lite|M10_EEA|M10_(?:PLUS|Air)(?:_EEA)?|P7_EEA)|P7PRO)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'M10_Lite' model: 'M10 Lite' - regex: 'K7_A101' model: 'K7 A101' - regex: 'M10_Air' model: 'M10 Air' - regex: 'M10_PLUS' model: 'M10 Plus' - regex: 'Pritom[_ ]M10|M10_EEA' model: 'M10' - regex: 'P7_EEA' model: 'P7' - regex: 'P7PRO' model: 'TronPad P7 Pro' # Unblock Tech Unblock Tech: regex: '(?:S900PROBT|S900_Pro)(?:[);/ ]|$)' device: 'tv' models: - regex: 'S900PROBT' model: 'S900 Pro BT' - regex: 'S900_Pro' model: 'S900 Pro' # Chainway (www.chainway.net) Chainway: regex: '(?:C66)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(C66)' model: '$1' # Harper (https://harper.ru/) Harper: regex: 'HARPER|(?:HARPER[_ ])?(?:ABX-332|ABX-[12]10|32R750TS|32R670TS|40F660TS|40F750TS|43U750TS|24R490TS|65U660TS|43F660TS|50U660TS|32R751TS|43F750TS|85U750TS)(?:[);/ ]|$)' device: 'tv' models: - regex: '(?:HARPER[_ ])?(ABX-332|ABX-[12]10|32R751TS|40F660TS|24R490TS|65U660TS|50U660TS)' model: '$1' - regex: '(?:HARPER[ _-]?)?(\d{2}[QUFR]\d{3}TS)(?:[);/ ]|$)' model: '$1' # Venstar Venstar: regex: '(ACE10)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Nothing Phone Nothing Phone: regex: '(?:A063|AIN065|A065|A142)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'A063' model: '1' - regex: 'A(?:IN)?065' model: '2' - regex: 'A142' model: '2a' # Gazer (gazer.com) Gazer: regex: 'Gazer_TV' device: 'tv' model: 'Smart TV' # WIZARPOS (www.wizarpos.com) WizarPos: regex: 'WIZARPOS[ _]([^/;)]+)(?: Build|[);])' device: 'peripheral' model: '$1' # Optoma (optoma.ru) Optoma: regex: 'Optoma[-_ ]' device: 'peripheral' models: - regex: 'Optoma-UHD' model: 'UHD55' # Zinox (zinoxtechnologies.com) Zinox: regex: 'KidsLegacyTabPro|Zpad-X8-PRO' device: 'tablet' models: - regex: 'KidsLegacyTabPro' model: 'Kids Legacy Tab Pro' - regex: 'Zpad-X8-PRO' model: 'Zpad X8 Pro' # YUNDOO YUNDOO: regex: 'YUNDOO[ _-]([^/;)]+)(?: Build|[);])' device: 'tv' model: '$1' # Billow Technology Billow: regex: '(MD09TV)(?:[);/ ]|$)' device: 'tv' model: '$1' # Dany Dany: regex: '(?:Signature-S8|Monster 4GXX)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Signature-S8)' model: '$1' - regex: 'Monster 4GXX' model: 'Monster 4G' # DreamStar DreamStar: regex: 'DREAMSTAR' device: 'tv' models: - regex: 'DREAMSTAR([^/;)]+)(?: Build|[);])' model: '$1' # Ollee Ollee: regex: 'Ollee008twoa(?:[);/ ]|$)' device: 'tablet' model: '008 TwoA' # Dtac Dtac: regex: 'Dtac[_ ]?Phone[_ ]?([^/;)]+)(?: Build|[);])' device: 'smartphone' model: 'Phone $1' # NINETOLOGY NINETOLOGY: regex: 'NINETOLOGY[_ ]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # NINETEC (www.ninetec.de) NINETEC: regex: 'NINETEC' device: 'tablet' models: - regex: 'UltraTab 10 Pro' model: 'UltraTab 10 Pro' - regex: 'Platinum 10 G3' model: 'Platinum 10 G3' # NASCO NASCO: regex: '(?:NASCO (?:TANGO 7)|SNAP_PRO)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'TANGO 7' model: 'Tango 7' - regex: 'SNAP_PRO' model: 'Snap Pro' device: 'smartphone' # ELE-GATE (https://www.ele-gate.com/) ELE-GATE: regex: 'ELE-GATE(?:[);/ ]|$)' device: 'tv' model: 'TV Box' # Elecson Elecson: regex: 'Meeplus_1(?:[);/ ]|$)' device: 'smartphone' model: 'MeePlus One' # NEXT (https://nextcentr.ru/) NEXT: regex: '(Discovery_XT|Revolution-X69K)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Next & NextStar (https://www.next.com.tr/) Next & NextStar: regex: '^NEXT |LGE; YE-[0-9a-z]+(?:-4K)?;|MyBox(?:[);/ ]|$)' device: 'tv' models: - regex: '2000 WiFi' model: '2000 WiFi' - regex: '2000-HD PLUS' model: '2000 HD Plus' - regex: '2071' model: '2071' - regex: 'MyBox(?:[);/ ]|$)' model: 'MyBox' - regex: 'LGE; (YE-[0-9a-z]+)-4K;' model: '$1 4K' - regex: 'LGE; (YE-[0-9a-z]+);' model: '$1' # iMuz (shop.imuz.com) iMuz: regex: '(?:Revolution A8|muPAD[_ ][KT]10|muPAD10[24]|muPADT7|muPAD 7S)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(Revolution A8|muPAD[_ ][KT]10)' model: '$1' - regex: 'muPAD[ _]?(10[24]|T7|7S)' model: 'muPAD $1' # ECOO ECOO: regex: 'ECOO[ _]E0[45]' device: 'smartphone' models: - regex: 'ECOO[ _]E04[ _]3GB\+|Ecoo E04_PLUS' model: 'Aurora Plus' - regex: 'ECOO[ _]E04[ _]3GB' model: 'Aurora' - regex: 'ECOO[ _](E0[45])' model: '$1' # Dom.ru Dom.ru: regex: '(Movix Pro(?: Voice)?|Movix Go)(?:[);/ ]|$)' device: 'tv' model: '$1' # Carbon Mobile (www.carbonmobile.com) Carbon Mobile: regex: 'Carbon 1 Mark II' device: 'smartphone' model: 'One Mark II' # Chili Green (chiligreen.com) ChiliGreen: regex: 'E-Board[ -]MX05[45]' device: 'tablet' models: - regex: 'E-Board[ -](MX05[45])' model: 'E-Board $1' # D-Link D-Link: regex: '(DTB-7168G)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Scosmos (scosmosphone.com) Scosmos: regex: '(Pi 5\.5L)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # QFX USA (store.qfxusa.com) QFX: regex: '(TLW-100[BG]?)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Dinax Dinax: regex: 'DX_TA_?(7001|SL83)(?:[);/ ]|$)' device: 'tablet' model: 'DX TA $1' # Dinalink (https://dynalink.life/) Dinalink: regex: 'Dynalink' device: 'tv' models: - regex: 'Dynalink TV BOX(?:[);/ ]|$)' model: 'TV Box' # EFT Group (eft-survey.ru) EFT: regex: 'EFT_(H[234])(?:[);/ ]|$)' device: 'peripheral' model: '$1' # Youin Youin: regex: 'YOU-BOX(?:[);/ ]|$)' device: 'tv' models: - regex: 'YOU-BOX(?:[);/ ]|$)' model: 'You-Box' # Youwei Youwei: regex: 'Youwei[ _]' device: 'tv' models: - regex: 'youwei[ _]mini5G(?:[);/ ]|$)' model: 'Mini 5G' # Yooz Yooz: regex: 'YPAD(P70[12])(?:[);/ ]|$)' device: 'tablet' model: 'MyPad $1' # VIDA Mobile (vida-mobile.com) VIDA: regex: 'VIDA[-_ ](?:i-?([45]01|512|450)|V401)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'VIDA[-_ ](?:i-?(\d+))' model: 'i$1' - regex: 'VIDA[-_ ](V401)' model: '$1' # iMI iMI: regex: '(?:Vin 5|Vin3 S|Vin3(?: Lite)?|Messi No\.1|Messi 3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Vin3 S' model: 'Vin 3 S' - regex: 'Vin3 Lite' model: 'Vin 3 Lite' - regex: 'Vin ?(3|5)' model: 'Vin $1' - regex: 'Messi (No\.1|3)' model: 'Messi $1' # Marshal Marshal: regex: 'Marshal[_ -]?ME' device: 'smartphone' models: - regex: 'Marshal[_ -]?ME-(700A|720|617)' device: 'tablet' model: 'ME-$1' - regex: 'Marshal[_ -]?ME-(34[78]|352|36[456])' model: 'ME-$1' # V-HOME V-HOME: regex: '(?:V-HOME_)?(32LH1210|43LF1210|(?:5[05]|65|43)LU1210|24LH1211|24LH1203)(?:[);/ ]|$)' device: 'tv' model: '$1' # V-HOPE V-HOPE: regex: 'V[- ]hope[_ ]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # BuzzTV (buzztv.com) BuzzTV: regex: '(XR4500)(?:[);/ ]|$)' device: 'tv' model: '$1' # Avaya (avaya.com) Avaya: regex: 'Avaya Vantage(?:[);/ ]|$)' device: 'peripheral' model: 'Vantage K175' # PINE (pine64.org) PINE: regex: 'PINE ([^/;)]+)(?: Build|[);])' device: 'peripheral' model: '$1' # Duubee (www.duubee.com) Duubee: regex: 'Duubee[ _]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # Blackpcs (blackpcs.com) Blackpcs: regex: '(EO104K)[-_]BL(?:[);/ ]|$)' device: 'tv' model: '$1-BL' # GoldMaster (www.goldmaster.com.tr) GoldMaster: regex: '(?:Netta 2 Pro|Netta 3\.100m|BENGAL_6|DETROIT 3|i-910|i-9[02]5)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Netta 2 Pro' model: 'Netta 2 Pro' device: 'tv' - regex: 'i-(910|9[02]5)' model: 'i-$1' device: 'tv' - regex: 'Netta 3\.100m' model: 'Netta 3' device: 'tv' - regex: 'BENGAL_6' model: 'Bengal 6' - regex: 'DETROIT 3' model: 'Detroit 3' # Facime Facime: regex: 'FLEET_7(?:[);/ ]|$)' device: 'tablet' model: 'Fleet 7' # FPT or FPT Trading FPT: regex: 'FPT[_ ](X1[05]|X[39]|X50|S68 4G)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # iFIT (https://www.ifit.com/) iFIT: regex: 'IFT1018(?:[);/ ]|$)' device: 'tablet' model: 'Compass' # iNavi (www.inavi.com) iNavi: regex: '(ITP-XD80L)(?: Build|[);])' device: 'tablet' models: - regex: 'ITP-XD80L' model: 'U+ Pad8' # 10moons (eng.10moons.com) 10moons: regex: '10moons[_ ]([^/;)]+)(?: Build|[);])' device: 'tv' model: '$1' # Soda Soda: regex: 'soda (?:S2|[SE]1|FIRE)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'soda FIRE' model: 'Fire' - regex: 'soda (S2|[SE]1)' model: '$1' # Rizzen (ruggedsa.co.za) Rizzen: regex: '(NovaTab_R10)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Figgers (www.figgers.com) Figgers: regex: 'Figgers' device: 'smartphone' models: - regex: 'Figgers[_ ](F3|DragonX)' model: '$1' # DRAGON DRAGON: regex: 'DRAGON[_ ](OTT)' device: 'tv' model: '$1' # Skyline or SkyLine (skylinetv.ru) Skyline: regex: '(?:SKYLINE[_ ])?(32YST5970|50UST5970|24YST5970|40LST5970|32YST5975|43LST5975|43U6510|5[58]U7510|43LST5970)(?:[);/ ]|$)' device: 'tv' model: '$1' # Hiberg (hiberg.ru) Hiberg: regex: '(?:32Y_STV-R|HIBERGQLED\d{2}Y|HIBERG\d{2}YUHD(?:-R)?|(?:5[05]|43|65)YUHD-R)(?:[);/ ]|$)' device: 'tv' models: - regex: 'HIBERGQLED(\d{2}Y)(?:[);/ ]|$)' model: 'QLED $1' - regex: '(?:HIBERG)?(\d{2})YUHD-R' model: '$1Y UHD-R' - regex: 'HIBERG(\d{2})YUHD' model: '$1Y UHD' - regex: '(32Y_STV-R)' model: '$1' # Hartens Hartens: regex: '(HTY[_-]\d{2}\w+-(?:S2|H[ACK]22|S2-T9|V[DNZS])|HTY-32HDR06G|HTY_43FHD06B|HTY-43F06B-VZ|HTY-24H06W-VZ|HTV-55U11B-VS)(?:[);/ ]|$)' device: 'tv' models: - regex: 'HT([YV])[_-](\d{2}(?:[^/;)]+))(?: Build|[);])' model: 'HT$1-$2' # AMA AMA: regex: 'AMA[ _](A703)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Xcruiser Xcruiser: regex: '(XDSR785HDR_AVANT)(?:[);/ ]|$)' device: 'tv' model: '$1' # Revomovil Revomovil: regex: '(?:S6523(?:[ _]RU)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'S6523' model: 'S21' # OSCAL (www.oscal.hk) OSCAL: regex: '(?:Spider 8|S60Pro|MODERN 8|PILOT 2|FLAT 1C|Tiger 1[02]|android 13(?:[\d.]*);(?: [\w-]+;)? (?:Pad 1[158]|Pad 8)|android 12(?:[\d.]*);(?: [\w-]+;)? (?:C[678]0|C30 Pro|Pad (?:[167]0|13)))(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MODERN 8' model: 'Modern 8' - regex: 'PILOT 2' model: 'Pilot 2' - regex: 'C30 Pro' model: 'C30 Pro' - regex: 'FLAT 1C' model: 'Flat 1C' - regex: 'S60Pro' model: 'S60 Pro' - regex: 'Tiger (1[02])' model: 'Tiger $1' - regex: '(C[678]0)(?:[);/ ]|$)' model: '$1' - regex: 'Pad ([167]0|1[1358]|8)' device: 'tablet' model: 'Pad $1' - regex: 'Spider 8' device: 'tablet' model: 'Spider 8' # UE or United Education (www.ue.cn) UE: regex: 'UE Pad 1' device: 'tablet' model: 'Pad 1' # Hykker (www.hykker.com) Hykker: regex: 'Hykker_MyTab10' device: 'tablet' model: 'MyTab10' # Fluo Fluo: regex: '(?:S554020|F_Plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'S554020' model: 'L' - regex: 'F_Plus' model: 'F Plus' # Quatro Quatro: regex: 'Quatro (8|10|FSM1453)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # White Mobile White Mobile: regex: 'AM1010V(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AM1010V' model: 'Omega Lite 3' # ALLINmobile Or Allin Mobile ALLINmobile: regex: 'ALLINmobile_ARENA(?:[);/ ]|$)' device: 'smartphone' model: 'Arena' # PRIME (prime-phone.com) PRIME: regex: 'PRIME (O8)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # TETC TETC: regex: 'TETC[ -](F\d)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Vizmo Vizmo: regex: 'VIZ(?:101|070)TAB[78]11' device: 'tablet' models: - regex: 'VIZ070TAB(\d{3})' model: 'TAB $1 7"' - regex: 'VIZ101TAB(\d{3})' model: 'TAB $1 10.1"' # Uniden Uniden: regex: 'Uniden[ _](C505|Prime 500)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # FoxxD (http://www.foxxdevelopment.com/) FoxxD: regex: 'FOXXD|(?:L590A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:FOXXD )?(C65|L590A)(?:[);/ ]|$)' model: '$1' # KZG (Ke Zhi Guang) KZG: regex: 'KZG[_ ](Scope)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # iYou iYou: regex: 'iYOU[_ ](M1)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Master-G Master-G: regex: 'NEOQC4G(?:[);/ ]|$)' device: 'tablet' model: 'GPad Neo QC 4G' # Sewoo post terminals Sewoo: regex: '(NBP-60)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # Switel Switel: regex: 'eSmart[_ ]([EM]2|M3)(?:[);/ ]|$)' device: 'smartphone' model: 'eSmart $1' # Farassoo Farassoo: regex: '(FAST81[08])(?:[);/ ]|$)' device: 'tablet' model: '$1' # Xwave Xwave: regex: 'Xpad_(M9_3G)' device: 'tablet' model: 'xPad $1'# Xwave # DEALDIG DEALDIG: regex: '(BOXD7)(?:[);/ ]|$)' device: 'tv' model: '$1' # TecToy (www.tectoy.com.br) TecToy: regex: 'TECTOY_5029Y(?:[);/ ]|$)' device: 'smartphone' model: 'ON 128GB' # MygPad MygPad: regex: 'MygPad[_ ]([^/;)]+)(?: Build|[);])' device: 'tablet' model: '$1' # Mobell (mobell.vn) Mobell: regex: '(?:Mobell[ _](?:S50)|NOVA P3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Mobell[ _](S50)' model: '$1' - regex: 'NOVA P3' model: 'Nova P3' # Mobvoi (https://www.mobvoi.com/) Mobvoi: regex: 'TicWatch (Pro 3 Ultra GPS|C2|C2\+|Pro S|S2?)(?:[);/ ]|$)' device: 'wearable' model: 'TicWatch $1' # Smartex Smartex: regex: '(?:Android 7(?:[\d.]*);(?: [\w-]+;)? M512| M520| M700)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(M512|M520|M700)(?:[);/ ]|$)' model: '$1' # Citycall Citycall: regex: '(Life X6)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Maxfone (www.maxfone.cc) Maxfone: regex: '(Max80 Plus)(?: Build|[);])' device: 'smartphone' model: '$1' # Fxtec (www.fxtec.com) Fxtec: regex: 'QX1000(?:[);/ ]|$)' device: 'smartphone' model: 'Pro1 X' # Netmak (netmak.ar) Netmak: regex: 'NM-NETPAD7(?:[);/ ]|$)' device: 'tablet' model: 'NetPad 7' # VIVIMAGE VIVIMAGE: regex: 'VIVIMAGE[ _]([^/;)]+)(?:_EEA)?(?: Build|[);])' device: 'tablet' model: '$1' # X-Mobile or XMobile (xmobile.ne.jp | https://xmobileusa.com/) X-Mobile: regex: 'XMOBILE|(?:XM-SW1|X63Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:XMOBILE) X7(?:[);/ ]|$)' model: 'X7' - regex: 'X63Pro' model: 'X63 Pro' - regex: 'XM-SW1' model: 'Smart WiFi' # JOYSURF JoySurf: regex: '(?:TB-JS101A)(?:[);/ ]|$)' device: 'tablet' model: 'JS10' # DEYI DEYI: regex: 'DEYI-?(10M18)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Khadas (www.khadas.com) Khadas: regex: ' (VIM2)(?:[);/ ]|$)' device: 'tv' model: '$1' # Sunmax or sunmax mobile (sunmaxmobile.com) Sunmax: regex: '(Model Y)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Kapsys (kapsys.com) Kapsys: regex: '(SmartVision3)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # YELLYOUTH YELLYOUTH: regex: '(YY-\d{3}[a-z]?)' device: 'tablet' model: '$1' # SSKY SSKY: regex: '(Y777_Fire)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # XCOM XCOM: regex: 'XCOM[ _](?:X520|ISMART)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'XCOM[ _](X520)' model: '$1' - regex: 'XCOM[ _]ISMART' model: 'iSmart' # Winstar Winstar: regex: 'Winstar S-?5' device: 'smartphone' models: - regex: 'Winstar S-?5' model: 'S5' # Waltter Waltter: regex: 'Waltter NEO 10\.1' device: 'tablet' model: 'Neo 10.1"' # LPX-G LPX-G: regex: 'LPX-G BOX' device: 'tv' models: - regex: 'LPX-G Box Max' model: 'Box Max' # VALTECH VALTECH: regex: 'TAB7Q804VAL' device: 'tablet' model: 'TAB-7Q804VAL' # Sankey Sankey: regex: 'TAB7A3G05' device: 'tablet' model: 'TAB-7A3G05' # GIRASOLE GIRASOLE: regex: '(?:Android 8(?:[\d.]*);(?: [\w-]+;)? TAB5)(?: Build|[;)])' device: 'tablet' model: 'TAB5' # MOVISUN MOVISUN: regex: '(TAB-S1)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Samtech Samtech: regex: '(T3G_04|TWIFI-06)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Samtron (samtron.ru) Samtron: regex: '(?:SAMTRON_W_)?(43SA70[15]|50SA707|55SA703)(?:[);/ ]|$)' device: 'tv' model: '$1' # MwalimuPlus (www.mwalimuplus.com) MwalimuPlus: regex: '(MP01A3G)(?:[);/ ]|$)' device: 'tablet' model: '$1' # OLTO (olto.su) OLTO: regex: 'OLTO[_-]|(?:43ST20[HU]|32ST30H)(?:[);/ ]|$)' device: 'tv' models: - regex: '(?:OLTO-)?(\d{2}ST\d{2}[HU])' model: '$1' # DSIC DSIC: regex: '(RD86QE)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Mascom Mascom: regex: 'Mascom (S750|SS289|WS517)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Vormor Vormor: regex: 'VORMOR-X5-pro(?:[);/ ]|$)' device: 'peripheral' model: 'X5 Pro' # SOSH SOSH: regex: 'SoshPhone' device: 'smartphone' model: 'SoshPhone' # Oangcc Oangcc: regex: '(?:Tab_A6|A1[35]_EEA)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Tab_(A6)' model: 'Tab $1' - regex: '(A1[35])_EEA' model: 'Tab $1' # Everex Everex: regex: 'Fine 7B(?:[);/ ]|$)' device: 'tablet' model: 'Fine 7B' # Everis (exclusively marketed and distributed by The Warehouse Group https://www.thewarehouse.co.nz/) Everis: regex: '(E011[1346-9]|E0120)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Guophone Guophone: regex: '(XP9800)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # GVC Pro GVC Pro: regex: 'LGE; [0-9]{2}GW[0-9]{4}\d*;' device: 'tv' models: - regex: 'LGE; ([0-9]{2}GW\d+);' model: '$1' # Unitech (ute.com) Unitech: regex: 'EA(?:500Plus|520|602|630)(?:_US)?(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'EA500Plus(?:[);/ ]|$)' model: 'EA500 Plus' - regex: '(EA(?:520|602|630))(?:_US)?(?:[);/ ]|$)' model: '$1' # GTMEDIA GTMEDIA: regex: '(GTCOMBO)(?:[);/ ]|$)' device: 'tv' model: '$1' # Energy Sistem Energy Sistem: regex: 'ENERGY[ _-]?([^;/)]+)(?: Build|[;)])' device: 'smartphone' models: - regex: 'Energy Phone ([^;/)]+)(?: Build|[;)])' model: 'Energy Phone $1' - regex: 'Energy Tablet ([^;/)]+)(?: Build|[;)])' device: 'tablet' model: 'Energy Tablet $1' - regex: 'ENERGY i10 DUAL' device: 'tablet' model: 'i10 Dual' - regex: 'ENERGY[ _-]?([^;/]+) Build' device: 'tablet' model: '$1' # WANSA WANSA: regex: 'LGE; WLE[0-9a-z]+;|(?:WUD55H7762SN|WUD55G7762S)(?:[);/ ]|$)' device: 'tv' models: - regex: '(WUD55H7762SN|WUD55G7762S)(?:[);/ ]|$)' model: '$1' - regex: 'LGE; (WLE[0-9a-z]+);' model: '$1' # XElectron XElectron: regex: '(V1277)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # ViBox ViBox: regex: 'ViBox[ _](V[25])[_ ]Pro(?:[);/ ]|$)' device: 'tv' model: '$1 Pro' # BMXC BMXC: regex: '(?:BMXC[_ ]?(?:80[01])| M863(?:-EEA)?)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(M863)' model: '$1' - regex: 'BMXC[_ ]?(80[01])' model: '$1' # V-Gen V-Gen: regex: '(Albatros C2)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Nedaphone Nedaphone: regex: 'NEDAPHONE[ _](V9)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Beafon (https://beafon.com/) Beafon: regex: '(?:Class_C250|TW10)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(TW10)' device: 'tablet' model: 'Tab Lite $1' - regex: '(Class_C250)' model: '$1' # RelNAT or RelNAT Mobile RelNAT: regex: 'RelNAT[_ ](Premier)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # TeloSystems or TELO or Telox (https://www.telox.com/) TeloSystems: regex: 'TELO[_ ](?:TE6|M5|TE580_CO)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TELO[_ ](TE6|TE580_CO)(?:[);/ ]|$)' model: '$1' - regex: 'TELO_M5' device: 'peripheral' model: 'M5' # Frunsi Frunsi: regex: '(RubensTab_T11)(?:[);/ ]|$)' device: 'tablet' model: '$1' # MIWANG MIWANG: regex: 'MIWANG[_ ](M2s)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # HeadWolf (headwolf.net) HeadWolf: regex: '(?:Hpad[12]|Wpad3| F3A)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Hpad([12])' model: 'HPad$1' - regex: 'Wpad(3)' model: 'WPad$1' - regex: 'F3A(?:[);/ ]|$)' model: 'FPad3' # Zamolxe Zamolxe: regex: '(ZXT-10HL323S|ZXT-10FL323G-PRO)' device: 'tablet' model: '$1' # REGAL (https://www.regal-tr.com/) REGAL: regex: 'Regal (?:TAB 10\.1|Google TV)|REGAL, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tablet' models: - regex: 'Regal (TAB 10\.1)' model: '$1' - regex: 'Regal Google TV' device: 'tv' model: '' - regex: 'REGAL, ([a-z0-9_ \-]+), (?:wired|wireless)' device: 'tv' model: '' # Great Asia or GreatAsia (www.sz-tabletpc.com) Great Asia: regex: '(E101GCM)(?:[);/ ]|$)' device: 'tablet' model: '$1' # PC Smart PC Smart: regex: 'QUICKTAB PLUS' device: 'tablet' model: 'QuickTab Plus' # Ephone Ephone: regex: '(?:EP19_star|EP19)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'EP19_star' model: 'EP19 Star' - regex: 'EP19' model: 'EP19' # SYH or SYH Mobile SYH: regex: 'Young (Y56|Y36\+|Y[35]5|Y51\+)(?:[);/ ]|$)' device: 'smartphone' model: 'Young $1' # YunSong YunSong: regex: '(?:YS[78]pro|YS6 Pro)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'YS([678]) ?pro' model: 'YS$1 Pro' # iRobot or I.Robot iRobot: regex: '(PALADIN EVO)' device: 'tablet' model: '$1' # BRAVE BRAVE: regex: '(BT7X1|EX10SL4|BTXS1)(?:[);/ ]|$)' # EXCEED EX10SL4 device: 'tablet' model: '$1' # Attila Attila: regex: '(Magic_1)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Roam Cat or RoamCat Roam Cat: regex: 'ROAM[_ ]CAT[ _](M8)' device: 'smartphone' model: '$1' # DIMO DIMO: regex: '(8800i)(?:[);/ ]|$)' device: 'tablet' model: '$1' # NuVision NuVision: regex: '(TM800A620M|TM101A620M)(?:[);/ ]|$)' device: 'tablet' model: '$1' # SANY SANY: regex: 'SANY V8' device: 'smartphone' models: - regex: 'SANY V8 Pro' model: 'V8 Pro' - regex: 'SANY V8' model: 'V8' # Bookeen Bookeen: regex: '(Cybook)[ -]Tablet(?:[);/ ]|$)' device: 'tablet' model: '$1' # Botech (https://botechgroupcompanies.com/en/homepage/) Botech: regex: 'WZONE(?:[);/ ]|$)' device: 'tv' model: 'Wzone' # Pano Pano: regex: '(Boom P1)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Bluslate or Blu Slate BluSlate: regex: 'BLUSLATE([67])(?:[);/ ]|$)' device: 'tablet' model: 'Educational Tablet $1' # Lectrus Lectrus: regex: 'LECT-TAB(1011|0711)(?:[);/ ]|$)' device: 'tablet' model: 'LECT-TAB$1' # LeBest LeBest: regex: 'LeBest[_ ](L9)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # BenWee BenWee: regex: 'BenWee[ _-]?(?:[^;/)]+)(?: Build|[;)])' device: 'smartphone' models: - regex: 'BenWee W5 ?pro' model: 'W5 Pro' - regex: 'BenWee[ _-]?([^;/)]+)(?: Build|[;)])' model: '$1' # FFF or FFF Smart Life Connected (www.fff-no1.co.jp) FFF SmartLife: regex: '(?:FFFTAB10a4)(?:[);/ ]|$)' device: 'tablet' model: 'TAB-10A4' # Versus Versus: regex: '(V-Pad Pop)(?:[);/ ]|$)' device: 'tablet' model: '$1' # NGPon NGpon: regex: 'Android 4(?:[\d.]*);(?: [\w-]+;)? (3188HD)(?: Build|[;)])' device: 'tv' model: '$1' # Rupa Rupa: regex: 'Pyramid A5X' device: 'tv' model: 'Pyramid A5X' # SEBBE SEBBE: regex: '(S2[23])_EEA(?:[);/ ]|$)' device: 'tablet' model: '$1' # Webfleet or Webfleet Solutions (www.webfleet.com) Webfleet: regex: 'PRO 8475(?:[);/ ]|$)' device: 'car browser' model: 'Pro 8475' # ROiK ROiK: regex: 'ROiK ?(10)(?:[);/ ]|$)' device: 'car browser' model: '$1' # Kinstone Kinstone: regex: '(KST103SD)' device: 'tablet' model: '$1' # HIPER (hiper-power.com) HIPER: regex: 'HIPER[ -](?:MEDIA|[MS]-Pad)|(?:U(?:43|50|65)YQ2200GR|H32YQ2200GR|MEDIA TV M5)(?:[);/ ]|$)' device: 'tv' models: - regex: 'HIPER[ -]([SM])-Pad' device: 'tablet' model: '$1-Pad' - regex: 'MEDIA STICK 4K' model: 'Media Stick 4K' - regex: 'MEDIA TV (i4 Pro|i4|[46]K|M5)' model: 'Media TV $1' - regex: '(U(?:43|50|65)YQ2200GR|H32YQ2200GR)' model: '$1' # TopDevice (https://topdevice.ru/) TopDevice: regex: 'TopDevice|TDTV\d{2}[BC]S\d{2}[FHU]|TDT45(?:18|41)_4G|TDT3778_Wi_E|TDT3887_Wi_D|TDT4528_4G_E' device: 'tv' models: - regex: '(?:TopDevice_)?(TDTV\d{2}[BC]S\d{2}[FHU])' model: '$1' - regex: 'TDT4518_4G' device: 'tablet' model: 'A8' - regex: 'TDT4541_4G' device: 'tablet' model: 'A10' - regex: 'TDT3778_Wi_E' device: 'tablet' model: 'K8' - regex: 'TDT3887_Wi_D' device: 'tablet' model: 'K7' - regex: 'TDT4528_4G_E' device: 'tablet' model: 'C8' # Ctroniq (https://www.ctroniq.com/) Ctroniq: regex: '(?:SNOOK-X10)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'SNOOK-X10' model: 'Snook X10' # Punos Punos: regex: 'Punos (10)' device: 'tablet' model: '$1' # ANXONIT ANXONIT: regex: '(AnPad_U2)' device: 'tablet' model: '$1' # Vityaz or vityas (www.vityaz.com) Vityaz: regex: '(24LH1207|43L[FU]1204|50LU1204|43LF1212)(?:[);/ ]|$)' device: 'tv' model: '$1' # VIIPOO VIIPOO: regex: '(?:vi20220819)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'vi20220819' model: 'R6' # GOODTEL GOODTEL: regex: '(?:G(?:3|10)_EEA|CNOTE 50)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'G(3|10)_EEA' model: 'G$1' - regex: 'CNOTE 50' device: 'smartphone' model: 'CNOTE 50' # Viper (https://viper.pk/) Viper: regex: '(Z08MK)(?:[);/ ]|$)' device: 'tablet' model: '$1' # HAOQIN (https://haoqinofficial.com/) HAOQIN: regex: '(SpaceTab_H20)(?:_EEA)?(?:[);/ ]|$)' device: 'tablet' model: '$1' # Advantage Air Advantage Air: regex: '(PIC7GS8)(?:[);/ ]|$)' device: 'tablet' model: '$1' # OneLern OneLern: regex: 'OneLern(DB\d{3})(?:[);/ ]|$)' device: 'tablet' model: '$1' # Motiv Motiv: regex: '(TurboPhone4G Compact 2108)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Olkya Olkya: regex: 'Olkya (Liger 71G)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Oking Oking: regex: 'OK-(?:LS[12]|smart11|LX[56])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'OK-smart11' model: 'Smart 11' - regex: 'OK-(LS[12]|LX[56])' model: '$1' # Inhon Inhon: regex: 'Inhon[_ ](V6)(?:_EEA)?(?:[);/ ]|$)' device: 'smartphone' model: '$1' # SKK Mobile SKK Mobile: regex: '(?:LYNX_LUXE|Hyper X Dragon|HYPER X BLADE(?: II)?)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LYNX_LUXE' model: 'Lynx Luxe' - regex: 'Hyper X Dragon' model: 'Hyper X Dragon' - regex: 'HYPER X BLADE II' model: 'Hyper X Blade II' - regex: 'HYPER X BLADE' model: 'Hyper X Blade' # NeuTab NeuTab: regex: 'neutab ?k1(?:[);/ ]|$)' device: 'tablet' models: - regex: 'neutab ?k1' model: 'K1' # Kraft (kraftltd.com) Kraft: regex: '(?:Kraft[_ -])?KTV-(\w+)' device: 'tv' model: 'KTV-$1' # Zoom Zoom: regex: 'Android 8(?:[\d.]*);(?: [\w-]+;)? (LitePro)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Linsay (linsaydigital.com) Linsay: regex: 'LINSAY[_ ]|(?:F10XIPSQ|F10XIPG)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(F10XIPSQ|F10XIPG)(?:[);/ ]|$)' model: '$1' - regex: 'LINSAY[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # Disney Disney: regex: '(?:MARVEL|FROZEN|Toy_story)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Toy_story' model: 'TOY STORY' - regex: '(MARVEL|FROZEN)' model: '$1' # WAF or W.A.F WAF: regex: '(F808NM|F803YM)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Geant Geant: regex: 'GEANT[_ ](T\d)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Galactic Galactic: regex: 'Galactic[_ ](Astro)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Zigo Zigo: regex: '(?:Eon45i)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Eon45i' model: 'Eon 45i' # AEEZO AEEZO: regex: '(TK701|TK806)_EEA(?:[);/ ]|$)' device: 'tablet' model: '$1' # TPS or SZ TPS TPS: regex: 'TPS-(SC10)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Conceptum Conceptum: regex: '(GoCAM_G301)(?:[);/ ]|$)' device: 'tablet' model: '$1' # DPA DPA: regex: '(?:DPA_ZETA|DPA H3)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'DPA_ZETA' model: 'Zeta' - regex: 'DPA (H3)' model: '$1' # SkyStream SkyStream: regex: 'SKYSTREAM[_ ](?:3Plus|One)(?:[);/ ]|$)' device: 'tv' models: - regex: 'SKYSTREAM[_ ]3Plus' model: 'III Plus' - regex: 'SKYSTREAM[_ ]One' model: 'One' # Skytech (https://skytech.com.tr/) Skytech: regex: 'LGE; ST-[0-9a-z]+;' device: 'tv' models: - regex: 'LGE; (ST-[0-9a-z]+);' model: '$1' # Supraim Supraim: regex: '(SN10)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Bolva (bolva.it) Bolva: regex: 'B_TAB1021(?:[);/ ]|$)' device: 'tablet' model: 'B-TAB1021' # DIJITSU (http://dijitsu.com.tr/) DIJITSU: regex: 'DIJITSU_|LGE; [0-9]{2}DW[0-9]\d*;|(?:DCT 90)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'DCT 90' model: 'DCT 90' - regex: 'DIJITSU[_ ]Smart[_ ]A11s' model: 'Smart A11s' - regex: 'LGE; ([0-9]{2}DW\d*);' model: '$1' device: 'tv' # Hathway Hathway: regex: '(DVB-ATV100)(?:[);/ ]|$)' device: 'tv' model: '$1' # iLepo iLepo: regex: 'ILEPO[ _](MXQ-4K)(?:[);/ ]|$)' device: 'tv' model: '$1' # SEEWO SEEWO: regex: 'SEEWO[ _](SD02)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # TOPSHOWS TOPSHOWS: regex: 'TOPSHOWS[ _-](X[19])(?:[);/ ]|$)' device: 'tablet' model: '$1' # KN Mobile or knmobile KN Mobile: regex: 'knmobile[_ ]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # Green Orange Green Orange: regex: '(?:GO 55303)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'GO 55303' model: 'C5 GO' # UOOGOU UOOGOU: regex: 'UOOGOU' device: 'smartphone' models: - regex: 'UOOGOU[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # MLAB or MicroLab MLAB: regex: 'MLAB[ _-]' device: 'tablet' models: - regex: 'MLAB[ _-]GLOWY([78]|10)' model: 'Glowy $1' # Zeblaze Zeblaze: regex: '(THOR 4 Plus|THOR S|THOR PRO)(?:[);/ ]|$)' device: 'wearable' models: - regex: 'THOR (S|4 Plus)(?:[);/ ]|$)' model: 'Thor $1' - regex: 'THOR PRO' model: 'Thor Pro' # noDROPOUT noDROPOUT: regex: 'NODROPOUT[_ ]' device: 'tablet' models: - regex: 'NODROPOUT[_ ]([^/;)]+)(?: Build|[);])' model: '$1' # G-Fone or Gfone Gfone: regex: 'G-Fone ?(\d{1,3})' device: 'feature phone' model: '$1' # TechniSat TechniSat: regex: 'TechniPhone 5(?:[);/ ]|$)' device: 'smartphone' model: 'TechniPhone 5' # Durabook Durabook: regex: '(Diamond R8)(?:[);/ ]|$)' device: 'tablet' model: '$1' # DangcapHD DangcapHD: regex: 'DangcapHD' device: 'tv' models: - regex: 'D8 Pro' model: 'D8 Pro' # Panodic Panodic: regex: 'Panodic(?:[);/ ]|$)' device: 'tv' model: 'TV Box' # Panoramic Panoramic: regex: 'Panoramic[_ ](FQ-058/2)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Platoon Platoon: regex: '(PLT-[12]00)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Premier Premier: regex: '(?:MAXI 20)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'MAXI 20' model: 'Maxi 20' # A95X (OEM OTT TV BOX) A95X: regex: 'A95X' device: 'tv' models: - regex: 'A95X Plus' model: 'Plus' - regex: 'A95X F3 Slim' model: 'F3 Slim' - regex: 'A95X MAX \+' model: 'Max+' - regex: 'A95X_F3Air_II' model: 'F3 Air II' - regex: 'A95X MAX' model: 'Max' - regex: 'A95X PRO' model: 'Pro' - regex: 'A95X F3 Air' model: 'F3 Air' - regex: 'A95X ?Z2PLUS' model: 'Z2 Plus' - regex: 'A95X[ _-]?(F[1-4]|R[1235]|[AWZ]2|A1)' model: '$1' # ibowin ibowin: regex: '(M10ES11)(?:[);/ ]|$)' device: 'tablet' model: '$1' # MultiPOS pos terminal MultiPOS: regex: 'MultiPOS[ _]?(X9)(?:[);/ ]|$)' device: 'peripheral' model: '$1' # BAFF BAFF: regex: 'BAFF\d{2}|(?:32YSTV-R)(?:[);/ ]|$)' device: 'tv' models: - regex: 'BAFF(\d{2})YFHD' model: '$1Y FHD' - regex: '(?:BAFF)?(\d{2})Y(STV(?:-R)?)' model: '$1Y $2' # GroBerwert GroBerwert: regex: 'GroBerwert[ _]?(HD7)(?:[);/ ]|$)' device: 'tablet' model: '$1' # BARTEC (www.pixavi.com) BARTEC: regex: 'Pixavi' device: 'smartphone' models: - regex: 'Pixavi[ _](Phone)' model: 'Pixavi $1' # FOSSiBOT (www.fossibot.com) FOSSiBOT: regex: '(?:android 1[23](?:[\d.]*);(?: [\w-]+;)? (?:F10[12])|F10[16] Pro|DT[12])(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'DT1 Lite' device: 'tablet' model: 'DT1 Lite' - regex: '(DT[12])(?:[);/ ]|$)' device: 'tablet' model: '$1' - regex: 'F(10[16]) Pro' model: 'F$1 Pro' - regex: 'F(10[12])(?:[);/ ]|$)' model: 'F$1' # free (https://www.free.fr/) free: regex: '(Freebox Player Mini)(?:[);/ ]|$)' device: 'tv' model: '$1' # Nanho Nanho: regex: 'android 7(?:[\d.]*);(?: [\w-]+;)? (?:F101)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'F101(?:[);/ ]|$)' model: 'F101' # Vekta (myvekta.ru) Vekta: regex: '(LD-24SR(?:4715|4815|4850)BS|LD-65SU8815BS|LD-32SR(?:4850|4815|511[25])BS|LD-39SR4815BS|LD-50SU(?:8921|8815)BS|LD-55SU8815BS|LD-43SU8821BS|LD-43SF(?:4850|4815)BS(?:-T9)?)(?:[);/ ]|$)' device: 'tv' model: '$1' # Accesstyle (accesstyle.ru) Accesstyle: regex: '(U43EY1500B|[FH]32EY1500B)(?:[);/ ]|$)' device: 'tv' model: '$1' # SobieTech SobieTech: regex: 'SobieTech' device: 'peripheral' models: - regex: 'SOBIETECH SLP' model: 'Smart LED 3D Projector' # Lime Lime: regex: 'Lime(?:Z2PLUS|T95)' device: 'tv' models: - regex: 'LimeZ2PLUS' model: 'Z2 Plus' - regex: 'Lime(T95)' model: '$1' # VETAS VETAS: regex: 'VETAS[_ ]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # Canguro Canguro: regex: '(M75TG)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Gamma Gamma: regex: '(EDU-7MT4)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Xcell Xcell: regex: '(Enia)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Epic Epic: regex: '(ePad 7i)(?:[);/ ]|$)' device: 'tablet' model: '$1' # AMCV AMCV: regex: '(LE-3[29]ZTHS25|LE-5[05]ZTUS30|LE-50ZTUS32|LE-43ZTFS25)(?:-[ABF])?(?:[);/ ]|$)' device: 'tv' model: '$1' # Sber (sberdevices.ru) Sber: regex: '(SberBox|SaluteTV|SBDV-00006)(?:[);/ ]|$)' device: 'tv' model: '$1' # Sveon Sveon: regex: '(SBX604)(?:[);/ ]|$)' device: 'tv' model: '$1' # DSDevices DSDevices: regex: '(DSCS9)(?:[);/ ]|$)' device: 'tv' model: '$1' # VOLKANO VOLKANO: regex: '(VK-740-BL)(?:[);/ ]|$)' device: 'tablet' model: '$1' # A&K A&K: regex: '(G4040)' device: 'feature phone' model: '$1' # BASE BASE: regex: 'BASE[_ ](Varia)' device: 'smartphone' model: '$1' # BAUHN (https://bauhn.com.au/) BAUHN: regex: 'BAUHN(?:[);/ ]|$)' device: 'tv' model: '' # CKK Mobile CKK Mobile: regex: 'CKK (Inspire 1|Garnet)|(?:DUKE[78]|DUKE 3|DUKE\s+II)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'DUKE ?([378])' model: 'DUKE $1' - regex: 'DUKE\s+II' model: 'DUKE 2' - regex: 'CKK (Inspire 1|Garnet)' model: '$1' # SPURT SPURT: regex: 'Spurt[_ ]|(?: K700)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:Spurt[_ ])?K([78]00)' model: 'K$1' # Z-Kai Z-Kai: regex: '(ZMOOTH)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Arçelik Arçelik: regex: 'Arcelik' device: 'tv' model: '' # TwinMOS (https://www.twinmos.com/) TwinMOS: regex: 'TwinTAB|(?:MQ703G)(?:_1)?(?:[);/ ]|$)' device: 'tablet' models: - regex: '(MQ703G)(?:_1)?' model: '$1' - regex: 'TwinTAB-(T103GQ1)' model: '$1' # Getnord (getnord.com) Getnord: regex: 'Getnord[- ]([^/;)]+)(?: Build|[);])' device: 'smartphone' model: '$1' # FreeYond (www.freeyond.com) FreeYond: regex: '(?:2305003M|2306004M|23080(?:05M|11M))(?:[);/ ]|$)' device: 'smartphone' models: - regex: '2305003M' model: 'M5A' - regex: '2308005M' model: 'M6' - regex: '2308011M' model: 'M5' - regex: '2306004M' model: 'F9S' # None (n-onepc.com) N-one: regex: 'Npad[ _-]?(?:X1?|plus|Air|Pro|Y1|S)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Npad[ _-]?plus' model: 'NPad Plus' - regex: 'Npad[ _-]?Air' model: 'NPad Air' - regex: 'Npad[ _-]?Pro' model: 'NPad Pro' - regex: 'NpadS' model: 'NPad S' - regex: 'Npad[ _]([^/;)]+)(?: Build|[);])' model: 'NPad $1' # Maunfeld (www.maunfeld.ru) Maunfeld: regex: '(MLT43USD02G?|MLT32HSX02|MLT55USX02)(?:[);/ ]|$)' device: 'tv' model: '$1' # GTX (www.gtx.com.tr) GTX: regex: 'GTX_JACULUS(?:[);/ ]|$)' device: 'tablet' model: 'Jaculus' # SAILF SAILF: regex: '(?:20220728MT)(?:[);/ ]|$)' device: 'smartphone' model: 'I13 Pro' # Hisense (https://www.hisense-usa.com/) Hisense: regex: '(?:HS-)?Hisense ([^;/]+) Build|Hisense|HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\-]*|HNR(?:320T|55[01]T)|E270BSA|HWCD100E|HITV300C|HITV205N|M470BS[AE]|EG98|E2281|EG680|I46D1G|HAT4KDTV|HITV10[12]C|HLTE(?:[237]00T|229T|200M|203T|202N|21[023567][TM]|22[67]T|22[13]E|230E|239E|103E|310[TM]|31[16]T|500T|501N|510[TM]|556N|7[23]0T|720E|M800)|KS(?:907|964)|U972|U601S Pro|U972_Pro|HiSmart [24]K ATV4|HiSmartTV A4' device: 'smartphone' models: # explicit tablet models - regex: 'E270BSA' device: 'tablet' model: 'Sero 7' - regex: 'HITV10[12]C' device: 'tablet' model: 'E22' - regex: 'M470BS[AE]' device: 'tablet' model: 'Sero 7 Pro' - regex: 'E2281' device: 'tablet' model: 'Sero 8' - regex: 'HLTE202N' model: 'A5' - regex: 'HLTE203T' model: 'A5 Pro CC' - regex: 'HLTE700T' model: 'A6' - regex: 'HLTE730T' model: 'A6L' - regex: 'HNR320T' model: 'A7' - regex: 'HLTE556N' model: 'A9' - regex: 'M50 Lite 2021' model: 'M50 Lite (2021)' - regex: 'E50s \d+GB|HLTE239E' model: 'E50s' - regex: 'Infinity E MAX' model: 'Infinity E Max' - regex: 'HLTE221E|E MAX(?:[);/ ]|$)' model: 'E Max' - regex: 'HLTE501N' model: 'V Plus' - regex: 'KS907' model: 'V3' - regex: 'HLTE223E' model: 'H30' - regex: 'HLTE720E' model: 'U30' - regex: 'I46D1G' model: 'Smartfren Andromax R' - regex: 'EG680' model: 'Smartfren Andromax Z' - regex: 'EG98' model: 'Smartfren Andromax U2' - regex: 'HLTE200T(?:[);/ ]|$)' model: 'F26' - regex: 'HLTE210T(?:[);/ ]|$)' model: 'F28' - regex: 'HLTE215T(?:[);/ ]|$)' model: 'F29' - regex: 'HLTE213T(?:[);/ ]|$)' model: 'King Kong 4' - regex: 'HLTE311T(?:[);/ ]|$)' model: 'King Kong 4 Pro' - regex: 'HLTE216[TM](?:[);/ ]|$)' model: 'King Kong 5' - regex: 'HLTE316T(?:[);/ ]|$)' model: 'King Kong 5 Pro' - regex: 'HLTE226T(?:[);/ ]|$)' model: 'King Kong 6' - regex: 'F8 MINI(?:[);/ ]|$)' model: 'F8 Mini' - regex: 'HLTE217T(?:[);/ ]|$)' model: 'F30S' - regex: 'HLTE227T(?:[);/ ]|$)' model: 'F40' - regex: 'HNR550T(?:[);/ ]|$)' model: 'F50' - regex: 'HNR551T(?:[);/ ]|$)' model: 'F50 Plus' - regex: 'HLTE310[TM](?:[);/ ]|$)' model: 'H18' - regex: 'HLTE510[TM](?:[);/ ]|$)' model: 'H20' - regex: 'HLTE103E' model: 'E20' - regex: 'Hisense E50 128G' model: 'E50' - regex: 'Hisense E50 Lite 64G' model: 'E50 Lite' - regex: 'HLTE229T' model: 'R7 Pro' - regex: 'HLTE500T(?:[);/ ]|$)' model: 'H11' - regex: '(?:HLTE230E|Infinity H40 Lite)(?:[);/ ]|$)' model: 'Infinity H40 Lite' - regex: 'HLTEM800' model: 'Xiaohaitun 2' - regex: 'HLTE720T(?:[);/ ]|$)' model: 'U30' device: 'phablet' - regex: 'HWCD100E(?:[);/ ]|$)' model: 'U40 Lite' - regex: '(HLTE300T|HLTE200M|HLTE212T)(?:[);/ ]|$)' model: '$1' - regex: 'HITV300C(?:[);/ ]|$)' model: 'E9' - regex: 'E260T\+(?:[);/ ]|$)' model: 'Nana' - regex: '(U972|U601S)[ _]Pro(?:[);/ ]|$)' model: '$1 Pro' - regex: 'Infinity H([56]0) ZOOM(?:[);/ ]|$)' model: 'Infinity H$1 Zoom' - regex: 'Infinity E30SE(?:[);/ ]|$)' model: 'Infinity E30 SE' - regex: '(HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\-]*|U972)' model: '$1' - regex: '(HAT4KDTV|HiSmart [24]K ATV4|HiSmartTV A4)(?:[);/ ]|$)' device: 'tv' model: '$1' - regex: 'Hisense;SmartTV;([a-z0-9_ \-]+)V[ST];' device: 'tv' model: '$1' - regex: 'Hisense;SmartTV;([a-z0-9_ \-]+);' device: 'tv' model: '$1' - regex: '(HE43A6500UWTS)' device: 'tv' model: '$1' - regex: 'HITV205N(?:[);/ ]|$)' device: 'portable media player' model: 'Touch' - regex: 'KS964(?:[);/ ]|$)' model: 'U3 (2019)' - regex: '(?:HS-)?Hisense (U3) 2021(?: Build|[);])' model: 'U3 (2021)' - regex: '(?:HS-)?Hisense ([^;/)]+) Pro(?: Build|[);])' model: '$1 Pro' - regex: '(?:HS-)?Hisense ([^;/)]+) Plus(?: Build|[);])' model: '$1 Plus' - regex: '(?:HS-)?Hisense ([^;/)]+)(?: Build|[);])' model: '$1' - regex: '(?:HS-)?Hisense ([^/]+)/' model: '$1' # HiBY HiBy: regex: '(?:R6III)(?:[);/ ]|$)' device: 'portable media player' model: 'R6 Gen III' # VOLIA (https://my.volia.com) VOLIA: regex: '(VOL001)(?:[);/ ]|$)' device: 'tv' model: '$1' # Sagemcom (https://www.sagemcom.com/) Sagemcom: regex: 'Sagemcom[;, \-_]|(DIW3930)(?:[);/ ]|$)' device: 'tv' models: - regex: '(DI384|DIW350|DIW387|DIW3930)(?:[);/ ]|$)' model: '$1' - regex: 'Sagemcom[;,] ([a-z0-9]+)(?:[);/ ]|$)' model: '$1' - regex: 'Sagemcom\-OTT\-([a-z0-9]+)(?:[);/ ]|$)' model: '$1' - regex: 'Sagemcom_Broadband_SAS,([a-z0-9_ \-]+),(?:wired|wireless)' model: '$1' # XGEM XGEM: regex: 'XGEM[;,]' device: 'tv' models: - regex: 'XGEM[;,] ?([a-z0-9]+)(?:[);/ ]|$)' model: '$1' # MeMobile MeMobile: regex: 'Grace (9|10)(?:[);/ ]|$)' device: 'smartphone' model: 'Grace $1' # WeChip WeChip: regex: 'V10(?:[);/ ]|$)' device: 'tv' model: 'V10' # TriaPlay TriaPlay: regex: 'TriaPlayBox(?:[);/ ]|$)' device: 'tv' model: 'TV Box' # AirTouch AirTouch: regex: 'AirTouch PERFORMANCE' device: 'car browser' models: - regex: 'PERFORMANCE 10x' # auxiliary block for android auto model: 'Performance 10x' # Eyemoo (https://eyemootech.com/) Eyemoo: regex: 'NXTEPaper-S1' device: 'tablet' model: 'NXT EPaper S1' # Ajib Ajib: regex: 'ajib ' device: 'smartphone' models: - regex: 'ajib X1(?:[);/ ]|$)' model: 'X1' - regex: 'ajib l1(?:[);/ ]|$)' model: 'L1' # QWATT (https://qwatt.kz) QWATT: regex: '(Q\d{2}Y[FHK]-(?:M[GB]|PB))(?:[);/ ]|$)' device: 'tv' model: '$1' # HiGrace HiGrace: regex: '(OC101)(?:[);/ ]|$)' device: 'tablet' model: '$1' # PAGRAER PAGRAER: regex: 'PAGRAER (P50 Pro)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # DIALN DIALN: regex: 'X8ULTRA(?:[);/ ]|$)' device: 'tablet' model: 'X8 Ultra' # AUPO AUPO: regex: 'AUPO[ _]Zeus' device: 'tablet' models: - regex: 'AUPO[ _]Zeus 10 Pro' model: 'Zeus 10 Pro' # CCIT CCIT: regex: 'CCIT[_ ]|CCITA715G|(?:KT[236]00Pro)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'CCIT[ _]Xedition' device: 'smartphone' model: 'X Edition' - regex: 'CCIT[ _]405(?: Build|[);])' model: 'Vogue 405' device: 'smartphone' - regex: 'KT([236]00)Pro' model: 'KT$1 Pro' - regex: 'CCIT[_ ]?([^;/)]+)(?: Build|[);])' model: '$1' # Green Lion or GreenLion Green Lion: regex: 'G-10 (?:ULTRA|PRO)|G-20ULTRA|G-8 PRO' device: 'tablet' models: - regex: 'G-([12]0) ?ULTRA' model: 'G-$1 Ultra' - regex: 'G-(8|10) PRO' model: 'G-$1 Pro' # VANWIN VANWIN: regex: 'VANWIN[ -_]?(V62)(?:[);/ ]|$)' device: 'tablet' model: $1 # Globmall Globmall: regex: 'Globmall[ _](X4)(?:[);/ ]|$)' device: 'tv' model: '$1' # GlocalMe (https://www.glocalme.com/) GlocalMe: regex: 'S20iQ19(?:[);/ ]|$)' device: 'smartphone' model: 'S20i' # Heimat Heimat: regex: 'HEIMAT[ _](H43PU2303SVF|H65PU2303SVF)(?:[);/ ]|$)' device: 'tv' model: '$1' # AngelTech AngelTech: regex: 'Android 8(?:[\d.]*);(?: [\w-]+;)? P80(?: Build|[);])' device: 'tablet' model: 'P80' # MAGCH (www.magchtab.com) MAGCH: regex: '(M82[01])(?:-EEA)?(?:[);/ ]|$)' device: 'tablet' model: '$1' # MAG MAG: regex: '(CRD55-UHD9)(?: Build|[);])' device: 'tv' model: '$1' # S-Color or SColor S-Color: regex: '(GT40 Ultra)(?: Build|[);])' device: 'tablet' model: '$1' # W&O W&O: regex: '(?:X9 CALL2| WO [89])(?: Build|[);])' device: 'wearable' models: - regex: 'WO ([89])' device: 'tablet' model: 'WO$1' - regex: 'X9 CALL2' model: 'X9 Call 2' # Cuiud Cuiud: regex: 'cuiud' device: 'smartphone' models: - regex: 'Cuiud F7' model: 'F7' # Cidea or C idea (http://cidealife.com/ or https://www.cideatablet.com/) C Idea: regex: 'CM(?:[58]22|(?:85|78)00plus)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(CM[58]22)(?:[);/ ]|$)' model: '$1' - regex: 'CM(85|78)00plus(?:[);/ ]|$)' model: 'CM$100 Plus' # Daria Daria: regex: '(DM-B50104)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # Wainyok Wainyok: regex: ' (P10X)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Aceline (DNS retail) Aceline: regex: '(24HHY1|32HHY1)(?:[);/ ]|$)' device: 'tv' model: '$1' # CADENA CADENA: regex: 'CADENA[_ ]' device: 'tv' models: - regex: 'CADENA[_ ]Pro[_ ]([^;/)]+)(?: Build|[);])' model: 'Pro $1' # Jin Tu (jintu.ru) Jin Tu: regex: 'JIN[ _]TU[ _]([^;/)]+)(?: Build|[);])' device: 'peripheral' model: '$1' # Whoop (whoopconnect.com) Whoop: regex: '(TAB-8US2)(?:[);/ ]|$)' device: 'tablet' model: '$1' # TECHNOSAT (technosat-ua.com) TECHNOSAT: regex: 'TECHNOSAT[ _]' device: 'tv' models: - regex: 'X98mini' model: 'X98 Mini' - regex: 'TECHNOSAT[ _](W2)' model: '$1' # Lville or LVILLE Lville: regex: '(TPC1013)' device: 'tablet' model: '$1' # KENSHI KENSHI: regex: '(?:Android 13(?:[\d.]*);(?: [\w-]+;)? (?:E1[1278]|E28|E38|H38|H21|H19|H11)|Armor_C1w|Armor P1s)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Armor_C1w' device: 'smartphone' model: 'Armor C1w' - regex: 'Armor P1s' device: 'smartphone' model: 'Armor P1s' - regex: 'Android 13(?:[\d.]*);(?: [\w-]+;)? (E1[1278]|E28|E38|H38|H21|H19|H11)(?:[);/ ]|$)' model: '$1' # KENWOOD (https://www.kenwoodworld.com/) KENWOOD: regex: '(KWSA80K)(?:[);/ ]|$)' device: 'smartphone' model: '$1' # HOLLEBERG (holleberg.com) HOLLEBERG: regex: 'HGTV-LED(\d{2}[FU]?HDSQ?\d{3}T2)(?:[);/ ]|$)' device: 'tv' model: 'HGTV-LED$1' # CEPTER (ceptertech.com) CEPTER: regex: 'CEPTER(TAB10[1L])' device: 'tablet' model: '$1' # SoulLink SoulLink: regex: 'Soullink[ _](S1)' device: 'tv' model: '$1' # Clovertek or Clover Clovertek: regex: 'Clovertek[ _](G12)' device: 'tablet' model: '$1' # Padpro Padpro: regex: 'GT40promax' device: 'tablet' model: 'GT40 Pro Max' # GOLDBERG GOLDBERG: regex: '(?:EVO-VX1)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'EVO-VX1' model: EVO VX1 # Tuvio Tuvio: regex: '(STV-32DHBK2R-T9|TQ55UFBTV1|TD86UFBTV1|TQ50UFBCV1|TD32HF[GW]EV1|TD43FFGTV1|TD50UFGEV1|TD55UFBHV1|TD55UFGEV1|TD(?:[67]5|43)UFGCV1)(?:[);/ ]|$)' device: 'tv' model: '$1' # WS or WS(SZ) WS: regex: '(TD-TP010G-2)(?:[);/ ]|$)' device: 'tablet' model: '$1' # FLYCOAY FLYCOAY: regex: '(Y121-EEA)(?:[);/ ]|$)' device: 'tablet' model: '$1' # KVADRA (квадра.рф, kvadra.tech) KVADRA: regex: 'KVADRA_' device: 'tablet' models: - regex: 'KVADRA_T' model: 'T' # Azeyou Azeyou: regex: '(AT1011E)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Azupik Azupik: regex: 'Azupik' device: 'tablet' model: '' # ExtraLink ExtraLink: regex: 'ESP-300(?:[);/ ]|$)' device: 'peripheral' model: 'Smart Life ESP-300' # projector # VNPT Technology (www.vnpt-technology.vn) VNPT Technology: regex: 'VNT_Tab8(?:[);/ ]|$)' device: 'tablet' model: 'VNT-Tab8' # Arival or A-Rival Arival: regex: 'BioniQP116(?:[);/ ]|$)' device: 'tablet' model: 'Bioniq P116' # VILLAON VILLAON: regex: 'VILLAON[_ ]' device: 'smartphone' models: - regex: 'V6751L' model: 'V30 RS' - regex: 'V501W' model: 'V20 SE' - regex: 'VILLAON[_ ]([^;/)]+)(?: Build|[);])' model: '$1' # VIMOQ VIMOQ: regex: 'VIMOQ' device: 'smartphone' models: - regex: 'A631LO(?:[);/ ]|$)' model: 'A49 Play' - regex: 'P662LO(?:[);/ ]|$)' model: 'P40' - regex: 'S661LS(?:[);/ ]|$)' model: 'Vision 3' # Neoregent Neoregent: regex: 'KT1007_EEA(?:[);/ ]|$)' device: 'tablet' model: 'KT1007' # Retroid Pocket (www.goretroid.com) Retroid Pocket: regex: 'Retroid Pocket' device: 'console' models: - regex: 'Retroid Pocket ([32]) ?(?:Plus|\+)' model: '$1 Plus' - regex: 'Retroid Pocket 4 Pro' model: '4 Pro' # Renova (renova.market) Renova: regex: '(TLE-50USBM|TLE-43FSBM)(?:[);/ ]|$)' device: 'tv' model: '$1' # GoldStar GoldStar: regex: '(LT-55U900)(?:[);/ ]|$)' device: 'tv' model: '$1' # ANBERNIC (anbernic.com/) ANBERNIC: regex: '(RG405V|RG505)(?:[);/ ]|$)' device: 'console' model: '$1' # ANCEL (https://www.ancel.com/) ANCEL: regex: 'ANCEL' device: 'tablet' models: - regex: 'Ancel(801)(?:[);/ ]|$)' model: '$1' # Aocwei Aocwei: regex: '(?:X900_US|X700_EEA)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'X([79]00)_(?:EEA|US)' model: 'X$1' # SMUX or SMUXBOX SMUX: regex: 'SMUX ?BOX A1(?:[);/ ]|$)' device: 'tv' model: 'A1' # AAUW (aauwtablet.com) AAUW: regex: 'Android 13(?:[\d.]*);(?: [\w-]+;)? (?:M50)( Build|[;)])' device: 'tablet' model: 'M50' # Rocket Tablet Computer Rocket: regex: '(ZC-P95)(?:[);/ ]|$)' device: 'tablet' model: '$1' # TYD or JXCNSNW TYD: regex: '(TYD-109([_ ]Pro)?)(?:[);/ ]|$)' device: 'tablet' model: '$1' # HMD (hmd.com) HMD: regex: 'HMD (?:Pulse (?:Pro|Plus)|Pulse)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Pulse Plus' model: 'Pulse+' - regex: 'Pulse Pro' model: 'Pulse Pro' - regex: 'Pulse' model: 'Pulse' # NETWIT (netwit.ru) NETWIT: regex: 'NETWIT_([^;/)]+)( Build|[;)])' device: 'tv' model: '$1' # HongTop HongTop: regex: 'HongTop' device: 'tv' models: - regex: 'HongTop_Projector' device: 'peripheral' model: 'Projector' # OrangePi (orangepi.org) Orange Pi: regex: 'OrangePi[_ ]?([^;/)]+)( Build|[;)])' device: 'peripheral' model: '$1' # VIKUSHA (vikushalife.com) VIKUSHA: regex: '(V-Z[45]0)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Atozee Atozee: regex: '(?:(?:CP20|YQ10S)_(?:MAX|Gold)|AT81K|CP10)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'CP20_Gold' model: 'CP20 Gold' - regex: 'YQ10S_MAX' model: 'YQ10S Max' - regex: 'YQ10S_Gold' model: 'YQ10S Gold' - regex: '(AT81K|CP10)' model: '$1' # Relndoo Relndoo: regex: ' (TB02)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Scoole Scoole: regex: '(SL-LED24S90T2S|SL-LED32S49T2S|SL-LED43S98T2SU|SL-LED43S94T2S|SL-LED55S01T2SU)(?:[);/ ]|$)' device: 'tv' model: '$1' # rephone (rephone.ch) rephone: regex: '(?:2000_000170_00)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '2000_000170_00' model: rephone (Gen 1) # BYJU'S (https://byjus.com/) BYJU'S: regex: 'LRNS10GIL0(?:[);/ ]|$)' device: 'tablet' models: - regex: '(LRNS10GIL0)' model: '$1' # BYYBUO (byybuo.com) BYYBUO: regex: 'BYYBUO|(?:SmartPad_(?:K7|T10)_EU|SmartPad_T10)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(?:BYYBUO_)?SmartPad_(K7|T10)(?:_EU)?' model: 'SmartPad $1' # Haixu Haixu: regex: 'Haixu[_ ]?([^;/)]+)( Build|[;)])' device: 'smartphone' model: '$1' # HONKUAHG HONKUAHG: regex: ' (EV10)( Build|[;)])' device: 'tablet' model: '$1' # SWOFY (swofy.com.cn) SWOFY: regex: 'SWOFY[_ ]' device: 'portable media player' models: - regex: 'SWOFY[_ ]M503-Pro' model: 'M503 Pro' # Moondrop (moondroplab.com) Moondrop: regex: 'MD-PH-001(?:[);/ ]|$)' device: 'smartphone' model: 'MIAD01' # Vision Technology (vision-ma.com) Vision Technology: regex: 'LGE; VS-[0-9a-z]+;|XS100MINI(?:[);/ ]|$)' device: 'tv' models: - regex: 'XS100MINI(?:[);/ ]|$)' model: 'XS100 Mini' - regex: 'LGE; (VS-[0-9a-z]+);' model: '$1' # WOZIFAN (Ruzava/WOZIFAN) WOZIFAN: regex: 'W10_EEA(?:[);/ ]|$)' device: 'tablet' model: 'W10' # Newal (newal.com.tr) Newal: regex: 'NEWAL[_ ]?([^;/)]+)( Build|[;)])' device: 'tv' model: '$1' # Hanson Hanson: regex: 'Hanson[_ ]?([^;/)]+)( Build|[;)])' device: 'tablet' model: '$1' # Tivax (tivax.com) Tivax: regex: '(MiTraveler 958)' device: 'tablet' model: '$1' # Nordfrost (nordfrost.ru) Nordfrost: regex: '(Y-(?:4301|4001)-FHD-R)(?:[);/ ]|$)' device: 'tv' model: '$1' # Ringing Bells Ringing Bells: regex: 'RINGING BELLS' device: 'smartphone' models: - regex: 'Smart 101' model: 'Smart 101 4G' # Atouch Atouch: regex: '(?:S-Tab10?|M-T[34])(?:[);/ ]|$)' device: 'tablet' models: - regex: '(M-T[34])' model: '$1' - regex: 'S-Tab(10?)' model: 'S-Tab$1' # Metz or METZ blue (https://metz-ce.de, https://metzblue.com) Metz: regex: 'METZ 2K TV' device: 'tv' model: '2K Smart TV' # EGOTEK EGOTEK: regex: '(EGO1003)(?:[);/ ]|$)' device: 'tablet' model: '$1' # ZZB or ZZB (cn) ZZB: regex: '(ZB30)(?:[);/ ]|$)' device: 'tablet' model: '$1' # Dykemann (https://dykemann.ru/) Dykemann: regex: 'Sternenschein (G-\d{2})(?:[);/ ]|$)' # projector device: 'tv' model: 'Sternenschein $1' # BYD or BYD Auto (https://www.byd.com/) BYD: regex: 'For BYD AUTO' device: 'car browser' model: 'CarPad' # ROCH ROCH: regex: '(RH-LE\d{2}DSY-C)(?:[);/ ]|$)' device: 'tv' model: '$1' # DMOAO DMOAO: regex: '(?:D3_EEA)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(D3)_EEA(?:[);/ ]|$)' model: '$1' # Hyatta (hyatta.cn) Hyatta: regex: 'Model[ _](5|6s)(?:[);/ ]|$)' device: 'smartphone' model: 'Model $1' # PVBox PVBox: regex: 'PVBOX_P5_PRO' device: 'tv' model: 'P5 Pro' # XREAL (xreal.com) XREAL: regex: '(?:X4000)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'X4000' model: 'Beam Pro' # SENNA SENNA: regex: '(32SN6000H)(?:[);/ ]|$)' device: 'tv' model: '$1' # ATMPC ATMPC: regex: '(IT)_(701A)(?:[);/ ]|$)' device: 'tablet' model: '$1-$2' # Jambo or Jambo Technology (www.jambo.technology, jambophone.xyz) Jambo: regex: ' (?:JP1)( Build|[;)])' device: 'smartphone' model: 'JamboPhone' # LYOTECH LABS LYOTECH LABS: regex: 'LFi ONE(?:[);/ ]|$)' device: 'smartphone' model: 'LFi One' # MESWAO (https://meswao.com/) MESWAO: regex: '(MES-B1)(?:[);/ ]|$)' device: 'tablet' model: '$1' # SERVO SERVO: regex: '(?:SERVO 16MAX)(?:[);/ ]|$)' device: 'smartphone' model: '16 Max' # Devices with undectable brand, but detectable model Unknown: regex: 'Plasma Mobile|WebTV/(\d+\.\d+)|TV Bro| BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|SDSTB|SDOTT|(?:M10 Ultra|FO-R15|TVBOX|Smart[ _-]?TV|SmartATV|M8S\+ 4K|PCBox|rk(?:3128|322x|3368)(?:[_-]box)?|H10 PLAY|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|mips.+(?:Opera TV|wireless|wired)|smartbox|TV BOX|BOX TV|I12Pro Max|(?:audi_)?ks1280x480|AT&T TV|RealtekATV|AOSP on r33a0|tv001 on rtd289x|hx322x_box|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT|tv\.plus|WayDroid x86_64 Device|MediaBox|Cloud Phone|HK1RBOX-X4)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LGE; ([a-z0-9]+);' device: 'tv' model: '$1' - regex: 'WebTV/(\d+\.\d+)' device: 'tv' model: 'Web TV' - regex: 'M10 Ultra(?:[);/ ]|$)' device: 'phablet' model: 'M10 Ultra' # clone xiaomi m10 ultra - regex: '(FO-R15|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT)(?:[);/ ]|$)' device: 'tv' model: '$1' - regex: 'BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|SDSTB|SDOTT|(Smart[ _-]?TV|SmartATV|PCBox|hx322x_box|rk(?:3128|322x|3368)(?:[_-]box)?|TVBOX|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|AT&T TV|RealtekATV|TV Bro|AOSP on r33a0|tv001 on rtd289x|tv.plus|MediaBox|HK1RBOX-X4)(?:[);/ ]|$)' device: 'tv' model: '' - regex: 'M8S\+ 4K(?:[);/ ]|$)' device: 'tv' model: 'M8S+ 4K' - regex: 'H10 PLAY(?:[);/ ]|$)' device: 'tv' model: 'H10 Play' - regex: '(?:Opera TV|wireless|wired|smartbox|TV BOX|BOX TV)(?:[);/ ]|$)' device: 'tv' model: '' - regex: 'I12Pro Max(?:[);/ ]|$)' model: 'i12 Pro Max' - regex: '(?:audi_)?ks1280x480' device: 'car browser' model: 'Audi KS' - regex: 'WayDroid x86_64 Device' # linux container virtual device: 'desktop' model: ''