全球主机交流论坛

标题: 分享一下我自己目前正在开发的图床程序: Stb图床 [打印本页]

作者: Aerry    时间: 2025-5-19 09:13
标题: 分享一下我自己目前正在开发的图床程序: Stb图床
本帖最后由 Aerry 于 2025-6-14 09:17 编辑





















前端: Vue.js + Ant Design Vue
后端: Node.js +MongoDB



已支持以下第三方存储


项目地址: https://github.com/setube/stb
安装图床: https://github.com/setube/stb/wiki/install
演示地址: https://stb.wenzi.games
TG群: https://t.me/+jDH_82deSmc4NzRl

管理员账号默认为注册后的第一个账号


如果你觉得 Stb 对你有帮助,欢迎点击右上角 ⭐Star 支持我们,让更多人了解和使用这个项目。
作者: Aerry    时间: 2025-5-19 09:14
图床是我随便写着玩的, 为啥突然想开发一个图床程序呢, 事情是这样, 我昨晚逛github的时候看到个叫简单图床的程序,php写的, 我看了下项目预览图和程序所有的功能, 我寻思哥们你写成这样都能发布, 然后我就寻思自己也写个, 然后我就花了一宿时间写出来了
作者: b66667777    时间: 2025-5-19 10:08
技术贴 无人问津
作者: jacob    时间: 2025-5-19 10:10
好东西啊 老哥这图床功能挺全的 水印压缩格式转换都齐活了 后端还是node+mongo挺对味 这就去github点个star先 不过话说回来现在图床程序这么多 建议再加个webp自动转换功能 现在流量贵能省一点是一点
作者: Aerry    时间: 2025-5-19 10:24
jacob 发表于 2025-5-19 10:10
好东西啊 老哥这图床功能挺全的 水印压缩格式转换都齐活了 后端还是node+mongo挺对味 这就去github点个star ...

有这个功能
作者: toms    时间: 2025-5-19 10:34
SBT ? 死变态 ?
作者: 009    时间: 2025-5-19 10:40
谢谢分享
作者: 陈桂林    时间: 2025-5-19 10:50
star
作者: 流星i    时间: 2025-5-19 11:10
求写个安装教程
作者: 螃蟹就得走直线    时间: 2025-5-19 11:40
toms 发表于 2025-5-19 10:34
SBT ? 死变态 ?

眼睛不用可以捐了,人家STB,到你这SBT。
作者: toms    时间: 2025-5-19 11:43
螃蟹就得走直线 发表于 2025-5-19 11:40
眼睛不用可以捐了,人家STB,到你这SBT。

卧槽, 还得你这提醒, 居然看错了... 现在差点味道
作者: bbsbbs    时间: 2025-5-19 12:37
坐等docker发布
作者: 度百    时间: 2025-5-19 12:59
顶!@
作者: hep    时间: 2025-5-19 13:04
老哥牛逼
作者: 91康先生    时间: 2025-5-19 13:09
只能本地啊?起码对接了s3或者cf吧
作者: 主机奥特曼    时间: 2025-5-19 13:36
Aerry 发表于 2025-5-19 09:14
图床是我随便写着玩的, 为啥突然想开发一个图床程序呢, 事情是这样, 我昨晚逛github的时候看到个叫简单图床 ...

一宿就能写出来 这么简单的吗?
作者: 0.0    时间: 2025-5-19 13:48
你好,请一键Docker喂我嘴里
作者: Aerry    时间: 2025-5-22 17:26
本帖最后由 Aerry 于 2025-6-11 09:09 编辑
0.0 发表于 2025-5-19 13:48
你好,请一键Docker喂我嘴里


https://github.com/setube/stb/wiki/install#docker
作者: Aerry    时间: 2025-5-22 17:28
本帖最后由 Aerry 于 2025-6-11 09:09 编辑
bbsbbs 发表于 2025-5-19 12:37
坐等docker发布


https://github.com/setube/stb/wiki/install#docker
作者: 0.0    时间: 2025-5-22 17:29
Aerry 发表于 2025-5-22 17:26
https://github.com/setube/stb/blob/main/docs/%E5%AE%89%E8%A3%85%E5%9B%BE%E5%BA%8A.md#docker

大佬牛逼
作者: 梦-红楼    时间: 2025-5-22 17:29

作者: Aerry    时间: 2025-5-22 17:51
本帖最后由 Aerry 于 2025-6-11 09:10 编辑
流星i 发表于 2025-5-19 11:10
求写个安装教程


https://github.com/setube/stb/wiki/install
作者: Aerry    时间: 2025-5-22 18:55
0.0 发表于 2025-5-22 17:29
大佬牛逼

那你还不快star+fork
作者: 阿珍,你来真的    时间: 2025-5-22 20:44
对接cf r2,或者tg
作者: Aerry    时间: 2025-5-22 20:44


给项目对接这些第三方存储快写麻了
作者: VM7.COM    时间: 2025-5-22 20:58
管理 按时间  管理 ,归类。  分享支持 微信 QQ 等,  分享图片 是 短网址的方式。。
作者: Aerry    时间: 2025-5-23 02:07
阿珍,你来真的 发表于 2025-5-22 20:44
对接cf r2,或者tg

后续会慢慢对接这些
作者: Aerry    时间: 2025-5-23 02:16

绝了, 忙活这么久才实装一个阿里oss, 对接api倒是简单, 但是因为对接导致的问题真闹麻了
作者: Aerry    时间: 2025-5-23 21:55
今天实装了腾讯云cos, 但是一直碰到上传tunneling socket could not be established, cause=getaddrinfo ENOTFOUND 7890问题, 我一开始以为是clash问题, 因为clash也是7890端口, 试了下把clash代理关了, 软件退了, 重启ide都没用

后面忙活了一整天,又是发工单又是和客服和技术打电话开腾讯会议啥的, 在nodejs环境下一直返回这个报错, 无论是上传啊还是下载, 后面技术让我换py环境试试, 换成py环境下测试就正常了, 然后我寻思去github提个issues来着, 突然想到要不要试一下重启电脑, 好嘛, 重启电脑之后就再也碰不到这个问题了
作者: 飞木    时间: 2025-5-23 23:08
技术贴啊,好久没见了,给大佬顶一个
作者: Aerry    时间: 2025-5-24 13:41

七牛也搞定了(
作者: 躺平    时间: 2025-5-24 13:54
牛笔大佬,这才是loc该有的帖子
作者: pancreas    时间: 2025-5-24 14:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: TomLoveRice    时间: 2025-5-24 14:39
谢谢分享,比简单图床功能实用
作者: 拼命二郎    时间: 2025-5-24 14:59
大佬还是对接cf的把,图床大多会被人传色色,你对接国内的云,吃枣药丸,就弄一个本地和国外的云或者cf这些,国内的不支持,免得给自己找麻烦
作者: Aerry    时间: 2025-5-24 19:58


芜湖, 起飞
作者: 萌王    时间: 2025-5-24 19:59
牛逼
作者: Aerry    时间: 2025-5-24 20:01
阿珍,你来真的 发表于 2025-5-22 20:44
对接cf r2,或者tg

已全部对接并实装
作者: toot    时间: 2025-5-24 20:49
本帖最后由 toot 于 2025-5-24 20:54 编辑

图床以链接为主,而不是展示图片的。特别是天朝这个环境,后台直接展示完整图片(或者较大的预览图)晚高峰几乎是打不开的,你的做法与那些开源的图床如出一辙。

有一个例子做的非常棒sm.ms,只展示非常小的一个预览图。


你什么时候做到这样了你就成功了
作者: loc2313153    时间: 2025-5-24 21:22
toot 发表于 2025-5-24 20:49
图床以链接为主,而不是展示图片的。特别是天朝这个环境,后台直接展示完整图片(或者较大的预览图)晚高峰几 ...


是的不然后台预览都加载的慢死,特别是几M的图一页几十个,服务器带宽又只有几十M
作者: Aerry    时间: 2025-5-25 00:19
拼命二郎 发表于 2025-5-24 14:59
大佬还是对接cf的把,图床大多会被人传色色,你对接国内的云,吃枣药丸,就弄一个本地和国外的云或者cf这些 ...

r2和s3都对接了的
作者: Aerry    时间: 2025-5-25 18:33
toot 发表于 2025-5-24 20:49
图床以链接为主,而不是展示图片的。特别是天朝这个环境,后台直接展示完整图片(或者较大的预览图)晚高峰几 ...

上传的时候生成个缩略图就行了
作者: Aerry    时间: 2025-5-25 19:11
91康先生 发表于 2025-5-19 13:09
只能本地啊?起码对接了s3或者cf吧

新版本已经对接了很多了, 你可以试一下
作者: 303    时间: 2025-5-26 01:24
大佬NB 666
作者: Aerry    时间: 2025-5-29 05:50
toot 发表于 2025-5-24 20:49
图床以链接为主,而不是展示图片的。特别是天朝这个环境,后台直接展示完整图片(或者较大的预览图)晚高峰几 ...

新版本加上缩略图功能了
作者: Aerry    时间: 2025-5-29 05:52
Stb 图床程序0.0.5版本更新说明

精简项目代码
新增加开关注册功能
新增加游客上传功能
新增加图片缩略图功能
新增加图片管理分页功能
优化本地数据持久化存储
优化图片广场加载列表
优化图片广场瀑布流排序
优化验证码逻辑与样式
优化系统配置折叠体验
优化复制功能相关逻辑
优化图片上传相关逻辑
作者: toot    时间: 2025-5-29 07:27
Aerry 发表于 2025-5-29 05:50
新版本加上缩略图功能了

关于缩略图,有一个开源项目https://github.com/weserv/images

sm.ms就是使用了这个,具体你可以参考sm.ms的后台缩略图方案改进,那种做法是非常完美的,

后台就是显示链接的,非常非常小的缩略图只是为了知道这个链接是哪个图
作者: netsky    时间: 2025-5-29 10:40
收藏了,正好需要
作者: Aerry    时间: 2025-5-29 18:06
toot 发表于 2025-5-29 07:27
关于缩略图,有一个开源项目https://github.com/weserv/images

sm.ms就是使用了这个,具体你可以参考sm. ...

你可以看下演示站: https://stb.wenzi.games/

作者: uov    时间: 2025-5-29 23:44
楼主牛逼 一夜写出来 忙完给你星
作者: nieyuli    时间: 2025-5-30 12:25
docker-compose运行的,上传错误,请教是什么原因?

作者: gotohost    时间: 2025-5-30 13:37
1、原图和缩略图的存放路径层级最好同级单独分开,现在是uploads目录下直接存原图,uploads的子目录thumbnail存缩略图,图片多了不方便管理
2、原图和缩略图应多层级存放,现在都是直接单目录存放,图片多了,单目录下几万或过10万+的图片会有问题的,建议hash文件名前4位做分层目录(或按日期),如 /ab/e4/17565456428.webp
3、图片名字现在按生成时候的时间戳,这样原图和缩略图文件名肯定不一致,如果能统一,数据库大小减半,知名的图床大站都是统一的(当然他们不一定用的时间戳做文件名)
4、上传后没有显示预览图(缩略图),用户无法第一时间确认上传的图片内容是否正确(例如选错图片上传后及时发现)
5、图片广场的预览图加个复制原图地址按钮,否则用户无法获取原图,若是你故意为之那可忽略
6、生成图片url后同时给出删除链接,用户日后可自行决定删除,这个功能后台开关配置控制。
作者: 网盘    时间: 2025-5-30 13:48
能用虚拟主机安装上的图床,为啥我要浪费一个小鸡去安装这个?
作者: Aerry    时间: 2025-5-30 17:46
Stb 图床程序0.0.6版本更新说明

增加鉴黄功能
增加用户管理分页功能
精简项目代码
优化部分逻辑
作者: Aerry    时间: 2025-5-30 18:34
本帖最后由 Aerry 于 2025-5-30 18:38 编辑
nieyuli 发表于 2025-5-30 12:25
docker-compose运行的,上传错误,请教是什么原因?


单从图上来看大概率是后端没有运行成功, 你看看是不是没装数据库或者连不上数据库
作者: songsong    时间: 2025-5-30 18:54
已Star
作者: shengran    时间: 2025-5-30 21:14
Aerry 发表于 2025-5-30 18:34
单从图上来看大概率是后端没有运行成功, 你看看是不是没装数据库或者连不上数据库 ...

大佬能写一个更小白点的教程吗?包括nginx反带教程,docker_compose里面的jwt不太懂
作者: shengran    时间: 2025-5-30 21:22
演示站也上传失败
作者: Aerry    时间: 2025-5-30 21:51
shengran 发表于 2025-5-30 21:22
演示站也上传失败

估计是你在我更新后端的时候上传的
作者: Aerry    时间: 2025-6-1 00:13
本帖最后由 Aerry 于 2025-6-1 00:18 编辑
gotohost 发表于 2025-5-30 13:37
1、原图和缩略图的存放路径层级最好同级单独分开,现在是uploads目录下直接存原图,uploads的子目录thumbna ...


你想要的是这种效果吧? 采纳了, 虽然说本来就打算做的


作者: onebrowser    时间: 2025-6-1 01:21
好技术,正需要一个,我还在用那个烟雨图床放github就是很烂框架的
作者: onebrowser    时间: 2025-6-1 01:31
github可不可以设置自己的反代加速域名,vercel 和 jsdelivr在用那个,每次都要手动去改那个地址
作者: Aerry    时间: 2025-6-1 02:43
onebrowser 发表于 2025-6-1 01:31
github可不可以设置自己的反代加速域名,vercel 和 jsdelivr在用那个,每次都要手动去改那个地址 ...

好像是可以的, 把(用户名).github.io作为cname解析就可以了
作者: Aerry    时间: 2025-6-1 05:44
0.0.7版本更新说明

增加我的图片页面
支持复制链接与删除图片

增加接口文档页面
后台支持开关该页面

增加日志管理页面
支持日期查询, 用户名查询, IP查询
支持删除指定日志, 一键删除全部日志

增加上传文件命名规则设置
更改图片广场图片预览方式
作者: Aerry    时间: 2025-6-3 08:13
Stb 图床程序0.0.8版本更新说明

新增上传列表
新增删除账号功能
新增上传等待列表
新增修改密码功能
新增找回密码功能
新增邮箱验证功能
新增修改邮箱功能
新增上传头像功能
新增个人设置页面
修改图片MD5为后端计算
修改重复图片直接返回图片信息
优化在游客状态下图片的信息
优化在登录状态下用户的数据
作者: Aerry    时间: 2025-6-3 08:24
gotohost 发表于 2025-5-30 13:37
1、原图和缩略图的存放路径层级最好同级单独分开,现在是uploads目录下直接存原图,uploads的子目录thumbna ...

ok了, 你说的我都解决了
作者: 我是傻瓜    时间: 2025-6-3 08:31
图片广告不会自动加载,每次都要手动点击差评
作者: Aerry    时间: 2025-6-3 08:34
我是傻瓜 发表于 2025-6-3 08:31
图片广告不会自动加载,每次都要手动点击差评

啥意思? 我没看懂
作者: 淡然长风    时间: 2025-6-3 08:35
66666666666
支持大佬
作者: gotohost    时间: 2025-6-3 19:51
本帖最后由 gotohost 于 2025-6-3 19:56 编辑
Aerry 发表于 2025-6-3 08:24
ok了, 你说的我都解决了


感谢,不过现在你的演示站是否已经同步更新了呢?我在演示站测试,还有功能还没实现,且有bug:

bug:游客上传动画gif失败 提示 Request failed with status code 400;  我的GIF只有18kb,普通内容,如果是静态图片gif则没问题,猜测是你默认处理上传图片为webp但在转换动画gif里面出问题

建议的最后一点还没实现:上传图片后没有给出日后对应删除图片的链接,是你后台开关隐藏了还是游客上传不具备此权限?

还有一个疑问就是现在保持缩略图和原图的文件名不一样,我想不出这样做的好处,反之,如果统一,原图(或缩略图)的URL动态按规则生成,可大幅减少数据库体积
作者: ABCFUN    时间: 2025-6-3 19:57
小白一枚,求安装教程
作者: Aerry    时间: 2025-6-4 02:30
Stb 图床程序0.0.9版本更新说明

增加图片压缩开关
增加图片广场开关
增加社会化登录
修复关闭注册后还能发送邮件问题
修复了服务器服务中 .env 文件的卷挂载路径
作者: Aerry    时间: 2025-6-5 06:01
Stb 图床程序0.1.0版本更新说明

增加邀请码功能
增加编辑用户功能
增加创建用户功能
增加搜索用户功能
增加图片编辑功能
增加图片备注功能
增加图片搜索功能
增加相册功能
增加图片标签功能
增加个人主页
增加相册详细页面
增加后台相册管理功能
作者: ostfotosx    时间: 2025-6-5 09:58
强烈推荐添加防盗链的功能
作者: wanglaoji    时间: 2025-6-5 10:34
开发好了,来一波收费,给咋们最初的永久赞助价格,只有收费才能长久的
作者: yibh    时间: 2025-6-5 11:23
看看怎么用
作者: 我是傻瓜    时间: 2025-6-5 20:44
Aerry 发表于 2025-6-3 08:34
啥意思? 我没看懂

图片鼠标滚动到底不会自动加载
作者: 小萝卜    时间: 2025-6-5 21:10
图床没有什么盈利模式,不如开发个专业的壁纸图片程序。
作者: Aerry    时间: 2025-6-6 01:10
我是傻瓜 发表于 2025-6-5 20:44
图片鼠标滚动到底不会自动加载

不会, 之前搞过,但是有bug, 所以改成点击加载了
作者: Aerry    时间: 2025-6-6 01:12
Stb 图床程序0.1.1版本更新说明

1. 新增滑动验证码后端验证
2. 修复上传图片报错文案问题
3. 修复无法获取到客户端IP问题
4. 修复第三方存储上传文件无法预览问题
作者: maiawpyg    时间: 2025-6-6 07:47
顶啊 现在技术贴不多了
作者: Wine    时间: 2025-6-6 08:36
Aerry 发表于 2025-5-19 09:14
图床是我随便写着玩的, 为啥突然想开发一个图床程序呢, 事情是这样, 我昨晚逛github的时候看到个叫简单图床 ...

太强了,一个晚上就写出来。
作者: TMD    时间: 2025-6-11 00:30
Aerry 发表于 2025-5-22 17:26
https://github.com/setube/stb/blob/main/docs/%E5%AE%89%E8%A3%85%E5%9B%BE%E5%BA%8A.md#docker

404 - page not found
作者: Aerry    时间: 2025-6-11 09:09
0.1.2版本更新说明

1. 图片管理增加图片方向调整
2. 水印设置添加水印是否平铺开关
3. 更改路由为懒路由, 优化路由代码
4. 站点设置新增侧边栏管理
5. AWS S3 改为S3兼容存储, 移除Cloudflare R2
6. 修复上传至Telegram漏Token问题
7. 修复后台无法删除已上传水印图片文件
8. 修复上传第三方存储失败后缩略图未删除问题
9. 修复在关闭图片压缩和格式转换的情况下依然会被压缩原图的问题
10. 修复在使用第三方存储的情况下依然会保留本地文件的问题
11. 修复复制图片链接需要点击两次才能成功复制的问题
作者: Aerry    时间: 2025-6-11 09:11
TMD 发表于 2025-6-11 00:30
404 - page not found

https://github.com/setube/stb/wiki/install
作者: Aerry    时间: 2025-6-14 09:17
本帖最后由 Aerry 于 2025-6-14 09:29 编辑

0.1.3版本更新说明

1. 新增北岸设置项
2. 新增公告管理功能
3. 新增角色组管理功能
4. 新增HTML代码设置项
5. 新增文件目录命名规则设置项
6. 移除无效工作流
7. 修复S3 兼容存储上传问题
8. 修复找回密码页面404问题
作者: 21922    时间: 2025-6-14 09:56
绑定 但是我只会用 php
作者: Aerry    时间: 2025-6-18 00:52
0.1.4 版本更新说明

优化部分UI细节
修复S3 兼容存储问题
修复图片名称乱码问题
水印配置项移动至角色组
角色组增加可用容量设置项




欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/) Powered by Discuz! X3.4