Compare commits

..

117 commits

Author SHA1 Message Date
Christian Hesse
9d7b4157d6 Merge branch 'dhcp-to-dns' into next 2026-05-20 09:16:45 +02:00
Christian Hesse
0aac905859 bump required RouterOS version for all scripts 2026-05-20 09:16:45 +02:00
Christian Hesse
90b1e03302 dhcp-to-dns: allow to ignore for specific lease 2026-05-20 09:16:45 +02:00
Christian Hesse
0d84272ee9 global-functions: $NetMask6: use shift operator...
... and drop the workaround. This requires RouterOS 7.22beta3.
2026-05-20 09:16:45 +02:00
Christian Hesse
5a138ba18f update list of contributors 2026-05-20 09:16:45 +02:00
Christian Hesse
09389ee857 Merge branch 'break-in-loop' into next 2026-05-20 09:16:45 +02:00
Łukasz Witkowski
8dd3a5ab84 dhcp-to-dns: allow to specify domain for CNAMEs...
... in network or lease.
2026-05-20 09:16:45 +02:00
Christian Hesse
1d46786a69 Merge branch 'continue-in-loop' into next 2026-05-20 09:16:45 +02:00
Christian Hesse
0360b0484d telegram-chat: fix indention 2026-05-20 09:16:45 +02:00
Łukasz Witkowski
d79da00eca dhcp-to-dns: set $LeaseInfo 2026-05-20 09:16:45 +02:00
Christian Hesse
a4704e1369 Merge branch 'early-exit-with-exit' into next 2026-05-20 09:16:45 +02:00
Christian Hesse
b5527ef1a0 dhcp-to-dns: fix indention 2026-05-20 09:16:45 +02:00
Christian Hesse
a15f0d89f6 telegram-chat: use :break in loop 2026-05-20 09:16:45 +02:00
Łukasz Witkowski
bad16e3625 dhcp-to-dns: convert DNS names to lower case 2026-05-20 09:16:45 +02:00
Christian Hesse
59d195254d global-functions: deprecate $ExitError 2026-05-20 09:16:45 +02:00
Christian Hesse
ac7330ed96 dhcp-to-dns: use another :continue in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
c1b29e61e2 check-certificates: use :break in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
0c38242f9c dhcp-to-dns: support to ignore networks
Closes: https://github.com/eworm-de/routeros-scripts/issues/119
2026-05-20 09:16:45 +02:00
Christian Hesse
a30fab1d1d update-tunnelbroker: early exit with :exit 2026-05-20 09:16:45 +02:00
Christian Hesse
36b8be7204 dhcp-to-dns: use :continue in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
70596943e0 update-gre-address: early exit with :exit 2026-05-20 09:16:45 +02:00
Christian Hesse
467c2dba95 telegram-chat: use :continue in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
b5538eba39 telegram-chat: early exit with :exit 2026-05-20 09:16:45 +02:00
Christian Hesse
0c9533c4f4 netwatch-dns: fix indention 2026-05-20 09:16:45 +02:00
Christian Hesse
ff6a0a301d sms-forward: early exit with :exit 2026-05-20 09:16:45 +02:00
Christian Hesse
e68a6e55ed netwatch-dns: use :continue in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
4590790aa1 netwatch-dns: fix indention 2026-05-20 09:16:45 +02:00
Christian Hesse
8bc9dd1fd6 netwatch-dns: use :continue in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
43a09049d7 global-functions: $ScriptInstallUpdate: fix indention 2026-05-20 09:16:45 +02:00
Christian Hesse
32f8c7f57a global-functions: $ScriptInstallUpdate: use :continue in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
1eaf866f03 global-functions: $CleanName: use :continue in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
aadc06545d fw-addr-lists: fix indention 2026-05-20 09:16:45 +02:00
Christian Hesse
c0033d6969 fw-addr-lists: use :continue in loop 2026-05-20 09:16:45 +02:00
Christian Hesse
d1e3bc8cbc Merge branch 'compare-ids' into next 2026-05-20 09:16:44 +02:00
Christian Hesse
f64aa260ce sms-action: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
9911c8a0be Merge branch 'html-class-shadow' into next 2026-05-20 09:16:44 +02:00
Christian Hesse
71c0a8f288 global-functions: deprecate $HexToNum 2026-05-20 09:16:44 +02:00
Christian Hesse
93ebc2f6a9 ppp-on-up: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
d08f01c5d3 contrib/logo-color: add class (and shadow) for screenshots 2026-05-20 09:16:44 +02:00
Christian Hesse
3e380a0d6a log-forward: fix indention 2026-05-20 09:16:44 +02:00
Christian Hesse
9df63ea966 packages-update: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
9bc9238598 contrib/html: support any class name from image alt text 2026-05-20 09:16:44 +02:00
Christian Hesse
f00145405c 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-05-20 09:16:44 +02:00
Christian Hesse
8efef50b29 ospf-to-leds: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
16223b7a03 general/style: add shadow for code blocks 2026-05-20 09:16:44 +02:00
Christian Hesse
624b91d317 netwatch-notify: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
024405c43d contrib/html: add class and shadow for screenshots 2026-05-20 09:16:44 +02:00
Christian Hesse
3823a4a444 netwatch-dns: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
ac28f5661a contrib/html: add a class and shadow for notifications 2026-05-20 09:16:44 +02:00
Christian Hesse
882bbb70f5 log-forward: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
1c15667b7b doc/telegram-chat: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
bf6d987626 ipv6-update: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
e1e98bee69 doc/sms-forward: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
e93a9da3bb ipsec-to-dns: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
5fe68bc79c doc/netwatch-notify: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
27c22de25f hotspot-to-wpa-cleanup: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
9010282a71 doc/mod/scriptrunonce: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
0bdf4edf8d hotspot-to-wpa: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
304c936323 doc/mod/notification-telegram: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
bc630d8cb8 gps-track: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
643389672f doc/mod/notification-matrix: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
b82ed851b9 fw-addr-lists: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
f850e71c27 doc/mod/notification-gotify: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
f5942a06e2 firmware-upgrade-reboot: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
3bd101472d doc/mod/ipcalc: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
440a30c88f dhcpv6-client-lease: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
e002259ecb doc/mod/inspectvar: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
0391a50c85 dhcpv4-server-lease: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
dd39f8022b doc/log-forward: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
cbe47b6400 dhcp-to-dns: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
834f32e70b doc/daily-psk: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
407f792157 dhcp-lease-comment: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
85c26f26e6 doc/collect-wireless-mac: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
f9e2dbc751 daily-psk: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
9dc23f80af doc/check-routeros-update: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
fd791e9e0a collect-wireless-mac: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
0470f51e29 doc/check-perpetual-license: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
5ca09e23c0 check-routeros-update: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
52a8d19def doc/check-lte-firmware-upgrade: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
600e94aada check-perpetual-license: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
801f56377d doc/check-health: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
cf2997dea3 check-lte-firmware-upgrade: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
0b860e46a6 doc/check-certificates: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
8cf1bbdfed check-health: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
ff3e565991 doc/backup-upload: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
4ae413c993 check-certificates: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
f30b560c1b doc/backup-cloud: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
f088493d02 certificate-renew-issued: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
88edc82b06 README: start image alt text with 'notification:' or 'screenshot:' 2026-05-20 09:16:44 +02:00
Christian Hesse
09da0debe0 capsman-rolling-upgrade: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
b2db005f6f contrib/html: give the head table a class 2026-05-20 09:16:44 +02:00
Christian Hesse
c0ba366c9e capsman-download-packages: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
2589115f50 contrib/html: enclose content in span tag with class 2026-05-20 09:16:44 +02:00
Christian Hesse
87ce3b8e5c backup-upload: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
602b331376 backup-partition: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
04181c8131 backup-email: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
5d5dc2fc3e backup-cloud: early exit with :exit 2026-05-20 09:16:44 +02:00
Christian Hesse
d0588231f6 Merge branch 'convert-to-url' into next 2026-05-20 09:16:39 +02:00
Christian Hesse
2c5b708f88 global-functions: deprecate $UrlEncode 2026-05-20 09:04:52 +02:00
Christian Hesse
3cdcd24428 mod/notification-telegram: use :convert for url-encoding 2026-05-20 09:02:13 +02:00
Christian Hesse
ef3edd3b3d mod/notification-ntfy: use :convert for url-encoding 2026-05-20 09:01:16 +02:00
Christian Hesse
7dd3c86fe0 mod/notification-matrix: use :convert for url-encoding 2026-05-20 09:00:33 +02:00
Christian Hesse
f380d0ae66 daily-psk: use :convert for url-encoding 2026-05-20 08:59:25 +02:00
Christian Hesse
332b91e75d check-certificates: use :convert for url-encoding 2026-05-20 08:58:22 +02:00
Christian Hesse
727a92738c bump required RouterOS version for all scripts 2026-05-14 23:01:23 +02:00
Christian Hesse
baf819b751 Merge branch 'drop-builtin-trust-anchors' into next 2026-05-14 23:01:23 +02:00
Christian Hesse
13c2616453 mod/notification-email: get property by name
This works now that we require RouterOS 7.21 anyway.
2026-05-14 23:01:23 +02:00
Christian Hesse
d960af89ce INITIAL-COMMANDS: drop the old builtin-trust-anchors 2026-05-14 23:01:23 +02:00
Christian Hesse
ac3346b5f6 mod/notification-email: use errors from command...
... instead of reading status from properties. This was introduced in
RouterOS 7.21beta2 (and we bump to 7.21 instead).
2026-05-14 23:01:23 +02:00
Christian Hesse
333b214fd8 global-functions: $CertificateDownload: drop the old builtin-trust-anchors 2026-05-14 23:01:23 +02:00
Christian Hesse
ed3b4cdb53 Merge branch 'toarray-delimiter' into next 2026-05-14 23:01:23 +02:00
Christian Hesse
3b1ce63c06 global-functions: $CertificateAvailable: drop the old builtin-trust-anchors 2026-05-14 23:01:23 +02:00
Christian Hesse
bbc2d5df2e check-health: use :toarray's new delimiter= 2026-05-14 23:01:23 +02:00
Christian Hesse
bd6b5294b8 README: drop the old builtin-trust-anchors 2026-05-14 23:01:23 +02:00
Christian Hesse
34a4d70f24 fw-addr-lists: get both Let's Encrypt certificates for rsc.eworm.de 2026-05-14 23:01:23 +02:00
Christian Hesse
bf46f980aa fw-addr-lists: support giving several certificates...
... by delimiting with a colon.
2026-05-14 23:01:23 +02:00
Christian Hesse
c42709cd9b netwatch-dns: use :toarray's new delimiter= to split cert names
The new delimiter= parameter for :toarray with introduced in
RouterOS 7.21.
2026-05-14 23:01:23 +02:00
6 changed files with 11 additions and 15 deletions

View file

@ -18,9 +18,9 @@ Run the complete base installation:
{
:local BaseUrl "https://rsc.eworm.de/main/";
:local CertCommonName "Root YE";
:local CertFileName "Root-YE.pem";
:local CertFingerprint "e14ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666";
:local CertCommonName "ISRG Root X2";
:local CertFileName "ISRG-Root-X2.pem";
:local CertFingerprint "69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470";
:local CertSettings [ /certificate/settings/get ];
:if (!((($CertSettings->"builtin-trust-store") ~ "fetch" || \

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 5 KiB

Before After
Before After

View file

@ -122,18 +122,18 @@ If you intend to download the scripts from a
different location (for example from github.com) install the corresponding
certificate chain.
/tool/fetch "https://rsc.eworm.de/main/certs/Root-YE.pem" dst-path="root-ye.pem";
/tool/fetch "https://rsc.eworm.de/main/certs/ISRG-Root-X2.pem" dst-path="isrg-root-x2.pem";
![screenshot: download certs](README.d/01-download-certs.avif)
> **Info**: Note that the command above does *not* verify server
> certificate, so if you want to be safe download with your workstations's
> browser from CA's website and transfer the file to your MikroTik device:
> *Let's Encrypt* / *ISRG* [Root YE ↗️](https://letsencrypt.org/certs/gen-y/root-ye.pem)
> *Let's Encrypt* / *ISRG* [ISRG Root X2 ↗️](https://letsencrypt.org/certs/isrg-root-x2.pem)
Then we import the certificate.
/certificate/import file-name="root-ye.pem" passphrase="";
/certificate/import file-name="isrg-root-x2.pem" passphrase="";
Do not worry that the command is not shown - that happens because it contains
a sensitive property, the passphrase.
@ -141,11 +141,11 @@ a sensitive property, the passphrase.
![screenshot: import certs](README.d/02-import-certs.avif)
For basic verification we rename the certificate and print it by
fingerprint. Make sure exactly this one certificate ("*Root-YE*")
fingerprint. Make sure exactly this one certificate ("*ISRG-Root-X2*")
is shown.
/certificate/set name="Root-YE" [ find where common-name="Root YE" ];
/certificate/print proplist=name,fingerprint where fingerprint="e14ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666";
/certificate/set name="ISRG-Root-X2" [ find where common-name="ISRG Root X2" ];
/certificate/print proplist=name,fingerprint where fingerprint="69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470";
![screenshot: check certs](README.d/03-check-certs.avif)

View file

@ -12,12 +12,12 @@ DOMAINS_DUAL = \
cloudflare-dns.com/SSL-com-Root-Certification-Authority-ECC \
dns.google/GTS-Root-RX \
dns.quad9.net/DigiCert-Global-Root-G3 \
git.eworm.de/Root-YE \
git.eworm.de/ISRG-Root-X2 \
gitlab.com/USERTrust-RSA-Certification-Authority \
lists.blocklist.de/GTS-Root-R4 \
matrix.org/GTS-Root-R4 \
raw.githubusercontent.com/ISRG-Root-X1 \
rsc.eworm.de/Root-YE \
rsc.eworm.de/ISRG-Root-X2 \
upgrade.mikrotik.com/ISRG-Root-X1
DOMAINS_IPV4 = \
1.1.1.1/SSL-com-Root-Certification-Authority-ECC \

View file

@ -263,10 +263,6 @@ Notes
/save next Another satisfied user. 😊 Next, please!
#### Notename
/save notename The `notename` is just an example from my note listing. Use the literal name of the note you want to see!
#### Off-topic
/save off-topic Please note this group is not about MikroTik RouterOS in general, but [RouterOS Scripts](https://rsc.eworm.de/). Your request is not about scripting at all, so please discuss somewhere else. See the [MikroTik RouterOS users (english)](https://t.me/RouterOS_users_english) group or official Mikrotik forums (https://forum.mikrotik.com/).