Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

15 seconds TCP Keep-Alive, high battery drain on mobile devices (golang default) #224

Open
ValdikSS opened this issue Dec 23, 2021 · 0 comments · May be fixed by #238
Open

15 seconds TCP Keep-Alive, high battery drain on mobile devices (golang default) #224

ValdikSS opened this issue Dec 23, 2021 · 0 comments · May be fixed by #238

Comments

@ValdikSS
Copy link

Describe the bug
go-shadowsocks2 sends TCP Keep-Alive packets every 15 seconds, on every connected and listened TCP socket (shadowsocks server-client connections, outgoing connections to other servers), which leads to high battery usage on mobile devices.

Since keep-alive interval is set also on listening socket, non-go-shadowsocks2 clients will also receive keep-alive packets every 15 seconds when connecting to go-shadowsocks2 server.

More information here: golang/go#48622

To Reproduce
Steps to reproduce the behavior:

  1. Connect to go-shadowsocks2 server or run go-shadowsocks2 client.
  2. Initiate TCP connection and keep it idle for some time.
  3. Check keep-alive packets sending/receiving every 15 seconds with the network sniffer.

Expected behavior
I expect Keep-Alive interval to be configurable.
go-shadowsocks2 should allow to increase TCP Keep-Alive or to disable it completely.
15 seconds is a golang default value and it's way too short. For comparison, Linux sets default keep-alive value to 2 hours (which is probably too high).

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant