首页 > 其他分享 >cf+b2搭建图床

cf+b2搭建图床

时间:2023-01-28 23:24:00浏览次数:56  
标签:wrangler b2 worker bucket cf 图床 B2

cf+b2搭建图床

说明

cloudflare+b2搭建图床算是比较经典的一种白嫖图床的方式了,另一种是github+jsdelivr,不过由于jsdelivr被墙了,导致我之前博客的图基本都挂了,急忙更换cdn。因此最近在鼓捣标题的方法,看了一圈大佬们的方法,核心操作都是b2上建一个公开的bucket,然后用cf反代+隐藏bucket名。我实在太菜了,第二步搞了一晚上..

这种方法的傻瓜式教学为参考链接

经过github一番搜索,找到了第二种更官方,个人认为更好的方法,简单总结为b2上建一个私有的bucket + app令牌 + 官方cf worker。

准备

  1. 一个b2私有bucket
  2. cf账号和域名
  3. nodejs+npm

配置wrangler

wrangler是cf官方的,用于在命令行配置worker等的工具,官方原话为

Wrangler is a command-line tool for building with Cloudflare developer products.

一开始我打算用ssh远程服务器登录wrangler,但新版wrangler改了token登陆的方式,按照新的方式一直登不上去,必须要打开本地浏览器,ssh哪来的浏览器..

因此只得在本地windows电脑上安装。首先安装nodejs和npm,此处略过

然后输入

npm i -g wrangler

登录cf

wrangler login

Untitled

按照提示打开链接,登录cf

然后下载官方的仓库https://github.com/backblaze-b2-samples/cloudflare-b2

命令行进入对应的目录,修改wrangler.toml

#这里填worker名
name = "b2"

workers_dev = true
compatibility_date = "2022-11-18"

main = "index.js"

# Don't put your application key in this file!
# You should set it as a secret in the Cloudflare dashboard or at the command line:
# echo "<your b2 application key>" | wrangler secret put B2_APPLICATION_KEY
[vars]
B2_APPLICATION_KEY_ID = "申请的app keyID"
B2_ENDPOINT = "s3.us-west-000.backblazeb2.com"
# Set BUCKET_NAME to:
#   "A Backblaze B2 bucket name" - direct all requests to the specified bucket
#   "$path" - use the initial segment in the incoming URL path as the bucket name
#           e.g. https://images.example.com/bucket-name/path/to/object.png
#   "$host" - use the initial subdomain in the hostname as the bucket name
#           e.g. https://bucket-name.images.example.com/path/to/object.png
BUCKET_NAME = "你的bucket名"
# Backblaze B2 buckets with public-read visibility do not allow anonymous clients
# to list the bucket’s objects. You can allow or deny this functionality in the
# Worker via ALLOW_LIST_BUCKET
ALLOW_LIST_BUCKET = "true"

#此处新增
B2_APPLICATION_KEY = "申请的app secret key"

注意官方建议在cf的网页面板添加B2_APPLICATION_KEY,但实测会出现以下错误

Untitled

因此直接在wrangler.toml中添加

然后运行

部署

wrangler publish

如果碰到报错

Untitled

则装一下这个库

npm i aws4fetch

成功后输入如下

Untitled

不知道为啥提示502,但确实能跑

登录cf面板,可以看到新的worker,然后点进去会看到刚才填的信息

Untitled

测试

等一两分钟(马上打开会看到报错界面,需要等一下),打开worker,看到如下xml,实际就是bucket的目录结构

Untitled

打开b2私有库的一张图,如下

Untitled

将框中的部分改成worker的url,如https://b2.xxx.workers.dev/wallpaper.png

打开后能正常显示即可

Untitled

其他

  1. 此worker还有其他的功能,比如列举目录,替换url之类的,可以看官方文档,本文不在深入探讨

  2. 管理b2可以直接用alist,对b2加密,仅限管理员增删改查

  3. 最后附上方法1和方法2对于私有库的访问结果

    Untitled

    Untitled

参考

Backblaze(B2)套CloudFlare可用于静态文件存储 (qq.com)

使用PicGo+CF(Cloudflare)+B2(Backblaze)作为博客图床 | 冬多鲁玛杂货铺 (ostdb.info)

b2 + cf worker官方文档

标签:wrangler,b2,worker,bucket,cf,图床,B2
From: https://www.cnblogs.com/pdysb/p/17071495.html

相关文章

  • A. Berzerk(cf786A) (水)
    A.Berzerk(cf786A)tag:记忆化搜索博弈题目链接题意:有n个星球,编号从0到n-1围成一个圈,某颗星球上有只怪兽Rick和Morty轮流操作,他们各有一个集合,每轮可以从自己的集合中......
  • D. Bear and Company (cf771D)
    D.BearandCompany(cf771D)tag:dp题目链接题意:给你一串长度为n的字符串,(2<=n<=75),字母全为大写字母,你可以通过一次操作交换任意一对相邻字母。字符串合法当且仅当......
  • GitHub2021年度报告:中国开发者数量全球第2,最受欢迎的语言?
    临近年底,各大平台年终报告频频发布。作为程序员,应该关注些什么呢?近日,全球最大开发者社区GitHub重磅发布了《2021年度Octoverse报告》,本报告首次结合了来自GitHub上,超过40......
  • 发布并部署NCF站点的那些事
    简介开工第一天,祝大家2023年钱兔无量,技术兔飞猛进为更加方便大家一站式打通所有使用NCF的环节,在新年开工的第一天给大家带来如何发布最新版本的站点无论你的网站在开发......
  • CF 1790E. Vlad and a Pair of Numbers_Codeforces Round #847 (Div. 3)
    给出整数x,求一对整数(a,b),满足:\(a\bigoplusb=x\),\(\frac{a+b}{2}=x\)(\(\frac{a+b}{2}\)不四舍五入,也就是\(2\mida+b\))如果不存在这样的(a,b)输出-1分析:如果x的最......
  • # CF#847 (Div. 3)ABCDE题解
    CodeforcesRound#847(DFiv.3)APolycarpandtheDayofPiProblem-A-Codeforces题目描述OnMarch14,thedayofthenumber$\pi$iscelebratedallov......
  • 【五期邵润东】CCF-A(AAAI'21)Distillation-Based Semi-Supervised Federated Learnin
    Gong,Xuan,etal."Preservingprivacyinfederatedlearningwithensemblecross-domainknowledgedistillation."ProceedingsoftheAAAIConferenceonArtific......
  • 【五期邵润东】CCF-A(TVCG'21)HetVis: A Visual Analysis Approach for Identifying D
    Wang,Xumeng,etal."HetVis:AVisualAnalysisApproachforIdentifyingDataHeterogeneityinHorizontalFederatedLearning."IEEETransactionsonVisualizat......
  • CFglobal21
    1#include<bits/stdc++.h>2usingnamespacestd;34typedeflonglongll;5constllN=1e6+3,H=1e9+7;6lln,a[N],jc[N],ij[N],iv[N];7voidPre()8......
  • CF1237H Balanced Reversals
    H-BalancedReversals首先可以将相邻的两个点分到一个组中特判无解的情况:00的数量不相等或11的数量不相等若10的数量相等(此时01的数量也相等,因为知道10的数量后......