[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93262":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":14,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":16,"topics":19,"createdAt":8,"pushedAt":8,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":13,"starSnapshotCount":13,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},93262,"icloud-hme","xiaozhou26\u002Ficloud-hme","xiaozhou26",null,"Go",142,50,104,0,13,46.92,false,"main",true,[],"2026-07-22 04:02:08","# iCloud Hide My Email 本地管理工具\n\n[English](#english) | 中文\n\n通过逆向 iCloud Web 接口和 IMAP 邮件协议，实现 Apple iCloud 隐藏邮箱别名的创建、列出和邮件收取功能。\n\n## 功能特性\n\n- ✅ **创建 HME 别名** — 自动生成 iCloud 隐藏邮箱地址\n- ✅ **列出所有别名** — 查看账号下的所有 HME 别名\n- ✅ **收取邮件** — 通过 IMAP 或 Web API 读取发到 HME 别名的邮件\n- ✅ **双路径读信** — 邮件读取优先走 IMAP (App Password),无 App Password 时回退 Web API (Cookie)\n- ✅ **多账号管理** — 支持多个 iCloud 账号并行管理\n- ✅ **双认证模式** — Cookie (创建别名 + 读邮件回退) 和 App Password (IMAP 优先)\n\n## 快速开始\n\n### 1. 安装\n\n```bash\n# 前置要求: Go 1.26+\ngo version  # 确认 Go 版本\n\n# 克隆项目\ngit clone \u003Cyour-repo-url>\ncd icloud-hme\n\n# 编译\ngo build -o icloud-hme.exe .\n```\n\n### 2. 配置账号\n\n在项目根目录创建 `accounts.json`:\n\n```json\n{\n  \"accounts\": [\n    {\n      \"id\": \"acc_1\",\n      \"name\": \"主号\",\n      \"cookies\": [\n        {\n          \"domain\": \".icloud.com\",\n          \"name\": \"x-apple-session-token\",\n          \"value\": \"YOUR_SESSION_TOKEN_HERE\"\n        }\n      ],\n      \"app_passwords\": [\n        {\n          \"icloud_email\": \"your_email@icloud.com\",\n          \"password\": \"YOUR_APP_PASSWORD_HERE\"\n        }\n      ]\n    }\n  ]\n}\n```\n\n### 3. 启动服务\n\n```bash\n.\u002Ficloud-hme.exe\n\n# 服务默认监听 :8080\n# 可通过环境变量 PORT 修改端口\nPORT=9090 .\u002Ficloud-hme.exe\n```\n\n## API 接口\n\n### 核心接口\n\n#### 创建 HME 别名\n\n```bash\nPOST \u002Fapi\u002Fcreate\n\n# 请求体\n{\n  \"account_id\": \"acc_1\",      # 必填: 账号 ID\n  \"label\": \"注册某网站\"        # 可选: 别名标签\n}\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"email\": \"xyz123@icloud.com\",\n    \"label\": \"注册某网站\",\n    \"created_at\": \"2024-01-15T10:30:00Z\",\n    \"account_id\": \"acc_1\"\n  }\n}\n```\n\n#### 读取邮件\n\n```bash\nGET \u002Fapi\u002Finbox?account_id=acc_1&alias=xyz123@icloud.com&limit=20&days=7\n\n# 参数说明:\n#   account_id - 必填: 账号 ID\n#   alias      - 可选: 只读取发到该别名的邮件\n#   limit      - 可选: 返回邮件数量 (默认 20)\n#   days       - 可选: 查找最近几天的邮件 (默认 7,仅 IMAP 模式)\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"account_id\": \"acc_1\",\n    \"alias\": \"xyz123@icloud.com\",\n    \"count\": 2,\n    \"method\": \"imap\",\n    \"messages\": [\n      {\n        \"id\": \"1042\",\n        \"from\": \"noreply@example.com\",\n        \"to\": \"xyz123@icloud.com\",\n        \"subject\": \"欢迎注册\",\n        \"preview\": \"感谢您的注册...\",\n        \"date\": \"2026-07-09T14:32:10+08:00\"\n      }\n    ]\n  }\n}\n\n# 读取方式 (自动选择):\n#   method: \"imap\"    — 通过 App Password 认证 (优先)\n#   method: \"web_api\" — 通过 Cookie 认证,无需 App Password (回退)\n```\n\n### 账号管理接口\n\n#### 列出所有账号\n\n```bash\nGET \u002Fapi\u002Faccounts\n\n# 响应\n{\n  \"success\": true,\n  \"data\": [\n    {\"id\": \"acc_1\", \"name\": \"主号\"},\n    {\"id\": \"acc_2\", \"name\": \"副号\"}\n  ]\n}\n```\n\n#### 添加账号\n\n**简化版（cookies 可选）:**\n\n```bash\nPOST \u002Fapi\u002Faccounts\n\n# 请求体\n{\n  \"name\": \"新账号\",\n  \"host\": \"icloud.com\",           # 可选\n  \"proxy\": \"http:\u002F\u002F...\"           # 可选\n}\n\n# 响应 - 状态为 pending,需登录\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"acc_xxx\",\n    \"name\": \"新账号\",\n    \"status\": \"pending\"\n  }\n}\n```\n\n**完整版（带 Cookie）:**\n\n```bash\nPOST \u002Fapi\u002Faccounts\n\n# 请求体\n{\n  \"name\": \"新账号\",\n  \"cookies\": \"{\\\"x-apple-session-token\\\":\\\"token_value\\\"}\",  # JSON 或 Header 格式\n  \"host\": \"icloud.com\",           # 可选\n  \"proxy\": \"http:\u002F\u002F...\"           # 可选\n}\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"acc_3\",\n    \"name\": \"新账号\",\n    \"status\": \"active\"\n  }\n}\n```\n\n#### 账号登录（获取 Cookie）\n\n```bash\nPOST \u002Fapi\u002Faccounts\u002F:id\u002Flogin\n\n# 请求体\n{\n  \"password\": \"用户的常规iCloud密码\",  # 不是 App Password\n  \"otp_code\": \"123456\"                  # 可选,2FA 验证码\n}\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"acc_1\",\n    \"cookies\": {\n      \"x-apple-session-token\": \"...\",\n      \"X-APPLE-WEBAUTH-TOKEN\": \"...\"\n    }\n  }\n}\n```\n\n#### 删除账号\n\n```bash\nDELETE \u002Fapi\u002Faccounts\u002F:id\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\"id\": \"acc_3\"}\n}\n```\n\n#### 设置 App Password\n\n```bash\nPOST \u002Fapi\u002Faccounts\u002F:id\u002Fpassword\n\n# 请求体\n{\n  \"icloud_email\": \"your_email@icloud.com\",\n  \"app_password\": \"xxxx-xxxx-xxxx-xxxx\"\n}\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"acc_1\",\n    \"icloud_email\": \"your_email@icloud.com\"\n  }\n}\n```\n\n### 别名管理接口\n\n#### 列出所有别名\n\n```bash\nGET \u002Fapi\u002Faliases?account_id=acc_1\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"account_id\": \"acc_1\",\n    \"count\": 15,\n    \"aliases\": [\n      {\n        \"email\": \"xyz123@icloud.com\",\n        \"label\": \"注册某网站\",\n        \"created_at\": \"2024-01-15T10:30:00Z\"\n      }\n    ]\n  }\n}\n```\n\n#### 停用别名\n\n```bash\nPOST \u002Fapi\u002Faliases\u002F:id\u002Fdeactivate\n\n# 请求体\n{\n  \"account_id\": \"acc_1\"\n}\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"anonymous_id\": \"abc123\",\n    \"success\": true\n  }\n}\n```\n\n#### 激活别名\n\n```bash\nPOST \u002Fapi\u002Faliases\u002F:id\u002Freactivate\n\n# 请求体\n{\n  \"account_id\": \"acc_1\"\n}\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"anonymous_id\": \"abc123\",\n    \"success\": true\n  }\n}\n```\n\n#### 删除别名\n\n```bash\nDELETE \u002Fapi\u002Faliases\u002F:id\n\n# 请求体\n{\n  \"account_id\": \"acc_1\"\n}\n\n# 响应\n{\n  \"success\": true,\n  \"data\": {\n    \"anonymous_id\": \"abc123\"\n  }\n}\n```\n\n## 认证方式\n\n### 方式一: Cookie 认证 (推荐,功能最完整)\n\nCookie 认证可实现所有功能:创建别名、读取邮件、管理别名。\n\n**适用范围:**\n- 创建\u002F停用\u002F激活\u002F删除 HME 别名 ✅\n- 读取邮件 (通过 iCloud Web API,无需 App Password) ✅\n\n**获取 Cookie:**\n\n1. 使用浏览器登录 [icloud.com](https:\u002F\u002Fwww.icloud.com) 或 [icloud.com.cn](https:\u002F\u002Fwww.icloud.com.cn) (国区)\n2. 打开浏览器开发者工具 (F12)\n3. 进入 Application → Cookies\n4. 导出全部 Cookie 为 `{\"key\":\"value\"}` 格式的 JSON\n\n**关键 Cookie (必需):**\n- `X-APPLE-WEBAUTH-TOKEN` — 认证 token\n- `X-APPLE-WEBAUTH-USER` — 含 dsid (`v=1:s=1:d=22789132008`)\n- `X-APPLE-WEBAUTH-HSA-TRUST` — 设备信任 token\n- `X-APPLE-DS-WEB-SESSION-TOKEN` — 会话 token\n\n**注意:** 导出的 Cookie 值不要包含多余的引号或转义字符。\n\n### 方式二: App Password 认证 (IMAP,优先读邮件)\n\nApp Password 用于 IMAP 读取邮件,是邮件读取的优先路径 (支持服务端按收件人搜索)。\n\n**生成 App Password:**\n\n1. 登录 [appleid.apple.com](https:\u002F\u002Fappleid.apple.com)\n2. 进入 \"登录和安全\" → \"App 专用密码\"\n3. 生成新密码,用于此工具\n\n### 邮件读取双路径\n\n`GET \u002Fapi\u002Finbox` 自动选择读取方式:\n\n1. **优先: IMAP (App Password)** — 设置了 App Password 时使用,支持服务端按收件人 (`TO`) 搜索\n2. **回退: Web API (Cookie)** — 无 App Password 或 IMAP 失败时,通过 `mccgateway` 端点读取,本地按别名过滤\n\n响应中包含 `\"method\": \"web_api\"` 或 `\"method\": \"imap\"` 字段,标识实际使用的读取方式。\n\n## 项目架构\n\n```\nicloud-hme\u002F\n├── main.go                 # 入口: 加载配置、初始化管理器、启动服务\n├── accounts.json           # 账号配置文件 (自动生成)\n├── go.mod\n└── internal\u002F\n    ├── account\u002F\n    │   └── manager.go      # 多账号管理器 (持久化、客户端工厂)\n    ├── hme\u002F\n    │   ├── client.go       # iCloud HME Web 客户端 (Cookie 认证)\n    │   └── auth.go         # SRP 登录 (账号密码 + 2FA 获取 Cookie)\n    ├── mail\u002F\n    │   ├── client.go       # IMAP 邮件客户端 (App Password 认证)\n    │   └── web_client.go   # Web 邮件客户端 (Cookie 认证,无需 App Password)\n    └── server\u002F\n        └── server.go       # HTTP API (Gin 路由 + 请求处理)\n```\n\n### 核心模块\n\n- **account.Manager**: 管理多个 iCloud 账号,负责配置持久化和客户端创建\n- **hme.Client**: 封装 iCloud HME Web API,支持 Cookie 认证\n- **hme.auth**: SRP 协议登录,支持账号密码 + 可选 2FA\n- **mail.Client**: IMAP 邮件客户端 (App Password,优先读邮件)\n- **mail.WebClient**: 通过 iCloud Web API (mccgateway) 读取邮件,无需 App Password\n- **server.Server**: HTTP API 服务,提供 RESTful 接口\n\n## 技术栈\n\n- **Go 1.26+**\n- **Gin** — HTTP 框架\n- **go-imap** — IMAP 协议实现\n- **tls-client** — TLS 指纹模拟 (绕过 iCloud 反爬)\n\n## 常见问题\n\n### Q: 创建别名返回 401\u002F403 错误?\n\n**A:** Cookie 已过期，需要重新获取。iCloud Cookie 有效期通常为 24 小时。\n\n### Q: 读取邮件返回超时?\n\n**A:** 检查网络连接，确保可以访问 `imap.mail.me.com:993`。\n\n### Q: 如何查看某个别名收到了哪些邮件?\n\n**A:** 调用 `GET \u002Fapi\u002Finbox?account_id=acc_1&alias=your_alias@icloud.com`\n\n### Q: 支持同时管理多个 iCloud 账号吗?\n\n**A:** 支持，在 `accounts.json` 中配置多个账号即可，每个账号有独立的 `id`。\n\n## 开发指南\n\n### 本地开发\n\n```bash\n# 安装依赖\ngo mod download\n\n# 运行 (开发模式，带日志)\ngo run main.go\n\n# 编译\ngo build -o icloud-hme.exe .\n\n# 交叉编译 (Linux)\nGOOS=linux GOARCH=amd64 go build -o icloud-hme .\n```\n\n### 代码规范\n\n- 代码注释使用中文\n- 错误信息返回给用户时使用中文\n- API 响应格式统一: `{success: bool, data: any, message: string}`\n\n## 许可证\n\nMIT License\n\n---\n## 社区\n\n友情链接：[LINUX DO](https:\u002F\u002Flinux.do)\n\n## English\n\nA local management tool for Apple iCloud Hide My Email (HME) aliases, supporting creation, listing, and email reading through reverse-engineered iCloud Web API and IMAP protocol.\n\n### Features\n\n- Create HME aliases automatically\n- List all aliases for an account\n- Read emails sent to HME aliases via IMAP\n- Manage multiple iCloud accounts\n- Dual authentication: Cookie and App Password\n\n### Quick Start\n\n```bash\n# Build\ngo build -o icloud-hme.exe .\n\n# Create accounts.json with your credentials\n# Run\n.\u002Ficloud-hme.exe\n\n# API endpoints\n# POST \u002Fapi\u002Fcreate     - Create HME alias\n# GET  \u002Fapi\u002Finbox      - Read emails\n# GET  \u002Fapi\u002Faliases    - List aliases\n```\n\nSee [API Documentation](#api-接口) for detailed usage.\n","这是一个用于本地管理 Apple iCloud 隐藏邮箱（Hide My Email, HME）别名的命令行与 API 工具。它通过逆向 iCloud Web 接口和标准 IMAP 协议，支持创建、列出 HME 别名，并读取发送至这些别名的邮件；采用双认证路径（App Password 优先 IMAP，Cookie 回退 Web API），支持多账号并行管理。适用于需要批量生成临时邮箱、自动化处理隐私邮件或集成到个人数据工作流中的技术用户，如隐私保护实践者、开发者及自动化运维场景。",2,"2026-07-15 02:30:03","CREATED_QUERY"]