Repository navigation
ReinAgent v0.2.6
🚀 ReinAgent v0.2.6 更新日志
🌐 远程访问隧道单进程纪律(Single-Process Tunnel Discipline)
修复系统上堆积多个 cloudflared 进程的问题:此前子进程句柄仅存于内存、无任何回收机制,
应用非正常退出(开发模式中断、任务管理器强杀、崩溃)即留下孤儿进程,且每次启动又拉起新隧道,逐次累积。
- 启停串行化:隧道启动与停止全链路加锁串行,消除快速连点「重连」时旧句柄被覆盖失联的竞态。
- 精确孤儿回收:以 PID 文件 + 进程名校验双重确认,启动时只回收本应用遗留的隧道进程;
严格按 PID 精确终止,不误杀你在终端手动运行的 cloudflared。 - 宿主连坐终止:Windows 通过 Job Object(
KILL_ON_JOB_CLOSE)与宿主进程绑定,
ReinAgent 崩溃或被强杀时由系统内核连带终止隧道子进程;Linux 由进程组隔离 + 启动时回收兜底。 - 僵尸进程回收:隧道进程先于应用退出时立即回收,避免残留
<defunct>与陈旧 PID 记录。
🩺 连接稳定性修复
- 修复「首次可连、重试失败」问题:Linux 侧依赖的
PR_SET_PDEATHSIG语义绑定的是拉起进程的
线程而非进程,线程空闲会导致隧道被误杀;已改用进程级防护方案。 - 隧道异常退出时给出确切的退出码诊断信息,替代此前笼统的「已断开或退出」。
📦 下载与运行说明:
- macOS:下载
.dmg文件打开并将 ReinAgent 拖拽入应用程序目录(支持 Apple Silicon M 系列芯片;首次运行若提示未签名,请在「系统设置 → 隐私与安全性」中点击允许打开)。 - Windows / Linux:免安装裸二进制(Windows:
.exe,Linux: 直接下载即可运行)。 - 已安装的 ReinAgent 在启动时会自动检测并更新至最新版本。