Инструменты пользователя

Инструменты сайта


wiki:parse_vpn_list

#!/bin/bash

# Название ipset
IPSET_NAME="vpn_sites"
# Файл со списком доменов
DOMAINS_FILE="/etc/vpn_domains.txt"

# Проверяем, что ipset существует
if ! ipset list "$IPSET_NAME" &>/dev/null; then
    echo "Создаю ipset $IPSET_NAME..."
    ipset create "$IPSET_NAME" hash:ip
fi

# Очищаем старые IP
ipset flush "$IPSET_NAME"

# Читаем домены из файла и резолвим в IP
while read -r domain; do
    # Пропускаем пустые строки и комментарии
    [[ -z "$domain" || "$domain" =~ ^# ]] && continue

    echo "Обновляю: $domain"

    # Получаем IP через dig
    for ip in $(dig +short "$domain" | grep -E '^[0-9.]+$'); do
        ipset add "$IPSET_NAME" "$ip"
    done
done < "$DOMAINS_FILE"

echo "Готово. Текущий список:"
ipset list "$IPSET_NAME"

wiki/parse_vpn_list.txt · Последнее изменение: admin

DokuWiki Appliance - Powered by TurnKey Linux