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