Если шифрование трафика до доверенного сервера — ваша единственная цель, то OpenVPN для такой цели слишком сложен в настройке, а Dante - A free SOCKS server не шифрует из коробки.
C 2012 года в Китае создан бесплатный открытый проект Shadowsocks. Это пара из программ для сервера и клиента, работающих по следующему принципу: клиент изображает из себя сервер SOCKS5 прокси, получает входящие соединения, шифрует их, транслирует на сервер и дальше выпускает в интернет. Принцип работы похож на SSH туннель, но имеет массу достоинств и пару недостатков по сравнению с ним.
Достоинства Shadowsocks:
Недостатки Shadowsocks:
Существуют две версии shadowsocks — референс, написанный на питоне, а shadowsock-libev это то же самое, но переписанное на чистом Си для скорости.
В Ubuntu 22 установим утилиты, Shadowsocks сервер и v2ray плагин:
apt-get install dialog htop lsof apt install shadowsocks-libev shadowsocks-v2ray-plugin
После установки сервер уже запущен с конфигурационным файлом /etc/shadowsocks-libev/config.json:
systemctl status shadowsocks-libev.service ● shadowsocks-libev.service - Shadowsocks-libev Default Server Service ... CGroup: /system.slice/shadowsocks-libev.service └─1762 /usr/bin/ss-server -c /etc/shadowsocks-libev/config.json
По умолчанию config.json не работает, для его запуска минимально необходимо изменить параметр server. Можно изменить так же метод шифрования. Приводим файл config.json к виду:
{ "server":["xxx.xxx.xxx.xxx"], "mode":"tcp_and_udp", "server_port":8388, "local_port":1080, "password":"your_password", "timeout":86400, "method":"aes-256-gsm" }
Замечание: если в браузере установлены расширения, которые управляют выбором прокси-сервера (VPN-расширения, Switchy Omega), то включение ShadowSocks через System Proxy - Global не будет иметь никакого эффекта на браузер. Нужно их либо выключить, либо перенастроить на системный прокси, если есть такая возможность.
Также этот способ можно применять на MacOS и Windows для запуска консольного клиента.
chmod +x shadowsocks2linux v2ray
./shadowsocks2-linux -c "ss://AEAD_CHACHA20_POLY1305:PASSWORD@DOMAIN:443" -verbose -socks :1080 -u -plugin v2ray -plugin-opts "tls;host=DOMAIN"
После запуска на локальном порту 1080 по адресу 127.0.0.1 будет доступен SOCKS5-прокси. Его уже можно использовать в программах.
С самого начала shadowsocks разрабатывался как средство для обхода блокировок в Китае, и достаточно в этом деле преуспевает. С некоторого момента он стал иметь возможность подключения внешних модулей-плагинов для оборачивания трафика shadowsocks в различные виды сетевых соединений. Это значительно расширяет границы его применения. shadowsocks - это шифрованный сетевой туннель, клиентская часть которого предоставляет доступ приложениям к сети как SOCKS-прокси, запущенный на этом же устройстве. Существуют клиентские приложения shadowsocks, которые позволяют заворачивать в него трафик как в VPN.
Obfs-proxy. Позволяет завернуть трафик Shadowsocks в чистый, непримечательный SSL и так пустить на порт 443. Это если у кого уже белые списки протоколов.