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 трафік.

Схожі статті