Proxy UDP über WebSocket – nützlich für die Verwendung von WireGuard in eingeschränkten Netzwerken.
Einfaches Beispiel:
Grafik LR
WC[Wireguard-Client] ---|UDP| B[Zia-Kunde]
B ---|Websocket| C[Zia Server]
C ---|UDP| D[Wireguard-Server]
Der Vorteil besteht darin, dass WebSocket HTTP verwendet. Wenn Sie sich in einem eingeschränkten Netzwerk befinden, in dem Sie nur über einen bereitgestellten HTTP-Proxy auf externe Dienste zugreifen können, können Sie Ihren WireGuard UDP-Verkehr über WebSocket über diesen Proxy weiterleiten.
Grafik LR
WC[Wireguard-Client] ---|UDP| B[Zia-Kunde]
B ---|Websocket| C[Http-Proxy]
C ---|Websocket| D[Zia Server]
D ---|UDP| E[Wireguard-Server]
Name | Beschreibung |
---|---|
WebSocket | Die UDP-Datagramme werden in WebSocket-Frames verpackt. Diese Frames werden dann an den Server übertragen, wo sie entpackt werden. |
TCP | Den UDP-Datagrammen wird eine 16-Bit-Länge des Datagramms vorangestellt und dann in TCP-Paketen an den Server übertragen. Auf dem Server werden diese Pakete entpackt und an den eigentlichen UDP-Upstream weitergeleitet. |
Der Client ist in der Lage, einen TLSv2- oder TLSv3-Handshake durchzuführen, der Server ist nicht in der Lage, TLS-Anfragen zu verarbeiten. In einem Fall, in dem eine End-to-End-TLS-Verschlüsselung (Zia-Client <-> Zia-Server) erfolgen soll, müssen Sie den Datenverkehr für den Server mithilfe eines Reverse-Proxys weiterleiten.
Laden Sie einfach die entsprechende Binärdatei aus der neuesten Version herunter oder verwenden Sie das Docker-Image:
ghcr.io/marcelcoding/zia-client
Umgebungsvariablen:
ZIA_LISTEN_ADDR=127.0.0.1:8080 # local udp listener
ZIA_UPSTREAM=ws://domain.tld:1234 # your zia server instance (ws(s) or tcp(s))
# ZIA_PROXY=http://user:[email protected]:8080 # optional http(s) proxy
Wenn Sie die Binärdatei verwenden, verwenden Sie --help
für alle verfügbaren Optionen.
Laden Sie einfach die entsprechende Binärdatei aus der neuesten Version herunter oder verwenden Sie das Docker-Image:
ghcr.io/marcelcoding/zia-server
Umgebungsvariablen:
ZIA_LISTEN_ADDR=0.0.0.0:1234 # public websocket listener (client -> ZIA_UPSTREAM)
ZIA_UPSTREAM=domain.tld:9999 # your actual udp service e.g. wireguard listener
ZIA_MODE=WS # WS or TCP see client -> ZIA_UPSTREAM
Wenn Sie die Binärdatei verwenden, verwenden Sie --help
für alle verfügbaren Optionen.