Shadowsocks: что это, как работает, сравнение с VPN, Wireguard, UDP
- Jun 23, 2023, 12:43 AM
- 13 минуты
Что такое Shadowsocks?
Shadowsocks — это бесплатный инструмент для тех, кто хочет обойти блокировки простым, но не очень популярным способом. Это сетевой протокол с шифрованием данных. Он также помогает защитить трафик и личные данные. Основан на технологиях SOCKS5, исходный код доступен на GitHub.
Проект начался в 2012 году. Китайский разработчик Clowwindy выпустил первые версии Shadowsocks на GitHub. Протокол помог обойти ограничения «Великого файрвола» Китая. Проект стал популярным во всем мире после удаления с GitHub, что привлекло внимание СМИ. Журналисты предположили связь между удалением и последовавшей через несколько дней атакой на GitHub.
Clowwindy прекратил разработку в 2015 году по просьбе китайских властей. С тех пор проект развивается сообществом Shadowsocks.

Карта с сайта Freedom House показывает, в каких странах Shadowsocks будет однозначно полезен.
Shadowsocks необходим для тех же задач, что и VPN:
- Обход блокировок. Протоколы используются для доступа к заблокированным ресурсам как внутри страны, так и со стороны провайдеров и операторов.
- Защита личных данных. Сложнее получить доступ к трафику и личной информации.
- Безопасное подключение с незащищённых точек — например, через бесплатный Wi-Fi.
Как работает Shadowsocks? Объяснение протокола
При стандартном сетевом подключении пользователь выходит в интернет напрямую через провайдера. Например, чтобы зайти на сайт, он сначала соединяется с роутером провайдера, затем — с самим сайтом. Если государство хочет заблокировать сайт, оно требует от провайдера заблокировать доступ к IP-адресу.
Для обхода ограничения используют прокси. В этом случае между провайдером и сайтом создаётся «посредник» — прокси-сервер. Соединение проходит через провайдера, но он видит только запрос к прокси. Доступ к сайту не ограничен, и трафик возвращается на устройство пользователя. Но есть проблемы, например:
- Сайты и провайдеры могут обнаружить, что вы используете обходные инструменты.
- Соединение не защищено. Но можно использовать прокси с шифрованием или VPN, которые чаще всего шифруют трафик.
Shadowsocks решает эти проблемы. Он шифрует TCP/UDP-пакеты по туннелю, похожему на SOCKS5. Чтобы по-настоящему имитировать HTTPS или HTTP-заголовки, нужен дополнительный плагин обфускации (например, simple-obfs, cloak). Он шифрует данные и маскирует их под обычный HTML-трафик. Протокол основан на SOCKS5, о котором есть статья в нашем блоге. Shadowsocks защищает соединение с помощью алгоритма AEAD.
AEAD использует тот же принцип, что и SSH-туннелирование, но кроме данных, шифруются также сведения о отправителе и получателе. Это усложняет жизнь хакерам: даже если они перехватят сообщение, подделать передачу данных они не смогут.
Безопасен ли Shadowsocks?
Shadowsocks безопасен для базового обхода цензуры и обычно работает быстрее и легче, чем VPN. Но он не заменяет полностью проверенный VPN, если нужна гарантированная анонимность, устойчивость к DPI и корпоративная безопасность. В целом AEAD-режимы (например, AES-GCM и ChaCha20-Poly1305) считаются промышленным стандартом и очень безопасными. Хотя в обсуждениях на Stack Exchange некоторые считают AEAD менее безопасным, для надежного соединения и защиты данных он вполне достаточен.
Метод шифрования Shadowsocks
Shadowsocks использует Authenticated Encryption with Associated Data (AEAD) в качестве основного метода шифрования, обеспечивающего конфиденциальность, целостность и аутентификацию за одну операцию. Самые распространённые AEAD-шифры:
- ChaCha20-Poly1305
- AES-128-GCM
- AES-256-GCM
Обзор протокола Shadowsocks. Как работает Shadowsocks
Принцип работы Shadowsocks: для программ SS он организован как обычный SOCKS5, но с IP-адресом 127.0.0.1 (Localhost). Это значит, что любое приложение, например браузер, соединяется с устройством, на котором запущен клиент. Затем устанавливается соединение между локальным компонентом Shadowsocks и сервером, в котором трафик уже зашифрован.
Подробнее можно узнать из видео про обход Великого китайского файрвола.
Можно подключать другие приложения к Shadowsocks, и прокси будет работать только для выбранных программ. Если какое-то приложение не поддерживает прокси, можно использовать, например, Proxifier.

Для установки и настройки Shadowsocks нужно понимать, как работают подключения. С чего начать:
- Купить и настроить VPS в стране, где нужный контент не заблокирован, или использовать готовый прокси-сервер, который можно найти на сайтах с прокси Shadowsocks.
- Клиент-сервер. Есть мобильное приложение в Google Play, программы для ПК можно скачать для Windows и для Linux.

Далее просто установите и запустите клиент, а затем настройте подключение к серверу: укажите IP сервера, порт, пароль и метод шифрования.
Shadowsocks предлагает три режима подключения:
- Режим прямого подключения — не перенаправляет трафик через прокси. Преднастроенный для некоторых приложений.
- Режим PAC — трафик идет через прокси при обращении к заблокированным сайтам.
- Глобальный режим — весь трафик направляется через прокси.
Shadowsocks может имитировать HTTPS-соединение с удалённым сервером для маскировки трафика. Тогда провайдер не поймёт, что именно пользователь просматривает и какие блокировки обходит. Для этого на сервер устанавливают плагин обфускации simple-obfs.
Обфускация — это маскировка и запутывание трафика. Она помогает защититься от обнаружения: провайдер не сможет определить, что используется Shadowsocks. Обычно это достигается шифрованием кода, переименованием переменных в бессмысленные, добавлением лишнего кода или применением решений типа Cloak, Stunnel, OpenVPN Scramble и др.
Китайские власти отслеживают работу Shadowsocks с помощью пассивного анализа трафика и активных «зондов», после чего блокируют соединения, несмотря на обфускацию. Сначала файрвол ищет возможные Shadowsocks-соединения, затем с собственных IP подключается к серверам, имитируя клиента Shadowsocks, и анализирует ответы сервера.
Подробнее о решении этой проблемы можно прочитать на GitHub, но в любом случае Shadowsocks работает лучше, чем VPN.
Преимущества
1) Селективная маскировка трафика. Можно указать, какой трафик направлять через провайдера, а какой — через Shadowsocks. Это поможет одновременно обходить блокировки и иметь доступ к определённым сервисам.
Например, одновременно пользоваться Instagram и государственными онлайн-сервисами. Первый может быть недоступен в стране, а вторые работают только с локальных IP. VPN позволяет зайти в Instagram, но блокирует доступ к госуслугам. Некоторые VPN поддерживают раздельное туннелирование. Shadowsocks решает эту проблему: можно маскировать трафик Instagram и параллельно пользоваться другими сервисами.
2) Защита от DPI. DPI — технология инспекции трафика для мониторинга приложений. Shadowsocks сложно обнаружить и заблокировать, так как он имитирует обычное HTTPS-соединение. Однако Shadowsocks уязвим к активному зондированию и анализу паттернов. В отличие от более продвинутых транспортеров (например, Obfs4), его могут определить и заблокировать продвинутые файрволы.
3) Надёжность. Shadowsocks не пропадает при разрыве соединения, если он настроен как единственный канал. При потере VPN-соединения трафик идёт напрямую и провайдер видит все данные. KillSwitch частично решает проблему — отключает интернет при потере VPN, но иногда не работает или отсутствует.
4) Хорошая пропускная способность. При правильной настройке Shadowsocks работает быстрее других методов шифрования (SSH-туннелирование, VPN). Потеря скорости — около 3-5%.
5) Универсальность. Клиенты доступны для любых ОС — Windows, MacOS, Linux (разные дистрибутивы), Android, iOS.
6) Меньшая нагрузка на процессор при шифровании. Клиенты экономят батарею (важно для мобильных устройств), сервер — ресурсы VPS/VDS.
7) Экономичность. Для Shadowsocks подходит самый дешёвый VPS с безлимитным трафиком. Это намного дешевле платных VPN-сервисов. Можно использовать чужие прокси, но варианты вроде WannaFlix, 12VPN дороже собственного сервера — около $10 в месяц.
Для сравнения: VPS с 5 ГБ памяти, 0.5 ГБ ОЗУ и безлимитным трафиком стоит около $0.87 в месяц, что достаточно для Shadowsocks. Дешёвые VPN обычно от $2 в месяц, зачастую нужно оплатить подписку сразу на 2-3 года. Бесплатные VPN не рассматриваем — они ограничивают скорость и трафик.
Недостатки
1) Сложность использования. Нужно понимать работу ПК и сетевых подключений, хотя настройка занимает 5 строк. VPN проще.
2) Возможное снижение скорости. В зависимости от обфускаторов скорость интернета может значительно упасть.
3) Ограниченная применимость. Можно попробовать сменить регион Netflix, но долго это не продлится — сервис отслеживает обходные системы. Для торрентов это плохое решение: если арендовать сервер, можно легко узнать данные владельца и обвинить в нарушении авторских прав.
4) Ограниченная доступность. Несмотря на популярность, в некоторых регионах сложно приобрести или подключиться к надёжным VPS.
5) Нет официального аудита. Много специалистов изучали исходный код Shadowsocks, но официального аудита (например, OSTIF) не было. Официальный аудит повысил бы безопасность проекта. Код простой, что создаёт риск распространения поддельных пакетов.
Shadowsocks против WireGuard
Что такое WireGuard?
WireGuard — современный VPN-инструмент, который помогает защитить интернет-соединение. Представьте его как приватный туннель между вашим устройством (ноутбук, телефон) и интернетом. Всё, что вы отправляете или получаете, проходит через этот туннель, поэтому злоумышленники в общественном Wi-Fi не увидят ваши данные. WireGuard:
- Быстрый: минимальное замедление по сравнению с традиционными VPN.
- Простой: установка, добавление сервера/пира и переключатель для подключения.
- Безопасный: использует современные методы шифрования для защиты данных.
Вы можете использовать WireGuard на общественном Wi-Fi, чтобы выглядеть, будто вы в другой стране, или просто для приватности.
Криптография WireGuard
- Обмен ключами: Curve25519
- Шифрование и аутентификация: ChaCha20-Poly1305 AEAD
- Хеширование: BLAKE2s для целостности и HMAC
Архитектура WireGuard
- Один UDP-порт на интерфейс — снижает площадь атаки и облегчает обход файрволов.
- Статeless-хендшейк с эфемерными ключами: сессии обновляются каждые 120 секунд без сохранения состояния.
Разница между Shadowsocks и WireGuard
Shadowsocks подходит для быстрого обхода цензуры на уровне отдельных приложений (например, разблокировка сайта или стримингового сервиса) без изменения системных VPN-настроек. WireGuard лучше для защиты всего устройства, безопасных VPN-соединений между точками и когда нужны минимальная задержка и криптографическая надёжность на уровне всей сети.
Функция | Shadowsocks | WireGuard |
---|---|---|
Тип | Шифрованный прокси в стиле SOCKS5 | VPN-туннель на уровне сети (Layer 3) |
Основное применение | Обход цензуры и проксирование для отдельных приложений | VPN между точками, VPN для всего устройства |
Уровень протокола | Прикладной уровень | Сетевой уровень (IP) |
Шифрование | AEAD (например, ChaCha20-Poly1305, AES-GCM) | Noise Protocol Framework (ChaCha20-Poly1305, Curve25519, BLAKE2s) |
Аутентификация | Общий секрет; нет встроенного обмена ключами | Криптография с открытым ключом с встроенным обменом ключами |
Производительность | Лёгкий, работает в пользовательском пространстве; небольшие накладные расходы | Очень быстрый, реализация в ядре или оптимизированная |
Устойчивость к обнаружению | Можно обнаружить через DPI, если не использовать обфускацию | Статический UDP-порт/протокол; сложнее обнаружить и заблокировать |
Настройка и развёртывание | Просто: установить клиент и подключиться к прокси-серверу | Требует модуля ядра или поддерживаемого клиента, прав администратора и настройки маршрутизации |
Область маршрутизации | По приложению (браузер, отдельное приложение) | Весь сетевой стек (весь трафик) |
Shadowsocks против OpenVPN
Что такое OpenVPN?
OpenVPN — популярный и проверенный протокол VPN, создающий защищённое, зашифрованное соединение (туннель) между вашим устройством и другим сетевым узлом через интернет. Этот туннель защищает ваши данные от прослушивания, позволяет анонимно пользоваться интернетом и менять видимое местоположение.
OpenVPN — это открытый протокол и программное обеспечение VPN, использующее SSL/TLS для обмена ключами.
OpenVPN используется для:
- Защиты приватности в публичных Wi-Fi сетях
- Доступа к контенту с региональными ограничениями
- Безопасного удалённого подключения к рабочим сетям
Шифрование OpenVPN: поддерживает надёжные алгоритмы, такие как AES.
Аутентификация OpenVPN: использует сертификаты X.509, а также опционально логин/пароль и предустановленные ключи.
Транспорт OpenVPN: работает поверх UDP или TCP, что обеспечивает гибкость и обход блокировок.
Туннелирование OpenVPN: работает на сетевом уровне (Layer 3), создавая виртуальный интерфейс TUN или мост TAP.
Разница между Shadowsocks и OpenVPN
Shadowsocks отлично подходит для лёгкого обхода цензуры на уровне отдельных приложений с минимальными задержками, особенно в жёстких условиях. OpenVPN — это мощное, проверенное VPN-решение для туннелирования всего устройства или сети, обеспечивающее лучшую безопасность, но требующее более сложной настройки и большего расхода ресурсов.
Функция | Shadowsocks | OpenVPN |
---|---|---|
Тип | Шифрованный SOCKS5-прокси | Полнофункциональный VPN-протокол |
Основное применение | Обход цензуры, лёгкий прокси | Безопасный удалённый доступ, VPN между сетями |
Уровень протокола | Прикладной уровень | Сетевой уровень (Layer 3) |
Шифрование | AEAD (ChaCha20-Poly1305, AES-GCM) | SSL/TLS с настраиваемыми шифрами (AES, ChaCha) |
Аутентификация | Предустановленный ключ | Сертификаты, логин/пароль, ключи |
Обфускация трафика | Ограничена, можно использовать плагины | Можно использовать SSL-обфускацию и плагины типа Obfsproxy |
Устойчивость к обнаружению | Средняя, уязвима к DPI без обфускации | Сильная из коробки, сложнее заблокировать или обнаружить |
Производительность | Лёгкий, низкая задержка | Больше накладных расходов, но стабильный и безопасный |
Простота настройки | Простая настройка прокси-клиентов | Сложнее, требуется управление сертификатами и маршрутизацией |
Область маршрутизации | Прокси на уровне приложений | Весь трафик устройства или сети |
Сценарии использования | Быстрый обход цензуры, проксирование отдельных приложений | Корпоративные VPN, безопасный удалённый доступ, конфиденциальность |
Shadowsocks против ShadowsocksR
Что такое ShadowsocksR (SSR)
В настоящее время у Shadowsocks есть сообщество и собственный сайт. Энтузиасты могут создавать свои решения на его основе. Например, после закрытия Shadowsocks в 2015 году другой разработчик, breakwa11, заявил, что SS легко обнаружить. Он создал ShadowsocksR, основанный на Shadowsocks, с поддержкой обфускации трафика. Таким образом, ShadowsocksR — это ветвь оригинального протокола, написанная на Python, с обфускацией трафика и устойчивостью к обнаружению.
Однако чаще всего рекомендуют использовать актуальную версию Shadowsocks-Rust на базе Rust.
Основные особенности ShadowsocksR:
- Улучшенная обфускация: SSR добавляет продвинутые методы обфускации трафика, чтобы скрыть прокси-трафик и затруднить его обнаружение системами DPI, такими как Великий файрвол Китая.
- Множество протоколов и обфускаций: В отличие от Shadowsocks, который использует простой SOCKS5-прокси с шифрованием, SSR поддерживает разные плагины, меняющие заголовки пакетов, рандомизирующие трафик и обходящие фильтры.
- Обратная совместимость: SSR совместим с клиентами Shadowsocks, но для полной функциональности нужны специальные клиенты.
- Отсутствие официальной поддержки: SSR — проект сообщества с несколькими независимыми версиями, не входящий в официальный репозиторий Shadowsocks.
- Споры: Некоторые специалисты по безопасности сомневаются в надёжности SSR и рекомендуют использовать официальные Shadowsocks или более современные решения, например V2Ray.
В итоге ShadowsocksR был создан для усложнения обнаружения Shadowsocks, но сегодня используется реже и не поддерживается официально.
Shadowsocks против SOCKS5
Shadowsocks работает на протоколе SOCKS5. Проще говоря, это как ваше любимое приложение на iOS. Shadowsocks добавляет безопасность SOCKS5.
Вот разница между Shadowsocks и SOCKS5:
Аспект | Прокси SOCKS5 | Shadowsocks |
---|---|---|
Определение | Общий протокол прокси, маршрутизирующий TCP-пакеты между клиентом и сервером. | Зашифрованный прокси-протокол на основе SOCKS5 с сильным шифрованием и обфускацией. |
Шифрование | Отсутствует по умолчанию; простой TCP-форвардинг | Использует AEAD (например, ChaCha20-Poly1305) для защиты данных в пути |
Назначение | Простой прокси для обхода IP-блокировок или маршрутизации трафика | Разработан для обхода цензуры с защитой приватности и безопасности |
Риск обнаружения | Высокий — трафик нешифрован и легко обнаруживается | Низкий — шифрует трафик и может обходить DPI с помощью обфускации |
Сложность настройки | Простая, поддерживается многими клиентами | Требует специальных клиентов или совместимого ПО |
Сценарии использования | Базовое проксирование, доступ к заблокированным IP | Безопасный обход цензуры и защита данных |
Shadowsocks против UDP over TCP
Что такое UDP over TCP?
UDP over TCP — это туннелирование UDP-трафика (бесподключенческого, например, для игр, VoIP, DNS) внутри TCP-соединений (надежных и ориентированных на соединение). Это иногда используется VPN или прокси, которые поддерживают только TCP для передачи UDP-пакетов. Это вызывает задержки, джиттер и потерю производительности, поскольку TCP-механизмы повторной передачи не подходят для UDP с низкой задержкой. Но это помогает, когда UDP заблокирован или не поддерживается в сети.
Ключевые различия между UDP over TCP и Shadowsocks
Особенность | UDP over TCP | Shadowsocks |
---|---|---|
Тип трафика | UDP-пакеты инкапсулированы в TCP-потоки | Поддержка нативного TCP и UDP трафика |
Производительность | Может вызывать задержки, джиттер и задержку из-за повторных передач TCP | Оптимизирован для минимальной задержки с поддержкой UDP |
Сценарий использования | Используется, когда UDP заблокирован или не поддерживается | Разработан для обхода цензуры и безопасного проксирования |
Устойчивость к обнаружению | Зависит от TCP-туннеля; обычно обнаружим | Зашифрован и обфусцирован, сложнее обнаружить |
Сложность протокола | Простой метод туннелирования | Полноценный зашифрованный прокси с рукопожатием и шифрованием |
VPN против Shadowsocks
VPN и Shadowsocks — разные инструменты. Первый — виртуальная частная сеть, о которой мы писали в блоге, второй — протокол прокси. Технически они оба:
- Шифруют трафик
- Помогают обходить блокировки
Но Shadowsocks использует более простое шифрование и не обеспечивает анонимность в интернете. Проект изначально создавался не для безопасности, а для обхода китайского файрвола. Это частично решилось в ShadowsocksR, о котором расскажем ниже. VPN обычно использует сложный AES-256.
VPN-сервисы часто имеют дополнительные функции, например KillSwitch. VPN — это «туннель», если он перестает работать, трафик идет напрямую и можно раскрыть IP. KillSwitch защищает от этого — мгновенно отключает интернет, если VPN-соединение пропало.
Кроме того, VPN имеет большую сеть серверов. Можно выходить в интернет из разных стран, меняя IP на соответствующий серверу.
Итог: VPN удобнее, безопаснее и проще. Если он доступен и подходит — используйте его. Если возникают трудности, Shadowsocks решит проблему: он лучше работает в странах с блокировкой VPN и жесткими ограничениями. Трафик похож на HTTPS и не вызывает подозрений. Использование нескольких TCP-соединений помогает добиться высокой скорости. Это более экономично для простого обхода блокировок.
Основные различия между Shadowsocks и VPN
Shadowsocks | VPN | |
---|---|---|
Шифрование | Слабее, чем у большинства VPN | Надёжное шифрование между вашим устройством и сервером |
Доступ к контенту | Обходит цензуру и предоставляет доступ к заблокированному контенту | Также обходит цензуру, но легче обнаруживается |
Производительность | Быстрее за счёт меньшего шифрования и короткого пути | Медленнее из-за шифрования и дополнительного маршрута |
Сложность настройки | Сложнее для обычных пользователей | Проще настроить и использовать |
Стоимость | Дешёвые или бесплатные варианты | Дороже, особенно качественные сервисы |
Сценарии использования | Для обхода сложных файрволов (например, в Китае) и доступа к блокировкам | Для тех, кто ценит приватность и доступ к контенту |
Shadowsocks против мобильных прокси
Что такое мобильные прокси?
Мобильные прокси — это реальные IP мобильных сетей, предоставляемые операторами с помощью устройств с SIM-картами, которые обеспечивают высокое доверие, динамические и геопривязанные IP, которые намного сложнее заблокировать или обнаружить.
Сравнительная таблица мобильных прокси и Shadowsocks
Аспект | Shadowsocks | Мобильные прокси |
---|---|---|
Что это | Зашифрованный прокси-протокол (на базе SOCKS5) для обхода цензуры с шифрованием и передачей трафика через удалённый сервер | Реальные прокси на мобильных устройствах или SIM-картах, использующие сотовые сети (LTE/4G/5G) для маршрутизации трафика |
Технология | ПО-прокси с шифрованием, работающий на VPS или сервере | Аппаратные прокси, связанные с мобильными операторами, с реальными IP мобильных сетей |
Тип IP-адресов | Обычно IP дата-центров, которые могут быть заблокированы или помечены | Настоящие IP мобильных операторов, с высоким доверием, динамические, привязанные к геолокации |
Риск обнаружения | Средний — могут обнаружить через DPI, если не используется обфускация | Низкий — трафик выглядит как легитимное использование мобильной сети, сложнее заблокировать или пометить |
Производительность | Зависит от расположения сервера и сети; обычно высокая, но варьируется | Обычно высокая со стабильным LTE/4G/5G соединением; IP меняются естественно |
Сценарии использования | Обход цензуры, защита приватности, разблокировка сайтов и сервисов | SEO, SMM, проверка рекламы, создание аккаунтов, тестирование мобильных приложений и любые задачи, требующие доверенных мобильных IP |
Настройка | Требуется установка клиентского ПО и настройка прокси | Доступ через маркетплейс или API; клиентское ПО не нужно, нужны только учётные данные |
Уровень анонимности | Хорошее шифрование, но IP могут быть из диапазонов дата-центров | Очень высокий уровень доверия и анонимности, поскольку IP принадлежат мобильным операторам и динамически меняются |
Что лучше использовать — Shadowsocks или мобильные прокси?
Для обхода цензуры и зашифрованного проксирования — Shadowsocks.
Для настоящих мобильных IP, доверенного геопривязанного доступа и низкого риска обнаружения — мобильные прокси предпочтительнее, особенно для бизнеса и автоматизации.
Заключение
Shadowsocks — доступный и удобный инструмент для обхода блокировок и защиты соединений. Конечно, в нём меньше функций, чем в VPN, но он немного быстрее. Для простых задач — восстановление доступа к заблокированным сайтам — это оптимальный вариант. Он прост в использовании и настройке, в интернете много инструкций.
В OnlineProxy вы найдете мобильные прокси со всего мира с посуточной тарификацией от 0.7$ и ротацией IP. Прокси отлично подходят для рабочих задач. Мы гарантируем качество или возвращаем деньги.