Repository Wiki
jason5ng32/MyIP

浏览器信息与指纹识别

MyIP 将浏览器指纹检查作为 IP 工具箱中的一项隐私相关能力:项目说明称其通过多种方式计算浏览器指纹,并展示使浏览器具有可识别性的因素。本文记录当前已核实的功能定位、技术上下文与证据边界。

资料完整性说明:本次受限源码检索未定位到该功能的具体实现,不能将本文视为完整的实现参考。已核实的信息来自项目说明、项目级开发约定与有限的搜索结果;采集字段、计算算法、组件生命周期、网络行为和配置项均未得到实现级验证。

目的与范围

本页的主题是浏览器环境信息及浏览器指纹识别,不扩展为整个隐私检测系统的说明。MyIP 同时提供 WebRTC / DNS 泄漏检测、匿名性检查与其他网络工具,但项目概述将这些能力分别列出,不能直接认定它们共享采集流程或指纹结果。

本页关注三个问题:

  • 浏览器指纹功能在项目中的定位是什么?
  • 项目使用什么前端环境和相关运行时库?
  • 哪些行为尚需阅读实现后才能形成可靠的接口或隐私结论?

WebRTC、DNS 泄漏与匿名性检测的具体实现应留给对应专题。运行时未提供兄弟目录的实际地址,因此这里不构造未经确认的 Wiki 链接。

依据:AGENTS.md。

概述

项目 README 对浏览器指纹功能的描述包含两个重点:以多种方式计算指纹,以及展示使浏览器能够被识别的因素。这支持将其理解为面向用户的可识别性检查功能,但不足以证明具体用了哪些算法,也不证明结果具有跨设备、跨浏览器或跨会话的唯一性。

项目整体由 Vue 3 单页应用和 Express 5 后端组成。前端技术栈包括 Pinia、vue-router 与 vue-i18n;运行时库清单包括 thumbmarkjs、ua-parser-js 和 detect-gpu。这些库的出现可以作为后续定位实现的线索,但不能据此直接认定三个库都被该功能调用,也不能推断其版本、参数和执行顺序。

依据:README.md、AGENTS.md。

架构上下文

下图仅展示已经确认的项目组成与功能归属,不是指纹采集调用图。图中没有画出浏览器指纹到后端的箭头,因为当前证据不足以确认该功能是否请求后端。

Loading diagram...

Sources:

前端代码目录为 frontend/,而不是常见的 src/;项目约定还说明 @ 别名指向 frontend/。这对后续源码导航很重要:仅搜索 src/ 无法据此判断功能不存在。

依据:AGENTS.md。

功能边界与实现证据

浏览器信息不等同于指纹标识

搜索结果中存在 browserinfo:finished 报告构建器相关测试,其测试标题表明该用例关注名称、版本字段,并排除与指纹相关的额外信息。这说明“浏览器信息的报告输出”值得与“指纹计算结果”分开核实。

不过,本次没有读取测试完整断言及其对应实现,因此不能据测试标题列出实际报告字段,也不能断言所有报告输出都采用相同的过滤规则。

定位线索:report-builders.test.js。

尚未验证的端到端流程

环节当前证据状态不应据此作出的推断
页面入口未读取路由或挂载组件不推测路由地址、菜单位置或默认加载行为
浏览器环境采集未读取采集实现不列举 Canvas、Audio、字体、插件等为已实现项目
指纹计算README 声明存在多种方式不推测哈希算法、熵计算方法或唯一性保证
结果展示README 声明展示可识别因素不推测字段格式、风险等级或交互细节
报告转换搜索发现相关测试标题不将标题当作完整的数据契约
网络与持久化未读取请求和存储逻辑不声称纯本地运行、上传服务器或使用特定存储

这一边界尤其影响隐私解释:没有找到上传代码,不等于已经证明不上传;项目包含后端,也不等于指纹一定发送给后端。

使用示例与 API 参考

No code example available:本次未成功读取功能实现文件,因此没有可以可靠摘录的组件调用、指纹计算或配置代码示例。

同样,当前无法提供经实现核实的方法签名、事件载荷、返回值和异常契约。browserinfo:finished 仅作为源码定位线索,不在这里定义为可供调用方依赖的公开 API。

配置选项

未发现并验证本功能专属的配置定义。项目级技术栈中出现某个依赖,不意味着存在同名环境变量或可配置开关。

项目已核实信息未核实信息
前端框架Vue 3,采用 <script setup>本功能的组件名称与状态定义
状态与路由基础设施项目使用 Pinia、vue-router本功能是否使用专属 store 或路由
国际化基础设施项目使用 vue-i18n本功能的翻译键与文案映射
相关运行时库线索thumbmarkjs、ua-parser-js、detect-gpu 位于项目库清单本功能实际导入情况、库版本与选项默认值

依据:AGENTS.md。

故障、边界条件与并发

当前没有实现级证据说明以下情况如何处理:浏览器 API 不可用、权限限制、隐私保护导致属性缺失、计算失败、重复触发、组件卸载期间任务完成,以及多个异步结果的更新顺序。

因此,本页不承诺自动重试、超时控制、结果缓存、请求取消或并发去重。定位到实际采集入口之后,应分别检查调用前置条件、异常捕获、状态复位以及资源清理,而不是根据所用框架推断这些机制已经存在。

性能与运行说明

没有读取到指纹计算的调度代码或性能测试,不能给出计算耗时、主线程开销或缓存时长。也不能确认是否在页面挂载时立即运行、是否延迟导入库,或是否需要用户手动触发。

项目级开发约定提供了可用的验证入口:pnpm test 运行测试,pnpm build 构建前端,pnpm check 组合测试与构建。这些是仓库通用命令,不是已确认的指纹专项测试流程。本次文档生成未运行这些命令。

依据:AGENTS.md。

扩展与测试注意事项

项目要求新增或重写逻辑保持 JavaScript,不引入 TypeScript 迁移;可在无网络环境执行的纯函数、转换逻辑和可模拟输入的 composable 应配套测试。项目级约定同时将 UI 渲染、真实网络行为和浏览器 API 排除在所述自动化测试范围之外,因此不能将测试通过等同于真实浏览器指纹采集已经验证。

对于本功能的后续扩展,建议明确区分:

  1. 可单元测试的逻辑:浏览器信息转换、报告字段筛选、缺失值处理。
  2. 必须结合真实浏览器验证的行为:环境属性采集、权限和隐私限制、展示状态变化。
  3. 需要实现证据才能声明的隐私属性:是否上传、存储位置、保留时长和跨会话关联。

以上为依据项目约定提出的验证方向,不代表仓库已经提供这些专项测试或扩展接口。

依据:AGENTS.md、AGENTS.md。

相关链接

Sources

(1 files)