Skip to content

Trojan

การส่งผ่าน ตัวเลือก TLS ลิงก์ และฟีเจอร์ของ Trojan ที่ Potatso รองรับ

Updated ดูเป็น Markdown

เซิร์ฟเวอร์ Trojan ถูกอธิบายด้วย รหัสผ่าน และ การตั้งค่า TLS และอาจมี การส่งผ่าน (transport) ที่ใช้นำการเชื่อมต่อ เช่น WebSocket หรือ gRPC Trojan ทำงานภายใน TLS (หรือ REALITY) เสมอ ผู้ที่คอยสังเกตจึงเห็นการเชื่อมต่อเหมือนการเข้าชม HTTPS ทั่วไป Potatso เชื่อมต่อกับเซิร์ฟเวอร์เมื่อรองรับการส่งผ่านและการตั้งค่า TLS ของเซิร์ฟเวอร์ ใช้ตารางด้านล่างเพื่อตรวจสอบการตั้งค่าของเซิร์ฟเวอร์ ตามที่ผู้ให้บริการแจ้งหรือในลิงก์ trojan:// ของเซิร์ฟเวอร์

คุณเพิ่มเซิร์ฟเวอร์ Trojan ได้ด้วยตนเอง ด้วยลิงก์ trojan:// หรือโดยการนำเข้า:

  • การสมัครรับ Clash หรือ Mihomo
  • การกำหนดค่า Xray หรือ V2Ray
  • การกำหนดค่า Surge

Potatso ยังไม่นำเข้าเซิร์ฟเวอร์ Trojan จากการกำหนดค่า sing-box ให้ใช้ลิงก์ trojan:// ของเซิร์ฟเวอร์แทน

การส่งผ่าน

การส่งผ่าน type ของลิงก์ รองรับ ทดสอบกับ
TLS อย่างเดียว (ไม่มีการส่งผ่าน) tcp หรือไม่ระบุ ✅ Xray, sing-box, trojan-go
WebSocket ws ✅ ทั้งแบบมีและไม่มี early data Xray, sing-box, trojan-go
gRPC grpc ✅ Xray, sing-box
HTTP/2 http หรือ h2 ✅ sing-box
HTTP Upgrade httpupgrade ✅ Xray, sing-box
XHTTP xhttp ❌
mKCP, QUIC kcp, quic ❌

ทุกการส่งผ่านใช้ได้กับ UDP Potatso ไม่นำเข้าเซิร์ฟเวอร์ที่ใช้การส่งผ่านที่ไม่รองรับ

Xray ไม่มี HTTP/2 อีกต่อไป: เซิร์ฟเวอร์ Xray ที่เคยใช้ HTTP/2 ตอนนี้ใช้ XHTTP ซึ่ง Potatso ยังไม่รองรับ

TLS

การตั้งค่า คีย์ของ Clash พารามิเตอร์ของลิงก์ รองรับ
ชื่อเซิร์ฟเวอร์ (SNI) sni sni, peer ✅ หากไม่ระบุ Potatso ใช้ที่อยู่ของเซิร์ฟเวอร์
ALPN alpn alpn ✅ หากไม่ระบุ Potatso ส่ง h2, http/1.1 หรือ http/1.1 สำหรับ WebSocket และ HTTP Upgrade และ h2 สำหรับ gRPC และ HTTP/2
ข้ามการตรวจสอบใบรับรอง skip-cert-verify allowInsecure, insecure ✅
การปักหมุดใบรับรอง (SHA-256) fingerprint ✅
ลายนิ้วมือเบราว์เซอร์ client-fingerprint fp ✅ chrome, firefox, safari, ios, android, edge และ random ชื่ออื่นจะเชื่อมต่อด้วย handshake เริ่มต้น
REALITY reality-opts security=reality, pbk, sid ✅ เมื่อไม่มีการส่งผ่านหรือใช้ gRPC
Encrypted Client Hello (ECH) ech-opts ech ✅ เมื่อมีการกำหนดค่า ECH ในลิงก์หรือการสมัครรับ
ใบรับรอง CA ที่กำหนดเอง ❌
ใบรับรองไคลเอนต์ TLS certificate, private-key ❌

การปิดการตรวจสอบใบรับรองทำให้ใครก็ตามที่อยู่ระหว่างคุณกับเซิร์ฟเวอร์อ่านทราฟฟิกของคุณได้ หากเซิร์ฟเวอร์ใช้ใบรับรองที่ลงนามด้วยตัวเอง ให้ปักหมุดใบรับรองของเซิร์ฟเวอร์แทน: ตั้ง SHA-256 ของใบรับรองเป็นการปักหมุดใบรับรอง

ลายนิ้วมือเบราว์เซอร์ทำให้ TLS handshake ของการเชื่อมต่อดูเหมือนของเบราว์เซอร์นั้น ไม่เปลี่ยนสิ่งที่เซิร์ฟเวอร์ต้องรองรับ

REALITY

เซิร์ฟเวอร์ REALITY ยืมใบรับรอง TLS ของเว็บไซต์อื่น จึงไม่ต้องมีใบรับรองของตัวเอง ตั้ง คีย์สาธารณะ (public key) และ short ID ของเซิร์ฟเวอร์ตามที่ผู้ให้บริการให้ และตั้งชื่อเซิร์ฟเวอร์เป็นเว็บไซต์ที่เซิร์ฟเวอร์ยืมมา REALITY ต้องใช้ลายนิ้วมือเบราว์เซอร์: เมื่อลิงก์หรือการตั้งค่าของคุณไม่มี Potatso ใช้ chrome

REALITY ใช้ได้เมื่อไม่มีการส่งผ่านและกับ gRPC Potatso ไม่นำเข้าเซิร์ฟเวอร์ REALITY ที่ใช้การส่งผ่านอื่น

การมัลติเพล็กซ์

Potatso รันหลายการเชื่อมต่อผ่านการเชื่อมต่อ Trojan เดียวได้ด้วยการมัลติเพล็กซ์ของ sing-box (smux, yamux หรือ h2mux) ซึ่งตั้งด้วย smux ในการสมัครรับ Clash เซิร์ฟเวอร์ต้องเปิดการมัลติเพล็กซ์ไว้ ใช้ได้ทั้ง TCP และ UDP

การมัลติเพล็กซ์ของ trojan-go เอง (mux ในเซิร์ฟเวอร์ trojan-go) เป็นโปรโตคอลคนละแบบ และ Potatso ไม่รองรับ เซิร์ฟเวอร์ trojan-go ยังรับการเชื่อมต่อของ Potatso ที่ไม่มีการมัลติเพล็กซ์ได้

UDP

Trojan นำ UDP ผ่านการเชื่อมต่อ TLS เดียวกับ TCP UDP ปิดไว้โดยค่าเริ่มต้น เหมือนใน Clash เปิด UDP Relay ในการตั้งค่าของเซิร์ฟเวอร์หากเซิร์ฟเวอร์ของคุณรีเลย์ UDP: Xray, sing-box และ trojan-go ทำได้ทั้งหมด การสมัครรับ Clash เปิดด้วย udp: true

การรองรับฟีเจอร์

ฟีเจอร์ รองรับ
โปรโตคอล Trojan: แฮชรหัสผ่าน, CONNECT ✅
UDP ASSOCIATE ของ Trojan ✅
Trojan ที่ไม่มี TLS (security=none) ❌
หลายผู้ใช้บนเซิร์ฟเวอร์เดียว ✅ แต่ละคนมีรหัสผ่านของตัวเอง
การส่งผ่าน WebSocket, gRPC, HTTP/2 และ HTTP Upgrade ✅ ดูการส่งผ่าน
การส่งผ่าน XHTTP, mKCP และ QUIC ❌
REALITY ✅ เมื่อไม่มีการส่งผ่านหรือใช้ gRPC
ECH ✅
การมัลติเพล็กซ์ของ sing-box (smux, yamux, h2mux) ✅
การมัลติเพล็กซ์ของ trojan-go ❌
การเข้ารหัส Shadowsocks ของ trojan-go (ss-opts, encryption=ss;…) ❌
ShadowTLS, Restls หรือ JLS ครอบ Trojan ❌
ลิงก์ trojan:// และ trojan-go:// ✅

ทุกฟีเจอร์ที่รองรับได้รับการทดสอบกับเซิร์ฟเวอร์ Trojan จริงอย่างน้อยหนึ่งตัว: Xray, sing-box หรือ trojan-go

เมื่อรหัสผ่านผิด เซิร์ฟเวอร์ Trojan จะตอบเหมือนเว็บไซต์ทั่วไปแทน (fallback) Potatso จึงเชื่อมต่อไม่ได้ และไม่แสดงข้อผิดพลาดเรื่องรหัสผ่าน: ตรวจสอบรหัสผ่านก่อนเมื่อเซิร์ฟเวอร์ Trojan เชื่อมต่อไม่ได้เลย

Potatso ไม่นำเข้าเซิร์ฟเวอร์ที่ใช้การเข้ารหัส Shadowsocks ของ trojan-go, ShadowTLS, Restls หรือ JLS ครอบ Trojan เพราะจะเชื่อมต่อโดยไม่มีสิ่งเหล่านั้น และเซิร์ฟเวอร์จะไม่ตอบ

ฟีเจอร์บางอย่างของ trojan-go เป็นการตั้งค่าของโปรแกรมไคลเอนต์ของมันเอง และ Potatso ทำงานเดียวกันนี้ในแบบของตัวเอง:

  • การกำหนดเส้นทาง: ใช้กฎในโปรไฟล์ของคุณ
  • เซิร์ฟเวอร์ SOCKS5 และ HTTP ในเครื่อง และการส่งต่อ: Potatso จับทราฟฟิกของอุปกรณ์คุณเอง

ลิงก์ trojan:// เก็บเซิร์ฟเวอร์ทั้งตัวไว้ในบรรทัดเดียว:

trojan://password@host:port?parameters#name
ส่วน คำอธิบาย
password รหัสผ่าน เข้ารหัสแบบ percent ทุกอย่างก่อน @ คือรหัสผ่าน รวมถึง : ใดๆ
host ที่อยู่เซิร์ฟเวอร์ ใส่ที่อยู่ IPv6 ในวงเล็บเหลี่ยม เช่น [2001:db8::1]
port พอร์ตเซิร์ฟเวอร์ เมื่อไม่ระบุ Potatso ใช้ 443
name ไม่บังคับ ชื่อของเซิร์ฟเวอร์ใน Potatso

พารามิเตอร์เป็นไปตามรูปแบบที่ Xray และ v2rayN ใช้:

พารามิเตอร์ คำอธิบาย
security tls (ค่าเริ่มต้น) หรือ reality
type การส่งผ่าน: tcp, ws, grpc, http (HTTP/2) หรือ httpupgrade
sni, peer ชื่อเซิร์ฟเวอร์ TLS
alpn รายการ ALPN คั่นด้วยจุลภาคและเข้ารหัสแบบ percent
fp ลายนิ้วมือเบราว์เซอร์
allowInsecure 1 ปิดการตรวจสอบใบรับรอง
host Host ของ HTTP สำหรับ WebSocket, HTTP/2 และ HTTP Upgrade
path เส้นทางสำหรับ WebSocket, HTTP/2 และ HTTP Upgrade เส้นทาง WebSocket เช่น /ws?ed=2048 เปิด early data
serviceName ชื่อบริการ gRPC
pbk, sid คีย์สาธารณะและ short ID ของ REALITY
ech การกำหนดค่า ECH เข้ารหัสด้วย Base64 และเข้ารหัสแบบ percent

Potatso ยังนำเข้าลิงก์ trojan-go:// ที่มี type=original (ไม่มีการส่งผ่าน) หรือ type=ws แต่ไม่นำเข้าลิงก์ที่มีพารามิเตอร์ encryption ซึ่งต้องใช้การเข้ารหัส Shadowsocks ของ trojan-go

เมื่อ Potatso แชร์เซิร์ฟเวอร์ Trojan จะเสนอลิงก์ trojan:// ที่มีพารามิเตอร์เดียวกัน

แต่ละตัวอย่างแสดงลิงก์ที่จะนำเข้า รหัสผ่านคือ secret

เซิร์ฟเวอร์พื้นฐาน:

trojan://secret@trojan.example.com:443?sni=trojan.example.com#Basic

WebSocket ผ่าน cdn.example.com:

trojan://secret@trojan.example.com:443?security=tls&type=ws&host=cdn.example.com&path=%2Fws#WebSocket

gRPC ที่มีชื่อบริการ TrojanGun:

trojan://secret@trojan.example.com:443?security=tls&type=grpc&serviceName=TrojanGun#gRPC

HTTP/2:

trojan://secret@trojan.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2

HTTP Upgrade:

trojan://secret@trojan.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#Upgrade

REALITY ที่ยืม www.example.com:

trojan://secret@trojan.example.com:443?security=reality&sni=www.example.com&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&fp=chrome#REALITY
การนำทาง

Type to search…

↑↓ navigate↵ selectEsc close