Commit Graph

  • f8ca4908f3 fix(hop): skip failed nodes before priority short-circuit, last-resort fallback v0.15.4 ginuerzh 2026-08-18 23:42:08 +08:00
  • cee264e184 refactor(selector): share IsFailed dead-node check with FailFilter ginuerzh 2026-08-18 23:21:34 +08:00
  • 64ea5184f8 fix(hop): drop marked-failed nodes before priority selection ginuerzh 2026-08-18 23:15:59 +08:00
  • fc5fc052e4 chore(deps): bump go-shadowsocks2 to v0.1.4 ginuerzh 2026-08-18 22:17:20 +08:00
  • e6aeba8701 fix(listener/redirect/udp): set SO_REUSEADDR on tproxy listener socket (gost#413) ginuerzh 2026-08-18 21:55:12 +08:00
  • cc02cff00c fix(logger): deduplicate keys across WithFields chains (gost#895) ginuerzh 2026-08-18 21:49:11 +08:00
  • 18df26e9bc Merge branch 'master' of github.com:go-gost/x v0.15.3 ginuerzh 2026-08-17 23:05:14 +08:00
  • a9be7e6dce fix(masque): repair server CONNECT-UDP relay (#122) Vincent Yang 2026-08-17 23:05:00 +08:00
  • 0e0eab0c52 fix(cmd): restore unix socket port-forward semantics ginuerzhandgithub 2026-08-17 22:51:00 +08:00
  • 98e9651361 cmd: keep absolute unix socket paths for path-based schemes (#121) Dean Chen 2026-08-17 19:29:17 +05:00
  • e4e36ca095 x: stream websocket reads instead of buffering each frame (#120) PahaKush 2026-08-17 23:28:48 +09:00
  • 746811eea5 fix: support SOCKS5 UDP associations over MASQUE (#119) Niek van der Maas 2026-08-17 16:28:20 +02:00
  • 7f72a81864 x: fix SSH authorized_keys parse failing on trailing newline (gost#699) v0.15.2 ginuerzh 2026-08-01 18:24:10 +08:00
  • 2112532e0a x: set TCP_NODELAY on ws/wss/tls transports to cut relay UDP latency ginuerzh 2026-08-01 16:59:54 +08:00
  • b2d901e70f x: add Redis TCP sniffing with protocol-based routing ginuerzh 2026-08-01 15:54:38 +08:00
  • b106f764a6 x: bump quic-dissector to v0.1.0, remove merged plan docs ginuerzh 2026-07-30 23:27:47 +08:00
  • edb0b5d651 x: extract shared QUIC sniffing helpers, add redirect UDP QUIC sniff ginuerzh 2026-07-30 23:23:38 +08:00
  • e3e41abd66 build(deps): bump github.com/pion/dtls/v3 from 3.1.1 to 3.1.4 (#118) dependabot[bot] 2026-08-01 15:59:34 +08:00
  • 221144fab3 fixed the issue where the pull request to exit and subsequent application writes to fail immediately in gost (#117) Anivice IvesandYour Name 2026-08-01 15:59:08 +08:00
  • 6b1c6757f6 x: record cache-hit status in HTTP recorder object v0.15.1 ginuerzh 2026-07-29 23:02:18 +08:00
  • 3157436140 x: add Redis backend for cache ginuerzh 2026-07-29 22:39:19 +08:00
  • 0ab5363f60 x: distinguish client vs server errors in service handler loop ginuerzh 2026-07-29 21:44:12 +08:00
  • 88670baeae x: don't overwrite ro.Host when TLS SNI is empty ginuerzh 2026-07-29 21:42:56 +08:00
  • 226420a622 x: allow empty TLS SNI in sniffing handlers ginuerzh 2026-07-28 23:52:29 +08:00
  • 3cd4fad4bf x: close forwarder hop probe goroutines on service shutdown ginuerzh 2026-07-28 23:45:40 +08:00
  • 291fa48fae x: add -race test coverage for chainGroup matcher/probe/close paths ginuerzh 2026-07-28 23:36:08 +08:00
  • 6e9ff675b5 x: extract duplicated cmd-probe logic into probe.RunCmdProbe ginuerzh 2026-07-28 23:31:15 +08:00
  • 506edffc93 x: skip eligible allocation when no matchers; always run FailFilter ginuerzh 2026-07-28 23:26:54 +08:00
  • 6248d4c0f8 x: derive probe goroutine context from lifecycle ctx (bug2) ginuerzh 2026-07-28 23:25:28 +08:00
  • 50f4a6b096 x: close chainGroup probe goroutines on service shutdown ginuerzh 2026-07-28 23:14:27 +08:00
  • 30ba6d64a5 x: add matcher + probe to chainGroup with independent entry marker ginuerzhandClaude 2026-07-28 21:20:34 +08:00
  • 72db96d4cd x: add hopGroup for conditional hop-level selection with probe/failCodes marker separation v0.15.0 ginuerzh 2026-07-27 22:08:34 +08:00
  • 8edf82af9b hop: fix backup-priority interaction — primary beats backup regardless of priority ginuerzh 2026-07-27 22:06:37 +08:00
  • 839f2a280b chore: bump deps (tls-dissector v0.3.1, quic-go v0.60.0, webtransport-go v0.11.1) v0.14.2 ginuerzh 2026-07-26 22:58:52 +08:00
  • c23a2f1e53 fix(redirect/tcp): sniffingFallback with empty SNI falls through to raw forwarding ginuerzh 2026-07-26 22:27:44 +08:00
  • 0ffc000d0d fix(forwarder/sniffer): update ho.recorderObject after ro copy to prevent nil HTTP panic ginuerzh 2026-07-26 22:09:55 +08:00
  • 486a77665d fix: prevent double-recording when HTTP response cache is enabled v0.14.1 ginuerzh 2026-07-26 20:11:36 +08:00
  • db3c7a375c chore: update swagger spec v0.14.0 ginuerzh 2026-07-26 17:58:12 +08:00
  • 9aab47bcd2 x/api: add cache CRUD web API endpoints ginuerzh 2026-07-26 17:57:11 +08:00
  • 3474501784 x: add generic cache component and HTTP response caching ginuerzh 2026-07-26 17:26:00 +08:00
  • b92c1b130a fix(dialer): propagate request ctx to QUIC OpenStreamSync and align keepalive/idle defaults ginuerzh 2026-07-26 12:51:04 +08:00
  • 431fe759dc x: matcher.bodySize defaults to DefaultMatcherBodySize (1MB) when unset ginuerzh 2026-07-25 21:46:48 +08:00
  • 4d15ca54af fix: rtcp listener tracks server-negotiated bind address for prefix fallback v0.13.18 ginuerzh 2026-07-25 18:47:16 +08:00
  • 6096be44af Merge branch 'master' of github.com:go-gost/x ginuerzh 2026-07-25 15:58:30 +08:00
  • bf6f7713d8 chore: bump github.com/go-gost/core to v0.5.5 v0.13.17 ginuerzh 2026-07-25 15:55:17 +08:00
  • 6a44b6f018 fix(dialer): don't force pure-Go DNS resolver on Android ginuerzh 2026-07-25 15:44:21 +08:00
  • 641536de3d docs: add fail-codes design plan ginuerzh 2026-07-25 14:36:59 +08:00
  • edd6e5f3f2 x: add failCodes support for HTTP status-based node fail marking ginuerzh 2026-07-25 14:36:46 +08:00
  • 88b03e0721 x: add numeric comparison operators (gt/ge/lt/le/eq/ne) to Header/Query/BodyJSON matchers ginuerzh 2026-07-25 13:43:17 +08:00
  • 7a190938aa chore: go get -u all v0.13.16 ginuerzh 2026-07-24 23:11:58 +08:00
  • bc06c7f5da x: wire MetadataFeature (relay v0.7.0) for tunnel recording mode negotiation v0.13.15 ginuerzh 2026-07-24 22:19:41 +08:00
  • d0287998cf feat: record selected node name in HandlerRecorderObject.Node ginuerzh 2026-07-24 14:20:10 +08:00
  • 8602043e8d x: add BodyJSON matcher and json: rewrite prefix ginuerzh 2026-07-24 12:28:08 +08:00
  • 7952b4f55d x: add Gost-Record header for client-controlled recording level ginuerzh 2026-07-17 15:39:07 +08:00
  • 7c44ba8125 hop: inline priority tracking and backup detection into Select scan ginuerzh 2026-07-17 14:50:19 +08:00
  • 58ab312950 hop: scope selector to highest-priority tier with fallthrough ginuerzh 2026-07-17 14:08:09 +08:00
  • f5127f010c fix(forwarder): pass Probe config to node in parseForwarder v0.13.14 ginuerzh 2026-07-16 23:15:16 +08:00
  • 2edc6d045a chore: bump core to v0.5.4 (node liveness probe types) v0.13.13 ginuerzh 2026-07-16 21:22:33 +08:00
  • 7b088f8f42 feat(socks5): add Tor RESOLVE/RESOLVE_PTR extension command support (gost#524) ginuerzh 2026-07-16 21:10:13 +08:00
  • f59eac64d9 probe: add cmd probe type with cross-platform shell support ginuerzh 2026-07-16 17:22:02 +08:00
  • 46fc054ad5 x: implement node-level liveness probe ginuerzh 2026-07-16 16:44:42 +08:00
  • c91a414d68 feat(metrics): add gost_service_status gauge (#116) Denis Galeev 2026-07-16 16:26:53 +04:00
  • 84f83f6776 chore: remove obsolete utls fingerprint plan ginuerzh 2026-07-13 23:17:55 +08:00
  • c16a2804e0 docs(bypass): fix inverted whitelist mode description ginuerzh 2026-07-13 23:17:32 +08:00
  • 255f9ff6ec chore: add .gitignore for build/test artifacts and local state ginuerzh 2026-07-13 23:15:14 +08:00
  • c5c8f0903c feat(mux): make mux layer pluggable and add Yamux backend ginuerzh 2026-07-13 23:12:27 +08:00
  • b8f7c71910 feat(redirect): add sniffing.dialOriginalDst flag v0.13.12 Denis Galeev 2026-07-11 17:15:26 +04:00
  • fe394a8420 fix(redirect): check bypass on dstAddr before sniffing Denis Galeev 2026-07-11 17:01:37 +04:00
  • d12663dfe3 fix(conn-limiter): add regression test for double-close guard ginuerzh 2026-07-11 20:23:32 +08:00
  • 108fd6a1f5 Merge pull request #113 from iproxy-online/fix/conn-limiter-double-decrement ginuerzh 2026-07-11 20:11:55 +08:00
  • f9fb5f443d fix(conn-limiter): release limiter slot once on Close Denis Galeev 2026-07-11 13:38:02 +03:00
  • 32ebe6550c fix(utls): map curve prefs to utls-supported set, drop PQC hybrids (#112) v0.13.11 ginuerzh 2026-07-11 15:35:21 +08:00
  • 5810404829 Fix utls dialer dropping TLS config (invalid crypto/tls→utls cast) v0.13.10 ginuerzh 2026-07-11 15:20:25 +08:00
  • a2e2810669 fix(pht): eliminate authorize round-trip, fix close notification and race v0.13.9 ginuerzh 2026-07-06 22:03:34 +08:00
  • ca767cc102 fix(tunnel): handle unspecified IP (0.0.0.0, ::) in tunnel bind ginuerzh 2026-07-06 15:28:32 +08:00
  • 2baf376c87 fix(forwarder): apply responseHeader after body rewrite to fix Content-Type precedence v0.13.8 ginuerzh 2026-07-05 19:57:54 +08:00
  • 19be0882db fix(forwarder): handle ? in rewriteURL replacement and empty requestHeader for deletion fix(hop): document Select() stages with inline comments build(deps): bump plugin v0.4.0 → v0.5.0 ginuerzh 2026-07-05 14:34:21 +08:00
  • 1e6c0851e6 build(deps): bump gin, compress, crypto, net, sys, text, protobuf and other deps ginuerzh 2026-07-04 19:06:01 +08:00
  • 0ca1e7621a feat(handler): forward mTLS client cert identity to auth plugins ginuerzh 2026-07-04 17:30:36 +08:00
  • 4bc3886825 feat(forwarder): record pre-rewrite HTTP originals in recorder object v0.13.7 ginuerzh 2026-07-03 20:13:11 +08:00
  • 52b80b257f feat(forwarder): decode compressed body prefix for BodyRegexp matching v0.13.6 ginuerzh 2026-07-03 17:56:18 +08:00
  • 7b5a92817f feat(routing): add BodyRegexp matcher for HTTP request body matching ginuerzh 2026-07-03 17:22:10 +08:00
  • a7041074a8 feat(handler): add configurable UDP port range for SOCKS5 UDP ASSOCIATE v0.13.5 ginuerzh 2026-07-02 21:04:19 +08:00
  • d024c7786e feat(forwarder): pass direction and uri metadata to Rewriter plugins v0.13.4 ginuerzh 2026-07-02 20:12:04 +08:00
  • d8317d876f fix(forwarder): append SSE \n\n terminator after end phase data, guard against double delim v0.13.3 ginuerzh 2026-06-30 20:46:12 +08:00
  • 69c397ded9 fix(handler): wrap raw *net.UDPConn with resolvePacketConn to prevent DNS leak on relay exit ginuerzh 2026-06-30 12:29:37 +08:00
  • 7f36d10605 add MaxChunkSize for bounded buffering of chunked non-streaming bodies v0.13.2 ginuerzh 2026-06-30 11:02:48 +08:00
  • 5b1ff8330b fix(forwarder): default rewriter to match all content types when type is empty ginuerzh 2026-06-28 22:39:39 +08:00
  • 3193eebd6c fix(forwarder): resolve SSE rewrite bugs from code review v0.13.1 ginuerzh 2026-06-28 19:59:12 +08:00
  • c71b16490b refactor(forwarder): attach SSE lifecycle phases to real events, remove synthetic start signal ginuerzh 2026-06-28 19:25:30 +08:00
  • ae73d1ba61 refactor(forwarder): replace synthetic SSE phase JSON with pure metadata signals ginuerzh 2026-06-28 19:04:48 +08:00
  • 4c086685b1 feat(forwarder): add sid metadata to non-streaming body rewrite paths ginuerzh 2026-06-28 18:42:58 +08:00
  • 56c72823cb feat(forwarder): decompress, rewrite, and recompress body when Content-Encoding is set ginuerzh 2026-06-28 14:44:52 +08:00
  • 2a9e059bc2 feat(forwarder): support SSE streaming body rewrite with unified wrapper ginuerzh 2026-06-28 13:26:34 +08:00
  • f63f36805b fix(forwarder): enforce match pattern as content filter when rewriter is set ginuerzh 2026-06-27 23:19:54 +08:00
  • 1b07475bf3 feat(forwarder): support plugin-based rewriter in HTTP body rewrite rules v0.13.0 ginuerzh 2026-06-27 22:52:17 +08:00
  • 3b25e0317f feat(rewriter): implement plugin-based Rewriter module with gRPC and HTTP backends ginuerzh 2026-06-27 21:44:13 +08:00
  • fb0cf72446 fix(forwarder): record post-rewrite URI in HTTP recorder ginuerzh 2026-06-27 18:50:46 +08:00
  • ee7b1e9462 fix(handler/socks5): resolve UDP domains via configured resolver to stop DNS leak ginuerzh 2026-06-27 16:12:36 +08:00
  • 143438a30e feat(auth): add skipauth metadata option to bypass auth for whitelisted client IPs ginuerzh 2026-06-27 14:33:40 +08:00