跳到主要内容
项目档案命令行工具

Cookey - 自托管CLI工具:手机扫码登录导出Playwright会话,解决MFA与移动端登录自动化难题

Lakr233/Cookey:Cookey是一款自托管CLI工具,通过手机扫码登录网站并将加密浏览器会话安全传回终端,解密为Playwright兼容的storageState本页整理它解决什么问题、适用场景、安装方式和使用方法。

159SwiftStar 于 2026年4月11日2026年9月19日 更新

AI 总结

Cookey是一款自托管CLI工具,通过手机扫码登录网站并将加密浏览器会话安全传回终端,解密为Playwright兼容的storageState JSON,专为解决移动端或MFA登录的自动化难题而设计。

中文项目介绍

Cookey是一个 minimalist、self-hostable、CLI-first 的工具,核心功能是让用户通过手机扫码完成网站登录,并将 resulting 的浏览器会话以加密形式传回终端,解密为 Playwright 兼容的 storageState JSON 文件。这解决了自动化测试中难以处理移动端专属或 MFA 登录流程的痛点。 工具采用端到端加密安全模型:CLI 创建短期登录请求并显示二维码;iPhone 应用扫描后在内置浏览器完成登录;会话数据在设备端加密;通过中继服务器仅传输加密 blob;CLI 解密后输出可用会话。整个过程中服务器无法接触明文,所有数据在内存中临时存储并自动清理。 项目包含四个主要组件:Go 编写的命令行工具与本地守护进程(CommandLineTool/)、SwiftUI iPhone 应用(Frontend/Apple/)、Go 中继服务器(Server/)以及静态文档网站(Web/)。此外仓库中还包含 Android 前端模块的结构(Frontend/Android/),但 README 未明确其完成状态。 该工具适用于需要在自动化流程中复用移动端登录状态的场景,如将认证状态导入 Playwright 测试、访问仅限移动端的登录流,或绕过复杂的 MFA 验证。通过一次手机登录,即可在本地自动化脚本中持久使用该会话。

详细信息与使用说明

1. 项目定位与用途

Cookey 是一个 minimalist、self-hostable、CLI-first 的自托管工具,核心定位是将移动端浏览器登录会话安全转移至本地自动化环境。它允许用户通过手机扫码完成网站登录,并将 resulting 的加密浏览器会话传回终端,解密为 Playwright 兼容的 storageState JSON 文件,从而在自动化脚本中复用已认证状态。

2. 解决的问题

主要解决自动化测试中难以处理移动端专属或 MFA(多因素认证)登录流程的问题。传统自动化脚本需直接处理复杂登录,而 Cookey 通过将登录环节转移到手机端完成,并安全传递会话,避免了在自动化代码中暴露凭证或处理验证码的麻烦。

3. 适用场景

1. 在手机上完成一次登录后,在本地自动化流程中复用会话;2. 将认证状态导入 Playwright 测试;3. 访问需要移动端或 MFA 的登录流。适用于需要绕过复杂验证、复用移动端登录状态的 Web 自动化场景。

4. 安装方式

AI 代理(如 Claude Code)可通过 `npx skills add Lakr233/Cookey --skill website-login` 安装 CLI 技能。普通用户的安装方式仓库中未明确给出,但项目包含 npm 包构建脚本(scripts/build-npm-package.mjs)和 pip 包构建脚本(scripts/build-pip-package.mjs),表明可能提供多语言包分发。

5. 使用方式

1. 在终端运行 Cookey CLI 发起登录请求,生成 QR 码;2. 使用 iPhone 扫描 QR 码,在应用内完成目标网站登录;3. 加密的会话数据通过中继服务器发送回 CLI;4. CLI 解密会话并生成 Playwright 兼容的 storageState JSON 文件。具体命令参数未在 README 中列出。

6. 安全与架构特点

采用端到端加密:会话数据在移动端加密,中继服务器仅传输密文,不接触任何明文。使用 X25519 ECDH 密钥交换,内存临时存储并设有 TTL 自动清理。WebSocket 实现实时双向通信,职责严格分离:CLI 负责请求与解密,移动端负责登录与加密,服务器仅做中继。

思维导图

Cookey
CLI工具
请求创建与显示
会话解密
storageState输出
移动端应用
Apple (SwiftUI)
Android (开发中)
中继服务器
WebSocket传输
内存存储
端到端加密中继
文档网站
项目说明
API文档
安全机制
X25519 ECDH
短期请求
自动清理

常见问题

什么是Cookey?

Cookey是一个自托管CLI工具,通过手机扫码登录网站,将加密的浏览器会话传回终端并解密为Playwright兼容的storageState JSON,用于自动化测试场景。

如何安装Cookey?

AI代理可通过`npx skills add Lakr233/Cookey --skill website-login`安装CLI技能;普通用户安装方式仓库中未明确给出,但包含npm和pip包构建脚本,可能提供多语言包分发。

Cookey支持哪些自动化工具?

输出为Playwright兼容的storageState JSON格式,可直接用于Playwright测试;理论上也可适配其他支持该格式的浏览器自动化工具。

安全性如何保障?

采用端到端加密,会话数据在移动端加密,中继服务器仅传输密文;所有数据内存临时存储,短期请求自动清理,服务器不接触任何明文信息。

Android版本可用吗?

仓库包含Frontend/Android模块结构和签名配置示例,但README未明确其完成状态或发布计划,可能处于开发阶段。