置顶 账户管家 - 多账户登录管理器 - 浏览器拓展 [功能以及说明]
一个基于 Chrome Manifest V3 的浏览器扩展,可安全保存各网站登录状态、支持同一站点多账户一键切换,所有敏感数据采用 AES-GCM 256 位加密存储。
功能特性
| 功能 | 说明 |
|---|---|
| 登录状态保存 | 自动识别登录表单,捕获用户名/密码 + 当前站点 Cookie 与 localStorage,加密入库 |
| 多账户切换 | 同一网站可保存多个账户,点击「切换」即清空当前会话并恢复目标账户,自动重载页面 |
| 空状态管理 | 可新增"未登录"空状态,切换到空状态等效退出登录,且不会触发服务端会话失效 |
| 安全存储 | 主口令经 PBKDF2 (25 万次迭代) 派生密钥,AES-GCM 加密账户库,密钥仅存于内存 |
| 弹窗界面 | 工具栏图标点击展示当前网站已保存账户列表,提供保存/切换/锁定入口 |
| 自动识别 | Content Script 智能识别含密码框的登录表单,登录后弹出无侵入保存提示条 |
| 数据管理 | 独立管理面板支持搜索、按域名分组查看、编辑账号/密码/备注、删除 |
| 隐私保护 | 密码等敏感字段加密落盘;密钥不持久化;支持自动锁定与手动锁定 |
| 云同步 | 跨设备加密同步保险库,服务端仅存储密文,零知识架构,支持套餐与自动同步策略 |
| 兼容性 | 基于 Manifest V3,兼容 Chrome 108+,覆盖主流网站 |
安装方式 (开发者模式)
- 打开 Chrome,访问
chrome://extensions/ - 右上角开启「开发者模式」
- 点击「加载已解压的扩展程序」,选择本项目的
chrome/根目录 - 扩展加载完成后,工具栏会出现「账户管家」盾牌图标
- 建议点击图钉将其固定到工具栏
也可在 Edge (
edge://extensions/) 及其他 Chromium 内核浏览器中以同样方式安装。
使用说明
首次使用
- 点击工具栏图标,首次使用需设置主口令(至少 6 位)
- 主口令用于加密所有登录凭据,请务必牢记:丢失后数据无法恢复
- 设置成功后进入主界面
保存登录状态
提供三种保存方式:
- 自动识别:在网站登录页面输入账号密码并提交后,登录成功页面右上角会弹出保存提示条,填写备注后点击「保存」即可
- 手动保存:点击工具栏图标 → 「+ 保存当前登录状态」→ 填写账号与备注 → 保存
- 右键菜单:在任意网页右键 → 「账户管家: 保存当前登录状态」
保存内容包含:用户名、密码(如识别到)、该域名全部 Cookie、页面 localStorage 快照。
合并更新(重复账号检测)
保存登录状态时,若检测到当前站点已存在相同用户名的账户(含之前新增的空状态被填入用户名后),会弹出选择提示:
- 更新现有账户(合并):用新捕获的 Cookie/localStorage/密码替换旧账户的会话数据,保留旧账户的 id、备注、创建时间等元数据。适用于"同一账号重新登录后刷新会话"的场景,避免产生重复账户。
- 另存为新账户:作为新账户保存。
该机制在三个保存入口均生效:工具栏弹窗手动保存、登录后自动识别的提示条保存(提示条内切换为选择界面)。
新增空状态(未登录状态)
除保存已登录状态外,还可新增一个空状态(未登录/游客快照):
- 工具栏弹窗:点击「+ 新增空状态」→ 填写备注(默认"未登录")→ 创建
- 管理面板:点击工具栏「+ 新增空状态」→ 输入网站域名与备注 → 创建
空状态不保存任何 Cookie 与 localStorage。切换到空状态等效于清除该网站全部登录信息(即退出登录)。
退出登录的最佳实践:推荐用「切换到空状态」来退出网站,而不要使用网站自带的退出按钮。
网站自带退出通常会请求服务端/logout使会话失效,导致你之前保存的其他登录状态切换回去也无法恢复;
而扩展切换到空状态只是客户端清除 Cookie,不会触发服务端会话失效,其他已保存账户仍可正常切换恢复。
切换账户
- 在已保存账户的网站页面,点击工具栏图标
- 在弹窗中查看该网站已保存的账户列表
- 点击目标账户的「切换」按钮
- 扩展会清除当前会话 → 恢复目标账户 Cookie/localStorage → 自动重载页面
- 页面刷新后即以目标账户身份登录
管理账户
- 点击弹窗底部「管理全部」,或在扩展管理页点击「扩展程序选项」
- 管理面板功能:
- 搜索:按网站域名、账号、备注搜索
- 编辑:点击账户行的编辑图标,可修改账号、密码、备注
- 删除:点击删除图标,确认后永久删除
- 查看每个账户的 Cookie 数量、本地存储项、使用时间等详情
设置
在管理面板「设置」页签可配置:
- 修改主口令:需输入当前主口令验证
- 自动锁定:5/15/30/60 分钟无操作自动锁定,或选择不自动锁定
- 自动识别登录表单:开关登录后的保存提示条
- 操作通知:开关保存/切换的桌面通知
云同步
跨设备同步账户保险库,服务端仅存储加密密文,密钥由本地主口令派生,零知识架构。
前提条件:
- 拥有 CMSPRO 前端账号
登录与注册:
- 打开管理面板 → 「云同步」Tab
- 未登录时显示登录表单,输入 CMSPRO 用户账号与密码
- 没有账号可点击「注册账号」按钮,自动跳转到服务器注册页面
- 登录成功后显示账号信息、套餐订阅、同步策略与操作面板
同步策略:
- 手动同步:仅在你点击「立即上传」时同步
- 自动同步:按设定间隔自动上传本地保险库到云端(15 分钟 ~ 24 小时可选,受套餐最小间隔约束)
同步操作:
- 立即上传:将本地保险库加密后上传到云端,版本号自增
- 从云端下载:用云端数据覆盖本地保险库(需使用相同主口令加密,否则解密失败)
套餐与额度:
- 默认免费套餐有账户数量上限与最小同步间隔限制
- 收费套餐可在 CMSPRO 用户中心选购,支付成功后自动激活
跨设备同步注意事项:
- 不同设备需使用相同主口令,否则云端密文无法在另一台设备解密
- 下载会覆盖本地数据,建议先上传当前设备数据再在另一设备下载
- 服务端采用乐观锁机制,版本冲突时需先下载最新数据
锁定与解锁
- 手动锁定:弹窗或管理面板右上角「锁定」按钮
- 自动锁定:达到设定时长无操作自动锁定
- 解锁:锁定后点击图标,输入主口令解锁
- 锁定后密钥从内存清除,即使此时读取存储也只能得到密文
数据备份与恢复
在管理面板「设置 → 数据管理」:
- 导出:下载加密备份 JSON 文件(包含加密账户库、盐、校验器,需相同主口令才能恢复)
- 导入:选择备份文件恢复(将覆盖当前数据,导入后需用备份时的主口令解锁)
- 重置:清除全部账户与主口令(需输入「确认重置」二次确认)
安全机制
| 层面 | 实现 |
|---|---|
| 加密算法 | AES-GCM 256 位对称加密(认证加密,防篡改) |
| 密钥派生 | PBKDF2-SHA256,25 万次迭代 + 16 字节随机盐 |
| 密钥存储 | 派生密钥仅存于 Service Worker 内存,不落盘;锁定/重启后清除 |
| 口令校验 | 加密已知明文作为校验器,验证口令时尝试解密比对 |
| 敏感数据 | 账户凭据、Cookie、密码均以密文存储于 chrome.storage.local |
| 传输安全 | 所有数据仅在本扩展内部(content ↔ background ↔ storage)流转,不外传 |
| 云同步安全 | 服务端仅存储 AES-GCM 加密密文,密钥由本地主口令派生,服务端无法解密,零知识架构 |
| 同步认证 | Bearer Token 认证,服务端只存 SHA-256 哈希,明文 Token 仅本地保存 |
| 乐观并发 | 云同步采用版本号乐观锁,防止并发覆盖 |
技术实现要点
- Manifest V3:使用 Service Worker 作为后台脚本,无持久后台页面
- 登录表单识别:扫描含
input[type="password"]的表单,启发式定位用户名字段(优先 email/tel 类型,其次名称关键词,最后取密码框前最近文本框) - 跨页保存提示:登录提交时将捕获暂存于
sessionStorage,登录后页面加载时检测并弹出提示条,确保保存时 Cookie 已就绪 - eTLD+1 域名归并:内置常见二级域名后缀表,将
www.example.co.uk、a.b.example.com等归并到注册域统一管理 - 样式隔离:保存提示条使用 Shadow DOM,避免与宿主页面 CSS 冲突
- 会话切换:清除目标域名 Cookie → 写入目标账户 Cookie 快照 → 恢复 localStorage → 重载页面
权限说明
| 权限 | 用途 |
|---|---|
storage |
持久化加密账户库与设置 |
cookies |
捕获、清除、恢复网站 Cookie |
tabs |
读取当前标签页 URL/标题,切换账户后重载页面 |
activeTab |
访问当前活动标签页 |
notifications |
保存/切换账户的桌面通知 |
contextMenus |
右键菜单「保存当前登录状态」 |
alarms |
自动锁定计时、云同步自动定时器 |
<all_urls> (主机权限) |
在所有网站注入内容脚本以识别登录表单、读写 Cookie/localStorage、请求云同步 API |
兼容性说明
- 适用于 Chrome 108+ 及其他 Chromium 内核浏览器(Edge 等)
- 对使用 HttpOnly Cookie、子域 Cookie 的主流网站均可正常捕获恢复
- 少数使用强反爬/设备指纹的网站可能影响会话切换效果
- 浏览器内置页面(
chrome://等)不支持操作,弹窗会提示
常见问题
Q:忘记主口令怎么办?
A:主口令无法找回。可使用之前导出的备份恢复(仍需备份时的主口令),或重置全部数据重新开始。
Q:为什么切换账户后页面仍是旧账户?
A:部分网站除 Cookie 外还依赖 sessionStorage 或 IndexedDB。可尝试清除网站数据后重新登录并保存。切换会自动清除 Cookie 与 localStorage,但对 sessionStorage/IndexedDB 暂不支持。
Q:自动识别没弹出提示?
A:部分 SPA 站点表单加载较晚或采用非标准提交。可改用工具栏图标的「+ 保存当前登录状态」手动保存,或右键菜单保存。
Q:备份文件安全吗?
A:备份文件内账户数据为加密密文,没有主口令无法解密。但仍建议妥善保管,避免泄露。
隐私声明
本扩展不收集、不上传、不分析任何用户数据。所有数据仅存储于本地浏览器内,所有处理均在本地完成。扩展不包含任何第三方追踪或分析 SDK。
关于云同步:云同步功能为可选项,需用户主动登录并启用。启用后,扩展仅将已加密的保险库密文上传至用户配置的服务器,服务端无法解密、不做任何分析或查看。加密密钥由用户本地主口令派生,永不离开本机。同步 Token 仅用于身份认证,不携带任何账户数据。