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

规则(简版)
每个 IP 对同一链接只领 1 条
同 IP 再访问:显示当初领到的码,不浪费新码
池空了:显示「都兑换完了」
全部领完后默认保留 7 天领取记录,然后自动清理;清理后原链接仍显示领完(不是 404 )
默认只接受 App Store 风格 XXXX-XXXX-XXXX(服务端校验)
图片是很小的 SVG (大概几百字节),跑在 Cloudflare Workers + Durable Objects 上,无注册。
开源 & 自托管
https://github.com/galenzhao/duitu
wrangler deploy 就能自己搭一份。格式校验、领完保留天数都用环境变量配。
已知限制
同一公司 / 咖啡厅 Wi‑Fi 共用出口 IP 时,会共用一次领取额度
部分客户端(如 Discord )可能按 URL 强缓存图片,后面的人可能仍看到第一次的图;浏览器直开一般没问题
GitHub 等对 SVG 嵌入可能有限制 好像批量扫码的有点离谱了,
2min ,这个测试的码就领完了。
但是没有人回复呢 防君子不防小人 并不是所有访问图片的人都需要兑换码 @kekxv 对,但是这个没想好怎么处理 很多年前,我用 apps.evozi.com/apk-downloader/ 这个页面加上验证码做了一个领游戏兑换码的程序,也是根据访客 IP 做的限制。每周用脚本跑一遍被领走的码,如果没被兑换就再加入号码池里。 @yulgang 加验证码肯定不行,就是方便嵌到任何地方,一般页面也不可能让你嵌个 js 。
重新验证也不现实,我也不知道这是什么的码,也不能有权限去验证用没用过
页:
[1]