Lightweight SSH tunnel manager轻量 SSH 隧道管理器

SSH tunnels,
kept alive.
SSH 隧道,
持续在线。

tunlite replaces autossh + a systemd unit per tunnel with one declarative CLI. Define named tunnels once; a tiny zero-dependency daemon keeps them connected, restarts them at login, and sets up passwordless access — and every command speaks --json, so agents drive it as easily as you do. tunlite 用一个声明式 CLI 取代「autossh + 每条隧道一个 systemd 单元」。一次定义命名隧道,由一个零依赖的小守护进程保持连接、开机自启、自动免密打通 —— 每个命令都讲 --json,agent 用起来和你一样顺手。

Agent-nativeAgent 原生 Pure Node.js纯 Node.js Zero deps零依赖 MIT
tunlite — ssh tunnels
tunlite add local web-8080 --to deploy@app01 --remote 80 --local 8080
✓ added web-8080 local :8080 → app01:80
tunlite up
✓ daemon started · enabled 3 · 3 up
tunlite status
NAMESTATEHOSTTYPEROUTEPIDUPRESTARTS web-8080upapp01local:8080 → :80412072h14m0 px-1080upapp01dynamicsocks5 :1080412082h14m0 rev-9000upedge02remote:3000 → :9000412091h02m1

Agent-nativeAgent 原生

--json and stable exit codes on every command, plus a bundled agent skill — coding agents manage your tunnels end-to-end.每个命令都带 --json 和稳定退出码,还内置一份 agent skill —— coding agent 能端到端地接管你的隧道。

No third-party deps零第三方依赖

Pure Node.js standard library — no npm packages. All it needs is Node ≥ 18 and the system ssh it wraps.纯 Node.js 标准库,不装任何 npm 包。机器上只要 Node ≥ 18 和它封装的系统 ssh

Replaces autossh + systemd取代 autossh + systemd

Named tunnels a daemon keeps alive with backoff reconnect, and the OS restarts at login — no per-tunnel unit files to hand-write.命名隧道由守护进程退避重连保活、开机由系统拉起 —— 不用再给每条隧道手写一个 unit 文件。

See it in action看它跑起来

tunlite monitor — live top-style dashboard with auto-reconnect
tunlite monitor — a live, top-style dashboard; the daemon auto-reconnects a dropped tunnel right in front of you.tunlite monitor —— 实时 top 式面板;守护进程会在你眼前把掉线的隧道自动重连回来。
monitor dashboard — every tunnel's state at a glance
Every tunnel's state at a glance.每条隧道的状态一目了然。
per-tunnel detail — settings and live reconnect logs
Drill into one for its settings and live logs.钻进任意一条看它的设置与实时日志。
01

Get started in 30 seconds30 秒上手

Install安装

$ npx tunlite install

Prefer curl, or no Node? More install options →想用 curl,或没装 Node?更多安装方式 →

Define & bring up定义并启动

# reach server's :80 on your local :8080
$ tunlite add local web-8080 --to user@server --remote 80 --local 8080
$ tunlite up
$ tunlite status

That's the whole flow. Everything else — forwards, jump hosts, tags, webhooks, the agent skill — is in the full documentation → 整个流程就这些。其余的 —— 多转发、跳板机、标签、webhook、agent skill —— 都在完整文档里 →