PicGo插件配置方法.md

安装 picgo-plugin-s3 插件

本机上确保已经安装node.js,没安装的话点击https://nodejs.org/en网址进行下载安装。

下载picgo进行安装。https://github.com/Molunerfinn/PicGo/releases

下载picgo插件s3,https://github.com/wayjam/picgo-plugin-s3/releases 这里可能会遇到插件装不上的情况,要么是点安装过了一会没反应,要么是加载错误 一般这种情况都是NPM模块安装有问题 。

解决方法: 切换到app的picgo目录 一般C:\Users\Administrator\AppData\Roaming\picgo目录;

切换目录 cd C:\Users\administrater\AppData\Roaming\picgo

设置NPM源为国内源 :在命令行输入:
npm config set registry https://registry.npm.taobao.org
验证命令,返回 https://registry.npm.taobao.org,说明镜像配置成功。
npm config get registry
如果上面设置的国内源下载不成功,也可以切换为:华为云镜像源
npm config set registry https://mirrors.huaweicloud.com/repository/npm/

切换到app的picgo目录并安装模块
npm install picgo-plugin-s3
image-20250415155706249

安装成功以后重启picgo即可。

Backblaze B2数据备份

为了防止一些不可预料的事故发生,比如服务器被删除,产品到期,欠费导致数据无法使用或者丢失,最好做好备份以方便重新搭配

手动备份 在backblaze里面选择要备份的桶,点击Make Full Bucket Snapshot创建一个快照 在Snapshots中就可以看到已创建的快照,等待快照准备完成就可以下载了

自动备份 自动备份就是通过keyid和秘钥来定时下载内容,找一个同步软件,比如群辉或者goodsync等,按照webdav的方式同步即可。 要注意自动同步会消耗流量。

cloudflare R2图床设置

开通 CloudFlare R2 点击右侧的R2对象储存。
image-20250415161025840
在弹出的界面输入付款方式(信用卡,paypal都可以)。
image-20250415161439190如果没有信用卡的话最好是选用paypal ,用邮箱注册一个paypal账号关联上普通的银联银行卡就可以用了。

创建储存桶及桶设置

img

需要填写的信息:

  1. 桶的名称
  2. 桶所放在位置(不知道的就选自动)
  3. 储存类型(标准)

img

自定义图床域名

进入桶设置界面

img

设定访问桶的域名,有两种方法,一种是有一个私有域名(需托管在Cloudflare上),另一个是用R2.dev子域名

私有域名(二选一)

img

img

继续之后,点连接域,会自动生成dns记录。

img

之后就能浏览器 https://<自定义域名>/<文件名>访问存储桶里的文件了。

PS:如果域名不托管在CloudFlare,可以单独托管二级\三级域名,只需要给二级域名添加一条NS记录指向原托管即可。

R2.dev子域名(二选一)

img

点击允许访问,就可以用 https://pub-853c2f66b8ef43ae98ecd186f4be34f8.r2.dev访问桶

设定缓存规则

缓存规则一般设定两个:浏览器缓存和边缘缓存。
浏览器缓存:访问后,所需文件储存在浏览器的本地目录,在一段时间内,再次访问优先访问本地文件
边缘缓存:访问后,缓存在最近的CDN存一份,在一段时间内,优先访问CDN中的文件

进入域名页面->规则->页面规则

img

创建页面规则

img

URL 填 img.a.com/*
添加设置:缓存级别 – 缓存所有内容
添加设置:浏览器缓存 TTL – 几个小时自己选(8小时)
添加设置:边缘缓存 TTL – 一个月(图片内容只有存在或者删除两个状态,所以越长越好)
保存。此时如果有人刷流量,理论上图片都是本地缓存或者CDN缓存给的,不会走到R2对象存储。

img

防盗链设置

只能通过指定的网站来访问(防君子不防小人,可以伪造refer信息,照样刷流量)。
但是还是有点作用,比如别人爬取文章盗用的时候,图片是无法访问的。

安全性->WAF,创建规则

img

img

img

设置 CORS 策略(可选)

一般不需要设置(出于安全考虑这里也不建议设置)。如果遇到 R2 作为博客图床,但是图片打不开的情况,F12 控制台发现遇到 CORS 问题,则需要配置。

官方文档:Configure CORS

进入你想设置 CORS 的存储桶的设置,拉到下面:

img

配置为允许特定源
比如要设置为允许两个域名:

[
{
"AllowedOrigins": [
"https://blog.a.com",
"https://blog.b.top"
],
"AllowedMethods": [
"GET"
]
}
]

配置为所有网站源可访问(多平台文章引用)

[
{
"AllowedOrigins": [
"*"
],
"AllowedMethods": [
"GET"
]
}
]

配置为允许所有源
如果上面配置为特定源后仍然不能修复问题,或者作为随机图片 API 的图床提供服务需要设置为所有源可访问,那么需要如下设置:

[
{
"AllowedOrigins": [
"*"
],
"AllowedMethods": [
"GET",
"POST",
"PUT",
"DELETE",
"HEAD"
],
"AllowedHeaders": [
"*"
]
}
]

WEB API设置

有的api令牌就可以用软件(PICGO)自动上传图片了。

创建令牌

img

img

需要选择内容
令牌名
权限(对象读和写)
指定储存桶
TTL时间(永久)

img

记住生成的密钥,picgo软件里面设置需要。

img

picgo设置

在插件设置中,添加常用插件。
S3插件:用来登录S3的图床
compress-next:用来压缩图片至webp。
watermark:给图片打水印
autoback:用来备份图床

img

img

安装好后,里面就新增了amazon S3的图床设置。

img

image-20250417094723043

这里有几项配置需要尤其注意。

  • 应用密钥 ID,填写 R2 API 中的 Access Key ID(访问密钥 ID)
  • 应用密钥,填写 R2 API 中的Secret Access Key(机密访问密钥)
  • 桶名,填写 R2 中创建的 Bucket 名称,如创建R2的桶的名字 img
  • 文件路径,上传到 R2 中的文件路径,这里选择使用 {fileName}.{extName} (或者{fullName})来保留原文件的文件名和扩展名。{year}/{month}/{fullName}
  • 自定义节点,填写 R2 API 中的「为 S3 客户端使用管辖权地特定的终结点」,即 xxx.r2.cloudflarestorage.com格式的 S3 Endpoint
  • 设置输出图片URL前,填写上文生成的https://xxx.r2.dev格式的域名或自定义域名,如我配置的https://img.a.com
  • ForcePathStyle:no关闭,否则会在最终路径里面显示有桶名。
  • 拒绝无效TLS证书连接 :yes开启,如果出现证书错误可以关闭
  • ACL访问控制列表:public-read
  • Bucket前缀:false
  • 地区填写:可以填 **us-east-1 **,也可以不填

文件路径实际上也包含重命名规则,可按如下格式填写

payload 描述
{year} 当前日期 - 年
{month} 当前日期 - 月
{day} 当前日期 - 日
{fullName} 完整文件名(含扩展名)
{fileName} 文件名(不含扩展名)
{extName} 扩展名(不含.
{md5} 图片 MD5 计算值
{sha1} 图片 SHA1 计算值
{sha256} 图片 SHA256 计算值

完成上述配置后,我们就可以在「上传区」直接拖入文件进行图片上传了,如上传后显示无误则为配置成功,生成的链接会自动在系统剪贴板中,直接在需要的地方粘贴即可。

PS:
1.picgo还可以自定义连接格式(Picgo→自定义链接格式)![$fileName]($url),之后上传链接界面选custom即可

img

img

2.安装picgo的vscode插件-markdown transfer img,可以批量替换md中图片至云端。

3.使用piclist来平替picgo,piclist功能更多

picgo安装图片压缩插件

色彩笔(picgo-plugin-compression) 是一个免费的在线图片压缩小工具,可以非常方便得将 PNG/GIF/JPG/JPEG 图片大小优化到极限,为设备访问节约数据流量,提高访问速度

插件特点:

  • 支持 JPG/JPEG/GIF/PNG
  • 支持多图片批量上传
  • 在图片体积大大减小后, 仍能让清晰度保持和原版一样
  • 图片在线处理,本地无需安装任何额外软件
  • 该压缩插件完全依赖于色彩笔在线网站,因此插件的稳定性也完全依赖于网站的稳定性,并且使用此插件后不可避免地会消耗额外的时间来处理图片

环境搭建

  • PicGo直接在插件设置中搜索 compression 下载安装
  • 点击右下角设置,选择配置Plugin
    image-20250415185823635
  • 容许质量下降:若您能够接受图片质量的轻微下降,可将该属性设置为 true 来获得更大压缩比
    图片质量:取值范围 5 ~ 100(默认为 0)。数字越大,图像质量越好, 但相应能压缩的文件体积也较少(若您不确定具体的数值,请将其设置为 0,我们将根据具体情况帮您决定)

picgo安装水印插件

1、面板安装;在插件设置中搜索 watermark 。好了,一下出来了2个。
image-20250417090126584

那么我们到底应该装哪个呢?我们先点击两个插件的标题,会自动跳转到插件的主页。他们的地址分别是: https://github.com/terwer/picgo-plugin-watermark-elechttps://github.com/fhyoga/picgo-plugin-watermark

经过对比,我们可以看到 picgo-plugin-watermark-elec 是从 picgo-plugin-watermark fork 过来的。原始的 picgo-plugin-watermark 已经有 3 年没有更新了。基于:最新的就是最好的这一基本原则。我们就选择 picgo-plugin-watermark-elec 来使用吧。但是我这个picgo版本经过反复测试,不能安装elec版本,同样的设置,就它上传图片不成功,原因不会找。

我个人用的是watermark 1.2.1的老版本。先在c盘下新建一个文件夹fonts,将字体文件放入其中备用。然后设置watermark。如下图:
image-20250417091137524

注意事项

  • 字体文件路径。 要使用全路径名C:\fonts\毛泽东字体.ttf 原软件默认只支持英文水印,中文支持需要自行导入中文字体文件。

  • 水印文字.:可以自己随便写,中英都可以 @浩跃霖希

  • 水印文字的颜色,支持 rgb 和 hex 格式。rgb(178,178,178)、#b2b2b2

  • 字体大小,默认 14px

  • 水印图片路径。也是使用全路径,我这里没有设置,优先级大于

  • 文字 位置,默认rb

    export enum PositionType {
    lt = "left-top",
    ct = "center-top",
    rt = "right-top",
    lm = "left-middle",
    cm = "center-middle",
    rm = "right-middle",
    lb = "left-bottom",
    cb = "center-bottom",
    rb = "right-bottom"
    }
  • 原图最小尺寸,小于这一尺寸不添加水印。200*200。高度或宽度任何一个小于限制,都会触发。

2、命令安装:

cd C:\Users\你的电脑用户名\AppData\Roaming\picgo
npm install picgo-plugin-watermark