Cursor AI 作为一款基于 VS Code 的 AI 驱动 IDE,通过机器指纹(machine fingerprinting)机制严格限制免费试用账户的使用次数。具体而言,它将 trial request limit 与特定机器 ID 绑定,当用户在同一机器上创建过多试用账户时,会提示 “You've reached your trial request limit. / Too many free trial accounts used on this machine.” 此机制的核心在于持久化存储的 machineId 文件及 globalStorage 中的 storage.json 和 state.vscdb,这些文件记录了账户使用历史和令牌消耗。
逆向分析显示,machineId 是 Cursor 生成的唯一标识符,存储在用户目录下(如 Windows: % APPDATA%\Cursor\machineId;macOS: ~/Library/Application Support/Cursor/machineId;Linux: ~/.config/Cursor/machineId)。storage.json 保存 trial 相关状态,如请求计数;state.vscdb 是 SQLite 数据库,记录更细粒度的会话数据。绕过原理简单:删除或覆盖这些文件,同时通过浏览器自动化模拟全新机器注册新试用账户,处理 Cloudflare Turnstile 人机验证和临时邮件确认。该方法不修改 Cursor 二进制,仅操作配置层,避免反调试检测。
实际部署中,自动化脚本(如开源 cursor-free-vip)采用 Selenium WebDriver 驱动浏览器(Chrome/Edge/Opera 等),按序执行:关闭 Cursor → 重置文件 → 打开注册页 → 输入临时邮件 → 处理 Turnstile → 提取验证码 → 完成激活 → 保存新配置。核心是参数调优,确保成功率 >90%。
路径配置清单(按 OS 分层):
-
Windows(x64/x86):
- machine_id_path: C:\Users{username}\AppData\Roaming\Cursor\machineId
- storage_path: C:\Users{username}\AppData\Roaming\Cursor\User\globalStorage\storage.json
- sqlite_path: C:\Users{username}\AppData\Roaming\Cursor\User\globalStorage\state.vscdb
- cursor_path: C:\Users{username}\AppData\Local\Programs\Cursor\resources\app
-
macOS(Intel/Apple Silicon):
- machine_id_path: /Users/{username}/Library/Application Support/Cursor/machineId
- storage_path: /Users/{username}/Library/Application Support/Cursor/User/globalStorage/storage.json
- sqlite_path: /Users/{username}/Library/Application Support/Cursor/User/globalStorage/state.vscdb
-
Linux(x64/ARM64):
- machine_id_path: ~/.config/Cursor/machineId
- storage_path: ~/.config/Cursor/User/globalStorage/storage.json
- sqlite_path: ~/.config/Cursor/User/globalStorage/state.vscdb
替换 {username} 为实际用户。脚本需管理员权限执行,确保文件锁定释放。
时机与随机化参数(config.ini 节选,单位秒):
[Timing]
min_random_time = 0.1 # 最小随机延时,防检测
max_random_time = 0.8 # 最大随机延时
page_load_wait = 0.1-0.8 # 页加载等待,格式 a-b
input_wait = 0.3-0.8 # 输入模拟延时
submit_wait = 0.5-1.5 # 提交延时
handle_turnstile_time = 2 # Turnstile 处理固定时间
handle_turnstile_random_time = 1-3 # 随机补充
verification_success_wait = 2-3 # 验证成功后等
retry_interval = 8-12 # 重试间隔
max_timeout = 160 # 全局超时
max_attempts = 3 # 最大尝试
这些参数模拟人类行为:随机延时分布服从均匀或正态,Turnstile 等待结合固定 + 随机。浏览器指纹伪装可选,通过指定非默认 Chrome(如 Opera)及 driver 路径降低追踪风险。临时邮件服务优先非 disposable(如自定义 TempMailPlus),避免 “User is not authorized” ban。
部署与监控清单:
- 预备:安装 WebDriver(chromedriver.exe 等,放 drivers/ 目录);下载最新脚本;配置 config.ini 路径(尤其是 storage_path,根据实际调整)。
- 执行:关闭所有 Cursor 进程(taskkill /f/im Cursor.exe);运行 install.sh/ps1(Linux: curl ...;Win: irm ... | iex);观察日志,Ctrl+C 停止。
- 验证:重启 Cursor,检查设置页无 trial 限流提示;显示账户 info(show_account_info=True)。
- 监控点:
- 成功率:日志中 “Verification Success” 计数 /attempts。
- 异常:权限错误(提升 admin);邮件 ban(换服务);Turnstile fail(增 handle_turnstile_time)。
- 更新检查:check_update=True,定期 pull repo。
- 回滚:若失败,手动 rm 上述文件 + 新注册;备选浏览器轮换。
风险控制:Cursor 可能升级 fingerprint(如硬件 ID、canvas 等浏览器指纹),脚本需跟进 CHANGELOG。长期使用建议订阅 Pro 支持开发,或自建代理池隔离。检测阈值:单机 >5 accounts / 天 高危。
该绕过聚焦配置重置与流程自动化,证据源于路径分析与脚本行为观察。“This tool is for educational purposes, currently the repo does not violate any laws.” 部署后,每日 Pro 功能无限,适用于测试场景。
资料来源:
- https://github.com/yeongpin/cursor-free-vip (v0.49.x 支持,CHANGELOG 查看更新)
- Cursor 官方文档隐含路径(逆向得出)