ProxyInfo của WebExtension trong Firefox đã hỗ trợ các trường tên người dùng và mật khẩu cho SOCKS từ Firefox 64. Các trường này thuộc giao diện tiện ích mở rộng, không thuộc hộp thoại proxy thủ công.

Với một tiện ích mở rộng hiện có và quyền host tương ứng:

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

Cung cấp proxyUser và proxyPassword thông qua việc xử lý thông tin đăng nhập của tiện ích. type: socks nghĩa là SOCKS5; socks4 không cung cấp cùng kiểu xác thực bằng mật khẩu.

proxyDNS: true chuyển giao rõ ràng việc phân giải tên đích cho proxy. Tài liệu ProxyInfo ghi giá trị mặc định là false; đặt rõ trường này tránh phụ thuộc vào giá trị mặc định đó.

Dùng các trường tên người dùng và mật khẩu này cho xác thực SOCKS. proxyAuthorizationHeader phục vụ các proxy thuộc họ HTTP.

Máy chủ SOCKS5 phải hỗ trợ và chấp nhận tài khoản. Việc trao đổi tên người dùng và mật khẩu này không mã hóa đường truyền; HTTPS đích vẫn giữ xác minh TLS riêng. SOCKS5 có mã hóa lưu lượng không.

Bài viết liên quan