ShadowsocksR(SSR) 서버는 암호화 방식, 프로토콜, Obfs(난독화) 방식의 세 가지 설정으로 정의됩니다. Potatso는 세 가지를 모두 지원할 때만 서버에 연결합니다. 제공업체가 알려 준 내용이나 ssr:// 링크에 나온 서버 설정을 아래 표로 확인하세요.
SSR 서버는 직접 추가하거나, ssr:// 링크로 추가하거나, Clash 또는 Mihomo 구독에서 추가할 수 있습니다. Potatso는 _compatible 형식을 포함해 제공업체가 지정한 프로토콜과 Obfs를 그대로 유지합니다.
암호화 방식
| 암호화 방식 | 지원 |
|---|---|
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 |
❌ |
aes-256-gcm 같은 AEAD 암호화 방식은 ShadowsocksR이 아니라 Shadowsocks의 암호화 방식입니다. 제공업체가 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, ssr:// 링크에서는 protoparam)를 제공업체가 알려 준 사용자 ID와 키를 사용해 uid:key로 설정하세요.
현재의 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, ssr:// 링크에서는 obfsparam)가 Host 헤더를 설정합니다. 호스트 하나, 쉼표로 구분한 호스트 목록, 사용자 지정 헤더 블록이 될 수 있습니다. 비어 있으면 Potatso가 서버 주소를 사용합니다. TLS 방식에서는 TLS 핸드셰이크에서 보내는 서버 이름을 설정합니다.
UDP
UDP는 지원하는 모든 프로토콜에서 작동하며 SSR 서버에서 기본으로 켜져 있습니다. 서버가 UDP를 중계하지 않으면 서버 설정에서 끄세요.
ssr:// 링크
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 매개변수. 예: http_simple의 Host. |
protoparam |
프로토콜 매개변수. 예: 다중 사용자 서버의 uid:key. |
remarks |
Potatso에서 표시할 서버 이름. |
Potatso는 group, udpport, uot 같은 다른 매개변수와 링크 끝의 #name을 무시합니다. UDP는 링크에 포함되지 않습니다. 기본으로 켜져 있으며 가져온 후에 끌 수 있습니다.
Potatso는 표준 및 URL-safe Base64를 = 패딩 유무와 관계없이 받아들입니다. 이름은 대소문자를 구분하지 않으므로 AUTH_CHAIN_A도 auth_chain_a와 똑같이 작동합니다. Potatso가 서버를 공유할 때는 패딩 없는 URL-safe Base64로 씁니다.
예시
각 예시는 디코딩한 텍스트를 먼저 보여 주고 이어서 가져올 링크를 보여 줍니다. 모든 예시의 암호는 secret입니다.
프로토콜 플러그인도 난독화도 없는 기본 서버:
ssr.example.com:8388:origin:aes-256-cfb:plain:c2VjcmV0/?remarks=QmFzaWMssr://c3NyLmV4YW1wbGUuY29tOjgzODg6b3JpZ2luOmFlcy0yNTYtY2ZiOnBsYWluOmMyVmpjbVYwLz9yZW1hcmtzPVFtRnphV00서버 이름으로 cdn.example.com을 쓰는 TLS 난독화:
ssr.example.com:443:auth_aes128_md5:chacha20-ietf:tls1.2_ticket_auth:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&remarks=VExTIG9iZnMssr://c3NyLmV4YW1wbGUuY29tOjQ0MzphdXRoX2FlczEyOF9tZDU6Y2hhY2hhMjAtaWV0Zjp0bHMxLjJfdGlja2V0X2F1dGg6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZyZW1hcmtzPVZFeFRJRzlpWm5N다중 사용자 서버: 사용자 2173, 키 userkey, none 암호화 방식, HTTP 난독화:
ssr.example.com:8080:auth_chain_a:none:http_simple:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&protoparam=MjE3Mzp1c2Vya2V5&remarks=TXVsdGktdXNlcgssr://c3NyLmV4YW1wbGUuY29tOjgwODA6YXV0aF9jaGFpbl9hOm5vbmU6aHR0cF9zaW1wbGU6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZwcm90b3BhcmFtPU1qRTNNenAxYzJWeWEyVjUmcmVtYXJrcz1UWFZzZEdrdGRYTmxjZwIPv6 주소를 쓰는 서버:
[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ngssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc