Files
cursornew2026/docs/PLAN_3.0_MITM.md

8.2 KiB
Raw Blame History

CursorPro 3.0 - MITM 代理方案计划

状态: 规划中 (暂不启动) 优先级: 低 前置条件: 2.0 稳定运行后再考虑


一、目标

实现真正的无感换号 - 请求级别自动切换账号用户无需重启Cursor


二、当前方案 (2.0) vs 目标方案 (3.0)

特性 2.0 (当前) 3.0 (MITM)
换号方式 写Token到本地 请求转发
需要重启
切换粒度 会话级别 请求级别
技术难度
用户感知 有感 无感
检测风险 中高

三、技术方案

方案A: 本地代理 + Hosts劫持

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│  [Cursor] ──→ api2.cursor.sh (被hosts指向127.0.0.1)             │
│      │                                                          │
│      ▼                                                          │
│  [本地代理服务] (127.0.0.1:443)                                  │
│      │                                                          │
│      ├─── 检查当前账号额度                                       │
│      ├─── 选择最优账号                                           │
│      ├─── 替换请求中的Token                                      │
│      │                                                          │
│      ▼                                                          │
│  [真实 api2.cursor.sh]                                          │
│      │                                                          │
│      ▼                                                          │
│  返回结果给 Cursor                                               │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

实现步骤:
1. 开发本地代理服务 (Node.js/Go)
2. 生成自签名CA证书
3. 修改系统hosts文件
4. 用户安装CA证书到系统信任

优点:
- 完全透明Cursor无需修改
- 请求级别换号

缺点:
- 需要用户安装CA证书 (用户可能不信任)
- 需要管理员权限修改hosts
- HTTPS证书处理复杂

方案B: Cursor配置修改

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│  修改 Cursor 的 API 端点配置                                     │
│                                                                 │
│  可能的配置位置:                                                 │
│  1. Cursor 安装目录下的配置文件                                  │
│  2. Electron app.asar 中的硬编码                                │
│  3. 环境变量                                                    │
│                                                                 │
│  修改后:                                                        │
│  原: https://api2.cursor.sh                                     │
│  改: https://proxy.ourserver.com                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

需要研究:
1. Cursor 是否有配置文件指定 API 地址
2. 是否可以通过环境变量覆盖
3. 修改 app.asar 的可行性

优点:
- 不需要CA证书
- 不需要修改hosts

缺点:
- Cursor 更新后可能失效
- 需要深入研究 Cursor 内部实现

方案C: 云端代理集群

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│  [用户Cursor] ──→ [我们的云端代理] ──→ [Cursor官方API]           │
│                        │                                        │
│                        ├── 负载均衡                              │
│                        ├── 动态IP池                              │
│                        ├── 账号池管理                            │
│                        └── 请求级换号                            │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

需要:
1. 多台服务器做代理集群
2. 动态住宅IP代理服务
3. 高并发处理能力

优点:
- 集中管理,用户端改动最小
- 可以做更多优化

缺点:
- 服务器成本高
- 延迟增加
- 需要用户配置代理或修改Cursor

四、Cursor API 端点分析 (待研究)

需要劫持的主要端点:

# 认证相关
POST https://api2.cursor.sh/auth/...

# AI 对话
POST https://api2.cursor.sh/aiserver.v1.AiService/StreamChat
POST https://api2.cursor.sh/aiserver.v1.AiService/...

# 使用量查询
GET https://api2.cursor.sh/usage/...

# 其他
...

研究任务:

  1. 抓包分析 Cursor 的所有 API 请求
  2. 确定需要劫持的端点列表
  3. 分析请求/响应格式
  4. 确定 Token 在请求中的位置

五、风控规避

Cursor 可能的检测手段

检测方式 规避方法
IP异常 使用住宅代理IP池
设备指纹 同步machineId
请求频率 限流 + 分散
Token异常 模拟正常使用模式
TLS指纹 使用标准TLS库

建议策略

  1. 账号隔离: 一个账号同时只服务一个用户
  2. 请求限流: 单账号请求频率限制
  3. IP绑定: 账号绑定固定IP段
  4. 行为模拟: 模拟正常用户使用模式

六、实施阶段

Phase 1: 研究 (预计2周)

  • 抓包分析 Cursor API
  • 研究 Cursor 配置文件
  • 评估各方案可行性
  • 选定最终方案

Phase 2: 原型开发 (预计3周)

  • 开发代理服务核心
  • Token 替换逻辑
  • 账号池调度算法
  • 本地测试

Phase 3: 集成测试 (预计2周)

  • 与现有后端集成
  • 多账号切换测试
  • 性能测试
  • 稳定性测试

Phase 4: 灰度发布 (预计2周)

  • 小范围用户测试
  • 收集反馈
  • 修复问题
  • 正式发布

七、成本预估

项目 预估成本
开发人力 2人月
服务器 (代理集群) $200-500/月
动态IP代理 $100-300/月
域名+SSL $50/年

八、风险评估

风险 等级 应对措施
Cursor更新导致失效 预留回滚方案
被Cursor封禁 IP池 + 行为模拟
用户不愿装证书 提供详细教程
技术难度超预期 阶段性评估

九、决策点

在启动3.0之前需要回答:

  1. 是否真的需要?

    • 2.0 的"重启换号"用户接受度如何?
    • 用户对"无感"的需求有多强烈?
  2. 投入产出比?

    • 开发成本 vs 带来的价值
    • 维护成本 vs 收益
  3. 风险是否可控?

    • Cursor 的封禁风险
    • 法律合规风险

十、参考资料

待收集:

  • Cursor 官方 API 文档 (如有)
  • 类似项目实现参考
  • MITM 代理开发资料
  • 动态IP代理服务商对比

本文档仅作为技术方案规划,启动前需要团队评审确认。