Skip to content

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

Choose a tag to compare

@Lolitide Lolitide released this 14 Jun 08:08
· 13 commits to main since this release
efc511f

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 无破坏性变更,所有现有存储数据(白名单、缓存、标签页状态)正常延续。