
GO Simple Tunnel - um túnel simples escrito em golang
Site Wiki: v2.gost.run
Grupo de discussão Telegram: https://t.me/gogost
Grupo de discussão Google: https://groups.google.com/d/forum/go-gost
GOST v3 https://gost.run
https://github.com/ginuerzh/gost/releases
git clone https://github.com/ginuerzh/gost.git
cd gost/cmd/gost
go build
docker run --rm ginuerzh/gost -V
brew install gost
sudo snap install core
sudo snap install gost
gost -L=:8080
gost -L=admin:123456@localhost:8080
gost -L=http2://:443 -L=socks5://:1080 -L=ss://aes-128-cfb:123456@:8338
gost -L=:8080 -F=192.168.1.1:8081
gost -L=:8080 -F=http://admin:[email protected]:8081
gost -L=:8080 -F=quic://192.168.1.1:6121 -F=socks5+wss://192.168.1.2:1080 -F=http2://192.168.1.3:443 ... -F=a.b.c.d:NNNN
O gost encaminha as solicitações através da cadeia de proxies na ordem definida por -F, eventualmente enviando para a.b.c.d:NNNN. Cada proxy de encaminhamento pode ser de qualquer tipo: HTTP/HTTPS/HTTP2/SOCKS4/SOCKS5/Shadowsocks.
gost -L=tcp://:2222/192.168.1.1:22 [-F=...]
Encaminha os dados da porta TCP local 2222 (através da cadeia de proxies) para 192.168.1.1:22. Quando o final da cadeia (último argumento -F) é do tipo túnel de encaminhamento SSH, o gost utiliza diretamente a funcionalidade de encaminhamento de porta local do SSH:
gost -L=tcp://:2222/192.168.1.1:22 -F forward+ssh://:2222
gost -L=udp://:5353/192.168.1.1:53?ttl=60 [-F=...]
Encaminha os dados da porta UDP local 5353 (através da cadeia de proxies) para 192.168.1.1:53. Cada canal de encaminhamento possui um tempo limite; se esse tempo for excedido sem qualquer troca de dados, o canal será fechado. O parâmetro ttl define o tempo limite; o padrão é 60 segundos.
Nota: Ao encaminhar dados UDP, se houver uma cadeia de proxies, o final da cadeia (último argumento -F) deve ser um proxy do tipo gost SOCKS5; o gost utilizará UDP over TCP para encaminhamento.
gost -L=rtcp://:2222/192.168.1.1:22 [-F=... -F=socks5://172.24.10.1:1080]
Encaminha os dados de 172.24.10.1:2222 (através da cadeia de proxies) para 192.168.1.1:22. Quando o final da cadeia (último argumento -F) é do tipo túnel de encaminhamento SSH, o gost utiliza diretamente a funcionalidade de encaminhamento de porta remota do SSH:
gost -L=rtcp://:2222/192.168.1.1:22 -F forward+ssh://:2222
gost -L=rudp://:5353/192.168.1.1:53?ttl=60 [-F=... -F=socks5://172.24.10.1:1080]
Encaminha os dados de 172.24.10.1:5353 (através da cadeia de proxies) para 192.168.1.1:53. Cada canal de encaminhamento possui um tempo limite; se esse tempo for excedido sem qualquer troca de dados, o canal será fechado. O parâmetro ttl define o tempo limite; o padrão é 60 segundos.
Nota: Ao encaminhar dados UDP, se houver uma cadeia de proxies, o final da cadeia (último argumento -F) deve ser um proxy do tipo GOST SOCKS5; o gost utilizará UDP-over-TCP para encaminhamento.
O suporte HTTP2 do gost possui dois modos:
Servidor:
gost -L=http2://:443
Cliente:
gost -L=:8080 -F=http2://server_ip:443
Servidor:
gost -L=h2://:443
Cliente:
gost -L=:8080 -F=h2://server_ip:443
O suporte QUIC do gost é baseado na biblioteca quic-go.
Servidor:
gost -L=quic://:6121
Cliente:
gost -L=:8080 -F=quic://server_ip:6121
Nota: O modo QUIC só pode ser usado como primeiro nó da cadeia de proxies.
O suporte KCP do gost é baseado nas bibliotecas kcp-go e kcptun.
Servidor:
gost -L=kcp://:8388
Cliente:
gost -L=:8080 -F=kcp://server_ip:8388
O gost carrega automaticamente o arquivo de configuração kcp.json (se existir) no diretório de trabalho atual, ou você pode especificar manualmente o caminho com um parâmetro:
gost -L=kcp://:8388?c=/path/to/conf/file
Nota: O modo KCP só pode ser usado como primeiro nó da cadeia de proxies.
O suporte SSH do gost possui dois modos:
Servidor:
gost -L=forward+ssh://:2222
Cliente:
gost -L=rtcp://:1222/:22 -F=forward+ssh://server_ip:2222
Servidor:
gost -L=ssh://:2222
Cliente:
gost -L=:8080 -F=ssh://server_ip:2222?ping=60
O parâmetro ping define o intervalo de envio de heartbeats, em segundos. Por padrão, nenhum heartbeat é enviado.
Proxy transparente baseado em iptables.