Setările globale de proxy din Firefox afectează atât ferestrele normale, cât și cele private. De aceea, API-ul proxy.settings cere ca extensia să aibă acces la ferestrele private, chiar și atunci când operația a fost inițiată dintr-o fereastră normală.

Extensia poate verifica această condiție înainte de a modifica setarea:

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 este obiectul de configurare existent în format Firefox. Extensia are nevoie și de permisiunea obișnuită pentru API-ul de proxy.

Când manifestul permite utilizarea privată, utilizatorul controlează acel acces în detaliile de administrare ale extensiei prin Run in Private Windows. Verificarea raportează această alegere; ea nu acordă permisiunea automat.

Fără accesul necesar, proxy.settings.set aruncă o excepție. Acest lucru se întâmplă înainte ca extensia să fi demonstrat vreo conexiune la proxy-ul propus, așa că înlocuirea IP-ului sau a portului nu are legătură cu această eroare.

Gestionați refuzul în interfața extensiei și păstrați alegerea utilizatorului. După ce permisiunea și aplicarea configurației reușesc, evaluați separat ruta reală către destinație.

Articole similare