Материал составлен с активным участием нейросетей и текст может содержать опечатки!
Сам приложенный скрипт проверен и продебажен - применим для продакшен применения. Поставляется как есть. Используете на свой страх и риск!
Автоматическая смена IP#
PrivateFlare — это не просто инфраструктура для арбитража, но и умный инструмент отказоустойчивости. Сегодня рассказываем о новой фиче: автоматическая смена IP-адреса при недоступности ноды.
Зачем это нужно?#
Сценарий знаком каждому, кто работает с трафиком:
- Сайт или лендинг внезапно перестаёт отвечать
- Причина — нода заблокирована или недоступна
- Трафик сливается впустую, пока вы вручную не поменяете A-запись в Cloudflare
Теперь этого больше не нужно делать вручную.
Как работает автоматизация#
Мы подготовили PHP-скрипт, который можно запускать с кроном или как демон. Он делает следующее:
- Проверяет доступность ноды по заданному URL (GET или POST с JSON-пейлоадом).
- Если за 5 секунд нет корректного ответа (200, 301, 302) — нода считается мёртвой.
- Скрипт запрашивает список A-записей в Cloudflare по API.
- Находит текущий IP и заменяет его на следующий по кругу из заданного пула:
Пул: [1.1.1.1, 2.2.2.2, 3.3.3.3]
Был IP: 2.2.2.2 → станет: 3.3.3.3
Был последний → станет первый- Обновляет DNS-запись через Cloudflare API.
- Отправляет уведомление в Telegram, чтобы вы были в курсе.
Что это даёт?#
- Минус простой трафика — IP меняется через секунды после сбоя.
- Масштабирование без боли — добавляйте сколько угодно нод.
- Полная автономность — без ручных правок DNS, ни ручных правок, ни паники.
- Telegram-уведомления — знаете о всех действиях в реальном времени.
Как настроить#
- Установите PHP >= 7.4.
- Укажите в конфиге:
- домен
- имя хоста (например,
node1.domain.com) - Cloudflare API Token и Zone ID
- пул IP-адресов
- токен Telegram-бота
- chat ID (см. ниже)
- Добавьте вызов скрипта в cron или запустите как systemd-службу.
Как получить Telegram chat ID?#
Есть два простых способа:
Способ 1 — через @userinfobot#
- Открой Telegram.
- Найди бота @userinfobot.
- Запусти его — он сразу покажет твой ID. Это и есть нужный chat_id.
Способ 2 — через своего бота#
Если ты хочешь получать уведомления от своего бота:
- Напиши любое сообщение своему боту.
- Перейди по ссылке, подставив свой токен:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdatesНайди в JSON-ответе строку:
"chat": {
"id": 123456789,
...
}123456789 — твой chat_id.
Как запускать скрипт?#
Выбирайте удобный способ:
1. Через cron#
Запускайте скрипт регулярно, например, каждые 2 минуты:
*/2 * * * * php /path/to/checker.phpЗамените /path/to/checker.php на реальный путь к вашему файлу.
2. Через веб (по HTTP)#
Разместите скрипт на сервере с доступом по URL, например:
https://yourhost.com/tools/checker.phpМожно вызывать:
- из систем мониторинга (UptimeRobot, Pingdom, HetrixTools)
- из CI/CD пайплайна (GitLab CI, Jenkins)
- из автоматик (Home Assistant, Zabbix)
- вручную через браузер или curl:
curl https://yourhost.com/tools/checker.php