Obwohl sie ähnliche Dinge ausführen können, sind OpenVPN und Shadowsocks völlig verschiedene Bestien.
OpenVPN ist ein VPN-Server. Shadowsocks ist ein Proxy.
Ein Proxy kann (optional mithilfe von Verschlüsselung) einen anderen Computer um Informationen bitten. Im Allgemeinen führt das Zwischensystem tatsächlich eine Verarbeitung der Pakete durch. Dies begrenzt die Programme, die darüber laufen können.
Ein VPN verschlüsselt Pakete, die zwischen Punkten gesendet werden - im Falle eines VPNs, bei dem die Verschlüsselung entfernt und das Rohpaket weitergeleitet wird, ändert der VPN-Server die Pakete. (* Ein VPN-Server kann zusätzlich NAT bereitstellen, das die Quell- oder Zieladresse der Pakete neu schreibt). VPNs sind flexibler. Um mit SOCKS arbeiten zu können, muss eine Anwendung erstellt werden.
VPN-Server sind im Allgemeinen (aber nicht immer) für Regierungen leichter zu erkennen und zu blockieren, da sie im Allgemeinen ihr eigenes Protokoll sprechen, um sie allgemeiner zu machen. Anwendungen müssen nicht geändert werden, um mit einem VPN zu arbeiten. Die Art eines VPN ist auch so, dass lange Sitzungen auch beim Surfen im Internet erkannt werden können, während ein Proxyserver die Verbindung wie eine Webseite öffnet und schließt.
Die Antwort hängt von Ihrem Verwendungszweck ab. Wenn das "Fliegen unter dem Radar" bei Verwendung einer begrenzten Anzahl von Protokollen / Programmen wertvoller ist, verwenden Sie SOCKS. Wenn eine größere Flexibilität der Protokolle oder eine größere Kontrolle des zugrunde liegenden Übermittlungsmechanismus erforderlich ist, verwenden Sie OpenVPN.
Man kann sich auch vorstellen, dass ein VPN ein "virtuelles Netzwerk" auf (nahe) einer OS-Ebene über einem Teil eines tatsächlichen Netzwerks überlagert, während ein Proxy Anwendungen erstellt, die ohne Virtualisierung verschlüsselt miteinander kommunizieren das zugrunde liegende Netzwerk.