Protocol¶
As described in Proxy, Forwarding and Tunnel, a GOST service or node is divided into two layers, the data processing layer and the data channel layer, each layer corresponds to a network protocol. The two layers are independent of each other and can be used in any combination (except for some restrictions).
Data Processing¶
Data processing is divided into two types: proxy and forwarding.
Proxy¶
http- HTTPhttp2- HTTP2socks4- SOCKS4/SOCKS4Asocks,socks5- SOCKS5ss- Shadowsocksssu- Shadowsocks UDP relaysni- SNIrelay- Relay
Forwarding¶
tcp- TCP port forwardingudp- UDP port forwardingrtcp- TCP remote port forwardingrudp- UDP remote port forwarding
Data Channel¶
The data channel is used to carry proxy or forward protocol data. Currently supported data channel protocols are:
tcp- Raw TCP protocolmtcp- Multiplex over raw TCPudp- Raw UDP protocoltls- TLSdtls- DTLSmtls- Multiplex over TLSws- Websocketmws- Multiplex over Websocketwss- Websocket Securemwss- Multiplex over Websocket Secureh2- HTTP2h2c- HTTP2 Cleartextgrpc- gRPCpht- Plain HTTP Tunnelssh,sshd- SSHkcp- KCPquic- QUICh3- PHT over HTTP/3wt- HTTP/3 WebTransportohttp- HTTP Obfuscationotls- TLS Obfuscationicmp,icmp6- ICMP, ICMPv6ftcp- Fake TCP
Some Special Protocols¶
file- HTTP File Server
https- Equivalent to HTTP proxy and TLS channel combination (http+tls)
http3- HTTP3 reverse proxy service
dns- DNS Proxy
red,redir,redirect- TCP Transparent Proxy
redu- UDP Transparent Proxy
tun- TUN Device
tap- TAP Device
router- Routing Tunnel
tungo- TUN2SOCKS
forward- Server-Side Forwarding
virtual- Virtual Node
unix- Unix Domain Socket Redirector
serial- Serial Port Redirector
Limitation¶
- All data channels based on UDP protocol (such as kcp, quic, h3, wt, including icmp) can only be used for the first-level nodes in the forwarding chain.