Many users find it inconvenient to manually sync bookmarks across multiple browsers. This lightweight bookmark sync tool enables cross-platform, cross-device bookmark synchronization. It uses a GitHub repository to store and transfer bookmark content, ensuring privacy and security. It's free, easy to use, and helps you manage bookmarks effortlessly, saving time and effort.
许多用户因常用多个浏览器,手动同步书签不便,故制此轻量级书签同步工具,实现跨平台、跨设备书签同步。依托 GitHub 仓库实现存储传输书签内容,私密安全,免费易用,轻松管理书签,节约我们的时间精力。
- 现代化的渐变背景和卡片式设计
- 实时加载状态指示器和按钮状态管理
- 响应式布局和流畅的动画效果
- 连接状态实时显示
- 友好的消息提示系统
- AES-256-GCM 数据加密:支持对书签数据进行端到端加密
- PBKDF2 密钥派生:使用强密码学算法保护加密密钥
- Token 验证和会话管理:增强的身份验证机制
- 请求签名验证:防止请求篡改和重放攻击
- 敏感数据保护:本地存储的敏感信息经过编码处理
- 本地备份创建:一键创建本地书签备份文件
- 加密备份支持:可选择创建加密的备份文件
- 备份文件恢复:支持从本地备份文件恢复书签
- 数据完整性验证:确保备份和恢复过程的数据完整性
- 自动备份信息:备份文件包含时间戳和版本信息
- 详细操作日志:记录所有同步操作的详细信息
- 日志查看界面:美观的模态框日志查看器
- 日志分类显示:成功、失败、信息等不同类型的日志
- 时间戳记录:精确记录每个操作的时间
- 日志管理:支持清空历史日志,最多保存100条记录
- icons——图标资源
- manifest.json ——插件配置清单
- popup.html—— 主交互页面
- popup.js——主交互逻辑
- options.html ——设置页面
- options.js —— 设置页面逻辑
- cloudflare_worker.js ——后端服务代码
- 一键将本地书签上传到 GitHub 仓库
- 从 GitHub 仓库下载书签并覆盖本地书签
- 完整的错误处理和用户提示
- 安全的身份验证机制
- 操作日志记录,便于排查问题
- 支持自定义配置
- 数据加密:可选的端到端加密保护书签数据
- 本地备份:创建和恢复本地备份文件
- 连接测试:一键测试API连接状态
- 日志管理:详细的操作日志和查看界面
- 安全增强:Token验证、会话管理、请求签名
- 用户体验:现代化UI、加载状态、动画效果
- 克隆本仓库到本地
- 打开 Chrome/Edge 浏览器,进入
chrome://extensions/或edge://extensions/ - 开启的 "开发者模式"
- 点击 "加载已解压的扩展程序",选择本仓库根目录文件夹
- 创建一个新的 GitHub 仓库(建议设置为private私有仓库,更加安全)
- 在仓库中创建一个用于存储书签的文件(如
bookmarks.json)
- 注册 / 登录 Cloudflare 账号访问cloudflare
- 从左侧栏下选择
计算Workers下子目录Workers和Pages,点击右上角按钮创建一个新的 Worker,选择从 Hello World! 开始直接部署worker - 打开部署好的worker管理界面,点击右上角中间的
编辑代码,打开worker编辑器,将cloudflare_worker.js中的代码复制到 Worker 编辑器 - 配置 Worker 环境变量:
GITHUB_TOKEN:GitHub 个人访问令牌(需要repo权限)GITHUB_REPO_OWNER:GitHub 用户名GITHUB_REPO_NAME:存储书签的仓库名GITHUB_FILE_PATH:存储书签的文件路径(如bookmarks.json)AUTH_TOKEN:自定义认证令牌(用于插件访问 Worker) 配置方法:从cloudflare上该项目的Worker管理界面,选择“设置”->“域和路由”->“变量与机密”->右上角“添加”,类型默认选择文本,输入对应的环境变量名和值(注意环境变量名一定是大写的,建议直接复制README上方的名字防止出错)
- 部署 Worker 并记录分配的 URL(如
https://bookmark-sync.yourname.workers.dev)
- 安装插件后,点击浏览器工具栏中的插件图标
- 点击 "设置" 按钮,填写:
- Worker API 地址:你部署的 Cloudflare Worker URL
- 认证 Token:你设置的
AUTH_TOKEN环境变量值 - 加密密码(可选):设置后将对书签数据进行加密保护
- 点击 "测试连接" 验证配置是否正确
- 点击 "保存设置"
- 使用 "上传书签" 按钮将本地书签同步到 GitHub
- 使用 "下载书签" 按钮将 GitHub 上的书签同步到本地(会覆盖本地书签)
注意:1. 下载书签会覆盖本地所有书签,请谨慎操作;2.下载书签会导入到浏览器名为“书签栏”书签文件件内,请自行查看调整书签布局。
- 点击 "创建备份" 生成本地备份文件(支持加密)
- 点击 "恢复备份" 从本地备份文件恢复书签
- 点击 "查看日志" 查看详细的操作记录
- 点击 "清空日志" 清除历史日志记录
- 如果设置了加密密码,所有上传的数据都会被加密
- 备份文件也支持加密,确保数据安全
- 定期查看日志可以了解同步状态和排查问题
- 配置worker环境变量时,请仔细审查内容是否正确!!!
- 确保您的网络可以正常访问github,如若不能访问,请自行解决
- 使用"测试连接"功能验证配置是否正确
- 下载书签会覆盖本地所有书签,请谨慎操作
- 强烈建议设置加密密码,保护书签数据安全
- 定期使用"创建备份"功能备份书签,以防意外丢失
- 首次使用时,建议先上传本地书签,确保数据已安全存储
- 私有仓库可以更好地保护你的书签隐私
- 设置加密密码后,请务必记住密码,忘记密码将无法解密数据
- 加密密码不会上传到服务器,只在本地使用
- 更换设备时需要在新设备上设置相同的加密密码
A: 首先使用"测试连接"功能检查配置,然后查看"日志"获取详细错误信息。常见原因包括:
- Worker 地址或认证 Token 配置错误
- GitHub 令牌权限不足或已过期
- 网络连接问题
- GitHub 仓库或文件不存在
- 加密密码设置不一致
A: 访问 GitHub 令牌设置页面,点击 "Generate new token",勾选 repo 权限,生成令牌并妥善保存。注意确保生成的令牌有'Contents'的读写权限。如有不懂请自行查问ai或有关资料。
A: 可以,在每台设备上安装插件并配置相同的 Worker 地址、认证 Token 和加密密码即可实现多设备同步。
A: 如果忘记加密密码,已加密的数据将无法解密。建议:
- 如果有未加密的本地备份,可以从备份恢复
- 重新开始,清空远程数据,重新上传(会丢失已加密的数据)
- 因此强烈建议妥善保管加密密码
A: 点击"创建备份"后,文件会自动下载到浏览器的默认下载目录,文件名格式为 bookmarks-backup-YYYYMMDD-HHMMSS.json(加密备份会有 -encrypted 后缀)。
A: 点击插件界面中的"查看日志"按钮,可以查看详细的操作记录,包括成功、失败和错误信息,有助于排查问题。
- AES-256-GCM 加密:业界标准的对称加密算法
- PBKDF2 密钥派生:使用10万次迭代增强密码安全性
- 随机盐值:每次加密使用不同的盐值
- 完整性验证:GCM模式提供数据完整性保护
- 模块化代码结构:使用类和模块化设计便于维护
- 错误处理机制:完善的错误捕获和用户友好提示
- 状态管理:实时UI状态更新和加载指示
- 数据验证:多层数据验证确保数据完整性
- ✨ 新增数据加密功能(AES-256-GCM)
- ✨ 新增本地备份和恢复功能
- ✨ 新增详细的日志管理系统
- ✨ 新增连接测试功能
- 🎨 全新的用户界面设计
- 🔒 增强的安全性和Token管理
- 🐛 修复了多个已知问题
- 📱 改进的响应式设计
- 🎉 基础的书签同步功能
- 📤 上传书签到GitHub
- 📥 从GitHub下载书签
- ⚙️ 基础配置管理
GNU General Public License v3.0
- 本插件仅供学习和个人使用,数据安全请自行把控
- 建议将书签仓库设置为私有,保护个人隐私
- 加密功能虽然提供了额外的安全保护,但请妥善保管加密密码
- 作者不对因使用本插件造成的任何数据丢失负责
欢迎提交 Issue 和 Pull Request 来改进这个项目!
如有问题或建议,欢迎:
- 提交 GitHub Issue
- 发起 Pull Request
- 邮箱: [email protected]
⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!
打赏链接:
USDT Address:
0x2aa1308a4ce8671870ff5984c0b9b5fbf56b597e
