From edfd00091162709b06c55df5270bf8c32a030d26 Mon Sep 17 00:00:00 2001 From: vados-dev <192440777+vados-dev@users.noreply.github.com> Date: Fri, 15 May 2026 10:25:04 +0300 Subject: [PATCH] Autocommit in repo: ros.vados.ru, generated by owner: root, in 10:25:03 15.05.2026. --- html/AM-GlobalFunc.rsc | 4 +- html/AM-RKN-dnsLookup.rsc | 170 ++++++++++----------- html/mod/AM-Certs-By-Ident.rsc | 264 ++++++++++++++++----------------- 3 files changed, 219 insertions(+), 219 deletions(-) diff --git a/html/AM-GlobalFunc.rsc b/html/AM-GlobalFunc.rsc index 5f30986ea..e36d470d0 100644 --- a/html/AM-GlobalFunc.rsc +++ b/html/AM-GlobalFunc.rsc @@ -17,9 +17,9 @@ :global GlobalFuncReady false; # Git commit id & info, expected configuration version -:global CommitId "main/636/1e86a8d7"; +:global CommitId "main/637/99006ec3"; :global CommitTAG "unknown"; -:global CommitInfo "Autocommit in repo: ros.vados.ru, generated by owner: root, in 09:15:03 15.05.2026."; +:global CommitInfo "Autocommit in repo: ros.vados.ru, generated by owner: root, in 10:25:03 15.05.2026."; # The variables are received right here. :global GlobalConfVersion 140; diff --git a/html/AM-RKN-dnsLookup.rsc b/html/AM-RKN-dnsLookup.rsc index 6776a0374..21232ec56 100644 --- a/html/AM-RKN-dnsLookup.rsc +++ b/html/AM-RKN-dnsLookup.rsc @@ -1,85 +1,85 @@ -#!rsc by Vados -# RouterOS script: AM-RKN-dnsLookup -# Script comment: Lookup IP addresses for RKN list and add them to firewall address-list -# Copyright (c) 2007-2026 Vados -# -# -# requires RouterOS, version=7.19 -# requires device-mode, fetch -# -# Script description: This script is intended to be run periodically, e.g. once a day, to update the IP addresses in the firewall address-list based on the RKN list. -# It resolves the domain names in the RKN list and adds the corresponding IP addresses to the specified firewall address-list. -# The script also handles CNAME records by following them until it finds A records. -# Usage: -# /system/script { run AM-RKN-dnsLookup; } -:local ScriptName [ :jobname ]; - -:global dnsLookupReady false; -:if ([:typeof $dnsLookupReady] != "boolean") do={ :set dnsLookupReady true; } -while (!$dnsLookupReady) do={ :nothing; } -:set dnsLookupReady false; - -:local arrRKN { - "telegra.ph" - "grani.ru" - "xhamster.com" - "kasparov.ru" - "lostfilm.tv" - "rutracker.org" - "lurkmore.to" - "dou.ua" - "youporn.com" - "pornolab.net" - "crimerussia.com" - "telegram.org" - "api.telegram.org" - "telegram.me" - "t.me";} - -:local ListRKN "RKN-dnsLookup"; -:local ListComment ("ListRKN managed by " . $ScriptName); -:foreach aListItem in=[/ip/firewall/address-list find list=$ListRKN] do={ - /ip firewall address-list remove $aListItem; -} -:foreach aItem in=$arrRKN do={ - :do { - :resolve $aItem; - } on-error={ - :log error "dns resolve failure [ ip - resolve ip ]"; - } - :foreach dnsRecord in=[/ip dns cache all find where (name=$aItem)] do={ - :if ([/ip dns cache all get $dnsRecord type]="A") do={ - :local newAddress [/ip dns cache all get $dnsRecord data]; - :do { - /ip firewall address-list add list=$ListRKN address=$newAddress comment=$aItem; - } on-error={ - :log error "error when adding ip to list: $newAddress"; - } - } - :if ([/ip dns cache all get $dnsRecord type]="CNAME") do={ - :local cname; - :local nextCname; - :set cname [/ip dns cache all find where (name=$aItem && type="CNAME")]; - :set nextCname [/ip dns cache all find where (name=[/ip dns cache all get $cname data] && type="CNAME")]; - :while ($nextCname != "") do={ - :set cname $nextCname; - :set nextCname [/ip dns cache all find where (name=[/ip dns cache all get $cname data] && type="CNAME")]; - } - :foreach aRecord in=[/ip dns cache all find where (name=[/ip dns cache all get $cname data] && type="A")] do={ - :do { - /ip firewall address-list add list=$ListRKN address=[/ip dns cache all get $aRecord data] comment=$aItem; - } on-error={ - :log error "error when adding ip to list: $newAddress"; - } - } - } - } -} - -:if ([ :len [ /system/scheduler/find where name=$ScriptName ] ] = 0) do={ - :log error ($ScriptName . "System Scheduler for script: " . $ScriptName . " is NOT SET! Fix It Now!"); - /system/scheduler/add name=$ScriptName on-event="/system/script { run $ScriptName; }" comment="Update RKN DNS Looup" interval=00:20:00 policy="ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon" start-time=startup; - } -:set dnsLookupReady true; -delay 5s; -:global dnsLookupReady (a); +#!rsc by Vados +# RouterOS script: AM-RKN-dnsLookup +# Script comment: Lookup IP addresses for RKN list and add them to firewall address-list +# Copyright (c) 2007-2026 Vados +# +# +# requires RouterOS, version=7.19 +# requires device-mode, fetch +# +# Script description: This script is intended to be run periodically, e.g. once a day, to update the IP addresses in the firewall address-list based on the RKN list. +# It resolves the domain names in the RKN list and adds the corresponding IP addresses to the specified firewall address-list. +# The script also handles CNAME records by following them until it finds A records. +# Usage: +# /system/script { run AM-RKN-dnsLookup; } +:local ScriptName [ :jobname ]; + +:global dnsLookupReady false; +:if ([:typeof $dnsLookupReady] != "boolean") do={ :set dnsLookupReady true; } +while (!$dnsLookupReady) do={ :nothing; } +:set dnsLookupReady false; + +:local arrRKN { + "telegra.ph" + "grani.ru" + "xhamster.com" + "kasparov.ru" + "lostfilm.tv" + "rutracker.org" + "lurkmore.to" + "dou.ua" + "youporn.com" + "pornolab.net" + "crimerussia.com" + "telegram.org" + "api.telegram.org" + "telegram.me" + "t.me";} + +:local ListRKN "RKN-dnsLookup"; +:local ListComment ("ListRKN managed by " . $ScriptName); +:foreach aListItem in=[/ip/firewall/address-list find list=$ListRKN] do={ + /ip firewall address-list remove $aListItem; +} +:foreach aItem in=$arrRKN do={ + :do { + :resolve $aItem; + } on-error={ + :log error "dns resolve failure [ ip - resolve ip ]"; + } + :foreach dnsRecord in=[/ip dns cache all find where (name=$aItem)] do={ + :if ([/ip dns cache all get $dnsRecord type]="A") do={ + :local newAddress [/ip dns cache all get $dnsRecord data]; + :do { + /ip firewall address-list add list=$ListRKN address=$newAddress comment=$aItem; + } on-error={ + :log error "error when adding ip to list: $newAddress"; + } + } + :if ([/ip dns cache all get $dnsRecord type]="CNAME") do={ + :local cname; + :local nextCname; + :set cname [/ip dns cache all find where (name=$aItem && type="CNAME")]; + :set nextCname [/ip dns cache all find where (name=[/ip dns cache all get $cname data] && type="CNAME")]; + :while ($nextCname != "") do={ + :set cname $nextCname; + :set nextCname [/ip dns cache all find where (name=[/ip dns cache all get $cname data] && type="CNAME")]; + } + :foreach aRecord in=[/ip dns cache all find where (name=[/ip dns cache all get $cname data] && type="A")] do={ + :do { + /ip firewall address-list add list=$ListRKN address=[/ip dns cache all get $aRecord data] comment=$aItem; + } on-error={ + :log error "error when adding ip to list: $newAddress"; + } + } + } + } +} + +:if ([ :len [ /system/scheduler/find where name=$ScriptName ] ] = 0) do={ + :log error ($ScriptName . "System Scheduler for script: " . $ScriptName . " is NOT SET! Fix It Now!"); + /system/scheduler/add name=$ScriptName on-event="/system/script { run $ScriptName; }" comment="Update RKN DNS Looup" interval=00:20:00 policy="ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon" start-time=startup; + } +:set dnsLookupReady true; +delay 5s; +:global dnsLookupReady (a); diff --git a/html/mod/AM-Certs-By-Ident.rsc b/html/mod/AM-Certs-By-Ident.rsc index 43a1d1142..db3c3492b 100644 --- a/html/mod/AM-Certs-By-Ident.rsc +++ b/html/mod/AM-Certs-By-Ident.rsc @@ -1,133 +1,133 @@ -#!rsc by Vados -# RouterOS script: AM-Certs-By-Ident -# Script comment: Download custom Certificates By Routers Identity -# Copyright (c) 2005-2026 Vados -# -# -# requires RouterOS, version=7.19 -# requires device-mode, fetch -# -# :local ScriptName [ :jobname ]; -# -# CloudFlare -#/tool/fetch mode=https url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem; -#/certificate/import file-name=DigiCertGlobalRootCA.crt.pem passphrase=""; -#/tool/ fetch mode=https url=https://cacerts.digicert.com/DigiCertGlobalG2TLSRSASHA2562020CA1-1.crt.pem; -#/certificate/import file-name=DigiCertGlobalG2TLSRSASHA2562020CA1-1.crt.pem passphrase=""; -# Quad9 -#/tool/fetch mode=https url="https://cacerts.digicert.com/DigiCertGlobalG3TLSECCSHA3842020CA1-1.crt.pem" -#/certificate/import file-name=DigiCertGlobalG3TLSECCSHA3842020CA1-1.crt.pem passphrase=""; - -:global GlobalScriptsUrl; -:local UrlSuffix [/system/identity/get name]; -:local UrlDir "certs/"; -:local CertUrl ($GlobalScriptsUrl . $UrlDir . $UrlSuffix ."/"); - -:log error $CertUrl; - -:local CertName "DigiCert-Global-Root-CA.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Global-Root-CA" [ find where common-name="DigiCert Global Root CA" ]; - -:set CertName "DigiCert-Assured-ID-Root-CA.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Assured-ID-Root-CA" [ find where common-name="DigiCert Assured ID Root CA" ]; - -:set CertName "DigiCert-Assured-ID-Root-G2.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Assured-ID-Root-G2" [ find where common-name="DigiCert Assured ID Root G3" ]; - -:set CertName "DigiCert-Assured-ID-Root-G3.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Assured-ID-Root-G3" [ find where common-name="DigiCert Assured ID Root G3" ]; - -:set CertName "DigiCert-Global-G2-TLS-RSA-SHA256-2020-CA1.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Global-G2-TLS-RSA-SHA256-2020-CA1" [ find where common-name="DigiCert Global G2 TLS RSA SHA256 2020 CA1" ]; - -:set CertName "DigiCert-Global-G3-TLS-ECC-SHA384-2020-CA1.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Global-G3-TLS-ECC-SHA384-2020-CA1" [ find where common-name="DigiCert Global G3 TLS ECC SHA384 2020 CA1" ]; - -:set CertName "DigiCert-Global-Root-G2.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Global-Root-G2" [ find where common-name="DigiCert Global Root G2" ]; - -:set CertName "DigiCert-Global-Root-G3.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Global-Root-G3" [ find where common-name="DigiCert Global Root G3" ]; - -:set CertName "DigiCert-TLS-ECC-P384-Root-G5.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-TLS-ECC-P384-Root-G5" [ find where common-name="DigiCert TLS ECC P384 Root G5" ]; - -:set CertName "DigiCert-TLS-RSA4096-Root-G5.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-TLS-RSA4096-Root-G5" [ find where common-name="DigiCert TLS RSA4096 Root G5" ]; - -:set CertName "DigiCert-Trusted-Root-G4.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="DigiCert-Trusted-Root-G4" [ find where common-name="DigiCert Trusted Root G4" ]; - -:set CertName "GTS-Root-R4.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="GTS-Root-R4" [ find where common-name="GTS Root R4" ]; - -:set CertName "Go-Daddy-Root-Certificate-Authority-G2.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="Go-Daddy-Root-Certificate-Authority-G2" [ find where common-name="Go Daddy Root Certificate Authority - G2" ]; - -:set CertName "ISRG-Root-X1.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="ISRG-Root-X1" [ find where common-name="ISRG Root X1" ]; - -:set CertName "Root-YE.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="Root-YE" [ find where common-name="Root YE" ]; - -:set CertName "Starfield-Root-Certificate-Authority-G2.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="Starfield-Root-Certificate-Authority-G2" [ find where common-name="Starfield Root Certificate Authority - G2" ]; - -:set CertName "USERTrust-RSA-Certification-Authority.pem"; -/tool/fetch mode=https url=($CertUrl . $CertName); -/certificate/import file-name=$CertName passphrase=""; -/certificate/set name="USERTrust-RSA-Certification-Authority" [ find where common-name="USERTrust RSA Certification Authority" ]; - -#/certificate/import file-name=$CertName passphrase=""; -#/certificate/import file-name=$CertName passphrase=""; -#:set CertName "GTS-Root-RX.pem"; -#/tool/fetch mode=https url=($AmScriptsUrl . "certs/" . $CertName); -#/certificate/import file-name=$CertName passphrase=""; -#internet -#/certificate/import file-name=$CertName passphrase=""; -#:set CertName "ISRG-Root-X2.pem"; -#/tool/fetch mode=https url=($AmScriptsUrl . "certs/" . $CertName); -#/certificate/import file-name=$CertName passphrase=""; - - -#/ip/dns/set allow-remote-requests=yes doh-max-concurrent-queries=100 doh-max-server-connections=20 use-doh-server=https://security.cloudflare-dns.com/dns-query verify-doh-cert=yes; -#/ip/dns/static remove [find where address=1.1.1.1]; -#/ip/dns/static add address=1.1.1.1 name=security.cloudflare-dns.com comment="cloudflare-dns IPv4 1"; -#/ip/dns/ static remove [find where address=1.0.0.1]; -#/ip/dns/static add address=1.0.0.1 name=security.cloudflare-dns.com comment="cloudflare-dns IPv4 2" -#/ip dns static add address=2606:4700:4700::1111 name=security.cloudflare-dns.com type=AAAA -#/ip dns static add address=2606:4700:4700::1001 name=security.cloudflare-dns.com type=AAAA -#/ip/dns set servers="1.0.0.1, 8.8.4.4"; +#!rsc by Vados +# RouterOS script: AM-Certs-By-Ident +# Script comment: Download custom Certificates By Routers Identity +# Copyright (c) 2005-2026 Vados +# +# +# requires RouterOS, version=7.19 +# requires device-mode, fetch +# +# :local ScriptName [ :jobname ]; +# +# CloudFlare +#/tool/fetch mode=https url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem; +#/certificate/import file-name=DigiCertGlobalRootCA.crt.pem passphrase=""; +#/tool/ fetch mode=https url=https://cacerts.digicert.com/DigiCertGlobalG2TLSRSASHA2562020CA1-1.crt.pem; +#/certificate/import file-name=DigiCertGlobalG2TLSRSASHA2562020CA1-1.crt.pem passphrase=""; +# Quad9 +#/tool/fetch mode=https url="https://cacerts.digicert.com/DigiCertGlobalG3TLSECCSHA3842020CA1-1.crt.pem" +#/certificate/import file-name=DigiCertGlobalG3TLSECCSHA3842020CA1-1.crt.pem passphrase=""; + +:global GlobalScriptsUrl; +:local UrlSuffix [/system/identity/get name]; +:local UrlDir "certs/"; +:local CertUrl ($GlobalScriptsUrl . $UrlDir . $UrlSuffix ."/"); + +:log error $CertUrl; + +:local CertName "DigiCert-Global-Root-CA.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Global-Root-CA" [ find where common-name="DigiCert Global Root CA" ]; + +:set CertName "DigiCert-Assured-ID-Root-CA.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Assured-ID-Root-CA" [ find where common-name="DigiCert Assured ID Root CA" ]; + +:set CertName "DigiCert-Assured-ID-Root-G2.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Assured-ID-Root-G2" [ find where common-name="DigiCert Assured ID Root G3" ]; + +:set CertName "DigiCert-Assured-ID-Root-G3.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Assured-ID-Root-G3" [ find where common-name="DigiCert Assured ID Root G3" ]; + +:set CertName "DigiCert-Global-G2-TLS-RSA-SHA256-2020-CA1.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Global-G2-TLS-RSA-SHA256-2020-CA1" [ find where common-name="DigiCert Global G2 TLS RSA SHA256 2020 CA1" ]; + +:set CertName "DigiCert-Global-G3-TLS-ECC-SHA384-2020-CA1.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Global-G3-TLS-ECC-SHA384-2020-CA1" [ find where common-name="DigiCert Global G3 TLS ECC SHA384 2020 CA1" ]; + +:set CertName "DigiCert-Global-Root-G2.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Global-Root-G2" [ find where common-name="DigiCert Global Root G2" ]; + +:set CertName "DigiCert-Global-Root-G3.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Global-Root-G3" [ find where common-name="DigiCert Global Root G3" ]; + +:set CertName "DigiCert-TLS-ECC-P384-Root-G5.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-TLS-ECC-P384-Root-G5" [ find where common-name="DigiCert TLS ECC P384 Root G5" ]; + +:set CertName "DigiCert-TLS-RSA4096-Root-G5.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-TLS-RSA4096-Root-G5" [ find where common-name="DigiCert TLS RSA4096 Root G5" ]; + +:set CertName "DigiCert-Trusted-Root-G4.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="DigiCert-Trusted-Root-G4" [ find where common-name="DigiCert Trusted Root G4" ]; + +:set CertName "GTS-Root-R4.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="GTS-Root-R4" [ find where common-name="GTS Root R4" ]; + +:set CertName "Go-Daddy-Root-Certificate-Authority-G2.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="Go-Daddy-Root-Certificate-Authority-G2" [ find where common-name="Go Daddy Root Certificate Authority - G2" ]; + +:set CertName "ISRG-Root-X1.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="ISRG-Root-X1" [ find where common-name="ISRG Root X1" ]; + +:set CertName "Root-YE.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="Root-YE" [ find where common-name="Root YE" ]; + +:set CertName "Starfield-Root-Certificate-Authority-G2.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="Starfield-Root-Certificate-Authority-G2" [ find where common-name="Starfield Root Certificate Authority - G2" ]; + +:set CertName "USERTrust-RSA-Certification-Authority.pem"; +/tool/fetch mode=https url=($CertUrl . $CertName); +/certificate/import file-name=$CertName passphrase=""; +/certificate/set name="USERTrust-RSA-Certification-Authority" [ find where common-name="USERTrust RSA Certification Authority" ]; + +#/certificate/import file-name=$CertName passphrase=""; +#/certificate/import file-name=$CertName passphrase=""; +#:set CertName "GTS-Root-RX.pem"; +#/tool/fetch mode=https url=($AmScriptsUrl . "certs/" . $CertName); +#/certificate/import file-name=$CertName passphrase=""; +#internet +#/certificate/import file-name=$CertName passphrase=""; +#:set CertName "ISRG-Root-X2.pem"; +#/tool/fetch mode=https url=($AmScriptsUrl . "certs/" . $CertName); +#/certificate/import file-name=$CertName passphrase=""; + + +#/ip/dns/set allow-remote-requests=yes doh-max-concurrent-queries=100 doh-max-server-connections=20 use-doh-server=https://security.cloudflare-dns.com/dns-query verify-doh-cert=yes; +#/ip/dns/static remove [find where address=1.1.1.1]; +#/ip/dns/static add address=1.1.1.1 name=security.cloudflare-dns.com comment="cloudflare-dns IPv4 1"; +#/ip/dns/ static remove [find where address=1.0.0.1]; +#/ip/dns/static add address=1.0.0.1 name=security.cloudflare-dns.com comment="cloudflare-dns IPv4 2" +#/ip dns static add address=2606:4700:4700::1111 name=security.cloudflare-dns.com type=AAAA +#/ip dns static add address=2606:4700:4700::1001 name=security.cloudflare-dns.com type=AAAA +#/ip/dns set servers="1.0.0.1, 8.8.4.4"; #/ip/dns set servers=""; \ No newline at end of file -- 2.52.0