mirror of
https://github.com/go-gost/x.git
synced 2026-10-19 16:16:32 +00:00
Any dialer can now declare its base transport to run through a tunnel opened by a named p2p plugin component: a top-level p2ps: section registers TunnelProviders (gRPC plugin), and chain node metadata "p2p: <name>" wraps the node's dialer so it dials the plugin's OpenTunnel endpoint instead of the network directly. The inner dialer keeps its protocol (tls/ws/mux) and Handshake, which the wrapper forwards so it still triggers at Transport.Handshake. - x/p2p: tunnelDialer (fail-closed, per-dial tunnel with idempotent CloseTunnel on conn close), SupportedDialer whitelist (tcp only; fail closed for unverified inner dialers), gRPC TunnelProvider - config: P2PConfig, parsing, loader registration (reload-safe via unregister+Close), mergeConfig wiring - dialer wrapper registered before Init so the chain inits once - pin github.com/go-gost/plugin v0.6.0 (p2p proto); dependency bumps are a consequence of the new import