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

> Documentation Index
> Fetch the complete documentation index at: https://potatso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Trojan

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

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

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

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

## การส่งผ่าน {#transports}

| การส่งผ่าน | `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 {#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) | `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}

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

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

## การมัลติเพล็กซ์ {#mux}

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

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

## UDP {#udp}

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

## การรองรับฟีเจอร์ {#features}

| ฟีเจอร์ | รองรับ |
| --- | --- |
| [โปรโตคอล Trojan](https://trojan-gfw.github.io/trojan/protocol): แฮชรหัสผ่าน, `CONNECT` | ✅ |
| `UDP ASSOCIATE` ของ Trojan | ✅ |
| Trojan ที่ไม่มี TLS (`security=none`) | ❌ |
| หลายผู้ใช้บนเซิร์ฟเวอร์เดียว | ✅ แต่ละคนมีรหัสผ่านของตัวเอง |
| การส่งผ่าน WebSocket, gRPC, HTTP/2 และ HTTP Upgrade | ✅ ดู[การส่งผ่าน](#transports) |
| การส่งผ่าน XHTTP, mKCP และ QUIC | ❌ |
| [REALITY](#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](https://xtls.github.io/), [sing-box](https://sing-box.sagernet.org/) หรือ [trojan-go](https://p4gefau1t.github.io/trojan-go/)

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

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

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

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

## ลิงก์ `trojan://` {#links}

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

```text
trojan://password@host:port?parameters#name
```

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

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

| พารามิเตอร์ | คำอธิบาย |
| --- | --- |
| `security` | `tls` (ค่าเริ่มต้น) หรือ `reality` |
| `type` | [การส่งผ่าน](#transports): `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://` ที่มีพารามิเตอร์เดียวกัน

### ตัวอย่าง {#link-examples}

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

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

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

WebSocket ผ่าน `cdn.example.com`:

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

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

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

HTTP/2:

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

HTTP Upgrade:

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

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

```text
trojan://secret@trojan.example.com:443?security=reality&sni=www.example.com&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&fp=chrome#REALITY
```

Source: https://potatso.com/docs/th/protocols/trojan/index.mdx
