在「新建应用」上传 APK 做包,完成后这两个链接的内容自动换成新包,链接本身永远不变,发给别人即可。绑了像素后从这条链接安装的用户,装上 B 自动回传(事件 CompleteRegistration);像素先在「归因链接」页添加。
| 应用 | 类型 | 状态 | 下载 | 次数 | 更新 | |
|---|---|---|---|---|---|---|
|
{{ row.name || "未命名" }}
#{{ row.id }} {{ row.remark || "" }}
|
{{ typeLabel(row.type) }} |
{{ statusLabel(row.taskStatus) }}
{{ row.status === 1 ? "自动打包" : "手动" }}
|
未生成 | {{ row.createNums || 0 }} / {{ row.downloadNum || 0 }} | {{ row.lastCreateTime || row.createTime || "—" }} |
还没有应用
上传 APK、填写网址,或把文件发到 Telegram 机器人。
把 APK 或下载链接发给机器人,会按当前登录账号走壳方案做包。
机器人:{{ tg.botUsername }} · 在 Telegram 搜索后点 Start,发送 /id 可查看 Chat ID。
- 在 BotFather 创建机器人,把 Token 填到左侧。
- 保存后给机器人发 /start。
- 发送 APK 文件 → 做包后回固定下载链接,包名每 10 分钟自动换。
- 发送 APK 下载链接 → 下载后同样做包回链接。
- 发送普通网址 → 按网址提交打包。
| 用户 | 套餐 | 今日 | 累计 | 状态 | 最后活跃 | |
|---|---|---|---|---|---|---|
|
TG {{ u.firstName || u.username || "—" }} 管理员
{{ u.tgId }}{{ u.username ? " @" + u.username : "" }}
{{ u.remark }}
|
{{ u.planName }}
{{ u.planExpired ? "已过期" : fmtDay(u.planExpireAt) + " 到期" }}
上限 {{ limitLabel(u.dailyLimit) }}
|
{{ u.todayUsed }} / {{ limitLabel(u.todayLimit) }} | {{ u.totalPacks || 0 }} | {{ u.status==='blocked' ? "已停用" : "正常" }} | {{ fmtDay(u.lastSeenAt) || "未活跃" }} |
|
|
网页 {{ m.account }}
登录后台做包 · #{{ m.id }}
|
{{ m.expired ? "已到期" : "会员中" }}
未开通
{{ m.expireAt ? fmtDay(m.expireAt) + " 到期" : "点编辑开通" }}
|
— | — | {{ m.status ? "正常" : "已停用" }} | {{ fmtTime(m.createTime) || "—" }} |
|
还没有会员
TG 用户给机器人发过消息后会自动出现在这里;网页会员用「新增会员」创建,账号密码登录后台做包。
- 用户首次给机器人发消息会自动注册为免费套餐;也可在「TG 用户」页点「新增会员」手动建档。
- 次数按「今天」统计,每天 0 点按所选时区重置。
- 给人单独设上限(-1 不限)会覆盖套餐默认值。
- 会员到期后自动降回免费套餐,无需手动处理。
- 机器人管理员可回复用户消息直接用 /grant 30、/revoke、/ban、/lookup、/stats。
| 用户 | 套餐 | 金额 | 状态 | 下单 / 到账 | 交易 | |
|---|---|---|---|---|---|---|
|
{{ o.displayName || "—" }}
{{ o.tgId }}
|
{{ o.pkgName }} +{{ o.days }} 天 |
{{ o.amount }} | {{ usdtOrderLabel(o.status) }} | {{ fmtTime(o.createdAt) }} {{ fmtTime(o.paidAt) }} |
{{ o.txId ? o.txId.slice(0, 8) + "…" : "—" }} |
还没有订单
用户在机器人发送 /buy 选择套餐后,订单会出现在这里。
| 时间 | 金额 | 来源 | 匹配 |
|---|---|---|---|
| {{ fmtTime(t.time) }} | {{ t.amount }} | {{ t.from ? t.from.slice(0, 8) + "…" : "—" }} | 订单 {{ t.matched }}未匹配 |
- 用户在机器人发送 /buy 选择套餐,系统生成「价格 + 随机分位」的唯一金额订单并给出收款地址和二维码。
- 系统每 {{ usdtWatcher.pollSeconds || 15 }} 秒查询一次链上(TronGrid),到账金额与订单完全一致即自动开通会员,并通知用户和管理员。
- 金额必须精确到 0.01 USDT;多付/少付的转账会出现在「链上入账 · 未匹配」,需人工核实后用「会员」按钮补开。
- 收款地址请用只有你能控制的钱包地址;私钥永远不要交给任何程序。
| 推广员 | 渠道数 | 下载 今/总 | A包安装 今/总 | B包安装 今/总 | A→B | 最近事件 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
▸
{{ p.name || "—" }} @{{ p.username }}
{{ p.tgId }}
|
{{ (p.channels || []).length }} | {{ p.dlToday || 0 }} / {{ p.dlTotal || 0 }} | {{ p.aOpenToday || 0 }} / {{ p.aOpenTotal || 0 }} | {{ p.bInstToday || 0 }} / {{ p.bInstTotal || 0 }} | {{ psConv(p.convTotal) }} | {{ fmtTime(p.lastEventAt) || "—" }} | ||||||
|
名下暂无渠道明细
|
还没有推广数据
机器人用户发 /me 可拿到专属下载链,安装后数据自动出现在这里。
| 时间 | 事件 | 推广员 | 渠道 | 设备 | 机型 | IP |
|---|---|---|---|---|---|---|
| {{ fmtTime(e.time) }} | {{ psTypeLabel(e.type) }} |
{{ e.promoterName || "—" }}
{{ e.tgId || "" }}
|
{{ e.chName || e.ch || "—" }} | {{ e.deviceUid ? e.deviceUid.slice(0, 8) : "—" }} |
{{ e.model || "—" }}
{{ e.pkg }}
|
{{ e.ip || "—" }} |
| 名称 | 平台 | Pixel ID | 归属 | 状态 | |
|---|---|---|---|---|---|
| {{ p.name }} | {{ p.platform }} | {{ p.pixelId || p.webhook || "—" }} | {{ ownerLabel(p.ownerTgId) }} | {{ p.enabled ? "启用" : "停用" }} |
| 名称 | 发包 | 像素 | 点击 | A 打开 | B 装上 | 链接 | |
|---|---|---|---|---|---|---|---|
| {{ t.name }} | {{ t.target === "b" ? "B 包" : "A 包" }} | {{ t.pixelName || "—" }} | {{ t.clicks }} | {{ t.opens }} | {{ t.installs }} |
桶和密钥只填一次。域名必须已经在这个 Cloudflare 账号里。点绑定后会改灰云解析、绑到 OSS、签证书,通过的域名写进下载池。
CNAME 指向 {{ cloud.accelerateHost }},灰云,不走 Cloudflare 代理。
下载池 {{ cloud.publicBaseUrl }}
{{ cloud.job.running ? "进行中:" : "" }}{{ cloud.job.step }} {{ cloud.job.error }}
| 域名 | 解析 | OSS | 探针 | 证书 | |
|---|---|---|---|---|---|
| {{ d.scheme ? d.scheme + '://' : '' }}{{ d.domain }} | {{ d.cname ? "灰云" : "—" }} | {{ d.bound ? "已绑" : "—" }} | {{ d.probe ? "通过" : "—" }} | {{ d.cert ? (d.certDays != null ? d.certDays + " 天" : "已挂") : (d.certError ? "未挂" : "—") }} |
{{ cloud.job.error }}
| 名称 | 类型 | 状态 | 时间 | |
|---|---|---|---|---|
| {{ o.ossName }} | {{ o.type }} | {{ o.status ? "启用" : "禁用" }} | {{ o.createTime }} |