# 隐私书签 **Repository Path**: sglmsn/private-bookmarks ## Basic Information - **Project Name**: 隐私书签 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-05 - **Last Updated**: 2026-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Private Bookmarks 一个注重隐私的浏览器书签管理扩展,支持端到端加密、云同步和智能去重。 ## 功能特性 - **🔒 端到端加密**:使用 AES-256-GCM 加密存储您的书签数据 - **☁️ 云端同步**:通过 Chrome Sync 自动同步加密后的书签 - **📂 文件夹管理**:直观的树形结构组织您的书签 - **🏷️ 标签支持**:通过标签快速分类和检索书签 - **🔄 智能去重**:自动检测和合并重复书签 - **📤 导入/导出**:支持 Chrome JSON 和 Netscape HTML 格式 - **⏱️ 自动锁定**:空闲一段时间后自动锁定保险库 - **🆘 紧急清除**:一键清除所有本地数据 - **🔑 恢复密钥**:通过恢复密钥恢复您的密码 ## 技术架构 ### 核心模块 | 模块 | 功能说明 | |------|----------| | `crypto` | AES-GCM 加密、HMAC 签名 | | `kdf` | PBKDF2/HKDF 密钥派生 | | `db` | IndexedDB 本地数据库 | | `sync` | 云同步与冲突解决 | | `vault-format` | 加密文件格式处理 | ### 技术栈 - **构建工具**:Vite - **UI 框架**:React + TypeScript - **样式方案**:TailwindCSS - **测试框架**:Vitest ## 安装方法 ### 从源码编译 ```bash # 克隆仓库 git clone https://gitee.com/sglmsn/private-bookmarks.git cd private-bookmarks # 安装依赖 npm install # 构建扩展 npm run build ``` ### 加载到浏览器 1. 打开 Chrome 扩展管理页面 (`chrome://extensions/`) 2. 开启「开发者模式」 3. 点击「加载已解压的扩展程序」 4. 选择 `dist` 目录 ## 使用指南 ### 首次设置 1. 点击扩展图标,打开设置页面 2. 创建主密码 3. 保存恢复密钥(务必妥善保管) 4. 开始添加书签 ### 导入书签 支持两种导入格式: ```bash # Chrome 书签导出格式 # 文件 → 导入 Chrome 数据 # Netscape HTML 格式 # 文件 → 从 HTML 导入 ``` ### 导出备份 可以在设置中导出加密备份文件(`.pvk` 格式),用于跨设备迁移。 ## 项目结构 ``` private-bookmarks/ ├── src/ │ ├── background/ # 后台脚本(同步、闹钟) │ ├── core/ # 核心业务逻辑 │ │ ├── crypto.ts # 加密模块 │ │ ├── db.ts # 数据库 │ │ ├── sync.ts # 同步逻辑 │ │ └── ... │ ├── ui/ # React 组件 │ │ ├── App.tsx # 主应用 │ │ ├── Popup/ # 弹出页面 │ │ ├── Options/ # 选项页面 │ │ └── ... │ └── manifest.ts # 扩展清单 ├── public/ # 静态资源 ├── tests/ # 单元测试 └── vite.config.ts # 构建配置 ``` ## 开发指南 ### 运行开发服务器 ```bash npm run dev ``` ### 运行测试 ```bash npm run test # 运行单元测试 npm run test:unit # 仅运行单元测试 npm run test:e2e # 运行端到端测试 ``` ### 代码规范 ```bash npm run lint # 检查代码风格 npm run format # 格式化代码 ``` ## 安全性设计 1. **加密策略**:主密码通过 PBKDF2 派生主密钥,AES-256-GCM 加密数据,HMAC-SHA256 确保完整性 2. **密钥派生**:文件密钥使用 HKDF 从主密钥派生,支持密钥轮换 3. **内存保护**:加密数据在内存中以加密形式存在,锁定后立即清除 4. **同步安全**:同步到云端的仅包含密文,即使云端泄露也无法解密 ## 隐私声明 - 所有数据在本地加密后才上传 - 不收集任何用户数据 - 不发送任何分析信息 - 完全开源,可自行审计代码 ## 许可证 本项目基于 MIT 许可证开源。