API-ul global de proxy al Firefox necesită acces la ferestrele private
Verificați accesul extensiei la navigarea privată când proxy.settings.set aruncă o eroare, deoarece configurația globală afectează atât ferestrele normale, cât și cele private.
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.