---
title: "Shadowsocks"
description: "Шифры, плагины, ссылки и возможности Shadowsocks, которые поддерживает Potatso."
---

> 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 `aes-*-ccm`, `aes-*-gcm-siv` и `sm4-*` предлагают только серверы shadowsocks-rust, и пользуются ими немногие провайдеры.

### Ключи 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}

Для серверов Shadowsocks UDP включен по умолчанию и работает со всеми поддерживаемыми шифрами. Выключите его в настройках сервера, если ваш сервер не ретранслирует UDP.

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

## Поддержка возможностей {#features}

| Возможность | Поддержка |
| --- | --- |
| Ссылки `ss://` по [SIP002](https://shadowsocks.org/doc/sip002.html) | ✅ Включая старую форму 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 принимает стандартный Base64 и Base64 для URL, с дополнением `=` и без него. Когда Potatso делится сервером, он предлагает формы Base64 и с процентным кодированием по SIP002, а также старую форму.

### Примеры {#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/ru/protocols/shadowsocks/index.mdx
