Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andcool-systems/ddns-over-cloudflare
Реализация системы динамических доменных имён через API CloudFlare
https://github.com/andcool-systems/ddns-over-cloudflare
cloudflare ddns ddns-updater
Last synced: 13 days ago
JSON representation
Реализация системы динамических доменных имён через API CloudFlare
- Host: GitHub
- URL: https://github.com/andcool-systems/ddns-over-cloudflare
- Owner: Andcool-Systems
- License: mit
- Archived: true
- Created: 2024-06-21T22:28:27.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-01-05T10:18:36.000Z (about 1 month ago)
- Last Synced: 2025-01-25T05:43:53.534Z (13 days ago)
- Topics: cloudflare, ddns, ddns-updater
- Language: Java
- Homepage:
- Size: 88.9 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DDNS over CloudFlare
Реализация системы динамических доменных имён через API CloudFlare.
DDNS получает ваш ip адрес через [www.cloudflare.com/cdn-cgi/trace](https://www.cloudflare.com/cdn-cgi/trace)## Начало работы
Запустите собранный .jar файл через команду `java -jar file.jar`.
1. При первом запуске процесс завершится с кодом `-1`, сгенерировав файл [`config.json`](https://github.com/Andcool-Systems/DDNS_over_CloudFlare#config.json).
2. После настройки всех параметров запустите проект снова.## config.json
```json
{
"zone_id": "",
"hostname": "example.com",
"period": 30,
"proxied": true,
"token": ""
}
```
`zone_id` – id зоны CloudFlare
`hostname` – Имя DNS записи, которая будет создана и обновляться
`period` – Период в секундах, с которым будет проверяться текущий ip адрес
`proxied` – Определяет, будут ли реквесты на hostname проксироваться через CloudFlare
`token` – Bearer [токен CloudFlare](https://dash.cloudflare.com/profile/api-tokens). Должен иметь права на чтение и изменение DNS записей## Принцип работы
При запуске код проверяет наличие DNS записи в CloudFlare по переданным в `config.json` параметрам.
Если запись не найдена, то создает новую с текущим ip адресом. После этого входит в бесконечный цикл, где каждые `period` секунд
проверяет текущий ip адрес, и если он изменился – обновляет его в CloudFlare.## Важные замечания
**Внимание! Не рассматривайте этот проект всерьёз и используйте в продакшене на свой страх и риск!**
- Распространение DNS записей может занимать значительный промежуток времени. Так как обновление записей на опережение невозможно,
будьте готовы к отставанию актуальности данных DNS на ~10 минут.
- Для корректной работы, ваш провайдер интернет услуг (ISP) должен поддерживать NAT через динамические ip адреса, в противном случае,
динамический DNS не будет иметь смысла.---
by AndcoolSystems, June 21, 2024.