Applicare un proxy Chrome agli eventi di avvio dell'estensione
Registra gestori di avvio e di installazione per un'estensione proxy Manifest V3 invece di legare l'inizializzazione a una nuova finestra del browser.
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.