Firefoxin yleiset välityspalvelinasetukset vaikuttavat sekä tavallisiin että yksityisiin ikkunoihin. Siksi proxy.settings-API edellyttää, että laajennuksella on pääsy yksityisiin ikkunoihin, vaikka toiminto käynnistettiin tavallisesta ikkunasta.

Laajennus voi tarkistaa tämän ehdon ennen asetuksen muuttamista:

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 on olemassa oleva Firefox-muotoinen kokoonpano-objekti. Laajennus tarvitsee myös tavallisen välityspalvelin-API:n käyttöoikeuden.

Kun manifesti sallii yksityisen käytön, käyttäjä hallitsee tätä pääsyä laajennuksen hallintatiedoissa kohdan Run in Private Windows kautta. Tarkistus ilmoittaa tästä valinnasta; se ei myönnä käyttöoikeutta automaattisesti.

Ilman vaadittua pääsyä proxy.settings.set heittää poikkeuksen. Tämä tapahtuu ennen kuin laajennus on osoittanut mitään yhteyttä ehdotettuun välityspalvelimeen, joten sen IP:n tai portin vaihtaminen ei liity tähän epäonnistumiseen.

Käsittele hylkäys laajennuksen käyttöliittymässä ja säilytä käyttäjän valinta. Kun käyttöoikeus ja kokoonpanon käyttöönotto onnistuvat, arvioi todellinen kohdeverkosto erikseen.

Aiheeseen liittyvät artikkelit