Об этом проекте

DDNS-GO автоматически определяет публичные IPv4/IPv6-адреса и обновляет A/AAAA-записи соответствующих доменов у настроенных DNS-провайдеров. Поддерживаются Alibaba Cloud, Alibaba Cloud ESA, Tencent Cloud, Dnspod, Cloudflare, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo, Dynadot, DNSLA, Tnet, Eranet, Tnethk, Gcore, EdgeOne, IBM NS1 Connect, RainYun, deSEC и Callback. IP-адрес можно получить через интерфейс, сетевую карту или команду. По умолчанию программа синхронизируется каждые 5 минут; с помощью параметров можно настроить адрес прослушивания, интервал синхронизации, путь к файлу конфигурации, количество проверок у провайдера, пользовательский DNS-сервер и проверку сертификатов. Её можно установить как системную службу в macOS, Linux и Windows, а также запускать через Docker; поддерживаются архитектуры x86, ARM и RISC-V. Пользователь выполняет настройку через локальный веб-интерфейс, который по умолчанию запрещает доступ из публичной сети. Поддерживается одновременная настройка нескольких DNS-провайдеров, нескольких доменов и поддоменов, можно задавать TTL и просматривать последние 50 записей журнала. Некоторые DNS-провайдеры также поддерживают передачу пользовательских параметров для сценариев географического разрешения, нескольких IP и других случаев. При успешном или неудачном обновлении домена можно отправлять Webhook; в содержимом уведомления можно использовать IPv4/IPv6-адреса, результат обновления, домен и метку времени. В документации приведены примеры настройки для Server酱, Bark, DingTalk, Feishu, Telegram, PushPlus, Discord, WeChat и других. Callback выполняет обратный вызов построчно для каждого настроенного домена; переменные включают IP, домен, тип записи и TTL, что упрощает подключение дополнительных сторонних DNS-сервисов. При сборке из исходного кода можно использовать входящий в проект Makefile: выполнить make build для создания исполняемого файла или make build_docker_image для сборки Docker-образа.