Skip to content

Conversation

@cjahv
Copy link
Contributor

@cjahv cjahv commented Apr 26, 2025

简介

本次提交补充了 email_tab 接口的实现。原项目中已有相关逻辑,但由于接口缺失,验证码自动接收功能暂不可用。

变更内容

  • 基于 TempMailPlus 实现了 email_tab,作为临时邮箱中转服务。
  • 无需改动现有逻辑,直接恢复验证码自动接收能力。

背景

在阅读源码时注意到,虽然项目中保留了邮箱验证码自动获取的逻辑,但缺少具体邮箱源支持。因此尝试使用 TempMailPlus 补充,实现该功能链路的完整性。

风险评估

  • 引入的 TempMailPlus 为临时邮箱服务,若未来不可用,可快速切换其他服务。
  • 本次改动不影响其他模块,侵入式极低。

TempMailPlus 使用说明

  1. 运行程序后,在「显示配置」选项中可以查看当前的配置文件路径。
  2. 打开配置文件,找到 [TempMailPlus] 部分,进行如下配置:
[TempMailPlus]
enabled = true             # 是否启用 TempMailPlus(必填,true 开启)
email = <你在网站上生成的临时邮箱>    # 填写 TempMailPlus 提供的邮箱地址
epin = <邮箱对应的 PIN>         # 若有 PIN,填写对应 PIN;没有则可留空
  1. 保存配置,重启程序后即会启用 TempMailPlus 接收验证码功能。

备注

  • 如果需要停用 TempMailPlus,只需将 enabled 设置为 false

…应的国际化支持。新增EmailTabInterface和TempMailPlusTab类以实现邮箱验证逻辑。
@yeongpin
Copy link
Owner

只是 tempmailplus 而已对吗?是否可添加 claudeflare代理 ,不行我就后续添加

@cjahv
Copy link
Contributor Author

cjahv commented Apr 26, 2025

是的,这次 PR 是只支持 TempMailPlus。

我在使用上其实做了一个更灵活的设计:我把多个域名(通过 Cloudflare Email Routing)转发到我的 TempMailPlus 邮箱,这样 cursor-free-vip 端只需要一个统一配置,就可以任意用自己的任意域名邮箱注册,无需单独适配 Cloudflare。

举个实际使用的例子

==================================================
🚀 Cursor 注册工具
==================================================

🔑 密码: #pY3mQY$p1)B
📝 名字: Iaura
📝 姓氏: Tucker
🚀 手动输入邮箱
[email protected]
📧 邮箱地址: [email protected]

🚀 开始注册流程...
📧 使用TempMailPlus进行邮箱验证
🌐 正在使用 chrome 浏览器: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
🚀 正在打开浏览器...
正在跟踪 10 个 chrome 进程
🚀 浏览器已成功打开
🚀 访问URL: https://authenticator.cursor.sh/sign-up
🔄 页面加载中...
📧 填写注册信息
✅ 表单提交成功

✅ 表单已提交,开始验证...
🔄 正在处理安全验证...
🔄 正在重试验证...
✅ 安全验证通过

✅ 初始验证通过
🔑 设置密码
🔑 设置密码: #pY3mQY$p1)B
✅ 密码已提交

🔄 等待邮箱验证...
🔄 正在处理安全验证...
🔄 正在重试验证...
❌ 验证失败
✅ 安全验证通过

🔄 等待验证码...

🔄 等待验证码...
🔄 等待验证码...
✅ 安全验证通过
🔄 正在处理安全验证...
🔄 正在重试验证...
❌ 验证失败
✅ 安全验证通过
✅ 安全验证通过
🔑 访问URL: https://www.cursor.com/settings
Total Usage: 150

⏳ 获取 Cursor Session Token...
ℹ️ 正在刷新令牌...
✅ 令牌刷新成功!有效期 60 天(到期时间: 2025-06-25 22:33:41)
✅ Token 获取成功
🔐 更新Cursor认证信息...
✅ 已连接到数据库
ℹ️  已连接到数据库
ℹ️  更新键值对 cachedSignUpType...
ℹ️  更新键值对 cachedEmail...
ℹ️  更新键值对 accessToken...
ℹ️  更新键值对 refreshToken...
✅ 数据库更新成功
🗄️  数据库连接已关闭
✅ Cursor 认证信息更新成功...
🔄 重置机器ID...
ℹ️ 检查配置文件...
📄 读取当前配置...
💾 创建配置备份: 
🔄 生成新机器标识...
ℹ️ 备份已创建
✅ 更新成功
📄 保存新配置到JSON...
ℹ️ 更新SQLite数据库...
ℹ️  更新键值对: telemetry.devDeviceId
ℹ️  更新键值对: telemetry.macMachineId
ℹ️  更新键值对: telemetry.machineId
ℹ️  更新键值对: telemetry.sqmId
ℹ️  更新键值对: storage.serviceMachineId
✅ SQLite数据库更新成功
ℹ️ 更新系统ID...
✅ 系统ID更新成功
✅ 备份已创建
✅ 文件已修改
ℹ️ 读取package.json /Applications/Cursor.app/Contents/Resources/app/package.json
ℹ️ 找到版本: 0.49.5
✅ Cursor版本检查通过
ℹ️ 检测Cursor版本 >= 0.45.0,修补getMachineId
ℹ️ 开始修补getMachineId...
ℹ️ 当前Cursor版本: 0.49.5
ℹ️ Cursor版本检查通过
✅ 备份已创建
✅ 备份已创建
✅ 文件已修改
✅ getMachineId修补完成
✅ 机器标识重置成功

新机器标识:
ℹ️ telemetry.devDeviceId: xxx
ℹ️ telemetry.macMachineId: xxx
ℹ️ telemetry.machineId: xxx
ℹ️ telemetry.sqmId: xxx
ℹ️ storage.serviceMachineId: xxx
✅ 账户信息已保存...

✨ 注册完成!...

==================================================

这样就实现了接收任意邮箱的验证码,整个注册过程流畅无阻,即便邮箱被封,也只需要在 Cloudflare 后台更换域名,cursor-free-vip 本身的配置文件不用改,极大简化了使用体验。

所以总结一下:这次只做 TempMailPlus,是为了保持系统的轻量和通用性。Cloudflare 的功能通过路由转发已经完美融入,不需要在项目里额外适配。

如果需要,我也可以补一段简短说明到文档,帮助其他人理解这种用法。

@yeongpin yeongpin merged commit d365e86 into yeongpin:main Apr 27, 2025
@KerwinKoo
Copy link

是的,这次 PR 是只支持 TempMailPlus。

我在使用上其实做了一个更灵活的设计:我把多个域名(通过 Cloudflare Email Routing)转发到我的 TempMailPlus 邮箱,这样 cursor-free-vip 端只需要一个统一配置,就可以任意用自己的任意域名邮箱注册,无需单独适配 Cloudflare。

举个实际使用的例子

==================================================
🚀 Cursor 注册工具
==================================================

🔑 密码: #pY3mQY$p1)B
📝 名字: Iaura
📝 姓氏: Tucker
🚀 手动输入邮箱
[email protected]
📧 邮箱地址: [email protected]

🚀 开始注册流程...
📧 使用TempMailPlus进行邮箱验证
🌐 正在使用 chrome 浏览器: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
🚀 正在打开浏览器...
正在跟踪 10 个 chrome 进程
🚀 浏览器已成功打开
🚀 访问URL: https://authenticator.cursor.sh/sign-up
🔄 页面加载中...
📧 填写注册信息
✅ 表单提交成功

✅ 表单已提交,开始验证...
🔄 正在处理安全验证...
🔄 正在重试验证...
✅ 安全验证通过

✅ 初始验证通过
🔑 设置密码
🔑 设置密码: #pY3mQY$p1)B
✅ 密码已提交

🔄 等待邮箱验证...
🔄 正在处理安全验证...
🔄 正在重试验证...
❌ 验证失败
✅ 安全验证通过

🔄 等待验证码...

🔄 等待验证码...
🔄 等待验证码...
✅ 安全验证通过
🔄 正在处理安全验证...
🔄 正在重试验证...
❌ 验证失败
✅ 安全验证通过
✅ 安全验证通过
🔑 访问URL: https://www.cursor.com/settings
Total Usage: 150

⏳ 获取 Cursor Session Token...
ℹ️ 正在刷新令牌...
✅ 令牌刷新成功!有效期 60 天(到期时间: 2025-06-25 22:33:41)
✅ Token 获取成功
🔐 更新Cursor认证信息...
✅ 已连接到数据库
ℹ️  已连接到数据库
ℹ️  更新键值对 cachedSignUpType...
ℹ️  更新键值对 cachedEmail...
ℹ️  更新键值对 accessToken...
ℹ️  更新键值对 refreshToken...
✅ 数据库更新成功
🗄️  数据库连接已关闭
✅ Cursor 认证信息更新成功...
🔄 重置机器ID...
ℹ️ 检查配置文件...
📄 读取当前配置...
💾 创建配置备份: 
🔄 生成新机器标识...
ℹ️ 备份已创建
✅ 更新成功
📄 保存新配置到JSON...
ℹ️ 更新SQLite数据库...
ℹ️  更新键值对: telemetry.devDeviceId
ℹ️  更新键值对: telemetry.macMachineId
ℹ️  更新键值对: telemetry.machineId
ℹ️  更新键值对: telemetry.sqmId
ℹ️  更新键值对: storage.serviceMachineId
✅ SQLite数据库更新成功
ℹ️ 更新系统ID...
✅ 系统ID更新成功
✅ 备份已创建
✅ 文件已修改
ℹ️ 读取package.json /Applications/Cursor.app/Contents/Resources/app/package.json
ℹ️ 找到版本: 0.49.5
✅ Cursor版本检查通过
ℹ️ 检测Cursor版本 >= 0.45.0,修补getMachineId
ℹ️ 开始修补getMachineId...
ℹ️ 当前Cursor版本: 0.49.5
ℹ️ Cursor版本检查通过
✅ 备份已创建
✅ 备份已创建
✅ 文件已修改
✅ getMachineId修补完成
✅ 机器标识重置成功

新机器标识:
ℹ️ telemetry.devDeviceId: xxx
ℹ️ telemetry.macMachineId: xxx
ℹ️ telemetry.machineId: xxx
ℹ️ telemetry.sqmId: xxx
ℹ️ storage.serviceMachineId: xxx
✅ 账户信息已保存...

✨ 注册完成!...

==================================================

这样就实现了接收任意邮箱的验证码,整个注册过程流畅无阻,即便邮箱被封,也只需要在 Cloudflare 后台更换域名,cursor-free-vip 本身的配置文件不用改,极大简化了使用体验。

所以总结一下:这次只做 TempMailPlus,是为了保持系统的轻量和通用性。Cloudflare 的功能通过路由转发已经完美融入,不需要在项目里额外适配。

如果需要,我也可以补一段简短说明到文档,帮助其他人理解这种用法。

真的需要说明文档,我按照你的方案配置了TempMailPlus,但无论email和 epin 怎么配置,都不能自动获取code,只能 从 TempMailPlus 复制过来,没有你那么丝滑。

@cjahv
Copy link
Contributor Author

cjahv commented Apr 30, 2025

你是对的,我刚刚更新了 TempMailPlus 的处理逻辑,你可以看看这个pr #823

@cjahv
Copy link
Contributor Author

cjahv commented Apr 30, 2025

@KerwinKoo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants