核心功能
Link Checker 是一款轻量级命令行链接检测工具,采用 curl 作为底层请求引擎,可对单条 URL、文本文件中的链接列表或批量地址进行 HTTP 状态码检测。核心能力覆盖三大场景:
- 单链快速检测:
check命令发送 HTTP HEAD 请求,即时返回状态码与可读标签(OK/REDIRECT/CLIENT_ERROR 等) - 文档批量扫描:
scan命令通过grep提取 markdown/HTML/纯文本中的 URL,去重后逐条检测并生成统计摘要 - 历史数据管理:所有结果持久化存储于
~/.link-checker/目录,支持history回溯、stats趋势分析、export多格式导出
显著优点
1. 极简依赖:仅需 bash 4.0+、curl 及标准 Unix 工具链,无 Python/Node 等运行时依赖,部署成本极低
2. 本地优先:数据完全本地存储,无云端上传风险,契合隐私敏感场景
3. 可配置弹性:支持自定义超时(默认 10s)、重试次数(默认 2 次)、User-Agent,适应不同网络环境
4. 输出友好:提供 txt/csv/json 三种报告格式,状态分类使用 emoji 直观标识(✅ 2xx / ❌ 4xx / ⚠️ 5xx 等)
潜在局限
- 无并发控制:批量检测为串行执行,大规模站点扫描效率受限
- 无认证支持:未提及 HTTP Basic/Digest、OAuth 或 Cookie 会话,需登录态的链接无法检测
- HEAD 请求局限:部分服务器对 HEAD 返回 405 或不同于 GET 的状态,可能存在误报
- 无内容校验:仅检测可达性,不验证返回内容是否与预期匹配
适合人群
- 技术文档维护者:定期扫描 README、Wiki 中的外链有效性
- 网站运维人员:上线前批量验证页面内链、CDN 资源链接
- 内容运营团队:审核历史文章中的引用链接,生成失效报告
常规风险提示
| 风险类型 | 说明 |
|---------|------|
| 网络探测痕迹 | 检测行为会产生真实 HTTP 请求,目标服务器日志可记录来源 IP 及 User-Agent |
| 频率控制缺失 | 无内置速率限制,高频扫描可能触发目标站点的 WAF 封禁或被视为攻击 |
| 本地文件权限 | `~/.link-checker/` 目录若权限配置不当,可能导致历史数据被其他用户读取 |
| 重定向链盲区 | 仅记录最终状态码,不展示 301→302→200 等完整跳转路径 |
综合评估
作为开源轻量工具,Link Checker 在功能深度与易用性之间取得了务实平衡,特别适合中小规模链接巡检场景。对于企业级需求(分布式并发、认证支持、内容 diff 校验),建议作为补充工具而非核心依赖。