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

Профиль по четырём осям
Оценки сравнительные, в пределах этой таблицы: 100 — лучший показатель среди рассмотренных протоколов, а не абсолютная величина.
| Год появления | 2012, редакция 2022 — начало 2022 года |
|---|---|
| Тип | Шифрованный прокси уровня SOCKS5, не туннель |
| Транспорт | TCP, опционально UDP для отдельных сценариев |
| Шифрование | AEAD: ChaCha20-Poly1305, AES-256-GCM |
| Редакция 2022 | Схемы 2022-blake3-aes-256-gcm и родственные |
| Ключ | Один общий секрет на соединение, без сертификатов |
| Накладные расходы | Около 3% объёма, заголовок 32–56 байт на поток |
Нет виртуального адаптера, нет драйверов, нет прав администратора. Клиент поднимает локальный порт, приложения обращаются к нему как к обычному прокси.
Через прокси идёт только то, что вы явно на него направили. Банковское приложение и локальная сеть остаются на прямом маршруте без дополнительных правил.
Каждый блок данных проверяется на целостность вместе с расшифровкой. Подмена или повтор фрагмента обнаруживаются немедленно и обрывают соединение.
Прокси не мультиплексирует все приложения в один поток: потеря пакета тормозит только одно соединение, а не весь трафик устройства.
Полноценный туннель создаёт виртуальный сетевой интерфейс, и система направляет в него весь трафик, включая запросы служб обновления, синхронизации времени и телеметрии. Shadowsocks так не работает: он поднимает локальный порт, скажем 127.0.0.1:1080, и обслуживает того, кто к нему обратился.
Для пользователя это и плюс, и минус. Плюс: браузер идёт через прокси, а банковское приложение и локальный принтер — напрямую, без единой строки правил маршрутизации. Минус: приложение, которое не умеет работать с прокси, просто пойдёт мимо, и вы об этом не узнаете.
Современные клиенты закрывают этот разрыв: они поднимают системный интерфейс и заворачивают в прокси весь трафик принудительно. Но это уже надстройка клиента, а не свойство протокола. Сам Shadowsocks остаётся прокси и ничего не знает о том, как устроена маршрутизация вашей системы.
Первые версии использовали потоковые шифры без проверки целостности. Данные шифровались, но подмену фрагмента никто не замечал — и это открывало возможность вмешаться в поток и по реакции сервера подтвердить, что за протокол работает на этом порту. Проблему решил переход на AEAD, где расшифровка и проверка подлинности неразделимы.
Редакция 2022 пошла дальше. В неё добавили защиту от повторной отправки перехваченных пакетов, привязку ключа сессии к времени и вывод ключа через BLAKE3 вместо простого преобразования пароля. Схемы этой редакции узнаются по именам вида 2022-blake3-aes-256-gcm.
Практический вывод: старые схемы вроде aes-256-cfb использовать не стоит вовсе, а между обычным AEAD и редакцией 2022 разумно выбирать вторую. Разница в скорости в пределах 2%, разница в устойчивости к активной проверке — существенная.
Туннель на UDP сводит весь трафик устройства в один поток. Когда пакет теряется, восстановление задевает всё сразу: страница в браузере, загрузка файла и голосовой звонок останавливаются одновременно, хотя проблема касалась одного фрагмента.
Shadowsocks держит для каждого соединения приложения отдельный поток к серверу. Потеря пакета в загрузке файла никак не влияет на голосовой звонок — они физически не связаны. На мобильной сети с 3–6% потерь это ощущается как более ровная работа при формально меньшей пиковой скорости.
Обратная сторона — при сотнях одновременных соединений накладные расходы растут: каждый поток требует своего рукопожатия и своего заголовка. Браузер с двумя десятками вкладок легко открывает 200–300 соединений, и на слабом роутере это заметно по загрузке процессора.
Поток Shadowsocks выглядит как последовательность случайных байтов без узнаваемого начала. Это защищает от простых правил по сигнатуре, но создаёт другую проблему: в обычном интернет-трафике потоков без структуры почти не бывает. Отсутствие признаков само по себе является признаком.
Второе ограничение — модель ключа. Секрет один на всё соединение, отдельных пользователей и индивидуального отзыва в протоколе нет. Если пароль утёк, меняется он у всех сразу. Многопользовательские схемы решают это надстройками на стороне сервера.
Третье — судьба UDP. Поддержка есть, но реализована как отдельный механизм и работает не во всех клиентах одинаково. Игры и голосовые сервисы, которым нужен UDP, иногда ведут себя непредсказуемо — стоит проверить конкретный сценарий, прежде чем полагаться на него.
2022- в названии. Скорость практически та же, устойчивость к активной проверке заметно выше.Транспорт выбирается в настройках клиента одним пунктом, доплаты за него нет. Если Shadowsocks в вашей сети перестал подниматься, соседний протокол обычно работает — переключение занимает секунды и не требует переустановки.
Подписка оформляется в Telegram-канале сервиса · Безлимитный трафик · Поддержка круглосуточно