Firefox globālie starpniekservera iestatījumi ietekmē gan parastos, gan privātos logus. Tāpēc proxy.settings API pieprasa, lai paplašinājumam būtu piekļuve privātajiem logiem, pat ja darbība tika sākta parastā logā.

Paplašinājums var pārbaudīt šo nosacījumu pirms iestatījuma maiņas:

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 ir esošais konfigurācijas objekts Firefox formātā. Paplašinājumam ir vajadzīga arī tā parastā starpniekservera API atļauja.

Kad manifests atļauj privātu lietošanu, lietotājs šo piekļuvi pārvalda paplašinājuma pārvaldības informācijā, izmantojot Run in Private Windows. Pārbaude ziņo par šo izvēli; tā nepiešķir atļauju automātiski.

Bez nepieciešamās piekļuves proxy.settings.set izmet izņēmumu. Tas notiek pirms paplašinājums ir parādījis jebkādu savienojumu ar ierosināto starpniekserveri, tāpēc tā IP vai porta aizstāšana nav saistīta ar šo kļūdu.

Apstrādājiet noraidījumu paplašinājuma saskarnē un saglabājiet lietotāja izvēli. Kad atļauja un konfigurācijas piemērošana ir veiksmīga, atsevišķi novērtējiet faktisko galamērķa maršrutu.

Saistītie raksti