Firefoxov globalni proxy API zahteva pristup privatnim prozorima
Proverite pristup proširenja privatnom pregledanju 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 zahteva da proširenje ima pristup privatnim prozorima, čak i kada je radnja pokrenuta iz običnog prozora.
Proširenje može proveriti taj uslov pre promene 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 konfiguracioni objekat u Firefox formatu. Proširenju je takođe potrebna uobičajena dozvola za proxy API.
Kada manifest dozvoljava privatnu upotrebu, korisnik kontroliše taj pristup u detaljima upravljanja proširenjem preko Run in Private Windows. Provera prijavljuje taj izbor; ona ne daje dozvolu automatski.
Bez potrebnog pristupa proxy.settings.set baca izuzetak. To se dešava pre nego što je proširenje pokazalo bilo kakvu vezu sa predloženim proxyjem, pa zamena njegove IP adrese ili porta nije povezana sa ovim neuspehom.
Obradite odbijanje u korisničkom interfejsu proširenja i sačuvajte korisnikov izbor. Kada dozvola i primena konfiguracije uspeju, procenite stvarnu rutu odredišta odvojeno.