Firefox' globale proxyinnstillinger påvirker både vanlige og private vinduer. Derfor krever proxy.settings-API-et at utvidelsen har tilgang til private vinduer, selv når handlingen ble startet fra et vanlig vindu.

Utvidelsen kan kontrollere denne betingelsen før innstillingen endres:

const allowed = await browser.extension.isAllowedIncognitoAccess();
if (!allowed) {
  throw new Error('Private-window access is required for global proxy settings');
}
await browser.proxy.settings.set({ value: proxyConfig });

proxyConfig er det eksisterende konfigurasjonsobjektet i Firefox-format. Utvidelsen trenger også sin vanlige tillatelse for proxy-API-et.

Når manifestet tillater privat bruk, styrer brukeren denne tilgangen i utvidelsens administrasjonsdetaljer via Run in Private Windows. Kontrollen rapporterer dette valget; den gir ikke tillatelsen automatisk.

Uten den nødvendige tilgangen kaster proxy.settings.set et unntak. Det skjer før utvidelsen har vist noen forbindelse til den foreslåtte proxyen, så å erstatte IP-adressen eller porten er ikke relatert til denne feilen.

Håndter avvisningen i utvidelsens grensesnitt og behold brukerens valg. Når tillatelsen og bruken av konfigurasjonen lykkes, vurder den faktiske destinasjonsruten separat.

Relaterte artikler