ts-ssh solves a specific problem: accessing machines on your Tailnet from
environments where you can't install the full Tailscale daemon (like CI/CD runners or
restricted systems).
It uses Tailscale's tsnet library to establish userspace connectivity, then provides
a standard SSH experience. Works with existing workflows since it supports normal SSH
features like ProxyCommand, key auth, and terminal handling.
Some features that proved useful:
• Parallel command execution across multiple hosts
• Built-in tmux session management for multi-host work
• SCP-style file transfers
• Works on Linux/macOS/Windows (AMD64 and ARM64)
The codebase is interesting from a development perspective - it was written almost
entirely using AI tools (mainly Claude Code, with some OpenAI and Jules). Not as an
experiment, but because it actually worked well for this kind of systems programming.
Happy to discuss the workflow if anyone's curious about that aspect.
Source and binaries are on GitHub. Would appreciate feedback from anyone dealing with
similar connectivity challenges.
un1970ix•2h ago
ape4•2h ago
KomoD•2h ago
Or anything else without reviewing it.
lol @ the issue in the repo: "module declares its path as: github.com/yourusername/ts-ssh"
ramon156•2h ago
- 0.1.0 -> breaking changes
- 1.0.0 -> overhaul/refactor needed
I know not every case is easy but this is my rule of thumb. I've honestly never needed a major version change
Timon3•2h ago
- x.y.Z (patch) -> backward compatible bug fixes
- x.Y.z (minor) -> backward compatible new features
- X.y.z (major) -> breaking changes
But of course it's fine to use whatever versioning scheme you like, as long as you communicate it to your consumers.
https://semver.org/
Edit: updated the version strings for clarity.
zamadatix•2h ago
un1970ix•1h ago
Timon3•1h ago
chrisweekly•1h ago
0x457•50m ago