ginuerzh
b985e5138c
fix: use atomic int for multi-worker exit code and clean up cancellation
...
- Replace bare int with atomic.Int32 to fix data race on ret
- Replace wg.Add/go/defer wg.Done pattern with wg.Go (Go 1.22+)
- Pass context by value instead of pointer
- Add ctx.Err() guard to suppress fatal on cancellation errors
- Add ProcessState nil check before accessing ExitCode
- Move cancel() after wg.Wait() to avoid race where a successful
worker's deferred cancel kills siblings and triggers log.Fatal
2026-06-21 21:07:37 +08:00
ginuerzh
b628475871
fix: enable metrics before loading services
...
Move xmetrics.Enable(true) from run() to Start(), before loader.Load(),
so that listener wrappers can observe the enabled state at Init time
rather than after wrapper decisions have already been made.
2026-06-21 20:35:19 +08:00
ginuerzh
43dd0a6958
feat: register stdio listener for SSH ProxyCommand support
...
Adds blank import of x/listener/stdio to register the stdio listener.
Refs go-gost/gost#433
2026-06-21 15:40:41 +08:00
ginuerzh
1bebce0ed7
feat: register utls dialer for TLS ClientHello fingerprint simulation
...
Blank-import x/dialer/utls to enable the "utls" dialer type via
init() self-registration.
Refs go-gost/gost#31
2026-06-20 20:17:08 +08:00
ginuerzh
1178c4757f
feat(cmd): add -R auto-reload flag for periodic config refresh
...
Introduce -R <duration> flag (e.g., -R 30s, -R 1m) that triggers
periodic config reload. Combined with -C URL support, this enables
centralized fleet management where nodes poll a remote config server.
The reload goroutine reuses the existing SIGHUP reloadConfig path:
parser.Parse() → loader.Load() → p.run(cfg). When -R is zero
(default) behavior is unchanged; SIGHUP still works independently.
2026-06-20 20:12:11 +08:00
ginuerzh
73069f50e3
feat: support multiple -C config files
...
Change -C flag from string to stringList, allowing:
gost -C base.yml -C services.yml -C auth.yml
Closes go-gost/gost#150
2026-06-20 18:56:25 +08:00
Yuan Tong
604dccc7b0
feat: register runix listener ( #871 )
2026-06-19 09:27:06 +08:00
ginuerzh
d4c9ef5056
add masque connector, dialer, and handler registrations; update x to v0.10.0
2026-05-21 23:03:49 +08:00
David Manouchehri
3d1f6fcbbb
add masque connector, dialer, and handler
2026-04-22 00:23:53 +08:00
ginuerzh
e388426ec6
go1.26
2026-04-21 23:59:31 +08:00
ginuerzh
340ba32ef0
v3.2.6
2025-11-22 22:47:02 +08:00
ginuerzh
3b9da4e260
go1.25
2025-08-21 22:53:28 +08:00
ginuerzh
49fa28882f
fix issue #760
2025-08-10 19:01:10 +08:00
ginuerzh
08c617b54e
v3.2.3
2025-08-09 21:01:25 +08:00
ginuerzh
d03b0e2360
v3.2.2
2025-08-05 20:46:21 +08:00
ginuerzh
de8bb498db
http2: added non-connect request support #749
2025-07-30 21:44:46 +08:00
ginuerzh
1f735d0649
v3.2.0
2025-07-29 09:15:55 +08:00
ginuerzh
d448628fea
add tun2socks (tungo)
2025-07-26 16:43:22 +08:00
ginuerzh
0bfc7f10cd
add vtun handle and listener
2025-07-23 22:49:59 +08:00
ginuerzh
a24b29c8c2
get real client IP from request
2025-07-15 20:21:52 +08:00
ginuerzh
66a260abd1
fix metrics
2025-06-24 21:23:00 +08:00
ginuerzh
f66fce9d49
feat: add router handler & connector
2025-02-07 15:51:51 +08:00
ginuerzh
a1e48e164b
update config parsing
2025-01-10 21:41:55 +08:00
ginuerzh
581dd74bbb
add config hot reload
2025-01-08 23:16:55 +08:00
ginuerzh
c45f148a88
add unix domain socket support for api & metrics services
2024-11-22 22:51:16 +08:00
ginuerzh
32ccfe483c
fix udp port forwarding
2024-10-22 22:57:18 +08:00
ginuerzh
881ebfad5b
add ClientAddr for websocket conn
2024-10-16 20:48:07 +08:00
ginuerzh
94cd590142
add keepalive option for http handler
2024-10-10 22:52:04 +08:00
ginuerzh
0d7a6f8091
add port range support for service
2024-07-08 22:52:01 +08:00
ginuerzh
c71e128fec
bump deps
2024-07-04 23:09:05 +08:00
ginuerzh
56a68ae06f
fix netns for socks5 and relay handler
2024-06-24 21:42:37 +08:00
ginuerzh
5d7100f749
add linux network namespace support for listener and dialer
2024-06-21 23:41:27 +08:00
ginuerzh
8253c41de6
fix marker for selector
2024-06-07 22:43:48 +08:00
ginuerzh
fdd3eb61c3
add auth CLI support for api & metrics
2024-01-07 19:42:14 +08:00
ginuerzh
f68bfdb149
add observer
2024-01-03 20:56:24 +08:00
ginuerzh
ca077d418a
fix issue #372
2023-12-20 22:00:23 +08:00
ginuerzh
7264fca4f8
parsing config directly from cmd flag -C
2023-12-19 21:45:34 +08:00
ginuerzh
dc48c4a3b2
fix auth for file handler
2023-12-16 14:33:52 +08:00
ginuerzh
8f094d86b0
fix issue #338
2023-11-30 19:46:29 +08:00
ginuerzh
ed29b34c68
add logger component
2023-11-19 19:57:02 +08:00
ginuerzh
ea8ff5f77a
add router component
2023-11-19 14:24:48 +08:00
ginuerzh
4c934cd737
add more config options for kcp
2023-11-16 22:19:42 +08:00
ginuerzh
907420d18b
add webtransport tunnel
2023-11-10 21:30:20 +08:00
ginuerzh
b2784011d0
add service discovery for tunnel
2023-10-31 23:00:32 +08:00
ginuerzh
6967278600
add nightly build
2023-10-28 22:41:14 +08:00
ginuerzh
61002b7c9c
add mux config
2023-10-17 21:56:29 +08:00
ginuerzh
b1ace73943
update forward handler
2023-10-16 23:17:51 +08:00
ginuerzh
9cbc875965
add tunnel handler and connector
2023-10-15 15:40:49 +08:00
ginuerzh
c1d9228eee
add auther for metrics
2023-10-09 21:30:43 +08:00
ginuerzh
8a699e1906
add reload and plugin support for hop
2023-09-28 21:05:44 +08:00