Firefox WebExtensions: SOCKS5-Zugangsdaten in ProxyInfo setzen
Benutzername und Passwort in einem Firefox-proxy.onRequest-Ergebnis übergeben, mit ausdrücklich angegebener SOCKS-Version und Remote-DNS-Richtlinie.
Das WebExtension-ProxyInfo von Firefox unterstützt seit Firefox 64 Felder für SOCKS-Benutzername und -Passwort. Diese Felder gehören zur Erweiterungsschnittstelle, nicht zum manuellen Proxy-Dialog.
Für eine bestehende Erweiterung mit Proxy- und passenden Host-Berechtigungen:
browser.proxy.onRequest.addListener(() => ({
type: 'socks',
host: 'proxy.example',
port: 1080,
username: proxyUser,
password: proxyPassword,
proxyDNS: true,
}), {urls: ['<all_urls>']});
proxyUser und proxyPassword über die Zugangsdatenverwaltung der Erweiterung bereitstellen. type: 'socks' bedeutet SOCKS5; socks4 bietet nicht dieselbe Passwortauthentifizierung.
proxyDNS: true delegiert die Auflösung des Zielnamens ausdrücklich an den Proxy. Die ProxyInfo-Referenz dokumentiert den Standardwert false; wer dieses Feld ausdrücklich setzt, verlässt sich nicht auf diesen Standard.
Diese Benutzername/Passwort-Felder dienen der SOCKS-Authentifizierung. proxyAuthorizationHeader ist dagegen für Proxys der HTTP-Familie gedacht.
Der SOCKS5-Server muss das Konto unterstützen und akzeptieren. Dieser Benutzername/Passwort-Austausch verschlüsselt den Transport nicht; das HTTPS-Ziel behält seine eigene TLS-Prüfung.