GhostlyDDns для динамического DNS Cloudflare
GhostlyDDns держит DNS Cloudflare под контролем
GhostlyDDns — небольшой .NET CLI, работающий на вашем устройстве и обновляющий существующие записи A и AAAA Cloudflare при смене публичного IP. Полезен для домашних серверов, офисных сетей, лабораторий и самостоятельных сервисов с устойчивым доменом без передачи управления DNS сторонним SaaS.
Обзор
Динамический DNS решает проблему смены IP, но не все задачи хостинга
Многие домашние и офисные подключения получают новый публичный IP время от времени. Динамический DNS поддерживает домен на актуальном адресе, чтобы VPN, панель, тестовый сайт или собственное приложение оставались доступными. GhostlyDDns работает с зонами Cloudflare и обновляет уже созданные записи.
Проверка соответствия
Используйте GhostlyDDns, если Cloudflare — ваш основной DNS
Оптимально для сети с меняющимся публичным адресом, где домен должен оставаться доступным. Если роутер или хостинг уже обновляют Cloudflare как нужно, дополнительный агент может не понадобиться.
Где помогает GhostlyDDns
- Вы используете DNS Cloudflare и уже имеете записи A или AAAA, которые хотите поддерживать.
- Ваша домашняя, офисная, лабораторная или резервная сеть получает меняющийся публичный IP.
- Вы хотите хранить токен API Cloudflare локально, а не в стороннем DDNS-сервисе.
- Вам нужна одинаковая конфигурация для Windows, Linux и Linux ARM.
Когда проще использовать другой путь DDNS
- Ваш интернет-провайдер предоставляет статический публичный IP, и DNS меняется редко.
- Ваш роутер уже безопасно обновляет Cloudflare с ограниченными правами и полезными логами.
- Вам нужна хостинг-панель, управление доступом команды, оповещения и поддержка.
- Вы ожидаете, что инструмент создаст записи Cloudflare с нуля в версии 1.
Содержание
Обновления Cloudflare
GhostlyDDns обновляет записи только при реальной смене публичного IP
Агент проверяет ваши публичные IPv4 и IPv6, сравнивает с последним известным значением и вызывает API Cloudflare только при необходимости обновления записи A или AAAA. Это снижает нагрузку и шум в API.
Записи A соответствуют текущему IPv4-адресу
Используйте записи A для IPv4-сервисов, например домашнего VPN, панели, обратного прокси или тестового сайта.
Записи AAAA могут отслеживать IPv6, если он есть у вашего хоста
Включайте IPv6 только при наличии стабильного маршрутизируемого IPv6. Иначе отключайте детектор IPv6.
Вызовы Cloudflare учитывают изменения
GhostlyDDns сначала сравнивает значения и обновляет Cloudflare только при изменении DNS-цели.
Конфиденциальность и безопасность
Локальный запуск сохраняет чувствительные данные в вашей сети
GhostlyDDns не требует хостинг-панели. Токен Cloudflare хранится на вашем устройстве, логи остаются локальными, а цикл обновления работает за вашим файрволом, планировщиком или systemd.
Используйте минимально необходимый токен API Cloudflare
Ограничьте токен зоной и правами редактирования DNS, необходимыми GhostlyDDns. Не используйте токен с правами всей учётной записи для простой задачи DDNS.
Защищайте YAML-файл как секрет
Конфигурация может содержать токен API Cloudflare. Держите права доступа строгими и не вставляйте токен в скриншоты, тикеты или публичные логи.
Цикл обновления запускается там, где вы его разместите
GhostlyDDns не нуждается во внешней панели управления. Ваш планировщик, файрвол, логи и политика повторов остаются в вашей системе.
Отслеживайте ошибки, а не каждый успешный запуск
Ожидается тихий успешный запуск. Следите за ненулевыми кодами выхода, повторяющимися ошибками Cloudflare и недоступными точками обнаружения.
Процесс настройки
Надёжный порядок: сначала зона, затем токен, потом планировщик
Чистая настройка DDNS — это в основном подготовка. Создайте запись, ограничьте токен Cloudflare зоной, выполните тестовый запуск и затем добавьте агент в планировщик вашей ОС.
Создать запись
Сначала добавьте запись A или AAAA в Cloudflare, выберите режим прокси и используйте временное имя хоста для тестирования.
Ограничить токен
Создайте токен API Cloudflare с правами редактирования DNS только для нужной зоны.
Выполнить тестовый запуск
Используйте команду dry для проверки конфигурации, имён записей, детекторов и доступа к Cloudflare перед живым обновлением.
Запланировать агента
Запустите один раз по таймеру или непрерывно как сервис, затем проверьте логи и коды выхода при первых изменениях IP.
Конфигурация
Один YAML-файл описывает токен, записи, интервал, обнаружение IP и логи
Держите конфигурацию простой и понятной. Храните токен в безопасности, настройте интервал опроса под свои нужды, включайте IPv6 только при наличии реального маршрута, укажите все записи Cloudflare, которые должны следить за публичным IP.
Основные команды CLI
Перед включением повторяющейся задачи используйте тестовые запуски. Они показывают, что обновит GhostlyDDns, не превращая первую настройку в слепое изменение.
ghostly-ddns init-config --path ./config.yaml
ghostly-ddns dry --config ./config.yaml
ghostly-ddns once --config ./config.yaml
ghostly-ddns run --config ./config.yaml
ghostly-ddns --help
ghostly-ddns --versionПример конфигурации YAML
Точные значения зависят от вашей зоны Cloudflare и имён записей, но структура остаётся компактной для обычного кода.
cloudflare:
api_token: CF_API_TOKEN
update:
interval_seconds: 120
ip_detection:
detect_ipv4: true
detect_ipv6: false
v4_endpoints:
- https://api.ipify.org
- https://ipv4.icanhazip.com
v6_endpoints:
- https://api6.ipify.org
logging:
retention_days: 30
records:
- name: home.example.com
type: A
proxied: true
ttl: autoРазвертывание
Запускайте GhostlyDDns как небольшой инфраструктурный сервис
Для Linux используйте systemd-сервис и таймер для удобного перезапуска и аудита. Для Windows — Планировщик задач с фиксированным интервалом. Логи должны быть доступны, а конфигурация — защищена от общего доступа.
Таймер Linux systemd
Используйте выделённую учётную запись и храните конфигурацию в защищённой папке.
[Unit]
Description=Run GhostlyDDns
[Service]
Type=oneshot
ExecStart=/usr/local/bin/ghostly-ddns once --config /etc/GhostlyDDns/config.yaml
[Timer]
OnBootSec=60
OnUnitActiveSec=120
Unit=ghostly-ddns.service
[Install]
WantedBy=timers.targetПланировщик задач Windows
Запускайте одну и ту же CLI-команду каждые несколько минут и отслеживайте ненулевые коды выхода в обычном рабочем процессе.
schtasks /Create ^
/SC MINUTE /MO 5 ^
/TN "GhostlyDDns" ^
/TR "C:\GhostlyDDns\ghostly-ddns.exe once --config C:\GhostlyDDns\config.yaml" ^
/RL HIGHEST ^
/FРедакции
Выберите сборку, соответствующую месту запуска агента DDNS
Каждая лицензия покрывает обновления GhostlyDDns версии 1.x для выбранной редакции. Выберите Windows для офисного ПК, Linux для VPS или домашнего сервера, Linux ARM для энергоэффективных устройств с постоянным обновлением DNS.
Windows
Используйте, если Windows-машина всегда онлайн и должна поддерживать актуальность записи Cloudflare для небольшой сети.
Открыть версию WindowsLinux
Используйте для VPS, домашнего сервера, лабораторного устройства или хоста обратного прокси с уже работающими сервисами без присмотра.
Открыть версию LinuxLinux ARM
Используйте для ARM64-устройств с постоянной работой и низкой нагрузкой для DDNS-агента.
Открыть версию Linux ARMНачать работу
Начните с одной тестовой записи перед автоматизацией рабочего DNS
Создайте временный поддомен, запустите GhostlyDDns в режиме теста, убедитесь, что токен Cloudflare редактирует только нужную зону, затем примените конфигурацию к нужной записи.
Частые вопросы
Что автоматизирует GhostlyDDns?
GhostlyDDns обновляет существующие записи A и AAAA Cloudflare при смене вашего публичного IPv4 или IPv6. Он не заменяет DNS Cloudflare и не создаёт платформу хостинга.
Создаёт ли GhostlyDDns новые записи Cloudflare?
Версия 1 предназначена для обновления уже существующих записей. Сначала создайте DNS-записи в Cloudflare, затем позвольте GhostlyDDns поддерживать их актуальность.
Где хранить токен API Cloudflare?
Храните токен на устройстве с GhostlyDDns и защищайте YAML-файл ограниченными правами. Токен должен иметь права редактирования DNS только для нужной зоны.
Может ли GhostlyDDns обновлять записи IPv6?
Да. Включайте обнаружение IPv6 при наличии реального маршрутизируемого IPv6. GhostlyDDns обновляет записи AAAA при изменении IPv6.
Когда достаточно DDNS от провайдера?
Провайдерский DDNS может быть достаточен, если ваш роутер или хостинг уже безопасно обновляет Cloudflare, поддерживает нужные записи и предоставляет надёжные логи.
Как часто запускать агент?
Короткий интервал в 2–5 минут обычно используется в домашних и офисных сетях. При отсутствии необходимости быстрого переключения используйте более длинный интервал опроса.