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

В этой небольшой статье я показываю, как поднять свой ShadowSocks сервер и тем самым обезопасить своё пребывание в Интернете. Статья является исключительно ознакомительной и не призывает использовать данный инструмент для нарушения законов!

Арендуем сервер под ShadowSocks

Можно арендовать VPS на XorekCloud в Европе за копейки, с самым стартовым конфигом.

При установке лучше выбрать Ubuntu 22 или 24.

Установка Docker

Для начала установим Docker и Docker-compose:
apt install -y docker.io docker-compose

Установка и настройка ShadowSocks

Далее разворачиваем ShadowSocks контейнер:
docker run -d \
  --name shadowsocks \
  -p 8388:8388 \
  -p 8388:8388/udp \
  --restart unless-stopped \
  shadowsocks/shadowsocks-libev \
  ss-server -s 0.0.0.0 -p 8388 -k SUPER_PASSWORD -m aes-256-gcm
Вместо SUPER_PASSWORD пишем свой супер сложный пароль для доступа к соксу.

Открываем указанный порт для доступа по tcp и udp, если необходимо:
iptables -A INPUT -p tcp --dport 8388 -j ACCEPT
iptables -A INPUT -p udp --dport 8388 -j ACCEPT

Генерируем конфиг строку

Осталось сформировать конфиг-строку для подключения на клиенте.
Я написал утилиту, с помощью которой это удобно сделать, всего лишь вбив параметры точки доступа в соответствующие поля.

Параметры точки доступа у нас примерно такие (заменить на свои):
Server IP:  <IP_СЕРВЕРА>
Port:       8388
Password:   SUPER_PASSWORD
Method:     aes-256-gcm

Осталось полученную конфиг-строку отдать клиенту ShadowSocks.

Клиенты ShadowSocks

Клиенты под все платформы есть тут. Сам я использую Outline и для Mac OS, и для iOS.