#!/bin/sh set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" . "${SCRIPT_DIR}/blacklists_updater_common.subr" # Output directory and files ROUTES_OUTPUT_DIR="${SCRIPT_DIR}/blacklists_route" ROUTES_V4_FILE="${ROUTES_OUTPUT_DIR}/blacklist-vk-v4.routes" ROUTES_V6_FILE="${ROUTES_OUTPUT_DIR}/blacklist-vk-v6.routes" mkdir -p "${ROUTES_OUTPUT_DIR}" "${BLACKLISTS_DIR}" echo "Generating VK route blacklists..." build_vk_name_blacklists # Generate IPv4 routes file (route VK prefixes to loopback via 127.0.0.1) cat > "${ROUTES_V4_FILE}" << EOF # Linux routes for VK networks (IPv4) # Auto-generated by $(basename "$0") # Last updated: $(date -u +"%Y-%m-%d %H:%M:%S UTC") # # Apply: # sudo sh $(basename "${ROUTES_V4_FILE}") # EOF while IFS= read -r network; do [ -n "${network}" ] || continue printf 'ip route replace %s via 127.0.0.1 dev lo onlink\n' "${network}" >> "${ROUTES_V4_FILE}" done < "${BLACKLIST_VK_V4_FILE}" # Generate IPv6 routes file (route VK prefixes to loopback via ::1) cat > "${ROUTES_V6_FILE}" << EOF # Linux routes for VK networks (IPv6) # Auto-generated by $(basename "$0") # Last updated: $(date -u +"%Y-%m-%d %H:%M:%S UTC") # # Apply: # sudo sh $(basename "${ROUTES_V6_FILE}") # EOF while IFS= read -r network; do [ -n "${network}" ] || continue printf 'ip -6 route replace %s via ::1 dev lo\n' "${network}" >> "${ROUTES_V6_FILE}" done < "${BLACKLIST_VK_V6_FILE}" echo "✓ Generated: ${ROUTES_V4_FILE} (entries: $(wc -l < "${BLACKLIST_VK_V4_FILE}" | tr -d ' '))" echo "✓ Generated: ${ROUTES_V6_FILE} (entries: $(wc -l < "${BLACKLIST_VK_V6_FILE}" | tr -d ' '))" echo "" echo "Examples:" echo " sudo sh ${ROUTES_V4_FILE}" echo " sudo sh ${ROUTES_V6_FILE}"