~kris/dots

srice

ref: b42b72dc2648499470b89418ac629e40f41d3149 srice/.local/bin/blog-linkrot -rwxr-xr-x 551 bytes
b42b72dc — Kris Yotam sb-battery: match macsmc-battery by type, add low-battery dunst alerts; xprofile: caps:super 2 months 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