Хотя они могут выполнять похожие вещи, под капотом OpenVPN и Shadowsocks находятся совершенно разные звери.
OpenVPN - это VPN-сервер. Shadowsocks является прокси.
Прокси-сервер может (необязательно используя шифрование) попросить другой компьютер получить информацию для вас. Обычно промежуточная система фактически выполняет некоторую обработку пакетов. Это ограничивает программы, которые могут работать поверх него.
VPN шифрует пакеты, отправляемые между точками - в случае VPN, за исключением шифрования и пересылки необработанных пакетов, сервер VPN действительно изменяет пакеты. (* VPN-сервер может дополнительно развернуть NAT, который перезапишет исходный или целевой адрес пакетов). VPN более гибкие. Приложение должно быть построено для работы с SOCKS.
Серверы VPN обычно (но не всегда) легче обнаруживаются и блокируются правительствами, поскольку они, как правило, используют собственный протокол, чтобы сделать их более универсальными. Приложения не нуждаются в модификации для работы с VPN. Кроме того, природа VPN такова, что длинные сеансы могут быть обнаружены даже при просмотре веб-страниц, в то время как прокси-сервер будет открывать и закрывать соединение, как веб-страница.
Таким образом, ответ на вопрос зависит от вашей цели. Если «полет под радаром» при использовании ограниченного набора протоколов / программ более ценный, используйте SOCKS. Если требуется большая гибкость протоколов или больший контроль над основным механизмом доставки, используйте OpenVPN.
Еще один способ думать об этом заключается в том, что VPN накладывается на «виртуальную сеть» на уровне (близком к) на уровне ОС поверх части реальной фактической сети, в то время как прокси-сервер создает приложения для взаимодействия друг с другом в зашифрованном виде без виртуализации. базовая сеть.