
print-my-profile-pic 是一款把本人 GitHub 仓库收到的 Star 事件打印成头像收据的开源小装置。有人给你的仓库点 Star,树莓派那头的热敏打印机就会吐出一张带相框的头像收据,像一台只为你的仓库服务的迷你拍立得。它不做数据统计、不做粉丝运营,就是把一次线上互动变成一张能拿在手里的纸片,适合放在书桌或工作台边当趣味摆件。
项目信息
| 软件名 | print-my-profile-pic |
| 一句话用途 | 把 GitHub Star 事件打印成头像收据 |
| 运行平台 | Raspberry Pi,搭配 USB 热敏收据打印机 |
| 核心链路 | GitHub Webhook、Cloudflare Tunnel、PHP 脚本、ESC/POS 打印 |
| 打印设备 | Epson TM-T88IV 热敏收据打印机 |
| 获取方式 | 开源仓库源码自托管部署,无安装包下载 |
头像收据是怎么打印出来的
整个流程只有一条线,没有中间数据库。先是你的仓库收到 Star,GitHub 把这次事件推给预先配好的 Webhook 地址;隧道把请求送到树莓派上的 PHP 脚本;脚本从事件里取出点 Star 用户的显示名和头像地址,把头像套进相框图案,再补上收据样式的排版;最后通过 escpos-php 把成型的收据数据发给 USB 口上的打印机,一张头像收据就出来了。链路短,排障也直观:哪一段没动静,就查哪一段。
版本选择:只认仓库主线,不追版本号
源稿没有给出可核实的发布版本号,所以这里不写版本号,只给一条可执行的选型口径:直接用仓库当前主线代码部署,部署前通读一遍 README,确认打印机型号、PHP 运行环境和隧道配置与你的设备对得上。不要从第三方搬运的压缩包或所谓汉化版里拿代码,来源一乱,Webhook 地址和脚本行为就都没法保证。
| 渠道 | 说明 | 适合谁 |
| 仓库主线源码 | 唯一可核实的来源,随 README 更新 | 所有人,默认选这一项 |
| 第三方转载包 | 版本与改动不明,无法核对 | 不推荐,出了问题无从查起 |
安装步骤
- 备齐硬件:一台能跑 PHP 的 Raspberry Pi,一台 Epson TM-T88IV 热敏打印机,用 USB 线连好,并先确认打印机能正常出纸。
- 把仓库代码放到树莓派上,按 README 布置 PHP 脚本的运行位置,保证脚本能被外部请求访问到。
- 建一条 Cloudflare Tunnel,把公网请求引到树莓派上的脚本地址,隧道通了再往下走。
- 到你自己的仓库里新建 Webhook,事件只订阅 Star,目标地址填隧道地址,保存后用一次真实 Star 做触发测试。
- 收到第一张收据后,检查头像是否完整、相框有没有错位、文字有没有截断,全部正常才算装好。
必改设置
- Webhook 事件范围只勾 Star。事件给多了,脚本可能收到用不上的负载,白白消耗打印纸。
- 隧道地址与脚本地址必须逐字一致。地址差一个字符,事件就送不到树莓派,现象是打印机毫无反应。
- 打印机纸张宽度与相框尺寸要对上。热敏纸规格不对,头像两边会被裁掉,收据看起来像缺了一块。
- 头像拉取失败时要有兜底。网络抖动时头像地址可能一时打不开,提前想好是跳过本次打印还是只打文字信息,别让脚本卡在半路。
注意事项
- 只接自己仓库的 Star 事件。不要把别人的仓库 Webhook 指到你的打印机上,那既不合规,打印内容也不可控。
- 打印机型号兼容性没有宽泛承诺。源稿只确认了 Epson TM-T88IV 这一款,换型号前务必先对照源码和驱动实测,别凭感觉代换。
- 这套流程依赖全程在线。Webhook、隧道、头像拉取、树莓派,任何一环断网都会让打印停摆,离线环境跑不完整流程。
- 不要把它当高并发服务用。短时间内连续收到大量 Star 时,打印队列、重复触发和缺纸都可能出现,它本质上是小规模趣味装置。
- 头像属于公开资料,但打印出来就成了实物。放在公共场合展示前,先想清楚是否合适长期陈列他人头像。
适用人群与对比
适合三类人:想练 Webhook 到硬件输出完整链路的开发者;喜欢给个人项目加实体反馈的创作者;想在活动现场做互动小装置的人。如果你要的是 Star 数量统计、粉丝增长分析或消息推送通知,这个项目给不了,选通知类工具更直接;如果你要的是把互动变成实物,它比纯线上提醒多了一份仪式感,但代价是多了一套硬件和隧道要维护。
取舍说清楚:它赢在链路简单、效果直观,输在通用性上。没有多型号打印机适配,没有任务队列和失败重试,没有管理后台。小规模自娱自乐很合适,要上生产强度就得自己补齐这些短板。
关注公众号,回复 print-my-profile-pic 获取下载链接

关注「软件教程管家」
回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。
本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›







