Перейти к основному содержанию

Решение? Shadowsocks!

11 апреля 2020 · 2 минуты чтения

vpn · tips

Про VPN неоднократно писал, не раз экспериментировал с различными провайдерами и сервисами. Но постоянно что-то да не устраивало.

Из платных решений самым оптимальным является Mullvad, за пять евро в месяц неограниченный трафик по протоколам OpenVPN и WireGuard. При этом есть возможность определять стандартные порты для работы, типа 443, 80 или 53.

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

Попробовал использовать Outline, был сильно удивлен, что при использовании shadowsocks-сервера получал максимум 30 мегабит по скорости. Пробовал недолго, в результате просто удалил его.

И только спустя пару недель после последнего тестирования решил запустить ShadowSocks-сервер самостоятельно в Docker, остановил свой выбор на shadowsocks-libev, запускается просто:

docker pull shadowsocks/shadowsocks-libev
docker run -e PASSWORD=<password> -p<server-port>:8388 -p<server-port>:8388/udp -d shadowsocks/shadowsocks-libev

Достаточно только указать порт и пароль для подключения. Для подключения на телефоне использовал клиент ShadowRocket. После добавления подключения удивился тому, что сеть не работает. По логам контейнера понял, что неверно указал параметры подключения и использовал стандартные параметры шифрования. Изменил на используемый в контейнере вариант aes-256-gcm, после чего все заработало.

Тестирование скорости поразило:

Изображение

Практически выбрал весь свой канал провайдера. При этом нагрузка на процессор на сервера не превышало 30%.

Что очень понравилось, латентность соединения много ниже обычного VPN-подключения. Страницы открываются куда быстрее. Мне нравится.