43724a5c40938986f680065314c09c1d2d10f0b3
Add tests/e2e/http2_test.go covering the http2 handler/listener/connector/dialer
end-to-end through the canonical gost-as-client pattern (8 subtests: forward,
auth, bypass, probeResist/metadata, h2 stream multiplexing). Include
testdata/http2/{server,server_auth,server_bypass,server_proberesist,client,
client_auth}.yaml. Note that h2/h2c listeners pair with the tunnel handler
and only http2 listener pairs with handler http2 (reads r/w from metadata).
Tighten TestDNSHostMapper by pointing the handler at an unreachable upstream
so unmapped names fail at the exchanger, confirming the host-mapper path was
the sole reason mapped names resolved. Fix http_idle_timeout.py to speak HTTP
through the CONNECT tunnel rather than a raw ping, matching the echo backend.
Co-Authored-By: Claude <noreply@anthropic.com>
GO Simple Tunnel
A simple security tunnel written in golang
Features
- Listening on multiple ports
- Multi-level forwarding chain
- Rich protocol
- TCP/UDP port forwarding
- Reverse Proxy and Tunnel
- TCP/UDP transparent proxy
- DNS resolver and proxy
- TUN/TAP device and TUN2SOCKS
- Load balancing
- Routing control
- Admission control
- Bandwidth/Rate Limiter
- Plugin System
- Prometheus metrics
- Dynamic configuration
- Web API
- GUI/WebUI
Overview
There are three main ways to use GOST as a tunnel.
Proxy
As a proxy service to access the network, multiple protocols can be used in combination to form a forwarding chain for traffic forwarding.
Port Forwarding
Mapping the port of one service to the port of another service, you can also use a combination of multiple protocols to form a forwarding chain for traffic forwarding.
Reverse Proxy
Use tunnel and intranet penetration to expose local services behind NAT or firewall to public network for access.
Installation
Binary files
https://github.com/go-gost/gost/releases
install script
# install latest from [https://github.com/go-gost/gost/releases](https://github.com/go-gost/gost/releases)
bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh) --install
# select version for install
bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh)
From source
git clone https://github.com/go-gost/gost.git
cd gost/cmd/gost
go build
Docker
docker run --rm gogost/gost -V
Tools
GUI
WebUI
Shadowsocks Android
hamid-nazari/ShadowsocksGostPlugin
Support
Wiki: https://gost.run
YouTube: https://www.youtube.com/@gost-tunnel
Telegram: https://t.me/gogost
Google group: https://groups.google.com/d/forum/go-gost
Legacy version: v2.gost.run
Description
Languages
Go
82.9%
Makefile
9.1%
Shell
6.7%
Dockerfile
1.3%



