自托管零信任远程运维平台——单个 Go 二进制,零入站端口,数据不出内网。
你的机器、你的连接、你的 AI 代理,缰绳都拴在你自己手里。
# ① 服务端(任意一台 Linux/Windows/Docker) $ ./reins-relay -addr :7780 ║ reins 服务端已启动! Token: 8f3a... ║ # ② 被控端 Windows —— 一行命令,自动 UAC/上线确认 PS> iex (((irm 'http://your-server:7780/install.ps1') -replace '^\uFEFF')) # ③ 你的电脑 $ reins --relay http://your-server:7780 --token <token> agent list agent-WS-KIOSK-01 windows/amd64 9 executors 在线 $ reins task run -a agent-WS-KIOSK-01 -c "hostname" ✅ 成功(1.4s) WS-KIOSK-01
Reins 从 Windows 运维场景中长出来:Agent 是原生 Windows 服务(开机自启/崩溃自恢复),自带一整套 Linux 优先工具没有的能力。
-EncodedCommand 执行防乱码;.ps1 本地文件 BOM+上传+执行一步到位;多机并行 exec。
SCM 服务管控;Job Object 进程树击杀(孙进程不留僵尸);Register-ScheduledTask 全流程。
PrintWindow 定窗截图;视觉定位+SendInput 点击(授权部署,全程录屏+审计);chromedp 浏览器自动化。
两步 rename 换 exe+SCM 重启,健康自检失败自动回滚——扛文件锁与 Defender 扫描。
iex (irm '.../install.ps1')——自动 UAC 提权、Token 探测、上线确认,目标机零预置。
交互式会话录屏(asciinema 可回放)+ hash chain 审计 + 电源操作白名单——操作可追责。
Teleport 换了许可证、MeshCentral 的 Agent 总被杀软盯上、TacticalRMM 是套 Python 全家桶——你需要一个真开源、单二进制、企业级安全原语齐全的远程运维平面。
Agent 反向 WebSocket 出站连接穿透 NAT。你的主机对互联网完全不可达——这是 NIST 800-207 说的"消除隐式网络信任"。
Relay 是一个静态 Go 二进制(bbolt 持久化,零外部依赖;Redis 可选水平扩展)。不是 Docker Compose 十件套。
mTLS + 内置 CA + CRL 吊销;多租户 RBAC(admin/operator/viewer)+ 组织配额隔离;命令黑/白名单 Relay 与 Agent 双侧执行。
hash chain 审计日志 + CEF/Syslog SIEM 导出 + 会话录屏(asciinema)。这正是 CISA AA23-025A 要求企业盘点的 approved-RMM 该有的样子。
被管项目在仓库根写 .reins/rules.md 运维规则——AI/自动化必须先 rules read 读规则并携带内容指纹 ack,规则一改旧 ack 立即失效。先读规则,再碰服务器。
批量分发(重试+SSE 进度)、DAG 编排(失败级联跳过)、部署 playbook、进程守护、快照 diff、网络诊断、日志聚合——50+ CLI 命令一个终端管一个舰队。
| Reins | MeshCentral | TacticalRMM | Teleport | RustDesk | |
|---|---|---|---|---|---|
| License | MIT 真开源 | Apache-2.0 | source-available | source-available¹ | AGPL-3.0 |
| 服务端形态 | Go 单二进制 | Node.js | Django+Vue+Go+MQ | Go(较重) | Rust |
| 完整 RMM(批量/DAG/监控) | ✅ | 部分 | ✅(MSP 向) | ✖ 访问平面 | ✖ 桌面远控 |
| mTLS+CA+CRL 设备身份 | ✅ | 部分 | 部分 | ✅ | ✖ |
| 审计链+SIEM 导出 | ✅ | ✖ | ✖ | ✅ | ✖ |
| AI 代理规则门禁 | ✅ 独家 | ✖ | ✖ | ✖ | ✖ |
¹ Teleport Community License(2024):免费档限公司 <100 员工且年收入 <$10M。
Docker Compose 一键起 Relay(内嵌 Web 控制台);被控端一行命令装 Agent。
$ git clone https://github.com/V-T-V/reins && cd reins $ echo "REINS_TOKEN=change-me" > .env && docker compose up -d reins-relay | ✅ HTTP 监听 :7780 # Windows 被控端(PowerShell,一行): PS> iex (((irm 'http://your-server:7780/install.ps1') -replace '^\uFEFF'))
生产部署(Nginx TLS 终端/Helm/systemd/自更新)见 部署指南。
| NIST 800-207 概念 | Reins 机制 |
|---|---|
| 消除隐式网络信任 | Agent 仅出站反向 WS;主机零入站端口 |
| 每请求/每设备身份 | mTLS 客户端证书(内置 CA 签发,一机一证) |
| 动态最小权限 | tenant:role:secret RBAC + 命令白名单交集语义 |
| 持续评估留痕 | hash chain 审计 + CRL 吊销即断链 + 会话录屏 |