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 เข้ารหัสทราฟฟิกหรือไม่.

บทความที่เกี่ยวข้อง