Improve OS detection: AIX, Fuchsia, Haiku, Solaris

This commit is contained in:
Faisal Salman 2025-03-28 05:00:32 +07:00
parent cd3bef7405
commit 8ae88b6aa5
5 changed files with 97 additions and 7 deletions

View File

@ -977,19 +977,19 @@
// Other // Other
/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, // Joli/Palm /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, // Joli/Palm
/(mint)[\/\(\) ]?(\w*)/i, // Mint /(mint)[\/\(\) ]?(\w*)/i, // Mint
/(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux /(mageia|vectorlinux|fuchsia)[; ]/i, // Mageia/VectorLinux/Fuchsia
/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i, /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
// Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i, // Solaris
/\b(aix)[; ]([1-9\.]{0,4})/i, // AIX
/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i, // Hurd/Linux/MorphOS /(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i, // Hurd/Linux/MorphOS
/(gnu) ?([\w\.]*)/i, // GNU /(gnu) ?([\w\.]*)/i, // GNU
/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
/(haiku) (\w+)/i // Haiku /(haiku) ?(r\d)?/i // Haiku
], [NAME, VERSION], [ ], [NAME, VERSION], [
/(sunos) ?([\w\.\d]*)/i // Solaris /(sunos) ?([\d\.]*)/i // Solaris
], [[NAME, 'Solaris'], VERSION], [ ], [[NAME, 'Solaris'], VERSION], [
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i, // Solaris /\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
/(aix) ((\d)(?=\.|\)| )[\w\.])*/i, // AIX
/\b(beos|os\/2|amigaos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/OpenVMS/Fuchsia/HP-UX/SerenityOS
/(unix) ?([\w\.]*)/i // UNIX /(unix) ?([\w\.]*)/i // UNIX
], [NAME, VERSION] ], [NAME, VERSION]
] ]

View File

@ -7,5 +7,32 @@
"name" : "AIX", "name" : "AIX",
"version" : "undefined" "version" : "undefined"
} }
},
{
"desc" : "AIX",
"ua" : "Mozilla/5.0 (AIX; SPARC64; smart-thumbtack; Mosaic/2.7) Gecko/20100101 Mosaic/2.7",
"expect" :
{
"name" : "AIX",
"version" : "undefined"
}
},
{
"desc" : "AIX",
"ua" : "Mozilla/5.0 (X11; N; Linux i686; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Mozilla/3.0 (X11; I; AIX 2) Navigator/9.0.0.6",
"expect" :
{
"name" : "AIX",
"version" : "2"
}
},
{
"desc" : "AIX",
"ua" : "Mozilla/5.0 (X11; U; AIX 7.2; en-US; rv:1.7.12) Gecko/20100101 Firefox/126.0",
"expect" :
{
"name" : "AIX",
"version" : "7.2"
}
} }
] ]

View File

@ -7,5 +7,14 @@
"name" : "Fuchsia", "name" : "Fuchsia",
"version" : "undefined" "version" : "undefined"
} }
},
{
"desc" : "Fuchsia",
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Mozilla/5.0 (X11; Linux; Fuchsia; GoogleTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Large Screen Safari/537.36 GoogleTV",
"expect" :
{
"name" : "Fuchsia",
"version" : "undefined"
}
} }
] ]

View File

@ -7,5 +7,32 @@
"name" : "Haiku", "name" : "Haiku",
"version" : "R1" "version" : "R1"
} }
},
{
"desc" : "Haiku",
"ua" : "Mozilla/5.0 (X11; Haiku x86_64; rv:128.0) Gecko/20100101 Firefox/128.0",
"expect" :
{
"name" : "Haiku",
"version" : "undefined"
}
},
{
"desc" : "Haiku",
"ua" : "Mozilla/5.0 (Haiku; BeOS; rv:99.0) Gecko/20100101 Firefox/99.0",
"expect" :
{
"name" : "Haiku",
"version" : "undefined"
}
},
{
"desc" : "Haiku",
"ua" : "Mozilla/5.0 (X11; Haiku BePC) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.17 Chrome/87.0.4280.144 Safari/537.36 Dooble/2023.12.25 Dooble/2023.12.25",
"expect" :
{
"name" : "Haiku",
"version" : "undefined"
}
} }
] ]

View File

@ -5,7 +5,16 @@
"expect" : "expect" :
{ {
"name" : "Solaris", "name" : "Solaris",
"version" : "sun4u" "version" : "undefined"
}
},
{
"desc" : "Solaris",
"ua" : "Mozilla/5.0 (Solaris; SPARC; w3m/0.5.3; rv:1.0) Gecko/20100101 w3m/0.5.3",
"expect" :
{
"name" : "Solaris",
"version" : "undefined"
} }
}, },
{ {
@ -16,5 +25,23 @@
"name" : "Solaris", "name" : "Solaris",
"version" : "4.1.4" "version" : "4.1.4"
} }
},
{
"desc" : "Solaris",
"ua" : "Opera/5.0 (SunOS 5.8 sun4m; U) [en]",
"expect" :
{
"name" : "Solaris",
"version" : "5.8"
}
},
{
"desc" : "Solaris",
"ua" : "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100215 Solaris/10.1 (GNU) Superswan/3.5.8 (Byte/me)",
"expect" :
{
"name" : "Solaris",
"version" : "10.1"
}
} }
] ]