La tutmondaj prokuraj agordoj de Firefox influas kaj ordinarajn kaj privatajn fenestrojn. Tial la API proxy.settings postulas, ke la etendaĵo havu aliron al privataj fenestroj, eĉ kiam la operacio komenciĝis el ordinara fenestro.

La etendaĵo povas kontroli tiun kondiĉon antaŭ ol ŝanĝi la agordon:

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 estas la ekzistanta agorda objekto en la formato de Firefox. La etendaĵo ankaŭ bezonas sian ordinaran permeson por la prokura API.

Kiam la manifesto permesas privatan uzon, la uzanto regas tiun aliron en la administraj detaloj de la etendaĵo per Run in Private Windows. La kontrolo raportas tiun elekton; ĝi ne donas la permeson aŭtomate.

Sen la postulata aliro, proxy.settings.set ĵetas escepton. Tio okazas antaŭ ol la etendaĵo pruvis ajnan konekton al la proponita prokuro, do anstataŭigi ĝian IP aŭ pordon ne rilatas al ĉi tiu malsukceso.

Traktu la rifuzon en la fasado de la etendaĵo kaj konservu la elekton de la uzanto. Post kiam la permeso kaj la apliko de la agordo sukcesas, taksu la realan celvojon aparte.

Rilataj artikoloj