Les paramètres de proxy globaux de Firefox s'appliquent aux fenêtres normales comme aux fenêtres privées. L'API proxy.settings exige donc que l'extension ait accès aux fenêtres privées, même lorsque l'opération a été lancée depuis une fenêtre normale.

L'extension peut vérifier cette condition avant de modifier le paramètre :

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 est l'objet de configuration existant au format Firefox. L'extension a également besoin de son autorisation habituelle pour l'API de proxy.

Lorsque le manifeste autorise l'usage privé, l'utilisateur contrôle cet accès dans les détails de gestion de l'extension via Run in Private Windows. La vérification signale ce choix ; elle n'accorde pas l'autorisation automatiquement.

Sans l'accès requis, proxy.settings.set lève une exception. Cela se produit avant que l'extension ait démontré une quelconque connexion au proxy proposé, donc remplacer son IP ou son port n'a aucun rapport avec cet échec.

Gérez le refus dans l'interface de l'extension et conservez le choix de l'utilisateur. Une fois l'autorisation et l'application de la configuration réussies, évaluez séparément la route de destination réelle.

Articles similaires