Files
mirage-web/add_mirror.sh
2025-12-02 01:30:46 -05:00

30 lines
622 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
BASE="/srv/www"
URL_LIST="$BASE/mirrors.txt"
if [ $# -lt 1 ]; then
echo "Usage: $0 URL [slug]"
exit 1
fi
url="$1"
if [ $# -ge 2 ]; then
slug="$2"
else
# crude slugify: strip scheme, replace non alnum with underscores
slug="$(echo "$url" | sed 's#https\?://##; s#[^a-zA-Z0-9._-]#_#g')"
fi
# Check if URL already exists
if grep -q " $url\$" "$URL_LIST" 2>/dev/null; then
echo "URL already in list. Not adding again."
else
echo "$slug $url" >> "$URL_LIST"
echo "Added: $slug $url"
fi
# Run update for just this slug
"$BASE/update_mirrors.sh" "$slug"