Firefox’s WebExtension ProxyInfo has supported SOCKS username and password fields since Firefox 64. These fields belong to the extension interface rather than the manual proxy dialog.

For an existing extension with proxy and matching host permissions:

browser.proxy.onRequest.addListener(() => ({
  type: 'socks',
  host: 'proxy.example',
  port: 1080,
  username: proxyUser,
  password: proxyPassword,
  proxyDNS: true,
}), {urls: ['<all_urls>']});

Supply proxyUser and proxyPassword through the extension’s credential handling. type: 'socks' means SOCKS5; socks4 does not provide the same password authentication.

proxyDNS: true explicitly delegates destination-name resolution to the proxy. The ProxyInfo reference documents a default of false; setting this field explicitly avoids relying on that default.

Use these username/password fields for SOCKS authentication. proxyAuthorizationHeader serves HTTP-family proxies instead.

The SOCKS5 server must support and accept the account. This username/password exchange does not encrypt the transport; destination HTTPS retains its separate TLS verification.

Allakkat attuumassuteqartut