Compare commits

..

69 commits

Author SHA1 Message Date
Christian Hesse
4026e31efb Merge branch 'dhcp-to-dns' into next 2026-07-15 13:34:59 +02:00
Christian Hesse
44db7e9447 bump required RouterOS version for all scripts 2026-07-15 13:34:59 +02:00
Christian Hesse
9ea9a53dc1 dhcp-to-dns: allow to ignore for specific lease 2026-07-15 13:34:59 +02:00
Christian Hesse
1040cffa43 global-functions: $NetMask6: use shift operator...
... and drop the workaround. This requires RouterOS 7.22beta3.
2026-07-15 13:34:59 +02:00
Christian Hesse
1c85f37e2a update list of contributors 2026-07-15 13:34:59 +02:00
Christian Hesse
3b5073b1bd Merge branch 'break-in-loop' into next 2026-07-15 13:34:59 +02:00
Łukasz Witkowski
9d0d7cf8a3 dhcp-to-dns: allow to specify domain for CNAMEs...
... in network or lease.
2026-07-15 13:34:59 +02:00
Christian Hesse
2c1f2beb49 Merge branch 'continue-in-loop' into next 2026-07-15 13:34:59 +02:00
Christian Hesse
9496a0cb52 telegram-chat: fix indention 2026-07-15 13:34:59 +02:00
Łukasz Witkowski
84aba652d1 dhcp-to-dns: set $LeaseInfo 2026-07-15 13:34:59 +02:00
Christian Hesse
514e8dd283 Merge branch 'early-exit-with-exit' into next 2026-07-15 13:34:59 +02:00
Christian Hesse
35080e0bdf dhcp-to-dns: fix indention 2026-07-15 13:34:59 +02:00
Christian Hesse
69cc777a45 telegram-chat: use :break in loop 2026-07-15 13:34:59 +02:00
Łukasz Witkowski
7931a8df00 dhcp-to-dns: convert DNS names to lower case 2026-07-15 13:34:59 +02:00
Christian Hesse
54b74b39d6 Merge branch 'compare-ids' into next 2026-07-15 13:34:59 +02:00
Christian Hesse
33d2bbdd5f global-functions: deprecate $ExitError 2026-07-15 13:34:59 +02:00
Christian Hesse
94b691a517 dhcp-to-dns: use another :continue in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
20e0f4c6eb check-certificates: use :break in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
7da1bd39c6 dhcp-to-dns: support to ignore networks
Closes: https://github.com/eworm-de/routeros-scripts/issues/119
2026-07-15 13:34:59 +02:00
Christian Hesse
c119b051b7 global-functions: deprecate $HexToNum 2026-07-15 13:34:59 +02:00
Christian Hesse
799b72f5d4 update-tunnelbroker: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
44b9afe9b9 dhcp-to-dns: use :continue in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
0ee555cdf4 log-forward: fix indention 2026-07-15 13:34:59 +02:00
Christian Hesse
45afc3fc7b update-gre-address: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
d1a7a3112b telegram-chat: use :continue in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
b7aa4d10e9 log-forward: use comparison for ids
This was introduced with RouterOS 7.22beta1.

Initializing $LogForwardLast with boolean value looks odd, but this is
required to match the very first message.
2026-07-15 13:34:59 +02:00
Christian Hesse
c561189cea telegram-chat: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
12967c1491 netwatch-dns: fix indention 2026-07-15 13:34:59 +02:00
Christian Hesse
ed11c87872 sms-forward: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
a0b4583f31 netwatch-dns: use :continue in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
57951dce32 sms-action: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
94d3b4c54d netwatch-dns: fix indention 2026-07-15 13:34:59 +02:00
Christian Hesse
79110df6fa ppp-on-up: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
d1ab96caa6 netwatch-dns: use :continue in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
538a52be9c packages-update: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
4288882f69 global-functions: $ScriptInstallUpdate: fix indention 2026-07-15 13:34:59 +02:00
Christian Hesse
9431437fa8 ospf-to-leds: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
3f8f7a3951 global-functions: $ScriptInstallUpdate: use :continue in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
31bf3da567 netwatch-notify: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
f60d50b620 global-functions: $CleanName: use :continue in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
c36b909e65 netwatch-dns: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
c02b9e6d6d fw-addr-lists: fix indention 2026-07-15 13:34:59 +02:00
Christian Hesse
9b88ffc290 log-forward: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
b1cb6ebfca fw-addr-lists: use :continue in loop 2026-07-15 13:34:59 +02:00
Christian Hesse
6ffbe4667d ipv6-update: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
b17a2d6184 ipsec-to-dns: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
83893f7898 hotspot-to-wpa-cleanup: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
de59198763 hotspot-to-wpa: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
32d0c23df1 gps-track: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
c2f241ebf9 fw-addr-lists: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
2677fed80f firmware-upgrade-reboot: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
7f2d9780da dhcpv6-client-lease: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
cceda45d4b dhcpv4-server-lease: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
cb78380b82 dhcp-to-dns: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
51ff4204ea dhcp-lease-comment: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
c96f0d1ed2 daily-psk: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
8bd3fea5f8 collect-wireless-mac: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
77532e80d0 check-routeros-update: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
5c89f6c736 check-perpetual-license: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
c89fb2513a check-lte-firmware-upgrade: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
d4edc4fa93 check-health: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
257d9e7f2d check-certificates: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
e7075c428c certificate-renew-issued: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
ae94f436e0 capsman-rolling-upgrade: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
c2fbfd9523 capsman-download-packages: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
927c36b420 backup-upload: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
653b4687a8 backup-partition: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
611ceef233 backup-email: early exit with :exit 2026-07-15 13:34:59 +02:00
Christian Hesse
97b85d8f06 backup-cloud: early exit with :exit 2026-07-15 13:34:59 +02:00
4 changed files with 8 additions and 15 deletions

View file

@ -48,9 +48,7 @@ can be closed now.)
![screenshot: window](CERTIFICATES.d/03-window.avif) ![screenshot: window](CERTIFICATES.d/03-window.avif)
A new tab opens, showing information on the server certificate and its A new tab opens, showing information on the server certificate and its
chain of trust. The leftmost certificate is the current server certificate, chain of trust. The leftmost certificate is what we are interested in.
the rightmost one is the *certification authority* certificate and what we
are interested in.
![screenshot: certificate](CERTIFICATES.d/04-certificate.avif) ![screenshot: certificate](CERTIFICATES.d/04-certificate.avif)

View file

@ -4,7 +4,7 @@ Manage DNS and DoH servers from netwatch
[![GitHub stars](https://img.shields.io/github/stars/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=red)](https://github.com/eworm-de/routeros-scripts/stargazers) [![GitHub stars](https://img.shields.io/github/stars/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=red)](https://github.com/eworm-de/routeros-scripts/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=green)](https://github.com/eworm-de/routeros-scripts/network) [![GitHub forks](https://img.shields.io/github/forks/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=green)](https://github.com/eworm-de/routeros-scripts/network)
[![GitHub watchers](https://img.shields.io/github/watchers/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=blue)](https://github.com/eworm-de/routeros-scripts/watchers) [![GitHub watchers](https://img.shields.io/github/watchers/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=blue)](https://github.com/eworm-de/routeros-scripts/watchers)
[![required RouterOS version](https://img.shields.io/badge/RouterOS-7.24rc1-yellow?style=flat)](https://mikrotik.com/download/changelogs/) [![required RouterOS version](https://img.shields.io/badge/RouterOS-7.22-yellow?style=flat)](https://mikrotik.com/download/changelogs/)
[![Telegram group @routeros_scripts](https://img.shields.io/badge/Telegram-%40routeros__scripts-%2326A5E4?logo=telegram&style=flat)](https://t.me/routeros_scripts) [![Telegram group @routeros_scripts](https://img.shields.io/badge/Telegram-%40routeros__scripts-%2326A5E4?logo=telegram&style=flat)](https://t.me/routeros_scripts)
[![donate with PayPal](https://img.shields.io/badge/Like_it%3F-Donate!-orange?logo=githubsponsors&logoColor=orange&style=flat)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A4ZXBD6YS2W8J) [![donate with PayPal](https://img.shields.io/badge/Like_it%3F-Donate!-orange?logo=githubsponsors&logoColor=orange&style=flat)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A4ZXBD6YS2W8J)

View file

@ -112,7 +112,7 @@
:global ParseKeyValueStore; :global ParseKeyValueStore;
:if ([ :len $UseFor ] = 0) do={ :if ([ :len $UseFor ] = 0) do={
$LogPrint info $0 ("The intended use is undefined!"); $LogPrint warning $0 ("The intended use is undefined!");
:set UseFor "undefined"; :set UseFor "undefined";
} }

View file

@ -3,7 +3,7 @@
# Copyright (c) 2022-2026 Christian Hesse <mail@eworm.de> # Copyright (c) 2022-2026 Christian Hesse <mail@eworm.de>
# https://rsc.eworm.de/COPYING.md # https://rsc.eworm.de/COPYING.md
# #
# requires RouterOS, version=7.24rc1 # requires RouterOS, version=7.22
# requires device-mode, fetch # requires device-mode, fetch
# #
# monitor and manage dns/doh with netwatch # monitor and manage dns/doh with netwatch
@ -113,16 +113,11 @@
:local I 1; :local I 1;
:retry { :retry {
:set I ($I ^ 1); :set I ($I ^ 1);
:local Url (($DohServer->"doh-url") . "?dns=" . [ :convert to=base64 ([ :rndstr length=2 ] . \
"\01\00" . "\00\01" . "\00\00" . "\00\00" . "\00\00" . "\09doh-check\05eworm" . \
({ "\02de"; "\03net" }->$I) . "\00" . "\00\10" . "\00\01") ]);
:do {
:set Data ([ /tool/fetch check-certificate=yes-without-crl output=user http-version=http2 \
http-header-field=({ "accept: application/dns-message" }) url=$Url as-value ]->"data");
} on-error={
:set Data ([ /tool/fetch check-certificate=yes-without-crl output=user \ :set Data ([ /tool/fetch check-certificate=yes-without-crl output=user \
http-header-field=({ "accept: application/dns-message" }) url=$Url as-value ]->"data"); http-header-field=({ "accept: application/dns-message" }) \
} url=(($DohServer->"doh-url") . "?dns=" . [ :convert to=base64 ([ :rndstr length=2 ] . \
"\01\00" . "\00\01" . "\00\00" . "\00\00" . "\00\00" . "\09doh-check\05eworm" . \
({ "\02de"; "\03net" }->$I) . "\00" . "\00\10" . "\00\01") ]) as-value ]->"data");
} delay=500ms max=6; } delay=500ms max=6;
} do={ } do={
$LogPrint warning $ScriptName ("Request to DoH server " . ($DohServer->"doh-url") . \ $LogPrint warning $ScriptName ("Request to DoH server " . ($DohServer->"doh-url") . \