An older socktop handed a newer flag (webterm 0.3.9's restricted shell passing --no-kill to 1.60.1) silently parsed the flag as the positional websocket URL and offered to overwrite the named profile's URL with the literal flag text. Unknown options now fail with 'Unknown option' and exit code 2 (help remains exit 0), with a regression test covering the exact incident shape. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
socktop
socktop is a remote system monitor with a rich TUI, talking to an ultra lightweight agent over WebSockets.
Resources
| Resource | Location |
|---|---|
| Website and online demo (yes it's real) | socktop.io |
| Quick Start guide | https://socktop.io/assets/docs/installation/quick-start.html |
| Prereqs | https://socktop.io/assets/docs/installation/prerequisites.html |
| APT Install | https://socktop.io/assets/docs/installation/apt.html |
| Cargo Install | https://socktop.io/assets/docs/installation/cargo.html |
| Usage | https://socktop.io/assets/docs/usage/general.html |
| Auth Setup | https://socktop.io/assets/docs/security/token.html |
| TLS Setup | https://socktop.io/assets/docs/security/tls.html |
| Monitoring Multiple Hosts | tmux / zellij |
Platform Support
Linux (all flavors), ARM/Raspberry Pi (32b/64b), MacOS, Windows, RISC-V (experimental)
Contributing
Contributions are welcome and you have the freedom to use whatever development tools you would like, as long as there is a human in the loop and all the clippy and unit tests pass you are good to submit a PR. Defects / Bugs just go ahead and fix and file a PR. New features, please create a issue in advance and let me know you are offering to build it. I don't want to be in a position where you worked for a couple of weeks on something and I don't want to merge it.
Development
cargo fmt
cargo clippy --all-targets --all-features
cargo run -p socktop -- ws://127.0.0.1:3000/ws
# TLS (dev): first run will create certs under ~/.config/socktop_agent/tls/
cargo run -p socktop_agent -- --enableSSL --port 8443
Auto-format on commit
A sample pre-commit hook that runs cargo fmt --all is provided in .githooks/pre-commit.
Enable it (one-time):
License
MIT — see LICENSE.
Acknowledgements
- ratatui for the TUI
- sysinfo for system metrics
- tokio-tungstenite for WebSockets