UNPKG

node-device-detector

Version:

Nodejs device detector (port matomo-org/device-detector)

2,266 lines (2,265 loc) 55.1 kB
module.exports = [ { "regex": "Coolita OS QJY/.+LiteOS(\\d+[.\\d]+)", "name": "Coolita OS", "version": "$1" }, { "regex": "Coolita OS QJY/(\\d+[.\\d]+)", "name": "Coolita OS", "version": "$1" }, { "regex": "^NEXT ", "name": "RTOS & Next", "version": "" }, { "regex": "(?:Pacific|(?<!like )Quest).+OculusBrowser|Standalone HMD|PortalGo", "name": "Meta Horizon", "version": "" }, { "regex": "LeafOS", "name": "LeafOS", "version": "" }, { "regex": "Cloud Phone", "name": "Puffin OS", "version": "" }, { "regex": "RisingOS", "name": "risingOS", "version": "" }, { "regex": ".+.cm(\\d).x86_64", "name": "Azure Linux", "version": "$1" }, { "regex": "Linux[/-].+-(azure|Microsoft)", "name": "Azure Linux", "version": "" }, { "regex": "ViziOS/(\\d+[.\\d]+)", "name": "ViziOS", "version": "$1" }, { "regex": "VIZIO(?: SmartCast|-DTV)", "name": "ViziOS", "version": "" }, { "regex": "blackPanther OS", "name": "blackPanther OS", "version": "" }, { "regex": "WoPhone(?:/(\\d+[.\\d]+))?", "name": "WoPhone", "version": "$1" }, { "regex": "KIN\\.(?:One|Two) (\\d+[.\\d]+)", "name": "KIN OS", "version": "$1" }, { "regex": "Star-Blade OS", "name": "Star-Blade OS", "version": "" }, { "regex": "Qtopia/(\\d+[.\\d]+)", "name": "Qtopia", "version": "$1" }, { "regex": "OpenVMS V(\\d+[.\\d]+)", "name": "OpenVMS", "version": "$1" }, { "regex": "AROS", "name": "AROS", "version": "" }, { "regex": "\\(NEXT\\)", "name": "NeXTSTEP", "version": "" }, { "regex": "NEWS-OS (\\d+[.\\d]+)", "name": "NEWS-OS", "version": "$1" }, { "regex": "ULTRIX (\\d+[.\\d]+)", "name": "ULTRIX", "version": "$1" }, { "regex": "Turbolinux/(\\d+[.\\d]+)", "name": "Turbolinux", "version": "$1" }, { "regex": "Joli OS/(\\d+[.\\d]+)", "name": "Joli OS", "version": "$1" }, { "regex": "GENIX (\\d+[.\\d]+)", "name": "GENIX", "version": "$1" }, { "regex": "gNewSense/.*\\((\\d+[.\\d]+)", "name": "gNewSense", "version": "$1" }, { "regex": "Geos (\\d+[.\\d]+)", "name": "GEOS", "version": "$1" }, { "regex": "MOT-.*LinuxOS/", "name": "Motorola EZX", "version": "" }, { "regex": "Baidu Yi", "name": "Baidu Yi", "version": "" }, { "regex": "붉은별|Fedora/(?:\\d+\\.[\\d.-]+)\\.rs(\\d+(?:[_.]\\d+)*)", "name": "Red Star", "version": "$1" }, { "regex": "Linux/(?:\\d+\\.[\\d.-]+)-(?:pve|v(\\d)\\+)", "name": "Proxmox VE", "version": "$1" }, { "regex": "Linux/(?:\\d+\\.[\\d.-]+)-(?:\\d+[.\\d]+)stab(?:\\d+[.\\d]+)", "name": "OpenVZ", "version": "" }, { "regex": "rocky/(\\d+[.\\d]+)", "name": "Rocky Linux", "version": "$1" }, { "regex": "clear-linux-os/(\\d+[.\\d]+)", "name": "Clear Linux OS", "version": "$1" }, { "regex": "alpine/(\\d+[.\\d]+)", "name": "Alpine Linux", "version": "$1" }, { "regex": "scientific/(\\d+[.\\d]+)", "name": "Scientific Linux", "version": "$1" }, { "regex": "eulerosv(\\d)r(\\d+)", "name": "EulerOS", "version": "$1.$2" }, { "regex": "loongnix-server/(\\d+[.\\d]+)", "name": "Loongnix", "version": "$1" }, { "regex": "Linux/(?:\\d+\\.[\\d.-]+)\\.lns(\\d+(?:[_.]\\d+)*)\\.loongarch64", "name": "Loongnix", "version": "$1" }, { "regex": "AOSC OS", "name": "AOSC OS", "version": "" }, { "regex": "SerenityOS|Ladybird/", "name": "SerenityOS", "version": "" }, { "regex": "Helix Phone", "name": "HELIX OS", "version": "" }, { "regex": "Armadillo", "name": "Armadillo OS", "version": "" }, { "regex": "Webian", "name": "Webian", "version": "" }, { "regex": "Linux.*Liri/", "name": "Liri OS", "version": "" }, { "regex": "FRITZ!OS(?:/0(\\d+[.\\d]+))?", "name": "FRITZ!OS", "version": "$1" }, { "regex": "UOS$", "name": "UOS", "version": "" }, { "regex": "Raspbian/(\\d+[.\\d]+)", "name": "Raspbian", "version": "$1" }, { "regex": "Raspbian", "name": "Raspberry Pi OS", "version": "" }, { "regex": "BrightSign/(?:[A-Z0-9]+)/(\\d+[.\\d]+)", "name": "BrightSignOS", "version": "$1" }, { "regex": "BrightSign/(\\d+[.\\d]+)", "name": "BrightSignOS", "version": "$1" }, { "regex": "LuneOS", "name": "LuneOS", "version": "" }, { "regex": "Linux/(?:\\d+\\.[\\d.-]+)\\.el(\\d+(?:[_.]\\d+)*)uek", "name": "Oracle Linux", "version": "$1" }, { "regex": ".+kali(\\d)", "name": "Kali", "version": "$1" }, { "regex": "TiVoOS/(\\d+[.\\d]+)", "name": "TiVo OS", "version": "$1" }, { "regex": "VIDAA/(\\d+[.\\d]+)", "name": "VIDAA", "version": "$1" }, { "regex": "PICO.+OS(\\d+[.\\d]*)", "name": "PICO OS", "version": "$1" }, { "regex": "RED OS; Linux", "name": "RedOS", "version": "" }, { "regex": "Mikrotik/(\\d)\\.x", "name": "RouterOS", "version": "$1" }, { "regex": "FINNEY U1", "name": "Sirin OS", "version": "" }, { "regex": "Nova; Linux", "name": "Nova", "version": "" }, { "regex": "Android 10.+bliss_maple", "name": "Bliss OS", "version": "12" }, { "regex": ".+tlinux(\\d)", "name": "TencentOS", "version": "$1" }, { "regex": ".+.amzn(\\d)(?:int)?.x86_64|Linux/.+aws", "name": "Amazon Linux", "version": "$1" }, { "regex": "Linux/.+-c9$", "name": "Amazon Linux", "version": "2023" }, { "regex": " COS like Android", "name": "China OS", "version": "" }, { "regex": "Android (\\d+[.\\d]*); ClearPHONE", "name": "ClearOS Mobile", "version": "$1" }, { "regex": "Plasma Mobile", "name": "Plasma Mobile", "version": "" }, { "regex": "KreaTV/0\\.0\\.0\\.0", "name": "KreaTV", "version": "" }, { "regex": "KreaTV/(\\d+[.\\d]+)", "name": "KreaTV", "version": "$1" }, { "regex": "Linux (?:[^;]+); Opera TV(?: Store)?/|^Opera/\\d+\\.\\d+ \\(Linux mips", "name": "Opera TV", "version": "" }, { "regex": "OPR/.+TV Store/(\\d+[.\\d]+)", "name": "Opera TV", "version": "$1" }, { "regex": "Grid OS (\\d+[.\\d]+)", "name": "GridOS", "version": "$1" }, { "regex": "CaixaMagica", "name": "Caixa Mágica", "version": "" }, { "regex": "Mageia; Linux", "name": "Mageia", "version": "" }, { "regex": "(?:WH|WhaleTV)/?(\\d+[.\\d]+)", "name": "Whale OS", "version": "$1" }, { "regex": "Zeasn/.*TBrowser/2\\.0", "name": "Whale OS", "version": "1" }, { "regex": "Zeasn/", "name": "Whale OS", "version": "" }, { "regex": "Tizen[ /]?(\\d+[.\\d]+)?", "name": "Tizen", "version": "$1" }, { "regex": "Maple (?!III)(?:\\d+[.\\d]+)|Maple_?\\d{4}|HbbTV/.+Samsung", "name": "Tizen", "version": "" }, { "regex": "Android (\\d+[.\\d]+)-RT", "name": "YunOS", "version": "$1" }, { "regex": "(?:Ali)?YunOS[ /]?(\\d+[.\\d]+)?", "name": "YunOS", "version": "$1" }, { "regex": "Windows Phone;FBSV/(\\d+[.\\d]+)", "name": "Windows Phone", "version": "$1" }, { "regex": "(?:Windows Phone (?:OS)?|wds)[ /]?(\\d+[.\\d]+)", "name": "Windows Phone", "version": "$1" }, { "regex": "XBLWP7|Windows Phone", "name": "Windows Phone", "version": "" }, { "regex": "Windows CE(?: (\\d+[.\\d]+))?", "name": "Windows CE", "version": "$1" }, { "regex": "(?:IEMobile|Windows ?Mobile)(?: (\\d+[.\\d]+))?", "name": "Windows Mobile", "version": "$1" }, { "regex": "Windows NT 6\\.2; ARM;", "name": "Windows RT", "version": "" }, { "regex": "Windows NT 6\\.3; ARM;", "name": "Windows RT", "version": "8.1" }, { "regex": "Windows IoT 10\\.0", "name": "Windows IoT", "version": "10" }, { "regex": "KAIOS(?:/(\\d+[.\\d]+))?", "name": "KaiOS", "version": "$1" }, { "regex": "HarmonyOS(?:[/ ](\\d+[.\\d]+))?", "name": "HarmonyOS", "version": "$1" }, { "regex": "Hmos/1", "name": "HarmonyOS", "version": "1.0.0" }, { "regex": "RazoDroiD(?: v(\\d+[.\\d]*))?", "name": "RazoDroiD", "version": "$1" }, { "regex": "MildWild(?: CM-(\\d+[.\\d]*))?", "name": "MildWild", "version": "$1" }, { "regex": "CyanogenMod(?:[\\-/](?:CM)?(\\d+[.\\d]*))?", "name": "CyanogenMod", "version": "$1" }, { "regex": "(?:.*_)?MocorDroid(?:(\\d+[.\\d]*))?", "name": "MocorDroid", "version": "$1" }, { "regex": "FydeOS", "name": "FydeOS", "version": "" }, { "regex": "Fire OS(?:/(\\d+[.\\d]*))?", "name": "Fire OS", "version": "$1" }, { "regex": "(?:Andr[o0]id (\\d([\\d.])*);? |Amazon;|smarttv_)AFT|AEO[ACBHKT]|KF[ADFGJKMORSTQ]|.*FIRETVSTICK2018", "name": "Fire OS", "versions": [ { "regex": "Andr[o0]id 1[01].+ (?:AFT|KF[ADFGJKMORSTQ])", "version": "8" }, { "regex": "Andr[o0]id 9.+ (?:AEO[AHT]|AFT|KF[ADFGJKMORSTQ])|AFTSO001", "version": "7" }, { "regex": "Andr[o0]id 7|.+FIRETVSTICK2018", "version": "6" }, { "regex": "Andr[o0]id 5\\.1", "version": "5" }, { "regex": "Andr[o0]id 4\\.4\\.3", "version": "4.5.1" }, { "regex": "Andr[o0]id 4\\.4\\.2", "version": "4" }, { "regex": "Andr[o0]id 4\\.2\\.2", "version": "3" }, { "regex": "Andr[o0]id 4\\.0\\.[34]", "version": "3" }, { "regex": "Andr[o0]id 4\\.0", "version": "2" }, { "regex": "Andr[o0]id 2\\.3\\.3", "version": "1" } ] }, { "regex": "cordova-amazon-fireos", "name": "Fire OS", "version": "" }, { "regex": "revengeos_x2", "name": "Revenge OS", "version": "2" }, { "regex": "Lineage_(\\d+[.\\d]*)", "name": "Lineage OS", "version": "$1" }, { "regex": "(?:Android (\\d([\\d.])*);? )?lineage_\\w+", "name": "Lineage OS", "versions": [ { "regex": "Android 15", "version": "22" }, { "regex": "Android 14", "version": "21" }, { "regex": "Android 13", "version": "20.0" }, { "regex": "Android 12\\.1", "version": "19.1" }, { "regex": "Android 12", "version": "19.0" }, { "regex": "Android 11", "version": "18.0" }, { "regex": "Android 10", "version": "17.0" }, { "regex": "Android 9", "version": "16.0" }, { "regex": "Android 8\\.1", "version": "15.1" }, { "regex": "Android 8", "version": "15.0" }, { "regex": "Android 7\\.1", "version": "14.1" }, { "regex": "Android 7", "version": "14.0" }, { "regex": "Android 6", "version": "13.0" }, { "regex": "Android 5\\.1", "version": "12.1" }, { "regex": "Android 5", "version": "12.0" }, { "regex": "Android 4\\.4", "version": "11.0" }, { "regex": "Android 4\\.3", "version": "10.2" }, { "regex": "Android 4\\.2", "version": "10.1" }, { "regex": "Android 4", "version": "9.1.0" } ] }, { "regex": "Android 8(?:[\\d.]*);(?: [\\w-]+;)? rr_fortuna3g", "name": "Resurrection Remix OS", "version": "6" }, { "regex": "RemixOS|Remix (?:Pro|Mini)", "name": "Remix OS", "versions": [ { "regex": "RemixOS 5", "version": "1" }, { "regex": "RemixOS 6|Remix Mini", "version": "2" }, { "regex": "Remix Pro", "version": "3" } ] }, { "regex": "FreeBSD.+Android", "name": "FreeBSD", "version": "" }, { "regex": "Chrome/(\\d+\\.[.\\d]+) Odd/|SM-R(?:8[6-9]|9)|LEM14", "name": "Wear OS", "version": "" }, { "regex": "SeewoOS x86_64 (\\d+[.\\d]+)", "name": "SeewoOS", "version": "$1" }, { "regex": "(?:CrOS [a-z0-9_]+ |.*Build/R\\d+-)(\\d+[.\\d]+)|Chromebook", "name": "Chrome OS", "version": "$1" }, { "regex": "(?:Android (?:9|1[0-6])[.\\d]*|Linux x86_64); (?:asurada|atlas|brask|brya|cherry|coral|corsola|dedede|drallion|elm|eve|fizz|geralt|grunt|guybrush|hana|hatch|jacuzzi|kalista|kukui|nami|nautilus|nissa|nocturne|octopus|puff|pyro|rammus|reef|rex|sand|sarien|skyrim|snappy|soraka|staryu|strongbad|trogdor|volteer|zork)\\)", "name": "Chrome OS", "version": "" }, { "regex": "Linux; Andr0id[; ](\\d+[.\\d]*)", "name": "Android TV", "version": "$1" }, { "regex": "Android[; ](\\d+[.\\d]*).+(?:(?:Android(?: UHD)?|AT&T|Google|Smart)[ _]?TV|AOSP on r33a0|BRAVIA|wv-atv)", "name": "Android TV", "version": "$1" }, { "regex": "Windows.+Andr0id TV|.+(?:K_?Android_?TV_|AndroidTV|GoogleTV_)", "name": "Android TV", "version": "" }, { "regex": "(?:Android API \\d+|\\d+/tclwebkit(?:\\d+[.\\d]*)|(?:(?<!\\d )Android/\\d{2}|Android (?!1[0-6])\\d{2})(?![^; ]))", "name": "Android", "versions": [ { "regex": "Android API 36|36/tclwebkit|Android[ /]36", "version": "16" }, { "regex": "Android API 35|35/tclwebkit|Android[ /]35", "version": "15" }, { "regex": "Android API 34|34/tclwebkit|Android[ /]34", "version": "14" }, { "regex": "Android API 33|33/tclwebkit|Android[ /]33", "version": "13" }, { "regex": "Android API 32|32/tclwebkit|Android[ /]32", "version": "12.1" }, { "regex": "Android API 31|31/tclwebkit|Android[ /]31", "version": "12" }, { "regex": "Android API 30|30/tclwebkit|Android[ /]30", "version": "11" }, { "regex": "Android API 29|29/tclwebkit|Android[ /]29", "version": "10" }, { "regex": "Android API 28|28/tclwebkit|Android[ /]28", "version": "9" }, { "regex": "Android API 27|27/tclwebkit|Android[ /]27", "version": "8.1" }, { "regex": "Android API 26|26/tclwebkit|Android[ /]26", "version": "8" }, { "regex": "Android API 25|25/tclwebkit|Android[ /]25", "version": "7.1" }, { "regex": "Android API 24|24/tclwebkit|Android[ /]24", "version": "7" }, { "regex": "Android API 23|23/tclwebkit|Android[ /]23", "version": "6" }, { "regex": "Android API 22|22/tclwebkit|Android[ /]22", "version": "5.1" }, { "regex": "Android API 21|21/tclwebkit|Android[ /]21", "version": "5" }, { "regex": "Android API (?:20|19)|(?:20|19)/tclwebkit|Android[ /](?:20|19)", "version": "4.4" }, { "regex": "Android API 18|18/tclwebkit|Android[ /]18", "version": "4.3" }, { "regex": "Android API 17|17/tclwebkit|Android[ /]17", "version": "4.2" }, { "regex": "Android API 16|16/tclwebkit|Android[ /]16", "version": "4.1" }, { "regex": "Android API 15|15/tclwebkit|Android[ /]15", "version": "4.0.3" }, { "regex": "Android API 14|14/tclwebkit|Android[ /]14", "version": "4.0.1" } ] }, { "regex": "Android Marshmallow", "name": "Android", "version": "6" }, { "regex": "(?:Podbean|Podimo)(?:.*)/Android|Rutube(?:TV)?BlackAndroid", "name": "Android", "version": "" }, { "regex": "(?:Android OS|OMDroid|sdk_gphone64_arm64-userdebug|StarOS)[ /](\\d+[.\\d]*)", "name": "Android", "version": "$1" }, { "regex": "Pinterest for Android(?: Tablet)?/.*; (\\d(?:[\\d.]*))\\)$", "name": "Android", "version": "$1" }, { "regex": "Android; (\\d+[.\\d]*); Mobile;", "name": "Android", "version": "$1" }, { "regex": "[ ]([\\d.]+)\\) AppleWebKit.*ROBLOX Android App", "name": "Android", "version": "$1" }, { "regex": "(?:(?:Orca-)?(?<!like |/|RadioPublic |Anghami |Callpod Keeper for )Android|Adr|AOSP)[ /]?(?:[a-z]+ )?(\\d+[.\\d]*)", "name": "Android", "version": "$1" }, { "regex": "(?:Allview_TX1_Quasar|Cosmote_My_mini_Tab) (\\d+[.\\d]*)", "name": "Android", "version": "$1" }, { "regex": "Android ?(?:jelly bean|Kit Kat|S\\.O\\. Ginger Bread|The FireCyano|:) (\\d+[.\\d]*)", "name": "Android", "version": "$1" }, { "regex": "(?:Orca-Android|FB4A).*FBSV/(\\d+[.\\d]*);", "name": "Android", "version": "$1" }, { "regex": "(?:TwitterAndroid).*[ /](?:[a-z]+ )?(\\d+[.\\d]*)", "name": "Android", "version": "$1" }, { "regex": "\\(Android:.*\\); API (\\d+[.\\d]*)", "name": "Android", "version": "$1" }, { "regex": "Android-(\\d+[.\\d]*);", "name": "Android", "version": "$1" }, { "regex": " Adr |.*(?<!like |/ )Android|Silk-Accelerated=[a-z]{4,5}", "name": "Android", "version": "" }, { "regex": "BeyondPod|AntennaPod|Podkicker|DoggCatcher|okhttp|Podcatcher Deluxe|Sonos/.+\\(ACR_|.*WhatsApp/.*A$", "name": "Android", "version": "" }, { "regex": "Linux; diordnA[; ](\\d+[.\\d]*)", "name": "Android", "version": "$1" }, { "regex": "^A/(\\d+[.\\d]*)/", "name": "Android", "version": "$1" }, { "regex": "Sailfish|Jolla", "name": "Sailfish OS", "version": "" }, { "regex": "AmigaOS[ ]?(\\d+[.\\d]+)", "name": "AmigaOS", "version": "$1" }, { "regex": "AmigaOS|AmigaVoyager|Amiga-AWeb", "name": "AmigaOS", "version": "" }, { "regex": "ThreadX(?:_OS)?(?:/(\\d+[.\\d]*))?", "name": "ThreadX", "version": "$1" }, { "regex": "Nucleus(?:(?: |/v?)(\\d+[.\\d]*))?", "name": "MTK / Nucleus", "version": "$1" }, { "regex": "MTK(?:(?: |/v?)(\\d+[.\\d]*))?", "name": "MTK / Nucleus", "version": "$1" }, { "regex": "MRE/(\\d+)\\.(\\d+).*;MAUI", "name": "MRE", "version": "$1.$2" }, { "regex": "Linspire", "name": "Linspire", "version": "" }, { "regex": "LindowsOS", "name": "LindowsOS", "version": "" }, { "regex": "Zenwalk GNU Linux", "name": "Zenwalk", "version": "" }, { "regex": "Linux.+kanotix", "name": "Kanotix", "version": "" }, { "regex": "moonOS/(\\d+.[\\d.]+)", "name": "moonOS", "version": "$1" }, { "regex": "Foresight Linux", "name": "Foresight Linux", "version": "" }, { "regex": "Pardus/(\\d+.[\\d.]+)", "name": "Pardus", "version": "$1" }, { "regex": "Librem 5", "name": "PureOS", "version": "" }, { "regex": "uclient-fetch", "name": "OpenWrt", "version": "" }, { "regex": "RokuOS/.+RokuOS (\\d+.[\\d.]+)", "name": "Roku OS", "version": "$1" }, { "regex": "Roku(?:OS|4640X)?/(?:DVP|Pluto)?-?(\\d+[.\\d]+)?", "name": "Roku OS", "version": "$1" }, { "regex": "Roku; (?:AP|UI); (\\d+[.\\d]+)", "name": "Roku OS", "version": "$1" }, { "regex": "RokuBrowser/.+\\(TV-([a-z0-9]+)-(\\d+.[\\d.]+)\\)", "name": "Roku OS", "version": "$2" }, { "regex": "dvkbuntu", "name": "DVKBuntu", "version": "" }, { "regex": "Helio/(\\d+[.\\d]+)", "name": "Lumin OS", "version": "$1" }, { "regex": "HasCodingOs (\\d+[.\\d]+)", "name": "HasCodingOS", "version": "$1" }, { "regex": "PCLinuxOS/(\\d+[.\\d]+)", "name": "PCLinuxOS", "version": "$1" }, { "regex": "(Ordissimo|webissimo3)", "name": "Ordissimo", "version": "" }, { "regex": "(?:Win|Sistema )Fenix", "name": "Fenix", "version": "" }, { "regex": "TOS; Linux", "name": "TmaxOS", "version": "" }, { "regex": "Maemo", "name": "Maemo", "version": "" }, { "regex": "Arch ?Linux(?:[ /\\-](\\d+[.\\d]+))?", "name": "Arch Linux", "version": "$1" }, { "regex": "VectorLinux(?: package)?(?:[ /\\-](\\d+[.\\d]+))?", "name": "VectorLinux", "version": "$1" }, { "regex": "sles/(\\d+[.\\d]+)", "name": "SUSE", "version": "$1" }, { "regex": "(?:rhel|Red Hat Enterprise Linux Server)/(\\d+[.\\d]+)", "name": "Red Hat", "version": "$1" }, { "regex": ".+redhat-linux-gnu|rhel|Red Hat Enterprise Linux Server", "name": "Red Hat", "version": "" }, { "regex": "CentOS Stream (\\d)", "name": "CentOS Stream", "version": "$1" }, { "regex": "centos(?: Linux)?/(\\d+[.\\d]+) ", "name": "CentOS", "version": "$1" }, { "regex": ".+.el(\\d+(?:[_.]\\d+)*).(?:centos|x86_64)", "name": "CentOS", "version": "$1" }, { "regex": "CentOS Linux (\\d)", "name": "CentOS", "version": "$1" }, { "regex": "Fedora/.+.fc(\\d+)", "name": "Fedora", "version": "$1" }, { "regex": "Mandriva(?: Linux)?/.+mdv(\\d+[.\\d]+)", "name": "Mandriva", "version": "$1" }, { "regex": "Linux Mint/(\\d)", "name": "Mint", "version": "$1" }, { "regex": "Zorin OS (\\d+)", "name": "ZorinOS", "version": "$1" }, { "regex": "Ubuntu[-/]hardy", "name": "Ubuntu", "version": "8.04" }, { "regex": "debian/stretch", "name": "Debian", "version": "9.13" }, { "regex": "Ubuntu[-/]feisty", "name": "Ubuntu", "version": "7.04" }, { "regex": "Ubuntu[-/]edgy", "name": "Ubuntu", "version": "6.10" }, { "regex": "Ubuntu[-/]dapper", "name": "Ubuntu", "version": "6.06" }, { "regex": "Ubuntu[-/]breezy", "name": "Ubuntu", "version": "5.10" }, { "regex": "Ubuntu[ /](\\d+[.\\d]+)", "name": "Ubuntu", "version": "$1" }, { "regex": "Linux; .*((?:Debian|Knoppix|Mint|Ubuntu|Kubuntu|Xubuntu|Lubuntu|Fedora|Red Hat|Mandriva|Gentoo|Sabayon|Slackware|SUSE|CentOS|BackTrack))[ /](\\d+[.\\d]+)", "name": "$1", "version": "$2" }, { "regex": "Deepin[ /](\\d+[.\\d]+)", "name": "Deepin", "version": "$1" }, { "regex": "(Debian|Knoppix|Mint(?! Browser)|Ubuntu|Kubuntu|Xubuntu|Lubuntu|Fedora|Red Hat|Mandriva|Gentoo|Sabayon|Slackware|SUSE|CentOS|BackTrack|Freebox|ASPLinux)(?:(?: Enterprise)? Linux)?(?:[ /\\-](\\d+[.\\d]+))?", "name": "$1", "version": "$2" }, { "regex": "OS ROSA; Linux", "name": "Rosa", "version": "" }, { "regex": "(?:Web0S; .*WEBOS|webOS|web0S|Palm webOS|hpwOS)(?:[/]?(\\d+[.\\d]+))?", "name": "webOS", "version": "$1", "versions": [ { "regex": "WEBOS(\\d+[.\\d]+)", "version": "$1" }, { "regex": "Web0S; Linux/SmartTV.+Chr[o0]me/108", "version": "24" }, { "regex": "Web0S; Linux/SmartTV.+Chr[o0]me/94", "version": "23" }, { "regex": "Web0S; Linux/SmartTV.+Chr[o0]me/87", "version": "22" }, { "regex": "Web0S; Linux/SmartTV.+Chr[o0]me/79", "version": "6" }, { "regex": "Web0S; Linux/SmartTV.+Chr[o0]me/68", "version": "5" }, { "regex": "Web0S; Linux/SmartTV.+Chr[o0]me/53", "version": "4" }, { "regex": "Web0S; Linux/SmartTV.+Chr[o0]me/38", "version": "3" }, { "regex": "WEBOS1", "version": "1" }, { "regex": "Web0S; Linux/SmartTV.+Safari/538", "version": "2" }, { "regex": "Web0S; Linux/SmartTV.+Safari/537", "version": "1" } ] }, { "regex": "(?:PalmOS|Palm OS)(?:[/ ](\\d+[.\\d]+))?|Palm", "name": "palmOS", "version": "$1" }, { "regex": "Xiino(?:.*v\\. (\\d+[.\\d]+))?", "name": "palmOS", "version": "$1" }, { "regex": "MorphOS(?:[ /](\\d+[.\\d]+))?", "name": "MorphOS", "version": "$1" }, { "regex": "FBW.+FBSV/(\\d+[.\\d]*);", "name": "Windows", "version": "$1" }, { "regex": "Windows.+OS: (\\d+[.\\d]*)", "name": "Windows", "version": "$1" }, { "regex": "Windows; ?(\\d+[.\\d]*);", "name": "Windows", "version": "$1" }, { "regex": "mingw32|winhttp|WhatsApp/.*W$", "name": "Windows", "version": "" }, { "regex": "(?:Windows(?:-Update-Agent)?|Microsoft-(?:CryptoAPI|Delivery-Optimization|WebDAV-MiniRedir|WNS)|WINDOWS_64)/(\\d+\\.\\d+)", "name": "Windows", "version": "$1" }, { "regex": "Windows-(1[01])-", "name": "Windows", "version": "$1" }, { "regex": "CYGWIN_NT-10\\.0|Win(?:dows )?NT 10\\.0|Windows[ /]10", "name": "Windows", "version": "10" }, { "regex": "CYGWIN_NT-6\\.4|Windows NT 6\\.4|Windows 10|win10", "name": "Windows", "version": "10" }, { "regex": "Windows[/-](2016|2019|2022|2025)Server", "name": "Windows", "version": "Server $1" }, { "regex": "Windows/2012ServerR2", "name": "Windows", "version": "Server 2012 R2" }, { "regex": "CYGWIN_NT-6\\.3|Windows NT 6\\.3|Windows[ /]8\\.1", "name": "Windows", "version": "8.1" }, { "regex": "Windows/2012Server", "name": "Windows", "version": "Server 2012" }, { "regex": "CYGWIN_NT-6\\.2|Windows NT 6\\.2|Windows 8|post2008Server", "name": "Windows", "version": "8" }, { "regex": "Windows/2008ServerR2", "name": "Windows", "version": "Server 2008 R2" }, { "regex": "CYGWIN_NT-6\\.1|Windows NT 6\\.1|Windows[ /]7|win7|Windows \\(6\\.1", "name": "Windows", "version": "7" }, { "regex": "CYGWIN_NT-6\\.0|Windows NT 6\\.0|Windows Vista", "name": "Windows", "version": "Vista" }, { "regex": "CYGWIN_NT-5\\.2|Windows NT 5\\.2|Windows Server 2003 / XP x64|Windows/2003Server", "name": "Windows", "version": "Server 2003" }, { "regex": "CYGWIN_NT-5\\.1|Windows NT 5\\.1|(?:Microsoft-)?Windows[ -]XP", "name": "Windows", "version": "XP" }, { "regex": "CYGWIN_NT-5\\.0|Windows NT 5\\.0|Windows 2000", "name": "Windows", "version": "2000" }, { "regex": "CYGWIN_NT-4\\.0|Windows NT 4\\.0|WinNT(?! 10)|Windows NT", "name": "Windows", "version": "NT" }, { "regex": "CYGWIN_ME-4\\.90|Win 9x 4\\.90|Windows ME", "name": "Windows", "version": "ME" }, { "regex": "CYGWIN_98-4\\.10|Win98|Windows 98", "name": "Windows", "version": "98" }, { "regex": "CYGWIN_95-4\\.0|Win32|Win95|Windows 95|Windows_95", "name": "Windows", "version": "95" }, { "regex": "Windows 3\\.1", "name": "Windows", "version": "3.1" }, { "regex": "Windows|.+win32|Win64|MSDW|HandBrake Win Upd|Microsoft BITS|ms-office; MSOffice", "name": "Windows", "version": "" }, { "regex": "OS/Microsoft_Windows_NT_(\\d+\\.\\d+)", "name": "Windows", "version": "$1" }, { "regex": "Haiku", "name": "Haiku OS", "version": "" }, { "regex": "Apple ?TV.*CPU (?:iPhone )?OS ((?:9|1[0-8])[_.]\\d+(?:[_.]\\d+)*)", "name": "tvOS", "version": "$1" }, { "regex": "Apple TV; iOS ((?:9|1[0-8])[_.]\\d+(?:[_.]\\d+)*)", "name": "tvOS", "version": "$1" }, { "regex": "iOS(?:; |/)((?:9|1[0-8])\\.\\d+(?:[_.]\\d+)*) (?:model/)?AppleTV", "name": "tvOS", "version": "$1" }, { "regex": "tvOS[ /]?((?:9|1[0-8])\\.\\d+(?:[_.]\\d+)*);?", "name": "tvOS", "version": "$1" }, { "regex": "AppleTV(?:/?(\\d+[.\\d]+))?", "name": "tvOS", "version": "$1" }, { "regex": "(?:Watch1,[12]/|Watch OS,|watchOS[ /]?)(\\d+[.\\d]*)?", "name": "watchOS", "version": "$1" }, { "regex": "Apple Watch(?!;)", "name": "watchOS", "version": "" }, { "regex": "FBMD/iPad;.*FBSV/ ?(1[3-8]).(\\d+[.\\d]*);", "name": "iPadOS", "version": "$1.$2" }, { "regex": "iPad(?:OS)?[ /](1[3-8])\\.(\\d+[.\\d]*)", "name": "iPadOS", "version": "$1.$2" }, { "regex": "^iPad(?:\\d+[\\,\\d]*)/(1[3-8])\\.(\\d+[.\\d]*)", "name": "iPadOS", "version": "$1.$2" }, { "regex": "iPad(?:; (?:iOS|iPadOS|iPhone OS)|.+CPU (?:iPad |iPhone )?OS) ((1[3-8])+(?:[_.]\\d+)*)", "name": "iPadOS", "version": "$1" }, { "regex": "iOS/(1[3-8])\\.(\\d+[.\\d]*).+Apple/iPad", "name": "iPadOS", "version": "$1.$2" }, { "regex": "iPhone OS,(1[3-8])\\.(\\d+[.\\d]*).+iPad", "name": "iPadOS", "version": "$1.$2" }, { "regex": "iphoneos(1[3-8])\\.(\\d+[.\\d]*); iPad", "name": "iPadOS", "version": "$1.$2" }, { "regex": "Pinterest for iOS/.*iPad.*; (\\d(?:[\\d.]*))[)]$", "name": "iPadOS", "version": "$1" }, { "regex": "iPad/([89]|1[012])\\.(\\d+[.\\d]*)", "name": "iOS", "version": "$1.$2" }, { "regex": "^(?:iPad|iPhone)(?:\\d+[\\,\\d]*)[/_](\\d+[.\\d]+)", "name": "iOS", "version": "$1" }, { "regex": "iphoneos(1[3-8])\\.(\\d+[.\\d]*); iPhone", "name": "iOS", "version": "$1.$2" }, { "regex": "Pinterest for iOS/.*iPhone.*; (\\d(?:[\\d.]*))[)]$", "name": "iOS", "version": "$1" }, { "regex": "iOS (\\d+[.\\d]+)\\)", "name": "iOS", "version": "$1" }, { "regex": "iPhone OS ([0-9]{1})([0-9]{1})([0-9]{1})", "name": "iOS", "version": "$1.$2.$3" }, { "regex": "(?:CPU OS|iPh(?:one)?[ _]OS|iPhone.+ OS|PodMN.+iPhone|iOS)[ _/](\\d+(?:[_.]\\d+)*)", "name": "iOS", "version": "$1" }, { "regex": "(?:iPhone ?OS|iOS(?: Version)?)(?:/|; |,)(\\d+[.\\d]+)", "name": "iOS", "version": "$1" }, { "regex": "^(?!com\\.apple\\.Safari\\.SearchHelper|Safari|NetworkingExtension).*(?:CFNetwork|Mana)/.+ Darwin/(\\d+[.\\d]+)(?!.*(?:x86_64|i386|PowerMac|Power%20Macintosh))", "name": "iOS", "versions": [ { "regex": "Darwin/24\\.4\\.0", "version": "18.4" }, { "regex": "Darwin/24\\.3\\.0", "version": "18.3" }, { "regex": "Darwin/24\\.2\\.0", "version": "18.2" }, { "regex": "Darwin/24\\.1\\.0", "version": "18.1" }, { "regex": "Darwin/24\\.0\\.0", "version": "18.0" }, { "regex": "Darwin/23\\.6\\.0", "version": "17.6" }, { "regex": "Darwin/23\\.5\\.0", "version": "17.5" }, { "regex": "Darwin/23\\.4\\.0", "version": "17.4" }, { "regex": "Darwin/23\\.3\\.0", "version": "17.3" }, { "regex": "Darwin/23\\.2\\.0", "version": "17.2" }, { "regex": "Darwin/23\\.1\\.0", "version": "17.1" }, { "regex": "Darwin/23\\.0\\.0", "version": "17.0" }, { "regex": "Darwin/22\\.6\\.0", "version": "16.6" }, { "regex": "Darwin/22\\.5\\.0", "version": "16.5" }, { "regex": "Darwin/22\\.4\\.0", "version": "16.4" }, { "regex": "Darwin/22\\.3\\.0", "version": "16.3" }, { "regex": "Darwin/22\\.2\\.0", "version": "16.2" }, { "regex": "Darwin/22\\.1\\.0", "version": "16.1" }, { "regex": "Darwin/22\\.0\\.0", "version": "16.0" }, { "regex": "Darwin/21\\.6\\.0", "version": "15.6" }, { "regex": "Darwin/21\\.5\\.0", "version": "15.5" }, { "regex": "Darwin/21\\.4\\.0", "version": "15.4" }, { "regex": "Darwin/21\\.3\\.0", "version": "15.3" }, { "regex": "Darwin/21\\.2\\.0", "version": "15.2" }, { "regex": "Darwin/21\\.1\\.0", "version": "15.1" }, { "regex": "Darwin/21\\.0\\.0", "version": "15.0" }, { "regex": "Darwin/20\\.6\\.0", "version": "14.7" }, { "regex": "Darwin/20\\.5\\.0", "version": "14.6" }, { "regex": "Darwin/20\\.4\\.0", "version": "14.5" }, { "regex": "Darwin/20\\.3\\.0", "version": "14.4" }, { "regex": "Darwin/20\\.2\\.0", "version": "14.3" }, { "regex": "Darwin/20\\.1\\.0", "version": "14.2" }, { "regex": "Darwin/20\\.0\\.0", "version": "14.0" }, { "regex": "Darwin/19\\.6\\.0", "version": "13.6" }, { "regex": "Darwin/19\\.5\\.0", "version": "13.5" }, { "regex": "Darwin/19\\.4\\.0", "version": "13.4" }, { "regex": "Darwin/19\\.3\\.0", "version": "13.3.1" }, { "regex": "Darwin/19\\.2\\.0", "version": "13.3" }, { "regex": "Darwin/19\\.0\\.0", "version": "13.0" }, { "regex": "Darwin/18\\.7\\.0", "version": "12.4" }, { "regex": "Darwin/18\\.6\\.0", "version": "12.3" }, { "regex": "Darwin/18\\.5\\.0", "version": "12.2" }, { "regex": "Darwin/18\\.2\\.0", "version": "12.1" }, { "regex": "Darwin/18\\.0\\.0", "version": "12.0" }, { "regex": "Darwin/17\\.7\\.0", "version": "11.4.1" }, { "regex": "Darwin/17\\.6\\.0", "version": "11.4" }, { "regex": "Darwin/17\\.5\\.0", "version": "11.3" }, { "regex": "Darwin/17\\.4\\.0", "version": "11.2.6" }, { "regex": "Darwin/17\\.3\\.0", "version": "11.2" }, { "regex": "CFNetwork/889", "version": "11.1" }, { "regex": "CFNetwork/887", "version": "11.0" }, { "regex": "CFNetwork/811", "version": "10.3" }, { "regex": "CFNetwork/808\\.3", "version": "10.3" }, { "regex": "CFNetwork/808\\.2", "version": "10.2" }, { "regex": "CFNetwork/808\\.1", "version": "10.1" }, { "regex": "CFNetwork/808\\.0", "version": "10.0" }, { "regex": "CFNetwork/808", "version": "10" }, { "regex": "CFNetwork/758\\.5\\.3", "version": "9.3.5" }, { "regex": "CFNetwork/758\\.4\\.3", "version": "9.3.2" }, { "regex": "CFNetwork/758\\.3\\.15", "version": "9.3" }, { "regex": "CFNetwork/758\\.2\\.[78]", "version": "9.2" }, { "regex": "CFNetwork/758\\.1\\.6", "version": "9.1" }, { "regex": "CFNetwork/758\\.0\\.2", "version": "9.0" }, { "regex": "CFNetwork/711\\.5\\.6", "version": "8.4.1" }, { "regex": "CFNetwork/711\\.4\\.6", "version": "8.4" }, { "regex": "CFNetwork/711\\.3\\.18", "version": "8.3" }, { "regex": "CFNetwork/711\\.2\\.23", "version": "8.2" }, { "regex": "CFNetwork/711\\.1\\.1[26]", "version": "8.1" }, { "regex": "CFNetwork/711\\.0\\.6", "version": "8.0" }, { "regex": "CFNetwork/672\\.1", "version": "7.1" }, { "regex": "CFNetwork/672\\.0", "version": "7.0" }, { "regex": "CFNetwork/609\\.1", "version": "6.1" }, { "regex": "CFNetwork/60[29]", "version": "6.0" }, { "regex": "CFNetwork/548\\.1", "version": "5.1" }, { "regex": "CFNetwork/548\\.0", "version": "5.0" }, { "regex": "CFNetwork/485\\.13", "version": "4.3" }, { "regex": "CFNetwork/485\\.12", "version": "4.2" }, { "regex": "CFNetwork/485\\.10", "version": "4.1" }, { "regex": "CFNetwork/485\\.2", "version": "4.0" }, { "regex": "CFNetwork/467\\.12", "version": "3.2" }, { "regex": "CFNetwork/459", "version": "3.1" } ] }, { "regex": "(?:iPhone|iPod_touch)/(\\d+[.\\d]*)(?: hw)?/", "name": "iOS", "version": "$1" }, { "regex": "iOS(\\d+\\.\\d+\\.\\d+)", "name": "iOS", "version": "$1" }, { "regex": "iOS(\\d+)\\.(\\d+)0", "name": "iOS", "version": "$1.$2" }, { "regex": "FBMD/iPhone;.*FBSV/ ?(\\d+[.\\d]+);", "name": "iOS", "version": "$1" }, { "regex": "(?:FBIOS|Messenger(?:Lite)?ForiOS).*FBSV/ ?(\\d+[.\\d]*);", "name": "iOS", "version": "$1" }, { "regex": "iPhone OS,([\\d.]+).+(?:iPhone|iPod)", "name": "iOS", "version": "$1" }, { "regex": "iPad.+; (\\d+[.\\d]+);", "name": "iOS", "version": "$1" }, { "regex": "iPhone.+; Version (\\d+[.\\d]+)", "name": "iOS", "version": "$1" }, { "regex": "OS=iOS;OSVer=(\\d+[.\\d]+);", "name": "iOS", "version": "$1" }, { "regex": "os=Apple-iOS.+osversion=(\\d+[.\\d]+)/", "name": "iOS", "version": "$1" }, { "regex": "(?:Apple-)?(?<!like )(?:iPhone|iPad|iPod)(?:.*Mac OS X.*Version/(\\d+\\.\\d+)|; Opera)?", "name": "iOS", "version": "$1" }, { "regex": "dv\\(iPh.+ov\\((\\d+(?:[_.]\\d+)*)\\);", "name": "iOS", "version": "$1" }, { "regex": "(?:Podcasts/(?:[\\d.]+)|Instacast(?:HD)?/(?:\\d\\.[\\d\\.abc]+)|Pocket Casts, iOS|\\(iOS\\)|iOS; Opera|Overcast|Castro|Podcat|iCatcher|RSSRadio/|MobileSafari/|WhatsApp/.*i$)(?!.*x86_64)", "name": "iOS", "version": "" }, { "regex": "iTunes-(AppleTV|iPod|iPad|iPhone)/(?:[\\d.]+)", "name": "iOS", "version": "" }, { "regex": "iOS[ /]Version ([\\d.]+)", "name": "iOS", "version": "$1" }, { "regex": "Sonos/.+\\(ICRU_", "name": "iOS", "version": "" }, { "regex": "CaptiveNetworkSupport|AirPlay|.*[ \\.\\-/]iOS(?!@)", "name": "iOS", "version": "" }, { "regex": "(?:CFNetwork|Mana|StudioDisplay)/.+Darwin(?:/|; )(?:[\\d.]+).+(?:x86_64|i386|Power%20Macintosh)|(?:x86_64-apple-)?darwin(?:[\\d.]+)|C?Python.*Darwin|PowerMac|com\\.apple\\.Safari\\.SearchHelper|^(?:NetworkingExtension|Safari)", "name": "Mac", "versions": [ { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?24\\.4\\.0", "version": "15.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?24\\.3\\.0", "version": "15.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?24\\.2\\.0", "version": "15.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?24\\.1\\.0", "version": "15.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?24\\.0\\.0", "version": "15.0" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?23\\.6\\.0", "version": "14.6" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?23\\.5\\.0", "version": "14.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?23\\.4\\.0", "version": "14.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?23\\.3\\.0", "version": "14.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?23\\.2\\.0", "version": "14.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?23\\.1\\.0", "version": "14.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?23\\.0\\.0", "version": "14.0" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?22\\.6\\.0", "version": "13.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?22\\.5\\.0", "version": "13.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?22\\.4\\.0", "version": "13.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?22\\.3\\.0", "version": "13.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?22\\.2\\.0", "version": "13.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?22\\.1\\.0", "version": "13.0.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?22\\.0\\.0", "version": "13.0" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?21\\.6\\.0", "version": "12.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?21\\.5\\.0", "version": "12.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?21\\.4\\.0", "version": "12.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?21\\.3\\.0", "version": "12.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?21\\.2\\.0", "version": "12.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?21\\.1\\.0", "version": "12.0.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?21\\.0\\.0", "version": "12.0" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?20\\.6\\.0", "version": "11.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?20\\.5\\.0", "version": "11.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?20\\.4\\.0", "version": "11.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?20\\.3\\.0", "version": "11.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?20\\.2\\.0.*", "version": "11.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?20\\.[01]\\.0", "version": "11.0" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?19\\.6\\.0", "version": "10.15.6" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?19\\.5\\.0", "version": "10.15.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?19\\.4\\.0", "version": "10.15.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?19\\.3\\.0", "version": "10.15.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?19\\.2\\.0", "version": "10.15.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?19\\.0\\.0", "version": "10.15" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?18\\.7\\.0", "version": "10.14" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?18\\.6\\.0", "version": "10.14.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?18\\.5\\.0", "version": "10.14.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?18\\.2\\.0", "version": "10.14.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?18\\.0\\.0", "version": "10.14" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?17\\.7\\.0", "version": "10.13.6" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?17\\.6\\.0", "version": "10.13.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?17\\.5\\.0", "version": "10.13.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?17\\.4\\.0", "version": "10.13.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?17\\.3\\.0", "version": "10.13.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?17\\.2\\.0", "version": "10.13.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?17\\.0\\.0", "version": "10.13" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?16\\.7\\.0", "version": "10.12.6" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?16\\.6\\.0", "version": "10.12.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?16\\.5\\.0", "version": "10.12.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?16\\.4\\.0", "version": "10.12.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?16\\.3\\.0", "version": "10.12.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?16\\.2\\.0", "version": "10.12.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?16\\.1\\.0", "version": "10.12.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?16\\.0\\.0", "version": "10.12" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?15\\.6\\.0", "version": "10.11.6" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?15\\.5\\.0", "version": "10.11.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?15\\.4\\.0", "version": "10.11.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?15\\.3\\.0", "version": "10.11.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?15\\.2\\.0", "version": "10.11.2" }, { "regex": "CFNetwork/760", "version": "10.11" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?14\\.5\\.0", "version": "10.10.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?14\\.4\\.0", "version": "10.10.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?14\\.3\\.0", "version": "10.10.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?14\\.1\\.0", "version": "10.10.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?14\\.0\\.0", "version": "10.10" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?13\\.4\\.0", "version": "10.9.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?13\\.3\\.0", "version": "10.9.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?13\\.2\\.0", "version": "10.9.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?13\\.1\\.0", "version": "10.9.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?13\\.0\\.0", "version": "10.9.0" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?12\\.6\\.0", "version": "10.8.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?12\\.5\\.0", "version": "10.8.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?12\\.4\\.0", "version": "10.8.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?12\\.3\\.0", "version": "10.8.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?12\\.2\\.0", "version": "10.8.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?12\\.1\\.0", "version": "10.8.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?11\\.5\\.0", "version": "10.7.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?11\\.4\\.2", "version": "10.7.5" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?11\\.4\\.0", "version": "10.7.4" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?11\\.3\\.0", "version": "10.7.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?11\\.2\\.0", "version": "10.7.2" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?11\\.1\\.0", "version": "10.7.1" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?10\\.8\\.0", "version": "10.6.8" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?10\\.7\\.[34]", "version": "10.6.7" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?10\\.3\\.0", "version": "10.6.3" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?10\\.0\\.0", "version": "10.6" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?9\\.8\\.0", "version": "10.5.8" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?9\\.7\\.1", "version": "10.5.7" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?9\\.6\\.2", "version": "10.5.6" }, { "regex": "(?:x86_64-apple-)?Darwin(?:/|; )?9\\.5\\.[05]", "version": "10.5.5" } ] }, { "regex": "Macintosh;Mac OS X \\((\\d+[.\\d]+)\\);", "name": "Mac", "version": "$1" }, { "regex": "Mac[ +]OS[ +]?X(?:[ /,](?:Version )?(\\d+(?:[_.]\\d+)+))?", "name": "Mac", "version": "$1" }, { "regex": "Mac (?:OS/)?(\\d+(?:[_.]\\d+)+)", "name": "Mac", "version": "$1" }, {