Files
fn_registry/bash/functions/browser/install_chromium_proxy_extension.md
T
egutierrez 107585697e feat(browser): auto-commit con 3 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-02 22:12:43 +02:00

4.0 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, params, output, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type params output file_path
install_chromium_proxy_extension function bash browser 1.0.0 impure install_chromium_proxy_extension --ext-dir DIR [--name NAME] [--stable-dir DIR] [--uninstall] Instala una extension desempaquetada de Chromium en todos los perfiles del usuario de forma persistente, escribiendo un fragmento en /etc/chromium.d/ que el wrapper de Chromium carga en cada arranque. Pensado para distribuir la extension de toggle de proxy de web_proxy sin Web Store, pero sirve para cualquier extension desempaquetada.
web-proxy
chromium
extension
browser
proxy
install
false error_go_core
name desc
--ext-dir Directorio de la extension desempaquetada de origen (debe contener manifest.json). Obligatorio salvo en --uninstall.
name desc
--name Nombre del fragmento en /etc/chromium.d/ (default web_proxy_ext). Identifica esta instalacion para poder desinstalarla.
name desc
--stable-dir Ruta estable donde se copia la extension, independiente del repo (default ~/.web_proxy/extension). --load-extension apunta aqui.
name desc
--uninstall Elimina el fragmento de /etc/chromium.d/ y la copia estable. No requiere --ext-dir.
JSON en stdout: {installed|uninstalled, name, stable_dir, chromiumd, ext_id}. Requiere sudo para escribir en /etc/chromium.d/. bash/functions/browser/install_chromium_proxy_extension.sh

install_chromium_proxy_extension

Instala una extension desempaquetada de Chromium en todos los perfiles del usuario, de forma persistente, sin pasar por la Chrome Web Store.

Ejemplo

# Instalar la extension de toggle de proxy de web_proxy en todos los perfiles
install_chromium_proxy_extension --ext-dir /home/enmanuel/fn_registry/apps/web_proxy/extension

# Desinstalarla
install_chromium_proxy_extension --uninstall

# Otra extension, con nombre y ruta estable propios
install_chromium_proxy_extension --ext-dir ~/mis-extensiones/foo --name foo_ext --stable-dir ~/.local/share/foo_ext

Tras instalar, cierra y vuelve a abrir Chromium: la extension aparece en todos los perfiles, incluidos los que se creen despues.

Cuando usarla

Cuando necesitas que una extension desempaquetada este presente en todos los perfiles de Chromium de una maquina (por ejemplo, un toggle de proxy de captura preconfigurado) y no quieres publicarla en la Web Store ni cargarla a mano en cada perfil. Es la pieza que hace que web_proxy quede "a un clic" en cualquier ventana de Chromium.

Gotchas

  • Requiere sudo para escribir en /etc/chromium.d/. Ten las credenciales cacheadas (sudo -v) antes de invocarla de forma no interactiva.
  • Solo para el wrapper de Chromium de Debian/Ubuntu (paquete chromium, no snap ni Google Chrome). El wrapper hace source /etc/chromium.d/* en cada arranque. Comprueba con head -1 $(command -v chromium) que es un script.
  • --enable-remote-extensions es imprescindible en estos builds: sin el, el wrapper anade --disable-extensions-except y --disable-background-networking, que deshabilitan toda extension que no venga por --load-extension. El fragmento generado lo incluye; por eso las demas extensiones del usuario siguen funcionando.
  • La extension se carga desempaquetada (--load-extension), no como .crx firmado. Chromium puede mostrar un aviso de "extensiones en modo desarrollador". El force-install via managed policy con .crx local + update_url file:// no funciona con este wrapper (lo bloquea --disable-extensions-except).
  • El ID de la extension depende de --stable-dir (se deriva del path). Si cambias la ruta estable, el ID cambia.
  • No reinicia Chromium: los cambios aplican en el siguiente arranque del navegador.

Capability growth log

  • v1.0.0 (2026-06-02) — version inicial. Instala/desinstala extension global via /etc/chromium.d con --enable-remote-extensions + --load-extension.