---
title: "SOCKS5 และ SOCKS5 over TLS"
description: "ตัวเลือก SOCKS5 และ SOCKS5 over TLS ลิงก์ และฟีเจอร์ที่ 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.

# SOCKS5 และ SOCKS5 over TLS

เซิร์ฟเวอร์ SOCKS5 เปิดการเชื่อมต่อให้คุณและรีเลย์ UDP ทั้งแบบมีและไม่มีชื่อผู้ใช้และรหัสผ่าน ([RFC 1928](https://www.rfc-editor.org/rfc/rfc1928)) **SOCKS5 over TLS** คือเซิร์ฟเวอร์เดียวกันที่เข้าถึงผ่าน TLS การเชื่อมต่อไปยังเซิร์ฟเวอร์จึงถูกเข้ารหัสด้วย

Potatso ส่งชื่อของเว็บไซต์ที่คุณเข้าชมให้เซิร์ฟเวอร์ ไม่ใช่ที่อยู่ของมัน และเซิร์ฟเวอร์เป็นผู้ค้นหาชื่อนั้น สิ่งนี้คือสิ่งที่แอปอื่นเรียกว่า `socks5h` หรือ remote DNS

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

- การสมัครรับ Clash หรือ Mihomo (`type: socks5`)
- การกำหนดค่า Surge (`socks5` และ `socks5-tls`)
- การกำหนดค่า Xray หรือ V2Ray (ขาออก `socks` ทั้งแบบมีและไม่มี TLS)

หากต้องการเพิ่มเซิร์ฟเวอร์ SOCKS5 over TLS ด้วยตนเอง ให้เลือก **SOCKS5** และเปิด **TLS**

## การตั้งค่า {#settings}

| การตั้งค่า | คำอธิบาย |
| --- | --- |
| เซิร์ฟเวอร์ พอร์ต | ที่อยู่และพอร์ตของเซิร์ฟเวอร์ ที่อยู่ IPv6 ก็ใช้ได้ |
| การยืนยันตัวตน | ไม่มี หรือชื่อผู้ใช้และรหัสผ่าน |
| ชื่อผู้ใช้ รหัสผ่าน | ไม่เกิน 255 ไบต์ต่อรายการ |
| UDP Relay | เปิดไว้โดยค่าเริ่มต้น ดู [UDP](#udp) |
| TLS | เปิดสำหรับ SOCKS5 over TLS |
| ข้ามการตรวจสอบใบรับรอง | เฉพาะ SOCKS5 over TLS ยอมรับใบรับรองใดก็ได้ ใช้เพื่อการทดสอบเท่านั้น |
| การปักหมุดใบรับรอง | เฉพาะ SOCKS5 over TLS ไม่บังคับ ลายนิ้วมือ SHA-256 ของใบรับรองเซิร์ฟเวอร์ เป็นเลขฐานสิบหก 64 หลัก เมื่อปักหมุด Potatso ยอมรับใบรับรองที่ปักหมุดไว้ รวมถึงใบรับรองที่ลงนามด้วยตัวเอง และไม่ยอมรับอย่างอื่น |

หากเซิร์ฟเวอร์ขอชื่อผู้ใช้และรหัสผ่านและคุณยังไม่ได้ตั้งค่า Potatso จะไม่เชื่อมต่อ Potatso ไม่รองรับการยืนยันตัวตนแบบ GSSAPI (Kerberos)

เซิร์ฟเวอร์ Clash หรือ Mihomo ที่มี `username` ว่างจะถูกนำเข้าโดยไม่มีการยืนยันตัวตน เหมือนที่ Clash ทำ

### ใบรับรอง {#certificates}

กับ SOCKS5 over TLS ชื่อเซิร์ฟเวอร์ใน TLS handshake คือที่อยู่ของเซิร์ฟเวอร์เสมอ และใบรับรองของเซิร์ฟเวอร์ต้องใช้ได้กับที่อยู่นั้น หากไม่ใช่ ให้ตั้ง[การปักหมุดใบรับรอง](#settings)หรือเปิด **ข้ามการตรวจสอบใบรับรอง** คุณตั้งชื่อเซิร์ฟเวอร์อื่นไม่ได้: Potatso ไม่นำเข้าลิงก์ เซิร์ฟเวอร์ Surge หรือเซิร์ฟเวอร์ Xray ที่มีชื่อดังกล่าว Clash และ Mihomo ไม่มีชื่อเซิร์ฟเวอร์สำหรับ SOCKS5 Potatso จึงไม่สนใจ `sni` ตรงนั้น เหมือนที่สองโปรแกรมนั้นทำ

Potatso ไม่รองรับ:

- ใบรับรอง CA ที่กำหนดเอง: ให้ปักหมุดใบรับรองของเซิร์ฟเวอร์แทน
- ใบรับรองไคลเอนต์ TLS (`certificate` และ `private-key` ของ Clash) หรือชื่ออื่นที่ใช้ตรวจสอบใบรับรอง (`name-cert-verify`): Potatso ไม่นำเข้าเซิร์ฟเวอร์ที่ต้องใช้
- รายการ ALPN: Potatso นำเข้าเซิร์ฟเวอร์โดยไม่มีรายการนี้

## UDP {#udp}

UDP ถูกใช้โดย QUIC การโทรด้วยเสียงและวิดีโอ และเกมจำนวนมาก เมื่อเปิด **UDP Relay** Potatso ส่ง UDP ผ่านเซิร์ฟเวอร์ (UDP ASSOCIATE) ไปยังที่อยู่ IPv4 และ IPv6 และใช้ได้กับเซิร์ฟเวอร์ที่อยู่หลัง NAT ซึ่งรายงานที่อยู่ของตนเป็น `0.0.0.0` ด้วย: Potatso ส่ง UDP ไปยังที่อยู่ที่คุณตั้งไว้

ปิด UDP Relay หากเซิร์ฟเวอร์ของคุณไม่รีเลย์ UDP จากนั้น:

- เมื่อใช้กฎ Potatso ข้ามกฎที่ส่ง UDP ไปยังเซิร์ฟเวอร์นี้ และกฎถัดไปที่ตรงจะเป็นผู้ตัดสิน UDP ที่ไม่มีกฎอื่นตรงจะถูกส่งตรง
- ในโหมดโกลบอล UDP ใช้ไม่ได้ เพราะทราฟฟิกทั้งหมดต้องผ่านเซิร์ฟเวอร์

สิ่งที่ควรรู้เกี่ยวกับ UDP:

- UDP ถูกรีเลย์ผ่านพอร์ต UDP แยกต่างหากของเซิร์ฟเวอร์ ไฟร์วอลล์ของเซิร์ฟเวอร์จึงต้องปล่อย UDP ผ่าน
- กับ SOCKS5 over TLS เฉพาะการเชื่อมต่อไปยังเซิร์ฟเวอร์เท่านั้นที่ถูกเข้ารหัส SOCKS5 ส่ง UDP นอก TLS ทราฟฟิก UDP ของคุณจึงถึงเซิร์ฟเวอร์โดยไม่เข้ารหัส
- สำหรับ UDP Potatso ค้นหาที่อยู่ของเว็บไซต์เอง แล้วส่งที่อยู่ให้เซิร์ฟเวอร์
- เมื่อคุณนำเข้าจาก Clash, Mihomo หรือ Surge UDP Relay จะเปิด เว้นแต่เซิร์ฟเวอร์ตั้ง `udp: false` (`udp-relay=false` ใน Surge) Clash ปิด UDP เมื่อไม่มี `udp` ดังนั้นให้ตรวจสอบว่าเซิร์ฟเวอร์ของคุณรีเลย์ UDP

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

| ฟีเจอร์ | รองรับ |
| --- | --- |
| `CONNECT` ไปยังเป้าหมายแบบ IPv4, IPv6 และโดเมน ([RFC 1928](https://www.rfc-editor.org/rfc/rfc1928)) | ✅ |
| Remote DNS: เซิร์ฟเวอร์ค้นหาชื่อโดเมน (`socks5h`) | ✅ สำหรับ TCP |
| ไม่มีการยืนยันตัวตน | ✅ |
| ชื่อผู้ใช้และรหัสผ่าน ([RFC 1929](https://www.rfc-editor.org/rfc/rfc1929)) | ✅ |
| GSSAPI ([RFC 1961](https://www.rfc-editor.org/rfc/rfc1961)) | ❌ |
| `UDP ASSOCIATE` ไปยังเป้าหมายแบบ IPv4 และ IPv6 | ✅ |
| UDP กับเซิร์ฟเวอร์ที่อยู่หลัง NAT (ที่อยู่รีเลย์ `0.0.0.0`) | ✅ |
| การแบ่งส่วน UDP | ❌ ดาตาแกรมที่ถูกแบ่งส่วนจะถูกทิ้ง ซึ่ง RFC 1928 อนุญาต |
| `BIND` (การเชื่อมต่อขาเข้า เช่น FTP แบบ active-mode) | ❌ |
| SOCKS5 over TLS | ✅ พร้อมการปักหมุดใบรับรองและการข้ามการตรวจสอบใบรับรอง |
| ชื่อเซิร์ฟเวอร์ TLS ที่ไม่ใช่ที่อยู่เซิร์ฟเวอร์, ALPN, CA ที่กำหนดเอง, ใบรับรองไคลเอนต์ | ❌ |
| UDP ที่เข้ารหัสด้วย TLS | ❌ SOCKS5 ส่ง UDP นอก TLS |
| ที่อยู่เซิร์ฟเวอร์แบบ IPv6 | ✅ |
| SOCKS4 และ SOCKS4a | ❌ |

ทุกฟีเจอร์ที่รองรับได้รับการทดสอบกับเซิร์ฟเวอร์ SOCKS5 จริง: [Xray](https://xtls.github.io/), [sing-box](https://sing-box.sagernet.org/), [Mihomo](https://wiki.metacubex.one/), [3proxy](https://3proxy.org/) และ [microsocks](https://github.com/rofl0r/microsocks) sing-box ให้บริการ SOCKS5 over TLS บนขาเข้า `mixed` ไม่ใช่ขาเข้า `socks`

## ลิงก์ {#links}

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

```text
socks5://user:password@host:port#name
socks5+tls://user:password@host:port?insecure=1#name
```

| ส่วน | คำอธิบาย |
| --- | --- |
| scheme | `socks5://`, `socks://` หรือ `socks5h://` สำหรับ SOCKS5 และ `socks5+tls://` หรือ `socks+tls://` สำหรับ SOCKS5 over TLS Potatso ส่งชื่อโดเมนให้เซิร์ฟเวอร์เสมอ ดังนั้น `socks5h://` ใช้ได้เหมือน `socks5://` |
| `user:password` | ไม่บังคับ เข้ารหัสแบบ percent สำหรับ `:`, `@` และอักขระพิเศษอื่นในรหัสผ่าน เช่น `p%3Ass` สำหรับ `p:ss` ชื่อผู้ใช้มี `:` ไม่ได้ |
| `host` | ที่อยู่เซิร์ฟเวอร์ ใส่ที่อยู่ IPv6 ในวงเล็บเหลี่ยม เช่น `[2001:db8::1]` |
| `port` | พอร์ตเซิร์ฟเวอร์ |
| `insecure` | เฉพาะ SOCKS5 over TLS ไม่บังคับ `1` เปิดการข้ามการตรวจสอบใบรับรอง Potatso อ่าน `allowInsecure` และ `skip-cert-verify` ด้วย |
| `name` | ไม่บังคับ ชื่อของเซิร์ฟเวอร์ใน Potatso |

ลิงก์เก็บการปักหมุดใบรับรองไม่ได้ ลิงก์ที่มี `sni` ซึ่งไม่ใช่ที่อยู่เซิร์ฟเวอร์จะไม่ถูกนำเข้า

Potatso ยังนำเข้าอีกสองรูปแบบ:

```text
socks://base64(user:password)@host:port#name
socks5://base64(user:password@host:port)#name
```

รูปแบบแรกคือวิธีที่ v2rayN แชร์เซิร์ฟเวอร์ SOCKS รูปแบบที่สองคือรูปแบบเก่า ซึ่งทุกอย่างระหว่าง `://` และ `#` เข้ารหัสด้วย Base64 เมื่อ Potatso แชร์เซิร์ฟเวอร์ SOCKS5 ที่มีรหัสผ่าน จะเสนอลิงก์มาตรฐานและรูปแบบ v2rayN

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

เซิร์ฟเวอร์ที่ไม่มีรหัสผ่าน:

```text
socks5://proxy.example.com:1080#Open
```

เซิร์ฟเวอร์ที่มีชื่อผู้ใช้ `alice` และรหัสผ่าน `s3cret`:

```text
socks5://alice:s3cret@proxy.example.com:1080#Auth
```

รหัสผ่าน `p:ss wörd` เข้ารหัสแบบ percent:

```text
socks5://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:1080#Encoded
```

เซิร์ฟเวอร์เดียวกันในรูปแบบลิงก์ `socks5h://`:

```text
socks5h://alice:s3cret@proxy.example.com:1080#Remote-DNS
```

รูปแบบ v2rayN โดย `alice:s3cret` เข้ารหัสด้วย Base64:

```text
socks://YWxpY2U6czNjcmV0@proxy.example.com:1080#v2rayN
```

รูปแบบเก่า:

```text
socks5://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjEwODA#Legacy
```

เซิร์ฟเวอร์ที่มีที่อยู่ IPv6:

```text
socks5://[2001:db8::1]:1080#IPv6
```

เซิร์ฟเวอร์ SOCKS5 over TLS:

```text
socks5+tls://alice:s3cret@proxy.example.com:443#TLS
```

เซิร์ฟเวอร์ SOCKS5 over TLS ที่ใช้ใบรับรองที่ลงนามด้วยตัวเอง:

```text
socks+tls://proxy.example.com:443?insecure=1#Self-signed
```

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