WebExtensions Firefox : définir les identifiants SOCKS5 dans ProxyInfo
Fournissez un nom d’utilisateur et un mot de passe dans un résultat proxy.onRequest de Firefox, en indiquant explicitement la version SOCKS et la politique de DNS distant.
Le ProxyInfo des WebExtensions de Firefox prend en charge les champs de nom d’utilisateur et de mot de passe SOCKS depuis Firefox 64. Ces champs relèvent de l’interface de l’extension, pas de la boîte de dialogue de proxy manuel.
Pour une extension existante disposant d’un proxy et des autorisations d’hôte correspondantes :
browser.proxy.onRequest.addListener(() => ({
type: 'socks',
host: 'proxy.example',
port: 1080,
username: proxyUser,
password: proxyPassword,
proxyDNS: true,
}), {urls: ['<all_urls>']});
Fournissez proxyUser et proxyPassword via la gestion des identifiants de l’extension. type: 'socks' signifie SOCKS5 ; socks4 n’offre pas la même authentification par mot de passe.
proxyDNS: true délègue explicitement la résolution du nom de destination au proxy. La référence ProxyInfo documente une valeur par défaut de false ; définir ce champ explicitement évite de dépendre de cette valeur par défaut.
Utilisez ces champs de nom d’utilisateur et de mot de passe pour l’authentification SOCKS. proxyAuthorizationHeader sert plutôt aux proxys de la famille HTTP.
Le serveur SOCKS5 doit prendre en charge et accepter le compte. Cet échange de nom d’utilisateur et de mot de passe ne chiffre pas le transport ; le HTTPS de destination conserve sa propre vérification TLS.