
cloudflare搭配BackBlaze零成本自建图床,最强白嫖攻略
首先注册BackBlaze
BackBlaze在云存储领域属于S3平替,免费用户可以使用10G,最关键的是从CF下载不占流量,使用信箱即可注册,无需付款。
BackBlaze免费账户默认存储是私有的,公开访问需要钞票。cloudflare大善人就派上用场了,我们通过worker来让它变成公开访问,CF大善人咋们就不用多介绍了,不知道的可以自己谷歌或者百度。
在注册BackBlaze之后,在页面创建一个Bucket。后续所有图片都会保存在这个bucket里面(图片1)。
随便上传一个图片文件,点开图片文件之后找到S3 URL这些信息记下来。后面需要用到(图片2)。
在cloudflare里创建一个worker,Start from a template点右边的Hello world,然后deploy(图片3)
部署cloudflare
在cloudflare里创建一个worker,Start from a template点右边的Hello world,然后deploy
在下个页面点Edit code,把代码贴进去,点选Deploy
回到Worker页面,在Settings -> Variables and Secrets里添加这些配置
DOWNLOAD_URL 图床地址,比如
https://myhost.xyz
UPLOAD_URL 图床上传API地址,比如https://myhost.xyz/upload
S3_ACCESS_KEY_ID BackBlaze的Key ID
S3_SECRET_ACCESS_KEY BackBlaze的Access key
S3_BASE_URL 之前保存下来S3 URL的base URL,去除bucket部分,比如https://s3.us-west-004.backblazeb2.com
S3_BUCKET 你创建的bucket名字
S3_REGION 在S3 base URL里面可以找到,比如us-west-004
设置你的域名的worker route,配置
myhost.xyz/*
使用worker,图床API就搞定了
上传页面
下载压缩包file.zip,解压后把里面的文件上传到bucket里就好
你可以通过 https://myhost.xyz/_3uWr_VmKwkCzVPgWBzed6xE3WDWZdrvGNLo6Xv9bpk/index.html 访问上传页面(把myhost换成你的域名)
当你有了初始的上传页面之后,就可以上传新的上传页面了(详见FAQ)
域名设置
重要‼️在你的域名设置里面,A record或者cname可以随便设,但反向代理(小黄云)一定要打开
FAQ
Q: 上传链接里的_3uWr_VmKwkCzVPgWBzed6xE3WDWZdrvGNLo6Xv9bpk
太长了我记不住怎么办?
A: 你可以把链接放收藏夹里。或者可以配置一个page rule来重写
Q: 怎么上传成webp?
A: 你可以把图片先转换成webp再上传。
Q: 图床能不能设置成只有自己可以上传?
A: 人还是要有点共享精神的。虽然但是,本系统支持通过混淆来实现安全,方法就是套娃。
当你有了最初始的上传页面,首先在上传页面源码(压缩包里的_3uWr_VmKwkCzVPgWBzed6xE3WDWZdrvGNLo6Xv9bpk)中找到url.pathname = 'upload';
, 把upload
改成你的小秘密,比如upload123456
,再把文件名改成index.html,通过上传页面重新上传,你就有了新的上传链接了。
接下来去cf worker里面把UPLOAD_URL改成小秘密,比如https://myhost.xyz/upload123456
最后去backblaze把原始页面删掉,你就有了一个看起来很安全的系统了。
最后
感谢NS上大佬“云上拾荒者”的分享: