把一堆兑换码变成一张 Markdown 图片,每人打开领一条
送 App Store / 活动码时,常见两种尴尬:
1. 直接贴一长串码 → 前面的人秒光,后面的人只能干瞪眼,还容易被脚本扫
2. 私信一个个发 → 累,还不好统计
做了个小工具 **兑图**:粘贴一堆兑换码,生成一个图片链接。别人打开这张图,就从池子里领一条没用过的;同一个 IP 只会领到一条,刷新还是自己那条。码发完了显示「都兑换完了」。
## 怎么用
1. 打开 [https://duitu.zhis.eu](https://duitu.zhis.eu)
2. 粘贴兑换码(一行一条)
3. 复制生成的图片 URL ,丢进帖子 / README / 群里,例如:

```markdown

```
## 规则(简版)
- 每个 IP 对同一链接只领 1 条
- 同 IP 再访问:显示当初领到的码,不浪费新码
- 池空了:显示「都兑换完了」
- 全部领完后默认保留 7 天领取记录,然后自动清理;清理后原链接仍显示领完(不是 404)
- 默认只接受 App Store 风格 `XXXX-XXXX-XXXX`(服务端校验)
图片是很小的 SVG(大概几百字节),跑在 Cloudflare Workers + Durable Objects 上,无注册。
## 开源 & 自托管
[https://github.com/galenzhao/duitu](https://github.com/galenzhao/duitu)
`wrangler deploy` 就能自己搭一份。格式校验、领完保留天数都用环境变量配。
## 已知限制
- 同一公司 / 咖啡厅 Wi‑Fi 共用出口 IP 时,会共用一次领取额度
- 部分客户端(如 Discord)可能按 URL 强缓存图片,后面的人可能仍看到第一次的图;浏览器直开一般没问题
- GitHub 等对 SVG 嵌入可能有限制
---
原文链接:[点击查看](https://www.v2ex.com/t/1229432)
1. 直接贴一长串码 → 前面的人秒光,后面的人只能干瞪眼,还容易被脚本扫
2. 私信一个个发 → 累,还不好统计
做了个小工具 **兑图**:粘贴一堆兑换码,生成一个图片链接。别人打开这张图,就从池子里领一条没用过的;同一个 IP 只会领到一条,刷新还是自己那条。码发完了显示「都兑换完了」。
## 怎么用
1. 打开 [https://duitu.zhis.eu](https://duitu.zhis.eu)
2. 粘贴兑换码(一行一条)
3. 复制生成的图片 URL ,丢进帖子 / README / 群里,例如:

```markdown

```
## 规则(简版)
- 每个 IP 对同一链接只领 1 条
- 同 IP 再访问:显示当初领到的码,不浪费新码
- 池空了:显示「都兑换完了」
- 全部领完后默认保留 7 天领取记录,然后自动清理;清理后原链接仍显示领完(不是 404)
- 默认只接受 App Store 风格 `XXXX-XXXX-XXXX`(服务端校验)
图片是很小的 SVG(大概几百字节),跑在 Cloudflare Workers + Durable Objects 上,无注册。
## 开源 & 自托管
[https://github.com/galenzhao/duitu](https://github.com/galenzhao/duitu)
`wrangler deploy` 就能自己搭一份。格式校验、领完保留天数都用环境变量配。
## 已知限制
- 同一公司 / 咖啡厅 Wi‑Fi 共用出口 IP 时,会共用一次领取额度
- 部分客户端(如 Discord)可能按 URL 强缓存图片,后面的人可能仍看到第一次的图;浏览器直开一般没问题
- GitHub 等对 SVG 嵌入可能有限制
---
原文链接:[点击查看](https://www.v2ex.com/t/1229432)
· 0 个赞