Chrome 149 killed every GUI-free way to load an *unpacked* extension into the real profile: --load-extension removed in Chrome 142 (incl. the --disable-features workaround), local-.crx external install blocked on macOS since Chrome 44, remote-debugging-port killed in Chrome 136. So agents were stuck automating the chrome://extensions Load-unpacked native file dialog — unworkable. `extension install` now writes a macOS configuration profile that force-installs the signed .crx from a hosted update_url (ExtensionInstallForcelist policy). One approval in System Settings (a single fixed Install button — cua-driver-friendly, unlike a file dialog) → Chrome force-installs + auto-updates the extension on next launch. No token, no per-use confirmation, and binary-install users no longer need the extensions/ folder (crx is fetched from the URL). - pin a stable signing key; new extension id ciiljdlhdpfckdcfkphgmfalanpdejep - ship signed extensions/ab-connect.crx + extensions/updates.xml (raw GH host) - scripts/pack-extension.sh re-signs with the stable key; .secrets/*.pem ignored - uninstall removes the profile file + prints `profiles remove` hint
14 lines
694 B
XML
14 lines
694 B
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<!-- Omaha/gupdate update manifest for the ab-connect extension.
|
|
Chrome's ExtensionInstallForcelist policy points at this file (see
|
|
cli/src/connect.rs UPDATE_URL); Chrome reads it, then fetches the codebase
|
|
.crx. Bump `version` here and in extensions/ab-connect/manifest.json, then
|
|
re-pack ab-connect.crx, on every extension change. -->
|
|
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
|
<app appid='ciiljdlhdpfckdcfkphgmfalanpdejep'>
|
|
<updatecheck
|
|
codebase='https://raw.githubusercontent.com/leeguooooo/agent-browser-stealth/main/extensions/ab-connect.crx'
|
|
version='0.3.0' />
|
|
</app>
|
|
</gupdate>
|