Repository navigation
Releases: hekmon/rat
Releases · hekmon/rat
Release list
RAT - v0.2.0
systemd integration
- Type=notify support — ratd now tells systemd when it is ready to serve and when it begins stopping.
systemctl startwaits for readiness and reports failed startups correctly. - Journald-aware logging — when running under systemd, log lines omit timestamps and level strings; a
<N>priority prefix lets journald record time, highlight warnings and errors, and filter by severity. - Status line for operators —
systemctl statusshows a live summary of ratd's health: known issues (running as root, writable bundle, bash startup files defeating the prompt hook, bundle expiry, tmux server deaths) and per-session activity with in-flight waits. Updated every 10 seconds when changed.
write_file tool
- Subagent guidance — the tool description now points to a subagent for copying files, so large content does not bloat the main agent's context.
- No more binary hints — the description no longer suggests piping binary content through the terminal (e.g.
base64 -d). It now speaks of text only, keeping meaningless base64 out of agent context.
Documentation
- README restructured by reader — sections are now grouped by what a reader is looking for: what rat does, trying it, deploying it.
- Compared to ssh and tmux — the introduction now frames rat as shell access over ssh and tmux for agents, making the security model easier to understand.
- Getting started improved — generates a bundle with two clients to show that
--clientrepeats and each harness gets its own directory. - Deployment guidance — recommends Linux with systemd because only there does the kill switch cover detached commands via the control group.
- Terminal behavior clarified — explains that terminals always run bash regardless of the account's login shell, and what the mTLS server key protects against.
- tmux internals documented — explains what a killed rat leaves behind and why
Pdeathsigis not used.
Testing
- Faster failure on stray servers — ratd tests now fail immediately with the actual error when ratd exits before serving, naming any stray tmux server holding the tenant socket by its PID.