Firefoxove globalne proxy postavke utječ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 uvjet 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 objekt u Firefox formatu. Proširenje također treba uobičajeno dopuštenje za proxy API.

Kada manifest dopušta privatnu upotrebu, korisnik kontrolira taj pristup u pojedinostima upravljanja proširenjem putem Run in Private Windows. Provjera izvješćuje o tom odabiru; ona ne daje dopuštenje automatski.

Bez potrebnog pristupa proxy.settings.set baca iznimku. To se događa prije nego što je proširenje pokazalo ikakvu vezu s predloženim proxyjem, pa zamjena njegove IP adrese ili porta nije povezana s ovim neuspjehom.

Obradite odbijanje u korisničkom sučelju proširenja i sačuvajte korisnikov odabir. Nakon što dopuštenje i primjena konfiguracije uspiju, zasebno procijenite stvarnu rutu odredišta.

Povezani članci