zia
v0.2.9
WebSocket을 통한 프록시 UDP - 제한된 네트워크에서 WireGuard를 사용하는 데 유용합니다.
기본 예:
그래프 LR
WC[Wireguard 클라이언트] ---|UDP| B[지아클라이언트]
B ---|웹소켓| C[지아 서버]
C ---|UDP| D[Wireguard 서버]
WebSocket이 HTTP를 사용한다는 이점이 있습니다. 제공된 HTTP 프록시를 사용하여 외부 서비스에만 액세스할 수 있는 제한된 네트워크에 있는 경우 해당 프록시를 통해 WebSocket을 통해 WireGuard UDP 트래픽을 프록시할 수 있습니다.
그래프 LR
WC[Wireguard 클라이언트] ---|UDP| B[지아클라이언트]
B ---|웹소켓| C[Http 프록시]
C ---|웹소켓| D[지아 서버]
D ---|UDP| E[Wireguard 서버]
이름 | 설명 |
---|---|
웹소켓 | UDP 데이터그램은 WebSocket 프레임 내에 래핑됩니다. 그런 다음 이러한 프레임은 서버로 전송되어 래핑이 해제됩니다. |
TCP | 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
사용하세요.