Last active
September 1, 2024 11:42
-
-
Save nscstjo/1ea73ccebe0bb1e4fd59b056c6eb8f58 to your computer and use it in GitHub Desktop.
Script for Mikrotik RouterOS v7 updating AAAA DNS record on CloudFlare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:local cftoken "YOUR_CF_TOKEN" | |
:local cfzoneid "YOUR_CF_ZONE_ID" | |
:local cfrecordid "YOUR_CF_RECORD_ID" | |
:local recordtype "RECORD_TYPE" | |
:local recordname "FULL_RECORD_NAME" | |
:local recordttl TTL_TIME | |
:local isproxied false | |
:local interfacev6prefix [/ipv6 address get [find interface=INTERFACE_NAME from-pool=POOL_NAME] address] | |
:local interfacev6addr [:pick $interfacev6prefix 0 ([len $interfacev6prefix] -3)] | |
:local cfurl "https://api.cloudflare.com/client/v4/zones/$cfzoneid/dns_records/$cfrecordid" | |
:local cfhead "Authorization: Bearer $cftoken,Content-Type:application/json" | |
:local cfdata "{\"type\":\"$recordtype\",\"name\":\"$recordname\",\"content\":\"$interfacev6addr\",\"ttl\":$recordttl,\"proxied\":$isproxied}" | |
/tool fetch http-method=put mode=https url=$cfurl http-header-field="$cfhead" http-data=$cfdata output=none |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment