From 29a82d1a42d64969d5d8cad19ec3778e2a8390cb Mon Sep 17 00:00:00 2001
From: Christian Hesse
Date: Mon, 10 Nov 2025 11:20:47 +0100
Subject: [PATCH 10/41] README: support new builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
---
README.md | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 529bb4c4..b77538dd 100644
--- a/README.md
+++ b/README.md
@@ -78,7 +78,10 @@ download the certificates.
> can skip the steps regarding certificate download and import and jump
> to [installation of scripts](#installation-of-scripts) if you set the
> trust for these builtin trust anchors:
-> `/certificate/settings/set builtin-trust-anchors=trusted;`
+> `/certificate/settings/set builtin-trust-anchors=trusted;`
+> With RouterOS 7.21 the functionality was changed. Set this at minimum,
+> but make sure not to drop other targets:
+> `/certificate/settings/set builtin-trust-store=fetch;`
If you intend to download the scripts from a
different location (for example from github.com) install the corresponding
From 2e1d59721f06316ba6b139375a6467c7870063cf Mon Sep 17 00:00:00 2001
From: Christian Hesse
Date: Wed, 29 Oct 2025 16:06:42 +0100
Subject: [PATCH 11/41] contrib/notification: update date format
---
contrib/notification.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/contrib/notification.html b/contrib/notification.html
index 3bc86fcb..c86450cf 100644
--- a/contrib/notification.html
+++ b/contrib/notification.html
@@ -16,7 +16,7 @@
[MikroTik] ℹ️ Subject
Message
🔗 https://eworm.de/
-
⏰ This message was queued since oct/18/2022 18:30:48 and may be obsolete.
+
⏰ This message was queued since 2025-10-29 16:06:18 and may be obsolete.
✂️ The message was too long and has been truncated, cut off 13%!
@@ -25,7 +25,7 @@
Subject:
Message:
Show link:
-
Queued since
+
Queued since
Cut-off with percent
Then right-click, click "Take Screenshot" and finally select the
From f7e9f529d0c1519ffaf8ef4389007ec796c8f0aa Mon Sep 17 00:00:00 2001
From: Christian Hesse
Date: Mon, 10 Nov 2025 11:38:31 +0100
Subject: [PATCH 12/41] INITIAL-COMMANDS: support new builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
---
INITIAL-COMMANDS.md | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/INITIAL-COMMANDS.md b/INITIAL-COMMANDS.md
index 40f609b9..6e70b66a 100644
--- a/INITIAL-COMMANDS.md
+++ b/INITIAL-COMMANDS.md
@@ -22,8 +22,11 @@ Run the complete base installation:
:local CertFileName "ISRG-Root-X2.pem";
:local CertFingerprint "69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470";
- :if (!(([ /certificate/settings/get ]->"builtin-trust-anchors") = "trusted" && \
- [[ :parse (":return [ :len [ /certificate/builtin/find where common-name=\"" . $CertCommonName . "\" ] ]") ]] > 0)) do={
+ :local CertSettings [ /certificate/settings/get ];
+ :if (!((($CertSettings->"builtin-trust-anchors") = "trusted" || \
+ ($CertSettings->"builtin-trust-store") ~ "fetch" || \
+ ($CertSettings->"builtin-trust-store") = "all") && \
+ [[ :parse (":return [ :len [ /certificate/builtin/find where common-name=\"" . $CertCommonName . "\" ] ]") ]] > 0)) do={
:put "Importing certificate...";
/tool/fetch ($BaseUrl . "certs/" . $CertFileName) dst-path=$CertFileName as-value;
:delay 1s;
From 42ad0d310f857ad7b20d791e08c297a3afe86032 Mon Sep 17 00:00:00 2001
From: Christian Hesse
Date: Wed, 29 Oct 2025 16:11:23 +0100
Subject: [PATCH 13/41] contrib/notification: format the values italic
---
contrib/notification.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/contrib/notification.html b/contrib/notification.html
index c86450cf..a4d04864 100644
--- a/contrib/notification.html
+++ b/contrib/notification.html
@@ -16,8 +16,8 @@
[MikroTik] ℹ️ Subject
Message
🔗 https://eworm.de/
-
⏰ This message was queued since 2025-10-29 16:06:18 and may be obsolete.
-
✂️ The message was too long and has been truncated, cut off 13%!
+
⏰ This message was queued since 2025-10-29 16:06:18 and may be obsolete.
+
✂️ The message was too long and has been truncated, cut off 13%!
From daf1cfb3810a8ec96e7271d23b14d3f545500105 Mon Sep 17 00:00:00 2001
From: Christian Hesse
Date: Mon, 10 Nov 2025 11:47:55 +0100
Subject: [PATCH 14/41] global-functions: $CertificateAvailable: support new
builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
---
global-functions.rsc | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/global-functions.rsc b/global-functions.rsc
index eb837aa1..9f92b07a 100644
--- a/global-functions.rsc
+++ b/global-functions.rsc
@@ -106,11 +106,15 @@
# check and download required certificate
:set CertificateAvailable do={
:local CommonName [ :tostr $1 ];
+ :local UseFor [ :tostr $2 ];
:global CertificateDownload;
+ :global EitherOr;
:global LogPrint;
:global ParseKeyValueStore;
+ :set UseFor [ $EitherOr $UseFor "undefined" ];
+
:if ([ /system/resource/get free-hdd-space ] < 8388608 && \
[ /certificate/settings/get crl-download ] = true && \
[ /certificate/settings/get crl-store ] = "system") do={
@@ -123,7 +127,10 @@
:return false;
}
- :if (([ /certificate/settings/get ]->"builtin-trust-anchors") = "trusted" && \
+ :local CertSettings [ /certificate/settings/get ];
+ :if ((($CertSettings->"builtin-trust-anchors") = "trusted" || \
+ ($CertSettings->"builtin-trust-store") ~ $UseFor || \
+ ($CertSettings->"builtin-trust-store") = "all") && \
[[ :parse (":return [ :len [ /certificate/builtin/find where common-name=\"" . $CommonName . "\" ] ]") ]] > 0) do={
:return true;
}
From 5c9825760fb09b9b22dd4c25d7b4b5c785e2e037 Mon Sep 17 00:00:00 2001
From: Christian Hesse
Date: Tue, 11 Nov 2025 16:25:01 +0100
Subject: [PATCH 15/41] doc/mod/notification-telegram: use relative reference
in link
This may break, depending on site.
---
doc/mod/notification-telegram.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/mod/notification-telegram.md b/doc/mod/notification-telegram.md
index 804104fa..05180b2a 100644
--- a/doc/mod/notification-telegram.md
+++ b/doc/mod/notification-telegram.md
@@ -107,7 +107,7 @@ chat with [BotFather ↗️](https://t.me/BotFather) and set it there.

Have a look at my
-[RouterOS-Scripts Logo Color Changer](https://git.eworm.de/cgit/routeros-scripts/plain/contrib/logo-color.html)
+[RouterOS-Scripts Logo Color Changer](../../contrib/logo-color.html)
to create a colored version of this scripts' logo.
See also
From 0f1f9a467f3f978a2837b556bd94ee56e1b2361d Mon Sep 17 00:00:00 2001
From: Christian Hesse
Date: Mon, 10 Nov 2025 11:59:28 +0100
Subject: [PATCH 16/41] global-functions: $DownloadPackage: define certificate
use
---
global-functions.rsc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/global-functions.rsc b/global-functions.rsc
index 9f92b07a..412777c8 100644
--- a/global-functions.rsc
+++ b/global-functions.rsc
@@ -404,7 +404,7 @@
:return true;
}
- :if ([ $CertificateAvailable "ISRG Root X1" ] = false) do={
+ :if ([ $CertificateAvailable "ISRG Root X1" "fetch" ] = false) do={
$LogPrint error $0 ("Downloading required certificate failed.");
:return false;
}
From b20f025fc5ed7681252e770c2effed85d2a237a5 Mon Sep 17 00:00:00 2001
From: Christian Hesse
Date: Tue, 11 Nov 2025 16:27:59 +0100
Subject: [PATCH 17/41] contrib/logo-color: use relative reference in link
... without extra path elements.
This may break, depending on site.
---
contrib/logo-color.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/logo-color.html b/contrib/logo-color.html
index 8ee1ba95..9962e999 100644
--- a/contrib/logo-color.html
+++ b/contrib/logo-color.html
@@ -33,7 +33,7 @@ logo and download it.
for other browsers may differ.)