SysAdminDoc/MHTMLens

GitHub: SysAdminDoc/MHTMLens

一款纯客户端的 MHTML 解析与用户脚本生成工具,专注于选择器稳定性评分与版本对比。

Stars: 0 | Forks: 0

# MHTMLens ![版本](https://img.shields.io/badge/version-0.2.0-blue) ![许可证](https://img.shields.io/badge/license-MIT-green) ![平台](https://img.shields.io/badge/platform-Any%20Browser-orange) ![JavaScript](https://img.shields.io/badge/JavaScript-Vanilla-F7DF1E?logo=javascript&logoColor=black) ![依赖项](https://img.shields.io/badge/dependencies-zero-brightgreen) ![状态](https://img.shields.io/badge/status-active-success) https://sysadmindoc.github.io/MHTMLens/ ## 为什么要使用 MHTMLens? 构建用户脚本和浏览器扩展意味着要与混淆的类名、不稳定的 CSS 选择器以及不断变更 DOM 的单页应用作斗争。将页面保存为 MHTML,然后拖入 MHTMLlens,即可获得: - 对页面上的每个选择器进行稳定性评分(0–100) - 标记混淆的类名,让你知道哪些不该使用 - 为每个元素推荐最佳选择器 - 自动生成 XPath 替代方案和 MutationObserver 代码片段 - 一键导出一个完整的 `.user.js` 文件 - 两文件对比,查看不同版本间哪些选择器得以保留 没有其它工具提供这些功能。最接近的替代方案是浏览器开发者工具(无评分、无导出、无对比)以及不适用于用户脚本的付费 SIEM 风格工具。 ## 快速开始 ``` git clone https://github.com/SysAdminDoc/MHTMLens.git cd MHTMLens # 在浏览器中打开 mhtmlens.html — 仅此而已 ``` 或者直接下载 `mhtmlens.html` 并双击打开。无需服务器、无需安装、无依赖。 ### 保存 MHTML 文件 1. 在 Chrome/Edge 中打开目标页面 2. 按下 `Ctrl+S`(Mac 上为 `Cmd+S`) 3. 选择 **“网页,全部(.mhtml)”** 作为保存格式 4. 将保存的 `.mhtml` 文件拖入 MHTMLens ## 功能特性 | 功能 | 描述 | |------|------| | MHTML 解析器 | 支持字符集检测的 multipart MIME 解析,quoted-printable/base64 解码,嵌套边界支持 | | 部件浏览器 | 浏览 MHTML 中的每个资源(HTML、CSS、JS、图片),可查看已解码内容和元数据 | | 实时预览 | 在沙箱 iframe 中渲染页面,内联重构资源(图片和 CSS) | | 元素选取器 | 悬停高亮元素,点击检查 —— 显示最佳选择器、路径、XPath 以及 MutationObserver 片段 | | DOM 树 | 可交互的折叠树视图,使用颜色标注标签、ID、类、data 属性与文本内容 | | 稳定性评分 | 基于选择器类型、混淆程度、深度、唯一性与语义强度给出 0–100 评分 | | 最佳选择器 | 为每个元素自动推荐最具弹性的定位策略 | | 混淆检测 | 通过模式与熵分析标记生成/哈希类名(CSS 模块、Tailwind 哈希、Emotion 等) | | XPath 生成 | 为每个元素生成完整的 XPath,同时提供 CSS 选择器 | | MutationObserver 生成 | 为每个元素提供可直接粘贴的观察者代码片段,用于 SPA 定位 | | CSS 分析 | 提取 `