一个用于检测网页技术栈线索的 Chrome / Edge Manifest V3 浏览器扩展。
StackPrism会从页面运行时、DOM、资源 URL、响应头、动态加载资源和源码快照中收集线索,并按分类展示检测结果。
- 主动后台识别:页面加载和动态资源变化时自动检测,并在扩展图标上显示识别数量。
- 快速弹窗展示:打开弹窗时优先展示后台缓存结果,点击“刷新”时才重新执行完整扫描。
- 分类结果展示:按前端框架、前端库、UI / CSS 框架、构建与运行时、CDN / 托管、Web 服务器、后端 / 服务器框架、开发语言 / 运行时、网站程序、主题 / 模板、网站源码线索、探针 / 监控、RSS / 订阅、CMS / 电商平台、SaaS / 第三方服务、第三方登录 / OAuth、支付系统、广告 / 营销、统计 / 分析、安全与协议等类别过滤结果。
- 动态页面监控:页面交互后新增的脚本、样式、iframe、资源和关键 DOM 标记会被持续记录并合并到检测结果。
- WordPress 主题信息:发现主题目录后会尝试读取主题
style.css文件头,展示主题名称、版本、作者、父主题和官网线索。 - 技术名称跳转:检测结果里的技术名称可点击,优先跳转到官网或官方仓库。
- 网页源代码搜索:支持在当前页面 DOM 源码快照中搜索,包含区分大小写、全字匹配和正则表达式选项。
- 设置页:支持开启 / 关闭指定识别类别、隐藏指定技术、自定义规则、自定义匹配范围、自定义技术链接和自定义 CSS。
- 自定义规则校验:保存前会检查规则 JSON、正则表达式、CSS 选择器、字段格式和数量限制,并给出错误提示。
- 规则贡献入口:设置页可直接打开规则贡献议题模板,方便补充新的检测规则。
- 使用说明页:提供面向新手的规则填写教程和示例。
- 结果复制:支持复制完整 JSON 检测结果。
- 可枚举规则集中放在
rules/目录,rules/index.json是加载清单,rules/page/*.json负责页面源码、DOM、资源和动态变化线索,rules/headers/*.json负责响应头线索。 - 技术名称到官网 / 仓库的链接集中放在
tech-links.json;如果新增规则后希望技术名可点击,也在这里补同名链接。 - 需要执行浏览器 API 或 DOM 深度判断的检测仍保留在
page-detector.js/background.js;可枚举规则优先放到rules/对应分类文件。 - 动态资源监听逻辑放在
content-observer.js,它只记录 URL、feed 链接和有限 DOM 标记,后台再用rules/里的规则做动态识别。 - 新增规则时优先改
rules/下对应分类 JSON:添加name、patterns,需要时补kind、confidence、globals、selectors、classPrefixes;如果一批规则公共字段重复,可以用defaults + rules规则组减少重复;如果新增了文件,要把路径加入rules/index.json。 - 不想改内置规则时,可以在扩展设置页添加自定义规则;每条规则支持
patterns、selectors、globals、matchIn、matchType、category、confidence和技术链接。 - 修改扩展运行文件时同步提升
manifest.json里的version;规则、弹窗、设置页、后台脚本、内容脚本和图标资源更新都按插件版本更新处理。
- 打开 Chrome 或 Edge 的扩展管理页面。
- 开启“开发者模式”。
- 选择“加载已解压的扩展程序”。
- 选择本目录;克隆仓库后目录通常为
stackprism。 - 打开任意网页后点击扩展图标查看检测结果。
- 浏览器扩展无法保证识别所有后端技术。很多站点会隐藏
Server、X-Powered-By等响应头,后端结果会以“线索”和“置信度”的方式展示。 - “自定义 / 私有 CDN”是启发式结果,用于捕获区域厂商、企业自建 CDN、对象存储加速域名和未被明确枚举的 CDN 域名。
- 网站程序和开发语言多数只能通过资源路径、Cookie 名称、响应头和 DOM 标记推断,置信度会按线索强弱区分。
- 首次安装后,建议刷新目标网页再打开扩展,这样后台脚本可以捕获主文档响应头。
- 源代码搜索使用的是当前页面的 DOM
outerHTML快照,不等同于服务器最初返回的未执行脚本前 HTML。 - Chrome 系统页面、扩展商店页面、浏览器内置页面通常不允许注入检测脚本。
- 浏览器 action popup 在用户点击网页时通常会关闭;动态监控由内容脚本在后台累计,重新打开插件即可看到页面交互后的合并结果。
本项目基于 MIT License 开源,详见 LICENSE。