mirror of
https://git.eworm.de/cgit/routeros-scripts
synced 2025-07-15 12:34:27 +02:00
netwatch-dns: get doh host name from static dns
This commit is contained in:
parent
1cc0e3429b
commit
81a86ee043
2 changed files with 15 additions and 1 deletions
|
@ -43,6 +43,15 @@ Giving a specific query url for DoH is possible:
|
|||
|
||||
Note that using a name in DoH url may introduce a chicken-and-egg issue!
|
||||
|
||||
Adding a static DNS record has the same result for the url, but always
|
||||
resolves to the same address.
|
||||
|
||||
/ip/dns/static/add name="dns.nextdns.io" address=199.247.16.158;
|
||||
/tool/netwatch/add comment="doh" host=199.247.16.158;
|
||||
|
||||
Be aware that you have to keep the ip address in sync with real world
|
||||
manually!
|
||||
|
||||
Importing a certificate automatically is possible, at least if available in
|
||||
the repository (see `certs` sub directory).
|
||||
|
||||
|
|
|
@ -64,10 +64,15 @@ $ScriptLock $0;
|
|||
:foreach Host in=[ /tool/netwatch/find where comment~"\\bdoh\\b" status="up" ] do={
|
||||
:local HostVal [ /tool/netwatch/get $Host ];
|
||||
:local HostInfo [ $ParseKeyValueStore ($HostVal->"comment") ];
|
||||
:local HostName [ /ip/dns/static/find where name address=($HostVal->"host") \
|
||||
(!type or type="A" or type="AAAA") !disabled !dynamic ];
|
||||
:if ([ :len $HostName ] > 0) do={
|
||||
:set HostName [ /ip/dns/static/get ($HostName->0) name ];
|
||||
}
|
||||
|
||||
:if ($HostInfo->"doh" = true && $HostInfo->"disabled" != true && $DohServer = "") do={
|
||||
:set DohServer [ $EitherOr ($HostInfo->"doh-url") \
|
||||
("https://" . $HostVal->"host" . "/dns-query") ];
|
||||
("https://" . [ $EitherOr $HostName ($HostVal->"host") ] . "/dns-query") ];
|
||||
:set DohCert ($HostInfo->"doh-cert");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue