---
title: "AnyTLS"
description: "การตั้งค่า TLS ลิงก์ และฟีเจอร์ของ AnyTLS ที่ 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.

# AnyTLS

เซิร์ฟเวอร์ AnyTLS ถูกอธิบายด้วย **รหัสผ่าน** และ **การตั้งค่า TLS** AnyTLS ทำงานภายใน TLS และเติม padding ให้ทราฟฟิก การเชื่อมต่อจึงดูเหมือนการเข้าชม HTTPS ทั่วไป และไม่แสดงสัญญาณปกติของพร็อกซีภายใน TLS Potatso เชื่อมต่อกับเซิร์ฟเวอร์เมื่อรองรับการตั้งค่า TLS ของเซิร์ฟเวอร์ ใช้ตารางด้านล่างเพื่อตรวจสอบการตั้งค่าของเซิร์ฟเวอร์ ตามที่ผู้ให้บริการแจ้งหรือในลิงก์ `anytls://` ของเซิร์ฟเวอร์

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

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

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

## TLS {#tls}

| การตั้งค่า | คีย์ของ Clash | พารามิเตอร์ของลิงก์ | รองรับ |
| --- | --- | --- | --- |
| ชื่อเซิร์ฟเวอร์ (SNI) | `sni` | `sni` | ✅ หากไม่ระบุ Potatso ใช้ที่อยู่ของเซิร์ฟเวอร์ |
| ALPN | `alpn` | `alpn` | ✅ หากไม่ระบุ Potatso ไม่ส่งอะไร เหมือนที่ Clash ทำ |
| ข้ามการตรวจสอบใบรับรอง | `skip-cert-verify` | `insecure` | ✅ |
| การปักหมุดใบรับรอง (SHA-256) | `fingerprint` | `hpkp` | ✅ |
| ลายนิ้วมือเบราว์เซอร์ | `client-fingerprint` | `fp` | ✅ `chrome`, `firefox`, `safari`, `ios`, `android`, `edge` และ `random` ชื่ออื่นจะเชื่อมต่อด้วย handshake เริ่มต้น |
| [REALITY](#reality) | `reality-opts` | | ✅ |
| Encrypted Client Hello (ECH) | `ech-opts` | | ✅ เมื่อมีการกำหนดค่า ECH ในการสมัครรับ หรือค้นหาจาก DNS |
| ใบรับรอง CA ที่กำหนดเอง | | | ❌ |
| ใบรับรองไคลเอนต์ TLS | `certificate`, `private-key` | | ❌ |

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

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

Potatso ไม่นำเข้าเซิร์ฟเวอร์ที่ต้องใช้ใบรับรองไคลเอนต์ TLS เพราะเซิร์ฟเวอร์จะปฏิเสธการเชื่อมต่อ

### REALITY {#reality}

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

## การเชื่อมต่อ {#connections}

AnyTLS ใช้การเชื่อมต่อ TLS ซ้ำ: เมื่อการเชื่อมต่อไปยังเว็บไซต์สิ้นสุด การเชื่อมต่อถัดไปจะใช้การเชื่อมต่อ TLS เดิมแทนที่จะเปิดใหม่ การเชื่อมต่อ TLS แต่ละครั้งรับหนึ่งการเชื่อมต่อในแต่ละขณะ ดังนั้นการเชื่อมต่อหลายอย่างพร้อมกันจึงเปิดการเชื่อมต่อ TLS หลายครั้ง ซึ่งจะถูกใช้ซ้ำภายหลัง

| การตั้งค่า | คีย์ของ Clash | รองรับ |
| --- | --- | --- |
| ตรวจสอบการเชื่อมต่อที่ว่างบ่อยแค่ไหน | `idle-session-check-interval` | ✅ เป็นวินาที ค่าเริ่มต้น 30 |
| การเชื่อมต่อที่ว่างเปิดอยู่นานเท่าใด | `idle-session-timeout` | ✅ เป็นวินาที ค่าเริ่มต้น 60 |
| มีการเชื่อมต่อที่ว่างเปิดอยู่กี่รายการ | `min-idle-session` | ✅ ค่าเริ่มต้น 1 |

ค่า 5 วินาทีหรือน้อยกว่าหมายถึง 30 เหมือนใน Clash การตั้งค่าเหล่านี้มาจากการสมัครรับ Clash Potatso ใช้ค่าเริ่มต้นสำหรับเซิร์ฟเวอร์ที่คุณเพิ่มด้วยตนเองหรือด้วยลิงก์

`reuse=false` ในการกำหนดค่า Surge ไม่มีผล: Potatso ใช้การเชื่อมต่อซ้ำเสมอ ตามข้อกำหนดของ AnyTLS Potatso นำเข้าเซิร์ฟเวอร์และแสดงคำเตือน

## Padding {#padding}

AnyTLS เติม padding ที่จุดเริ่มต้นของทุกการเชื่อมต่อเพื่อซ่อนขนาดที่เผยว่าเป็นพร็อกซี เซิร์ฟเวอร์ส่งรูปแบบ padding ของตัวเองได้ Potatso ใช้รูปแบบนั้นตั้งแต่การเชื่อมต่อ TLS ครั้งถัดไป ตามที่ AnyTLS กำหนด ไม่มีอะไรต้องตั้งค่าบนอุปกรณ์ของคุณ

## UDP {#udp}

AnyTLS นำ UDP ภายในการเชื่อมต่อ TLS (UDP over TCP) UDP ปิดไว้โดยค่าเริ่มต้น เหมือนใน Clash เปิด UDP Relay ในการตั้งค่าของเซิร์ฟเวอร์หากเซิร์ฟเวอร์ของคุณรีเลย์ UDP การสมัครรับ Clash เปิดด้วย `udp: true` และการกำหนดค่า Surge เปิดเสมอ

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

| ฟีเจอร์ | รองรับ |
| --- | --- |
| [โปรโตคอล AnyTLS](https://github.com/anytls/anytls-go/blob/main/docs/protocol.md) v2: รหัสผ่าน, padding, การใช้การเชื่อมต่อซ้ำ | ✅ |
| รูปแบบ padding ที่เซิร์ฟเวอร์ส่งมา | ✅ |
| UDP over TCP | ✅ |
| [การตั้งค่าการเชื่อมต่อที่ว่าง](#connections) | ✅ |
| REALITY, ECH | ✅ |
| การปักหมุดใบรับรอง ลายนิ้วมือเบราว์เซอร์ | ✅ |
| CA ที่กำหนดเอง, ใบรับรองไคลเอนต์ TLS | ❌ |
| ลิงก์ `anytls://` | ✅ |

ทุกฟีเจอร์ที่รองรับได้รับการทดสอบกับเซิร์ฟเวอร์ AnyTLS จริงอย่างน้อยหนึ่งตัว: [anytls-go](https://github.com/anytls/anytls-go), [sing-box](https://sing-box.sagernet.org/) หรือ [mihomo](https://wiki.metacubex.one/)

เมื่อรหัสผ่านผิด เซิร์ฟเวอร์จะปิดการเชื่อมต่อ ตรวจสอบรหัสผ่านก่อนเมื่อเซิร์ฟเวอร์ AnyTLS เชื่อมต่อไม่ได้เลย

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

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

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

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

พารามิเตอร์เป็นไปตาม[รูปแบบของ anytls-go](https://github.com/anytls/anytls-go/blob/main/docs/uri_scheme.md) บวกอีกไม่กี่รายการที่บางแอปเพิ่ม:

| พารามิเตอร์ | คำอธิบาย |
| --- | --- |
| `sni` | ชื่อเซิร์ฟเวอร์ TLS |
| `insecure` | `1` ปิดการตรวจสอบใบรับรอง |
| `alpn` | รายการ ALPN คั่นด้วยจุลภาคและเข้ารหัสแบบ percent |
| `fp` | ลายนิ้วมือเบราว์เซอร์ |
| `hpkp` | SHA-256 ของใบรับรองเซิร์ฟเวอร์ |

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

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

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

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

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

ใบรับรองที่ลงนามด้วยตัวเอง โดยไม่ตรวจสอบ:

```text
anytls://secret@203.0.113.7/?insecure=1#Self-signed
```

ลายนิ้วมือ Chrome รายการ ALPN และใบรับรองที่ปักหมุดไว้:

```text
anytls://secret@anytls.example.com:443/?sni=anytls.example.com&alpn=h2%2Chttp%2F1.1&fp=chrome&hpkp=abababababababababababababababababababababababababababababababab#Shaped
```

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