A configuración global de proxy de Firefox afecta tanto as xanelas normais como as privadas. Por iso, a API proxy.settings require que a extensión teña acceso ás xanelas privadas, mesmo cando a operación se iniciou desde unha xanela normal.

A extensión pode comprobar esa condición antes de cambiar a configuración:

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 é o obxecto de configuración existente en formato Firefox. A extensión tamén necesita o seu permiso habitual da API de proxy.

Cando o manifesto permite o uso privado, o usuario controla ese acceso nos detalles de xestión da extensión mediante Run in Private Windows. A comprobación informa desa escolla; non concede o permiso automaticamente.

Sen o acceso necesario, proxy.settings.set lanza unha excepción. Iso ocorre antes de que a extensión demostrase calquera conexión co proxy proposto, así que substituír o seu IP ou o seu porto non ten relación con este fallo.

Xestione o rexeitamento na interface da extensión e conserve a escolla do usuario. Unha vez que o permiso e a aplicación da configuración teñan éxito, avalíe a ruta de destino real por separado.

Artigos relacionados