zia
v0.2.9
透過 WebSocket 代理 UDP - 在受限網路中使用 WireGuard 很有用。
基本範例:
圖LR
WC[Wireguard 用戶端] ---|UDP| B[齊亞客戶端]
B ---|Websocket| C[Zia伺服器]
C ---|UDP| D[Wireguard 伺服器]
WebSocket 的好處是使用 HTTP。如果您位於受限網路中,只能使用提供的 HTTP 代理程式存取外部服務,則可以透過該代理程式透過 WebSocket 代理程式 WireGuard UDP 流量。
圖LR
WC[Wireguard 用戶端] ---|UDP| B[齊亞客戶端]
B ---|Websocket| C[Http代理程式]
C ---|Websocket| D[齊亞伺服器]
D ---|UDP| E[Wireguard伺服器]
姓名 | 描述 |
---|---|
WebSocket | UDP 資料報封裝在 WebSocket 訊框內。然後,這些幀被傳輸到伺服器,並在伺服器上被解包。 |
傳輸控制協定 | UDP資料封包以16位元資料封包長度為前綴,然後以TCP套件的形式傳送到伺服器。在伺服器上,這些套件被解開並轉發到實際的 UDP 上游。 |
客戶端能夠進行 TLSv2 或 TLSv3 握手,伺服器無法處理 TLS 請求。如果需要進行端對端(zia-client <-> zia-server)TLS 加密,您必須使用反向代理來代理伺服器的流量。
只需從最新版本下載適當的二進位文件,或使用 Docker 映像:
ghcr.io/marcelcoding/zia-client
環境變數:
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
如果您使用二進位文件,請使用--help
查看所有可用選項。
只需從最新版本下載適當的二進位文件,或使用 Docker 映像:
ghcr.io/marcelcoding/zia-server
環境變數:
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
如果您使用二進位文件,請使用--help
查看所有可用選項。