高效CLI应用质量检测工具
CLI应用质量检测工具
项目描述
这是一个专门用于检测Awesome CLI应用列表中项目状态的自动化脚本工具。项目旨在维护CLI应用列表的质量,通过自动化检测已归档的GitHub仓库和失效链接,确保列表中所有应用都处于活跃和可用状态。
功能特性
- GitHub仓库归档检测:自动检查列表中所有GitHub仓库是否已被所有者归档
- 链接有效性验证:使用deadlink工具检测非GitHub链接是否仍然有效
- 并行处理优化:支持多进程并行检测,默认使用6个并行进程提高检测效率
- 结果输出:将已弃用的仓库信息自动保存到指定输出文件中
- 用户友好:提供详细的帮助信息和使用说明
安装指南
系统要求
- Bash shell环境
- curl命令行工具
- deadlink链接检测工具
依赖安装
# 安装deadlink工具(需要先安装Rust)
cargo install deadlink
获取脚本
# 直接使用提供的bash脚本文件
chmod +x check-for-deprecation.sh
使用说明
基本使用
# 运行完整的检测流程
./check-for-deprecation.sh
获取帮助
# 查看使用说明和参数信息
./check-for-deprecation.sh --help
./check-for-deprecation.sh -h
./check-for-deprecation.sh help
输出结果
检测结果将自动保存到 deprecated.txt 文件中,同时会在终端显示实时检测进度。
核心代码
主检测函数
#!/bin/bash
J=6
OUT_FILE=deprecated.txt
if [ "$1" = "--help" ] || [ "$1" = "-h" ] || [ "$1" = "help" ]; then
cat <<EOF
$ check-for-deprecation.sh
Running $J processes in parallel.
Found deprecated repos are written to: $OUT_FILE
EOF
exit
fi
该代码段处理命令行参数,提供用户帮助信息,并设置并行进程数和输出文件配置。
GitHub仓库归档检测
check_if_archived_on_github() {
check_deprecation() {
REPO="$1"
if nice curl -SsL "$REPO" | grep "This repository has been archived by the owner on" >/dev/null; then
echo "DEPRECATED $REPO" | tee -a $OUT_FILE
else
echo "CHECKED $REPO"
fi
}
for app in $(echo $APPS); do
((i=i%J)); ((i++==0)) && wait
check_deprecation "$app" &
done
}
链接有效性检测
check_if_link_is_dead() {
command -v deadlink >/dev/null || { echo "deadlink is not installed" 1>&2; exit 127; }
tmp=$(mktemp)
deadlink check $tmp
}
该函数检查deadlink工具是否已安装,提取所有非GitHub链接,并使用deadlink进行有效性验证。
主执行流程
check_if_archived_on_github
check_if_link_is_dead
这是脚本的主要执行逻辑,依次调用GitHub仓库检测和链接有效性检测功能。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码


浙公网安备 33010602011771号