Skip to content

Releases: Lolitide/VirusDetector

修复:RDAP/Whois 双查询架构

24 Jun 13:32

Choose a tag to compare

v2.2.4 (2026-06-24) 修复:API查询优化,性能优化 (2026-06-24)

恢复

  • 恢复 PSL 域名解析系统(基于 publicsuffix.zone DNS + 回退 TLD 集)
    • extractRegistrableDomain() 提取注册域 (eTLD+1)
    • refreshPublicSuffixDNS() 异步预热 PSL 缓存
    • UrlUtils.getMainDomain() / isSameMainDomain()

新增

  • WhoisClient 双查询架构
    • RDAP 协议主查询(RFC 9082/9083,覆盖全部 IANA TLD)
    • WhoisCX API 回退查询(全球覆盖,RDAP 不支持/失败时自动切换)
    • 两者共享同一内存缓存(24h TTL)

修复

  • 修复 RDAP 查询传入注册域可能的问题
  • 修复可能使 WhoisCX API HTTP 406 的错误

修复:Whois API查询现已更新为更稳定的RDAP查询

24 Jun 12:05

Choose a tag to compare

小型修复:Whois API查询现已更新为更稳定的RDAP查询。未更改规则。

v2.2.2 修复bug

18 Jun 17:00

Choose a tag to compare

修复PSL最短非公共后缀匹配的bug并加入了DNS不可用时的多级公共后缀

v2.2.1 — 域名年龄评分 · PSL 提取 · Emoji 检测 · 可信平台白名单 (2026-06-16)

16 Jun 05:32
efc511f

Choose a tag to compare

v2.2.1

概述

从 v1.3.0 到 v2.2.1,评分体系从 5 规则扩展为 8 项检测,新增 Whois API 域名年龄评分系统、PSL 注册域提取、Emoji 密度检测、可信平台白名单四大模块,并完成弹窗 UI 全面重构。


🚀 重大更新

Whois API 域名年龄评分系统

接入 WhoisCX 免费 API,引入三项新检测:

  • 域名年龄评分(最高 +60) — 通过 S 型衰减函数对新注册域名进行可疑加分:域名越新分数越高,随注册天数增加逐步衰减至 0。结果缓存 24 小时。
  • 域名年龄减分(最高 -20) — 注册 ≥ 180 天的域名可获得分数抵消,注册 ≥ 730 天获最大减分。仅当当前总分 ≥ 20 时生效。
  • 下载链接跨域检测(最高 +20) — 检测下载文件域名是否与当前页面跨域,跨域 +10,跨域且下载域名为新注册(< 90 天)再 +10。

PSL 域名提取重构

域名注册域提取不再使用"取最后两段"的简化逻辑,改为通过 DNS-over-HTTPS 查询 publicsuffix.zone 获取公共后缀后逆推,支持 co.ukhl.cn 等多级公共后缀。DNS 不可用时回退到内置 66 个 TLD 集。

同时移除了已被 PSL 覆盖的「可疑嵌套 TLD」独立检测。

规则五重构:代码工程化 + Emoji 密度双通道

规则五拆分为两个独立子规则并行运行,总分上限从 30 提升至 60

  • 子规则 A:三信号组合判定 — DOM 节点数、框架痕迹、外部资源三信号组合计分(3/3 +30,2/3 +20)。
  • 子规则 B:Emoji 密度检测(新增 | 最高 +30) — 先通过 49 个中英文推广关键词预筛选确认页面性质,再计算 Emoji 密度(个/千字符),分段线性映射加分。用于识别钓鱼推广页面中大量 Emoji 吸引眼球的模式。

🆕 新功能

可信平台白名单

新增内置白名单避免将 UGC 平台子页面误判为仿冒官网。对任意访问 URL 提取注册域(eTLD+1)后与白名单比对,命中则跳过规则一。例如 minecraft.fandom.comfandom.com → 不再判定为 Minecraft 仿冒。

覆盖 44 个平台,分为 Wiki 农场、代码托管 Pages、PaaS/静态托管、博客平台、文档/知识库、建站/个人页六大类。基于 Set 实现 O(1) 查找,新增/移除平台只需修改数组。

竞态条件防护

Content Script 数据回传时校验当前标签页域名是否与采集时一致,快速切换页面后旧数据不再污染新页面。


🎨 UI 重构

弹窗样式全面升级:评分展示从垂直堆叠改为水平布局,新增可视化分数刻度条,深色主题 CSS 变量规范化,新增白名单状态独立面板与 SVG 三态图标系统(安全/危险/白名单)。


🐛 修复

  • 早期退出判定从字符串匹配(detailCN.startsWith('✓'))改为结构化字段(status === 'pass'),消除标记变更导致的失效风险
  • 缓存中瞬时事件数据(下载链接 Whois 结果、具体文件名)新增清洗逻辑,防止跨页面污染
  • 若干弹窗渲染与状态同步显示 bug

⚡ 优化

  • 评分流程从单次汇总改为"初步总分 → 减分 → 最终总分"两阶段
  • Whois API 错误通过结构化 {phase, message} 传播到前端
  • API 请求间隔 ≥ 2s,结果缓存 24 小时,避免重复请求

📋 改动文件

文件 改动
manifest.json 1.3.0 → 2.2.1
background/whois-client.js 新增 — Whois API 客户端
utils/trusted-platforms.js 新增 — 可信平台白名单(44 平台)
background/scoring-engine.js 新增域名年龄/减分/跨域下载/Emoji/可信平台五大模块
background/service-worker.js 缓存清洗 + 下载跨域 + 竞态防护 + 早期退出重构
utils/url-utils.js PSL DoH 查询 + 注册域提取重构,移除嵌套 TLD 检测
utils/constants.js 域名年龄/Emoji/跨域下载常量体系
popup/ (css/html/js) 深色主题 + 水平布局 + 刻度栏 + 白名单面板
README.md 8 规则完整文档 + 可信平台章节
其余 6 个文件 @version 注释同步

18 个文件变更,+2086 / -335 行


🔄 兼容性

向后兼容。现有用户白名单、缓存、标签页状态正常延续,无破坏性变更。

v1.3.0 — ICP 检测重构 · CJK 内容识别 + 站点豁免

14 Jun 08:08
efc511f

Choose a tag to compare

v1.3.0

🆕 新功能 (Minor)

智能 ICP 备案检测重构

  • CJK 内容识别 — 规则三现在通过分析页面正文中的 CJK 字符(汉字)占比判断是否为中国站点,不再依赖域名猜测国籍。避免二级域名伪装绕过检测。
    • 双重阈值:≥30 汉字且占比 ≥8%,或 ≥500 汉字直接判定
  • 外国站点 ICP 豁免白名单 — 内置 ~150 个全球知名非中国域名的豁免集合,覆盖科技巨头、社交媒体、开发者平台、游戏平台、云服务等类别。白名单中的域名及其子域名均跳过 ICP 检查,消除对外国站点的误报。
    • 支持后缀匹配:calendar.google.com → 匹配 google.com 豁免
  • 动态注册 — Service Worker 启动时自动将 domain-database 中所有非中国品牌的官方域名(如 Mozilla、7-Zip、WinRAR、TeamViewer 等)注册到豁免集合。

🐛 修复 (Patch)

  • ICP 正则兼容新型备案号\d{6,8}\d{6,12},兼容近年出现的 9-10 位数字备案号(如 粤ICP备2024178421号),此前会漏检导致误报
  • ICP 正则大小写不敏感 — 添加 i 标志,覆盖 icp/Icp/ICP 等混合大小写变体(如 粤icp备14100537号
  • 移除过宽关键词 — DOM 扫描中单字 匹配了「准备」「设备」「备份」等大量无关文本,改为精确词组(备案/公网安备/ICP备
  • 移除死参数 rule1Result_evaluateRule3() 中未使用的参数已清理

⚡ 优化

  • 二次扫描去重 — Content Script 的两次采集(600ms + 3500ms)现在会比对 ICP 字符串和链接数量的变化,无新增数据时跳过第二次 PAGE_ANALYSIS_RESULT 发送
  • pageText 扩展 — 全文回退匹配的文本长度从 3000 → 15000 字符,降低深层备案号遗漏概率

📋 改动文件

文件 改动
manifest.json 1.2.2 → 1.3.0
background/icp-utils.js +豁免白名单(150域名) + CJK检测 + 正则修复
background/scoring-engine.js 重写规则三判定链路(五级递进)
background/service-worker.js +豁免列表初始化注册
content/content-script.js 关键词优化 + 二次去重 + pageText扩展

🔄 兼容性

向后兼容。内部 API 无破坏性变更,所有现有存储数据(白名单、缓存、标签页状态)正常延续。