Xray-core icon indicating copy to clipboard operation
Xray-core copied to clipboard

[Feature Request] Implement in-stream gRPC keep-alive

Open debushoukun opened this issue 2 years ago • 0 comments

The free Cloudflare tier has a limitation whereby all gRPC streams are automatically disconnected after 100 seconds of inactivity. This causes problems with applications like SSH that need to maintain a connection to the server for long periods of time without continuously transmitting data. The existing idle_timeout function does not help with this: H2 PING packets are transmitted outside the gRPC stream and are only between the Xray client and the CDN, i.e. they never actually reach the Xray server.

I'm not familiar with the details of how gRPC works, but perhaps transmitting something like an empty packet inside a gRPC stream is possible in order to solve this.

debushoukun avatar Jan 08 '24 10:01 debushoukun