2023.8.106 • Published 2 years ago

w2r v2023.8.106

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

npm_image_url

利用npm和github action搭建一个简易图床

友情提示:

不要fork仓库,容易泄露隐私,自己下载代码,新建仓库并上传代码

简介

手动上传文件到github后,自动触发action上传图片到npm,并将图片链接推送到telegram,同时利用telegram备份图片 效果图如下: https://qyucloud.ml/t/K4iTaT

代码说明

github action 运行代码来源于:我的图床解决方案 - YFun's Blog ,原版本使用不方便,需要上传图片后,手动更新release触发action,还要自己修改文件链接,还不能看到图片以及备份图片 本人仅做部分修改,具体修改内容如下:

  • 修改node-version,12.x --> 16.X
  • 安装python3及依赖库
  • 增加telegram推送,每次github上传图片后后,自动发送图片链接到telegram(相当于备份图片)
  • 更改action的触发方式, release --> push
准备工作

首先注册npm账号,注册地址:npm注册,注册后点击右上角的头像,然后选择Access Token,点击页面中的Generate New Token,classic token,生成Access Token,格式类似: npm_hF0123456789****

安装教程

登录你的github账号,新建仓库,设置为私有(保护隐私),下载代码并push到自己仓库

不会push的请按以下过程手动操作:

第一步: https://github.com/w2r/npm_image_url/archive/refs/heads/main.zip 下载代码并解压,点击Add file,选择上传post2tg.py和package.json文件到仓库

第二步: 然后点击新建文件,文件名为rawimg/.gitkeep , 内容空白即可, 同理创建webpimg/.gitkeep npm.io

第三部: 复制.github/workflows/main.yml里面的内容,然后点击action,选择new workflow,点击 set up a workflow yourself,把前面复制main.yml内容粘贴进去,最后保存 npm.io

点击仓库的setting, 选择Secrets and variable-->Action,新增四个Secrets ,分别如下

# 准备工作里npm的Access Token
NPM_TOKEN -->  npm_hF0123456789****************
# botfather(https://t.me/BotFather )新建机器人,并获得机器人的api token 
TELEGRAM_TOKEN --> 1384839096:AAGWot30iO4************
# 随意转发一条信息给机器人https://t.me/getidsbot, 可以获得telegram用户id
USER_ID --> 561661***
# 镜像选择,优先推荐jsDelivr,国内外速度都很优秀
# 可用参数jsdelivr/zhimg/bdstatic/eleme/unpkg
# 详情查看推荐镜像地址
CDN  -->  jsdelivr

给予Action读写权限 setting --> action --> General, 选择Read and write permissions 如下图: npm.io

文件说明

workfolws-->main.yml action运行文件,无需修改

rawimg和webpimg为临时储存文件夹,rawimg储存上传图片,webpimg储存压缩后的图片,推送到npm后,action会自动删除所有图片,避免github图片滥用封号

package.json, 主要记录版本号和用户名称,name和version可自行修改

{
  "name": "w2r",
  "version": "1.2.22",
  "description": "版本配置文件,每次图片发布后github action会自动修改",
  "author": "cherbim@MJJ"
}

post2tg.py 推送到telegram(默认文件无需修改)

使用说明

将图片文件上传至仓库的 rawimg/ 文件夹下,也可以使用第三方工具上传(比如PicGo / UPic 等) github action的触发方式为rawimg/文件夹push文件,所以每次上传完图片,会自动运行action,并推送图片链接到tg

图片使用链接介绍

以 jsDelivr 为例,原图链接为:

https://cdn.jsdelivr.net/npm/[package-name]@[version]/rawimg/[filename].[suffix]

压缩后的图片链接:

https://cdn.jsdelivr.net/npm/[package-name]@[version]/rawimg/[filename].webp

参数值说明:

-[package-name]             package.json文件中name的值
-[version]                  package.json文件中的version的值
-[filename]                 文件名
-[suffix]                   文件后缀名称
推荐镜像地址
https://cdn.jsdelivr.net/npm/  # jsDelivr  
https://unpkg.zhimg.com/ # 知乎  
https://code.bdstatic.com/npm/ # 百度 (不推荐)  
https://shadow.elemecdn.com/npm/ # 饿了么  
https://unpkg.com/ # Unpkg
特殊说明

github action push代码有时抽风,导致push失败,需要手动修改一下版本号码 详细如下如,如果action运行结果出现publish package错误,请手动修改package.json的version(必须大于workflow出错图中的版本号,否则npm 无法publish)

npm.io

2023.8.106

2 years ago

2023.8.105

2 years ago

2023.8.104

2 years ago

2023.8.103

2 years ago

2023.8.102

2 years ago

2023.8.101

2 years ago

2023.8.100

2 years ago

2023.8.99

2 years ago

2023.8.98

2 years ago

2023.8.97

2 years ago

2023.8.96

2 years ago

2023.8.95

2 years ago

2023.8.94

2 years ago

2023.8.93

2 years ago

2023.8.92

2 years ago

2023.8.91

2 years ago

2023.8.90

2 years ago

2023.8.89

2 years ago

2023.8.88

2 years ago

2023.8.87

2 years ago

2023.8.86

2 years ago

2023.8.85

2 years ago

2023.8.84

2 years ago

2023.8.83

2 years ago

2023.8.82

2 years ago

2023.8.81

2 years ago

2023.8.80

2 years ago

2023.8.79

2 years ago

2023.8.78

2 years ago

2023.8.77

2 years ago

2023.8.76

2 years ago

2023.8.75

2 years ago

2023.8.74

2 years ago

2023.8.73

2 years ago

2023.8.72

2 years ago

2023.8.71

2 years ago

2023.8.70

2 years ago

2023.8.69

2 years ago

2023.8.68

2 years ago

2023.8.67

2 years ago

2023.8.66

2 years ago

2023.8.65

2 years ago

2023.8.64

2 years ago

2023.8.63

2 years ago

2023.8.62

2 years ago

2023.8.61

2 years ago

2023.8.60

2 years ago

2023.8.59

2 years ago

2023.8.58

2 years ago

2023.8.57

2 years ago

2023.8.56

2 years ago

2023.8.55

2 years ago

2023.8.54

2 years ago

2023.8.53

2 years ago

2023.8.52

2 years ago

2023.8.51

2 years ago

2023.8.50

2 years ago

2023.8.49

2 years ago

2023.8.48

2 years ago

2023.8.47

2 years ago

2023.8.46

2 years ago

2023.8.45

2 years ago

2023.8.44

2 years ago

2023.8.43

2 years ago

2023.8.42

2 years ago

2023.8.41

2 years ago

2023.8.40

2 years ago

2023.8.39

2 years ago

2023.8.38

2 years ago

2023.8.37

2 years ago

2023.8.36

2 years ago

2023.8.35

2 years ago

2023.8.34

2 years ago

2023.8.33

2 years ago

2023.8.32

2 years ago

2023.8.31

2 years ago

2023.8.30

2 years ago

2023.8.29

2 years ago

2023.8.28

2 years ago

2023.8.27

2 years ago

2023.8.26

2 years ago

2023.8.25

2 years ago

2023.8.24

2 years ago

2023.8.23

2 years ago

2023.8.22

2 years ago

2023.8.21

2 years ago

2023.8.20

2 years ago

2023.8.19

2 years ago

2023.8.18

2 years ago

2023.8.17

2 years ago

2023.8.16

2 years ago

2023.8.15

2 years ago

1.2.35

2 years ago

1.2.89

2 years ago

1.2.88

2 years ago

1.2.87

2 years ago

1.2.86

2 years ago

1.2.85

2 years ago

1.2.84

2 years ago

1.2.83

2 years ago

1.2.82

2 years ago

1.2.81

2 years ago

1.2.80

2 years ago

1.2.79

2 years ago

1.2.78

2 years ago

1.2.77

2 years ago

1.2.76

2 years ago

1.2.75

2 years ago

1.2.74

2 years ago

1.2.73

2 years ago

1.2.72

2 years ago

1.2.71

2 years ago

1.2.70

2 years ago

1.2.69

2 years ago

1.2.68

2 years ago

1.2.67

2 years ago

1.2.66

2 years ago

1.2.65

2 years ago

1.2.64

2 years ago

1.2.63

2 years ago

1.2.60

2 years ago

1.2.58

2 years ago

1.2.57

2 years ago

1.2.56

2 years ago

1.2.55

2 years ago

1.2.54

2 years ago

1.2.53

2 years ago

1.2.52

2 years ago

1.2.51

2 years ago

1.2.50

2 years ago

1.2.49

2 years ago

1.2.48

2 years ago

1.2.47

2 years ago

1.2.46

2 years ago

1.2.45

2 years ago

1.2.44

2 years ago

1.2.43

2 years ago

1.2.42

2 years ago

1.2.41

2 years ago

1.2.40

2 years ago

1.2.39

2 years ago

1.2.38

2 years ago

1.2.37

2 years ago

1.2.34

2 years ago

1.2.33

2 years ago

1.2.32

2 years ago

1.2.31

2 years ago

1.2.30

2 years ago

1.2.29

2 years ago

1.2.28

2 years ago

1.2.27

2 years ago

1.2.26

2 years ago

1.2.25

2 years ago

1.2.24

2 years ago

1.2.23

2 years ago

1.2.22

2 years ago

1.2.21

2 years ago

1.2.20

2 years ago

1.2.19

2 years ago

1.2.17

2 years ago

1.2.16

2 years ago

1.2.15

2 years ago

1.2.14

2 years ago

1.2.13

2 years ago

1.2.12

2 years ago

1.2.10

2 years ago

1.1.10

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.0.6

2 years ago

1.0.1

2 years ago

0.0.9

2 years ago