Материал подходит администраторам сетей, self-hosting-инфраструктур и пользователям пулов IPv6-прокси. Скрипт позволяет проверить, действительно ли каждый порт возвращает собственный внешний адрес, что важно для систем распределённых прокси и автоматизированных инструментов.
Задачи скрипта
Для пулов IPv6-прокси важно удостовериться, что каждый порт выдаёт уникальный внешний адрес. Скрипт автоматически проходит по диапазону портов, делает запрос через каждый и собирает полученные IP для последующей проверки уникальности.
Bash-скрипт проверки IPv6-прокси
Создайте файл check-proxies.sh и вставьте содержимое. Перед запуском укажите параметры подключения — адрес сервера, диапазон портов и данные авторизации.
#!/usr/bin/env bash
# --- НАСТРОЙКИ ---
PROXY_HOST="SERVER_IPv4_OR_DOMAIN"
START_PORT=30000
COUNT=100
PROXY_USER="proxy_login"
PROXY_PASS="proxy_password"
CHECK_URL="https://api64.ipify.org"
# --- ЛОГИКА ---
declare -A IPS
ok=0
fail=0
for ((i=0; i<COUNT; i++)); do
port=$((START_PORT + i))
proxy_url="http://$PROXY_USER:$PROXY_PASS@$PROXY_HOST:$port"
echo "[$((i+1))/$COUNT] Проверяю порт $port ..."
ip=$(curl -sS --max-time 10 -x "$proxy_url" "$CHECK_URL")
if [[ -z "$ip" ]]; then
echo " Ошибка: невозможно получить IP через порт $port"
((fail++))
continue
fi
echo " Получен адрес: $proxy_url → $ip"
IPS["$ip"]=1
((ok++))
done
echo
echo "----------------------"
echo "Успешных запросов: $ok"
echo "Неуспешных: $fail"
echo "Уникальных IP: ${#IPS[@]}"
echo "Ожидаем уникальных: $ok"
echo "----------------------"
if [[ ${#IPS[@]} -eq $ok ]]; then
echo "Все IP уникальны. Конфигурация работает корректно."
else
echo "Обнаружены повторяющиеся адреса. Требуется диагностика."
fi Как использовать
1. Настройте параметры
Укажите адрес сервера, диапазон портов и данные авторизации прокси.
2. Сделайте файл исполняемым
chmod +x check-proxies.sh 3. Запустите проверку
./check-proxies.sh Время работы зависит от количества проверяемых портов.
Пример результата
[1/100] Проверяю порт 30000 ...
Получен адрес: 30000 → 2a00:xxxx:xxxx:xxxx::1
[2/100] Проверяю порт 30001 ...
Получен адрес: 30001 → 2a00:xxxx:xxxx:xxxx::2
...
----------------------
Успешных запросов: 100
Неуспешных: 0
Уникальных IP: 100
Ожидаем уникальных: 100
Все IP уникальны. Конфигурация работает корректно. Заключение
Скрипт позволяет оперативно проверить корректность распределения IPv6-адресов по портам и выявить проблемы в конфигурации, что важно при обслуживании крупных пулов прокси и автоматизации сетевых процессов.









