Skip to content

v0.12.6

Choose a tag to compare

@github-actions github-actions released this 27 Oct 18:10
· 53 commits to main since this release

截至 d9d5317(0.12.5)以来的变更:38 个文件,+2156 / −400,新增 lib/guard-proxy.js。

新增

渲染抓取

  • qq_webfetch 接入 Moli 无头浏览器:可抓取需要 JS 渲染的页面,输出 markdown。引擎未启用或不可用时自动退回普通抓取。
  • 新增 lib/guard-proxy.js:渲染期间 moli 的全部流量(主文档、3xx 重定向、页面子资源、页面 JS 发起的请求)经本地校验代理出站,回环与私网地址一律拒绝。判定语义是「确定是内网才拒」,本机解析不了的域名放行、交给上游代理解析。
  • 渲染对 QQ 会话内的访客(群聊与别人的私聊)开放,由 moli.allowGuest 与 moli.guardProxy 两个开关共同控制。

moli 配置段(原来只有 enabled / proxy / exePath)

键 默认 说明
enabled false 总开关
exePath '' 留空 = 自动探测标准位置与 PATH
proxy '' 留空 = 透传 webSearch.proxy
defaultTimeoutMs 30000 渲染超时(-t)
maxChars 200000 单次输出字符上限
insecureTls true 跳过 TLS 证书校验
guardProxy true 本地校验代理
allowGuest true 访客可否触发渲染
rateLimitPerMin 5 每会话每分钟渲染上限(0 = 不限)
maxConcurrentRenders 2 跨会话全局并发上限(0 = 不限)

设置页

  • 新增 Moli 卡片:引擎检测、引擎路径、代理、超时、输出上限、TLS 校验、访客开关、频率限制。
  • 卡片内「高级设置」的参数现在可以保存(此前改动不生效)。

变更

  • auth.guestToolAllow 默认值移除 moli_fetch,访客的渲染需求由 qq_webfetch 的 moli 分支承担。
  • 流程授权的 grant 必须携带工具名,空的 toolName 一律拒绝。
  • 适配器凭据改从环境变量读取,命令行参数仍然优先。
  • flowStore 移除 save 与 verify:流程脚本由使用者自行放入目录,插件既不写入也不执行。
  • 换连接配置时等旧适配器真正退出后再启动新的。
  • 非 QQ 会话(Web UI、任务板、子代理)仍然不可触发渲染。

修复

  • 渲染失败不再返回成功:被防护拦下、上游代理不可达、目标 4xx/5xx 均明确报错。
  • 守卫代理区分 403(策略拒绝)与 502(连接类失败)。
  • dechunkBuffer 对负数 chunk-size 的同步死循环。
  • SSRF 判定补齐 6to4(2002::/16)与 Teredo(2001::/32);修正 Teredo 取错分组的问题。
  • 代理隧道:直连分支的 30 秒空闲超时、CONNECT 目标归一化、响应头 64KB 上限、请求头 CR/LF 校验。
  • 守卫代理:start() 并发返回端口 0、ensureGuardProxy 并发重复创建、server 未 unref()、socks5 上游静默降级。
  • OneBot 11 正向 WS 增加半开检测(3 个心跳周期无数据即断开重连);Satori 连续 3 次 PING 无 PONG 改为断开重连。
  • writeToAdapter 返回真实写入结果;顺序锁 release 幂等并加 120 秒超时。
  • 图片缓存的三条泄漏路径,新增每 6 小时按 mtime 清理。
  • 产物打包从 execFileSync 改为异步 spawn;适配器 stdout 加 1MB 上限;cleanupStaleConfig 补异常处理。
  • 会话池加上限 200,按最久未用淘汰。
  • qq_draw:增加拥有者校验、支持取消、响应体 4MB 上限。
  • qq_imgsearch:本地文件白名单增加当前会话维度。
  • /grant 禁止自我授权,授出的权限必须自己已经拥有;/revoke 需要 grant 权限。
  • 拥有者设置的确认码改用 crypto.randomBytes;恢复码不再受动态码锁定影响。
  • 「拥有者私聊」判定改用回合快照,修复 perChatSession=false 时高危工具全部不可用。
  • 直连抓取增加绝对 deadline。

升级

补丁级更新,配置无需改动;新增的 moli 配置项均有默认值。测试 30 个套件 / 1197 项通过。