豆伴安全与隐私指南:Cookie会话机制与扩展权限深度解析
【免费下载链接】tofuChrome 扩展,用于备份豆瓣账号的数据,并支持导出 Excel 文档。项目地址: https://gitcode.com/gh_mirrors/tofu1/tofu
豆伴是一款用于豆瓣账号备份的 Chrome 扩展,支持把广播、日记、豆列、豆邮等数据完整下载并导出 Excel。作为会接触你登录状态的备份工具,很多人最关心的问题是:它的Cookie 会话机制如何工作?扩展权限申请了哪些、会不会泄露隐私?本文将逐一拆解这两个核心机制,帮助你放心地把豆瓣数据握在自己手里。
一、为什么备份工具需要申请特殊权限?
普通的豆瓣数据分散在广播、日记、影/音/书、相册等多个页面,没有一键导出的官方入口。豆伴的做法是:复用你浏览器里已有的豆瓣登录态,以你本人的身份逐页拉取数据并保存到本地。
这意味着它必须做两件事:
- 读取豆瓣的 Cookie,模拟你的登录会话去请求接口;
- 访问豆瓣域名,发起数据请求并把结果存到浏览器本地数据库。
下面逐项看看它在 extension/manifest.json 中声明的权限。
二、扩展权限逐项解析:申请的每一项都只用于备份
豆伴基于 Manifest V3 开发,权限声明非常克制,只有 4 项权限 + 3 条域名白名单:
1. host_permissions:仅限豆瓣官方域名
它请求的主机权限只有:
http/https://*.douban.com/*https://*.doubanio.com/*(豆瓣图片/资源域名)
没有<all_urls>,意味着它只能与豆瓣的服务器通信,无法访问你的邮箱、银行或其他网站的页面和数据。
2. cookies 权限:只读登录态,绝不修改
这是本文的重点。代码里读取 Cookie 的位置集中在 extension/services/Job.js 的checkin()方法和 extension/options.js 的账号面板中,其行为是:
- 调用
chrome.cookies.getAll({url: 'https://*.douban.com'})只读取豆瓣域名下的 Cookie; - 从其中提取
ck(会话密钥)、dbcl2(用于解析用户 uid)等最小必要集合,其余 Cookie 一概不碰; - 全程只读不写——它不会修改、伪造或发送 Cookie 到其他服务器。
💡 简单理解:豆伴拿你的 Cookie 只是为了"证明请求来自你自己",就像用钥匙开门后立即归还,不会复制钥匙。
3. storage 权限:设置同步 + 本地数据库
- 使用
chrome.storage.sync保存请求间隔、调试开关等少量设置项(见 extension/settings.js); - 真正的备份数据存放在浏览器本地 IndexedDB数据库中(见 extension/storage.js),每用户一个独立库,不上传任何服务器。
4. declarativeNetRequest:只改写 Referer 请求头
在 extension/background.js 中,扩展安装时会注册一条声明式网络规则:对发往*.douban.com的 XMLHttpRequest 请求统一改写Referer请求头为https://m.douban.com/。目的是让接口请求带上正确的来源标识,避免被豆瓣返回 400 错误。规则只作用于豆瓣域名的 XHR 请求,不修改任何响应内容,也不拦截、记录请求数据。
三、Cookie 会话机制:临时内存对象,不落盘
理解了权限,再看会话是如何被使用的:
- 建立会话:新建备份任务时,
Job.checkin()读取 Cookie 白名单集合(ck、dbcl2、bid、ue等),调用豆瓣用户接口获取账号信息,生成一个内存中的session对象(见 extension/services/Job.js)。 - 任务执行:广播、日记、相册等各个任务模块(位于 extension/tasks/ 目录)统一通过
session.cookies.ck在接口 URL 中携带会话参数,逐页抓取数据。 - 结束即释放:会话对象只存在于任务运行期间的内存与 IndexedDB 的任务快照中,用于断点续传;Cookie 原文不会被单独持久化存储,更不会出现在导出的 Excel 里。
四、隐私最佳实践清单
结合源码机制,给你 5 条实用建议:
- ✅在登录豆瓣后再运行备份:扩展不会替你登录,也没有收集你密码的能力,登录态始终来自你自己的浏览器会话;
- ✅用官方渠道安装:从 Chrome 网上应用商店或项目官方下载页获取,避免来路不明的"捆绑包";
- ✅定期导出 Excel:数据已本地化保存,导出后即可带走,账号安全无虞;
- ✅查看权限声明:在浏览器扩展管理页可复查其权限是否只针对豆瓣域名;
- ✅阅读隐私政策:豆伴的"关于"页面提供了联系方式与隐私政策说明(见下图),有任何疑问可邮件反馈。
总结
豆伴的权限设计遵循"最小必要"原则:只读豆瓣的 Cookie、只访问豆瓣的域名、数据只存本地。它的 Cookie 会话机制本质是"借用你自己的登录态完成备份",全程不上传、不落盘、不外传。对于希望把豆瓣十年足迹完整留在自己电脑上的用户来说,这是一款可以放心使用的本地化备份工具。
【免费下载链接】tofuChrome 扩展,用于备份豆瓣账号的数据,并支持导出 Excel 文档。项目地址: https://gitcode.com/gh_mirrors/tofu1/tofu
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考