Решение? Shadowsocks!

#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-подключения. Страницы открываются куда быстрее. Мне нравится.