diff --git a/Tests/fixtures/phablet-1.yml b/Tests/fixtures/phablet-1.yml index ab41413a6a..04e14e370c 100644 --- a/Tests/fixtures/phablet-1.yml +++ b/Tests/fixtures/phablet-1.yml @@ -3275,3 +3275,415 @@ model: Zero 5G os_family: Android browser_family: Unknown +- + user_agent: iPhone11Pro + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 11 Pro + os_family: iOS + browser_family: Safari +- + user_agent: iPhone11ProMax + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 11 Pro Max + os_family: iOS + browser_family: Safari +- + user_agent: iPhone12 + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 12 + os_family: iOS + browser_family: Safari +- + user_agent: iPhone12Pro + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 12 Pro + os_family: iOS + browser_family: Safari +- + user_agent: iPhone12ProMax + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 12 Pro Max + os_family: iOS + browser_family: Safari +- + user_agent: iPhone13 + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 13 + os_family: iOS + browser_family: Safari +- + user_agent: iPhone13Pro + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 13 Pro + os_family: iOS + browser_family: Safari +- + user_agent: iPhone13ProMax + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 13 Pro Max + os_family: iOS + browser_family: Safari +- + user_agent: iPhone14 + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 14 + os_family: iOS + browser_family: Safari +- + user_agent: iPhone14Plus + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 14 Plus + os_family: iOS + browser_family: Safari +- + user_agent: iPhone14Pro + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 14 Pro + os_family: iOS + browser_family: Safari +- + user_agent: iPhone14ProMax + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 14 Pro Max + os_family: iOS + browser_family: Safari +- + user_agent: iPhone15 + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 15 + os_family: iOS + browser_family: Safari +- + user_agent: iPhone15Plus + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 15 Plus + os_family: iOS + browser_family: Safari +- + user_agent: iPhone15Pro + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 15 Pro + os_family: iOS + browser_family: Safari +- + user_agent: iPhone15ProMax + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 15 Pro Max + os_family: iOS + browser_family: Safari +- + user_agent: iPhoneX + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone X + os_family: iOS + browser_family: Safari +- + user_agent: iPhoneXSMax + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone XS Max + os_family: iOS + browser_family: Safari +- + user_agent: iPhone8Plus + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 8 Plus + os_family: iOS + browser_family: Safari +- + user_agent: iPhone7Plus + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone 7 Plus + os_family: iOS + browser_family: Safari +- + user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/605.1 NAVER(inapp; search; 1010; 11.17.1; SE3) + os: + name: iOS + version: 17.2.1 + platform: "" + client: + type: mobile app + name: Naver + version: 11.17.1 + device: + type: phablet + brand: Apple + model: iPhone SE (2022) + os_family: iOS + browser_family: Unknown +- + user_agent: iPhoneSE2ndGen + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone SE (2020) + os_family: iOS + browser_family: Safari +- + user_agent: iPhoneSE3ndGen + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: phablet + brand: Apple + model: iPhone SE (2022) + os_family: iOS + browser_family: Safari diff --git a/Tests/fixtures/portable_media_player.yml b/Tests/fixtures/portable_media_player.yml index 3be5f99bca..b26e44994d 100644 --- a/Tests/fixtures/portable_media_player.yml +++ b/Tests/fixtures/portable_media_player.yml @@ -897,3 +897,21 @@ model: XDP-300R os_family: Android browser_family: Chrome +- + user_agent: iPodTouch7 + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: portable media player + brand: Apple + model: iPod Touch 7 + os_family: iOS + browser_family: Safari diff --git a/Tests/fixtures/smartphone-37.yml b/Tests/fixtures/smartphone-37.yml index dfd8492927..b86a38e058 100644 --- a/Tests/fixtures/smartphone-37.yml +++ b/Tests/fixtures/smartphone-37.yml @@ -8111,3 +8111,165 @@ model: 11x 5G os_family: Android browser_family: Unknown +- + user_agent: iPhone11 + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone 11 + os_family: iOS + browser_family: Safari +- + user_agent: iPhone12mini + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone 12 Mini + os_family: iOS + browser_family: Safari +- + user_agent: iPhone13mini + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone 13 Mini + os_family: iOS + browser_family: Safari +- + user_agent: iPhoneXR + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone XR + os_family: iOS + browser_family: Safari +- + user_agent: iPhoneXS + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone XS + os_family: iOS + browser_family: Safari +- + user_agent: iPhone8 + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone 8 + os_family: iOS + browser_family: Safari +- + user_agent: iPhone7 + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone 7 + os_family: iOS + browser_family: Safari +- + user_agent: iPhone6s + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone 6s + os_family: iOS + browser_family: Safari +- + user_agent: iPhoneSE + os: + name: iOS + version: "" + platform: "" + client: + type: browser + name: Mobile Safari + version: "" + engine: WebKit + engine_version: "" + device: + type: smartphone + brand: Apple + model: iPhone SE + os_family: iOS + browser_family: Safari diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 8837510e0b..c1347c3c20 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1376,103 +1376,103 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?7[C,_]1|1C2%257enohPi| 6PLUS\)$' model: 'iPhone 6 Plus' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?7[C,_]2| 6\)$' - model: 'iPhone 6' - 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,_]1|iPhone[ /]6s| 6S\)$' + - 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,_]4| SE\)$' - model: 'iPhone SE' - device: 'smartphone' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?9[C,_][13]|iphone7 | 7\)$' - model: 'iPhone 7' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?7[C,_]2| 6\)$' + model: 'iPhone 6' device: 'smartphone' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?9[C,_][24]| 7PLUS\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?9[C,_][24]|iPhone7Plus| 7PLUS\)$' model: 'iPhone 7 Plus' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?10[C,_][14]| 8\)$' - model: 'iPhone 8' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?9[C,_][13]|iPhone7 ?| 7\)$' + model: 'iPhone 7' device: 'smartphone' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?10[C,_][25]| 8PLUS\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?10[C,_][25]|iPhone8Plus| 8PLUS\)$' model: 'iPhone 8 Plus' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?10[C,_][36]|iPhone X| X\)$' - model: 'iPhone X' - device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?11[C,_]2| XS\)$' - model: 'iPhone XS' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?10[C,_][14]|iPhone8| 8\)$' + model: 'iPhone 8' device: 'smartphone' - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?11[C,_][46]|iPhoneXSMax| XSMAX\)$' model: 'iPhone XS Max' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?11[C,_]8| XR\)$' - model: 'iPhone XR' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?11[C,_]2|iPhoneXS| XS\)$' + model: 'iPhone XS' device: 'smartphone' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?12[C,_]1|iPhone 11| 11\)$' - model: 'iPhone 11' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?11[C,_]8|iPhoneXR| XR\)$' + model: 'iPhone XR' device: 'smartphone' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?12[C,_]3| 11PRO\)$' - model: 'iPhone 11 Pro' + - 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| 11PROMAX\)$|iPhone_11_Pro_Max' + - 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,_]8| SE2\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?12[C,_]3|iPhone11Pro| 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|iPhoneSE2ndGen| SE2\)$' model: 'iPhone SE (2020)' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]1| 12MINI\)$' + - 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,_]2| 12\)$' - model: 'iPhone 12' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]4|iPhone12ProMax| 12PROMAX\)$' + model: 'iPhone 12 Pro Max' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]3| 12PRO\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]3|iPhone12Pro| 12PRO\)$' model: 'iPhone 12 Pro' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]4| 12PROMAX\)$' - model: 'iPhone 12 Pro Max' - device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]2| 13PRO\)$' - model: 'iPhone 13 Pro' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?13[C,_]2|iPhone12| 12\)$' + model: 'iPhone 12' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]3| 13PROMAX\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]3|iPhone13ProMax| 13PROMAX\)$' model: 'iPhone 13 Pro Max' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]4| 13MINI\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]2|iPhone13Pro| 13PRO\)$' + model: 'iPhone 13 Pro' + device: 'phablet' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]4|iPhone13mini| 13MINI\)$' model: 'iPhone 13 Mini' device: 'smartphone' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]5| 13\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]5|iPhone13| 13\)$' model: 'iPhone 13' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]6' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]6|iPhoneSE3ndGen| SE3\)$' model: 'iPhone SE (2022)' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]8| 14PLUS\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?8[C,_]4|iPhoneSE| SE\)$' + model: 'iPhone SE' + device: 'smartphone' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]8|iPhone14Plus| 14PLUS\)$' model: 'iPhone 14 Plus' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]2| 14PRO\)$' - model: 'iPhone 14 Pro' - device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]3| 14PROMAX\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]3|iPhone14ProMax| 14PROMAX\)$' model: 'iPhone 14 Pro Max' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]7| 14\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]2|iPhone14Pro| 14PRO\)$' + model: 'iPhone 14 Pro' + device: 'phablet' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?14[C,_]7|iPhone14| 14\)$' model: 'iPhone 14' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]5| 15PLUS\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]5|iPhone15Plus| 15PLUS\)$' model: 'iPhone 15 Plus' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?16[C,_]1| 15PRO\)$' - model: 'iPhone 15 Pro' - device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?16[C,_]2| 15PROMAX\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?16[C,_]2|iPhone15ProMax| 15PROMAX\)$' model: 'iPhone 15 Pro Max' device: 'phablet' - - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]4| 15\)$' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?16[C,_]1|iPhone15Pro| 15PRO\)$' + model: 'iPhone 15 Pro' + device: 'phablet' + - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?15[C,_]4|iPhone15| 15\)$' model: 'iPhone 15' device: 'phablet' diff --git a/regexes/device/portable_media_player.yml b/regexes/device/portable_media_player.yml index 19216e6eaf..20fcdd4c75 100644 --- a/regexes/device/portable_media_player.yml +++ b/regexes/device/portable_media_player.yml @@ -21,7 +21,7 @@ Apple: model: 'iPod Touch 5' - regex: '(?:Apple-)?iPod7[C,_]?1' model: 'iPod Touch 6' - - regex: '(?:Apple-)?iPod9[C,_]?1' + - regex: '(?:Apple-)?iPod9[C,_]?1|iPodTouch7' model: 'iPod Touch 7' - regex: '(?:Apple-)?iPod' model: 'iPod Touch'