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!
|
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
|
Importing a certificate automatically is possible, at least if available in
|
||||||
the repository (see `certs` sub directory).
|
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={
|
:foreach Host in=[ /tool/netwatch/find where comment~"\\bdoh\\b" status="up" ] do={
|
||||||
:local HostVal [ /tool/netwatch/get $Host ];
|
:local HostVal [ /tool/netwatch/get $Host ];
|
||||||
:local HostInfo [ $ParseKeyValueStore ($HostVal->"comment") ];
|
: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={
|
:if ($HostInfo->"doh" = true && $HostInfo->"disabled" != true && $DohServer = "") do={
|
||||||
:set DohServer [ $EitherOr ($HostInfo->"doh-url") \
|
:set DohServer [ $EitherOr ($HostInfo->"doh-url") \
|
||||||
("https://" . $HostVal->"host" . "/dns-query") ];
|
("https://" . [ $EitherOr $HostName ($HostVal->"host") ] . "/dns-query") ];
|
||||||
:set DohCert ($HostInfo->"doh-cert");
|
:set DohCert ($HostInfo->"doh-cert");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue