Zastosuj serwer proxy Chrome przy zdarzeniach startowych rozszerzenia
Zarejestruj procedury obsługi startu i instalacji dla rozszerzenia proxy Manifest V3, zamiast wiązać inicjalizację z nowym oknem przeglądarki.
Zarejestruj onStartup i onInstalled synchronicznie na najwyższym poziomie service workera Manifest V3, gdy te zdarzenia mają zastosować wybrane proxy. Dla rozszerzenia celowo przypiętego do jednej trasy:
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);Manifest musi zadeklarować uprawnienie proxy i nazwać tego workera w tle. Dla dozwolonej trasy publicznego przeglądania bez uwierzytelniania proxy zastąp punkt końcowy kandydatem z listy proxy HTTP, pozostawiając port jako liczbę całkowitą.
onStartup to start profilu z zainstalowanym rozszerzeniem. onInstalled obejmuje też aktualizacje, w tym ponowne wczytanie rozpakowanego rozszerzenia, które liczy się jako aktualizacja. Zdarzenie utworzenia okna opisuje każde okno i może wystąpić wielokrotnie w jednej sesji.
Jeśli rozszerzenie ma zapisane profile lub wyłącznik, pozwól procedurze obsługi wczytać i zastosować ten wybór, zamiast przywracać zakodowaną na stałe wartość domyślną przy każdej aktualizacji. Rejestracja nasłuchiwaczy pozostaje na najwyższym poziomie; praca asynchroniczna może się rozpocząć, gdy Chrome wywoła procedurę.
Podczas tworzenia testuj instalację i start profilu osobno, sprawdzając wynik konfiguracji dla każdego z nich. To dwie ścieżki inicjalizacji, a nie dowód uzyskany przez otwarcie innego okna.