Shadowsocks: как работает, как настроить и какой клиент выбрать

Shadowsocks — протокол шифрованного прокси на основе SOCKS5: локальный клиент принимает соединения ваших программ, шифрует их общим паролем по алгоритму AEAD и передаёт на удалённый сервер Shadowsocks, а тот уже обращается к сайту. Для старта нужны четыре параметра сервера (адрес, порт, пароль, метод шифрования) или одна ссылка ss://, клиент под вашу систему и минута, чтобы направить на него программы или всю систему.
Большинство инструкций ограничиваются списком приложений. Здесь, кроме него, разобрано, чем Shadowsocks на самом деле отличается от обычного SOCKS5-прокси, какие клиенты живы в 2026 году, а какие давно не обновлялись, пошаговая настройка на Windows, Android и Linux и решение «тихих» сбоев из-за несовпадения шифра.
Важно: в ряде стран инструменты, позволяющие обходить сетевые ограничения, запрещены или регулируются. Уточните правила, которые действуют там, где вы находитесь, и в сети, которой пользуетесь (работодатель, учебное заведение, провайдер). Статья описывает технологию и не является юридической консультацией.
SOCKS5-прокси
SOCKS5-прокси с логином и паролем для любого клиента и страны
Чем Shadowsocks отличается от обычного SOCKS5-прокси
SOCKS5-прокси просто пересылает TCP-трафик (иногда и UDP), а рукопожатие и логин видны любому, кто наблюдает за каналом между вами и сервером. Shadowsocks сохраняет привычный SOCKS5-интерфейс на вашем компьютере, но шифрует всё, что уходит наружу.
| Shadowsocks | Обычный SOCKS5-прокси | |
|---|---|---|
| Трафик между вами и сервером | Шифруется AEAD (AES-GCM или ChaCha20-Poly1305) | Протокол сам по себе не шифрует |
| Авторизация | Общий ключ на сервер или пользователя | Логин и пароль либо привязка по IP |
| Что запускается локально | Клиент, открывающий локальный SOCKS5- или HTTP-порт | Ничего, программа подключается к серверу напрямую |
| Поддержка в программах | Только через клиент Shadowsocks | Встроена в браузеры, Telegram, парсеры, антидетекты |
| Типичная задача | Закрытый канал до своего или доверенного сервера | Смена IP и страны выхода для программ и скриптов |
| Адрес выхода | IP сервера Shadowsocks, обычно VPS | Любой из ассортимента провайдера: дата-центр, резидентский, ISP |
На практике это решения разных задач. Shadowsocks защищает участок от устройства до сервера, а коммерческий SOCKS5-прокси даёт выбор IP и стран выхода. Современные клиенты умеют их совмещать — об этом ниже.

Какие данные нужны от сервера
Тот, кто держит сервер (вы сами, компания или провайдер), выдаёт:
- Сервер: IP-адрес или доменное имя.
- Порт: любой TCP-порт, который слушает сервер, часто с большим номером.
- Пароль: общий секрет. Для шифров AEAD-2022 это ключ в Base64 строго определённой длины, его генерируют, например, командой
ssservice genkey. - Метод (шифр): должен в точности совпадать с серверным.
Часто всё приходит одной ссылкой формата SIP002: ss://, затем закодированные в Base64 метод и пароль, после них @host:port и необязательное #name. Почти любой клиент импортирует её из буфера обмена или по QR-коду.
Какой шифр выбрать
| Семейство | Названия методов | Статус |
|---|---|---|
| AEAD | aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305 | Поддерживаются везде, разумный выбор по умолчанию |
| AEAD-2022 (SIP022) | 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305 | Новее, защищены от повторной отправки пакетов; нужен свежий клиент и точное время |
| Потоковые (устаревшие) | aes-256-cfb, rc4-md5 и подобные | Слабые, использовать не стоит |
На телефонах и старых процессорах без аппаратного ускорения AES обычно быстрее chacha20-ietf-poly1305; на современных ПК AES-GCM работает без проблем.
Клиенты Shadowsocks для разных систем
| Система | Клиент | Комментарий |
|---|---|---|
| Windows | v2rayN | Активно развивается, понимает также VLESS, Trojan, SOCKS5 |
| Windows, macOS, Linux | Clash Verge Rev (ядро Mihomo) | Маршрутизация по правилам, подписки |
| Windows | shadowsocks-windows | Последний релиз 4.4.1.0 — февраль 2022 года; AEAD-2022 нет, годится только для простых AEAD-серверов |
| macOS | ShadowsocksX-NG | Лёгкое приложение в строке меню; последний релиз 1.10.3 — октябрь 2024 года |
| Linux и любая ОС из терминала | shadowsocks-rust (sslocal) | Эталонная реализация, релиз 1.25.0 — август 2026 года |
| Android | shadowsocks-android, v2rayNG | Первый — официальное приложение, второй поддерживает много протоколов |
| iPhone, iPad | Shadowrocket, Outline | Shadowrocket платный, Outline принимает ключи доступа ss:// |
По многопротокольным клиентам у нас есть отдельные инструкции: v2rayN для Windows, Clash и Shadowrocket на iPhone.
Настройка на Windows в v2rayN
Шаг 1. Установите и запустите программу
Скачайте актуальную сборку v2rayN со страницы релизов на GitHub (проще всего взять архив со встроенным ядром) и распакуйте в отдельную папку. Запустите v2rayN.exe.
Шаг 2. Добавьте сервер
Если есть ссылка ss://, скопируйте её и выберите в меню Серверы импорт из буфера обмена (или нажмите Ctrl+V в списке серверов). Если ссылки нет, выберите добавление сервера Shadowsocks и заполните адрес, порт, пароль и метод шифрования вручную.

Шаг 3. Включите сервер и направьте трафик
Выделите сервер и сделайте его активным. Внизу окна переключите режим системного прокси, чтобы Windows отправляла трафик браузеров на локальный порт v2rayN. Программам, которые не учитывают системный прокси, можно вручную указать тот же локальный SOCKS5-порт.
Настройка на Android в shadowsocks-android
- Установите Shadowsocks из Google Play или со страницы релизов проекта на GitHub.
- Нажмите значок плюса и выберите сканирование QR-кода, импорт из буфера обмена или ручную настройку.
- При ручном вводе заполните Server, Remote Port, Password и Encrypt Method. В разделе Route можно исключить локальные или региональные адреса.
- Вернитесь назад, нажмите круглую кнопку подключения и разрешите создание VPN. Значок ключа в строке состояния означает, что туннель работает.

Настройка на Linux и из командной строки
В пакете shadowsocks-rust есть утилита sslocal. Сохраните конфигурацию, например ~/ss-home.json:
{
"server": "198.51.100.40",
"server_port": 24871,
"method": "chacha20-ietf-poly1305",
"password": "replace-with-your-shared-secret",
"local_address": "127.0.0.1",
"local_port": 1086
}Запустите клиент и проверьте его через локальный порт:
sslocal -c ~/ss-home.json
curl --socks5-hostname 127.0.0.1:1086 https://ifconfig.meФлаг --socks5-hostname заставляет curl разрешать имена на стороне сервера, и DNS-запросы не уходят локальному провайдеру. Если программа понимает только HTTP-прокси, запустите второй локальный слушатель с параметром --protocol http.
Свой сервер в двух словах
На VPS установите shadowsocks-rust, сгенерируйте ключ командой ssservice genkey -m "2022-blake3-aes-256-gcm", пропишите тот же метод и ключ в серверной конфигурации и запустите ssserver. Откройте выбранный порт в файрволе для TCP (и для UDP, если клиентам нужна пересылка UDP) и включите синхронизацию времени по NTP: AEAD-2022 отбрасывает пакеты с большим расхождением часов. Учтите, что адресом выхода будет дата-центровый IP вашего VPS.
Shadowsocks в связке с прокси на выходе
Клиенты с маршрутизацией по правилам (Clash, sing-box, v2rayN с правилами) умеют выстраивать цепочки: трафик сначала идёт по зашифрованному каналу Shadowsocks, а затем выходит через другой прокси. Так делают, когда дата-центровый IP сервера не подходит для задачи — например, для проверки региональных цен нужен домашний адрес. Вторым звеном в этом случае служит обычный SOCKS5-прокси с логином и паролем, и сайт видит уже его IP.

Если шифрованный первый участок не нужен, Shadowsocks можно не использовать и подключать программу к SOCKS5-серверу напрямую; выбрать протокол поможет сравнение SOCKS5 и HTTP.
Как проверить, что всё работает
- Откройте сервис определения IP в браузере, который идёт через клиент: должен отображаться адрес и страна сервера.
- Пройдите тест на утечку DNS. Если видны DNS-серверы вашего провайдера, включите удалённый DNS или настройки DNS в клиенте.
- В журнале клиента при открытии страницы должно фиксироваться успешное соединение с сервером.
Частые проблемы
Подключение есть, страницы не открываются. Классическая причина — несовпадение шифра или пароля: сервер Shadowsocks молча отбрасывает «чужой» трафик, а не возвращает ошибку. Сверьте название метода посимвольно.
Сервер с AEAD-2022 отклоняет всё подряд. Проверьте, что ключ — корректная строка Base64 нужной длины, а часы устройства идут точно.
В браузере работает, в программах — нет. Режим системного прокси охватывает в основном браузеры. Включите в клиенте режим TUN или VPN либо укажите локальный SOCKS5-порт в настройках программы.
Не работают звонки или игры. Пересылка UDP должна быть включена и на сервере, и в клиенте.
Медленно на телефоне. Перейдите на chacha20-ietf-poly1305, если сервер это позволяет.
Частые вопросы о Shadowsocks
Shadowsocks — это VPN?
Не совсем. Это шифрованный прокси, который работает на уровне отдельных соединений, тогда как VPN обычно туннелирует весь сетевой интерфейс. Однако многие мобильные клиенты используют системный слот VPN, чтобы перехватывать весь трафик, поэтому на практике разница малозаметна.
Законно ли пользоваться Shadowsocks?
Сам протокол — открытое программное обеспечение, но в некоторых странах ограничены инструменты обхода сетевых блокировок. Уточните нормы своей страны и правила вашей сети; это не юридическая консультация.
Какой метод шифрования выбрать?
Если клиент и сервер поддерживают AEAD-2022, берите 2022-blake3-aes-256-gcm, иначе aes-256-gcm или chacha20-ietf-poly1305. Устаревших потоковых шифров вроде rc4-md5 лучше избегать.
Можно ли добавить обычный SOCKS5-прокси в клиент Shadowsocks?
Оригинальные приложения Shadowsocks понимают только свой протокол. Многопротокольные клиенты — v2rayN, Clash, Shadowrocket — принимают и SOCKS5-серверы и даже могут ставить их в цепочку после канала Shadowsocks.
Чем Shadowsocks отличается от V2Ray?
Shadowsocks — один лёгкий протокол. V2Ray и Xray — платформы, которые поддерживают несколько протоколов, включая Shadowsocks, а также транспорты и правила маршрутизации.


