正在自动登录…
← 返回项目列表mizorewww/
mizorewww/ x_gift_bot
X (Twitter) Premium 礼品兑换平台,用于生成兑换码并让用户自助兑换,系统自动完成 Premium 赠送的下单与付款。适用于需要批量赠送 X Premium 的运营者或商家。
AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/11 02:00:34 · 查看原文
- 累计 Stars
- 1,178
- 当前热度
- 7~30 天 · 小火
- 仓库创建时间
选用指南
AI 根据 README 整理 · 2026/10/11 02:00:34
- 使用方式
通过命令行工具和网页界面使用,包括生成兑换码、管理后台和用户兑换页。
查看 README 依据
# XGift X (Twitter) Premium 礼品兑换平台。你生成兑换码发给用户,用户在网页上输入兑换码和自己的 X 用户名,系统自动完成 Premium 赠送的下单与付款。 - **兑换页**:用户自助兑换,实时显示处理进度 - **管理后台**:生成/停用兑换码、批次文件夹、统计面板、订单状态 - **安全**:凭据逐条 AES-256-GCM 加密存储,付款前逐项校验金额与商户,付款确认只提交一次 ## 截图 以下截图来自本地模拟预览(全部为示例数据): | 兑换页 | 管理页(统计概览) | |---|---| |  |  | 管理页深色模式:  ## 本地预览(不写任何真实配置) 想先看看界面?只需要 Node.js 22+: ```sh npm ci npm run build npm run preview ```
- 部署要求
需要 Node.js 22+ 用于本地预览,部署需要 Linux 服务器、域名、Go 1.27+,以及 X 登录 Cookie、支付卡、Stripe 公钥等配置。
查看 README 依据
打开 http://127.0.0.1:4173 是兑换页,http://127.0.0.1:4173/admin 是管理后台。所有数据都是内存示例,不连接真实服务。在兑换页输入 `XG-` 加 48 个字母 `A` 可以演示完整成功流程。 ## 部署教程 ### 第一步:准备这些东西 部署前请先准备好以下四样东西,配置向导会逐项询问: 1. **X 登录 Cookie**(`auth_token` 和 `ct0`):在浏览器登录 x.com 后,按 F12 打开开发者工具 → Application(应用)→ Cookies → `https://x.com`,复制这两项的值。这是系统以你的 X 账号身份发起赠送的凭据。 2. **用于付款的银行卡(一张或多张)**:卡号、有效期、CVC,以及发卡行登记的持卡人姓名、账单邮箱和账单国家(两位代码,如 `BD`)。多张卡会在服务端加密保存并随机轮换,新卡可复用同一账单资料。请只填真实信息。 3. **代理(可选)**:服务器能直接访问 x.com 就选「直连」;否则准备一个代理节点。支持 sing-box 的任意 outbound 类型(anytls、socks、http、shadowsocks、vmess、vless、trojan 等),也可以直接粘贴完整 sing-box 配置。
4. **Stripe 公钥**:X 结账页面使用的 `pk_live_` 开头公钥。使用默认 X Premium 目录时向导会说明;它与商户、商品、价格一起保存在「目录」配置中,也可以完全自定义。 网络路径独立配置:X 账号与资格检查始终直连;生成付款链接所需的地区报价校验与创建链接使用同一个 `proxy` 出口,避免币种和金额因地区不同而变化;X 请求不读取环境代理;Stripe 可使用包含 `direct` 的 `payment-outbounds` 节点池。连接故障触发 30 分钟冷却,安全查询最多尝试 3 个出口;付款确认不会自动重放。未配置或空数组时,新订单直连。Stripe 不读取环境代理。详见 [付款节点池配置](docs/payment-outbounds.md)。直接在浏览器打开 Stripe 链接时使用浏览器网络。 另外需要:一台 Linux 服务器、一个指向该服务器的域名、服务器上安装 Go 1.27+(或在自己电脑上构建后上传二进制)。 ### 第二步:构建 ```sh git clone https://github.com/mizorewww/x_gift_bot.git cd x_gift_bot npm ci && npm run build # 构建前端(只需一次,产物已随仓库提交时可跳过)
- 已知限制
密码文件丢失后加密数据无法恢复;X Cookie 过期需重新导入;付款被拒时系统会冷却节点或卡,且明确拒付会阻止重复提交。
查看 README 依据
echo 'pk_live_新公钥' | ./bin/xgift put --name stripe-key echo '{"merchant":"acct_...","currency":"bdt","plans":[...]}' | ./bin/xgift put --name catalog ``` 付款卡按「卡 × 节点」组合随机轮换:每 3 个连续订单使用同一组合;任意订单被拒后立即换组合,被拒的那张卡进入 30 分钟冷却(其他卡继续轮换),补单也走同一逻辑。支付方明确 `do_not_try_again` 时该卡永久封锁直到显式解除。`cards add` 追加或更新(同卡号替换),`cards remove --last4 1234` 移除,`cards rotate` 立即结束当前组合,`cards unblock` 清除冷却与永久封锁。 ## 常见问题 **密码文件丢了怎么办?** 无法恢复。加密数据全部作废,需要删除 `vault.db` 后重新运行 `xgift setup`。请把它和数据库一起备份。 **X Cookie 过期了?** macOS 上用 `./bin/xgift import-chrome` 一键刷新;其他系统重新从浏览器复制后用 `put --name cookies` 更新。
**想暂停充值?** 把 `site.env` 里 `XGIFT_PAYMENTS_ENABLED` 改为 `false` 并重启服务。用户兑换会被婉拒,兑换码不消耗。 **付款被拒怎么办?** 明确拒付会显示失败说明并阻止重复提交,不再显示自动核实。网页和 CLI 在同一个 `checkout.lock` 下执行付款,提交间隔至少 30 秒,重启仍保留间隔。付款按「卡 × 节点」组合随机轮换,每 3 个连续订单使用同一组合;普通拒付会立即结束当前组合,并**先冷却该出口节点及其共享 IP(30 分钟)**,同一张卡马上换其他节点继续付款;只有同一张卡在两个不同节点都被拒,才冷却整卡 30 分钟。其他卡继续轮换,下一次提交(含补单)自动换到新的组合,不因连续次数暂停全站。支付端明确返回 `do_not_try_again` 时只永久封锁被拒的那张卡;仅当所有卡都被永久封锁时才暂停全站,可用 `xgift cards unblock` 显式解除(同时清除冷却,不能通过补单确认框解除)。后台补单页会实时显示每张卡的可用/冷却状态和当前组合。该命令不付款,也不会修改 `XGIFT_PAYMENTS_ENABLED`。手动完成原账单后,可查询原订单以核对成功状态。
README
正在加载 README…
收录信息
- 仓库创建时间
- 2026/10/2 18:29:43
- 首次达标收录
- 2026/10/9 12:11:18
- 统计更新时间
- 2026/10/11 15:35:40
按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。
模型评估
普通加权总分 3.7 / 5
由 Jev 模型根据仓库描述与 README 评估,2026/10/10 13:55:36 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。
仓库信息
- 最近推送
- 2026/10/9 09:46:24
- 许可证标识
- MIT
- Fork 数
- 377
- 当前状态
- 未归档
收录记录
按创建时长与累计 Stars 首次收录:热门
首次发现项目