---
title: "ShadowsocksR"
description: "การเข้ารหัส โปรโตคอล และวิธีอำพรางของ ShadowsocksR ที่ 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.

# ShadowsocksR

เซิร์ฟเวอร์ ShadowsocksR (SSR) ถูกอธิบายด้วยการตั้งค่าสามอย่าง ได้แก่ **การเข้ารหัส** (cipher) **โปรโตคอล** (protocol) และวิธี **obfs** (การอำพราง) Potatso เชื่อมต่อกับเซิร์ฟเวอร์เมื่อรองรับทั้งสามอย่างเท่านั้น ใช้ตารางด้านล่างเพื่อตรวจสอบการตั้งค่าของเซิร์ฟเวอร์ ตามที่ผู้ให้บริการแจ้งหรือในลิงก์ `ssr://` ของเซิร์ฟเวอร์

คุณเพิ่มเซิร์ฟเวอร์ SSR ได้ด้วยตนเอง ด้วย[ลิงก์ `ssr://`](#links) หรือจากการสมัครรับ Clash หรือ Mihomo Potatso เก็บโปรโตคอลและ obfs ตามที่ผู้ให้บริการของคุณระบุ รวมถึงรูปแบบ `_compatible`

## การเข้ารหัส (Cipher) {#ciphers}

| การเข้ารหัส | รองรับ |
| --- | --- |
| `none` | ✅ |
| `aes-128-ctr`, `aes-192-ctr`, `aes-256-ctr` | ✅ |
| `aes-128-cfb`, `aes-192-cfb`, `aes-256-cfb` | ✅ |
| `camellia-128-cfb`, `camellia-192-cfb`, `camellia-256-cfb` | ✅ |
| `chacha20`, `chacha20-ietf` | ✅ |
| `salsa20` | ✅ |
| `bf-cfb` | ✅ |
| `rc4-md5` | ✅ |
| `cast5-cfb`, `des-cfb`, `idea-cfb`, `rc2-cfb`, `seed-cfb` | ✅ |
| `rc4-md5-6`, `table` | ✅ |
| `xchacha20`, `xsalsa20` | ❌ |

การเข้ารหัส AEAD เช่น `aes-256-gcm` เป็นการเข้ารหัสของ Shadowsocks ไม่ใช่ของ ShadowsocksR หากผู้ให้บริการของคุณระบุการเข้ารหัสนั้นสำหรับเซิร์ฟเวอร์ SSR ให้ตรวจสอบว่าเซิร์ฟเวอร์นั้นเป็นเซิร์ฟเวอร์ Shadowsocks จริงหรือไม่

## โปรโตคอล {#protocols}

| โปรโตคอล | รองรับ | หลายผู้ใช้ |
| --- | --- | --- |
| `origin` | ✅ | — |
| `verify_deflate` | ✅ | — |
| `auth_sha1`, `auth_sha1_v2` | เลิกใช้แล้ว (ไม่ได้ทดสอบกับเซิร์ฟเวอร์จริง) | — |
| `auth_sha1_v4` | ✅ | — |
| `auth_sha1_v4_compatible` | ✅ | — |
| `auth_aes128_md5` | ✅ | ✅ |
| `auth_aes128_sha1` | ✅ | ✅ |
| `auth_chain_a` | ✅ | ✅ |
| `auth_chain_b` | ✅ | ✅ |
| `verify_simple`, `verify_sha1`, `auth_simple` | เลิกใช้แล้ว (นำเข้าเป็น `origin`) | — |

เซิร์ฟเวอร์ **หลายผู้ใช้** แบ่งหนึ่งพอร์ตให้หลายผู้ใช้ สำหรับเซิร์ฟเวอร์เหล่านี้ ให้ตั้งพารามิเตอร์โปรโตคอล (`protocol-param` หรือ `protoparam` ในลิงก์ `ssr://`) เป็น `uid:key` โดยใช้ ID ผู้ใช้และคีย์จากผู้ให้บริการของคุณ

เซิร์ฟเวอร์ ShadowsocksR ปัจจุบันไม่มี `auth_sha1` และ `auth_sha1_v2` อีกต่อไป Potatso ยังเชื่อมต่อด้วยโปรโตคอลเหล่านี้ได้ แต่ยังไม่ได้ทดสอบกับเซิร์ฟเวอร์จริง จึงควรเลือกโปรโตคอลอื่นหากผู้ให้บริการของคุณมี

Potatso เวอร์ชันเก่าแสดง `verify_simple`, `verify_sha1` และ `auth_simple` ในรายการ แต่เชื่อมต่อด้วย `origin` เสมอ Potatso ยังนำเข้าโปรโตคอลเหล่านี้เป็น `origin` และแสดงคำเตือนเมื่อทำเช่นนั้น

## Obfs {#obfs}

| Obfs | รองรับ |
| --- | --- |
| `plain` | ✅ |
| `http_simple`, `http_simple_compatible` | ✅ |
| `http_post`, `http_post_compatible` | ✅ |
| `tls1.2_ticket_auth`, `tls1.2_ticket_auth_compatible` | ✅ |
| `tls1.2_ticket_fastauth`, `tls1.2_ticket_fastauth_compatible` | ✅ |
| `random_head`, `random_head_compatible` | ✅ เลิกใช้แล้ว |

ชื่อที่ลงท้าย `_compatible` หมายความว่าเซิร์ฟเวอร์ยอมรับไคลเอนต์ที่ไม่ใช้การอำพรางด้วย Potatso ใช้วิธี obfs ตามชื่อที่ระบุ คุณจึงคงชื่อที่ผู้ให้บริการให้มาไว้ได้

สำหรับวิธีแบบ HTTP พารามิเตอร์ obfs (`obfs-param` หรือ `obfsparam` ในลิงก์ `ssr://`) กำหนดส่วนหัว `Host` อาจเป็นโฮสต์เดียว รายการโฮสต์คั่นด้วยจุลภาค หรือชุดส่วนหัวที่กำหนดเอง เมื่อว่าง Potatso ใช้ที่อยู่ของเซิร์ฟเวอร์ สำหรับวิธีแบบ TLS พารามิเตอร์นี้กำหนดชื่อเซิร์ฟเวอร์ที่ส่งใน TLS handshake

## UDP {#udp}

UDP ใช้ได้กับทุกโปรโตคอลที่รองรับ และเปิดไว้โดยค่าเริ่มต้นสำหรับเซิร์ฟเวอร์ SSR ปิดในการตั้งค่าของเซิร์ฟเวอร์หากเซิร์ฟเวอร์ของคุณไม่รีเลย์ UDP

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

ลิงก์ `ssr://` เก็บเซิร์ฟเวอร์ทั้งตัวไว้ในบรรทัดเดียว ทุกอย่างหลัง `ssr://` เข้ารหัสด้วย Base64:

```text
ssr://base64(host:port:protocol:cipher:obfs:base64(password)/?obfsparam=…&protoparam=…&remarks=…)
```

ส่วนก่อน `/?` คือหกฟิลด์คั่นด้วยเครื่องหมายทวิภาค:

| ฟิลด์ | คำอธิบาย |
| --- | --- |
| `host` | ที่อยู่เซิร์ฟเวอร์ ใส่ที่อยู่ IPv6 ในวงเล็บเหลี่ยม เช่น `[2001:db8::1]` |
| `port` | พอร์ตเซิร์ฟเวอร์ |
| `protocol` | หนึ่งใน[โปรโตคอล](#protocols)ข้างต้น หากว่าง Potatso ใช้ `origin` |
| `cipher` | หนึ่งใน[การเข้ารหัส](#ciphers)ข้างต้น จำเป็น |
| `obfs` | หนึ่งใน[วิธี obfs](#obfs)ข้างต้น หากว่าง Potatso ใช้ `plain` |
| `password` | รหัสผ่าน เข้ารหัสด้วย Base64 |

ส่วนหลัง `/?` เป็นตัวเลือก แต่ละค่าเข้ารหัสด้วย Base64:

| พารามิเตอร์ | คำอธิบาย |
| --- | --- |
| `obfsparam` | พารามิเตอร์ obfs เช่น `Host` สำหรับ `http_simple` |
| `protoparam` | พารามิเตอร์โปรโตคอล เช่น `uid:key` สำหรับเซิร์ฟเวอร์หลายผู้ใช้ |
| `remarks` | ชื่อของเซิร์ฟเวอร์ใน Potatso |

Potatso ไม่สนใจพารามิเตอร์อื่น เช่น `group`, `udpport` และ `uot` และ `#name` ที่ท้ายลิงก์ UDP ไม่ได้เป็นส่วนของลิงก์: เปิดไว้โดยค่าเริ่มต้น และคุณปิดได้หลังนำเข้า

Potatso ยอมรับ Base64 มาตรฐานและแบบ URL-safe ทั้งแบบมีและไม่มีการเติม `=` ชื่อไม่แยกตัวพิมพ์เล็กใหญ่ ดังนั้น `AUTH_CHAIN_A` ใช้ได้เหมือน `auth_chain_a` เมื่อ Potatso แชร์เซิร์ฟเวอร์ จะเขียน Base64 แบบ URL-safe โดยไม่เติม `=`

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

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

เซิร์ฟเวอร์พื้นฐานที่ไม่มีปลั๊กอินโปรโตคอลและไม่มีการอำพราง:

```text
ssr.example.com:8388:origin:aes-256-cfb:plain:c2VjcmV0/?remarks=QmFzaWM
```

```text
ssr://c3NyLmV4YW1wbGUuY29tOjgzODg6b3JpZ2luOmFlcy0yNTYtY2ZiOnBsYWluOmMyVmpjbVYwLz9yZW1hcmtzPVFtRnphV00
```

การอำพราง TLS โดยใช้ `cdn.example.com` เป็นชื่อเซิร์ฟเวอร์:

```text
ssr.example.com:443:auth_aes128_md5:chacha20-ietf:tls1.2_ticket_auth:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&remarks=VExTIG9iZnM
```

```text
ssr://c3NyLmV4YW1wbGUuY29tOjQ0MzphdXRoX2FlczEyOF9tZDU6Y2hhY2hhMjAtaWV0Zjp0bHMxLjJfdGlja2V0X2F1dGg6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZyZW1hcmtzPVZFeFRJRzlpWm5N
```

เซิร์ฟเวอร์หลายผู้ใช้: ผู้ใช้ `2173` กับคีย์ `userkey` การเข้ารหัส `none` และการอำพราง HTTP:

```text
ssr.example.com:8080:auth_chain_a:none:http_simple:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&protoparam=MjE3Mzp1c2Vya2V5&remarks=TXVsdGktdXNlcg
```

```text
ssr://c3NyLmV4YW1wbGUuY29tOjgwODA6YXV0aF9jaGFpbl9hOm5vbmU6aHR0cF9zaW1wbGU6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZwcm90b3BhcmFtPU1qRTNNenAxYzJWeWEyVjUmcmVtYXJrcz1UWFZzZEdrdGRYTmxjZw
```

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

```text
[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ng
```

```text
ssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc
```

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