เซิร์ฟเวอร์ VLESS ถูกอธิบายด้วย ID ผู้ใช้ (UUID) ความปลอดภัย (none, TLS หรือ REALITY) และ การส่งผ่าน (transport) ที่ใช้นำการเชื่อมต่อ เช่น WebSocket หรือ gRPC อาจใช้ โฟลว์ Vision ซึ่งซ่อนรูปแบบ "TLS ซ้อน TLS" ของทราฟฟิก HTTPS ที่ผ่านพร็อกซี และ VLESS Encryption ซึ่งเป็นชั้นการเข้ารหัสแบบ post-quantum ของ Xray ได้ด้วย Potatso เชื่อมต่อกับเซิร์ฟเวอร์เมื่อรองรับการตั้งค่าเหล่านี้ทั้งหมด ใช้ตารางด้านล่างเพื่อตรวจสอบการตั้งค่าของเซิร์ฟเวอร์ ตามที่ผู้ให้บริการแจ้งหรือในลิงก์ vless:// ของเซิร์ฟเวอร์
คุณเพิ่มเซิร์ฟเวอร์ VLESS ได้ด้วยตนเอง ด้วยลิงก์ vless:// หรือโดยการนำเข้า:
- การสมัครรับ Clash หรือ Mihomo
- การกำหนดค่า Xray หรือ V2Ray
Potatso ยังไม่นำเข้าเซิร์ฟเวอร์ VLESS จากการกำหนดค่า sing-box ให้ใช้ลิงก์ vless:// ของเซิร์ฟเวอร์แทน
ทุกการตั้งค่าที่รองรับด้านล่างได้รับการทดสอบกับเซิร์ฟเวอร์ Xray และ sing-box จริง
ID ผู้ใช้
ID ผู้ใช้โดยปกติเป็น UUID เช่น 3971e1b2-18a3-4f83-8fa6-bf9b142ee258 เซิร์ฟเวอร์ Xray ยังรับข้อความอื่นยาวไม่เกิน 30 อักขระเป็น ID และแปลงเป็น UUID ด้วยวิธีเดียวกับที่ไคลเอนต์ทุกตัวทำ Potatso ก็ทำเช่นกัน ดังนั้นให้ใช้ ID ตรงตามที่ผู้ให้บริการให้มา
การส่งผ่าน
| การส่งผ่าน | type ของลิงก์ |
รองรับ | ทดสอบกับ |
|---|---|---|---|
| ไม่มีการส่งผ่าน (TCP ดิบ) | tcp, raw หรือไม่ระบุ |
✅ | Xray, sing-box |
| WebSocket | ws |
✅ ทั้งแบบมีและไม่มี early data | Xray, sing-box |
| gRPC | grpc |
✅ | Xray, sing-box |
| HTTP Upgrade | httpupgrade |
✅ | Xray, sing-box |
| XHTTP | xhttp, splithttp |
✅ ในโหมด stream-one และ auto |
Xray |
| HTTP/2 | http หรือ h2 |
✅ | sing-box |
| mKCP | kcp |
❌ | |
| QUIC | quic |
❌ | |
| TCP ที่อำพรางด้วยส่วนหัว HTTP | tcp กับ headerType=http |
❌ |
ทุกการส่งผ่านใช้ได้ทั้งแบบมีและไม่มี TLS และกับ UDP Potatso ไม่นำเข้าเซิร์ฟเวอร์ที่ใช้การส่งผ่านที่ไม่รองรับ
Xray ไม่มี HTTP/2 หรือ QUIC อีกต่อไป: เซิร์ฟเวอร์ Xray ที่เคยใช้สิ่งเหล่านั้นตอนนี้ใช้ XHTTP
XHTTP
XHTTP (เดิมคือ SplitHTTP) มีหลายโหมด Potatso ส่งทั้งการเชื่อมต่อเป็นคำขอ HTTP เดียว (stream-one) เซิร์ฟเวอร์ Xray รับแบบนั้นได้ในโหมด auto เริ่มต้น และในโหมด stream-one และ stream-up ลิงก์ที่มี mode=auto หรือไม่มีโหมดจึงใช้ได้
Potatso ไม่รองรับโหมดไคลเอนต์ packet-up และ stream-up และไม่นำเข้าลิงก์ที่ขอโหมดเหล่านั้น พารามิเตอร์ extra ของลิงก์ XHTTP ไม่รองรับ: Potatso ไม่สนใจ Potatso แก้ไขเซิร์ฟเวอร์ XHTTP ที่ใช้ TLS หรือ REALITY ได้ ส่วนเซิร์ฟเวอร์ XHTTP ที่นำเข้ามาโดยไม่มี TLS ยังใช้งานได้
ความปลอดภัย
| ความปลอดภัย | security ของลิงก์ |
รองรับ |
|---|---|---|
| ไม่มี | none หรือไม่ระบุ |
✅ ทราฟฟิกของคุณไม่ถูกเข้ารหัส เว้นแต่เซิร์ฟเวอร์ใช้ VLESS Encryption |
| TLS | tls |
✅ |
| REALITY | reality |
✅ เมื่อไม่มีการส่งผ่าน หรือใช้ gRPC หรือ XHTTP |
การตั้งค่า TLS
| การตั้งค่า | คีย์ของ Clash | พารามิเตอร์ของลิงก์ | รองรับ |
|---|---|---|---|
| ชื่อเซิร์ฟเวอร์ (SNI) | servername |
sni |
✅ หากไม่ระบุ Potatso ใช้ที่อยู่ของเซิร์ฟเวอร์ |
| ALPN | alpn |
alpn |
✅ หากไม่ระบุ Potatso ส่ง http/1.1 สำหรับ WebSocket, h2 สำหรับ gRPC, HTTP/2 และ XHTTP และไม่ส่งอะไรสำหรับการส่งผ่านอื่น |
| ข้ามการตรวจสอบใบรับรอง | skip-cert-verify |
allowInsecure, insecure |
✅ |
| การปักหมุดใบรับรอง (SHA-256) | fingerprint |
pcs |
✅ หนึ่งใบรับรอง |
| ตรวจสอบใบรับรองกับชื่ออื่น | vcn |
❌ Potatso ตรวจสอบใบรับรองกับชื่อเซิร์ฟเวอร์ | |
| ลายนิ้วมือเบราว์เซอร์ | client-fingerprint |
fp |
✅ chrome, firefox, safari, ios, android, edge และ random ชื่ออื่นจะเชื่อมต่อด้วย handshake เริ่มต้น |
| Encrypted Client Hello (ECH) | ech-opts |
ech |
✅ เมื่อมีการกำหนดค่า ECH ในลิงก์หรือการสมัครรับ |
| ใบรับรอง CA ที่กำหนดเอง | ❌ | ||
| ใบรับรองไคลเอนต์ TLS | certificate, private-key |
❌ |
การปิดการตรวจสอบใบรับรองทำให้ใครก็ตามที่อยู่ระหว่างคุณกับเซิร์ฟเวอร์อ่านทราฟฟิกของคุณได้ หากเซิร์ฟเวอร์ใช้ใบรับรองที่ลงนามด้วยตัวเอง ให้ปักหมุดใบรับรองของเซิร์ฟเวอร์แทน: ตั้ง SHA-256 ของใบรับรองเป็นการปักหมุดใบรับรอง Potatso ปักหมุดได้หนึ่งใบรับรอง จึงไม่นำเข้าลิงก์ที่ระบุหลายใบรับรองใน pcs
ลายนิ้วมือเบราว์เซอร์ทำให้ TLS handshake ของการเชื่อมต่อดูเหมือนของเบราว์เซอร์นั้น ไม่เปลี่ยนสิ่งที่เซิร์ฟเวอร์ต้องรองรับ
REALITY
เซิร์ฟเวอร์ REALITY ยืมใบรับรอง TLS ของเว็บไซต์อื่น จึงไม่ต้องมีใบรับรองของตัวเอง ตั้ง คีย์สาธารณะ (public key) และ short ID ของเซิร์ฟเวอร์ตามที่ผู้ให้บริการให้ และตั้งชื่อเซิร์ฟเวอร์เป็นเว็บไซต์ที่เซิร์ฟเวอร์ยืมมา spx (spider path) ของลิงก์ไม่จำเป็นต่อการเชื่อมต่อ และ Potatso ไม่สนใจ
REALITY ต้องใช้ลายนิ้วมือเบราว์เซอร์: เมื่อลิงก์หรือการตั้งค่าของคุณไม่มี Potatso ใช้ chrome เมื่อใช้ REALITY android และชื่อที่ Potatso ไม่รู้จักก็เชื่อมต่อเป็น chrome เช่นกัน
REALITY ใช้ได้เมื่อไม่มีการส่งผ่าน และกับ gRPC และ XHTTP
โฟลว์ Vision
| โฟลว์ | flow ของลิงก์ |
รองรับ |
|---|---|---|
| ไม่มี | none | ✅ |
| Vision | xtls-rprx-vision |
✅ |
| Vision อนุญาต UDP 443 | xtls-rprx-vision-udp443 |
✅ |
xtls-rprx-direct, xtls-rprx-splice และโฟลว์ XTLS รุ่นเก่าอื่น |
❌ Xray เอาออกแล้ว |
Vision ใช้ได้เฉพาะเมื่อไม่มีการส่งผ่านและมี TLS หรือ REALITY: Potatso ไม่บันทึกหรือนำเข้าเซิร์ฟเวอร์ Vision ที่ใช้การส่งผ่านอื่นหรือไม่มี TLS และยังใช้ร่วมกับ VLESS Encryption ที่ซ้อนบน TLS ได้ด้วย
กับ Vision, UDP ถูกส่งแบบเดียวกับที่ Xray ส่ง คือผ่าน Mux.Cool ซึ่งทั้งเซิร์ฟเวอร์ Xray และ sing-box รับได้ ไคลเอนต์ของ Xray เองปฏิเสธ UDP ไปยังพอร์ต 443 (QUIC) เมื่อใช้ xtls-rprx-vision เพื่อให้เบราว์เซอร์ถอยไปใช้ TCP ส่วน Potatso ส่งได้กับทั้งสองโฟลว์
VLESS Encryption
VLESS Encryption (mlkem768x25519plus) คือชั้นการเข้ารหัสแบบ post-quantum ของ Xray: การแลกเปลี่ยนคีย์ ML-KEM-768 และ X25519 ใต้การเชื่อมต่อ VLESS การตั้งค่า decryption ของเซิร์ฟเวอร์มีค่า encryption ที่ตรงกันสำหรับไคลเอนต์ ซึ่งมีหน้าตาดังนี้:
mlkem768x25519plus.native.0rtt.<key>| การตั้งค่า | รองรับ |
|---|---|
โหมด native, xorpub และ random |
✅ |
1rtt และ 0rtt (การเชื่อมต่อที่ต่อเนื่อง) |
✅ |
| เซิร์ฟเวอร์ที่ยืนยันตัวตนด้วยคีย์ X25519 หรือ ML-KEM-768 | ✅ |
| เมื่อไม่มีการส่งผ่านและไม่มี TLS | ✅ |
| ซ้อนบน TLS | ✅ ใช้ร่วมกับ Vision ได้ด้วย |
| Vision ที่ไม่มี TLS | ❌ |
Potatso เก็บค่า encryption ของลิงก์ การสมัครรับ Clash หรือการกำหนดค่า Xray ไว้ คุณพิมพ์ค่านี้ในการตั้งค่าของเซิร์ฟเวอร์ยังไม่ได้
การมัลติเพล็กซ์
Potatso รันหลายการเชื่อมต่อผ่านการเชื่อมต่อ VLESS เดียวได้ ซึ่งตั้งด้วย smux ในการสมัครรับ Clash:
| โปรโตคอล | smux.protocol ของ Clash |
เซิร์ฟเวอร์ | รองรับ |
|---|---|---|---|
| Mux.Cool (Xray) | muxcool |
Xray, sing-box | ✅ TCP และ UDP |
| การมัลติเพล็กซ์ของ sing-box | smux, yamux, h2mux |
sing-box ที่เปิดการมัลติเพล็กซ์ไว้ | ✅ TCP และ UDP ทั้งแบบมีและไม่มี padding |
กับ Vision, Mux.Cool รับส่งเฉพาะ UDP และแต่ละการเชื่อมต่อ TCP คงการเชื่อมต่อของตัวเองไว้ เหมือนใน Xray การมัลติเพล็กซ์ของ sing-box ใช้กับ Vision ไม่ได้ และ Potatso ไม่นำเข้าเซิร์ฟเวอร์ Vision ที่ขอใช้
การตั้งค่า mux ของ Xray ในการกำหนดค่า Xray ไม่ถูกนำเข้า
UDP
VLESS นำ UDP ผ่านการเชื่อมต่อเดียวกับ TCP UDP ปิดไว้โดยค่าเริ่มต้น เหมือนใน Clash เปิด UDP Relay ในการตั้งค่าของเซิร์ฟเวอร์หากเซิร์ฟเวอร์ของคุณรีเลย์ UDP: ทั้ง Xray และ sing-box ทำได้ การสมัครรับ Clash เปิดด้วย udp: true
แต่ละโฟลว์ UDP ได้การเชื่อมต่อของตัวเองไปยังเซิร์ฟเวอร์ และแต่ละปลายทางได้โฟลว์ของตัวเอง Potatso ไม่รองรับ XUDP หรือ packetaddr (packetEncoding ในลิงก์, packet-encoding หรือ xudp ในการสมัครรับ): เซิร์ฟเวอร์ยอมรับ UDP ของ Potatso โดยไม่ต้องใช้สิ่งเหล่านั้น และ Potatso ไม่สนใจการตั้งค่านี้
การรองรับฟีเจอร์
| ฟีเจอร์ | รองรับ |
|---|---|
| โปรโตคอล VLESS เวอร์ชัน 0: คำสั่ง TCP และ UDP | ✅ |
| ID ผู้ใช้แบบ UUID และข้อความ | ✅ |
| หลายผู้ใช้บนเซิร์ฟเวอร์เดียว | ✅ แต่ละคนมี ID ของตัวเอง |
โฟลว์ Vision (xtls-rprx-vision, -udp443) |
✅ ดู Vision |
VLESS Encryption (mlkem768x25519plus) |
✅ ดู VLESS Encryption |
| TLS, REALITY, ECH, การปักหมุดใบรับรอง, ลายนิ้วมือเบราว์เซอร์ | ✅ ดูความปลอดภัย |
| การส่งผ่าน WebSocket, gRPC, HTTP Upgrade, HTTP/2 | ✅ ดูการส่งผ่าน |
| XHTTP | โหมด stream-one และ auto |
| mKCP, QUIC, การอำพราง TCP ด้วยส่วนหัว HTTP | ❌ |
| Mux.Cool | ✅ |
| XUDP, packetaddr | ❌ UDP ใช้คำสั่ง UDP ธรรมดา |
| การมัลติเพล็กซ์ของ sing-box (smux, yamux, h2mux) | ✅ |
พร็อกซีย้อนกลับ (reverse ของ VLESS) |
❌ เป็นฟีเจอร์ฝั่งเซิร์ฟเวอร์ |
ลิงก์ vless:// (มาตรฐานลิงก์แชร์ของ Xray) |
✅ |
ลิงก์ vless://
ลิงก์ vless:// เก็บเซิร์ฟเวอร์ทั้งตัวไว้ในบรรทัดเดียว:
vless://id@host:port?type=…&security=…&…#name| ส่วน | คำอธิบาย |
|---|---|
id |
ID ผู้ใช้ |
host |
ที่อยู่เซิร์ฟเวอร์ ใส่ที่อยู่ IPv6 ในวงเล็บเหลี่ยม เช่น [2001:db8::1] |
port |
พอร์ตเซิร์ฟเวอร์ |
encryption |
none หรือค่า VLESS Encryption |
flow |
ไม่บังคับ xtls-rprx-vision หรือ xtls-rprx-vision-udp443 |
type |
การส่งผ่าน |
security |
none, tls หรือ reality |
sni, alpn, fp, pcs, ech, allowInsecure |
การตั้งค่า TLS |
pbk, sid |
คีย์สาธารณะและ short ID ของ REALITY |
host, path |
ส่วนหัว Host และเส้นทางของ WebSocket, HTTP Upgrade, HTTP/2 และ XHTTP เส้นทาง WebSocket ส่ง early data ได้ในรูป ?ed=2048 |
serviceName |
ชื่อบริการ gRPC |
mode |
โหมด XHTTP |
name |
ไม่บังคับ ชื่อของเซิร์ฟเวอร์ใน Potatso |
เมื่อ Potatso แชร์เซิร์ฟเวอร์ VLESS จะเขียนลิงก์ในรูปแบบนี้
ตัวอย่าง
แต่ละตัวอย่างแสดงลิงก์ที่จะนำเข้า ID ผู้ใช้คือ 3971e1b2-18a3-4f83-8fa6-bf9b142ee258
TLS ที่ไม่มีการส่งผ่าน:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&sni=vless.example.com&type=tcp#TLSREALITY กับ Vision ที่ยืม www.example.com:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=reality&sni=www.example.com&fp=chrome&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&type=tcp&flow=xtls-rprx-vision#REALITY-VisionWebSocket ผ่าน TLS ผ่าน CDN พร้อม early data 2048 ไบต์:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=ws&host=cdn.example.com&path=%2Fws%3Fed%3D2048#WebSocketgRPC ผ่าน TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=grpc&serviceName=gun#gRPCHTTP Upgrade ผ่าน TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#HTTPUpgradeXHTTP ผ่าน TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=xhttp&host=cdn.example.com&path=%2Fxh&mode=auto#XHTTPHTTP/2 ผ่าน TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2VLESS Encryption ที่ไม่มี TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:8443?security=none&encryption=mlkem768x25519plus.native.0rtt.u7dtLE6KgE4mjeBK3oYdNMw6MJB47Ijr_9AG2avwSmY&type=tcp#Encryption