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
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.