aschmelyun/print-my-profile-pic

效率与系统工具

一个趣味个人项目:投星后,作者会用小票打印机把你的 GitHub 头像打印出来。

669
1
创建于 2 天前

这是一个个人趣味项目,而不是可复用的工具。有人在 GitHub 上给仓库点星后,作者自己的系统会取得此人的显示名和头像 URL,给头像加上相框,并在桌上的热敏小票打印机上打印出来。README 把项目定位成好玩的实验,并不预期其他人安装或运行。

点星之后会发生什么

仓库为 star 事件配置了 GitHub webhook GitHub star webhook 事件。webhook 负载会 POST 到 Cloudflare Tunnel 域名 Cloudflare Tunnel,再由它转发到作者桌上树莓派里运行的 PHP 脚本。脚本提取点星者的显示名和头像 URL,把头像渲染到相框镂空之后,加上其他小票信息,再通过 USB 发送给 Epson TM-T88IV 热敏打印机。格式化和打印使用 escpos-php 库 escpos-php。

所以流程是:给仓库点星 → GitHub webhook → 隧道 → 树莓派上的 PHP 脚本 → 打印带相框的头像 → 小票被钉到作者称为 “Hall of Frame” 的板子上 README。README 表示会随着相框增加,定期更新板子的照片。

可选的相框彩蛋

作者说明,如果在点星前进行任意金额的一次性 GitHub Sponsorship,头像会被打印进特殊相框 一次性赞助。这是个人的答谢方式,不是产品功能,也不改变点星者需要做的事。

要求与范围

要按文档流程运行,需要作者的基础设施,而不是读者自己的设备:GitHub webhook 配置、Cloudflare Tunnel、运行 PHP 的树莓派,以及特定的 USB 热敏小票打印机。仓库提供了 webhook 设计和打印脚本的说明,但它是作为一个持续运行的个人实体装置来呈现的。这个项目展示的是一条实际跑通的流水线;要在实践中复刻,需要自备等效的硬件和托管环境。

README 没有提供部署说明、通用兼容性或复刻该装置的受支持平台。仓库未声明许可证,因此所给材料中没有说明复用或再分发条款 仓库。它的范围是用有趣的方式给作者点星,而不是一个面向用户、持续维护的工具。

本文由 AI 根据项目 README 生成,更新于 2026年10月29日,以项目官方文档为准。

Hacker News 讨论