Skip to content

Releases

Brocade v0.3.6

Choose a tag to compare

@akiasprin akiasprin released this 10 Nov 20:24

2026-11-11 重发说明:本次替换原 v0.3.6 的 tag 与全部发行附件。修复旧 Agent 缺失产品身份时无法升级的问题,并恢复此前已验收的异步预算续领实现。此前发行包保留了 8 个工作线程的旧调度,本次已更正;下载摘要随产物变化,请重新下载并核对 SHA-256。

Brocade v0.3.6 首次同时提供基础版(base)与容器扩展版(cvm),覆盖 Linux x86_64 / aarch64、GNU / 静态 musl 八种发行包。

主要变化

  • 独立产品变体:基础版只包含代理网络管理;容器扩展版增加 CVM 控制面、实例终端和 Cube 客户端。发行包、前端、Console 与 Agent 都校验产品身份,安装或切换变体时拒绝不匹配的组件。

  • CVM 容器扩展:增加实例、规格、持久磁盘、业务网卡、跨宿主网络、流量额度、独立监控和 WebShell;Cube 源码固定在仓库中,原盘保护、恢复与运行栈维护由专用边界管理。

  • 流量与限速:恢复单异步 I/O runtime、有界 256 在途及 256 排队任务,将排队耗时计入续领提前量;修复用户/App 额度与常态限速的共享预算、并发调度和不同应用间的额度隔离,保留独立授权发布及按实际节点能力确认的执行结果。

  • 旧 Agent 兼容:未上报 agent_flavor 或未发送 x-brocade-flavor 请求头时按基础版升级;显式 cvm、非法身份和跨变体约束继续校验。

  • 手机导航:基础版常驻「机器、线路、用户、用量」;容器版为「机器、容器、线路、用户」,用量收入账户菜单。

  • 向导拨测:入门向导和订阅页手动拨测至少等待 30 秒(原默认 10 秒),已有更长配置继续生效。

  • 机器与控制面:支持按机器关闭 Xray,完善连接跟踪、异步请求、观测与数据库并发读取。

  • 请求稳定性:限制性能计时包装器的异步状态大小,修复大型草稿请求在默认线程栈上溢出的问题,保留错误、取消和分阶段计时记录。

  • 控制台与安装:整理机器、用户、线路、规则和用量界面,补充产品变体契约与截图测试;README 提供自动选择架构、下载最新静态发行包并校验的部署命令,无需额外引导脚本。

  • DNS 稳定性修复:为并行 DNS 子请求隔离连接内容和属性,修复解析器之间并发读写共享 map 导致 Xray 进程崩溃的问题,并补充并发 race 与真实进程回归。此项需要单独更新节点 Xray 才能生效。

  • 安全修复:升级 github.com/andybalholm/brotli 至 v1.2.7、github.com/klauspost/compress 至 v1.20.2,修复 GO-2026-6888 与 GO-2026-6865。

下载与安装

默认选择文件名含 base 的基础包;需要容器控制面时选择 cvm。GNU 包要求 glibc 2.35 及以上,静态 musl 包可运行于同架构 GNU / musl 系统。

下载目标 .tar.gz 和同名 .sha256,校验后解压,在目录内执行 sudo sh install.sh;root 账号可省略 sudo。首次启动可选择托管或外置 PostgreSQL,入口默认使用服务器 IP 的 8080 端口。

安装与升级 · CVM 功能与边界 · Cube 运行栈

升级与兼容边界

  • 这是 base/cvm 产品变体的首次发行。实验 CVM 环境不属于自动接管或公开升级基线;缺少产品身份、数据库不兼容或仍有活动 CVM 资源时,安装器会拒绝相应切换。
  • 两个变体共享数据库 schema。已有产品安装切换变体须明确传入 --flavor base|cvm,并通过候选程序预检;降回基础版前须在容器版完成资源和在途任务清理。旧正式版不可仅凭版本号绕过产品身份与数据库校验。
  • 新增迁移 0005_node_xray_enabled.sql,保留已发布 0001–0004 的原始字节与校验值。解锁检测四小时默认值在 0005 应用:新安装默认四小时,已有用户的间隔与下次运行时间保持不变。升级前备份并验证恢复;回退必须使用能理解现有迁移和持久状态的构建,不删除迁移回执或覆盖升级后的数据。
  • 升级 Console 不会自动升级机队 Agent、Xray 或 Cube 运行栈。它们仍按各自发布路径更新;CVM 运行栈和系统镜像需另行准备,不由安装容器版 Console 自动安装。

运行过未发布开发版、且迁移校验值不同的数据库不会被自动改写回执;须先核对来源并在隔离恢复库验证兼容路径。

构建与验证

  • 来源提交与 tag:e030a387db19586be132892d5c62ad241b9299ca,Agent 预算实现摘要为 4211e94d46c65b9d7b80b019d028b0124f856ddfbb16b3e986ca91d4e648e1bb,12 个相关源码均与原验收记录一致。
  • CI 42889541696:八组发行包、两组身份、Cube 和 Xray 共 12 个独立检查已通过;其他检查尚在运行,未计为通过;实际状态保留在 validation-v0.3.6.json。
  • 本次完整 Console 编译、75 项 HTTP 集成、9 项限速测试、2 项产品变体 PostgreSQL、请求头解析、真实 Xray TCP/UDP 预算、5 项界面行为、两项旧 Agent 截图,以及两种变体的 4 项手机/桌面导航和菜单验证均通过。
  • 从本次 GNU x86_64 的实际 Console 包中下载并核对内嵌 Agent,两种变体分别回归 96 用户、预算接口延迟 80ms:base 最长暖态等待 105.71ms,cvm 120.54ms,均无错误或超过 500ms 的等待,每用户样本不少于 100。
  • 同字节发行包在 KVM/systemd 完成托管/外置 PostgreSQL 的安装、切换、恢复、重复升级与重启共 20 个验收事件。ARM64 基础版另外完成了线上原生覆盖升级、数据与密钥保留及健康验证;干净安装和变体切换验证仍为 x86_64 KVM。
  • 线上基础版 Console 已先完成升级,之后才覆盖 GitHub;机队 Agent/Xray/Cube 继续使用独立发布流程。
  • 27 个附件包含 8 包及各自 SHA-256、构建记录、完整性总表 SHA256SUMS、安装验收与限速验证记录。该版本号重发后,旧安装应重新下载校验,并使用安装器 --upgrade 更新;Console 升级后仍需单独批准 Agent 发布,才会改变机队上的预算执行器。

RustSec RUSTSEC-2026-0440(astral-tokio-tar)和 RUSTSEC-2026-0441(pin-utils)仍作为上游停止维护提示显示,未报告具体漏洞;其他漏洞仍阻断 CI。

v0.3.5

Choose a tag to compare

@akiasprin akiasprin released this 02 Nov 10:54

本版变化

  • 用户/App 常态限速:速度上限可以独立于流量额度设置,同一用户在同一 App 下跨机器、设备和连接共享预算。常态与超额速度取较低值,超额停用和服务暂停优先;取消额度保留常态限速,取消常态上限也不解除仍有效的超额处理。
  • 负载采样校时修复:Agent 使用 boot_id 与 CLOCK_BOOTTIME 识别重启并计算采样间隔,避免把 NTP 校时误判为重启或采样停顿。Console 能接受校时后可信的新鲜状态,保留历史原始时间,不让旧未来样本挡住当前读数。此项需要同时更新 Console 和 Agent。
  • 用户界面:默认「黛蓝」调整为柔和蓝并校验明暗对比度;行内编辑器同时支持额度、常态速度和用满后的处理,速度可切换 Mbps / Kbps,关闭编辑后恢复键盘焦点。
  • HY2 网络空间与连接统计:新 Agent 配合 hy2-netns-v1 将端口跳跃的 NAT/conntrack 放入专用网络空间,主进程、普通 TCP 和出站仍在主空间;新增 HY2 跟踪数,缺失不再视为零,套接字与 conntrack 分开展示。包含规则修复、重建、端口保留、VPN Gate 源 NAT 收窄及私有接口时间戳处理。
  • 移除旧中继判活:新 Agent 停止按下行计数器增量上报链路健康,前端不再据此告警,新配置移除 Observatory 和监控 balancer;保留旧接口、存储和历史修订。停止节点已有探测需要发布新配置,旧配置切换按既定重启/交接策略执行。
  • 规则与 DNS 编辑器:选路规则与整机 DNS 策略分段展示,桌面参数按列对齐、手机按块排列;新增规则入口紧跟规则表,支持图标排序、删除、草稿保存和只读查看,覆盖 WebKit。
  • 用量归属与尾流结算:配置交接后的中继尾流继续按已证明的原冻结归属差分入账;节点 ID 迁移后用精确账本证据恢复归属,无法确定的中继项单独拒收并保留基线,正常用户用量继续入账。已撤销用户授权不会因尾流规则重新生效。
  • 机器退役与移除:补全退役后的节点清理与重新启用路径,移除机器时保留其他机器仍有效的用量与归属。
  • AnyTLS 并发关闭修复:会话关闭与工作协程接纳共用同步边界,禁止关闭后新增工作;未能启动的数据投递会释放排队缓冲并完成关闭。新增确定性回归与重复 race 验证。

常态限速复用已有 Agent v44 的用户流量预算协议及 user-traffic-limit-v1 Xray 能力。未具备能力或尚未确认策略的节点仍显示待升级/同步状态;短期预算和采样带来有限的执行延迟,不承诺保存同一瞬间撤销所有已发放字节。

本版内嵌的双架构 Brocade Xray 构建记录与摘要见各发行包的 .build.json。

内嵌 Brocade Xray 的上游基线由 v26.10.21 更新至 v26.10.31,保留 Brocade 数据面能力。详见上游基线。

升级与回退

下载匹配平台的发行包及同名 .sha256,校验、解压并进入发行包目录后执行:

sudo sh install.sh --upgrade

v0.3.5 新增 0004_user_app_rate_limits.sql,独立保存常态速度。已发布的 0001–0003 原始字节和回执保持不变;官方 v0.3.4 的 [1,2,3] 通过普通升级追加执行 0004,官方 v0.3.1 / v0.3.3 也可按完整前向迁移链升级,均不需要预发布兼容变量。运行过开发版迁移或自行改库的环境须先按精确兼容说明核验历史。

安装器复用原数据库、访问入口、账户与密钥,停写后保存压缩备份,存在停服窗口。外置数据库需要本机有兼容的 pg_dump / pg_restore。已有额度、用量、预算时钟、归零事件及旧迁移回执保留。

应用 0004 后不能直接回退官方 v0.3.4 或更早的 Console。 取消限速不会改变迁移历史;回退须先取消相关策略并等待节点确认,再使用携带相同 0004、兼容现有数据的回退构建。迁移开始后的失败保留备份和现场,不删除新表、迁移回执或恢复旧整库覆盖升级后的计量与审计写入。详见安装与升级和用户限速。

Console 升级不会自动批准机队 Agent / Xray 更新。校时修复通过发布页单独更新 Agent;常态限速按实际节点能力确认后启用。仍有受管限速策略时,不应回退到缺少相应能力的节点组件。

Agent / Xray 网络升级注意事项

  • 先更新 Agent,再单独批准 Xray 更新。管理 HY2 端口跳跃的节点采用 restart,首次迁移或网络重建会重启 Xray,已有连接由客户端重新连接;不使用双跑交接。单独更新 Agent 不会重启健康 Xray。
  • HY2 入站在早期 PREROUTING 分流,不经过主空间 INPUT;需要入站限制时,应在分流前或专用空间实施,回包继续经过主空间 OUTPUT。容器还须允许网络空间创建/挂载/切换及 BPF,只有 NET_ADMIN 不足以启用;能力不足在停机前报告。
  • 健康 Mux 的 VLESS/Shadowsocks TCP 出站按明确的对端 IP/端口双向免跟踪,要求不依赖本机 NAT;使用状态防火墙时需显式放行这些回包。普通直连、控制面、UDP 和回环不作为类别统一豁免。
  • 新 Agent 不再覆盖宿主机 UDP 超时;专用 HY2 空间使用自己的超时。没有可靠原值的既有全局参数保留,不猜测恢复默认值,也不清空主空间 conntrack。
  • 回退到不支持隔离的旧版本前,先保留新 Agent,以 restart 发布不支持该能力的旧 Xray,确认网络回迁与服务恢复,再降级 Agent。不要直接替换为不认识本地网络检查点的旧 Agent。

网络支持范围和运维边界见 HY2 网络空间。

平台与验证

提供 Linux x86_64 / aarch64 的 GNU 与静态 musl 四个平台发行包。GNU 支持 glibc 2.35 及以上;每包附 SHA-256 和 .build.json,保留构建来源、二进制摘要及双架构 Xray 记录。

  • 来源提交:250f6767a7be5535dade4e49d1a4e71d07a325b9。
  • 发行物来自 CI 41422404707,全部 7 个 job 通过,涵盖四平台构建、Rust/数据库/前端完整检查及 Xray 数据面验证。
  • 强制官方 v0.3.1 KVM/systemd 验收覆盖外置 PostgreSQL 16 和受管 PostgreSQL 17.11,验证升级、压缩备份恢复、重复执行、失败边界、socket 连续性、两种数据库各自整机重启后登录及配置、额度、用量与累计计数保留。
  • 已有 0001–0003 的恢复库追加 0004、旧数据及回执保留、DDL 冲突原子回滚均由 PostgreSQL 回归测试覆盖。
  • 升级演练的 Console / Launcher 摘要与发行包一致,详见附件 upgrade-v0.3.1-acceptance.json。
  • 同附件的 hy2_network_acceptance 使用本次发行包内嵌的实际 Agent/Xray 字节,覆盖 Docker 40 项、硬件 KVM 40 项,以及同机真实 Docker/systemd 场景 21 项检查,含旧版回迁和服务恢复。该证据针对 x86_64,不代表 ARM64 原生运行或吞吐容量验收。

完整变更

v0.3.4

Choose a tag to compare

@akiasprin akiasprin released this 30 Oct 11:20

本版变化

  • 更新内嵌 Brocade Xray 基线至 v26.10.21,并更新 REALITY 依赖;保留 Brocade 的计量、授权、路由与交接契约,补强 DNS、QUIC、Mux 和反向连接回归验证。
  • 增加机器与线路的区域性服务解锁检测,分别展示 IPv4 / IPv6 结果,支持线路解锁对照视图、定时检测和路径变化后的重测;检测结果保留实际路径与失败原因。
  • 支持协商使用常驻 WebSocket 通道执行小型节点 RPC 和控制通知,保留旧版 HTTP 兼容路径,减少固定轮询与空闲采样。
  • 增加用户本期用量归零,保留历史账本、自然月统计与归零审计;完善用量、在线来源、诊断和移动端展示。
  • 支持线路跨分组移动,保留线路身份、凭据与既有授权,通过草稿、修订和发布应用变更。
  • 安装器接入 systemd socket 托管,日常服务重启保留监听;完整升级停止 socket 与 service 后备份、迁移,再恢复服务。新增私有文件形式的数据库连接配置入口。

升级与兼容性

下载对应平台的发行包及 .sha256 文件,校验、解压并进入发行包目录后执行:

sudo sh install.sh --upgrade

升级复用已有数据库、访问入口、账户和密钥,并在停写后保存压缩备份。外置数据库需要本机已有兼容版本的 pg_dump 和 pg_restore;升级存在停服窗口。安装器的新旧布局与失败恢复边界见安装与升级说明。

官方 v0.3.1 与 v0.3.3 使用普通升级即可,不需要预发布兼容变量。v0.3.3 已发布的 0002_forwarding_rule_results.sql 保持原始字节;用量归零和解锁调度等新增结构位于 0003_unlock_probe_schedule.sql。运行过开发版或预发布迁移的环境,须先按部署手册核验具体历史并使用对应兼容路径,不要删除迁移回执或手工改写 checksum。

应用 0003 后,仅识别 0001 / 0002 的旧 Console 不能直接读取新迁移历史。回退须使用携带相同迁移且兼容现有数据的构建;迁移开始后的失败保留备份和现场,不用旧整库备份覆盖升级后的新写入。

Console 升级不会自动更新节点 Agent / Xray。节点能力更新按 Console → Agent → Xray 顺序,通过发布页分别批准;具体能力要求见观测与诊断、用户与权限及发布说明。节点二进制默认直接重启,会中断已有连接。

提供 Linux x86_64 / aarch64 的 GNU 与 musl 四个平台发行包。GNU 包支持 glibc 2.35 及以上,musl 包静态链接;每包附 SHA-256 和 .build.json 构建记录。

验证证据

  • 来源提交:28c94ef6883865ec2e44d7a5fc2f25ea791b2ad9。
  • 本次 CI 41039765126 的 7 个 job 全部通过:四平台构建、完整常规检查、Xray 数据面验证和强制真实升级验收。
  • 384 项 Store 数据库集成测试、69 项 Console HTTP 集成测试及 1550 项前端组件测试通过,同时执行 Rust workspace、浏览器、协议、race / fuzz 和依赖漏洞检查。
  • 官方 v0.3.1 的真实 KVM / systemd 验收覆盖外置 PostgreSQL 16 与受管 PostgreSQL 17.11,验证配置、账户、密钥、额度、用量及累计计数保留、压缩备份恢复、重复升级、socket 连续性、失败边界和两种数据库模式各自整机重启后登录。
  • 发行包与验收输入的 Console / Launcher 摘要已交叉核对;完整验收记录见附件 upgrade-v0.3.1-acceptance.json。

完整变更

v0.3.3

Choose a tag to compare

@akiasprin akiasprin released this 24 Oct 21:51

升级与兼容性

本次强制验收基线为官方 v0.3.1,覆盖外置 PostgreSQL 16 与受管 PostgreSQL 17.11。下载并校验对应平台发行包,解压后执行:

sudo sh install.sh --upgrade

升级保留原数据库与访问配置、密钥、账户、额度、用量及累计计数,在停服后保存压缩备份并执行前向迁移。外置数据库需要本机已有兼容版本的 pg_dump 与 pg_restore。升级会有停服窗口;迁移开始后遇到故障将保留备份并停止服务,避免错误回退覆盖数据。

本版变化

  • 修复迁移失败或取消后会话锁未释放、重试长时间等待的问题。
  • 完善 Console 备份、迁移、失败保护及恢复流程;增加不可跳过的官方 v0.3.1 真实 KVM/systemd 升级、恢复、重复执行及两种数据库模式各自重启验收。
  • 修复积压 Ping 上报与节点收敛恢复,改进转发逐条同步和 Xray 路由原子切换。
  • 增加用户服务账期、接入来源与流量策略;移除用户转发总额度,保留机器独立转发额度。
  • 修复 Xray DNS 共享缓存结果竞态,稳定浏览器测试并更新已披露漏洞的依赖。

Console 升级不会自动发布节点 Agent/Xray。节点能力升级按 Console → Agent → Xray 顺序,通过发布页单独批准;涉及来源、流量及转发目标策略的功能须等待对应节点能力就绪。旧版节点在过渡期间只领取公网 IP 转发规则,域名与私网转发需完成 Agent/Xray 升级后恢复。节点二进制默认采用直接重启,会中断现有连接;详细顺序与能力门槛见转发说明。

GNU 发行包支持 glibc 2.35 及以上;musl 发行包为静态链接。提供 x86_64/aarch64 两种架构,每份归档附 SHA-256。

验证证据

正式发布仅使用本次提交的 CI 发行物。升级验收使用官方 v0.3.1 原始发行包,校验账户登录、配置与密钥、额度与用量、计数头、原 PostgreSQL 集群、压缩备份恢复及真实整机重启。

完整 CI:40132240109。源代码提交:2881efa424e3bbd49c24fc47e90868e47969a1db。发行包对应的验收输入摘要与两种数据库结果见附件 upgrade-v0.3.1-acceptance.json。

Brocade v0.3.2

Choose a tag to compare

@akiasprin akiasprin released this 20 Oct 22:14

Brocade v0.3.2 基于 v0.3.1,包含以下修复。

  • 修复“新建链”页面在机器状态每 3 秒刷新时,表单反复禁用、变灰和闪烁的问题。后台轮询保持表单可编辑;首次加载和读取失败仍保留校验。
  • 新系统初始化时,“在线来源”默认开启“记录公网 IP”,模型、设置页和生成的 Xray 策略保持一致。升级保留已有设置,已保存为关闭的安装不会自动开启。
  • 更新证书安全依赖:rustls-webpki 0.103.16、webpki-roots 1.0.10、webpki-root-certs 1.0.10,处理 RUSTSEC-2026-0381、0382、0383。安全审计持续启用;对只转发新版根证书的 webpki-roots 0.26.11,仅在确认解析到已修复的 1.0.10 时排除这一公告的版本范围误报,其他公告照常阻断。
  • 将 Vite 更新到 7.3.7,修复开发工具启动编辑器的安全公告;npm 全依赖审计恢复为零漏洞。

未包含其他开发中的变更;没有数据库迁移或协议变化,Xray 源码保持 v0.3.1。

本地验证:258 项 Node 测试、1206 项 React 测试、前端检查及构建通过;core 测试、core/store Clippy、真实 PostgreSQL 初始化与关闭设置保留回归通过。Rust 依赖安全审计及 9 项审计回归通过。

发布 CI 的全部 6 个任务通过,包含 Rust/npm/Go 安全审计、workspace fmt/Clippy、完整 Rust 与 PostgreSQL 集成测试、真实 Xray/Agent 互通、前端 lint/测试/自检、Xray 数据面检查和四平台发布构建。

源码提交:9d595ea61e2016a73eb10590f2f7ab3f7f55ea7d。本次 CI。

四平台安装包均由 GitHub Actions 编译,已核验包内外 SHA-256、ELF 架构与动态依赖。GNU 包兼容 glibc 2.35;musl 包无动态库依赖。每包的双架构内嵌 Xray 构建记录与 v0.3.1 完全一致。x86_64 GNU/musl 实际安装包均通过 PostgreSQL 初始化、健康检查、内嵌前端修复及在线来源默认值检查;ARM64 未在本机执行。

下载与你系统匹配的 brocade-dist-0.3.2-linux-<架构>-<libc>.tar.gz,使用对应 .sha256 或 SHA256SUMS 校验;.build.json 记录源码、CI、二进制摘要与内嵌 Xray 来源。

Brocade v0.3.1 — Linux libc compatibility

Choose a tag to compare

@akiasprin akiasprin released this 20 Oct 14:08

Brocade v0.3.1 修复 Linux 发行包兼容性。

  • GNU 发行包改为在 Ubuntu 22.04 构建,CI 拒绝依赖高于 glibc 2.35 符号的产物。当前双架构 GNU 包的实际 ELF 符号下限均为 2.34,发行验证基线为 Ubuntu 22.04 / glibc 2.35,并覆盖 Debian 12 / glibc 2.36。v0.3.0 GNU 包依赖 glibc 2.39,是旧系统安装失败的原因。
  • 同架构静态 musl 包现在可以安装到 GNU/glibc 系统。
  • musl launcher 根据宿主机 libc 选择受管 PostgreSQL:GNU 主机下载 GNU 版,Alpine 下载 musl 版,避免错误要求 GNU 主机提供 musl 动态加载器。探测有五秒期限,无法识别时明确报错。
  • 安装器保留动态加载器、运行库和权限的原始错误,便于直接定位执行失败原因。

安装:下载匹配 CPU 的 GNU 或 musl 发行包及同名 .sha256,校验、解压后运行 sudo sh install.sh。Ubuntu 22.04 / Debian 12 可选择任一种;Alpine 使用 musl。默认 HTTP 端口为 8080,交互安装可确认公网 IP、端口和数据库类型。

验证:launcher / 安装器 30 项定向测试与 Clippy 通过;静态 musl 构建的全部 31 项测试通过,包括受管 PostgreSQL 的真实初始化与重启。正式 x86_64 GNU 包在 Ubuntu 22.04 / Debian 12、正式 x86_64 musl 包在 Ubuntu 22.04 / Debian 12 / Alpine 3.22 的实际安装、宿主 PostgreSQL 启动、Console 健康检查和初始化接口均通过。全部归档的摘要、内容、ELF 架构、动态依赖与内嵌 Xray 记录通过核验,Xray 字节与 v0.3.0 相同。

源码提交:c27978846b039ebb52d13944cc245595971f4b91。四平台归档校验文件与 .build.json 记录实际 ELF、glibc 需求、Console / launcher 摘要及内嵌 Xray 配方和摘要。CI 检查。

发布时四平台构建、静态 launcher 的 GNU PostgreSQL 回归和完整 Xray 数据面 CI 均成功;综合 Rust / PostgreSQL / 前端 CI 任务仍在运行,最终结果请查看上述链接。