Skip to content

ReinAgent v0.2.10

Choose a tag to compare

@github-actions github-actions released this 24 Oct 10:56
· 17 commits to main since this release

🚀 ReinAgent v0.2.10 更新日志

🌐 远程访问隧道单进程纪律(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 在启动时会自动检测并更新至最新版本。