1. 工作原理
  2. 上传说明
  3. 客户端上传
  4. WordPress插件
  5. Chrome插件
  6. 数据统计
  7. 上传接口
  8. 跳转接口
  9. 一键安装

工作原理

使用免费图床,总是担心万一哪天图床服务挂了,或者因为种种原因被其删除,那之前的图片可能都失效了,再找回来也很困难。而自建图床在管理,迁移时有诸多不便,而且无法利用图床的全球CDN加速。于是我们就想,能不能有这样一个聚合图床,将图片分发到多处备份,借助其本身的CDN加速功能,节省服务器流量,并且不用担心图片被删除,即便其中某几个图床上的图片被删除了,还有其他备份,保证万无一失。

本图床的工作原理可以简要使用下面两张图来表示,上传时一张图片会分发至多个图床,同时图片会保存在本站服务器上。

使用时会依次检查链接有效性,返回有效链接。检查顺序您可以在用户中心设置,默认是速度优先(图片有损压缩),您可以改为质量优先(原图存储)。如果极端情况下链接全部失效,会返回本站存储的备份图片,同时后台会再次上传到新的图床,替换失效链接。另外后台服务会定期检查所有链接的有效性,及时删除失效链接并补充新的有效链接。

如果你对本图床有任何意见或建议,欢迎加入QQ群(832528124)交流:聚合图床交流

上传说明

每次最多同时上传5张图片,本站已开启色情检测,一旦发现上传色情图片达到5次会封禁您的IP,所以请不要做无谓的尝试。

您可以在首页点击上传图标进行上传,或者将图片拖到首页上传,或者拷贝图片URL或者图片内容,比如您的截图等,然后在首页按Ctrl+V粘贴即可上传。

本图床无需注册即可使用,但是为了保留您的上传列表,强烈建议您注册后使用。

注册后,您可以在用户中心配置您的七牛/腾讯云/又拍云/阿里云/AWS/cloudinary的认证信息,将图片上传到您自己的对象存储空间里。

使用对象存储时,会按照日期将图片存储在您配置的存储桶内类似superbed/2018/10/01这样组织的文件夹下。

客户端上传

本站可以使用ShareX或PicGo等客户端进行上传,上传教程如下。

下载最新版ShareX并安装,设置目的地->图像上传->自定义图像上传,再选择目的地->Custom uploader settings,先复制下方的json,将token替换成您自己的token,然后选择导入->从剪切板

{
  "Name": "superbed",
  "DestinationType": "ImageUploader",
  "RequestType": "POST",
  "RequestURL": "https://www.superbed.cn/upload",
  "FileFormName": "file",
  "Arguments": {
    "token": "这里填您自己的token",
    "v": "2",
    "file": "$input$"
  },
  "ResponseType": "Text",
  "URL": "$json:url$"
}

下载最新版PicGo并安装,然后在插件设置中搜索web-uploader并安装,然后在图床设置->自定义Web图床中按照如下方式填写。

url: https://www.superbed.cn/upload
paramName: file
jsonPath: url
customBody: {"v": "2", "token":"这里填您自己的token"}

设置完之后选择自定义Web图床为默认图床即可。

WordPress插件

下载WordPress插件,然后在WordPress后台的插件->安装插件->上传插件中,上传插件并启用,然后在插件->聚合图床设置中填入您的token并保存。

然后在文章编辑页面最下方,选择或拖动图片上传按钮上传图片并将其插入到文章正文中。

Chrome插件

下载Chrome插件,然后点击右上角设置->更多工具->扩展程序,在右上角启用开发者模式,将下载好的文件解压,然后选择左上角的加载已解压的扩展程序。

安装完成后点击扩展栏上的图标,填入您的token保存即可。

可点击左侧或者将一张或多种图片拖入上传,或者复制图片内容,然后粘贴到图片链接那一栏,或者在网页图片上点击右键,选择上传到聚合图床。

数据统计

示例网站:遇见你 - 知乎豆瓣交友平台

Upload接口

Method Endpoint Params Returns
POST https://api.superbed.cn/upload token: (必选) 授权token 返回json字符串,同步模式下直接返回图床链接,异步模式下返回本站链接
urls字段为一个字典,key为id,值为图床链接或本站链接。
sync: (可选值: 0,1, 默认为0, 异步上传) 是否同步上传(推荐异步上传)
endpoints: (可选, 逗号分隔符) 所需上传图床,可选公共图床: alicdn,sohu,qq,对象存储: qiniu,qcloud,upyun,aliyun,aws,cloudinary,需要您在用户中心配置了该对象存储的access_token等认证信息。
categories: (可选, 逗号分隔符) 指定相册,多个相册使用英文逗号分隔。
src: (可选) 通过url上传
file: (可选) 通过表单文件上传, src或file必选其一
v: (可选) 可选值1、2,版本号,返回结果格式不一样

Item接口

每张图片上传后都会获取分配一个唯一id,item接口用于根据该id重定向到其中一个图床地址。

比如某张图片上传到了5个图床,分配的id为5b7153f79dc6d696149d96cb,默认请求/item/5b7153f79dc6d696149d96cb会重定向到第一个图床的地址。

Method Endpoint Params Returns
GET https://pic.superbed.cn/item/(id) w: (可选) 缩放至指定宽度 重定向到对应的图片地址
当指定w或h时,会按照原图宽高比缩放到指定宽高
同时将其分发至和原图一样的图床地址,下次访问时会跳转至新的图片地址(VIP可用)
h: (可选) 缩放至指定高度

一键安装

只需要提供一个env.sh用于配置环境变量即可,其内容如下:

ADDRESS=                       # (必须)网站的地址
TOKEN=                         # (必须)您的token
NAME=聚合图床                   # 图床名称
ROLE=master                    # 如果是部署版,默认为master,如果是转发版,此值为forward
ENDPOINTS=alicdn,sohu,qq       # 默认上传的图床,用逗号分隔
RETRIES=3                      # 上传失败重试次数
WORKERS=10                     # 后端异步上传工作协程数
ADMIN_USER=admin               # 创建的管理员的账号
ADMIN_PWD=admin                # 管理员密码
ADMIN_EMAIL=                   # 管理员的邮箱,默认为该token在聚合图床上对应的账号邮箱
DETECT=false                   # 是否开启色情检测,如果为true,需要提供Baidu Token
BAIDU_TOKEN=                   # 在http://ai.baidu.com注册得到的Access Key/Secret
REGISTER=false                 # 是否需要注册才能上传,如果为true,需要提供以下信息
EMAIL_SENDER=                  # 用户注册时,用来发送注册验证码的邮箱
EMAIL_SMTP=                    # 邮箱SMTP地址
EMAIL_USER=                    # 邮箱smtp用户名
EMAIL_PWD=                     # 邮箱smtp密码

其中,只有ADDRESS和TOKEN是必须提供的,其他都可以使用默认值。

当您准备好env.sh之后,即可使用下面的一键安装脚本进行安装。

wget https://www.superbed.cn/static/install.sh
chmod +x install.sh
./install.sh

如果你需要配置https,请使用CDN配置。

部署转发版之后,只需在用户中心-自定义跳转链接中填上您的域名即可。

如果您网站流量比较大,可以在多个机器上部署转发版,然后在CDN中配置多个源站地址。若您不使用CDN,也可以使用不同的前缀,如https://pic1.superbed.cn, https://pic2.superbed.cn, https://pic3.superbed.cn等,然后分别在不同的机器上部署(每个机器使用一个域名),然后在用户中心-自定义跳转链接中填写多个地址,填写规则如下:

https://pic1.superbed.cn#5,https://pic2.superbed.cn#1,https://pic3.superbed.cn#2

其中#后面的数字为不同服务器的带宽,如pic1这台服务器为5Mbps,pic2这台服务器为1Mbps,pic3这台服务器为2Mbps,后台将会根据不同的带宽,在上传时按照比例来返回跳转链接,当然同一个图片id,使用任一跳转链接都是可以访问的。