Skip to content

Releases

ArdUi v6.10

Choose a tag to compare

@KateY07 KateY07 released this 27 Oct 11:04

ArdUi v6.10

自 v6.3 以来的变化(v6.4–v6.9 未单独发布)。

不兼容旧版本:服务器只接受 v6.10 及以上的客户端。v6.3 及以上的旧版会自动下载新版并提示安装;更早的版本请手动安装。

账号

  • 只有登录的设备可以连接(控制)其他设备;未登录时标题栏显示“匿名用户”,只能被控。被控的一方不需要账号。
  • 登录、注册、修改密码都在服务器(M)的账号网页中完成:ArdUi 点“在浏览器中登录”打开网页,网页上显示要登录的是哪台设备,登录后 ArdUi 自动更新(登录链接 10 分钟内有效,只能用一次)。ArdUi 内不再输入密码。
  • 自行注册需要用户名、邮箱和密码,账号需管理员审核后才能使用。
  • 管理页面 https://域名/api/admin:审核注册、新建用户、重置密码、停用或启用、设为管理员、删除。
  • 未登录时发起连接,会弹出账号卡片说明原因。

共享文件夹

  • 设备卡片上的“文件”在浏览器中打开对方的共享文件夹:浏览、下载(可续传)、上传多个文件(逐个显示进度、速度和剩余时间,断开后自动续传)、新建文件夹、重命名、删除。也可在资源管理器中打开(WebDAV)。
  • 只在直连时可用,不占用中转节点(ArdFerry)的带宽。每台设备在本机的地址固定,可存为书签。
  • 被控端在设置中选择共享文件夹;不选时每台主控使用自己的文件夹 文档\ArdUi 文件\<计算机名>-<设备ID>。删除和覆盖的内容进入隐藏的回收文件夹,可以找回。
  • 列表显示上传人;所有操作记入被控端审计。

对话

  • 发出的消息和文件立即显示,并标明“发送中 / 已送达 / 已读 / 未送达(重试)”;重试不会让对方收到两条。
  • 已读回执,可在设置中关闭。
  • 文件传输可续传;某些文件接近传完时报“控制消息过大”的问题已修复;对方拒收时不再误显示“已送达”。
  • 文字消息不再排在文件传输后面。
  • “抖一抖”:提醒对方查看对话(10 秒内一次),对方的灵动岛抖动并显示提示,点击直接打开对话。
  • 权限:“对话”包含文字、文件与图片、语音通话;“文件”是共享文件夹的读写。

更新

  • 有新版本时几秒内就会发现,在后台从服务器下载(可续传、校验 SHA-256),开始时提示,灵动岛显示进度,下载完询问是否安装。当前版本被服务器拒绝时立即显示下载进度。

其他

  • 设备卡片上的延迟每秒更新。
  • 集成 FRD v5.5:远程桌面窗口标题显示设备名。

服务器(自托管)

  • M 包包含同一版本的 ArdUi 安装包,供客户端更新下载;用新的 selfhost.sh 重新运行一次即可升级。
  • 第一个管理员在服务器上创建:sudo -u arduiserver /opt/arduiserver/venv/bin/python /opt/arduiserver/arduiserver.py --add-user 名字 --admin。
  • 发布文件可以用一次性令牌上传:… arduiserver.py --upload-token。

传输层 ard 4.0.0-pre.4(未变)。

ArdUi v6.3

Choose a tag to compare

@KateY07 KateY07 released this 26 Oct 05:06

ArdUi v6.3

兼容:可与 v6.2、v6.pre2 互连。官方服务器仍拒绝 v6.pre2 之前的版本(包括 v5.5、v6.pre1)。

下载引导(新)

  • 有新版本时,ArdUi 在后台从自己的服务器(M)下载安装包,平时不打扰;下载完成后弹出提示,由你决定是否安装,不会自行安装。
  • 当前版本被服务器拒绝时,会立即弹出提示并显示下载进度,下载完成后即可安装。
  • 下载可断点续传;已下载并校验过的不重复下载;大小或 SHA-256 与服务器公布的不一致的文件会被删除,不会被安装。
  • 失败后不会频繁重试:等待时间从 1 分钟起逐次加倍,最长 1 小时。
  • 安装时 ArdUi 会关闭,当前连接会断开;需要本机的人亲自点击,远程操作不能触发安装。
  • 旧版本仍保留在安装目录的 versions\ 下。
  • v6.2 及更早的版本没有这个功能,需要手动安装这一次。

服务器(自托管)

  • M 包现在包含同一版本的 ArdUi 安装包(client/ArdUi-v6.3_setup.exe),selfhost.sh 安装时直接从 M 包中取出,提供给本网络的客户端,不需要另外从 GitHub 下载。
  • 新增接口:GET /api/v1/release(最新版本、大小、SHA-256)和 GET /api/v1/release/<文件名>(支持断点续传,同时下载数有上限)。
  • 用新的 selfhost.sh 重新运行一次即可升级。

传输层 ard 4.0.0-pre.4、集成 FRD v5.4(均未变)。

ArdUi v6.2

Choose a tag to compare

@KateY07 KateY07 released this 26 Oct 04:44

ArdUi v6.2

正式版:内容与预览版 v6.pre2 相同,可与 v6.pre2 互连。

不兼容旧版本: v6.2 不能与 v6.pre2 之前的 ArdUi(包括 v5.5、v6.pre1)互连,官方服务器也已拒绝这些版本。请所有设备一起升级。

连接更快(慢速网络上尤其明显)

  • 会话的 ArdFerry 由主控端选定:主控端用最近一次测得最快的节点,并把它写进签名的连接请求,被控端校验后使用同一个节点。ard 启动时不再逐个探测所有中继再挑选,会话中途也不会再切换中继。
  • 主控端在连上 ArdFerry 的同时就去找对方,不再先等自己登记完成。
  • ard 与服务器之间的信令连接改为复用:空闲连接可以直接发下一个请求,省去重新握手;请求之间互不等待。
  • 实测(本机经手机热点,到服务器每个往返约 0.6 秒,连接 SY0812A,各 5 次):平均从 8.0 秒缩短到 3.9 秒,最快 2.0 秒;“正在建立加密连接”阶段从 5.5–10.5 秒缩短到 2.0–3.9 秒。启动后的第一次连接仍较慢(约 6 秒)。
  • 传输层 ard 升级到 4.0.0-pre.4(新增 --ferry、--ferry-key、--ferry-addr)。

没有可用的 ArdFerry 时:连接直接失败并提示,不再退回其他方式。

排查

  • 新增 ArdUi --connect-test 设备码 [次数]:用本机真实身份连接一台已授权设备若干次,并报告每个阶段的耗时(需先关闭 ArdUi 窗口)。

服务器(自托管)

  • 连接请求带上会话的 ArdFerry,服务器会校验其格式。
  • M 包更新:ard-relay 4.0.0-pre.3 允许一条信令连接连续处理多个请求。用新的 selfhost.sh 重新运行一次即可升级。

集成 FRD v5.4(未变)。

ArdUi v6.pre2

ArdUi v6.pre2 Pre-release
Pre-release

Choose a tag to compare

@KateY07 KateY07 released this 24 Oct 05:39

ArdUi v6.pre2(预览版)

不兼容旧版本: v6.pre2 只能与 v6.pre2 及以上的 ArdUi 互连,官方服务器也已拒绝 v6.pre2 以下的客户端。请所有设备一起升级。

连接更快(慢速网络上尤其明显)

  • 会话的 ArdFerry 由主控端选定:主控端用最近一次测得最快的节点,并把它写进签名的连接请求,被控端校验后使用同一个节点。ard 启动时不再逐个探测所有中继再挑选,会话中途也不会再切换中继。
  • 主控端在连上 ArdFerry 的同时就去找对方,不再先等自己登记完成。
  • ard 与服务器之间的信令连接改为复用:空闲连接可以直接发下一个请求,省去重新握手;请求之间互不等待。
  • 实测(本机经手机热点,到服务器每个往返约 0.6 秒,连接 SY0812A,各 5 次):平均从 8.0 秒缩短到 3.9 秒,最快 2.0 秒;“正在建立加密连接”阶段从 5.5–10.5 秒缩短到 2.0–3.9 秒。启动后的第一次连接仍较慢(约 6 秒)。
  • 传输层 ard 升级到 4.0.0-pre.4(新增 --ferry、--ferry-key、--ferry-addr)。

没有可用的 ArdFerry 时:连接直接失败并提示,不再退回其他方式。

排查

  • 新增 ArdUi --connect-test 设备码 [次数]:用本机真实身份连接一台已授权设备若干次,并报告每个阶段的耗时(需先关闭 ArdUi 窗口)。

服务器(自托管)

  • 连接请求带上会话的 ArdFerry,服务器会校验其格式。
  • M 包更新:ard-relay 4.0.0-pre.3 允许一条信令连接连续处理多个请求。用新的 selfhost.sh 重新运行一次即可升级。

集成 FRD v5.4(未变)。

ArdUi v6.pre1

ArdUi v6.pre1 Pre-release
Pre-release

Choose a tag to compare

@KateY07 KateY07 released this 24 Oct 03:41

ArdUi v6.pre1(预览版)

不兼容旧版本: v6.pre1 只能与 v6.pre1 及以上的 ArdUi 互连,官方服务器也已拒绝 v6.pre1 以下的客户端。请所有设备一起升级。

连接更快

  • 被控端不再每 3 秒向服务器轮询一次。现在服务器有连接请求时立即通知它;主控端也不再每秒询问一次对方是否就绪。
  • 在网络良好时,建立一次连接从平均约 5 秒(最慢约 7 秒)缩短到约 2.5 秒,而且每次耗时更稳定,不再偶尔多等 3 秒以上。
  • 网络很慢时(例如经手机热点,到服务器每个往返约 0.6 秒),剩下的时间主要花在建立加密隧道的多次网络往返上,这次改进只能省掉约 2–3 秒。
  • 传输层 ard 升级到 4.0.0-pre.3:启动时登记地址和连接中继改为同时进行;主控端补登记中继地址时不再推迟连接对方。

修复

  • 主控端没有正常告别就消失时(例如对方电脑离线、ArdUi 被强制结束),被控端以前会一直显示"正在建立连接",不断重试;现在连续 2 分钟没有可用路径就结束这个会话。
  • 两条路径的健康探测结果先后到达时,较早发出的探测不再覆盖较新的结果,避免不必要的回退到备用路径。
  • 通过中继的会话现在记到实际经过的 ArdFerry 上,会话往返时间和带宽能正常上报到状态面板。

排查

  • 日志现在包含 ard 在连接建立前的全部输出,以及被控端收到请求、本机就绪、通知服务器的时间点,便于分析连接耗时。

服务器(自托管)

  • 设备目录服务改为异步(uvicorn):等待中的设备不再占用处理线程。用新的 selfhost.sh 重新运行一次即可升级。
  • ArdFerry 停止心跳 10 分钟后从目录和状态面板中移除(原为 1 小时);状态面板只显示 M 当前认识的节点。

集成 FRD v5.4(未变)。

ArdUi v5.5

Choose a tag to compare

@KateY07 KateY07 released this 22 Oct 14:42

ArdUi v5.5

不兼容旧版本: v5.5 只能与 v5.5 及以上的 ArdUi 互连,官方服务器也已拒绝 v5.5 以下的客户端。请所有设备一起升级。

角色与职责

  • 网络只有三种角色:M、ArdFerry、ArdUi,每个角色只配置一个 HTTPS 域名;一个网络只有一个 M。见 README 顶部和 ROLES.md。
  • ArdUi 的配置不变(config.json 里的 server 就是 M 的域名)。中继目录和 M 的公钥改由 M 告诉客户端;config.json 里旧的 relay、relayKey 两项不再使用,留着也没有影响。

安全

  • 每个会话的密钥交换都由双方设备密钥签名:即使有人拿到会话令牌,也冒充不了已授权的设备。
  • 被控端的本地入口每个会话只接受一次准入,本机其他程序拿不到会话令牌。
  • 撤销授权或关闭被控时,正在等待确认的请求也会被拒绝。
  • 收到的文件带“来自网络”标记,运行前 Windows 会提示;每次连接最多接收 10 GB。
  • 首次连接密码按设备限制尝试次数;发给对方的错误信息不再包含本机路径、账户名和计算机名。
  • 同时进行的请求过多时只回复“对端正忙”,不再断开整个会话。

权限

  • 新增“对话”“文件”“通话”三项权限,与 FRD、RDP 一起在被控端逐设备授权,双向生效。旧授权保持原有能力。
  • 移除 SMB 文件共享(原本就不可用)。

集成 FRD v5.4

  • 新增:被控端悬浮面板里的“截屏”标注工具:抓取被控机主屏后在图片上标注,保存为 PNG 或复制到剪贴板,不影响被控机的操作,也不发给主控端。
  • 包含 v5.3 的修复:被控端打开任务管理器(管理员窗口)后键鼠无法转发。需要在被控端安装一次 FRD 的被控服务:运行安装包里 frd 目录中的 frd-service-*-setup.exe 并确认 UAC,也可以在 FRD 界面点“安装被控服务”。已装 v5.3 被控服务的不必重装。
  • 安全提示: 装了被控服务之后,已连接并有输入权限的主控端可以操作被控机上的管理员窗口,与它能操作 UAC 和锁屏界面是同一级别的授权。只给信任的设备开 FRD 权限。
  • FRD 协议未变。

ArdFerry 与状态面板

  • 中继统一由 ArdFerry 承担,旧的候选中继 ArdTransit 已退役。所有 ArdFerry 一视同仁,由客户端按实测延迟挑选,不再有"兜底"节点。

  • ArdUi 每 30 秒实测一次各 ArdFerry 的延迟和成功率,记下经过它的会话,用设备密钥签名后上报 M。节点自己不上报任何数据。

  • 状态面板 https://f.visnova.cn/api/ferries 用小地图展示每个节点的大致地域。每个节点并列显示两类数据:

    • M 的探测结果:握手延迟、24 小时可用率;
    • 客户端的实测汇总:延迟、成功率、设备数、中继会话数。

    公开页面不含 IP 地址。

其他修复

  • 装了 Hyper-V、WSL、Docker 等软件的电脑上,会话或 FRD 偶尔建立不起来(Windows 保留的端口段导致端口绑定失败),现已改为避开这些端口段。

自托管

  • selfhost.sh 支持只用公网 IP 部署(Let's Encrypt 短期 IP 证书)、完全离线安装(--wheels),服务运行在加固的沙箱里。
  • 加 --m-bundle 一次装好整个 M:设备登记、信令、地址发现、ArdFerry 目录和状态面板,并自动生成 M 的密钥。对公网的进程拿不到这把密钥。官方服务器 NJ 也用同一个安装器部署。
  • ArdFerry(流量转发节点)只需配置 M 的域名即可加入网络:自己生成密钥、自助登记,M 探测通过后才会被使用。安装器会自动下载并校验官方 iroh-relay,支持 UPnP 和 NAT-PMP 端口映射。