Registra onStartup y onInstalled de forma síncrona en el nivel superior de un service worker de Manifest V3 cuando esos eventos deban aplicar el proxy seleccionado. Para una extensión fijada a propósito en una sola ruta:

function applyProxy() {
  chrome.proxy.settings.set({
    value: {
      mode: 'fixed_servers',
      rules: {
        singleProxy: {
          scheme: 'http',
          host: 'proxy.example',
          port: 8080,
        },
      },
    },
    scope: 'regular',
  }, () => {
    if (chrome.runtime.lastError) {
      console.error(chrome.runtime.lastError.message);
    }
  });
}

chrome.runtime.onStartup.addListener(applyProxy);
chrome.runtime.onInstalled.addListener(applyProxy);

El manifest debe declarar el permiso de proxy y nombrar a este worker en segundo plano. Para una ruta pública permitida sin autenticación de proxy, sustituye el punto de conexión por un candidato de la lista de proxies HTTP, dejando el puerto como entero.

onStartup es el inicio del perfil con la extensión instalada. onInstalled también abarca las actualizaciones, incluida la recarga de una extensión sin empaquetar, que cuenta como actualización. El evento de creación de ventana describe cada ventana y puede dispararse varias veces en una misma sesión.

Si la extensión guarda perfiles o tiene un interruptor de apagado, haz que el controlador cargue y aplique esa elección en lugar de restablecer un valor predeterminado fijo en cada actualización. El registro de escuchas permanece en el nivel superior; el trabajo asíncrono puede empezar cuando Chrome llama al controlador.

Prueba la instalación y el inicio del perfil por separado durante el desarrollo, comprobando el resultado de la configuración en cada caso. Son dos rutas de inicialización, no una prueba que se obtenga al abrir otra ventana.

Artículos relacionados