Aplicați un proxy Chrome la evenimentele de pornire ale extensiei
Înregistrați handler-e de pornire și de instalare pentru o extensie proxy Manifest V3 în loc să legați inițializarea de o fereastră nouă a browserului.
Înregistrați onStartup și onInstalled sincron la nivelul superior al unui service worker Manifest V3 atunci când aceste evenimente trebuie să aplice proxy-ul ales. Pentru o extensie fixată intenționat pe o singură rută:
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);Manifestul trebuie să declare permisiunea de proxy și să numească acest worker din fundal. Pentru o rută publică permisă fără autentificare proxy, înlocuiți punctul final cu un candidat din lista de proxy-uri HTTP, păstrând portul ca număr întreg.
onStartup este pornirea profilului cu extensia instalată. onInstalled include și actualizările, inclusiv reîncărcarea unei extensii neîmpachetate, care contează ca actualizare. Evenimentul de creare a ferestrei descrie fiecare fereastră și se poate declanșa repetat într-o singură sesiune.
Dacă extensia are profiluri salvate sau un comutator de oprire, lăsați handler-ul să încarce și să aplice acea alegere în loc să reseteze o valoare implicită codificată la fiecare actualizare. Înregistrarea ascultătorilor rămâne la nivelul superior; munca asincronă poate începe când Chrome apelează handler-ul.
Testați instalarea și pornirea profilului separat în timpul dezvoltării, verificând rezultatul configurației pentru fiecare. Sunt două căi de inițializare, nu o dovadă obținută deschizând altă fereastră.