frp/pkg/util
Shani Pathak ba7adcab8f
fix(websocket): send tunnel payload as binary frames (#5363)
The ws/wss transport carries a raw byte stream (yamux), but the
golang.org/x/net/websocket Conn defaults to text frames (PayloadType
TextFrame). Per RFC 6455 §5.6 a text frame must contain valid UTF-8, so
RFC-compliant intermediaries (API gateways / reverse proxies) validate
the payload and close the connection when the binary tunnel data is not
valid UTF-8.

This goes unnoticed peer-to-peer because x/net/websocket does not
validate UTF-8 on read, but it breaks the connection through a compliant
validating proxy. Set PayloadType to BinaryFrame on both the server
listener and the client dialer so the tunnel is framed as binary.
2026-06-22 23:34:02 +08:00
..
http feat: add dashboard API v2 pagination endpoints (#5351) 2026-06-01 20:09:25 +08:00
jsonx refactor: restructure API packages into client/http and server/http with typed proxy/visitor models (#5193) 2026-03-04 17:38:43 +08:00
limit rename models to pkg (#2005) 2020-09-23 13:49:14 +08:00
log client, pkg, server, test: replaced 'interface{}' with 'any' (#4611) 2025-01-02 11:24:08 +08:00
metric refactor: clean up code (#5308) 2026-05-12 11:13:50 +08:00
net fix(websocket): send tunnel payload as binary frames (#5363) 2026-06-22 23:34:02 +08:00
system android: only use google dns server when the default dns server cannot be obtained (#4236) 2024-05-23 16:09:58 +08:00
tcpmux refactor: clean up code (#5308) 2026-05-12 11:13:50 +08:00
util refactor: fix modernize lint issues (#5215) 2026-03-07 23:10:19 +08:00
version Release v0.69.1 (#5348) 2026-06-01 16:22:34 +08:00
vhost refactor: clean up code (#5308) 2026-05-12 11:13:50 +08:00
wait refactor: clean up code (#5308) 2026-05-12 11:13:50 +08:00
xlog refactor: clean up code (#5308) 2026-05-12 11:13:50 +08:00