Firefoxove globalne proxy postavke utiču i na obične i na privatne prozore. Zato proxy.settings API zahtijeva da proširenje ima pristup privatnim prozorima, čak i kada je radnja pokrenuta iz običnog prozora.

Proširenje može provjeriti taj uslov prije promjene postavke:

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 postojeći konfiguracijski objekat u Firefox formatu. Proširenje također treba uobičajenu dozvolu za proxy API.

Kada manifest dozvoljava privatnu upotrebu, korisnik kontroliše taj pristup u detaljima upravljanja proširenjem preko Run in Private Windows. Provjera prijavljuje taj izbor; ona ne daje dozvolu automatski.

Bez potrebnog pristupa proxy.settings.set baca izuzetak. To se dešava prije nego što je proširenje pokazalo bilo kakvu vezu s predloženim proxyjem, pa zamjena njegove IP adrese ili porta nije povezana s ovim neuspjehom.

Obradite odbijanje u korisničkom interfejsu proširenja i sačuvajte korisnikov izbor. Kada dozvola i primjena konfiguracije uspiju, procijenite stvarnu rutu odredišta odvojeno.

Povezani članci