Andrew Beresford
290e9c37d5
Make pipe read timeout configurable via idleTimeout metadata
...
The 30s hardcoded readTimeout in Pipe() caused all CONNECT tunnel
connections to be hard-closed after 30s of inactivity, breaking
WebSocket and long-polling connections through the proxy.
Pipe() now accepts a WithReadTimeout(d) option. When d is 0 (the
default) no read deadline is set, relying on TCP keepalives or context
cancellation to detect dead connections instead.
The HTTP handler exposes this as the idleTimeout metadata key.
Fixes: https://github.com/go-gost/x/issues/91
2026-05-08 11:31:53 +01:00
ginuerzh
c7d16962ec
add service option for plugin
2025-08-29 23:36:31 +08:00
ginuerzh
52289bea6c
add network param for sniffing
2025-08-13 21:25:35 +08:00
ginuerzh
b597467858
add context for conn
2025-08-04 19:29:38 +08:00
ginuerzh
f71351f5ef
add interface xnet.SrcAddr/DstAddr
2025-08-03 10:15:53 +08:00
ginuerzh
db21de831a
fix xnet.Pipe
2025-08-01 23:00:50 +08:00
ginuerzh
b64e5901b6
http: fix response for connect request
2025-07-30 21:40:31 +08:00
ginuerzh
208d18125c
replace xnet.Transport by xnet.Pipe
2025-07-28 20:52:15 +08:00
ginuerzh
afcf4a5252
parse real client IP
2025-07-15 19:59:10 +08:00
ginuerzh
d9a2f44a78
add src field for logger and recorder
2025-07-02 21:35:02 +08:00
ginuerzh
e0915affda
use fixed buffer size
2025-02-18 17:38:27 +08:00
wzxjohn
11bca5bc3d
fix(http): set Proxy-Agent header after authenticate to avoid leak #42
2025-02-18 15:30:56 +08:00
ginuerzh
fc12e33786
router handler: add cache for sd service
2025-02-09 16:16:44 +08:00
ginuerzh
379d9a73ad
service: add limiter.scope option
2025-01-20 23:22:58 +08:00
ginuerzh
06d993023f
add traffic reset for stats
2024-12-24 20:11:22 +08:00
ginuerzh
79b6b9138e
add limiterRefreshInterval option for limiter
2024-11-14 20:16:09 +08:00
ginuerzh
a12870e766
add compression flag option for http request
2024-11-02 20:41:23 +08:00
ginuerzh
edb9a992e2
http: fix http/1.0 connection close
2024-11-01 18:17:50 +08:00
ginuerzh
88ba01b3dd
add redirect for handler recorder object
2024-10-31 19:14:21 +08:00
ginuerzh
a97ac1f30a
fix http body recorder
2024-10-22 22:51:33 +08:00
ginuerzh
3ca253537b
fix race condition for sniffing
2024-10-20 19:19:16 +08:00
ginuerzh
41f527aa46
sniffing: full websocket frame recording
2024-10-19 20:40:07 +08:00
ginuerzh
6b932e35bf
sniffing websocket frame
2024-10-19 19:36:06 +08:00
ginuerzh
a0cbee8817
use http.transport for non-connect http tunnel
2024-10-17 21:57:20 +08:00
ginuerzh
7e51404ae5
fix handler sniffing
2024-10-16 23:01:12 +08:00
ginuerzh
618d042001
add input/ouput fields for log
2024-10-16 22:16:34 +08:00
ginuerzh
24547b4332
add ClientAddr for websocket conn
2024-10-16 20:46:45 +08:00
ginuerzh
5bba004324
add keepalive option for tunnel entrypoint
2024-10-14 23:09:07 +08:00
ginuerzh
27242d0b66
recorder: add input/output traffic stats for handler recorder object
2024-10-11 20:32:56 +08:00
ginuerzh
9a56c8fba3
add keepalive option for http handler
2024-10-10 16:52:01 +08:00
ginuerzh
c42a44abb6
add sniffer utility
2024-10-02 22:51:23 +08:00
ginuerzh
3c8add4b82
add traffic sniffing for handler
2024-09-27 15:55:28 +08:00
ginuerzh
e22aa91571
add route for recorder
2024-09-24 20:20:15 +08:00
ginuerzh
e09ec08881
add sid for connector log
2024-09-20 18:20:57 +08:00
ginuerzh
e37213ac01
add http body for handler recorder
2024-09-16 19:44:15 +08:00
ginuerzh
b39aa63f75
add clientIP for handler recorder object
2024-09-15 18:28:24 +08:00
ginuerzh
f681f7aa03
update handler recorder object
2024-09-15 10:51:23 +08:00
ginuerzh
69455ace9d
add handler recorder
2024-09-14 23:21:25 +08:00
ginuerzh
31c482c649
add scope param for traffic limiter
2024-08-31 09:30:04 +08:00
ginuerzh
5e8a8a4b4d
compatible with HTTP/1.0
2024-08-06 18:31:29 +08:00
ginuerzh
1a776dc759
fix connection state in tunnel entrypoint
2024-08-01 20:52:08 +08:00
ginuerzh
4a4c64cc66
fix host parsing
2024-07-10 22:57:49 +08:00
ginuerzh
c1d0887a9b
add port range support for service
2024-07-08 22:38:21 +08:00
ginuerzh
22537ff0d2
mv observer/stats to core
2024-07-04 23:05:35 +08:00
ginuerzh
74dc03bd66
fix http proxy response
2024-06-25 22:09:00 +08:00
ginuerzh
6d819a0c06
add observePeriod option for observer
2024-06-13 21:22:29 +08:00
ginuerzh
784e4b2b01
http: fix non-connect method request handler
2024-06-11 21:50:11 +08:00
ginuerzh
3d2a7b7d3b
move x/internal/ctx to x/ctx
2024-01-30 18:19:39 +08:00
ginuerzh
01168e9846
fix deadlock in websocket client conn
2024-01-12 23:46:22 +08:00
ginuerzh
c959fc2f73
add observer
2024-01-03 20:55:06 +08:00