Globální nastavení proxy ve Firefoxu ovlivňuje běžná i soukromá okna. Proto API proxy.settings vyžaduje, aby mělo rozšíření přístup k soukromým oknům, i když byla operace zahájena z běžného okna.

Rozšíření může tento předpoklad ověřit před změnou nastavení:

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 je stávající konfigurační objekt ve formátu Firefoxu. Rozšíření také potřebuje obvyklé oprávnění k proxy API.

Pokud manifest povoluje soukromé použití, uživatel tento přístup řídí v podrobnostech správy rozšíření pomocí Run in Private Windows. Kontrola toto rozhodnutí hlásí; oprávnění automaticky neuděluje.

Bez potřebného přístupu proxy.settings.set vyhodí výjimku. Stane se to dřív, než rozšíření prokázalo jakékoli spojení s navrhovaným proxy, takže nahrazení jeho IP nebo portu s tímto selháním nesouvisí.

Odmítnutí ošetřete v uživatelském rozhraní rozšíření a zachovejte volbu uživatele. Jakmile oprávnění a použití konfigurace uspějí, vyhodnoťte skutečnou trasu cíle samostatně.

Související články