Alviy обновляет динамические адреса по стандартному протоколу dyndns2 — тому же, что используют DynDNS и No-IP. Подходит любой стандартный клиент: inadyn, ddclient, ddns-scripts (OpenWrt), встроенный DDNS роутеров (ASUS, Keenetic, MikroTik и др.), а также клиенты Alviy.
Адрес сервиса фиксирован: dynupdate.alviy.com, только HTTPS.
| Запрос | Назначение |
|---|---|
GET https://dynupdate.alviy.com/nic/update?hostname=<host>&myip=<ip> |
обновление адреса, Basic-авторизация |
GET https://dynupdate.alviy.com/token/update?hostname=<host>&token=<token>&myip=<ip> |
обновление адреса, токен в параметре («secure update») |
GET https://dynupdate.alviy.com/checkip |
текущий внешний IP вызывающего, text/plain, без авторизации |
Параметр hostname обязателен. Параметр myip
необязателен: если он не передан или не разбирается как IP, сервер использует
адрес источника запроса — это поведение по спецификации dyndns2.
Для /nic/update используется HTTP Basic:
Токен хоста — тот же, что для /token/update. Он включается
на странице хоста в личном кабинете
(раздел «Secure update») и действует только на один hostname. Кладите
в конфиги роутеров именно токен: компрометация конфига не отдаёт доступ
к аккаунту, а токен можно отозвать одной кнопкой.
Ответ — простой текст в теле, HTTP-статус всегда 200 (как у dyndns2). Клиенты разбирают тело дословно.
| Ответ | Значение |
|---|---|
good <ip> | адрес обновлён |
nochg <ip> | адрес не изменился (повторное обновление — это нормально) |
badauth | неверный логин, пароль или токен |
notfqdn | hostname отсутствует или не является корректным доменным именем |
nohost | hostname не существует или не принадлежит этому аккаунту |
911 | внутренняя ошибка сервера — повторите позже |
curl -u you@example.com:ВАШ_ТОКЕН \
"https://dynupdate.alviy.com/nic/update?hostname=myhost.didns.ru&myip=203.0.113.7"
# → good 203.0.113.7
period = 300
custom alviy {
username = you@example.com
password = ВАШ_ТОКЕН
ddns-server = dynupdate.alviy.com
ddns-path = "/nic/update?hostname=%h&myip=%i"
checkip-server = dynupdate.alviy.com
checkip-path = "/checkip"
hostname = myhost.didns.ru
}
protocol=dyndns2
use=web, web=dynupdate.alviy.com/checkip
server=dynupdate.alviy.com
ssl=yes
login=you@example.com
password='ВАШ_ТОКЕН'
myhost.didns.ru
Роутеры с «пользовательским» (custom) DDNS-провайдером: укажите URL
https://dynupdate.alviy.com/nic/update?hostname=<host>&myip=<ip>
и Basic-данные, как выше.