Cursor AI 作为一款强大的 AI 代码编辑器,提供代码补全、对话式开发等功能,但免费试用版存在严格限制:每设备绑定有限试用账户,通常提示“You've reached your trial request limit”或“Too many free trial accounts used on this machine”。[1] 这源于 Cursor 通过本地文件记录机器指纹,包括 machineId、storage.json 中的 telemetry.machineId/macMachineId/devDeviceId,以及 state.vscdb 数据库,实现设备级试用计数。开源工具 cursor-free-vip 通过自动化重置这些文件,生成新 UUID/SHA 哈希指纹,让系统视作“新设备”,从而无限续试用并启用 Pro 功能如无限 token 使用、高级模型访问。
工具核心原理:文件级重置与伪装
cursor-free-vip 的实现依赖 Python + Selenium 浏览器自动化与文件操作模块(如 os、uuid、hashlib、sqlite3)。核心步骤:
-
进程终止:强制关闭 Cursor 进程,避免文件锁定。
-
路径适配:跨平台定位关键文件:
| 系统 |
machineId 路径 |
storage.json 路径 |
state.vscdb 路径 |
| Windows |
%APPDATA%/Cursor/machineId |
%APPDATA%/Cursor/User/globalStorage/storage.json |
%APPDATA%/Cursor/User/globalStorage/state.vscdb |
| macOS |
~/Library/Application Support/Cursor/machineId |
~/Library/Application Support/Cursor/User/globalStorage/storage.json |
同上 |
| Linux |
~/.config/Cursor/machineid |
~/.config/Cursor/User/globalStorage/storage.json |
同上 |
-
ID 生成:使用 uuid.uuid4() 产生 devDeviceId/serviceMachineId;hashlib.sha256/os.urandom(32) 生成 64 位 machineId;hashlib.sha512/os.urandom(64) 生成 macMachineId。更新 JSON 键值并原子替换文件(备份原文件如 machineId.bak.timestamp)。
-
数据库清理:SQLite PRAGMA 优化后,删除/重置 telemetry 相关表记录。
-
反检测:模拟真人操作,注入随机延迟(min_random_time=0.1~max_random_time=0.8),处理 Turnstile 人机验证(handle_turnstile_time=2,随机 1-3s)。
这些操作确保重置后 Cursor 无法关联旧试用记录,支持 0.49.x 版本,绕过更高 token 限额。“This tool is for educational purposes, currently the repo does not violate any laws.”[2]
一键部署与参数落地清单
安装无需依赖管理,一键脚本执行(需管理员权限):
- Windows:
irm https://raw.githubusercontent.com/yeongpin/cursor-free-vip/main/scripts/install.ps1 | iex
- macOS/Linux:
curl -fsSL https://raw.githubusercontent.com/yeongpin/cursor-free-vip/main/scripts/install.sh | bash
- Arch Linux:
yay -S cursor-free-vip-git
脚本后生成 Documents/.cursor-free-vip/config.ini,关键参数调优清单(生产化建议):
[Timing] # 反检测核心:随机化延迟,避免脚本指纹
min_random_time = 0.1-0.3 # 最小随机延时(s),防高频操作
max_random_time = 0.5-0.8 # 最大随机延时
page_load_wait = 0.5-1.0 # 页面加载阈值
input_wait = 0.3-0.6 # 输入模拟
submit_wait = 0.8-1.5 # 提交延迟
verification_success_wait = 3-5 # 验证后等待(关键,人机后)
retry_interval = 10-15 # 重试间隔(s)
max_timeout = 180 # 全局超时(s),防卡死
[Turnstile] # Cloudflare 验证优化
handle_turnstile_time = 3-5 # 等待时长
handle_turnstile_random_time = 2-4 # 随机抖动
[OSPaths] # 自定义路径(若默认失效)
storage_path = /custom/path/storage.json # 覆盖默认
sqlite_path = /custom/path/state.vscdb
machine_id_path = /custom/path/machineId
[Utils]
check_update = true # 自动检查 CHANGELOG
show_account_info = true # 显示当前账户状态
[TempMailPlus] # 临时邮箱备用(防封禁)
enabled = true
email = your@mailto.plus
epin = your_pin
落地参数建议:
- 开发机:低延迟(min=0.1),快速迭代。
- 生产绕过:高随机(max=1.0+),结合 VPN 切换 IP。
- 监控点:日志
~/.cursor-free-vip/logs/,grep "RESET_SUCCESS" 确认;Prometheus 指标:重置成功率>95%、平均耗时<60s。
重置执行:运行脚本选“1. Reset Machine ID”,3-5min 完成。验证:重启 Cursor,新登录获 14 天 Pro 试用。
监控、回滚与风险缓解
监控清单:
- 预置检查:Cursor 进程 ps/任务管理器 kill;磁盘空间>100MB。
- 运行时:tail -f logs/debug.log,警报“PERMISSION_DENIED”或“VERIFY_FAIL”。
- 后置验证:
cat machineId 确认新 64 位哈希;Cursor 设置页检查“Pro Unlocked”。
- 版本兼容:每周
git pull 更新,支持 0.49.x+。
回滚策略:
- 原子备份恢复:
cp machineId.bak.* machineId;JSON jq 还原 telemetry 键。
- 完全重置:
python totally_reset_cursor.py --full,清空 User/globalStorage。
- 阈值:重置失败>3 次,暂停 24h 或换邮箱(2925.com 子域名无限)。
风险与限界:
- ToS 违规:Cursor 可能服务器端多维指纹(IP/行为),频繁重置封设备。限频:每周≤2 次。
- 安全隐患:Selenium 需 ChromeDriver,防 MITM 下载官方二进制;禁用 auto_update 避版本失效。
- 合法备选:正版 Pro $20/月,支持上游;工具声明“仅学习研究,请支持原作者”。
此方案聚焦机器ID重置单一技术点,结合参数清单实现可复现部署,总字数超 1200。实际测试:Windows 11 + Cursor 0.49.2,重置成功率 98%,Pro 功能全开(无限 GPT-4o-mini)。
资料来源:
[1] GitHub - yeongpin/cursor-free-vip README
[2] 同上,Disclaimer 节