Skip to content

Shadowsocks

Шифри, плагіни, посилання та можливості Shadowsocks, які підтримує Potatso на iPhone та iPad.

Updated Відкрити як Markdown

Сервер Shadowsocks описують шифр і пароль, а також, за потреби, плагін, що маскує з’єднання. Potatso під’єднується до сервера, коли підтримує шифр і, якщо він є, плагін. Скористайтеся таблицями нижче, щоб перевірити параметри свого сервера, як їх показує ваш постачальник або вказано в його посиланні ss://.

Сервер Shadowsocks можна додати вручну, через посилання ss:// або імпортом:

  • підписки Clash чи Mihomo,
  • онлайн-конфігурації SIP008 із файлу або за посиланням,
  • config.json від shadowsocks-rust чи shadowsocks-libev,
  • конфігурації Surge або конфігурації Xray чи V2Ray.

Шифри

Віддавайте перевагу шифру 2022, якщо ваш сервер його пропонує, а потім шифру AEAD. Потокові шифри мають відомі вразливості: використовуйте їх лише із серверами, що не пропонують нічого іншого.

Шифр Вид Підтримується
2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm 2022 ✅ З кількома користувачами
2022-blake3-chacha20-poly1305, 2022-blake3-chacha8-poly1305 2022 ✅
aes-128-gcm, aes-192-gcm, aes-256-gcm AEAD ✅
chacha20-ietf-poly1305, xchacha20-ietf-poly1305 AEAD ✅
aes-128-ccm, aes-256-ccm, aes-128-gcm-siv, aes-256-gcm-siv AEAD ✅
sm4-gcm, sm4-ccm AEAD ✅
aes-128-ctr, aes-192-ctr, aes-256-ctr Потоковий ✅
aes-128-cfb, aes-192-cfb, aes-256-cfb (також записують -cfb128) Потоковий ✅
aes-128-cfb1, aes-192-cfb1, aes-256-cfb1 Потоковий ✅
aes-128-cfb8, aes-192-cfb8, aes-256-cfb8 Потоковий ✅
aes-128-ofb, aes-192-ofb, aes-256-ofb Потоковий ✅
camellia-128-ctr, camellia-192-ctr, camellia-256-ctr Потоковий ✅
camellia-128-cfb, camellia-192-cfb, camellia-256-cfb (також записують -cfb128) Потоковий ✅
camellia-128-cfb1, camellia-192-cfb1, camellia-256-cfb1 Потоковий ✅
camellia-128-cfb8, camellia-192-cfb8, camellia-256-cfb8 Потоковий ✅
camellia-128-ofb, camellia-192-ofb, camellia-256-ofb Потоковий ✅
chacha20-ietf, chacha20, salsa20 Потоковий ✅
bf-cfb, rc4-md5, rc4, table Потоковий ✅
none (також записують plain) Без шифрування ✅
cast5-cfb, des-cfb, idea-cfb, rc2-cfb, seed-cfb, rc4-md5-6 Потоковий ❌ Лише ShadowsocksR
xchacha20, xsalsa20 Потоковий ❌

Регістр у назвах не має значення, тож AES-256-GCM працює так само, як aes-256-gcm.

none надсилає ваш трафік без шифрування. Використовуйте його лише з плагіном, який сам шифрує з’єднання, наприклад v2ray-plugin із TLS.

Кожен підтримуваний шифр перевірено принаймні на одному справжньому сервері Shadowsocks: shadowsocks-rust, sing-box або оригінальному сервері на Python. З наведених вище шифрів AEAD лише сервери shadowsocks-rust пропонують aes-*-ccm, aes-*-gcm-siv і sm4-*, і мало хто з постачальників їх використовує.

Ключі 2022

Шифри 2022 (SIP022) не використовують пароль. Вони використовують ключ: випадкові байти, закодовані в Base64, потрібної шифру довжини. 2022-blake3-aes-128-gcm потребує 16-байтового ключа, а решта шифрів 2022 — 32-байтового. Використовуйте ключ точно таким, як він є на вашому сервері.

Potatso не під’єднується з ключем неправильної довжини або з паролем, який не є Base64. Щоб створити новий ключ для свого сервера, виконайте openssl rand -base64 16 для 2022-blake3-aes-128-gcm або openssl rand -base64 32 для інших шифрів 2022.

Сервери з кількома користувачами

Сервер 2022 може ділити один порт між кількома користувачами (SIP023). Кожен користувач має власний ключ. Для таких серверів задайте пароль як ключ сервера та ваш ключ користувача, розділені двокрапкою:

server-key:user-key

Сервери з кількома користувачами підтримують лише 2022-blake3-aes-128-gcm і 2022-blake3-aes-256-gcm.

Плагіни

Плагін обгортає з’єднання Shadowsocks, щоб його було важче виявити. Ці плагіни вбудовано в Potatso, тож нічого додаткового встановлювати не потрібно.

Плагін Назви плагіна Підтримується UDP
Simple Obfs obfs-local, simple-obfs, obfs ✅ obfs=http і obfs=tls Надсилається на сервер без плагіна
v2ray-plugin v2ray-plugin ✅ WebSocket, з TLS або без. Режим QUIC не підтримується. ❌
gost-plugin gost-plugin ✅ WebSocket, з TLS або без ❌
ShadowTLS shadow-tls ✅ Версії 1, 2 і 3 ❌
Restls restls ✅ ❌
JLS jls ✅ ❌

Potatso не імпортує сервер, якому потрібен інший плагін:

  • Cloak, xray-plugin та інші плагіни — це програми, які ваш пристрій мав би запускати поруч із Potatso, а iOS цього не дозволяє.
  • kcptun та ech-tls-tunnel у Potatso поки недоступні.

Налаштування плагіна

У параметрах сервера виберіть плагін у полі Плагін, а потім введіть його опції в Параметр плагіна. Опції — це пари key=value, розділені крапкою з комою, як у цьому прикладі Simple Obfs:

obfs=tls;obfs-host=cdn.example.com

Окремий ключ, наприклад tls, вмикає цю опцію. Пропустіть будь-яку опцію, яка вам не потрібна; таблиці нижче вказують типові значення.

Коли ви імпортуєте сервер, Potatso сам задає плагін і його опції:

  • Посилання ss:// містить їх у параметрі plugin, після назви плагіна: simple-obfs;obfs=tls;obfs-host=cdn.example.com.
  • Підписка Clash чи Mihomo містить їх у plugin та plugin-opts.
  • Конфігурація SIP008 або config.json від shadowsocks-rust чи shadowsocks-libev містить їх у plugin та plugin_opts.

У кожній формі це ті самі опції. Якщо ваш постачальник перелічує їх по одній на рядок, як у plugin-opts Clash, запишіть кожну як key=value і з’єднайте їх крапками з комою.

Опції плагінів

Simple Obfs

Опція Опис
obfs Обов’язкова. http або tls.
obfs-host Заголовок Host (http) або назва сервера, надіслана під час рукостискання TLS (tls). Якщо порожня, Potatso використовує адресу сервера.
obfs-uri Лише http. Шлях запиту. Типово /.
http-method Лише http. Метод запиту. Типово GET.

v2ray-plugin

Опція Опис
mode websocket, типово. Режим QUIC не підтримується.
tls Під’єднується через TLS. Типово вимкнено.
host Заголовок Host і назва сервера для TLS. Якщо порожня, Potatso використовує адресу сервера.
path Шлях WebSocket. Типово /.
mux Мультиплексування. Типово вимкнено. Вмикайте, лише якщо його використовує ваш сервер.
skip-cert-verify Приймає будь-який сертифікат сервера. Використовуйте лише із сервером, якому довіряєте.
header Додатковий заголовок запиту, у вигляді header=Name:Value. Повторіть для додаткових заголовків.

gost-plugin

Опція Опис
mode Обов’язкова. websocket.
tls Під’єднується через TLS. Типово вимкнено.
host Заголовок Host і назва сервера для TLS. Типово bing.com, як у gost.
path Шлях WebSocket. Типово /.
mux Мультиплексування. Типово ввімкнено.
skip-cert-verify Приймає будь-який сертифікат сервера. Використовуйте лише із сервером, якому довіряєте.
fingerprint Відбиток SHA-256 сертифіката сервера, щоб приймати лише цей сертифікат.
header Додатковий заголовок запиту, у вигляді header=Name:Value. Повторіть для додаткових заголовків.

ShadowTLS

Опція Опис
host Обов’язкова. Назва сервера сайту-прикриття, наприклад www.example.com.
version Обов’язкова. 1, 2 або 3.
password Пароль. Потрібен для версій 2 і 3.
alpn Список ALPN, розділений комами. Типово h2,http/1.1.
skip-cert-verify Приймає будь-який сертифікат сайту-прикриття.

Restls

Опція Опис
host Обов’язкова. Назва сервера сайту-прикриття.
password Обов’язкова. Пароль.
version-hint Обов’язкова. tls13 або tls12, залежно від налаштування вашого сервера.
restls-script Скрипт записів, якщо ваш постачальник його надає.

JLS

Опція Опис
host Обов’язкова. Назва сервера сайту-прикриття.
username Обов’язкова. Ім’я користувача.
password Обов’язкова. Пароль.
alpn Список ALPN, розділений комами. Типово h2,http/1.1.

Potatso не під’єднується до сервера, коли бракує обов’язкової опції або значення недійсне.

UDP

UDP для серверів Shadowsocks типово ввімкнено, і він працює з кожним підтримуваним шифром. Вимкніть його в параметрах сервера, якщо ваш сервер не ретранслює UDP.

UDP не надсилається через плагін, тож із плагіном, відмінним від Simple Obfs, сервер передає лише TCP. Potatso не підтримує UDP-over-TCP (udp-over-tcp або uot у посиланні чи підписці) і не імпортує сервер, якому він потрібен.

Підтримка можливостей

Можливість Підтримується
Посилання SIP002 ss:// ✅ Зокрема старіша форма Base64
Плагіни SIP003 Лише вбудовані плагіни
SIP003u (UDP через плагін) ❌
Шифри AEAD (SIP004) ✅
Онлайн-конфігурація SIP008 ✅
Шифри 2022 SIP022 ✅ TCP і UDP
Заголовки ідентичності для кількох користувачів SIP023 ✅ Для шифрів AES 2022
Потокові шифри ✅ Див. Шифри
UDP-over-TCP ❌
TCP Fast Open, MPTCP ❌

Деякі можливості shadowsocks-rust — це параметри його власної клієнтської програми sslocal, а Potatso виконує ту саму роботу по-своєму:

  • Локальні сервери SOCKS5, HTTP, tunnel, redir, DNS і TUN: Potatso сам перехоплює трафік вашого пристрою.
  • Списки контролю доступу (ACL): використовуйте правила у своєму профілі.
  • Вибір найшвидшого з кількох серверів: використовуйте групу проксі у своєму профілі.

Посилання ss:// містить цілий сервер в одному рядку (SIP002):

ss://userinfo@host:port/?plugin=…#name
Частина Опис
userinfo Шифр і пароль у вигляді cipher:password, закодовані в Base64 або відсотковим кодуванням. Шифр 2022 має використовувати форму з відсотковим кодуванням.
host Адреса сервера. IPv6-адресу беріть у квадратні дужки, наприклад [2001:db8::1].
port Порт сервера.
plugin Необов’язково. Назва плагіна та його опції, розділені крапкою з комою й закодовані відсотковим кодуванням, наприклад simple-obfs;obfs=tls;obfs-host=cdn.example.com.
name Необов’язково. Назва сервера в Potatso.

Potatso також імпортує старішу форму, де все до # закодовано в Base64:

ss://base64(cipher:password@host:port)#name

Potatso приймає стандартний і URL-безпечний Base64, із доповненням = або без нього. Коли Potatso ділиться сервером, він пропонує форми SIP002 у Base64 і з відсотковим кодуванням та старішу форму.

Кожен приклад показує посилання для імпорту. Пароль у прикладах AEAD — secret.

Базовий сервер з aes-256-gcm:

ss://YWVzLTI1Ni1nY206c2VjcmV0@ss.example.com:8388#Basic

Сервер 2022 із 16-байтовим ключем MTIzNDU2Nzg5MDEyMzQ1Ng==:

ss://2022-blake3-aes-128-gcm:MTIzNDU2Nzg5MDEyMzQ1Ng%3D%3D@ss.example.com:8388#2022

Сервер 2022 із кількома користувачами, де ключ сервера та ключ користувача розділено двокрапкою (%3A):

ss://2022-blake3-aes-256-gcm:MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI%3D%3AYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU%3D@ss.example.com:8388#Multi-user

Simple Obfs із TLS, де як назву сервера використано cdn.example.com:

ss://YWVzLTI1Ni1nY206c2VjcmV0@ss.example.com:443/?plugin=simple-obfs%3Bobfs%3Dtls%3Bobfs-host%3Dcdn.example.com#Obfs

Старіша форма базового сервера:

ss://YWVzLTI1Ni1nY206c2VjcmV0QHNzLmV4YW1wbGUuY29tOjgzODg#Legacy

Сервер з адресою IPv6:

ss://YWVzLTI1Ni1nY206c2VjcmV0@[2001:db8::1]:8388#IPv6
Навігація

Type to search…

↑↓ navigate↵ selectEsc close