„Firefox“ visuotinės tarpinio serverio nuostatos veikia ir įprastus, ir privačius langus. Todėl proxy.settings API reikalauja, kad plėtinys turėtų prieigą prie privačių langų, net kai veiksmas buvo pradėtas įprastame lange.

Plėtinys gali patikrinti šią sąlygą prieš keisdamas nuostatą:

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 yra esamas „Firefox“ formato konfigūracijos objektas. Plėtiniui taip pat reikia įprasto tarpinio serverio API leidimo.

Kai manifestas leidžia privatų naudojimą, naudotojas tą prieigą valdo plėtinio valdymo informacijoje per Run in Private Windows. Patikra praneša apie šį pasirinkimą; ji nesuteikia leidimo automatiškai.

Be reikiamos prieigos proxy.settings.set išmeta išimtį. Tai įvyksta prieš plėtiniui parodant bet kokį ryšį su siūlomu tarpiniu serveriu, todėl jo IP ar prievado pakeitimas nesusijęs su šia klaida.

Tvarkykite atmetimą plėtinio sąsajoje ir išsaugokite naudotojo pasirinkimą. Kai leidimas ir konfigūracijos taikymas pavyks, atskirai įvertinkite tikrąjį paskirties maršrutą.

Susiję straipsniai