Files

971 B

go-gost

Forwarding agent (forked GOST v3). Uses local x/ module via replace github.com/go-gost/x => ./x.

Structure

File Role
main.go Entry point, reads config.json, starts reporter + service
config.go Panel integration config loader (addr, secret, ports)
program.go GOST runtime: parse config, run/reload services (SIGHUP)
x/ Local fork of github.com/go-gost/x (own go.mod)

Conventions

  • Two config files: panel integration uses config.json; forwarding uses GOST config (gost.{json,yaml}).
  • x/ is the extension surface — add handlers/listeners/dialers there, not in vendored deps.
  • Agent→panel: WebSocket (real-time commands) + HTTP (batch traffic reports).
  • All panel communication uses AES encryption with node secret as PSK.

Anti-patterns

  • Don't edit x/internal/util/grpc/proto/*.pb.go (generated protobuf).

Commands

go run .
go test ./...
go build .