Butterfly 友链自动检查工具(GitHub Action + Vercel 部署)

参考方案:Heo 方案地址

方案介绍

通过发送 HEAD 请求来检查友链链接是否可访问,使用 GitHub Action + Vercel 自动运行并生成检查结果页面。

其他方案遇到的问题

Python 方案

Heo 哥的方案是使用 Python 脚本运行的,奈何我的老 Windows 7 安装 Python 总是那么困难。

  • Python 3.4 版本完美安装了 pyyaml,结果运行时告诉我 Python 版本太低无法解析某些字符。
  • 升级到 Python 3.8.6(Windows 7 的极限),但不自带 pip(明明说好的 Python 3.4 以上版本自带 pip)。

Python 方案就此结束了——这些问题实在是让我一辈子都没遇到过。

PowerShell 方案

换了一种方案,使用 Windows 7 自带的 PowerShell,结果版本太低不行。

  • 升级 PowerShell 到 5.1 后可以了,但安装 pyyaml 失败了,网络错误,代理也走了(没道理)。

PowerShell 方案也就结束了。

GitHub Action 方案

难道就这样结束了吗?突然想到了 GitHub Action,直接开始搞,结果成功运行并生成了无法访问的 .txt 文件(产物)。

但必须下载并解压才能查看——这实在是太麻烦了。

然后灵光一闪,决定将输出结果改为 HTML 格式,这样就可以以网页形式展示了。后期就可以通过 Cloudflare、GitHub Pages 或 Vercel 来部署了。

运行效果

至于轻笑大佬的链接为何出现在这里,是因为 GitHub Action 本来就是国外的服务,轻笑大佬的域名屏蔽了国外服务,所以就出现了无法访问的结果。后续仍然需要手动去检查。

项目地址

项目仓库

使用方法

Fork 项目

首先 fork 该项目并创建一个不过期的 Token。

Token 必须包含 repo 的所有选项,并且具备以下权限:

  • workflow
  • write:packages
  • delete:packages
  • project

保存 Token 后,回到仓库的 Settings 中的 Secrets and variables,添加变量 PAT_TOKEN 并填写 Token。

设置 GitHub Actions

打开仓库的 Settings -> Actions 页面,勾选:

  • Allow all actions and reusable workflows
  • Read and write permissions
  • Allow GitHub Actions to create and approve pull requests

然后保存。

修改配置文件

在 fork 后的项目中,可以删除 index.html(后期会自动生成)。

修改 link.yml 文件,将其中的内容替换为你的博客友链 YAML 配置即可。

运行 GitHub Actions

打开 Action,运行工程流文件即可。如果出现问题,可以回到仓库的任何一个文件夹,随便修改一个文本文件,保存后重新运行。

部署到 Vercel

  1. 登录 Vercel 官网
  2. 点击 New Project,导入你 fork 的仓库
  3. 保持默认配置,点击 Deploy 即可
  4. 部署完成后,即可通过 Vercel 分配的域名访问检查结果页面