Files
cursornew2026/docs/PLAN_3.0_MITM.md

258 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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代理服务商对比
---
> 本文档仅作为技术方案规划,启动前需要团队评审确认。