Releases
v2.0.0
v2.0.0 — Cross-platform daemon, proxy support, drag-drop keys, async health UI
Compare
Sorry, something went wrong.
No results found
fivif
released this
20 May 18:44
Breaking changes
Daemon C code rewritten with #ifdef _WIN32 cross-platform support
profiles.json: new optional proxy field per server
New features
Cross-platform Windows support
Native Windows daemon via CreateProcess + CreateThread + TCP IPC
Auto-assigned localhost port, stored in ~/.sshc/daemon.port
POSIX path uses posix_spawnp for macOS-optimized process creation
Single source file compiles on both platforms (cc / cl / mingw)
Per-server proxy support
Optional proxy field in profiles.json (ProxyCommand string)
Web UI: modal with type dropdown (HTTP / SOCKS5 / SOCKS4 / Custom)
CLI: sshc add --proxy "..." flag
API: PUT /api/profiles/<name> {"proxy": "..."} / {"proxy": null}
Proxy injected into all SSH invocations (health, exec, ensure_master, check)
Web UI overhaul
Drag-and-drop key file upload (FileReader + base64, stored to ~/.sshc/keys/)
Async parallel health checks — table renders instantly, status streams in
Proxy configuration modal per server (dropdown + host/port + live preview)
HTML-escaped rendering (XSS safe)
Path traversal fix (os.path.basename on uploaded filenames)
Bug fixes
Fix cmd_add flag parsing (positional args after flags)
Fix cmd_remove None → '' for clean JSON output
Fix cmd_profiles: use stdin pipe instead of fragile string interpolation
Remove dead code (fd_is_socket, INVALID_SOCK, SOCKERR, HOME_ENV)
Fix Windows ensure_master timeout 15s → 10s
Fix /dev/null vs nul cross-platform in ssh_check and cleanup_masters
Fix double close(cli) on fork failure
Guard <unistd.h> for MSVC compatibility, add ssize_t typedef for Windows
Documentation
SKILL.md: comprehensive agent workflow guide, proxy types table, platform notes
README: agent-first narrative with /sshc slash command examples
You can’t perform that action at this time.