SubhransuNayak007/privacy-lens
GitHub: SubhransuNayak007/privacy-lens
PrivacyLens 是一款基于 Chrome MV3 的隐私智能扩展,通过可视化网络请求和 Gemini AI 解释,帮助用户实时检测、分析并拦截网站追踪行为。
Stars: 0 | Forks: 0
# PrivacyLens 👁️🛡️

PrivacyLens 是一款功能强大且设计精美的 Chrome 扩展程序,它可以揭开网站在后台所做操作的面纱。专为现代浏览器打造,它能够监控网络请求、拦截跨站追踪、分析浏览器指纹收集尝试,并通过 AI 驱动的功能来解释复杂的隐私威胁。
## ✨ 功能
- **实时请求轨迹映射**:将网络请求的生命周期可视化,在精美的时间轴中高亮显示第一方、第三方以及已识别的追踪器请求。
- **追踪器情报**:集成强大的数据库(DuckDuckGo, Disconnect, EasyPrivacy),可检测并分类超过 46,000 个已知追踪器和 400 多种安全威胁。
- **AI 解释引擎**:使用 Google 的 Gemini AI 实时分析追踪器,并以通俗易懂的语言解释它们收集了*什么*数据以及*为什么*收集。
- **声明式网络请求拦截**:利用 Chrome 的 MV3 DeclarativeNetRequest API,在网络层瞬间拦截恶意或侵入性的追踪器。
- **高级 Cookie 仪表盘**:映射哪些域名设置了哪些 Cookie,监控它们的持久性和风险等级。
- **网站权限与指纹收集**:扫描页面的本地存储使用情况(IndexedDB, Service Workers, Caches)以及实时的权限请求(摄像头、位置等)。
- **高级 UI/UX**:使用 React、Tailwind CSS 和 Framer Motion 构建,提供感觉原生、轻快且令人愉悦的流畅体验。
## 🛠 技术栈
- **前端:** React 18, Vite, Framer Motion, Tailwind CSS, Lucide React
- **Extension API:** Manifest V3, Service Workers, declarativeNetRequest, chrome.storage.session
- **后端/AI:** Google Gemini API(用于 AI 解释)
- **数据库:** 通过自定义 Node 脚本,基于多个开源拦截列表构建的精选 JSON 数据库。
## 🚀 快速开始
请按照以下步骤在您的本地机器上构建并安装 PrivacyLens。
### 前置条件
- Node.js(v18 或更高版本)
- npm 或 yarn
- Google Chrome 浏览器
### 安装与构建
1. **克隆代码仓库:**
git clone https://github.com/yourusername/privacy-lens.git
cd privacy-lens
2. **安装依赖项:**
npm install
3. **构建追踪器数据库:**
PrivacyLens 使用了一个庞大的追踪器数据库。在编译扩展之前,您必须构建优化的 JSON 文件:
npm run build:db
*这会从 DuckDuckGo、AdGuard、EasyPrivacy 和 URLhaus 获取最新列表,并将它们编译为 `public/trackerDatabase.json` 和 `public/securityDatabase.json`。*
4. **构建扩展:**
npm run build
*这将生成一个包含已编译 Chrome 扩展的 `dist` 文件夹。*
### 加载到 Chrome 中
1. 打开 Google Chrome 并访问 `chrome://extensions/`。
2. 启用 **开发者模式**(右上角的开关)。
3. 点击 **加载已解压的扩展程序**。
4. 选择 `privacy-lens` 目录下生成的 `dist` 文件夹。
5. 🎉 PrivacyLens 现已安装!将其固定到您的工具栏,并在任何网页上打开它。
## 🧠 工作原理
1. **Content Script (`content.js`)**:监控页面级别的行为,例如表单交互、Canvas 指纹收集尝试以及 API 权限查询(`navigator.permissions`)。
2. **Background Worker (`background.js`)**:使用 `chrome.webRequest` 实时拦截并分析所有网络流量,将其与编译好的追踪器数据库进行匹配。它将此状态存储在内存中,并持久化到 `chrome.storage.session` 中,以增强 MV3 生命周期的弹性。
3. **拦截引擎 (`blockEngine.js`)**:将用户的拦截偏好转换为动态的 `declarativeNetRequest` 规则,在网络请求到达浏览器引擎之前就将其阻止。
4. **Popup UI (`App.jsx`)**:连接到 background worker 以获取遥测数据,并渲染实时仪表盘。
## 🤝 贡献
欢迎提交贡献、问题和功能请求!
欢迎随时查看[问题页面](https://github.com/yourusername/privacy-lens/issues)。
## 📄 许可证
本项目是开源的,基于 [MIT License](LICENSE) 提供。
标签:Cookie追踪, MITM代理, React, Syscalls, Tailwind CSS, 浏览器扩展, 网络安全, 自定义脚本, 隐私保护