Лёгкий и нетребовательный

Протокол Shadowsocks

Shadowsocks задумывался не как VPN, а как лёгкий шифрованный прокси в духе SOCKS5. Он не создаёт системный сетевой интерфейс и по умолчанию обслуживает только те приложения, которые сами к нему обращаются.

Обновлено

Протокол Shadowsocks

Профиль по четырём осям

Скорость84
Незаметность78
Стабильность80
Простота настройки70

Оценки сравнительные, в пределах этой таблицы: 100 — лучший показатель среди рассмотренных протоколов, а не абсолютная величина.

Когда выбиратьБерите Shadowsocks, когда нужен лёгкий маршрут для двух-трёх приложений на слабом устройстве без вмешательства в настройки системы.

Ключевые характеристики

Год появления2012, редакция 2022 — начало 2022 года
ТипШифрованный прокси уровня SOCKS5, не туннель
ТранспортTCP, опционально UDP для отдельных сценариев
ШифрованиеAEAD: ChaCha20-Poly1305, AES-256-GCM
Редакция 2022Схемы 2022-blake3-aes-256-gcm и родственные
КлючОдин общий секрет на соединение, без сертификатов
Накладные расходыОколо 3% объёма, заголовок 32–56 байт на поток

Сильные стороны

  • Очень низкие требования к железу: работает на роутере со 128 МБ памяти и на старом телефоне.
  • Поток без фиксированного заголовка в открытом виде — снаружи это выглядит как поток случайных байтов.
  • Не требует прав администратора и не трогает сетевые настройки системы.
  • На канале с потерями ведёт себя мягче туннеля: проблема одного соединения не задевает остальные.
  • Редакция 2022 закрыла давние претензии к повторной отправке пакетов и защите от подбора.

Ограничения

  • Это не VPN: без дополнительной обёртки трафик системных служб и приложений без поддержки прокси идёт напрямую.
  • Поток случайных байтов сам по себе нетипичен: обычный интернет-трафик выглядит иначе, и статистика это замечает.
  • Безопасность держится на одном общем секрете — при утечке пароля меняется всё соединение целиком.
  • Старые схемы шифрования без AEAD давно небезопасны, но до сих пор встречаются в готовых профилях.
Схема работы протокола Shadowsocks
Как проходит соединение: от клиента до целевого сервиса
Устройство

Что отличает Shadowsocks

Минимум лишнего

Нет виртуального адаптера, нет драйверов, нет прав администратора. Клиент поднимает локальный порт, приложения обращаются к нему как к обычному прокси.

Маршрутизация по приложениям

Через прокси идёт только то, что вы явно на него направили. Банковское приложение и локальная сеть остаются на прямом маршруте без дополнительных правил.

Шифрование AEAD

Каждый блок данных проверяется на целостность вместе с расшифровкой. Подмена или повтор фрагмента обнаруживаются немедленно и обрывают соединение.

Устойчивость к потерям

Прокси не мультиплексирует все приложения в один поток: потеря пакета тормозит только одно соединение, а не весь трафик устройства.

Не туннель, а прокси: в чём практическая разница

Полноценный туннель создаёт виртуальный сетевой интерфейс, и система направляет в него весь трафик, включая запросы служб обновления, синхронизации времени и телеметрии. Shadowsocks так не работает: он поднимает локальный порт, скажем 127.0.0.1:1080, и обслуживает того, кто к нему обратился.

Для пользователя это и плюс, и минус. Плюс: браузер идёт через прокси, а банковское приложение и локальный принтер — напрямую, без единой строки правил маршрутизации. Минус: приложение, которое не умеет работать с прокси, просто пойдёт мимо, и вы об этом не узнаете.

Современные клиенты закрывают этот разрыв: они поднимают системный интерфейс и заворачивают в прокси весь трафик принудительно. Но это уже надстройка клиента, а не свойство протокола. Сам Shadowsocks остаётся прокси и ничего не знает о том, как устроена маршрутизация вашей системы.

AEAD и редакция 2022

Первые версии использовали потоковые шифры без проверки целостности. Данные шифровались, но подмену фрагмента никто не замечал — и это открывало возможность вмешаться в поток и по реакции сервера подтвердить, что за протокол работает на этом порту. Проблему решил переход на AEAD, где расшифровка и проверка подлинности неразделимы.

Редакция 2022 пошла дальше. В неё добавили защиту от повторной отправки перехваченных пакетов, привязку ключа сессии к времени и вывод ключа через BLAKE3 вместо простого преобразования пароля. Схемы этой редакции узнаются по именам вида 2022-blake3-aes-256-gcm.

Практический вывод: старые схемы вроде aes-256-cfb использовать не стоит вовсе, а между обычным AEAD и редакцией 2022 разумно выбирать вторую. Разница в скорости в пределах 2%, разница в устойчивости к активной проверке — существенная.

Поведение на канале с потерями

Туннель на UDP сводит весь трафик устройства в один поток. Когда пакет теряется, восстановление задевает всё сразу: страница в браузере, загрузка файла и голосовой звонок останавливаются одновременно, хотя проблема касалась одного фрагмента.

Shadowsocks держит для каждого соединения приложения отдельный поток к серверу. Потеря пакета в загрузке файла никак не влияет на голосовой звонок — они физически не связаны. На мобильной сети с 3–6% потерь это ощущается как более ровная работа при формально меньшей пиковой скорости.

Обратная сторона — при сотнях одновременных соединений накладные расходы растут: каждый поток требует своего рукопожатия и своего заголовка. Браузер с двумя десятками вкладок легко открывает 200–300 соединений, и на слабом роутере это заметно по загрузке процессора.

Ограничения, о которых стоит знать заранее

Поток Shadowsocks выглядит как последовательность случайных байтов без узнаваемого начала. Это защищает от простых правил по сигнатуре, но создаёт другую проблему: в обычном интернет-трафике потоков без структуры почти не бывает. Отсутствие признаков само по себе является признаком.

Второе ограничение — модель ключа. Секрет один на всё соединение, отдельных пользователей и индивидуального отзыва в протоколе нет. Если пароль утёк, меняется он у всех сразу. Многопользовательские схемы решают это надстройками на стороне сервера.

Третье — судьба UDP. Поддержка есть, но реализована как отдельный механизм и работает не во всех клиентах одинаково. Игры и голосовые сервисы, которым нужен UDP, иногда ведут себя непредсказуемо — стоит проверить конкретный сценарий, прежде чем полагаться на него.

Вопросы

Частые вопросы

Shadowsocks — это VPN?
Строго говоря, нет. Это шифрованный прокси: он не создаёт системный сетевой интерфейс и обслуживает только те приложения, которые к нему обратились. Многие клиенты добавляют режим полного захвата трафика, но это функция клиента, а не протокола.
Чем редакция 2022 лучше обычного AEAD?
Она добавляет защиту от повторной отправки перехваченных пакетов, привязывает сессию ко времени и выводит ключ через BLAKE3. Схемы узнаются по префиксу 2022- в названии. Скорость практически та же, устойчивость к активной проверке заметно выше.
Что быстрее — Shadowsocks или WireGuard?
По пиковой скорости WireGuard: 780–900 Мбит/с против 550–700. Но на канале с потерями картина меняется, потому что Shadowsocks не сводит весь трафик в один поток и проблема одного соединения не задевает остальные.
Нужны ли права администратора?
Для базового режима — нет. Клиент открывает локальный порт и работает под обычной учётной записью. Права понадобятся только в режиме полного захвата трафика, где создаётся виртуальный сетевой адаптер.
Подходит ли Shadowsocks для роутера?
Да, это один из самых нетребовательных вариантов. Реализация на языке Rust работает на устройствах со 128 МБ оперативной памяти и держит 200–300 Мбит/с на процессоре, который WireGuard тоже потянет, а OpenVPN уже нет.
Все протоколы в одном клиенте

Shadowsocks включён во все платные тарифы

Транспорт выбирается в настройках клиента одним пунктом, доплаты за него нет. Если Shadowsocks в вашей сети перестал подниматься, соседний протокол обычно работает — переключение занимает секунды и не требует переустановки.

Подписка оформляется в Telegram-канале сервиса · Безлимитный трафик · Поддержка круглосуточно