logo NodeSeekbeta

用Golang + React 写了一个图床,无需登录,允许删除,支持token,支持API,分布式数据库

先放网址

https://111666.best/

闪光点

用了两个周末写了这个图床,自认为有很多可圈可点的地方 ac13

无需登录

首先,图床是不用登录的,这在你需要临时传图的时候很方便

允许删除且同步删除CDN缓存

  • 很多图床是不登录就不能删图,万一误传了很麻烦,但我们可以在不登陆的情况下删除图片,因为本地记录了你的凭据(token)
  • 有些图床删除了图片还能访问,是因为没有清除图片在CDN的缓存,我们的删除会同步清理对应的缓存记录
  • token在首次打开网页会储存到浏览器本地数据库,也支持你自己定制token的字符串值

所有图片默认CDN云端缓存

所以即使网址遭受攻击,图片仍然可以从CDN缓存拉取

简练的API

图床上有介绍API调用方式,方便开发者调用
并且图床有对NodeSeek开启CORS跨站权限

分布式数据库,皮实耐用

使用rqlite做分布式数据库,理论上即使图床所在某个机房被毁灭数据都在其他地方有实时备份

图片URL设计

  • 图片URL为随机产生,不含有时间信息,对隐私保护有一定的效果
  • 图片URL有签名校验位,能够减缓随机url ddos攻击产生额外数据库查询压力

支持复制为markdown/bbcode/直链

点击就能复制,方便发帖使用

Golang的运行效率高

再编一个优点出来,go的运行效率的确比大部分语言都高,某种意义上抗ddos能力高一些?

技术栈

  • Golang
  • Rqlite
  • React

另外界面的一些元素借鉴了之前在论坛看到的某位兄弟的设计,一时找不到原帖子了

加载速度测试

image

bug反馈

可能有bug,欢迎各位反馈

另外本图床计划长期维护,不会随便跑路

  • @qfdk #34

    我们的项目包括:

    • golang主程序
    • rqlite分布式数据库
    • cloudflare api,用于清理缓存
    • cloudflare waf,针对程序做进一步的配合,增强ddos抵抗
    • oss冷备,b2/r2,这个只做冷备,不做热数据
    • 数据库定时snapshot
    • 图片文件每月离线备份

    最开始的时候在犹豫,因为开源不是每个人都能完整部署起来我们的服务,我们必须做到可以剪裁组件数量,允许大家因为技术实力不够而部署阉割版

    现在我一点也不想开源了,goedge都能喝茶,我感觉自建图床的风险反而更大,内容管理软件更容易滥用,尤其这种抗ddos的设计的图床,可能深受某些群体喜欢

  • 帮顶

  • 支持老哥,练手的作品吧,还不错

  • @orangewood #2

    兄弟怎么看出来的,虽然确实是练手golang的,但是设计上花了心思,应该不容易看出是练手作品的啊

  • 图床源放哪?

  • @awinds #4
    telegra.ph或者r2
    不过放哪不是特别重要,反正CDN缓存是一年期的,基本等于CDN到自己的速度

  • 可以的

  • 好东西

  • 期待作者开源
    希望支持S3储存

  • @rocket #5 cdn虽然你设置为一年但实际不会缓存那么久,可能就几天

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72033位seeker

🎉欢迎新用户🎉