Wireproxy: พร็อกซี Socks5/HTTP หรือท่อเชื่อมต่อในฐานะไคลเอนต์ Wireguard
wireproxy เป็นแอปพลิเคชันที่ทำงานทั้งหมดใน user space เชื่อมต่อกับ wireguard peer และให้บริการพร็อกซี socks5/http หรือท่อเชื่อมต่อแก่เครื่อง
- มีประโยชน์เมื่อคุณต้องการเชื่อมต่อไปยังบางเว็บไซต์ผ่าน wireguard peer แต่ไม่อยากยุ่งยากกับการตั้งค่า network interface ใหม่
เหตุผลที่ต้องใช้สิ่งนี้
- เมื่อต้องการใช้ wireguard เป็นพร็อกซีเพื่อส่งทราฟฟิกบางส่วนเท่านั้น
- เมื่อต้องการหลีกเลี่ยงการใช้สิทธิ์ root เพื่อแก้ไขการตั้งค่า wireguard
- ปัจจุบัน ผู้ใช้สามารถรัน wireproxy ที่เชื่อมต่อกับเซิร์ฟเวอร์ wireguard ในต่างประเทศ และตั้งค่าให้เบราว์เซอร์ใช้งานกับบางเว็บไซต์ได้
- wireproxy แยกขาดจาก network interface โดยสมบูรณ์ และไม่ต้องใช้สิทธิ์ root ในการตั้งค่า
- ผู้ใช้ Amnezia VPN สามารถใช้ wireproxy เวอร์ชันที่ @juev fork ไว้ได้
ความสามารถ
- static routing สำหรับ TCP ทั้งฝั่งไคลเอนต์และเซิร์ฟเวอร์
- พร็อกซี SOCKS5/HTTP (ขณะนี้รองรับเฉพาะ CONNECT)
สิ่งที่ต้องทำ
- รองรับ UDP ใน SOCKS5
- static routing สำหรับ UDP
วิธีใช้งาน
./wireproxy -c [config 경로]
- ให้ความสามารถด้านพร็อกซีในฐานะไคลเอนต์ wireguard แบบ user space
-h คือช่วยเหลือ, -c คือพาธไฟล์ตั้งค่า, -s คือโหมดเงียบ, -d คือรันเบื้องหลัง, -v คือแสดงเวอร์ชัน, -n คือโหมดตรวจสอบเฉพาะความถูกต้องของไฟล์ตั้งค่า
คำแนะนำในการบิลด์
git clone https://github.com/octeep/wireproxy
cd wireproxy
make
การใช้งานร่วมกับ VPN
- สามารถดูวิธีใช้ wireproxy บน MacOS ร่วมกับแท็บคอนเทนเนอร์ของ Firefox และการเริ่มทำงานอัตโนมัติได้จากลิงก์ดังกล่าว
ตัวอย่างไฟล์ตั้งค่า
- การตั้งค่า
[Interface] และ [Peer] มีความหมายและไวยากรณ์เดียวกับการตั้งค่า wg-quick
- TCPClientTunnel และ TCPServerTunnel คือท่อเชื่อมต่อที่ส่งต่อทราฟฟิก TCP ไปยังปลายทางที่กำหนดจากเครื่องโลคัลและจากเครือข่าย wireguard ตามลำดับ
- STDIOTunnel คือท่อเชื่อมต่อที่เชื่อม standard input และ output ของโปรเซส wireproxy ไปยังปลายทาง TCP ที่กำหนดผ่าน wireguard
- Socks5 และ http จะสร้างพร็อกซี socks5 และพร็อกซี http บน LAN และกำหนดเส้นทางทราฟฟิกทั้งหมดผ่าน wireguard
- หากมีการตั้งค่า wireguard อยู่แล้ว สามารถนำเข้ามาใช้ในไฟล์ตั้งค่าของ wireproxy ได้
- รองรับหลาย peer และต้องระบุ
AllowedIPs เพื่อให้ wireproxy ทราบว่าควรส่งต่อไปยัง peer ใด
ความเห็นจาก GN⁺
- wireproxy อาจมีประโยชน์มากสำหรับผู้ใช้ที่ต้องการเข้าถึงอินเทอร์เน็ตอย่างปลอดภัยผ่าน VPN โดยไม่ต้องมีความรู้เชิงลึกด้านการตั้งค่าเครือข่าย
- แอปพลิเคชันนี้น่าสนใจตรงที่ช่วยให้ผู้ใช้กำหนดเส้นทางทราฟฟิกบางส่วนผ่าน wireguard ได้ โดยไม่ต้องเปลี่ยนการตั้งค่าเครือข่ายระดับระบบ
- อย่างไรก็ตาม หากผู้ใช้ไม่มีความเข้าใจด้านความปลอดภัยเครือข่ายมากพอ ก็ต้องระวัง เพราะการตั้งค่าที่ผิดพลาดอาจก่อให้เกิดช่องโหว่ด้านความปลอดภัยได้
- เมื่อนำเทคโนโลยี wireguard มาใช้ ควรพิจารณาข้อจำกัดทางกฎหมายและนโยบายความเป็นส่วนตัวในพื้นที่นั้น ๆ รวมถึงตรวจสอบว่าการใช้ VPN ได้รับอนุญาตหรือไม่
- โครงการโอเพนซอร์สอื่นที่มีความสามารถคล้ายกัน ได้แก่ OpenVPN, SoftEther VPN เป็นต้น โดยผู้ใช้ควรเลือกเครื่องมือให้เหมาะกับความต้องการของตน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
การพูดคุยเกี่ยวกับเครื่องมือเล็ก ๆ ที่มีประโยชน์
ข้อมูลเกี่ยวกับไคลเอนต์พร็อกซีหลากหลายแบบ
คำถามเกี่ยวกับการทำเซิร์ฟเวอร์แบบ user-space
คำแนะนำเกี่ยวกับเครื่องมือสำหรับบริการ VPN เฉพาะราย
การตอบรับเชิงบวกต่อเครื่องมือที่เขียนด้วยภาษา Go
การพูดคุยเกี่ยวกับกรณีการใช้งานส่วนตัว
การกล่าวถึงความสามารถของ sing-box