Compare commits

..

122 commits

Author SHA1 Message Date
Christian Hesse
c4db75112c Merge branch 'dhcp-to-dns' into next 2026-05-27 09:12:19 +02:00
Christian Hesse
655e60b923 bump required RouterOS version for all scripts 2026-05-27 09:12:19 +02:00
Christian Hesse
99facacb59 dhcp-to-dns: allow to ignore for specific lease 2026-05-27 09:12:19 +02:00
Christian Hesse
3756cd0b97 global-functions: $NetMask6: use shift operator...
... and drop the workaround. This requires RouterOS 7.22beta3.
2026-05-27 09:12:19 +02:00
Christian Hesse
69a45a51d3 update list of contributors 2026-05-27 09:12:19 +02:00
Christian Hesse
455199e6f1 Merge branch 'break-in-loop' into next 2026-05-27 09:12:19 +02:00
Łukasz Witkowski
71df93e011 dhcp-to-dns: allow to specify domain for CNAMEs...
... in network or lease.
2026-05-27 09:12:19 +02:00
Christian Hesse
49aad306b8 Merge branch 'continue-in-loop' into next 2026-05-27 09:12:19 +02:00
Christian Hesse
37d1fb2cf6 telegram-chat: fix indention 2026-05-27 09:12:19 +02:00
Łukasz Witkowski
172298f5eb dhcp-to-dns: set $LeaseInfo 2026-05-27 09:12:19 +02:00
Christian Hesse
517b81e929 Merge branch 'early-exit-with-exit' into next 2026-05-27 09:12:19 +02:00
Christian Hesse
ef269833fa dhcp-to-dns: fix indention 2026-05-27 09:12:19 +02:00
Christian Hesse
a568ad7c26 telegram-chat: use :break in loop 2026-05-27 09:12:19 +02:00
Łukasz Witkowski
df289640bc dhcp-to-dns: convert DNS names to lower case 2026-05-27 09:12:19 +02:00
Christian Hesse
78f80309cd global-functions: deprecate $ExitError 2026-05-27 09:12:19 +02:00
Christian Hesse
37793282dc dhcp-to-dns: use another :continue in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
f17009399e check-certificates: use :break in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
0c3ef1b0dc dhcp-to-dns: support to ignore networks
Closes: https://github.com/eworm-de/routeros-scripts/issues/119
2026-05-27 09:12:19 +02:00
Christian Hesse
e1e5b1b533 update-tunnelbroker: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
d4455b81b6 dhcp-to-dns: use :continue in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
e9eb7aec82 update-gre-address: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
2198c8621f telegram-chat: use :continue in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
de4c59ca4e telegram-chat: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
9662a21108 netwatch-dns: fix indention 2026-05-27 09:12:19 +02:00
Christian Hesse
c92ec0cf19 sms-forward: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
7725f3f67b netwatch-dns: use :continue in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
472577f133 sms-action: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
9f38ff4a76 netwatch-dns: fix indention 2026-05-27 09:12:19 +02:00
Christian Hesse
0fb18070a3 ppp-on-up: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
b5c821e5d2 netwatch-dns: use :continue in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
e622864547 packages-update: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
6ded97deb4 global-functions: $ScriptInstallUpdate: fix indention 2026-05-27 09:12:19 +02:00
Christian Hesse
fd13f686cc ospf-to-leds: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
d42570cbb8 global-functions: $ScriptInstallUpdate: use :continue in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
77851ae35d netwatch-notify: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
c14ed7ca0d global-functions: $CleanName: use :continue in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
e18b92cf06 netwatch-dns: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
439774820f fw-addr-lists: fix indention 2026-05-27 09:12:19 +02:00
Christian Hesse
cc77a31070 log-forward: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
083625d8ae fw-addr-lists: use :continue in loop 2026-05-27 09:12:19 +02:00
Christian Hesse
f26ef76322 ipv6-update: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
d51f41728f ipsec-to-dns: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
a420cfde8f hotspot-to-wpa-cleanup: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
be0e7e979a hotspot-to-wpa: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
6de0471b38 gps-track: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
e089ed3de6 fw-addr-lists: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
de9b16a8b5 firmware-upgrade-reboot: early exit with :exit 2026-05-27 09:12:19 +02:00
Christian Hesse
24ecc2da33 Merge branch 'compare-ids' into next 2026-05-27 09:12:18 +02:00
Christian Hesse
38cd38b6eb dhcpv6-client-lease: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
b00a213e0c Merge branch 'convert-to-url' into next 2026-05-27 09:12:18 +02:00
Christian Hesse
8f26163270 global-functions: deprecate $HexToNum 2026-05-27 09:12:18 +02:00
Christian Hesse
f16dbc6dd5 dhcpv4-server-lease: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
ffbab5d9ed bump required RouterOS version for all scripts 2026-05-27 09:12:18 +02:00
Christian Hesse
d637104a9d global-functions: deprecate $UrlEncode 2026-05-27 09:12:18 +02:00
Christian Hesse
22cff60d2b log-forward: fix indention 2026-05-27 09:12:18 +02:00
Christian Hesse
6c61c9eeac dhcp-to-dns: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
d0b4e34b0b Merge branch 'drop-builtin-trust-anchors' into next 2026-05-27 09:12:18 +02:00
Christian Hesse
7fe2785887 mod/notification-telegram: use :convert for url-encoding 2026-05-27 09:12:18 +02:00
Christian Hesse
ee1c51dd1d 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-27 09:12:18 +02:00
Christian Hesse
f42d3a1b00 dhcp-lease-comment: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
2fc7f27e90 mod/notification-email: get property by name
This works now that we require RouterOS 7.21 anyway.
2026-05-27 09:12:18 +02:00
Christian Hesse
51150fe467 INITIAL-COMMANDS: drop the old builtin-trust-anchors 2026-05-27 09:12:18 +02:00
Christian Hesse
c408868148 mod/notification-ntfy: use :convert for url-encoding 2026-05-27 09:12:18 +02:00
Christian Hesse
bf620c5098 daily-psk: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
2b7eae86df 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-27 09:12:18 +02:00
Christian Hesse
9a9f94a721 global-functions: $CertificateDownload: drop the old builtin-trust-anchors 2026-05-27 09:12:18 +02:00
Christian Hesse
f4d653f9c0 mod/notification-matrix: use :convert for url-encoding 2026-05-27 09:12:18 +02:00
Christian Hesse
39be0980f7 collect-wireless-mac: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
f0a4a2797d Merge branch 'toarray-delimiter' into next 2026-05-27 09:12:18 +02:00
Christian Hesse
9bfa599894 global-functions: $CertificateAvailable: drop the old builtin-trust-anchors 2026-05-27 09:12:18 +02:00
Christian Hesse
58afe6d632 daily-psk: use :convert for url-encoding 2026-05-27 09:12:18 +02:00
Christian Hesse
6778eafa63 check-routeros-update: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
dfdfdd69c2 Merge branch 'lets-encrypt-new-chain' into next 2026-05-27 09:12:18 +02:00
Christian Hesse
bde5b9440e check-health: use :toarray's new delimiter= 2026-05-27 09:12:18 +02:00
Christian Hesse
3588d265b7 README: drop the old builtin-trust-anchors 2026-05-27 09:12:18 +02:00
Christian Hesse
0b2f6eeb01 check-certificates: use :convert for url-encoding 2026-05-27 09:12:18 +02:00
Christian Hesse
fe75292dee check-perpetual-license: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
e4c93e8ae2 Merge branch 'html-class-shadow' into next 2026-05-27 09:12:18 +02:00
Christian Hesse
6d0574d58c INITIAL-COMMANDS: Let's Encrypt switched back to new chain (Gen Y)
This reverts commit 2a6567135e.
2026-05-27 09:12:18 +02:00
Christian Hesse
395aaf50dd fw-addr-lists: get both Let's Encrypt certificates for rsc.eworm.de 2026-05-27 09:12:18 +02:00
Christian Hesse
44465137e0 check-lte-firmware-upgrade: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
fa1e86169d contrib/logo-color: add class (and shadow) for screenshots 2026-05-27 09:12:18 +02:00
Christian Hesse
643e0cd140 README: Let's Encrypt switched back to new chain (Gen Y)
This reverts commit 7ad60ac704.
2026-05-27 09:12:18 +02:00
Christian Hesse
8eefd0ea38 fw-addr-lists: support giving several certificates...
... by delimiting with a colon.
2026-05-27 09:12:18 +02:00
Christian Hesse
3f04d2edf6 check-health: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
0e5c07e344 contrib/html: support any class name from image alt text 2026-05-27 09:12:18 +02:00
Christian Hesse
e13bd18a59 certs: Let's Encrypt switched back to new chain (Gen Y)
This reverts commit 59e0c4460e.
2026-05-27 09:12:18 +02:00
Christian Hesse
e93422670f 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-27 09:12:18 +02:00
Christian Hesse
3ce91fb5b0 check-certificates: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
ac2230f53d general/style: add shadow for code blocks 2026-05-27 09:12:18 +02:00
Christian Hesse
8e855feaeb certificate-renew-issued: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
09a93fda5e contrib/html: add class and shadow for screenshots 2026-05-27 09:12:18 +02:00
Christian Hesse
e2e31b8830 capsman-rolling-upgrade: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
7dc7af8907 contrib/html: add a class and shadow for notifications 2026-05-27 09:12:18 +02:00
Christian Hesse
efd74b0a98 capsman-download-packages: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
37e5a98dbc doc/telegram-chat: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
edcab3358a backup-upload: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
4d5c222a87 doc/sms-forward: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
8a373be34b backup-partition: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
cfddf5fc54 doc/netwatch-notify: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
806e9b9457 backup-email: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
53a4eb27d5 doc/mod/scriptrunonce: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
ab608f6174 backup-cloud: early exit with :exit 2026-05-27 09:12:18 +02:00
Christian Hesse
44afc407fb doc/mod/notification-telegram: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
bc002809d6 doc/mod/notification-matrix: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
16844294c4 doc/mod/notification-gotify: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
8df5d9a732 doc/mod/ipcalc: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
36e611be7a doc/mod/inspectvar: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
2b0bea31f5 doc/log-forward: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
8e2d06ef2e doc/daily-psk: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
833b6aba9a doc/collect-wireless-mac: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
7f50307f60 doc/check-routeros-update: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
23a05be38b doc/check-perpetual-license: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
418d418435 doc/check-lte-firmware-upgrade: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
661d48dc93 doc/check-health: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
c132bdf329 doc/check-certificates: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
d12282e3b5 doc/backup-upload: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
85823338ab doc/backup-cloud: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
d75da3e5f5 README: start image alt text with 'notification:' or 'screenshot:' 2026-05-27 09:12:18 +02:00
Christian Hesse
3395d0b5fb contrib/html: give the head table a class 2026-05-27 09:12:18 +02:00
Christian Hesse
2c83b9d5b8 contrib/html: enclose content in span tag with class 2026-05-27 09:12:18 +02:00
Christian Hesse
281240c3fe contrib/telegram: add note for notename 2026-05-27 09:07:19 +02:00
6 changed files with 15 additions and 11 deletions

View file

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5 KiB

After

Width:  |  Height:  |  Size: 4.9 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 different location (for example from github.com) install the corresponding
certificate chain. certificate chain.
/tool/fetch "https://rsc.eworm.de/main/certs/ISRG-Root-X2.pem" dst-path="isrg-root-x2.pem"; /tool/fetch "https://rsc.eworm.de/main/certs/Root-YE.pem" dst-path="root-ye.pem";
![screenshot: download certs](README.d/01-download-certs.avif) ![screenshot: download certs](README.d/01-download-certs.avif)
> **Info**: Note that the command above does *not* verify server > **Info**: Note that the command above does *not* verify server
> certificate, so if you want to be safe download with your workstations's > 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: > browser from CA's website and transfer the file to your MikroTik device:
> *Let's Encrypt* / *ISRG* [ISRG Root X2 ↗️](https://letsencrypt.org/certs/isrg-root-x2.pem) > *Let's Encrypt* / *ISRG* [Root YE ↗️](https://letsencrypt.org/certs/gen-y/root-ye.pem)
Then we import the certificate. Then we import the certificate.
/certificate/import file-name="isrg-root-x2.pem" passphrase=""; /certificate/import file-name="root-ye.pem" passphrase="";
Do not worry that the command is not shown - that happens because it contains Do not worry that the command is not shown - that happens because it contains
a sensitive property, the passphrase. a sensitive property, the passphrase.
@ -141,11 +141,11 @@ a sensitive property, the passphrase.
![screenshot: import certs](README.d/02-import-certs.avif) ![screenshot: import certs](README.d/02-import-certs.avif)
For basic verification we rename the certificate and print it by For basic verification we rename the certificate and print it by
fingerprint. Make sure exactly this one certificate ("*ISRG-Root-X2*") fingerprint. Make sure exactly this one certificate ("*Root-YE*")
is shown. is shown.
/certificate/set name="ISRG-Root-X2" [ find where common-name="ISRG Root X2" ]; /certificate/set name="Root-YE" [ find where common-name="Root YE" ];
/certificate/print proplist=name,fingerprint where fingerprint="69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470"; /certificate/print proplist=name,fingerprint where fingerprint="e14ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666";
![screenshot: check certs](README.d/03-check-certs.avif) ![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 \ cloudflare-dns.com/SSL-com-Root-Certification-Authority-ECC \
dns.google/GTS-Root-RX \ dns.google/GTS-Root-RX \
dns.quad9.net/DigiCert-Global-Root-G3 \ dns.quad9.net/DigiCert-Global-Root-G3 \
git.eworm.de/ISRG-Root-X2 \ git.eworm.de/Root-YE \
gitlab.com/USERTrust-RSA-Certification-Authority \ gitlab.com/USERTrust-RSA-Certification-Authority \
lists.blocklist.de/GTS-Root-R4 \ lists.blocklist.de/GTS-Root-R4 \
matrix.org/GTS-Root-R4 \ matrix.org/GTS-Root-R4 \
raw.githubusercontent.com/ISRG-Root-X1 \ raw.githubusercontent.com/ISRG-Root-X1 \
rsc.eworm.de/ISRG-Root-X2 \ rsc.eworm.de/Root-YE \
upgrade.mikrotik.com/ISRG-Root-X1 upgrade.mikrotik.com/ISRG-Root-X1
DOMAINS_IPV4 = \ DOMAINS_IPV4 = \
1.1.1.1/SSL-com-Root-Certification-Authority-ECC \ 1.1.1.1/SSL-com-Root-Certification-Authority-ECC \

View file

@ -263,6 +263,10 @@ Notes
/save next Another satisfied user. 😊 Next, please! /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 #### 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/). /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/).