-
5b1e38e2c0
新增dnst隧道
dev
wenyifan
2026-07-04 13:48:22 +08:00
-
74fef8838e
新增dnst隧道
wenyifan
2026-07-04 13:01:21 +08:00
-
bf85966600
切换为默认的dns解析;增加resolver=system的支持
wenyifan
2026-07-02 20:50:24 +08:00
-
a24d79fd45
fix android dns query
wenyifan
2026-06-28 15:01:58 +08:00
-
cb5d5c590b
增加connect host伪装
wenyifan
2026-06-28 12:41:23 +08:00
-
3993c95700
UTLS兼容
wenyifan
2026-06-28 12:08:30 +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
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
-
cd97e5e746
fix(hop): skip priority short-circuit when multiple nodes share the same priority
ginuerzh
2026-06-26 22:53:17 +08:00
-
c1d954d689
fix(handler/auto): sniff SOCKS4/SOCKS5 with 1-byte peek before 5-byte Sniff()
ginuerzh
2026-06-26 20:17:49 +08:00
-
d4e9450bad
fix(connector/relay): handle empty address in bind to fix UDP ASSOCIATE
PahaKush
2026-06-26 20:48:47 +09:00
-
b777bcb81a
feat(listener/unix): add mode metadata to chmod unix socket file
ginuerzh
2026-06-25 16:04:04 +08:00
-
39580f04ca
fix(handler/socks5): RFC 1928 compliance — method negotiation, BND.ADDR, UDP ordering, and safe type assertions
ginuerzh
2026-06-25 15:41:15 +08:00
-
b01f5d065f
refactor(handler/sni): extract helpers, add SnifferBuilder, comprehensive tests
ginuerzh
2026-06-25 14:51:13 +08:00
-
8fd5200bf1
fix(net): defer DNS resolution to final dialer to preserve domain in proxy chain
ginuerzh
2026-06-25 11:02:36 +08:00
-
ec4791485c
feat(routing): add Network matcher for per-protocol node selection
ginuerzh
2026-06-24 17:38:08 +08:00
-
c06ba17916
fix(dialer): skip SO_BINDTODEVICE when interface is specified as IP address
ginuerzh
2026-06-23 21:43:54 +08:00
-
a32ffd5608
fix(sniffing): pass bypass option to sniffer HandleHTTP/HandleTLS calls
ginuerzh
2026-06-23 20:54:26 +08:00
-
ffa7ceaed7
feat(tls): persist auto-generated CA certificate to $HOME/.gost/
ginuerzh
2026-06-23 20:29:57 +08:00
-
ea3ca94e53
fix(handler): move auth before request validation so probe resistance works (#875)
ginuerzh
2026-06-23 19:57:45 +08:00
-
5d6b00c3a6
Revert "chore(deps): bump go-gost/x to v0.12.2"
ginuerzh
2026-06-22 21:46:28 +08:00
-
0637486025
chore(deps): bump go-gost/x to v0.12.2
ginuerzh
2026-06-22 21:45:28 +08:00
-
99a0f7323d
feat(listener): add SO_REUSEPORT support for TCP listeners (#654)
ginuerzh
2026-06-22 21:42:00 +08:00
-
4057ac54b8
fix(listener): configure all TUN addresses for dual-stack IPv6 on Windows
ginuerzh
2026-06-22 19:43:22 +08:00
-
6a0ce8914e
test(handler): add unit tests for SOCKS5 networkAddr helper
ginuerzh
2026-06-22 19:21:09 +08:00
-
03f4b1291e
fix(handler): use addr-family-specific network for SOCKS5 BIND (#621)
ginuerzh
2026-06-22 19:18:46 +08:00
-
2e16457467
fix(config): warn when TLS options are set on a plaintext listener (#108)
ginuerzh
2026-06-22 14:29:41 +08:00
-
a1d7da4fec
fix(listener): exit process when the stdio connection ends
ginuerzh
2026-06-22 13:07:10 +08:00
-
0522ae8155
fix(net): use pure-Go DNS fallback to prevent thread exhaustion
ginuerzh
2026-06-21 22:34:43 +08:00
-
55a246869e
fix(metrics): add cross-platform process metrics collector for non-Linux systems
ginuerzh
2026-06-21 21:55:27 +08:00
-
3ec3362ac4
fix(handler): forward TLS connections in auto handler to chain router
ginuerzh
2026-06-21 21:19:29 +08:00
-
3f01456480
fix(metrics): skip connection wrapping when metrics are disabled
ginuerzh
2026-06-21 20:34:41 +08:00
-
9ea10763e4
fix(listener): add panic recovery in TUN/TAP listenLoop for wintun crashes
ginuerzh
2026-06-21 16:47:12 +08:00
-
e814852ca1
fix(sniffing): re-dial upstream on HTTP Host change + surface no-SNI errors
ginuerzh
2026-06-21 16:37:47 +08:00
-
a102f9c6cf
chore: bump go-gost/relay v0.6.0 → v0.6.1 for forward-compatible unknown feature handling
ginuerzh
2026-06-21 16:07:12 +08:00
-
9ccf402ed1
feat(listener): add stdio listener for SSH ProxyCommand support
ginuerzh
2026-06-21 15:39:52 +08:00
-
61eb3e2a3b
feat(socks5): add udp.resolveDomain option for clients incompatible with ATYP=Domain
ginuerzh
2026-06-21 15:12:53 +08:00
-
92002fa35e
fix(listener): route WS/WSS HTTP server errors through GOST logger
ginuerzh
2026-06-21 13:47:51 +08:00
-
a424148018
chore: bump go-gost/core v0.4.1 → v0.4.2 for recorder Metadata field
ginuerzh
2026-06-21 13:27:46 +08:00
-
d4d823df45
fix(recorder): forward per-service recorder metadata to plugin recorders (#412)
ginuerzh
2026-06-21 13:25:27 +08:00
-
c45d27113e
fix(dialer): evict dead SSHD sessions before reuse to prevent channel-open failure (#382)
ginuerzh
2026-06-21 13:02:10 +08:00
-
9fab332772
fix(dialer): prevent hang on HTTP+ICMP by enabling QUIC keepalive by default
ginuerzh
2026-06-21 10:09:34 +08:00
-
37bc81576c
fix(tun): prevent leaked goroutines in bidirectional copy on transport failure
ginuerzh
2026-06-20 22:10:09 +08:00
-
504c56f3c3
feat(router): add 'auto' interface for source-in source-out on multi-homed hosts
ginuerzh
2026-06-20 21:30:28 +08:00
-
ae92f5aee6
fix(dialer): skip SO_BINDTODEVICE for empty-addr UDP relay sockets
ginuerzh
2026-06-20 21:13:49 +08:00
-
48f31513c7
feat(hosts): add catch-all host mapping with '.' pattern
ginuerzh
2026-06-20 20:47:10 +08:00
-
548471717a
fix(dialer): detect dead QUIC sessions in ICMP/QUIC dialer caches
ginuerzh
2026-06-20 20:25:18 +08:00
-
e583f5b538
feat(parser): support HTTP(S) URL config sources with -C flag
ginuerzh
2026-06-20 20:11:43 +08:00
-
9c585e2de8
feat(parser): support multiple -C config files, merged left-to-right
ginuerzh
2026-06-20 18:56:08 +08:00
-
34549e0e98
fix(redirect): add IPv6 TPROXY support for TCP redirect listener
ginuerzh
2026-06-20 18:20:44 +08:00
-
684a0ddf65
feat(dns): use system nameservers from /etc/resolv.conf as fallback
ginuerzh
2026-06-20 15:54:39 +08:00
-
9fcd7d6890
feat(dialer): add utls dialer for TLS ClientHello fingerprint simulation
ginuerzh
2026-06-20 15:43:25 +08:00
-
66f502b153
fix(router): skip system route setup for TUN @internal router
ginuerzh
2026-06-20 15:15:31 +08:00
-
1d34d4543a
fix(masque): default enableDatagrams to true on HTTP/3 listener and fix CONNECT-UDP error handling
ginuerzh
2026-06-20 15:01:14 +08:00
-
296d87a597
fix(quic): preserve user-configured ALPN instead of hardcoding NextProtos
ginuerzh
2026-06-20 14:58:19 +08:00
-
c29517be4d
fix(quota): add UnwrapConn to quotaConn wrapper for handler type assertions
ginuerzh
2026-06-20 14:45:46 +08:00
-
b23553d37a
feat: add quota limiter and quota API (#107)
Usishchev Yury
2026-06-20 08:44:42 +02:00
-
b7d807b464
fix(wrapper): prevent nil-pointer dereference in WrapUDPConn chain when stats is nil
ginuerzh
2026-06-20 13:52:09 +08:00
-
dc31d5c15f
fix(dialer): add switchNetns stubs for all non-Linux platforms
ginuerzh
2026-06-18 14:33:02 +08:00
-
a86b5ab66b
feat(ss): support none/dummy cipher via no-op AEAD implementation
ginuerzh
2026-06-17 22:18:23 +08:00
-
183252f6ae
Merge branch 'master' of github.com:go-gost/x
ginuerzh
2026-06-17 21:56:52 +08:00
-
-
301dbc56d0
fix(listener): keep *net.UDPConn visible to quic-go for GSO/GRO
BBQ
2026-06-17 21:55:36 +08:00
-
219dd51548
refactor(logger): replace logrus with stdlib log/slog
ginuerzh
2026-06-17 21:51:06 +08:00
-
-
ca582a147f
fix: set StateReady after temporary accept error retry
ginuerzh
2026-06-17 21:35:49 +08:00
-
c5b62d41ae
fix: set StateReady after temporary accept error retry
ginuerzh
2026-06-17 21:28:31 +08:00
-
81dc9331b8
fix(dialer): split netns into platform file to support android cross-compile
ginuerzh
2026-06-15 16:50:44 +08:00
-
3b3eaa609a
fix(listener/pht): set X-Accel-Buffering to fix hang behind Nginx (issue #721)
ginuerzh
2026-06-14 14:15:22 +08:00
-
9b4a320a9f
fix(listener/tun): parse routes from URL query string and bare CIDR (issue #735)
ginuerzh
2026-06-14 10:04:10 +08:00
-
ba3e1cbe09
fix(config/loader): close old services before binding new ports on reload (issue #754)
ginuerzh
2026-06-14 01:40:50 +08:00
-
fd17c3e18d
feat(observer/stats): track UDP connection counts in WrapUDPConn
ginuerzh
2026-06-14 01:07:41 +08:00
-
62265b424a
fix(handler/socks): bind UDP associate relay socket to BND.ADDR source IP (issue #763)
ginuerzh
2026-06-13 22:59:42 +08:00
-
18c1d6063d
fix(dialer/ssh): evict dead session when OpenChannel fails (issue #792)
ginuerzh
2026-06-13 19:16:10 +08:00
-
49ceda6cc2
feat(wrapper): add UnwrapConn to remaining TCP conn wrappers
ginuerzh
2026-06-13 14:43:49 +08:00
-
bc44baba55
fix(handler/sshd): unwrap limiter wrappers to fix wrong connection type (issue #867)
ginuerzh
2026-06-13 14:29:51 +08:00
-
8b0806bad4
feat(listener/runix): support remote UDS forwarding (#102)
Yuan Tong
2026-06-13 13:39:14 +08:00
-
9f610fd163
feat service: introduce labels for logs/recorder (#104)
Denis Galeev
2026-06-13 08:05:14 +03:00
-
eaeac2763e
Bypass with network (#101)
Kebin Liu
2026-06-13 12:36:09 +08:00
-
caa82f2861
fix(dialer): skip SO_BINDTODEVICE for loopback interface (issue #785)
ginuerzh
2026-06-08 21:36:33 +08:00
-
078cdbcb81
fix(listener/tap): support custom TAP adapter name on Windows (issue #772)
ginuerzh
2026-06-08 20:05:57 +08:00
-
28e5922fce
docs(handler/masque): add comprehensive comments for MASQUE proxy handler
ginuerzh
2026-06-07 14:29:18 +08:00
-
3f671abfb6
fix(ssu): prevent goroutine/connection leak in UDP session cache
ginuerzh
2026-06-07 12:44:28 +08:00
-
e45d9a8cc8
feat: add stateless UDP forwarding mode (#853)
ginuerzh
2026-06-05 23:26:03 +08:00
-
5e3280d166
fix(handler/socks5): accumulate UDP traffic metrics into recorder (issue #45)
ginuerzh
2026-06-05 21:16:16 +08:00
-
4d4690b535
fix(handler/serial,sni): 5 code-review fixes - xnet.Pipe errors, (nil,nil) warning, readTimeout comment, defer deadline, clean close
ginuerzh
2026-06-05 21:09:10 +08:00
-
f09a7a69b3
fix(sniffing): return early on empty SNI to avoid 'missing port in address' errors (#645)
ginuerzh
2026-06-05 20:27:27 +08:00
-
066f6813b2
fix(handler/sni): add sniff deadline, log sniff errors, nil Router guard
ginuerzh
2026-06-05 11:18:26 +08:00
-
c6d3238b15
docs(handler/serial): add comprehensive English comments to all files
ginuerzh
2026-06-04 23:38:04 +08:00
-
6810e50c2c
fix(handler/serial): record-after-write ordering, nil Router guards, consistent ReadTimeout
ginuerzh
2026-06-04 23:19:15 +08:00
-
e45328d1bb
fix(handler/router): 3 bugs fixed + comprehensive data-flow documentation
ginuerzh
2026-06-04 23:01:12 +08:00
-
e6c9952ad4
test(handler/router): fix review findings - error matching, version test, cache assertion, entrypoint sync
ginuerzh
2026-06-04 15:09:38 +08:00
-
1a1851fe03
test(handler/router): fix pipe-based tests data race and pipe blocking issues
ginuerzh
2026-06-04 09:04:57 +08:00
-
a4d45fa278
test(handler/router): add entrypoint_test.go (handleEntrypoint)
ginuerzh
2026-06-04 08:55:47 +08:00
-
7e9d14bb41
test(handler/router): add associate_test.go (handleAssociate, handlePacket, getRoute, getAddrforRoute, sdRenew)
ginuerzh
2026-06-04 08:46:34 +08:00
-
ca83acc323
test(handler/router): add handler_test.go (NewHandler, Init, Handle, Close)
ginuerzh
2026-06-04 08:32:56 +08:00
-
901131d0ed
test(handler/router): add conn_test.go (packetConn, lockWriter)
ginuerzh
2026-06-04 01:40:36 +08:00
-
105f7e32d0
test(handler/router): add observe_test.go (checkRateLimit, observeStats)
ginuerzh
2026-06-03 23:47:54 +08:00