
GO Simple Tunnel - un semplice tunnel scritto in golang
Sito Wiki: v2.gost.run
Gruppo Telegram: https://t.me/gogost
Gruppo 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
gost inoltra la richiesta attraverso la catena di proxy nell'ordine impostato da -F, che viene infine gestita da a.b.c.d:NNNN. Ogni proxy di inoltro può essere di qualsiasi tipo: HTTP/HTTPS/HTTP2/SOCKS4/SOCKS5/Shadowsocks.
gost -L=tcp://:2222/192.168.1.1:22 [-F=...]
Inoltra i dati dalla porta TCP locale 2222 a 192.168.1.1:22 (attraverso la catena di proxy). Quando l'ultimo nodo della catena di proxy (ultimo parametro -F) è di tipo tunnel SSH, gost utilizza direttamente la funzione di inoltro porte locale di 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=...]
Inoltra i dati dalla porta UDP locale 5353 a 192.168.1.1:53 (attraverso la catena di proxy). Ogni canale di inoltro ha un timeout; se superato senza scambio di dati, il canale viene chiuso. È possibile impostare il timeout tramite il parametro ttl; il valore predefinito è 60 secondi.
Nota: Quando si inoltrano dati UDP e se è presente una catena di proxy, l'ultimo nodo della catena (ultimo parametro -F) deve essere un proxy gost di tipo SOCKS5; gost utilizzerà UDP over TCP per l'inoltro.
gost -L=rtcp://:2222/192.168.1.1:22 [-F=... -F=socks5://172.24.10.1:1080]
Inoltra i dati da 172.24.10.1:2222 a 192.168.1.1:22 (attraverso la catena di proxy). Quando l'ultimo nodo della catena (ultimo parametro -F) è di tipo tunnel SSH, gost utilizza direttamente la funzione di inoltro porte remoto di 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]
Inoltra i dati da 172.24.10.1:5353 a 192.168.1.1:53 (attraverso la catena di proxy). Ogni canale di inoltro ha un timeout; se superato senza scambio di dati, il canale viene chiuso. È possibile impostare il timeout tramite il parametro ttl; il valore predefinito è 60 secondi.
Nota: Quando si inoltrano dati UDP e se è presente una catena di proxy, l'ultimo nodo della catena (ultimo parametro -F) deve essere un proxy GOST di tipo SOCKS5; gost utilizzerà UDP-over-TCP per l'inoltro.
Il supporto HTTP2 di gost ha due modalità:
Server:
gost -L=http2://:443
Client:
gost -L=:8080 -F=http2://server_ip:443
Server:
gost -L=h2://:443
Client:
gost -L=:8080 -F=h2://server_ip:443
Il supporto QUIC di gost è basato sulla libreria quic-go.
Server:
gost -L=quic://:6121
Client:
gost -L=:8080 -F=quic://server_ip:6121
Nota: La modalità QUIC può essere utilizzata solo come primo nodo della catena di proxy.
Il supporto KCP di gost è basato sulle librerie kcp-go e kcptun.
Server:
gost -L=kcp://:8388
Client:
gost -L=:8080 -F=kcp://server_ip:8388
gost carica automaticamente il file di configurazione kcp.json nella directory di lavoro corrente (se presente), oppure è possibile specificare manualmente il percorso del file di configurazione tramite parametro:
gost -L=kcp://:8388?c=/path/to/conf/file
Nota: La modalità KCP può essere utilizzata solo come primo nodo della catena di proxy.
Il supporto SSH di gost ha due modalità:
Server:
gost -L=forward+ssh://:2222
Client:
gost -L=rtcp://:1222/:22 -F=forward+ssh://server_ip:2222
Server:
gost -L=ssh://:2222
Client:
gost -L=:8080 -F=ssh://server_ip:2222?ping=60
Tramite il parametro ping è possibile impostare l'intervallo di invio dei pacchetti heartbeat, in secondi. Per impostazione predefinita, non vengono inviati heartbeat.
Proxy trasparente basato su iptables.