34 Commits
Author SHA1 Message Date
ginuerzh 7000217d4f p2p/proto: replace the endpoint data plane with a Tunnel bidi stream
OpenTunnel now only authorizes the tunnel and returns a random single-use
id (the stream credential); the reserved endpoint field and CloseTunnel
are removed. Tunnel is a bidi stream whose lifetime is the tunnel's
lifetime, bound to the OpenTunnel id via the "id" metadata key. Breaking
change; regenerated with the pinned toolchain.
v0.8.0
2026-09-12 08:19:13 +08:00
ginuerzh ee9e947e12 p2p/proto: add network field to OpenTunnelRequest
Selects the endpoint's semantics: "tcp" (a byte stream, the default when
empty) or "udp" (a datagram endpoint, one datagram per write). A datagram
tunnel is what carries a tun link, since a byte-stream endpoint coalesces
and splits packets. Empty defaults to tcp, so existing clients and hosts
are unaffected.
v0.7.0
2026-09-11 20:20:29 +08:00
ginuerzh cba3f64b43 namespace proto file registrations to fix global registry collisions
Regenerate all protos from the module root with full relative paths so
descriptors register as e.g. auth/proto/auth.proto instead of bare
auth.proto. The protobuf file registry is process-global, so generic
filenames collided with other libraries and panicked at init
(proto: file "auth.proto" is already registered, #3).

Go API and wire format unchanged.
v0.6.1
2026-09-05 22:23:11 +08:00
ginuerzh 4b63a42bfd bump go 1.26, grpc 1.83.2, protobuf 1.36.11 v0.6.0 2026-09-05 21:18:05 +08:00
ginuerzh 2bf4d0be00 add .gitignore, document p2p plugin
- .gitignore excludes .codegraph/.claude/.remember and test artifacts
- CLAUDE.md: service catalog now 13 types; p2p row plus its deliberate
  deviations (opaque peer/endpoint, no example/, gRPC-only)
- README.md: p2p row and usage section with p2ps: config snippet
2026-09-05 20:59:43 +08:00
ginuerzh 18cd71e613 drop go-gost/x dependency from hop examples
The two hop examples imported x/config only for the NodeConfig type to
build demo nodes, dragging x (and its viper dependency tree) under the
plugin SDK — inverting the x -> plugin layering and one pin-bump away
from a package import cycle. The node payload is plain JSON on the
wire, so the examples now use local struct types with the same JSON
shape. go.mod shrinks to grpc + protobuf.
2026-09-05 20:52:07 +08:00
ginuerzh 45f52ef4bb add p2p plugin control protocol
P2P service with OpenTunnel/CloseTunnel/Status unary RPCs: the client
sends an opaque peer identifier, the plugin replies with an opaque
tunnel handle (v1: locally dialable TCP host:port). Error semantics:
transport/validation failures go through gRPC status; business
failures answer ok:false with a gRPC OK status — clients treat either
as failure. CloseTunnel is idempotent. Generated code checked in.
2026-09-05 20:44:48 +08:00
ginuerzh 40ac06135f auth/proto: add client certificate fields to AuthenticateRequest
Add client_cn, client_san, and client_cert_fingerprint fields to the
auth protobuf for passing TLS client certificate info during authentication.
v0.5.0
2026-07-05 12:45:06 +08:00
ginuerzh 7bbdfdac5f add rewriter plugin v0.4.0 2026-06-27 21:39:34 +08:00
ginuerzh e1226236da add network field to admission request, add CLAUDE.md and README.md v0.3.0 2026-05-21 22:22:12 +08:00
ginuerzh 146c8ff22e add service option v0.2.1 2025-08-29 23:32:38 +08:00
ginuerzh b76208b1e0 update router v0.2.0 2025-02-08 23:04:47 +08:00
ginuerzh 52c6cd2c7e add scope and service params for traffic limiter v0.1.1 2024-08-31 09:26:35 +08:00
pfulier 5b1a61b344 add LICENSE 2024-08-07 09:03:25 +08:00
ginuerzh 4a3c8f830f v0.1.0 v0.1.0 2024-07-08 22:50:37 +08:00
ginuerzh 20ced6222a fix hop http plugin example 2024-01-27 21:28:52 +08:00
ginuerzh 9c84e29cb8 add observer 2024-01-03 20:53:38 +08:00
ginuerzh d49a1cb23b fix router example 2023-11-19 16:43:31 +08:00
ginuerzh 96a9cabbf6 update router 2023-11-19 16:14:35 +08:00
ginuerzh d959ab5484 add router plugin 2023-11-19 14:21:32 +08:00
ginuerzh bfe81cbb44 add traffic limiter plugin 2023-11-18 18:26:15 +08:00
ginuerzh 0ae4157b9d add path option for hop 2023-11-09 20:33:46 +08:00
ginuerzh a1cc7a13e0 update sd proto 2023-11-02 20:51:24 +08:00
ginuerzh 4c25027b8b add sd 2023-10-31 22:57:54 +08:00
ginuerzh 2cfb0a14b4 update recorder proto 2023-10-27 22:13:11 +08:00
ginuerzh e190e1c74d add path for bypass 2023-10-20 23:55:19 +08:00
ginuerzh fc558b9a31 update ingress.proto 2023-10-15 15:37:45 +08:00
ginuerzh bc86458bf2 update example 2023-09-30 17:49:33 +08:00
ginuerzh 8bc0679b5c add hop plugin 2023-09-28 21:02:11 +08:00
ginuerzh 4700171909 add client param for auth plugin 2023-09-21 19:58:16 +08:00
ginuerzh 3fb3ca8dea update examples 2023-09-20 23:10:34 +08:00
ginuerzh 0e42c7c67e add client ID 2023-09-19 22:32:40 +08:00
ginuerzh 288089404a update example 2023-04-20 19:04:53 +08:00
ginuerzh d221a4ec9a initial commit 2023-04-18 20:31:01 +08:00