Registra onStartup e onInstalled in modo sincrono al livello superiore di un service worker Manifest V3 quando questi eventi devono applicare il proxy scelto. Per un'estensione volutamente fissata a una sola rotta:

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);

Il manifest deve dichiarare l'autorizzazione proxy e nominare questo worker in background. Per una rotta pubblica consentita senza autenticazione proxy, sostituisci l'endpoint con un candidato dalla lista di proxy HTTP, lasciando la porta un numero intero.

onStartup è l'avvio del profilo con l'estensione installata. onInstalled comprende anche gli aggiornamenti, inclusa la ricarica di un'estensione non pacchettizzata, che vale come aggiornamento. L'evento di creazione finestra descrive ogni finestra e può attivarsi più volte nella stessa sessione.

Se l'estensione ha profili salvati o un interruttore di spegnimento, fai in modo che il gestore carichi e applichi quella scelta invece di ripristinare un valore predefinito codificato a ogni aggiornamento. La registrazione degli ascoltatori resta al livello superiore; il lavoro asincrono può iniziare quando Chrome chiama il gestore.

Prova installazione e avvio del profilo separatamente durante lo sviluppo, verificando il risultato della configurazione per ciascuno. Sono due percorsi di inizializzazione, non una prova ottenuta aprendo un'altra finestra.

Articoli correlati