mirror of
https://github.com/C24Be/AS_Network_List.git
synced 2026-04-07 10:01:13 +03:00
59 lines
1.7 KiB
Bash
Executable File
59 lines
1.7 KiB
Bash
Executable File
#!/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}"
|