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
