Compare commits

..

19 commits

Author SHA1 Message Date
Christian Hesse
a95077c14b fw-addr-lists.d/allow: use rsc.eworm.de in the list 2025-11-07 23:16:02 +01:00
Christian Hesse
7803d3f81a fw-addr-lists.d/{allow,block}: use short url rsc.eworm.de 2025-11-07 23:16:02 +01:00
Christian Hesse
0e23facf82 Makefile: clean up and add phony targets 2025-11-07 23:16:02 +01:00
Christian Hesse
33e8af1924 global-functions: $ScriptInstallUpdate: extra actions on 'not found' only 2025-11-07 23:16:02 +01:00
Christian Hesse
1a93c61bfd global-functions: $ScriptInstallUpdate: either or...
... but not both.
2025-11-07 23:16:02 +01:00
Christian Hesse
b0a85436e1 global-functions: $ScriptInstallUpdate: give hint on ignore
Fixes: https://github.com/eworm-de/routeros-scripts/issues/112
2025-11-07 23:16:02 +01:00
Christian Hesse
9dc1c3b96c contrib/checksums.sh: output to stdout...
... and let the Makefile redirect.
2025-11-07 23:16:02 +01:00
Christian Hesse
049f4ea608 Merge branch 'contrib' into next 2025-11-07 23:16:02 +01:00
Christian Hesse
24e3c12f02 contrib/notification: format the values italic 2025-11-07 23:16:02 +01:00
Christian Hesse
dbf332383a contrib/notification: update date format 2025-11-07 23:16:02 +01:00
Christian Hesse
76ddd94537 contrib/{logo-color,notification}: add navigation structure 2025-11-07 23:16:02 +01:00
Christian Hesse
552dbbd9b9 contrib/*: unify html code 2025-11-07 23:16:02 +01:00
Christian Hesse
a66f8edbd1 contrib/html.sh: drop comman from id/anchor 2025-11-07 23:16:02 +01:00
Christian Hesse
51a4a07032 contrib/html.sh: properly handle anchors 2025-11-07 23:16:02 +01:00
Christian Hesse
45ee884d8a contrib/html.sh: link the logo with relative path 2025-11-07 23:16:02 +01:00
Christian Hesse
6317fb8f40 contrib/html.sh: add a margin on left and right...
... for windows in landscape (wider than high).
2025-11-07 23:16:02 +01:00
Christian Hesse
a4d4365735 contrib/html.sh: link the stylesheet from top level...
... and copy it there in Makefile.
2025-11-07 22:11:25 +01:00
Christian Hesse
a5ac5138be contrib/html.sh: include stylesheet via link 2025-11-07 22:11:25 +01:00
Christian Hesse
4b8e8adb2d contrib/{logo-color,notification}: use a single style 2025-11-07 22:11:25 +01:00
13 changed files with 24 additions and 37 deletions

View file

@ -61,7 +61,7 @@ Import a certificate by CommonName
Running the function `$CertificateAvailable` with that name as parameter
makes sure the certificate is available in the device's store:
$CertificateAvailable "ISRG Root X2" "fetch";
$CertificateAvailable "ISRG Root X2";
If the certificate is actually available already nothing happens, and there
is no output. Otherwise the certificate is downloaded and imported.

View file

@ -22,11 +22,8 @@ Run the complete base installation:
:local CertFileName "ISRG-Root-X2.pem";
:local CertFingerprint "69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470";
: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={
:if (!(([ /certificate/settings/get ]->"builtin-trust-anchors") = "trusted" && \
[[ :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;

View file

@ -77,11 +77,8 @@ download the certificates.
> 💡️ **Hint**: RouterOS 7.19 comes with a builtin certificate store. You
> 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;`
> 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;`
> trust for these builtin trust anchors:
> `/certificate/settings/set builtin-trust-anchors=trusted;`
If you intend to download the scripts from a
different location (for example from github.com) install the corresponding
@ -176,7 +173,7 @@ This last step is required when ever you make changes to your configuration.
> **Info**: It is recommended to edit the configuration using the command
> line interface. If using Winbox on Windows OS, the line endings may be
> missing. To fix this run:
> missing. To fix this run:
> `/system/script/set source=[ :tocrlf [ get global-config-overlay source ] ] global-config-overlay;`
Updating scripts

View file

@ -21,7 +21,7 @@
:global CertWarnTime;
:global Identity;
:global CertificateAvailable;
:global CertificateAvailable
:global EscapeForRegEx;
:global IfThenElse;
:global LogPrint;
@ -189,7 +189,7 @@
fingerprint!=[ :tostr ($CertVal->"fingerprint") ] expires-after>$CertRenewTime ];
:local CertNewVal [ /certificate/get $CertNew ];
:if ([ $CertificateAvailable ([ $ParseKeyValueStore ($CertNewVal->"issuer") ]->"CN") "fetch" ] = false) do={
:if ([ $CertificateAvailable ([ $ParseKeyValueStore ($CertNewVal->"issuer") ]->"CN") ] = false) do={
$LogPrint warning $ScriptName ("The certificate chain is not available!");
}

View file

@ -1,9 +1,8 @@
/* stylesheet for RouterOS Scripts */
body {
background-color: transparent;
font-family: fira-sans, sans-serif;
font-size: 10pt;
line-height: 1.6;
background-color: transparent;
}
@media only screen and (orientation: landscape) {
body {

View file

@ -49,7 +49,7 @@ your server in device's certificate store.
The example below is for `matrix.org`, which uses a trust chain from *Google
Trust Services*. Run this to import the required certificate:
$CertificateAvailable "GTS Root R4" "fetch";
$CertificateAvailable "GTS Root R4";
Replace the CA certificate name with what ever is needed for your server.
You may want to find the

View file

@ -74,7 +74,7 @@
:if ([ :len ($List->"cert") ] > 0) do={
:set CheckCertificate true;
:if ([ $CertificateAvailable ($List->"cert") "fetch" ] = false) do={
:if ([ $CertificateAvailable ($List->"cert") ] = false) do={
$LogPrint warning $ScriptName ("Downloading required certificate (" . $FwListName . \
" / " . $List->"url" . ") failed, trying anyway.");
}

View file

@ -106,15 +106,11 @@
# 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={
@ -127,10 +123,7 @@
:return false;
}
:local CertSettings [ /certificate/settings/get ];
:if ((($CertSettings->"builtin-trust-anchors") = "trusted" || \
($CertSettings->"builtin-trust-store") ~ $UseFor || \
($CertSettings->"builtin-trust-store") = "all") && \
:if (([ /certificate/settings/get ]->"builtin-trust-anchors") = "trusted" && \
[[ :parse (":return [ :len [ /certificate/builtin/find where common-name=\"" . $CommonName . "\" ] ]") ]] > 0) do={
:return true;
}
@ -168,6 +161,7 @@
:global ScriptUpdatesBaseUrl;
:global ScriptUpdatesUrlSuffix;
:global CertificateAvailable;
:global CertificateNameByCN;
:global CleanName;
:global FetchUserAgentStr;
@ -404,7 +398,7 @@
:return true;
}
:if ([ $CertificateAvailable "ISRG Root X1" "fetch" ] = false) do={
:if ([ $CertificateAvailable "ISRG Root X1" ] = false) do={
$LogPrint error $0 ("Downloading required certificate failed.");
:return false;
}
@ -640,7 +634,7 @@
}
:do {
:if ([ $CertificateAvailable "GTS Root R4" "fetch" ] = false) do={
:if ([ $CertificateAvailable "GTS Root R4" ] = false) do={
$LogPrint warning $0 ("Downloading required certificate failed.");
:error false;
}
@ -1248,7 +1242,7 @@
:global SymbolForNotification;
:global ValidateSyntax;
:if ([ $CertificateAvailable "ISRG Root X2" "fetch" ] = false) do={
:if ([ $CertificateAvailable "ISRG Root X2" ] = false) do={
$LogPrint warning $0 ("Downloading certificate failed, trying without.");
}
@ -1299,7 +1293,7 @@
}
:if ([ :len ($ScriptInfo->"certificate") ] > 0) do={
:if ([ $CertificateAvailable ($ScriptInfo->"certificate") "fetch" ] = false) do={
:if ([ $CertificateAvailable ($ScriptInfo->"certificate") ] = false) do={
$LogPrint warning $0 ("Downloading certificate failed, trying without.");
}
}

View file

@ -109,7 +109,7 @@
:onerror Err {
:if ($Server = "ntfy.sh") do={
:if ([ $CertificateAvailable "ISRG Root X1" "fetch" ] = false) do={
:if ([ $CertificateAvailable "ISRG Root X1" ] = false) do={
$LogPrint warning $0 ("Downloading required certificate failed.");
:error false;
}

View file

@ -30,7 +30,7 @@
:return false;
}
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" "fetch" ] = false) do={
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" ] = false) do={
$LogPrint warning $0 ("Downloading required certificate failed.");
:return false;
}
@ -72,7 +72,7 @@
:global CertificateAvailable;
:global LogPrint;
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" "fetch" ] = false) do={
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" ] = false) do={
$LogPrint warning $0 ("Downloading required certificate failed.");
:return false;
}
@ -197,7 +197,7 @@
"&reply_to_message_id=" . ($Notification->"replyto") . "&message_thread_id=" . $ThreadId . \
"&disable_web_page_preview=true&parse_mode=MarkdownV2");
:onerror Err {
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" "fetch" ] = false) do={
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" ] = false) do={
$LogPrint warning $0 ("Downloading required certificate failed.");
:error false;
}

View file

@ -112,7 +112,7 @@
:foreach DohServer in=$DohServers do={
:if ([ :len ($DohServer->"doh-cert") ] > 0) do={
:if ([ $CertificateAvailable ($DohServer->"doh-cert") "dns" ] = false) do={
:if ([ $CertificateAvailable ($DohServer->"doh-cert") ] = false) do={
$LogPrint warning $ScriptName ("Downloading certificate failed, trying without.");
}
}

View file

@ -61,7 +61,7 @@
:set TelegramRandomDelay 0;
}
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" "fetch" ] = false) do={
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" ] = false) do={
$LogPrint warning $ScriptName ("Downloading required certificate failed.");
:set ExitOK true;
:error false;

View file

@ -28,7 +28,7 @@
:error false;
}
:if ([ $CertificateAvailable "Starfield Root Certificate Authority - G2" "fetch" ] = false) do={
:if ([ $CertificateAvailable "Starfield Root Certificate Authority - G2" ] = false) do={
$LogPrint error $ScriptName ("Downloading required certificate failed.");
:set ExitOK true;
:error false;