~kris/dots

srice

ref: e98f3b030dc24445bd55c68d95d2d81933fd68b3 srice/.local/bin/blog-linkrot -rw-r--r-- 551 bytes
e98f3b03 — Kris Yotam chore: sync local state after restore (push updates, no pull) a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env sh
set -eu

blog-links "$@" | cut -f1 | sort -u |
while IFS= read -r url; do
  [ -n "$url" ] || continue
  code=$(curl -LIs --max-time 15 --user-agent 'blog-linkrot/1.0' "$url" 2>/dev/null | awk '/^HTTP/{c=$2} END{print c}')
  if [ -z "$code" ] || [ "$code" = "405" ]; then
    code=$(curl -Ls -o /dev/null -w '%{http_code}' --max-time 20 --user-agent 'blog-linkrot/1.0' "$url" 2>/dev/null || true)
  fi
  case "$code" in
    2*|3*) printf 'ok %s %s\n' "$code" "$url" ;;
    *) printf 'bad %s %s\n' "${code:-000}" "$url" ;;
  esac
done