Перейти к содержимому
vpnРоссия > Гиды о VPN > Что такое Shadowsocks VPN и как настроить самому

Что такое Shadowsocks VPN и как настроить самому

Настройка Shadowsocks VPN на Windows, iOS и Android по силам любому пользователю, навыки программирования не требуются, но сеть несколько нюансов. В этой инструкции мы пошагово и на доступном языке объясним как работает настройка Shadowsocks.

Интерес к различным протоколам создания защищенных каналов в интернете подогревается сразу несколькими причинами. Основные из них – возможность анонимно заходить на ресурсы, обходить блокировку по географическому признаку и мощная шифрация передаваемых данных. Но еще есть и неочевидные факторы. Например, недавно прошла волна массовой блокировки самых известных протоколов OpenVPN и WireGuard.

Выход из подобных ситуаций есть – настройка Shadowsocks VPN. Это открытый проект способный заменить традиционные сервисы. Разработку софта, работающего по шифрованному каналу, ведут в Китае еще с 2012 года. Но только на фоне вероятных «санкций» решение стало резко набирать популярность. Технически продукт представляет собой пару программ, сервер и клиент, которые работают по принципу схожему с SSH-туннелем. Разберем решение подробнее.

BlancVPN logotype
  • Собственный протокол Outline + настройка V2Ray
  • Выделенные серверы в 25 странах мира
  • Без ограничений трафика, скорость 2Гб/с
9.9

Руководство для создания Shadowsocks VPN

Развернуть собственный сервер ВПН можно буквально за час с небольшим. Он будет пригоден как для частного, так и для корпоративного применения. В качестве сервера можно использовать ПК, установленный локально дома/в офисе, или удаленный сервер, арендованный у хостинг-провайдера с мощностями, размещенными в России (это упростит доступ к отечественным ресурсам, уменьшит скорость доступа к сайтам и пр.).

настройка shadowsocks vpn

Процедура настройки Shadowsocks включает несколько шагов:

  1. Выбор и подготовка сервера.
  2. Инсталляция и настройка серверной части ПО.
  3. То же, только в отношении «клиента».

Задача несколько различается в зависимости от серверной и клиентской операционной системы, но общий принцип один. Поэтому рассмотренный вариант вполне можно масштабировать на другие комбинации «сервер-клиент». Независимо от назначения системы настройка сервера Shadowsocks не составляет особого труда. Пошагово разберем основные требования – они включают подбор конфигурации ПК, установку необходимого программного обеспечения и его настройку.

Необходимое оборудование и ПО для настройки Shadowsocks

На официальном сайте проекта загружены все необходимые дистрибутивы – для Windows, Linux, Mac, Android, iOS, OpenWRT. Разработанный софт изначально оптимизирован под мобильные устройства, беспроводные сети Wi-Fi (мало нагружает процессор, требует минимум пропускной способности сети). Производитель рекомендует устанавливать на сервер операционную систему Linux, например, Ubuntu 20.04.

При аренде удаленного сервера нужно выбирать тариф с минимальными характеристиками:

  1. Процессор (ЦП) – от 1 ядра частотой от 2 ГГц.
  2. Объем оперативной памяти (ОЗУ) – от 512 Мбайт.
  3. Тип виртуализации – гипервизор KVM (Kernel-based Virtual Machine).
  4. Скорость соединения через интернет – от 100 Мбит/с.

Можно воспользоваться услугами провайдера DigitalOcean. Если воспользоваться инструментом от Google – Outline Manager, настройка Shadowsocks VPN займет буквально пару кликов. Но сейчас мы остановимся на «ручном» методе, чтобы было понимание как работает система, какие элементы нужны для ее функционирования. Например, на сервере обязательно должна быть инсталлировано программное обеспечение для поддержки языка программирования Python.

В качестве дополнительного инструмента будет достаточно установить текстовый редактор, если «по умолчанию» он не поставляется в комплекте с операционкой. Брандмауэр и другие защитные программы пользователь вправе инсталлировать по желанию. Решение зависит от назначения или личных предпочтений владельца сервера. Например, при передаче коммерческих данных, сведений о банковских картах и пр. желательна дополнительная защита от хакеров, вирусов.

настройка shadowsocks на windows

На локальном устройстве понадобится SSH-клиент. Например, можно установить популярный для операционных систем типа Windows – PuTTY. Иногда выбирают KiTTY, MobaXtrem, Solar-PUTTY или SmarTTY. Если пользователь предпочитает работать в среде Linux, подойдут программы вроде Terminal, Asbru Connection Manager, Muon. Под MacOS стабильно работают iTerm 2, Shuttle, Core Shell. Можно воспользоваться мультиплатформенным приложением Hyper или Terminus.

Что такое Shadowsocks

Разберем подробнее, что представляет собой протокол. Shadowsocks – это бесплатное решение для шифрации передаваемых данных. Разработчик предлагает полностью открытый исходный код, на момент написания статьи уже довольно проработанный, практически не требующий доработок. Его создали в Китае с целью обхода великого китайского файрволла (Great Firewall of China, GFW). Там протокол зарекомендовал себя с хорошей стороны.

Подробнее о принципе работы:

  1. Функционал протокола основан на использовании возможностей прокси-серверов.
  2. Использование дополнительного хоста позволяет «обходить» блокировки провайдера.
  3. Основой Shadowsocks стал протокол прокси SOCKS5 с поддержкой шифрования AEAD.
  4. Принцип работы похож на туннель SSH, но используются чуть менее надежные алгоритмы.

Формально Shadowsocks лишь напоминает VPN. В отличие от виртуальных частных сетей выявить включенный протокол довольно сложно, т.к. он эмулирует обычное HTTPS-соединение. Подобный подход и позволяет системе успешно работать в китайских условиях повальной цензуры, запрета на открытие огромного количества сайтов и пр.

Как работает Shadowsocks

Чтобы понять, как функционирует система, разобьем ее на основные элементы. Они действуют как единое целое, поэтому разделение условное, на практике пользователь его не увидит независимо от режима использования Shadowsocks.

Протокол подразумевает работу следующих элементов:

  1. Клиент – устройство пользователя, это компьютер, планшет или смартфон. На него нужно установить клиентское приложение Shadowsocks (на iOS, Android). Программа шифрует передаваемые данные.
  2. Сервер Shadowsocks – посредник между клиентским устройством и целевым сервером. Он получает зашифрованные данные и передает их, например, на открываемый пользователем сайт. По получению ответа шифрует его и передает клиенту.
  3. Прокси SOCS5 – локальный прокси-сервер, работающий на устройстве клиента. Занимается обработкой запросов и направлением трафика на сервер.
  4. Шифрование – система поддерживает протоколы AES, ChaCha20 и Salsa20. Как шифрация, так и дешифрация осуществляется в автоматическом режиме.

Еще есть такое элемент как «обфускация». Это методика сокрытия трафика Shadowsocks, дающая возможность избежать глубокой проверки пакетов. Передача маскируется под обычный HTTPS, и провайдер не может распознать и заблокировать ее как запрещенный «защищенный канал».

Настройка Shadowsocks

В качестве примера возьмем удаленный сервер с предустановленной операционной системой Ubuntu 20.04 (как и рекомендует разработчик). Инсталлировать будем ShadowsocksR (SSR). Перед началом работы скачаем на компьютер SSH-клиент PuTTY, подключимся к удаленному серверу с использованием выданными провайдером данными (IP-адрес, логин и пароль). Предварительно нужно изменить список репозиториев на стандартные для Ubuntu 20.04 и обновить операционку.

Подготовка системы

Откроем файл sources.list командой при помощи консольного текстового редактора Nano. Это один из универсальных решений для Unix и Linux. Если редактор установлен, можно сразу пользоваться им для редактирования файлов. Чтобы инсталлировать программу, введите команду: sudo apt install nano. Напомним, что консоль можно запустить комбинацией клавиш Ctrl+Alt+T.

Откроем файл списка репозиториев на редактирование:

nano /etc/apt/sources.list

Текущее содержимое нужно удалить и вставить строки, приведенные ниже:

deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse

deb http://archive.canonical.com/ubuntu focal partner

deb-src http://archive.canonical.com/ubuntu focal partner

Следующим шагом обновим операционку командой:

apt update -y &&

apt upgrade -y

Обновление компонентов Ubuntu нужно для лучшей безопасности и стабильности работы любых программ, включая ВПН.

Установка ShadowsocksR (SSR)

Перед установкой программного обеспечения SSR активируйте соединение с удаленным сервером по туннелю SSH под пользователем root и выполните команды:

wget —no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh &&

chmod +x shadowsocks-all.sh &&

./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

Они запустят заранее подготовленный скрипт, существенно упрощающий процедуру инсталляции. После нажатия Enter появится запрос варианта установки. Нажмите цифру 2.

настройка сервера shadowsocks

Придумайте достаточно сложный пароль или согласитесь со случайно сгенерированным, который содержит 16 случайных символов – цифр, прописных и заглавных латинских букв. Нажатием на клавишу Enter подтвердите правильность пароля.

shadowsocks vpn

Выберите любой из незанятых на сервере портов. Например, 9662, предлагаемый «по умолчанию». Менять значение на другое есть смысл, если нужно повысить защищенность системы, чтобы ее не взломали «стандартными» средствами, работающими с типовыми настройками.

shadowsocks ios

Выберите подходящий вариант шифрования. «По умолчанию» система предлагает AES-256-CFB. Его можно оставить нажатием клавиши Enter.

shadowsocks сервер

Теперь нужно выбрать протокол, по которому будет работать приложение Shadowsocks. Например, можно оставить значение «по умолчанию», именуемое origin:

shadowsocks это

В следующем окне выберите пункт 3, http_simple_compatible. На этом настройка SSR завершена и после нажатия Enter достаточно просто подождать пока система самостоятельно скопирует нужные для работы файлы. В завершение инсталляции она предложит ссылку для размещения на сайте. По ней будет сформирован QR-код для настройки клиентов.

блокировка shadowsocks

Настройка и запуск клиента

Найти клиентские приложения для Windows и Android можно на портале GITHUB или в фирменном магазине приложений Apple App Store. Во втором случае в поиск нужно вбить название Potatso Lite или Shadowrocket. На MacOS дистрибутив также расположен на GITHUB. В качестве примера разберем настройку Shadowsocks на Windows.

shadowsocks vps

Распакуйте скачанный архив в отдельный каталог и запустите файл ShadowsocksR-dotnet4.0.exe. Первым шагом на экране компьютера может быть выведено окно защитника Microsoft, если он не был ранее отключен. При наличии запроса нужно нажать «Дополнительная информация», а затем «Выполнить в любом случае».

В открывшемся окне введите:

  1. IP-адрес удаленного сервера – его можно узнать в личном кабинете на сайте провайдера.
  2. Порт подключения – введите ранее выбранный, в нашем примере это 9662.
  3. Пароль – введите указанный при инсталляции/настройке.
  4. Шифрование – выберите тот, что был установлен на этапе выбора вариантов.

Остается нажать кнопку «Применить».

outline shadowsocks

После клика на кнопку ОК должно появиться уведомление об инициализации подключения (при штатной работе сервера). Чтобы убедиться в работоспособности системы, нажмите левой кнопкой мышки на значке бумажного самолетика в трее, выберите там вкладку Mode и убедитесь, что там установлен режимGlobal.

Также стоит убедиться, что IP-адрес действительно изменился. Его можно проверить при помощи сайта https://2ip.ru//. Сначала стоит узнать реальный адрес, чтобы было с чем сравнивать. Визуально больше никаких различий в том же серфинге не будет. Пользователь все так же вводит адреса через браузер, открывает сайты. Но провайдер интернета и иные «промежуточные» сервисы не увидят активности в том виде, какая она есть (благодаря подмене IP, шифрованию данных).

Главные преимущества Shadow

Система позволяет настраивать доступ через «защищенный канал» как на уровне компьютера или мобильного устройства, так и на уровне браузера, маршрутизатора. Есть поддержка графического подключения клиентов по QR-коду. Это удобно для настройки Shadowsocks на Андроид, iOS. Все, что требуется от владельца сервера – сгенерировать код и выложить его на сайт. Или передать через мессенджеры всем заинтересованным.

Есть еще плюсы:

  1. Простая настройка Shadowsocks VPN (и сервера, и клиента).
  2. Пользовательский софт разработан под все операционки.
  3. Обладает хорошей пропускной способностью по сравнению с тем же SSH.
  4. Временный обрыв связи никогда не приводит к «падению» протокола.
  5. Полный доступ к серверу предоставляется без прав админа.

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

ПротоколШифрованиеКлиентские приложенияОткрытый кодРабота при обрыве связиПростота настройки клиента
Shadowsocks
WireGuard
OpenVPN
IKEv2
IPsec
L2TP

На фоне протоколов для ВПН Shadowsocks выглядит весьма презентабельно. Да, шифрование у него недотягивает до мировых стандартов. Зато система удобна в настройке, обеспечивает достаточно эффективное скрытие пользователя, его активности.

Разновидности Shadowsocks

Всего в сети можно встретить несколько версий технологии: Shadowsocks (SS), Shadowsocks-Rust. Первый вариант считается «базой», второй – актуальным направлением, который продолжают «доводить до ума». Еще есть ShadowsocksR (SSR), ответвление от версии Rust. Отметим, что все релизы на сегодняшний день являются работоспособными. Разница лишь в том, что оригинальная версия была разработана на языке программирования Python.

Более поздние версии были переписаны на чистом C, что дало снижение требований к аппаратному обеспечению компьютера-сервера. Оба варианта сейчас не развивают. Последние релизы пишут на языке Rust, весьма схожем по синтаксису с C++. Он дает преимущества по скорости работы, меньше нагружает сервер. Если протокол нужен для «домашнего использования», нет разницы какой из существующих вариантов будет выбран.

Блокировка Shadowsocks

При разворачивании собственного Shadowsocks VPS нужно помнить, что надзорным органам про него все известно, от технических возможностей, преимуществ до слабых мест. Так, относительно недавно, в ноябре 2023 года, в обновленный перечень блокировки ВПН-сервисов Роскомнадзора впервые вошел Shadowsocks. Блокировать его планируют при помощи ТСПУ (технических средств противодействия угрозам), устанавливаемых на трансграничных соединениях.

Насколько эффективна будет блокировка, когда ведомство всерьез возьмется за дело, покажет время (пока активных действий в этом направлении не замечено). Причина «паузы» объяснима – слишком уж хорошо протокол маскируется под «полезный трафик». При включении защиты почти наверняка будет нарушена работа значительного количества легальных сервисов и сетевых соединений. Этого пользователи «не простят», так что пока можно пользоваться Shadowsocks без опасений.

Чаво

Зашифрован ли трафик в Shadowsocks?

Да, данные с клиента на сервер и обратно передаются в зашифрованном виде. На целевые ресурсы они поступают в открытом виде, что необходимо для маскировки использования протокола.

Принципиально ли географическое размещение сервера?

Все зависит от назначения «защищенного канала». Если нужна гарантия открытия российских сайтов, высокая скорость соединения, стоит выбрать один из отечественных ЦОД.

Сколько стоят сервисы Shadowsocks?

Платформа для разворачивания ВПН распространяется бесплатно. Затраты будут только на аренду удаленного сервера, на оплату интернета.

Какую операционную систему лучше использовать на сервере?

Разработчик рекомендует разновидность Linux – Ubuntu. Но поддержка системы есть практически во всех операционках: Windows, MacOS и т.д.

Есть ли разница, какую версию Shadowsocks ставить?

Важно учитывать, что ряд релизов (см. текст) разработчик уже не поддерживает, поэтому защита данных при их использовании будет ниже по сравнению с актуальным решением.

Можно ли настроить Shadowsocks на маршрутизаторе/роутере?

Система поддерживает возможность установки клиента Shadowsocks Outline VPN, работающего на любых устройствах с установленной платформой OpenWRT.

Максим - ведущий тестировщик VPN в проекте vpnRussia, протестировал более 100 VPN-сервисов. С образованием в области информационных технологий, Максим специализируется на анализе и оценке производительности VPN, их безопасности и удобства использования. Его ключевые задачи включают проведение всесторонних тестов VPN-сервисов, выявление уязвимостей и проблем, а также подготовку детальных отчетов для пользователей.