Compare commits

...

48 commits

Author SHA1 Message Date
Christian Hesse
c63826c99f doc/mod/scriptrunonce: get script from rsc.eworm.de 2025-11-12 00:25:18 +01:00
Christian Hesse
046c3811af INITIAL-COMMANDS: install from rsc.eworm.de 2025-11-12 00:23:37 +01:00
Christian Hesse
543c4424e7 README: install from rsc.eworm.de 2025-11-12 00:23:02 +01:00
Christian Hesse
e2fea6eb1e contrib/Makefile: hide the hint on broken site 2025-11-12 00:11:16 +01:00
Christian Hesse
515edeaf44 contrib/notification: hint on possibly broken site 2025-11-12 00:11:16 +01:00
Christian Hesse
25e6780f2a contrib/logo-color: hint on possibly broken site 2025-11-12 00:11:16 +01:00
Christian Hesse
f273392d7d contrib/html: hide the hint on broken link 2025-11-12 00:01:55 +01:00
Christian Hesse
6be669632b doc/mod/notification-telegram: hint on possibly broken link 2025-11-11 23:59:56 +01:00
Christian Hesse
3b94878e0d README: add a sub-section for code hosting 2025-11-11 23:59:56 +01:00
Christian Hesse
e938ea8f0b README: add the url verbatim 2025-11-11 23:59:56 +01:00
Christian Hesse
9b34f60b89 general/style: make the blockquote darker 2025-11-11 23:59:56 +01:00
Christian Hesse
a94c72493a contrib/notification: add a head with eworm, QR code and caption 2025-11-11 23:59:56 +01:00
Christian Hesse
64b651b6d7 contrib/logo-color: add a head with eworm, QR code and caption 2025-11-11 23:59:56 +01:00
Christian Hesse
c9da2423aa contrib/html: add a head with eworm, QR code and caption 2025-11-11 23:59:56 +01:00
Christian Hesse
237e04c25d README: move the QR code 2025-11-11 23:59:56 +01:00
Christian Hesse
4b92dcd3ed Merge branch 'builtin-trust-store' into next 2025-11-11 23:59:56 +01:00
Christian Hesse
3fa0690b9d README: add a line break before command 2025-11-11 23:59:56 +01:00
Christian Hesse
41c349a04c doc/mod/notification-matrix: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
254a89886d fw-addr-lists.d/allow: use rsc.eworm.de in the list 2025-11-11 23:59:56 +01:00
Christian Hesse
5f1b17a644 CERTIFICATES: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
a8528bc02d fw-addr-lists.d/{allow,block}: use short url rsc.eworm.de 2025-11-11 23:59:56 +01:00
Christian Hesse
c273770f7d update-tunnelbroker: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
edb8ad9a2e Makefile: clean up and add phony targets 2025-11-11 23:59:56 +01:00
Christian Hesse
31a2bbbb4c telegram-chat: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
c0e4f411c2 global-functions: $ScriptInstallUpdate: extra actions on 'not found' only 2025-11-11 23:59:56 +01:00
Christian Hesse
6c2bf181fc netwatch-dns: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
e3cf008ec1 global-functions: $ScriptInstallUpdate: either or...
... but not both.
2025-11-11 23:59:56 +01:00
Christian Hesse
0cbc8dca74 mod/notification-telegram: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
1bdca31985 global-functions: $ScriptInstallUpdate: give hint on ignore
Fixes: https://github.com/eworm-de/routeros-scripts/issues/112
2025-11-11 23:59:56 +01:00
Christian Hesse
24aadcf02d mod/notification-ntfy: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
40a581e013 contrib/checksums.sh: output to stdout...
... and let the Makefile redirect.
2025-11-11 23:59:56 +01:00
Christian Hesse
85f3e1a5f4 fw-addr-lists: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
df970f3366 Merge branch 'contrib' into next 2025-11-11 23:59:56 +01:00
Christian Hesse
45ab635ba1 check-certificates: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
4ec1833ef8 contrib: introduce Makefile...
... and update references in links.
2025-11-11 23:59:56 +01:00
Christian Hesse
ee77f7d72d global-functions: $ScriptInstallUpdate: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
2e808141b8 contrib/logo-color: place screenshots below each other...
... not side by side.
2025-11-11 23:59:56 +01:00
Christian Hesse
ab29a3fb82 global-functions: $GetMacVendor: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
06d1bab537 contrib/logo-color: use relative reference in link
... without extra path elements.

This may break, depending on site.
2025-11-11 23:59:56 +01:00
Christian Hesse
e69605ac4d global-functions: $DownloadPackage: define certificate use 2025-11-11 23:59:56 +01:00
Christian Hesse
954c8e299f doc/mod/notification-telegram: use relative reference in link
This may break, depending on site.
2025-11-11 23:59:56 +01:00
Christian Hesse
959f0a257f global-functions: $CertificateAvailable: support new builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
2025-11-11 23:59:56 +01:00
Christian Hesse
a7de16b584 contrib/notification: format the values italic 2025-11-11 23:59:56 +01:00
Christian Hesse
7f2cdf67cb INITIAL-COMMANDS: support new builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
2025-11-11 23:59:56 +01:00
Christian Hesse
4b5333d971 contrib/notification: update date format 2025-11-11 23:59:56 +01:00
Christian Hesse
67551e58d8 README: support new builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
2025-11-11 23:59:56 +01:00
Christian Hesse
ee6c66327a contrib/{logo-color,notification}: add navigation structure 2025-11-11 23:59:56 +01:00
Christian Hesse
0a37b6c008 contrib/*: unify html code 2025-11-11 23:59:56 +01:00
26 changed files with 187 additions and 77 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";
$CertificateAvailable "ISRG Root X2" "fetch";
If the certificate is actually available already nothing happens, and there
is no output. Otherwise the certificate is downloaded and imported.

View file

@ -17,13 +17,16 @@ Initial commands
Run the complete base installation:
{
:local BaseUrl "https://git.eworm.de/cgit/routeros-scripts/plain/";
:local BaseUrl "https://rsc.eworm.de/main/";
:local CertCommonName "ISRG Root X2";
: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;

View file

@ -2,18 +2,28 @@
# template scripts -> final scripts
# markdown files -> html files
CAPSMAN = $(wildcard *.capsman.rsc)
LOCAL = $(wildcard *.local.rsc)
WIFI = $(wildcard *.wifi.rsc)
ALL_RSC := $(wildcard *.rsc */*.rsc)
GEN_RSC := $(wildcard *.capsman.rsc *.local.rsc *.wifi.rsc)
MARKDOWN = $(wildcard *.md doc/*.md doc/mod/*.md)
HTML = $(MARKDOWN:.md=.html)
MARKDOWN := $(wildcard *.md doc/*.md doc/mod/*.md)
HTML := $(MARKDOWN:.md=.html)
all: $(CAPSMAN) $(LOCAL) $(WIFI) $(HTML) checksums.json
.PHONY: all checksums docs rsc clean
all: checksums docs rsc
checksums: checksums.json
checksums.json: contrib/checksums.sh $(ALL_RSC)
contrib/checksums.sh > $@
docs: $(HTML)
%.html: %.md general/style.css contrib/html.sh contrib/html.sh.d/head.html
contrib/html.sh $< > $@
rsc: $(GEN_RSC)
%.capsman.rsc: %.template.rsc Makefile
sed -e '/\/interface\/wifi\//d' -e '/\/interface\/wireless\//d' -e 's|%TEMPL%|.capsman|' \
-e '/^# NOT \/caps-man\/ #$$/,/^# NOT \/caps-man\/ #$$/d' \
@ -32,8 +42,5 @@ all: $(CAPSMAN) $(LOCAL) $(WIFI) $(HTML) checksums.json
-e '/^# !!/,/^# !!/c # !! Do not edit this file, it is generated from template!' \
< $< > $@
checksums.json: contrib/checksums.sh *.rsc */*.rsc
contrib/checksums.sh
clean:
rm -f $(HTML) checksums.json

View file

@ -77,14 +77,17 @@ 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;`
> 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;`
If you intend to download the scripts from a
different location (for example from github.com) install the corresponding
certificate chain.
/tool/fetch "https://git.eworm.de/cgit/routeros-scripts/plain/certs/ISRG-Root-X2.pem" dst-path="isrg-root-x2.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)
@ -122,7 +125,7 @@ date and time is set correctly!
Now let's download the main scripts and add them in configuration on the fly.
:foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } do={ /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ("https://git.eworm.de/cgit/routeros-scripts/plain/" . $Script . ".rsc") output=user as-value]->"data"); };
:foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } do={ /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ("https://rsc.eworm.de/main/" . $Script . ".rsc") output=user as-value]->"data"); };
![screenshot: import scripts](README.d/04-import-scripts.avif)
@ -173,7 +176,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
@ -401,14 +404,15 @@ immediately remove the link in question.
Upstream
--------
[![upstream](README.d/upstream.png)](https://rsc.eworm.de/)
[rsc.eworm.de](https://rsc.eworm.de/)
URL:
[GitHub.com](https://github.com/eworm-de/routeros-scripts#routeros-scripts)
[![upstream](general/qr-code.png)](https://rsc.eworm.de/)
Mirror:
[eworm.de](https://git.eworm.de/cgit/routeros-scripts/about/)
[GitLab.com](https://gitlab.com/eworm-de/routeros-scripts#routeros-scripts)
### Code hosting
* [eworm.de](https://git.eworm.de/cgit/routeros-scripts/about/)
* [GitHub.com](https://github.com/eworm-de/routeros-scripts#routeros-scripts)
* [GitLab.com](https://gitlab.com/eworm-de/routeros-scripts#routeros-scripts)
---
[⬆️ Go back to top](#top)

View file

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

12
contrib/Makefile Normal file
View file

@ -0,0 +1,12 @@
# Makefile
HTML := $(wildcard *.html)
.PHONY: all docs
all: docs
docs: $(HTML)
sed -i -e '/href=/s|\.md|\.html|' \
-e '/blockquote/s|/\*! display \*/|display: none;|' \
$(HTML)

View file

@ -6,4 +6,4 @@ set -e
md5sum $(find -name '*.rsc' | sort) | \
sed -e "s| \./||" -e 's|.rsc$||' | \
jq --raw-input --null-input '[ inputs | split (" ") | { (.[1]): (.[0]) }] | add' > 'checksums.json'
jq --raw-input --null-input '[ inputs | split (" ") | { (.[1]): (.[0]) }] | add'

View file

@ -7,9 +7,12 @@ sed \
-e "s|__TITLE__|$(head -n1 "${1}")|" \
-e "s|__STYLE__|$(realpath --relative-to="${RELTO}" general/style.css)|" \
-e "s|__LOGO__|$(realpath --relative-to="${RELTO}" logo.png)|" \
-e "s|__EWORM__|$(realpath --relative-to="${RELTO}" general/eworm-meadow.avif)|" \
-e "s|__QR_CODE__|$(realpath --relative-to="${RELTO}" general/qr-code.png)|" \
< "${0}.d/head.html"
markdown -f toc,idanchor "${1}" | sed \
-e 's/href="\([-_\./[:alnum:]]*\)\.md\(#[-[:alnum:]]*\)\?"/href="\1.html\2"/g' \
-e '/<h[1234] /s| id="\(.*\)">| id="\L\1">|' \
-e '/<h[1234] /s|-2c-||g' -e '/<h[1234] /s|--26-amp-3b-||g'
-e '/<h[1234] /s|-2c-||g' -e '/<h[1234] /s|--26-amp-3b-||g' \
-e '/The above link may be broken on code hosting sites/s|blockquote|blockquote style="display: none;"|'
printf '</body></html>'

View file

@ -1,6 +1,17 @@
<!DOCTYPE html><html lang="en">
<head><title>RouterOS Scripts :: __TITLE__</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>RouterOS Scripts :: __TITLE__</title>
<link rel="stylesheet" type="text/css" href="__STYLE__">
<link rel="icon" type="image/png" href="__LOGO__">
</head><body>
<table>
<tr>
<td rowspan=2><img src="__EWORM__" alt="eworm on meadow" /></td>
<td rowspan=2><img src="__QR_CODE__" alt="QR code: rsc.eworm.de" /></td>
<td class="head-top">RouterOS Scripts</td>
</tr>
<tr>
<td class="head-bottom">a collection of scripts for MikroTik RouterOS</td>
</tr>
</table>
<hr />

View file

@ -1,14 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RouterOS-Scripts Logo Color Changer</title>
<!DOCTYPE html><html lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>RouterOS Scripts :: Logo Color Changer</title>
<link rel="stylesheet" type="text/css" href="../general/style.css">
<link rel="icon" type="image/png" href="../logo.png">
<script src="logo-color.d/script.js"></script>
</head>
<body>
</head><body>
<table>
<tr>
<td rowspan=2><img src="../general/eworm-meadow.avif" alt="eworm on meadow" /></td>
<td rowspan=2><img src="../general/qr-code.png" alt="QR code: rsc.eworm.de" /></td>
<td class="head-top">RouterOS Scripts</td>
</tr>
<tr>
<td class="head-bottom">a collection of scripts for MikroTik RouterOS</td>
</tr>
</table>
<hr />
<h1>RouterOS-Scripts Logo Color Changer</h1>
<h1>Logo Color Changer</h1>
<p><a href="../README.md">⬅️ Go back to main README</a></p>
<blockquote style="/*! display */"><p>💡️ <strong>Hint</strong>: This site or links
on it may be broken on code hosting sites. Use
<a href="https://rsc.eworm.de/main/contrib/logo-color.html">Logo Color Changer</a>
instead.</p></blockquote>
<p>You want the logo for your own notifications? But you joined the
<a href="https://t.me/routeros_scripts">Telegram Group</a> and want
@ -24,17 +40,20 @@ something that differentiates? Color it!</p>
<p>Then right-click, click "<i>Take Screenshot</i>" and finally select the
logo and download it.</p>
<p><img src="logo-color.d/browser-01.avif" width=533 height=482 alt="Screenshot Browser 01">
<img src="logo-color.d/browser-02.avif" width=533 height=482 alt="Screenshot Browser 02">
<img src="logo-color.d/browser-03.avif" width=533 height=482 alt="Screenshot Browser 03"></p>
<p><img src="logo-color.d/browser-01.avif" width=533 height=482 alt="Screenshot Browser 01"></p>
<p><img src="logo-color.d/browser-02.avif" width=533 height=482 alt="Screenshot Browser 02"></p>
<p><img src="logo-color.d/browser-03.avif" width=533 height=482 alt="Screenshot Browser 03"></p>
<p>(This example is with
<a href="https://www.mozilla.org/de/firefox/new/">Firefox</a>. The workflow
for other browsers may differ.)</p>
<p>See how to
<a href="../../about/doc/mod/notification-telegram.md#set-a-profile-photo">Set
<a href="../doc/mod/notification-telegram.md#set-a-profile-photo">Set
a profile photo</a> for your Telegram bot.</p>
</body>
</html>
<hr />
<p><a href="../README.md">⬅️ Go back to main README</a><br/>
<a href="#top">⬆️ Go back to top</a></p>
</body></html>

View file

@ -1,14 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RouterOS-Scripts Notification Generator</title>
<!DOCTYPE html><html lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>RouterOS Scripts :: Notification Generator</title>
<link rel="stylesheet" type="text/css" href="../general/style.css">
<link rel="icon" type="image/png" href="../logo.png">
<script src="notification.d/script.js"></script>
</head>
<body>
</head><body>
<table>
<tr>
<td rowspan=2><img src="../general/eworm-meadow.avif" alt="eworm on meadow" /></td>
<td rowspan=2><img src="../general/qr-code.png" alt="QR code: rsc.eworm.de" /></td>
<td class="head-top">RouterOS Scripts</td>
</tr>
<tr>
<td class="head-bottom">a collection of scripts for MikroTik RouterOS</td>
</tr>
</table>
<hr />
<h1>RouterOS-Scripts Notification Generator</h1>
<h1>Notification Generator</h1>
<p><a href="../README.md">⬅️ Go back to main README</a></p>
<blockquote style="/*! display */"><p>💡️ <strong>Hint</strong>: This site or links
on it may be broken on code hosting sites. Use
<a href="https://rsc.eworm.de/main/contrib/notification.html">Notification Generator</a>
instead.</p></blockquote>
<div class="notification">
<img src="../logo.svg" alt="logo" class="logo" width=48 height=48>
@ -16,8 +32,8 @@
<p id="heading" class="heading">[<span id="hostname">MikroTik</span>] <span id="subject"> Subject</span></p>
<pre id="message">Message</pre>
<p id="link" class="hint">🔗 <span id="link-text" class="link">https://eworm.de/</span></p>
<p id="queued" class="hint">⏰ This message was queued since <span id="queued-since">oct/18/2022 18:30:48</span> and may be obsolete.</p>
<p id="cut" class="hint">✂️ The message was too long and has been truncated, cut off <span id="cut-percent">13</span>%!</p>
<p id="queued" class="hint">⏰ This message was queued since <i><span id="queued-since">2025-10-29 16:06:18</span></i> and may be obsolete.</p>
<p id="cut" class="hint">✂️ The message was too long and has been truncated, cut off <i><span id="cut-percent">13</span>%</i>!</p>
</div>
</div>
@ -25,11 +41,14 @@
<p>Subject: <input type="text" size=50 value=" Subject" onchange="update(this, 'subject')"></p>
<p>Message: <textarea id="w3review" name="w3review" rows="4" cols="50" onchange="update(this, 'message')">Message</textarea></p>
<p><input type="checkbox" onclick="visible(this, 'link')"> Show link: <input type="text" value="https://eworm.de/" onchange="update(this, 'link-text')"></p>
<p><input type="checkbox" onclick="visible(this, 'queued')"> Queued since <input type="text" value="oct/18/2022 18:30:48" onchange="update(this, 'queued-since')"></p>
<p><input type="checkbox" onclick="visible(this, 'queued')"> Queued since <input type="text" value="2025-10-29 16:06:18" onchange="update(this, 'queued-since')"></p>
<p><input type="checkbox" onclick="visible(this, 'cut')"> Cut-off with <input type="number" min=1 max=99 value=13 onchange="update(this, 'cut-percent')"> percent</p>
<p>Then right-click, click "<i>Take Screenshot</i>" and finally select the
notification and download it.</p>
</body>
</html>
<hr />
<p><a href="../README.md">⬅️ Go back to main README</a><br/>
<a href="#top">⬆️ Go back to top</a></p>
</body></html>

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";
$CertificateAvailable "GTS Root R4" "fetch";
Replace the CA certificate name with what ever is needed for your server.
You may want to find the

View file

@ -106,10 +106,13 @@ chat with [BotFather ↗️](https://t.me/BotFather) and set it there.
![set profile photo](notification-telegram.d/setuserpic.avif)
Have a look at my
[RouterOS-Scripts Logo Color Changer](https://git.eworm.de/cgit/routeros-scripts/plain/contrib/logo-color.html)
Have a look at my [Logo Color Changer](../../contrib/logo-color.html)
to create a colored version of this scripts' logo.
> 💡️ **Hint**: The above link may be broken on code hosting sites.
> Use [Logo Color Changer](https://rsc.eworm.de/main/contrib/logo-color.html)
> instead.
See also
--------

View file

@ -48,7 +48,7 @@ Usage and invocation
The function `$ScriptRunOnce` expects an URL (or name if
`ScriptRunOnceBaseUrl` is given) pointing to a script as parameter.
$ScriptRunOnce https://git.eworm.de/cgit/routeros-scripts/plain/doc/mod/scriptrunonce.d/hello-world.rsc;
$ScriptRunOnce https://rsc.eworm.de/main/doc/mod/scriptrunonce.d/hello-world.rsc;
![ScriptRunOnce](scriptrunonce.d/scriptrunonce.avif)

View file

@ -1,3 +1,3 @@
# an ip address list for use with fw-addr-lists script
# https://git.eworm.de/cgit/routeros-scripts/about/doc/fw-addr-lists.md
git.eworm.de
# https://rsc.eworm.de/doc/fw-addr-lists.md
rsc.eworm.de

View file

@ -1,5 +1,5 @@
# an ip address list for use with fw-addr-lists script
# https://git.eworm.de/cgit/routeros-scripts/about/doc/fw-addr-lists.md
# https://rsc.eworm.de/doc/fw-addr-lists.md
# example.net
93.184.216.34

View file

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

BIN
general/eworm-meadow.avif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

Before

Width:  |  Height:  |  Size: 207 B

After

Width:  |  Height:  |  Size: 207 B

Before After
Before After

View file

@ -18,7 +18,7 @@ a:hover {
blockquote {
border-left: 4px solid #ccc;
padding: 0 10px;
color: #777;
color: #555;
}
code {
margin: 0 2px;
@ -68,6 +68,18 @@ pre code {
span.link {
color: #863600;
}
td.head-top {
height: 48px;
vertical-align: bottom;
font-size: 250%;
font-weight: bold;
}
td.head-bottom {
height: 48px;
vertical-align: top;
font-size: 125%;
color: #555;
}
@media only screen and (orientation: landscape) {
body {
margin-left: 10vw;

View file

@ -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;
}
@ -397,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;
}
@ -633,7 +640,7 @@
}
:do {
:if ([ $CertificateAvailable "GTS Root R4" ] = false) do={
:if ([ $CertificateAvailable "GTS Root R4" "fetch" ] = false) do={
$LogPrint warning $0 ("Downloading required certificate failed.");
:error false;
}
@ -1241,7 +1248,7 @@
:global SymbolForNotification;
:global ValidateSyntax;
:if ([ $CertificateAvailable "ISRG Root X2" ] = false) do={
:if ([ $CertificateAvailable "ISRG Root X2" "fetch" ] = false) do={
$LogPrint warning $0 ("Downloading certificate failed, trying without.");
}
@ -1292,7 +1299,7 @@
}
:if ([ :len ($ScriptInfo->"certificate") ] > 0) do={
:if ([ $CertificateAvailable ($ScriptInfo->"certificate") ] = false) do={
:if ([ $CertificateAvailable ($ScriptInfo->"certificate") "fetch" ] = false) do={
$LogPrint warning $0 ("Downloading certificate failed, trying without.");
}
}
@ -1309,9 +1316,19 @@
}
} do={
$LogPrint warning $0 ("Failed fetching script '" . $ScriptVal->"name" . "': " . $Err);
:if ($Err != "Fetch failed with status 404") do={
:error false;
}
:if ($ScriptVal->"source" = "#!rsc by RouterOS\n") do={
$LogPrint warning $0 ("Removing dummy. Typo on installation?");
/system/script/remove $Script;
:error false;
}
:if ([ :len ($ScriptInfo->"base-url") ] = 0 && [ :len ($ScriptInfo->"url-suffix") ] = 0 && \
[ :len $CheckSum ] = 0) do={
$LogPrintOnce warning $0 \
("Added the script manually? Skip updates with 'ignore=true' in comment.");
}
:error false;
}

View file

@ -109,7 +109,7 @@
:onerror Err {
:if ($Server = "ntfy.sh") do={
:if ([ $CertificateAvailable "ISRG Root X1" ] = false) do={
:if ([ $CertificateAvailable "ISRG Root X1" "fetch" ] = 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" ] = false) do={
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" "fetch" ] = 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" ] = false) do={
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" "fetch" ] = 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" ] = false) do={
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" "fetch" ] = 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") ] = false) do={
:if ([ $CertificateAvailable ($DohServer->"doh-cert") "dns" ] = 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" ] = false) do={
:if ([ $CertificateAvailable "Go Daddy Root Certificate Authority - G2" "fetch" ] = 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" ] = false) do={
:if ([ $CertificateAvailable "Starfield Root Certificate Authority - G2" "fetch" ] = false) do={
$LogPrint error $ScriptName ("Downloading required certificate failed.");
:set ExitOK true;
:error false;