Skip to content

Releases: mangerle/rddns

v0.13.1

Choose a tag to compare

@github-actions github-actions released this 07 Oct 06:59

代码重构 (Refactor)

  • notifier,web: 拆解超长构建与鉴权函数并消除通知底层重复日志
  • core: 拆分超长模块与函数、收敛多参构造器并规范日志分级

安全修复 (Security)

  • security: 加固初始化反代拦截、STUN与Webhook边界校验及凭据脱敏

性能优化 (Performance)

  • dns: 补齐 6 个 DNS 驱动的 Zone ID 缓存并清理已删除任务错误追踪
  • core: 优化读写锁竞争、流式响应读取、连接池复用与子进程生命周期管理

新增功能 (Features)

  • frontend: 补齐任务运行状态、通知渠道投递状态展示与仅变更通知开关

缺陷修复 (Bug Fixes)

  • ci: 修复跨平台条件编译未使用导入与 Clippy 静态检查告警
  • notifier,ip_fetcher: 修复 STUN 多目标串扰、Token 缓存失效自愈及通知响应校验
  • dns: 修复源站组误删、多记录清理不可达、分页截断及 HTTP 状态码重试问题
  • config: 修复掩码凭据还原时无法清空可选密钥及跨任务凭据串台问题
  • engine: 修复退避计数未重置、双栈错误覆盖及单栈或不支持协议误报失败
  • frontend: 修复新密码保存丢失、CSP 内联脚本拦截及 SSE 退出未关闭问题
  • web: 修复通知在线测试接口 JSON 结构不匹配与掩码凭据未还原问题
  • dns: 修复 DNS UDP 响应截断时解析失败导致 TCP 回退失效的问题
  • dns: 修复 Vercel 驱动多页查询时游标未重置导致的误报错误
  • config: 修复配置损坏回退写盘失败时异常退出与双重日志记录

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 04:29

代码重构 (Refactor)

  • update: 收敛远端版本检查时机并简化缓存模型
  • web: 外置配置处理器单元测试以符合单文件行数规范
  • dns: 统一阿里 POP 签名逻辑并收敛 RecordOps 结构体参数与远端语义
  • arch: 分层依赖解耦与中立层能力下沉,9 家服务商接入 RecordOps 模板

性能优化 (Performance)

  • interface: 网卡IP探测接入带TTL的系统网卡列表内存缓存

新增功能 (Features)

  • Feat & fix: 协议记录类型协商、Dynv6 区域缓存、企微模式枚举与 STUN 报文解析规范
  1. 将企业微信通知模式重构为强类型枚举并支持大小写容错

  2. 为 DnsProvider 增加协议记录类型能力声明并在引擎层跳过不支持任务

  3. 调整基准测试与发布配置解除激进尺寸优化限制

  4. 纠正错误冷却淘汰策略注释避免误导为标准 LRU

  5. 为 HiPM DNSMgr 凭据配置增加 endpoint 非空校验联动

  6. 为 Dynv6 增加 Zone 解析缓存并补充未匹配显式告警

  7. 消除 EdgeOne 源站组死代码并规范单源站与多源站更新行为

  8. 增加 STUN 头类别比特校验并规范错误响应与完整性属性解析

测试相关 (Tests)

  • Test & ci: 补充 macOS 运行矩阵、基准测试网络解耦及端到端 Mock 覆盖
  1. 在 CI 门禁矩阵中补充 macos-latest 以覆盖 launchd 跨平台编译分支

  2. 消除基准测试对公网 DNS 的依赖,注入确定性 Mock 并补齐有效性断言

  3. 将单体鉴权集成测试拆分为 6 个独立的隔离测试用例

  4. 补充阿里云 DNS 与 Telegram 及 Bark 通知渠道端到端 Mock 集成测试

缺陷修复 (Bug Fixes)

  • ci: 修复 clippy 告警导致的代码质量门禁失败
  • web: 移除解析任务列表新建按钮文案中的全角加号前缀
  • core: 修复开机网络就绪探测假阳性导致的首轮同步失败与误报告警
  • engine: 优化快速自愈重试调度的退出判定逻辑
  • dns/cloudflare: 在更新记录请求体中补齐proxied代理配置参数
  • engine: 修复IP获取失败时被误判为未变动且漏发通知的问题
  • http: 将网卡绑定源IP纳入客户端缓存键以支持宽带重拨自动刷新
  • notifier: 惰性收割已完成的通知监管任务以消除内存泄漏
  • ci: 修复跨平台静态检查警告与冗余类型转换
  • infra: 修复服务脚本命令注入、日志文件权限与 STUN 降级,并引入通知并发控制
  • 修复 Web 异常崩溃、配置损坏丢失、网卡私网探测与 DNS 冗余清理等核心缺陷

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 04:22

代码重构 (Refactor)

  • dns: 集中提取各提供商 API 基础端点与通用客户端默认超时常量
  • web: 重构 SSE 连接守卫为 GuardedStream 消除闭包引用与反直觉析构
  • core: 提取退避阈值与配置默认边界命名常量消除魔法数字
  • core: 拆分超限源码文件与单元测试符合行数复杂度规范

安全修复 (Security)

  • web: 收紧首发管理员账号初始化仅允许本地回环地址发起

性能优化 (Performance)

  • web: 引入快速凭据验证缓存消除受保护请求高频 bcrypt 的 CPU 消耗

文档更新 (Documentation)

  • engine: 统一并发度注释与 MAX_CONCURRENT_DNS_SYNCS 常量保持一致

新增功能 (Features)

  • frontend: 接入任务与通知渠道结构化运行时状态接口
  • web: 为 IP 提取在线测试接口补齐频控限制防止外部反射与泛洪

测试相关 (Tests)

  • core: 封装全局静态状态隔离夹具并引入 RAII 守卫消除测试竞态
  • web: 补充基于 tower::ServiceExt 的端到端鉴权与防爆破集成测试

缺陷修复 (Bug Fixes)

  • web: 仅对已启用的 IP 提取源执行 SSRF 校验并保证测试环境网络确定性
  • crypto: 增加常见弱口令黑名单字典与单一字符重复检查增强密码复杂度
  • config: 统一配置校验逻辑至 AppConfig 下沉模型消除规则双写
  • command: 强化外部命令安全校验拦截参数注入与感叹号转义
  • web: 补齐 Callback DNS 服务商的 SSRF 与安全策略校验
  • net: 将 SSRF 域名解析失败由静默放行改造为默认拒绝
  • net: 将 SSRF 目标校验改造为异步 DNS 解析并增加超时保护
  • web: 规范 Web 异常日志分级避免 4xx 污染错误日志与刷盘
  • crypto: 统一假哈希与系统默认哈希的 bcrypt cost 消除时序侧信道
  • web: 拒绝通过 Web API 动态修改服务端口与外网访问策略并提示需重启
  • web: 优化 SSE 日志推流历史快照回放与前端刷新去重
  • core: 优化开机网络探测、同步重试与故障自愈调度

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 01:22

代码重构 (Refactor)

  • engine: 统一提取并收敛缓存周期超限计算逻辑消除双源分歧
  • dns: 抽象百度云签名默认有效期常量并支持参数化配置
  • dns: 拆解EdgeOne数据契约与外置大型单元测试消除单文件超限问题
  • dns: 为RecordOps引入blanket impl消除13家DNS驱动的纯委托样板代码
  • notifier: 抽象DclTokenCache双检锁缓存消除重复代码并消除凭据常驻内存
  • notifier: 统一通知摘要格式化与正文生成消除跨渠道冗余代码

其他变动 (Other Changes)

  • 对齐基准profile与发布产物并补齐DNS报文编解码性能基准
  • 移除 build.rs 前端占位兜底并强制真实产物校验

安全修复 (Security)

  • security: 增加自定义正则表达式与STUN服务器地址长度上限防护
  • audit: 集成 cargo-deny 依赖安全审计并升级漏洞依赖
  • security: 移除CSP中script-src的unsafe-inline并补全SPA路由安全头
  • security: 引入全量敏感凭据掩码化与自动还原杜绝API明文回传泄露
  • security: 统一端点 SSRF 校验并补全邮件服务器地址检查

性能优化 (Performance)

  • util: 引入5分钟版本检测内存缓存与降级机制杜绝频繁出站请求
  • config: 缩小配置更新锁临界区并将磁盘IO移出RwLock以对齐异步无阻塞设计
  • interface: 将耗时网卡系统调用移出写锁临界区以优化高并发性能

新增功能 (Features)

  • notifier: 聚合各通知渠道投递状态以增强推送可观测性
  • update: 为自更新引入官方Ed25519数字签名强校验

日常维护 (Maintenance)

  • changelog: 优化git-cliff提交排序为倒序并提升安全类分组优先级
  • git: 忽略前端tsbuildinfo缓存并清理已追踪的构建临时文件

流水线配置 (CI/CD)

  • release: 规范清单安装包下载链接避免草稿临时路径
  • release: 修复清单生成脚本在草稿状态下获取资产返回404的问题
  • 升级CI环境至Node22并规范cargo-deny配置与开源协议白名单
  • release: 引入草稿机制保障 release 原子性发布
  • 拆分前端工作流并补齐 eslint 代码规范检查门禁

测试相关 (Tests)

  • dns: 解耦5类云厂商签名算法并补齐标准测试向量单测覆盖

缺陷修复 (Bug Fixes)

  • web: 替换 AtomicI64 为 Mutex 兼容 32 位嵌入式目标架构
  • engine: 统一异常域名计数为饱和加法防范潜在算术溢出
  • ip_fetcher: 严格校验Linux网卡IPv6字符合法性防范切片越界panic
  • concurrency: 显式纳管与绑定后台任务句柄防范孤儿任务违反规范
  • notifier: 为飞书与钉钉消息引入Markdown控制字符转义防范排版注入
  • notifier: 补全邮箱地址日志脱敏与Webhook响应日志长度截断
  • dns: 为Cloudflare与雨云全局Zone缓存引入TTL淘汰与过期刷新机制
  • dns: 引入CSPRNG随机源加固Nowcn请求Nonce生成
  • crypto: 修正规范化查询串编码为严格RFC3986以避免加号空格签名失配
  • dns: 统一ZoneNotFound错误载荷语义为纯域名以消除双重格式化缺陷
  • web: 为SSE实时日志推流引入RAII并发连接上限防范连接泄露
  • ip_fetcher: 优化STUN多候选地址遍历与Anycast响应兼容处理
  • web: 显式声明256KB请求体上限防范超大报文拒绝服务攻击
  • dns: 将truncate_body收敛至Display统一出口防范长错误报文
  • notifier: 截断微信keyword1字段并实现多接收者推送故障隔离
  • http: 为全局HTTP客户端统一注入APP_USER_AGENT请求头
  • dns: 补全Porkbun真实记录ID并明确无独立ID服务商的资源契约注释
  • notifier: 修复微信公众号通知器绕过连接池且退化为无超时Client的缺陷
  • log: 将未变化分支与静默跳过通知的info日志降级为debug
  • notifier: 引入错误指纹归一化防止动态RequestId破坏冷却抑制
  • notifier: 分类通知错误并为重试退避增加Jitter防范重试风暴
  • dns: 消除火山引擎与雨云数字ID解析静默降级为0的缺陷
  • http: 修复兜底HTTP客户端丢弃调用方超时配置的缺陷
  • interface: 为网卡系统调用与查询增加超时保护杜绝线程阻塞
  • dns: 增加临时网络抖动自动重试机制杜绝单次偶发失败告警
  • web: Web服务监听非回环地址时增加明文HTTP凭据暴露安全警示
  • dns: 增强 ops 模板多记录冲突清理并补齐成功同步日志
  • auth: 支持反向代理客户端IP提取防范共享对端IP导致全局锁死
  • dns: 增加 Vercel 与 GoDaddy 等驱动响应业务错误码拦截杜绝静默失败
  • dns: 规范化各DNS驱动中的URL路径与参数拼接以防注入与路径穿越
  • web: 为测试通知接口增加频控与渠道启用校验杜绝消息中继滥用
  • engine: 为 IP 探测流程引入 20 秒聚合超时熔断防止调度循环阻塞
  • dns: 规范化 NameSilo 与 Porkbun 的最低 TTL 处理并增加自动修正提示日志
  • domain: 强化子域名与根域名字符集白名单校验杜绝路径穿越与URL注入漏洞
  • auth: 引入常量时间凭据校验防范用户名枚举时序侧信道漏洞
  • dns: 修复 Gcore 与华为云驱动仅取 RRSet 单条记录导致的匹配遗漏缺陷
  • dns: 补全 Cloudflare 与 Spaceship 记录删除时的状态码检查与错误日志
  • dns: 补全火山引擎记录更新请求中的 ZID 区域标识参数
  • engine: 修复域名全部解析失败仍被误判为健康的判定缺陷
  • notifier: 统一 HTML 特殊字符转义并修复企业微信卡片消息标签注入漏洞
  • auth: 为登录频控表增加容量硬上限与键长安全截断
  • ip_fetcher: 修复命令探测子进程管道阻塞与标准输入继承
  • error: 隔离底层错误枚举中的第三方原始类型
  • dns: 补全 AliESA 记录更新业务结果校验与统一响应拦截
  • dns: 规范 Namecheap 成功判定收敛至 ErrCount 为 0
  • dns: 严谨校验 Dynadot 响应错误码并修复子串误判漏洞
  • dns: 增加 AliDNS 业务错误码校验杜绝 HTTP 200 静默误判

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 09:35

缺陷修复 (Bug Fixes)

  • service: 修复 Windows 服务安装启动乱码、参数解析及自更新拉起异常

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 07:42

代码重构 (Refactor)

  • config: 全面现代化配置文件格式与存储模型为 TOML
  • core: 拆解 lib 架构、收敛错误模型并裂变调度引擎
  • dns: 引入 RecordOps 模板抽象并全面迁移主流云服务商实现
  • logging: 清理域名同步重复日志并将高频轮询降级为 debug 级别
  • ip_fetcher: 将 Linux procfs if_inet6 解析与排序拆分为独立模块
  • ip_fetcher: 将 STUN RFC 5389 协议编解码拆分为独立子模块
  • config: 将 DNS 服务商配置拆分为独立 provider 模型子模块
  • dns_resolver: 将 RFC 1035 数据包编解码拆分为独立 dns_packet 模块
  • http: 将系统网卡出站 IP 探测与缓存拆分为独立 interface 模块
  • logging: 移除 tracing 依赖并重构为基于 fern 的轻量日志系统
  • dns: 将 7 个服务商统一迁移至 RecordOps 模板方法
  • notifier: 提取通用 HTTP 请求助手消除通知渠道重复模板代码

其他变动 (Other Changes)

  • 优化 Cargo 发布配置与完善平滑退出超时机制
  • ci: 接入前端自动化构建并将 dist 产物移出版本控制

性能优化 (Performance)

  • core: 引入 DashMap 并发容器、网络接口缓存与全局连接池
  • net_interface: 为网卡地址与候选集收集操作预分配 Vec 容量

文档更新 (Documentation)

  • 修正文档配置文件路径与示例并补充安全实践规范
  • readme: 删除不存在的 Docker 部署说明

新增功能 (Features)

  • web: 新增结构化运行时状态查询并统一中文日志门面
  • service: 支持 Windows NT 原生服务接入与强杀崩溃自愈拉活
  • web: 基于 Vue 3 + Vite + TypeScript + Tailwind CSS 全面重构 Web 控制台

日常维护 (Maintenance)

  • ci: 优化编译依赖、恢复 panic 隔离并补齐 CI 工作流

测试相关 (Tests)

  • 补全 DNS 服务商 Mock、通知发送、安全防护与基准测试

缺陷修复 (Bug Fixes)

  • security: 加固命令注入防范、敏感凭据脱敏与登录频控
  • core: 治理自更新死锁、收编孤儿任务并强化边界校验
  • dns: 修复 RecordOps 默认 resolve_zone 返回空字符串的问题
  • http: 将硬编码的 User-Agent 版本号改为动态绑定当前构建版本
  • ci: 修复非 Windows 平台未使用导入警告并补齐多目标构建环境
  • web: 加固 test_ip 接口防范 SSRF,拦截私网回环与元数据地址
  • service: 增加 Windows 守护进程启动状态校验
  • ip_fetcher: 为 CommandIpFetcher 增加 IPv6 全球单播校验并规范化错误类型
  • config: 在 Unix 平台为持久化配置文件设置 0600 权限防止凭据泄露
  • core: 对核心轮询、失败和限频计数器采用 saturating_add 防范算术溢出
  • config: 修复服务商反序列化别名、配置校验下沉与并发安全语义
  • dns: 强化 DNS 凭据脱敏、响应体截断与 IPv6 等价比对
  • core: 修复调度引擎 Panic 丢弃、指数退避策略与废弃域名裁剪
  • web: 修复登录频控安全、SSRF 防御、SSE 优雅停机与 CSP 防护
  • ip_fetcher: 命令流式读取超时熔断与 STUN 并发解析容错
  • notifier: 统一通知错误脱敏与事件引用共享优化
  • service: 修复非 Windows 平台下 Context 未使用导致的编译警告
  • domain: 记录非法域名跳过告警并在保存配置时增加合法性校验
  • notifier: 为多渠道通知派发引入退避重试机制
  • cli: 重置密码校验失败时返回结构化错误而非直接 exit
  • engine: 为调度循环通道增加关闭守卫消除 CPU 死循环隐患
  • engine: 增强调度循环取消安全性,防止网络拥塞时阻塞优雅退出
  • engine: 为 DNS 记录同步添加硬性兜底超时保护
  • engine: 提升 DNS 同步并发信号量至引擎全局范围
  • web: 优化 SSE Ticket 存储结构,消除 GC 全表扫描锁争用与内存膨胀
  • notifier: 引入双重检查异步互斥锁,防御微信与企业微信 Token 缓存击穿
  • notifier: 为错误防风暴追踪表增加绝对硬上限与 LRU 淘汰机制
  • dns: 消除 DNSPod、Vercel 与雨云驱动中单页 100 条截断风险
  • util: 增强 SSRF 校验防范 DNS 重绑定与云元数据未授权访问
  • ip_fetcher: 强化命令执行防注入黑名单,防御 Windows 转义与代码块绕过
  • dns: 为各 DNS 驱动中的认证请求头标记 sensitive 防止凭据泄漏
  • service: 修复 Windows 服务自更新重启竞态,采用状态轮询替代固定延时
  • service: 为 build_restart_command_script 补充平台条件编译属性

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 13:09

新增功能 (Features)

  • updater: 接入 shipup 0.5.0 原生平滑重启引擎
  • web: 重构版本更新界面,支持富文本更新说明与实时下载进度条

日常维护 (Maintenance)

  • rddns: 更新版本号至0.9.0

格式样式 (Style)

  • web: 优化密码输入框圆点字间距与占位符视觉样式

v0.8.2

Choose a tag to compare

@github-actions github-actions released this 26 Sep 08:29

日常维护 (Maintenance)

  • rddns: 更新版本号至0.8.2

流水线配置 (CI/CD)

  • release: 将清单发布逻辑内联至单个工作流并清理独立脚本

缺陷修复 (Bug Fixes)

  • ci: 在 publish-manifest 补充代码检出并显式指定 gh 仓库参数

v0.8.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 08:29

日常维护 (Maintenance)

  • rddns: 更新版本号至0.8.2

流水线配置 (CI/CD)

  • release: 将清单发布逻辑内联至单个工作流并清理独立脚本

缺陷修复 (Bug Fixes)

  • ci: 在 publish-manifest 补充代码检出并显式指定 gh 仓库参数

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 03:56

代码重构 (Refactor)

  • callback: 优化变量替换函数调用格式和测试用例布局
  • http: 提取 url_encode_if 方法并统一替换字符串编码
  • fetcher: 抽离默认 STUN 节点池构建逻辑消除冗余代码
  • http: 统一通知渠道 HTTP 客户端构建工厂函数
  • ip_fetcher: 统一 URL IP 获取器的 HTTP 客户端构建与降级

其他变动 (Other Changes)

  • 改用密码学安全随机数生成器(CSPRNG)
  • deps: 显式启用 tokio 的 io-util 特性
  • web: 为静态资源与 SPA 响应补充标准安全响应头
  • web: 增加管理员密码最小长度服务端校验

性能优化 (Performance)

  • net: 将 Linux if_inet6 探测移至异步阻塞线程池调度
  • fetcher: 优化 STUN 绑定请求报文为栈分配固定数组

文档更新 (Documentation)

  • 修正配置文件示例与系统服务路径
  • 移除未实现的凭据掩码特性说明
  • web: 修正保存配置处理函数的注释序号

新增功能 (Features)

  • fetcher: 新增基于 STUN 协议的极速 UDP 公网 IP 探测能力
  • web: STUN 探测支持常用厂商预设下拉选择与自定义输入
  • notifier: 企业微信自建应用添加 access_token 内存缓存
  • web: 前端版本号改为从后端 API 动态同步绑定

日常维护 (Maintenance)

  • rddns: 更新版本号至0.8.0

格式样式 (Style)

  • i18n: 规范化清理多语言包中遗留的 Emoji 图标
  • fetcher: 遵循全局工程规范使用 use 导入代替全限定类型名
  • fetcher: 执行 cargo fmt 规范化代码排版

测试相关 (Tests)

  • dns: 单元测试后复原全局 DNS 服务器配置状态

缺陷修复 (Bug Fixes)

  • http: 优化多网卡与双栈环境下出站 IP 智能优选策略
  • dns: 优化 Callback 驱动的 URL 变量编码与转义处理
  • web: 废弃 SSE 接口 URL 传递永久凭据以加固安全性
  • config: 优化配置修改持久化时序确保状态强一致
  • system: 为在线自动更新增加全局原子并发防重锁
  • notifier: 优化通知域名聚合去重算法保持原始顺序且全局无重复
  • config: 修复保存配置未带 auth 字段时意外丢失管理员凭据的问题
  • fetcher: 优化默认公共 IPv6 STUN 节点池列表
  • fetcher: 增强 STUN 服务器 IPv6 递归解析与本地无 IPv6 出站路由的精准诊断
  • web: 修复在线 STUN 探测未携带用户选择的服务器地址
  • fetcher: 补充系统原生 DNS 解析失败时的调试日志
  • fetcher: 增强 STUN 服务器地址主机名与端口的拆分健壮性
  • log: 将 STUN 探测成功与在线测试成功的日志提升为 INFO 级别
  • web: 禁止通过 Web 配置接口修改监听端口
  • config: 修复 modify_config_async 并发丢失更新漏洞
  • core: 校验任务名称唯一性并清理已删除任务状态
  • ip_fetcher: 校验 STUN 响应数据包来源 IP 与端口
  • update: 强化升级资产架构精准匹配与 SHA256 校验
  • update: 改进 Windows 重启命令传递安全性
  • core: 修复单域名持续失败击穿校对周期缓存的缺陷
  • http: 完善 HTTP 客户端构建失败的告警与降级逻辑
  • ip_fetcher: 流式读取 HTTP 响应体并实行硬限长
  • web: 为 API 路由添加专用 404 JSON fallback 处理器
  • crypto: 安全随机数生成失败时采取 fail-fast 策略
  • config: 同步与异步配置写入口共享互斥锁
  • web: 统一保存配置时的 URL 端点协议白名单校验
  • config: 修复同步 modify_config 锁竞争时无锁穿插漏洞
  • notifier: Telegram 通知改用 HTML 模式并转义特殊字符
  • notifier: 优化 Bark 默认地址与配置端点协议校验
  • dns: 修复腾讯云 TC3 签名计算时的午夜时间戳竞态
  • web: 将检查更新与升级反馈替换为系统 Toast 通知