De globale proxy-API van Firefox vereist toegang tot privévensters
Controleer de toegang van de extensie tot privénavigatie wanneer proxy.settings.set een fout gooit, omdat de globale configuratie zowel gewone als privévensters beïnvloedt.
De globale proxy-instellingen van Firefox beïnvloeden zowel gewone als privévensters. Daarom vereist de proxy.settings-API dat de extensie toegang heeft tot privévensters, zelfs wanneer de bewerking vanuit een gewoon venster is gestart.
De extensie kan die voorwaarde controleren voordat de instelling wordt gewijzigd:
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 is het bestaande configuratieobject in Firefox-indeling. De extensie heeft ook de gebruikelijke proxymachtiging voor de API nodig.
Wanneer het manifest privégebruik toestaat, beheert de gebruiker die toegang in de beheerdetails van de extensie via Run in Private Windows. De controle meldt die keuze; zij verleent de toestemming niet automatisch.
Zonder de vereiste toegang gooit proxy.settings.set een uitzondering. Dat gebeurt voordat de extensie enige verbinding met de voorgestelde proxy heeft aangetoond, dus het vervangen van het IP of de poort heeft niets met deze fout te maken.
Behandel de afwijzing in de interface van de extensie en behoud de keuze van de gebruiker. Zodra de toestemming en het toepassen van de configuratie slagen, evalueer dan de werkelijke bestemmingsroute afzonderlijk.