Firefox WebExtensions: đặt thông tin đăng nhập SOCKS5 trong ProxyInfo
Cung cấp tên người dùng và mật khẩu trong kết quả Firefox proxy.onRequest, nêu rõ phiên bản SOCKS và chính sách DNS từ xa.
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.