#!/bin/bash

set -e

NEW_MIRROR="https://mirror.sepehrsabz.ir"

echo "=== Ubuntu APT Mirror Switcher ==="
echo "New mirror: $NEW_MIRROR"
echo

# Backup
echo "[1/4] Backing up sources..."
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo tar -czf /etc/apt/sources.list.d.backup.tar.gz /etc/apt/sources.list.d 2>/dev/null || true

# Replace in main sources.list
echo "[2/4] Updating /etc/apt/sources.list..."
sudo sed -i "s|http://.*archive.ubuntu.com/ubuntu|$NEW_MIRROR/ubuntu|g" /etc/apt/sources.list
sudo sed -i "s|http://.*security.ubuntu.com/ubuntu|$NEW_MIRROR/ubuntu|g" /etc/apt/sources.list

# Replace in all additional source files
echo "[3/4] Updating /etc/apt/sources.list.d/*.list..."
sudo find /etc/apt/sources.list.d -type f -name "*.list" -exec sed -i \
"s|http://.*ubuntu.com/ubuntu|$NEW_MIRROR/ubuntu|g" {} +

# Update package lists
echo "[4/4] Running apt update..."
sudo apt update

echo
echo "? Done! All APT mirrors now point to:"
echo "$NEW_MIRROR"
echo
echo "Backups:"
echo " - /etc/apt/sources.list.backup"
echo " - /etc/apt/sources.list.d.backup.tar.gz"