Skip to content

ShadowsocksR

การเข้ารหัส โปรโตคอล และวิธีอำพรางของ ShadowsocksR ที่ Potatso รองรับ

Updated ดูเป็น Markdown

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

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

การเข้ารหัส (Cipher)

การเข้ารหัส รองรับ
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 จริงหรือไม่

โปรโตคอล

โปรโตคอล รองรับ หลายผู้ใช้
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 รองรับ
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 ใช้ได้กับทุกโปรโตคอลที่รองรับ และเปิดไว้โดยค่าเริ่มต้นสำหรับเซิร์ฟเวอร์ SSR ปิดในการตั้งค่าของเซิร์ฟเวอร์หากเซิร์ฟเวอร์ของคุณไม่รีเลย์ UDP

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

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

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

ฟิลด์ คำอธิบาย
host ที่อยู่เซิร์ฟเวอร์ ใส่ที่อยู่ IPv6 ในวงเล็บเหลี่ยม เช่น [2001:db8::1]
port พอร์ตเซิร์ฟเวอร์
protocol หนึ่งในโปรโตคอลข้างต้น หากว่าง Potatso ใช้ origin
cipher หนึ่งในการเข้ารหัสข้างต้น จำเป็น
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 โดยไม่เติม =

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

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

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

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

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

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

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

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

[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ng
ssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc
การนำทาง

Type to search…

↑↓ navigate↵ selectEsc close