Сервер ShadowsocksR (SSR) описывается тремя настройками: шифром, протоколом и методом obfs (обфускации). Potatso подключается к серверу, только если поддерживает все три. Используйте таблицы ниже, чтобы проверить настройки своего сервера, показанные провайдером или в его ссылке ssr://.
Сервер SSR можно добавить вручную, с помощью ссылки ssr:// или из подписки Clash или Mihomo. Potatso сохраняет протокол и obfs, которые указывает ваш провайдер, включая формы _compatible.
Шифры
| Шифр | Поддержка |
|---|---|
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-рукопожатии.
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, например Host для http_simple. |
protoparam |
Параметр протокола, например uid:key для сервера с несколькими пользователями. |
remarks |
Название сервера в Potatso. |
Potatso игнорирует другие параметры, такие как group, udpport и uot, а также любое #name в конце ссылки. UDP не входит в ссылку: он включен по умолчанию, и после импорта его можно выключить.
Potatso принимает стандартный Base64 и Base64 для URL, с дополнением = и без него. Регистр в названиях не важен, поэтому AUTH_CHAIN_A работает так же, как auth_chain_a. Когда Potatso делится сервером, он записывает Base64 для URL без дополнения.
Примеры
В каждом примере сначала показан декодированный текст, затем ссылка для импорта. Пароль во всех примерах — secret.
Обычный сервер без плагина протокола и без обфускации:
ssr.example.com:8388:origin:aes-256-cfb:plain:c2VjcmV0/?remarks=QmFzaWMssr://c3NyLmV4YW1wbGUuY29tOjgzODg6b3JpZ2luOmFlcy0yNTYtY2ZiOnBsYWluOmMyVmpjbVYwLz9yZW1hcmtzPVFtRnphV00Обфускация TLS, имя сервера — cdn.example.com:
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://c3NyLmV4YW1wbGUuY29tOjgwODA6YXV0aF9jaGFpbl9hOm5vbmU6aHR0cF9zaW1wbGU6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZwcm90b3BhcmFtPU1qRTNNenAxYzJWeWEyVjUmcmVtYXJrcz1UWFZzZEdrdGRYTmxjZwСервер с адресом IPv6:
[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ngssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc