Releases: 0xUnixIO/pulse
Releases · 0xUnixIO/pulse
v0.3.4
refactor(update): server/node 接入 selfupdate 包,移除 curl|sh - serverapi/update.go:删除内联的 GitHub API 逻辑和 curl|sh 调用, 改用 selfupdate.Apply / FetchLatestReleaseCached; 加 atomic.Bool 防重入,并发更新请求返回 409 - nodeapi/api.go:DoUpdate 同步改造,防重入时返回 ok:false; 移除 os/os/exec/time 依赖 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.3.3
feat(users): 新增/编辑用户时支持设置门户密码及随机生成 - 新增 generatePassword() 生成 16 位随机密码(过滤易混淆字符) - 新建用户弹窗添加「门户密码」字段,含随机按钮 - 编辑用户弹窗密码字段新增随机按钮 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.3.2
feat(hy2): apply 全自动编排 sniproxy → 等证书 → xray restart - sniproxy.Manager.ReadyCertDomains() 扫盘返回已落地证书域名 - nodeapi.DoSNIProxyCertReady + nodeagent dispatch 暴露给 panel - nodes.Client.SNIProxyCertReady() panel 端 RPC - jobs.ApplyNodeUsers 重排执行顺序:先 SyncSNIProxy 触发 ACME, 若有 hy2 inbound 则轮询节点等证书就绪(最多 60s),最后 build + restart - proxycfg.BuildOptions.KnownReadyCerts:hy2 case 检测 SNI 未在已就绪集合 时跳过该 inbound(仅 warning),下次 apply 自动加回,避免阻塞 xray restart 修复了首次创建 hy2 inbound 必须手动「同步路由 → 等证书 → 再重启 inbound」 的两步体验。 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
v0.3.1
fix(hy2): tlsSettings 强制 alpn=h3,否则 QUIC 握手失败客户端报 connection refused xray 的 tls config 默认 NextProtos=[h2, http/1.1],hy2 走 HTTP/3 over QUIC 必须 alpn=h3,否则 quic-go 在 TLS 握手阶段拒绝连接,且服务端无任何日志。 同时 isValidDomain 限制证书路径只允许字母/数字/点/连字符,防止 SNI 字段 注入路径穿越序列让 xray 加载任意文件。 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
v0.3.0
fix(subscription): vless reality SNI 回退到 host.SNI 修复 7819fa2 重构后 TestVlessRealityLink 失败:当 RealityHandshakeAddr 为空时,优先使用 host.SNI 而非直接 fallback 到 addr。 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
v0.2.6
refactor(store): 删除 v2 历史补丁迁移 v0.2.0+ 用户已通过旧 init() 执行过所有 ALTER,新安装 v1 建表已含 所有字段,v2 对任何场景均为 no-op,删除以简化迁移列表。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.2.5
feat(panel): 更新时显示全屏 overlay 并展示分阶段进度 将 updateApplying: boolean 替换为四阶段状态机(idle/downloading/restarting/done), 利用 /healthz 轮询推断进度:apply 响应后 healthz 仍通为"下载/安装中",healthz 失败时切换为"重启中",恢复后切换为"完成"并在 800ms 后刷新页面。更新期间弹出全屏 backdrop-blur overlay 屏蔽所有操作,杜绝服务不可用时的误操作。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.2.4
fix(panel): 修复 HTTP 下安装命令复制按钮失败
两处问题:
1. clipboard.ts fallback 将 textarea 插入 document.body,但 Radix Dialog
的 focus trap 阻止 dialog 外的元素获得焦点,导致 execCommand('copy') 返回 false
→ 改为优先插入 [role="dialog"] 容器,确保在 focus scope 内
2. handleCopy 未 await copyText(),失败时仍显示"已复制"
→ 改为 async/await,失败时 alert 提示手动复制
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.2.3
v0.2.3
v0.2.2
v0.2.2