Firefox globala proxyinställningar påverkar både vanliga och privata fönster. Därför kräver proxy.settings-API:t att tillägget har åtkomst till privata fönster, även när åtgärden startades från ett vanligt fönster.

Tillägget kan kontrollera det villkoret innan inställningen ändras:

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 är det befintliga konfigurationsobjektet i Firefox-format. Tillägget behöver också sin vanliga behörighet för proxy-API:t.

När manifestet tillåter privat användning styr användaren den åtkomsten i tilläggets hanteringsuppgifter via Run in Private Windows. Kontrollen rapporterar det valet; den ger inte behörigheten automatiskt.

Utan den nödvändiga åtkomsten kastar proxy.settings.set ett undantag. Det inträffar innan tillägget har visat någon anslutning till den föreslagna proxyn, så att byta ut dess IP eller port har inget med det här felet att göra.

Hantera avvisandet i tilläggets gränssnitt och bevara användarens val. När behörigheten och tillämpningen av konfigurationen lyckas, utvärdera den faktiska destinationsvägen separat.

Relaterade artiklar