利用GitHub+repo-sync+jsDelivr+uPic搭建的免费图床

鉴于PicGo在我设备上一直出现”上传失败’’的情况,所以我将其换成了uPic,借此写下这篇随记

GitHub

首先创建一个公开项目,可以取任何名称

这是我的项目,欢迎参考

Git Sync

使用该功能是为了让github项目自动同步到coding或gitee,虽说现在有免费的jsDelivr起到cdn加速作用,但谁能保证这玩意不会哪天突然挂了:|

咱本着懒癌精神,打算用最自动化的方式来实现,于是咱摸索出偶然间发现了别人项目中的这一十分强大的功能–Action,具体玩法咱就不过多叙述了

此项目得益于github官方提供的Action服务,在Marketplace里可以搜索的到,使用起来也是非常的方便

项目地址: git sync

用法(参考官方wiki):

在本地项目中创建.github/workflows/xxx.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
on: push
jobs:
repo-sync:
runs-on: ubuntu-latest
steps:
- name: repo-sync
uses: wei/git-sync@v1
env:
SOURCE_REPO: "源仓库"
SOURCE_BRANCH: "源分支"
DESTINATION_REPO: "目标仓库"
DESTINATION_BRANCH: "目标分支"
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
with:
args: $SOURCE_REPO $SOURCE_BRANCH $DESTINATION_REPO $DESTINATION_BRANCH

由于项目所有人都能看见,为了确保其安全性,建议使用ssh连接项目,私钥储存在项目名称/settings/Secrets,公钥在此添加https://github.com/settings/keys

创建密钥对

已经创建了的可以跳过这步

若提示git@github.com: Permission denied (publickey)可以删除~/.ssh/id_rsa~/.ssh/id_rsa.pub后重新创建

ssh-keygen -t rsa -C "邮箱"创建密钥对,一路回车即可

ssh-agent bash

ssh-agent -s

ssh-add ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub将其复制并添加到https://github.com/settings/keys

别忘了gitee或coding也需要部署公钥

ssh -T git@github.com验证是否生效,若出现Hi,xxx!You've successfully authenticated即代表成功

cat ~/.ssh/id_rsa将所有内容全都复制并添加到项目/settings/Secrets,名称与git sync项目里变量名SSH_PRIVATE_KEY相同

uPic

upic仅支持MacOS,如果其他平台有这个需求,可以使用PicGo

从github下载GUI客户端https://github.com/gee1k/uPic

在偏好设置里添加github,并修改其相关配置

GitHub配置

用户名: zhboat

仓库名: cdn_pic

Token: github添加token

域名: 可以自定义,如使用cdn加速勾选加速访问即可

保存路径: 默认是upic/文件名.后缀名

Upic

评论