Release binaries / Build macOS ARM64 (push) Has been cancelled
Release binaries / Build macOS x64 (push) Has been cancelled
Release binaries / Build Linux ARM64 (push) Has been cancelled
Release binaries / Build Linux musl ARM64 (push) Has been cancelled
Release binaries / Build Linux musl x64 (push) Has been cancelled
Release binaries / Build Linux x64 (push) Has been cancelled
Release binaries / Build Windows x64 (push) Has been cancelled
Release binaries / Attach binaries to GitHub Release (push) Has been cancelled
rebrowser's navigatorWebdriver probe checks Object.getOwnPropertyNames(navigator) == [] (real Chrome keeps navigator members on Navigator.prototype). The launch-mode stealth script defined language/languages/userAgentData/contacts as instance own-properties, leaking them as an automation tell. - add __abRedefineNavProto(name, getterImpl): redefines a navigator member on the PROTOTYPE with a native-masked getter toString, then deletes any instance shadow (mirrors the existing vendor patch). Falls back to instance only if proto is locked. - convert language/languages/userAgentData to it; make the contacts block prototype-first. After: Object.getOwnPropertyNames(navigator) == [], values intact, getters native, rebrowser navigatorWebdriver 🟢, runtimeEnableLeak/pwInitScripts 🟢, sannysoft 0 fails.