把自己的设备,
收进一个窗口

VPS · 家里的小主机 · 常用电脑

herald 是一个多设备管理工具。一台有公网 IP 的中转端,加上一个图形控制端, 就能在一个窗口里看设备、开远程终端、传文件、管进程与服务、连远程桌面。

使用范围 只管理你本人拥有、或已获得管理方明确授权的设备。完整声明

herald 图形控制端主界面:左侧导航,中间设备列表,列出编号、别名、状态、IP、平台与版本
herald 图形控制端 · 设备列表

快速上手

从一台 VPS 到第一台设备

中转端用一条命令装好:程序、启动服务、数据目录和三个平台的模板都会自动就位。 控制端下载后打开,填上地址和密钥就能连。

01在公网 VPS 上装中转端

准备一台公网可达的 Linux 服务器(Ubuntu / Debian / CentOS / Rocky / Alma 均可,x86_64 或 arm64),以 root 执行:

curl -fsSL https://jjrue.com/install.sh | sh

脚本会做三件事:

  • 把 herald-relay 装到 /opt/herald/;
  • 建好 /var/lib/herald/ 下的数据、模板和升级包目录;
  • 注册并启动 herald-relay.service,设置开机自启。

结束时终端会打印控制端密钥和模板数量。密钥也会保存在 /var/lib/herald/relay-keys.conf,请备份;以后随时可以运行 herald-relay setkeys 查看。

如果服务器开了 ufw / firewalld,脚本会尝试放行 TCP 56925; 云厂商的安全组需要你到控制台放行同一端口。

02下载控制端,连上中转端

到 下载 选你的系统,打开 herald-gui。首次启动如果还没有配置, 点菜单「中转 → 连接配置」,填三项:

  • 主机:服务器的公网 IP 或域名;
  • 端口:56925(或安装时指定的端口);
  • 密钥:第 1 步打印的控制端密钥。

第一次连接会提示「公钥没有被授权」,这是正常的:控制端还要用自己的 Ed25519 密钥登录一次。 把错误里给出的那行命令复制到服务器上执行:

herald-relay authorize <你的公钥>

然后回到控制端点「连接」即可,不用重启中转端。连接信息保存在 ~/.herald/cli.conf。

03生成被控端,装到设备上

连接成功后,菜单「中转 → 生成被控端」。选平台、架构和保存目录;中转地址和端口填 目标设备能访问到的地址(通常就是第 2 步填的那个公网地址),然后点「开始生成」。

模板已经由安装脚本放好,不需要再手动上传。生成的是一个单文件程序:

  • Linux:拷到设备上,chmod +x 后运行;默认后台守护。
  • Windows:拷到设备上双击;首次确认 UAC,之后静默安装成服务并开机自启。

被控端以 root / LocalSystem 运行,能管理整机;生成件里带着设备端的传输密钥, 只放到你自己的设备上。

04确认在线,开始用

设备上线后会出现在主窗口列表里,显示编号、别名、IP、平台、版本和在线状态。 选中设备右键,常用操作都在菜单里:

  • 文件管理、命令行、进程管理、服务管理
  • 截图、远程控制、设备详情
  • 升级、重启被控端、卸载并删除、删除记录

各个功能会打开独立窗口,可以同时开着;列表变化会实时推送,不用手动刷新。

05更新

中转端在服务器上以 root 执行一条命令。 更新包和首次安装包是同一个文件:脚本会先比较版本,已经是最新就什么都不做。

curl -fsSL https://jjrue.com/update.sh | sh
  • 脚本会将旧的模板、升级包、中转端程序和 systemd unit 备份到 /var/lib/herald/backup/update-<时间>-<进程号>/;
  • 用新包里的程序和模板覆盖,重启 herald-relay.service;在线设备会自动重连;
  • 设备记录、两把传输密钥、控制端授权、许可证、别名备注和审计日志都不会动;
  • 版本相同也要重装(或想降级)时加 --force: curl -fsSL https://jjrue.com/update.sh | sh -s -- --force。

控制端的请下载最新 DMG / ZIP 覆盖安装;连接配置和登录密钥保存在 ~/.herald/(Windows 是 %USERPROFILE%\.herald),不会被覆盖。

被控端不会随中转端自动更新。新版被控端要在控制端里生成一次,并让它同时成为升级包:

  1. 菜单「中转 → 生成被控端」,选平台和架构(地址、端口按当前配置预填,通常不用改);
  2. 勾选「同时放进中转端的升级包目录 (updates/)」,点「开始生成」。 生成件落盘后会自动上传到中转端,不用再去服务器手动传文件;
  3. 每种在用的平台 / 架构各生成一次(例如 Windows x86_64、Linux x86_64、Linux aarch64);
  4. 回到主窗口,右键要升级的设备 →「升级」,选新版本。在线设备立即升级、短暂下线后 以新版本回来;离线设备会排成计划任务,下次上线自动执行。
06卸载

先卸设备,再卸中转端。中转端删掉以后控制端就再也连不上设备, 被控端只能到设备本机手动清理。

卸载被控端:在主窗口列表里右键那台设备,选「卸载并删除」, 按提示输入对话框里给出的客户端 ID 确认。

  • 设备在线:被控端会把自己连程序、服务、日志、安装目录和 ID 一起删掉,然后下线,这条记录同时删除。此操作不可撤销。
  • 设备离线:会排一条卸载任务,设备下次上线时立即执行; 这期间记录从列表里隐藏,可以在「计划任务」里查看或取消。

只是想清掉列表里的离线记录、设备上的程序还要留着?右键「删除记录」: 只删中转端里的这条记录,设备端一个文件都不动;它要是还在运行, 重新上线后会以一条新记录出现在列表里。

卸载中转端:设备都处理完以后,在服务器上以 root 执行:

curl -fsSL https://jjrue.com/uninstall.sh | sh

脚本会停止并禁用 herald-relay.service,删除程序、命令链接和 systemd unit,并清理安装时放行的本机防火墙端口。 默认保留 /var/lib/herald/(设备记录、密钥、模板和升级包), 以后重装可以接着用。确定不再需要,加上 --purge 连数据一起删:

curl -fsSL https://jjrue.com/uninstall.sh | sh -s -- --purge

加 --purge 会删掉密钥等全部数据;重装后会生成新的控制端密钥, 旧的被控端将无法再连回来。云服务器安全组里的端口放行仍需到控制台自行删除。

下载

下载图形控制端

控制端只装在你平时操作的那台电脑上。被控端由控制端生成,不需要在这里下载。 中转端已经在第 1 步装好。

macOS

Universal · Intel + Apple Silicon · macOS 12+

DMG 拖进「应用程序」;ad-hoc 签名、未公证。首次打开请到「系统设置 → 隐私与安全性」点 「仍要打开」。

Windows

Windows 10 / 11 · x64

解压整个目录后运行herald-gui.exe。SmartScreen 提示时点「更多信息 → 仍要运行」。

价格

免费版全功能,完整版 199 一次买断

两个版本的功能一个不少 —— 差别只在能挂多少台被控端。一次买断、不绑机器: 换 VPS、同时往多台服务器上部署,都不用再买第二份。先用免费版,不够了再买。

免费版

¥0

  • 功能与完整版完全一致
  • 最多 3 台被控端同时在线
  • 自备一台公网服务器跑中转端(一键安装)
  • 图形控制端支持 macOS / Windows / Linux

免费版不需要授权文件,装好中转端就能用。

合规提醒 —— 不论免费版还是完整版:被控端只允许部署在你本人拥有、或已获得设备管理方明确授权的机器上, 并遵守你所在地区的法律法规与所在组织的安全规范。用于未授权设备、以及由此产生的一切法律后果,由使用者自负。

怎么买

加QQ或者发送邮箱,说明要管理几台设备、都是什么系统; 装不上的地方可以直接问。

邮箱 wangc04@qq.com · QQ 3109980957

完整版授权是一个 .herald 文件:在控制端点「中转 → 授权与许可」选择它, 即时生效,不用重启中转端。中转端与被控端都是单文件;图形控制端自带 Qt 运行库。

架构

三个角色,各在哪跑

图形控制端herald-gui
中转端herald-relay
设备端herald-agent
角色跑在哪是什么
herald-gui 控制端 你自己的电脑(macOS / Windows / Linux) 图形界面,所有操作都在这里完成
herald-relay 中转端 一台有公网 IP 的服务器 转发中枢。控制端与设备端都连它,互相之间不直连
herald-agent 被控端 你要管理的那台设备(Linux / Windows) 由控制端的「生成被控端」现生成,单文件、零依赖

控制端与被控端互不直连:两端都是主动去连中转端,由中转端转发 —— 所以设备 不需要公网 IP,也不需要开放任何入站端口,只要能连上你的中转端就行。

中转端是你自己的服务器:设备记录、别名和操作审计都留在那里,不经过第三方。

安全设计

能做什么、不能做什么,都写清楚

传输:双向认证,带前向保密

TLS 1.2 / 1.3 + PSK 预共享密钥,握手即双向认证,无证书、无第三方依赖,密钥不对就握不上手。 套件只留带前向保密的 ECDHE-PSK。

身份:控制端还要登录一次

SSH 式 Ed25519 登录,本机生成密钥对,私钥永远不离开你的电脑,中转端只存公钥。 授权表每次登录都重读,加 / 撤授权立即生效,不用重启中转端。

审计:操作记在中转端

每一次进程 / 服务 / 远程桌面操作都由中转端记账(时间、操作员名、控制端 IP、目标、动作), 落在 relay-audit.log 里 —— 被控端本身不写这些日志。

边界如实写在这里

  • Windows 版本资源只影响文件属性页:生成被控端时可以改程序显示名、公司名、版本号等, 它不改变程序行为,也不会影响安全软件对它的判断。
  • 截图与远程桌面需要设备上已有用户登录并解锁:锁屏时抓不到画面,这是操作系统的安全机制, 不是缺陷。
  • 被控端以 root / LocalSystem 运行时可管理整机,请保管好控制端私钥与中转端密钥, 并务必使用足够长的随机串。

常见问题

需要什么样的服务器?

一台能连公网的 Linux VPS,1 核 512MB 就够,x86_64 或 arm64 都行。放行 TCP 56925 (或你指定的端口)。被管理的设备不需要公网 IP,也不需要开放任何入站端口。

免费版和完整版差在哪?

功能完全一样,只差同时在线的设备数:免费版 3 台,完整版不限。 完整版一次买断,授权不绑机器、不绑 IP,换 VPS 或换控制端电脑都不用重新买。

支持哪些系统?

控制端:macOS 12+(Intel / Apple Silicon)、Windows 10/11 x64、Linux x86_64 (glibc ≥ 2.35,X11 / XWayland)。被控端:Linux x86_64 / aarch64、Windows 10/11 x64。

关于杀毒软件

本程序是设备管理工具,不包含任何隐藏自身或对抗安全软件的功能。

  • 杀毒软件若报毒,属于「静态编译 + 远程管理功能」的常见误报。
  • 被控端安装前请明确获得设备管理授权;只装在你自己的设备上。
换服务器或换电脑怎么办?

授权不绑机器。换控制端时,在新电脑上连一次,按提示把新公钥 authorize 到中转端即可, 旧的那台可以在中转端撤掉授权。换中转端时,先备份 relay-keys.conf 和授权文件, 迁到新服务器;密钥文件丢了,已部署的设备会全部失联。

数据存在哪?

设备记录、别名和操作审计都在你自己的中转端 /var/lib/herald/ 下; 文件传输和远程桌面是两端之间的实时转发,不经过我们的服务器。

使用声明

herald用于管理你本人拥有、或已获得管理方明确授权的设备 —— 你自己的 VPS、家里的小主机、你自己的电脑。

  • 被控端只允许部署在你本人拥有、或已获得设备管理方明确授权的机器上。
  • 本项目不包含任何隐藏自身或对抗安全软件的功能。杀毒软件报毒属于「远程管理功能 + 静态编译」的常见误报。
  • 控制端登录私钥(~/.herald/id_ed25519)与中转端上的传输密钥请妥善保管 —— 被控端以 root / LocalSystem 运行时可管理整机。
  • 请遵守你所在地区的法律法规与所在组织的安全规范。用于未授权设备所造成的后果,由使用者自负。
  • herald 是商业软件(源码不公开):发行包仅供购买者本人部署使用, 未经许可不得再分发、转售,或用于向第三方提供托管服务。