向开源致敬!!!

1、PicGo简介

项目地址:https://github.com/Molunerfinn/PicGo

作者对于PicGo的简介:一个用于快速上传图片并获取图片 URL 链接的工具

支持的储存厂家:【下表为默认,且作者不再打算支持新的厂家,不过支持安装插件】

厂商 最低版本
七牛云 云储存 (S3类型) v1.0
腾讯云 COS v4/v5 (S3类型) v1.1 / v1.5.0
阿里云 OSS (S3类型) v1.6.0
又拍云 云储存 (S3类型) v1.2.0
GitHub 仓库 (类似代码提交) v1.5.0
SM.MS V2 (没用过) v2.3.0-beta.0
Imgur (没用过) v1.6.0

2、PicGo安装

直接点击此处进入releases界面选择合适的版本以及合适的系统安装包进行下载安装即可。

3、插件安装

因为默认不支持AWS S3(含各厂家衍生版)的储存接入而我这里想接入Oracle Cloud的对象储存,所以就需要去找一个可以接入基于S3通用类型的插件。

⚠️ Oracle Cloud的对象储存是S3 Signature V4类型

直接在软件的插件设置界面搜索 s3

名称为s3的这个插件即可以对接Oracle Cloud,我们直接点击安装即可。

4、插件设置

安装完成后图床设置下拉菜单会显示Amazon S3的子菜单【如果没有则进入PicGo设置开启显示】

  • S3应用密钥:

    1、在Oracle Cloud控制台如图所示找到用户设置

    2、客户密钥-访问密钥 即为这里的应用密钥ID【如果之前没有创建过,就先看下一步生成密钥,然后在过来复制访问密钥】

  • 应用密钥:

    在上一步客户密钥那里点击生成密钥,随便输入一个名字然后生成即可,注意这里的密钥只显示一次,请妥善保存,如果丢失就只能删除后重新创建一个。【这里的密钥和上面的访问密钥要是同一条记录】

  • 桶名称和权限这俩比较简单,都是创建储存桶时定义的,这里重点介绍一下自定义节点的这个URL是如何获取的:

    1、首先我们在控制台进入到储存桶界面,然后随便上传一个小文件。

    这里查看对象详细信息里面有个URL路径,比如我这个是https://objectstorage.us-phoenix-1.oraclecloud.com/n/axhsnkdv56py/b/bucket-oss/o/111.pdf 我们取链接的 objectstorage.us-phoenix-1.oraclecloud.com 域名这一部分【同一个区域下这个域名是相同的】然后再这个域名前面拼上自己的桶名称空间和compat 格式应该是这样的 桶名称空间.compat.objectstorage.us-phoenix-1.oraclecloud.com 这里的桶名称空间在储存桶信息里面可以找到。

    那么我这个最终拼出来的自定义节点就是 https://axhsxxxx56py.compat.objectstorage.us-phoenix-1.oraclecloud.com

  • 自定义域名:

    1、首先获取到我们要301或302的目标链接

    依旧是随便打开一个文件的对象相信信息找到URL路径,我这边是https://objectstorage.us-phoenix-1.oraclecloud.com/n/axhsnkdv56py/b/bucket-oss/o/111.pdf

    我们需要用301或302的方式去实现自定义域名访问文件,那么肯定是要把我们的子域名比如s3.eber.vip 替代掉文件名之前的链接,也就是https://objectstorage.us-phoenix-1.oraclecloud.com/n/axhsnkdv56py/b/bucket-oss/o

    2、有了链接,那么直接拼上请求的文件名即可,所以我们可以使用nginx去配置301或者302的跳转

    首先我们要把s3.eber.vip解析到我们nginx所在的服务器IP上,然后在nginx中创建一个s3.eber.vip.conf配置文件【主配置文件需要引入该文件,否则不生效】。

    我的配置文件如下:

    server {
    listen 80;
    listen [::]:80;
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_certificate /usr/local/nginx/conf/ssl/s3.eber.vip.crt;
    ssl_certificate_key /usr/local/nginx/conf/ssl/s3.eber.vip.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_timeout 10m;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_buffer_size 1400;
    add_header Strict-Transport-Security max-age=15768000;
    ssl_stapling on;
    ssl_stapling_verify on;
    server_name s3.eber.vip;
    access_log /data/wwwlogs/s3.eber.vip_nginx.log combined;
    index index.html index.htm index.php;
    root /data/wwwroot/s3.eber.vip;
    if ($ssl_protocol = "") { return 301 https://$host$request_uri; }

    location / {
    return 302 https://objectstorage.us-phoenix-1.oraclecloud.com/n/axhsnkdv56py/b/bucket-oss/o$request_uri; # 我这里不想让地址栏变成oracle的一大串链接,所以使用的是302重定向。
    }
    }

OK!配置相关的教程已经结束,如需要使用教程则直接访问 PicGo官方文档 进行查询。