WebExtensions Firefox: настройка учётных данных SOCKS5 в ProxyInfo
Передайте имя пользователя и пароль в результате proxy.onRequest Firefox, явно указав версию SOCKS и политику удалённого DNS.
WebExtension ProxyInfo в Firefox поддерживает поля имени пользователя и пароля SOCKS начиная с Firefox 64. Эти поля относятся к интерфейсу расширения, а не к диалогу ручной настройки прокси.
Для существующего расширения с прокси и соответствующими разрешениями хоста:
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.