Firefox WebExtensions:在 ProxyInfo 中设置 SOCKS5 凭据
在 Firefox proxy.onRequest 结果中提供用户名和密码,并明确说明 SOCKS 版本和远程 DNS 策略。
Firefox WebExtension 的 ProxyInfo 自 Firefox 64 起支持 SOCKS 用户名和密码字段。这些字段属于扩展接口,而不属于手动代理对话框。
对于已有代理及匹配主机权限的扩展:
browser.proxy.onRequest.addListener(() => ({
type: 'socks',
host: 'proxy.example',
port: 1080,
username: proxyUser,
password: proxyPassword,
proxyDNS: true,
}), {urls: ['<all_urls>']});
通过扩展的凭据处理提供 proxyUser 和 proxyPassword。type: socks 表示 SOCKS5;socks4 不提供相同的密码认证。
proxyDNS: true 明确把目标名称解析交给代理。ProxyInfo 参考文档说明默认值为 false;显式设置该字段可避免依赖该默认值。
这些用户名和密码字段用于 SOCKS 认证。proxyAuthorizationHeader 则用于 HTTP 系列代理。
SOCKS5 服务器必须支持并接受该账户。这种用户名和密码交换不会加密传输;目标 HTTPS 仍保留其独立的 TLS 验证。SOCKS5 会加密流量吗。