CloudFlare DDNS

CloudFlare DDNS

Tạo script tự động cập nhật DNS record trên CloudFlare khi IP public thay đổi (Dynamic DNS).
⚙️ Yêu cầu: Mở Chrome với chế độ tắt bảo mật

Tool này gọi Cloudflare API trực tiếp từ trình duyệt. Bạn cần mở Chrome với flag --disable-web-security để bỏ qua giới hạn CORS.

Mở cmd và chạy:
Command Prompt
mkdir %LOCALAPPDATA%\Google\chromeTemp
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --disable-gpu --user-data-dir=%LOCALAPPDATA%\Google\chromeTemp
Mở Terminal và chạy:
Terminal
mkdir -p /tmp/chromeTemp && chmod -R 777 /tmp/chromeTemp
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --disable-gpu --user-data-dir=/tmp/chromeTemp
Mở Terminal và chạy:
Terminal
mkdir -p /tmp/chromeTemp && chmod -R 777 /tmp/chromeTemp
google-chrome --disable-web-security --disable-gpu --user-data-dir=/tmp/chromeTemp
⚠️ Sau khi mở Chrome theo hướng dẫn, truy cập lại trang này trong cửa sổ đó. Không dùng cửa sổ này cho việc duyệt web thông thường. Đóng sau khi hoàn thành.
📖 Hướng dẫn lấy thông tin từ CloudFlare
1 Lấy API Token

Vào dash.cloudflare.com → My Profile → API Tokens

  1. Nhấn Create Token
  2. Chọn template "Edit zone DNS"
  3. Tại Zone Resources → chọn zone (tên miền) muốn dùng
  4. Nhấn Continue to summary → Create Token
  5. Copy token và dán vào ô CloudFlare API Token bên dưới
⚠️ Token chỉ hiển thị 1 lần sau khi tạo. Hãy lưu lại ngay.
2 Lấy Zone ID

Vào dash.cloudflare.com → chọn tên miền của bạn

  1. Ở trang Overview (trang chính của domain), kéo xuống cột bên phải
  2. Tìm mục API → copy giá trị Zone ID
  3. Dán vào ô Zone ID bên dưới
3 Lấy DNS Record ID

Record ID là ID của bản ghi DNS (A record) bạn muốn cập nhật động.

  1. Vào DNS → Records trong dashboard của domain
  2. Tạo hoặc tìm bản ghi A record cho subdomain bạn muốn DDNS
  3. Dùng Cloudflare API để lấy Record ID:
Lệnh curl lấy Record ID (thay YOUR_ZONE_ID và YOUR_TOKEN):
curl -s -X GET "https://api.cloudflare.com/client/v4/zones/YOUR_ZONE_ID/dns_records?type=A" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" | python3 -m json.tool

Tìm bản ghi có name trùng với hostname của bạn, copy giá trị "id" → dán vào ô DNS Record ID.

4 Import script vào Mikrotik
  1. Điền đầy đủ thông tin vào form, nhấn Generate
  2. Copy toàn bộ output, paste vào Winbox Terminal hoặc SSH
  3. Script sẽ tạo một scheduler chạy định kỳ tự động cập nhật IP lên Cloudflare
  4. Kiểm tra bằng cách chạy thủ công: /system script run cf-ddns
  5. Xem log: /log print where topics~"script"
Result Mikrotik Command Line: