Cloudflare R2搭建免费图床, 并在piclist和typora中配置

0 阅读3分钟

经长期测试以及网上了解, 目前, Cloudflare r2搭建图床是兼具性价比以及稳定性的最优方式

Cloudflare R2存储桶

创建对象存储

登录cloudflare.com, 找到R2对象存储

img

点击右上角创建存储桶

img

  • 名称自定义**(后续要用)**
  • 位置建议选择亚太地区
  • 类型: 标准

自定义域名

默认生成的r2.dev域名有速率限制, 并且还很长, 推荐自定义域名, 提前将购买的域名托管到cloudflare

存储桶-设置里添加自定义域, 稍等片刻当状态变为活动时添加成功

img

生成API密钥

回到对象存储页面, 点击右下角Account Details里的Manage创建令牌, 点击创建Account API令牌, 权限选择对象读和写, 并指定刚刚创建的存储桶

img

记录下当前页面的密钥, 注意该页面只会出现这一次, 请在记事本中复制粘贴, 密钥对应关系如图所示

img

  • AccessKeyID对应访问密钥ID
  • SecretAccessKey对应机密访问密钥
  • endpoint对应终结点

至此, Cloudflare全部配置完成

PicList

PicList 是一款高效的云存储和图床平台管理工具, 相比于PicGo, 软件界面更美观, 在保留了所有功能的基础上, 更加好用

Piclist自带S3图床类型, 点击编辑

img

  • AccessKeyIdSecretAccessKeycloudflare生成密钥时已获取
  • Bucket是创建的存储桶的名字
  • 设定Region最好填auto
  • 自定义节点也就是endpoint, 也是在生成密钥时已获取
  • 自定义域名填入自己的域名

填写完后确认, 点击左侧菜单栏上传, 随便测试一张图, 提示上传成功即可

Typora

Typora可以直接安装picgo-core, 在菜单栏-文件-偏好设置-图像里, 由于我们使用的是Cloudflare R2, 默认安装的picgo-core不带此图床类型, 需要手动安装插件, 但typora里安装的picgo-core是打包好的二进制文件无法额外安装插件, 所以这里使用的是在win电脑上安装node和npm, 通过在npm全局安装picgo-core, 然后再安装s3插件

img

安装node.js, 在官网nodejs.org/en/download下载msi文件, 一键安装

修改npm全局安装路径到D盘:

npm config set prefix "D:\node_js\node_global"
npm config set cache "D:\node_js\node_cache"

添加环境变量D:\node_js\node_globalD:\node_js 并确保前者在后者上方

完成路径切换后, 全局更新npm:

npm install -g npm@latest

全局安装picgo-core:

npm install picgo -g

安装S3插件, 参考: github.com/wayjam/picg…, 具体步骤如下(最好是在cmd管理员模式下进行):

#安装s3插件
picgo add s3
​
#选择图床
picgo set uploader  # 选择aws-s3回车, 输入一个name, 后续弹出的所有选项先全部直接回车不填

img

C:\Users\用户名\.picgo文件夹下找到config.json文件, 依次填入accessKeyIDsecretAccessKeybucketNameuploadPathregionendpointoutputURLPattern

{
  "picBed": {
    "current": "aws-s3",
    "aws-s3": {
      "accessKeyID": "访问密钥ID",
      "secretAccessKey": "机密访问密钥",
      "bucketName": "存储桶名称",
      "uploadPath": "上传路径, 参考:{fileName}.{extName}",
      "region": "auto",
      "endpoint": "终结点",
      "proxy": null,
      "rejectUnauthorized": true,
      "acl": "public-read",
      "pathStyleAccess": false,
      "outputURLPattern": "https://自定义域名/{path}",
      "urlPrefix": "",
      "urlSuffix": "",
      "disableBucketPrefixToURL": false,
      "_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "_configName": "XXX",
      "_createdAt": XXXXXXXXXXXXXX,
      "_updatedAt": XXXXXXXXXXXXXX
    },
    "uploader": "aws-s3"
  },
  "picgoPlugins": {
    "picgo-plugin-s3": true
  },
  "uploader": {
    "aws-s3": {
      "configList": [
        {
          "accessKeyID": "访问密钥ID",
          "secretAccessKey": "机密访问密钥",
          "bucketName": "存储桶名称",
          "uploadPath": "上传路径, 参考:{fileName}.{extName}",
          "region": "auto",
          "endpoint": "终结点",
          "proxy": null,
          "rejectUnauthorized": true,
          "acl": "public-read",
          "pathStyleAccess": false,
          "outputURLPattern": "https://自定义域名/{path}",
          "urlPrefix": "",
          "urlSuffix": "",
          "disableBucketPrefixToURL": false,
          "_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
          "_configName": "XXX",
          "_createdAt": XXXXXXXXXXXXXX,
          "_updatedAt": XXXXXXXXXXXXXX
        }
      ],
      "defaultId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
  }
}

上下两部分都要填, 填两边

最后回到typora的偏好设置-图像里, 将上传服务选为Custom Command, 命令填入picgo upload

img

点击左边验证, 提示上传成功则大功告成