Firefoxov globalni proxy API zahtijeva pristup privatnim prozorima
Provjerite pristup proširenja privatnom pregledavanju kada proxy.settings.set baci grešku, jer globalna konfiguracija utiče i na obične i na privatne prozore.
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.