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

> 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.

# Shadowsocks

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

Сервер Shadowsocks можна додати вручну, через [посилання `ss://`](#links) або імпортом:

- підписки Clash чи Mihomo,
- онлайн-конфігурації [SIP008](https://shadowsocks.org/doc/sip008.html) із файлу або за посиланням,
- `config.json` від shadowsocks-rust чи shadowsocks-libev,
- конфігурації Surge або конфігурації Xray чи V2Ray.

## Шифри {#ciphers}

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

| Шифр | Вид | Підтримується |
| --- | --- | --- |
| `2022-blake3-aes-128-gcm`, `2022-blake3-aes-256-gcm` | 2022 | ✅ З [кількома користувачами](#multi-user) |
| `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](https://github.com/shadowsocks/shadowsocks-rust), [sing-box](https://sing-box.sagernet.org/) або оригінальному сервері на Python. З наведених вище шифрів AEAD лише сервери shadowsocks-rust пропонують `aes-*-ccm`, `aes-*-gcm-siv` і `sm4-*`, і мало хто з постачальників їх використовує.

### Ключі 2022 {#2022-keys}

Шифри 2022 ([SIP022](https://shadowsocks.org/doc/sip022.html)) не використовують пароль. Вони використовують ключ: випадкові байти, закодовані в 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.

### Сервери з кількома користувачами {#multi-user}

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

```text
server-key:user-key
```

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

## Плагіни {#plugins}

Плагін обгортає з’єднання 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 поки недоступні.

### Налаштування плагіна {#set-plugin}

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

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

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

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

- [Посилання `ss://`](#links) містить їх у параметрі `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` і з’єднайте їх крапками з комою.

### Опції плагінів {#plugin-options}

**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}

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

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

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

| Можливість | Підтримується |
| --- | --- |
| Посилання [SIP002](https://shadowsocks.org/doc/sip002.html) `ss://` | ✅ Зокрема старіша форма Base64 |
| Плагіни [SIP003](https://shadowsocks.org/doc/sip003.html) | Лише [вбудовані плагіни](#plugins) |
| SIP003u (UDP через плагін) | ❌ |
| [Шифри AEAD](https://shadowsocks.org/doc/aead.html) (SIP004) | ✅ |
| Онлайн-конфігурація [SIP008](https://shadowsocks.org/doc/sip008.html) | ✅ |
| Шифри 2022 [SIP022](https://shadowsocks.org/doc/sip022.html) | ✅ TCP і UDP |
| Заголовки ідентичності для кількох користувачів [SIP023](https://shadowsocks.org/doc/sip023.html) | ✅ Для шифрів AES 2022 |
| [Потокові шифри](https://shadowsocks.org/doc/stream.html) | ✅ Див. [Шифри](#ciphers) |
| UDP-over-TCP | ❌ |
| TCP Fast Open, MPTCP | ❌ |

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

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

## Посилання `ss://` {#links}

Посилання `ss://` містить цілий сервер в одному рядку ([SIP002](https://shadowsocks.org/doc/sip002.html)):

```text
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:

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

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

### Приклади {#link-examples}

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

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

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

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

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

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

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

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

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

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

```text
ss://YWVzLTI1Ni1nY206c2VjcmV0QHNzLmV4YW1wbGUuY29tOjgzODg#Legacy
```

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

```text
ss://YWVzLTI1Ni1nY206c2VjcmV0@[2001:db8::1]:8388#IPv6
```

Source: https://potatso.com/docs/uk/protocols/shadowsocks/index.mdx
