# gemini-auto **Repository Path**: swimly/gemini-auto ## Basic Information - **Project Name**: gemini-auto - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-18 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MailHub 基于 Vite + Vue 3 和 NestJS 的 mail.td 临时邮箱工作台。 ## 当前能力 - 右上角一个按钮完成临时邮箱生成和 Flashway 注册。 - 左侧只展示当前邮箱和收件箱,邮件列表区域独立滚动;右侧展示邮件正文和链接 iframe 预览。 - 注册密码在“设置”弹窗中配置,主页面不展示密码。 - REF 池在独立管理弹窗中新增、编辑和删除;每个池可以配置 Flashway 登录邮箱和密码。 - REF 池初始为空,支持逐个删除最后一个池或一键清空;清空只解除账号与池的绑定,不删除账号历史。没有可用 REF 池时,带 REF 注册和自动注册会提示新增池,直接注册(无 REF)仍可直接进行。 - 注册账号卡片支持一键加入目标 REF 池;REF 池管理支持多选批量导入已注册账号;带 REF 注册成功后会加入本次选定的本地 REF 池;直接注册(无 REF)不会向 Flashway 发送 REF,若选择了已有本地池则会绑定到该池;加入账号不会替换 REF 池自身配置的登录账号。 - 查看 REF 池时由 NestJS 服务端登录 Flashway,并读取用户资料、REF 统计、用量汇总、用量日志、API Key 元数据和交易记录。 - Flashway 账号记录保存临时邮箱、临时邮箱密码、Flashway 邮箱、Flashway 密码、REF、注册出口 IP、可选地理位置快照、access token、余额和网关状态,账号详情默认遮罩密码。 - 提供本地 OpenAI 兼容网关:`/api/gateway/v1/chat/completions`。网关使用已验证且余额高于阈值的账号池,额度不足或 Token 失效的账号会自动标记并切换。 - “统计”页面提供注册地理位置分布;位置统计基于本地保存的注册出口 IP,并通过可选的 `FLASHWAY_GEOIP_URL`(URL 中使用 `{ip}` 占位符)解析国家、地区和城市。 - “IP 白名单”弹窗支持手动维护注册允许出口;启用后,注册前会探测真实出口 IP,只有命中启用白名单的 IP 才会继续请求 Flashway。 - 所有新增、编辑、删除和清空操作都使用 TDesign 弹窗;成功与失败操作使用 TDesign Message 提示。 ## 启动 在项目根目录执行一条命令: ```powershell npm install npm run dev ``` - 前端:http://localhost:5173 - 后端:http://localhost:3000 - 状态接口:http://localhost:3000/api/mailtd/status 默认使用 mail.td 匿名收件流程,不需要填写 Token。可选环境变量示例见 `apps/api/.env.example`。 ## 邮箱提供商 默认使用 `mail.td` 匿名邮箱。需要更丰富的地址域名池和更完整的 REST 能力时,在 `apps/api/.env` 中配置: ```dotenv MAIL_PROVIDER=mailslurp MAILSLURP_API_KEY=你的 MailSlurp API Key MAILSLURP_USE_DOMAIN_POOL=true ``` MailSlurp 的 API Key 只在后端使用,浏览器不会接触;现有 `/api/mailtd/*` 接口和前端页面保持不变。自有域名或完整自定义地址需要先在 MailSlurp 中完成域名验证。邮箱记录按 provider 隔离保存在本地 SQLite,应用“重置数据”只清理本地记录,不会删除 MailSlurp 远程邮箱。 详细配置见 [`docs/email-providers.md`](docs/email-providers.md)。 ## 数据边界 REF 池、账号历史、注册出口 IP、登录 access token、余额和网关配置保存在本地 SQLite;前端注册密码只保存在当前浏览器会话中。网关 Token 仅用于本地接口鉴权,建议只监听本机并定期更换。API Key 等敏感字段在资料响应中统一脱敏。 如果需要位置分布,在 `apps/api/.env` 中配置一个你信任的地理解析服务,例如 `FLASHWAY_GEOIP_URL=https://your-geo-provider.example/{ip}`;留空或设为 `off` 时,统计仍保留 IP 审计记录,但位置显示为“未解析位置”。请确认该服务的隐私政策和使用条款。 注册 IP 白名单保存在本地 SQLite;白名单只负责校验实际出口,不会把裸 IP 自动变成代理。要让请求真正从某个允许 IP 发出,仍需在 API 环境配置对应的授权固定代理。 网关默认地址为 `/api/gateway/v1`,调用时使用 `Authorization: Bearer <网关 Token>`,请求体遵循 OpenAI 兼容格式。网关不会实现用于规避第三方注册风控的随机 IP 轮换;注册 IP 仅记录当前授权固定出口的审计信息。 ## 验证 ```powershell npm run typecheck npm test npm run build ``` ## 合规提示 该工具仅用于合法的开发测试和收件场景,不应被用于批量注册、绕过验证或违反 mail.td / Flashway 服务条款的行为。