图床,但是命令行,在任何地方
前段时间用claude+glm4.7整了个使用nginx+lua脚本实现的个人图床方案,很简洁啊,主要逻辑都集中在一个nginx配置文件内,不到120行,兼具性能(nginx特性)和访问速度(套cdn)。
然而这种部署方式绕不开一个问题:得有一台服务器。专门搞一台服务器做个人图床多少是有点大材小用了,个人使用又能存多少东西呢?不如先薅大厂羊毛,等到羊毛不够用了再换不迟。
于是这个轮子(项目)诞生了,在codex+gpt5.4和本人的努力下,花了一晚上时间。
项目简介
curl-powered image hosting for hackers. One-click deploy on Cloudflare, or integrate with existing nginx server.
该项目qspidy/imgng的设计理念是,能在身边任何一台联网的机器上传图片到图床并获取链接,只要记住这条几乎不能再短的curl命令:
1 | curl -u user:pass --data-binary @photo.jpg https://example.com/upload |
之所以说是“几乎”不能再短,是因为还可以使用alias或者shell函数给它设置别名,然后像使用一个普通linux命令一样使用它:
1 | imgng() { |

这次相比上一篇博客使用Nginx搭建个人图床,让链接永远有效!的主要变化是,提供一个零成本的服务端部署方案,使用Cloudflare+R2。当然还有很多其它薅羊毛(免费部署)方案,参考文末的外部链接,相信各路大神都能找到适合自己的方案。
从某种程度上而言,它更像是提供了一个相较传统S3 API而言更简洁的接口,在客户端做到了极致的简洁(命令行爱好者狂喜!)。
结合当前CLI越来越热的趋势,这小项目还有更多存在和参考的意义,后续或许可以进一步发展成一整套图床命令行增删改查(接口方案)。再者可以通过Skills/MCP等方式和Agent无缝集成,成为Agent工作流的一部分。
要长期使用的话,它目前还缺少一些关键的功能:图片展示列表,重复图片处理等。接下来会继续完善这些关键的功能。
另外还有些可选功能:支持多用户,备份恢复等。因为它当前的定位是个人使用,所以支持多用户暂不考虑,而文件存储在R2上也基本不用担心文件丢失的问题,所以目前不急(备份也就一条命令的事,考虑到前段时间Cloudflare还崩了一次,备份还是有必要的)。
碎碎念
用了codex+gpt5.4才知道原来不是Agent不好用,而是钱没到位(选错了模型和Agent),回想当初用 claude+glm4.7,那真是改了又改,5小时额度用完了都没跑通。这次几乎是首次提示词一下去出来的东西就能用,后面只需做些功能完善和文档生成的工作。
心情很复杂。很兴奋,在AI有加持下个人能力边界得到了极大的扩张,很悲伤,AI对程序员群体造成了很大的冲击,许多知识与技能似乎都没有了意义。
虽然如此,技术在发展,时代在进步,拥抱未来是唯一能走的路。




