From 281240c3fe206880437f200ae9e0a47218c96e42 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 26 May 2026 17:09:45 +0200 Subject: [PATCH 01/31] contrib/telegram: add note for notename --- contrib/telegram.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/telegram.md b/contrib/telegram.md index 192fd6cb..3e432ffe 100644 --- a/contrib/telegram.md +++ b/contrib/telegram.md @@ -263,6 +263,10 @@ 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/). From 2c83b9d5b80bccfa8abd9c46e79a4920866eccde Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 12:31:12 +0200 Subject: [PATCH 02/31] contrib/html: enclose content in span tag with class --- contrib/html.sh.d/foot.html | 1 + contrib/html.sh.d/head.html | 1 + 2 files changed, 2 insertions(+) diff --git a/contrib/html.sh.d/foot.html b/contrib/html.sh.d/foot.html index 9e28e115..f7c0b83b 100644 --- a/contrib/html.sh.d/foot.html +++ b/contrib/html.sh.d/foot.html @@ -1,3 +1,4 @@ +

RouterOS Scripts documentation generated on __DATE__ for __VERSION__
Copyright © 2013-2026 Christian Hesse <mail@eworm.de>

diff --git a/contrib/html.sh.d/head.html b/contrib/html.sh.d/head.html index 656a63c0..0c993b1c 100644 --- a/contrib/html.sh.d/head.html +++ b/contrib/html.sh.d/head.html @@ -14,3 +14,4 @@
+ From 3395d0b5fb759f262ba9fc05d05e06461eee19e4 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 14:58:38 +0200 Subject: [PATCH 03/31] contrib/html: give the head table a class --- contrib/html.sh.d/head.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/html.sh.d/head.html b/contrib/html.sh.d/head.html index 0c993b1c..8621350c 100644 --- a/contrib/html.sh.d/head.html +++ b/contrib/html.sh.d/head.html @@ -6,7 +6,7 @@ - +
eworm on meadow QR code: rsc.eworm.de RouterOS Scripts
From d75da3e5f54d7f0a9634eee22ee156ff421ae257 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:18:02 +0200 Subject: [PATCH 04/31] README: start image alt text with 'notification:' or 'screenshot:' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7143ddf..6a0d1d89 100644 --- a/README.md +++ b/README.md @@ -230,7 +230,7 @@ everything is up-to-date it will not produce any output. If the update includes news or requires configuration changes a notification is sent - in addition to terminal output and log messages. -![news and changes notification](README.d/notification-news-and-changes.avif) +![notification: news and changes](README.d/notification-news-and-changes.avif) Adding a script --------------- From 85823338abdbb85da1e5197d52a7f1a07b030822 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:26:21 +0200 Subject: [PATCH 05/31] doc/backup-cloud: start image alt text with 'notification:' or 'screenshot:' --- doc/backup-cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/backup-cloud.md b/doc/backup-cloud.md index dcbd0f75..05187652 100644 --- a/doc/backup-cloud.md +++ b/doc/backup-cloud.md @@ -26,7 +26,7 @@ This script uploads ### Sample notification -![backup-cloud notification](backup-cloud.d/notification.avif) +![notification: backup-cloud](backup-cloud.d/notification.avif) Requirements and installation ----------------------------- From d12282e3b5fe633d706b7fd603ba59d0cfca300f Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:26:32 +0200 Subject: [PATCH 06/31] doc/backup-upload: start image alt text with 'notification:' or 'screenshot:' --- doc/backup-upload.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/backup-upload.md b/doc/backup-upload.md index bbf5227b..eb79671b 100644 --- a/doc/backup-upload.md +++ b/doc/backup-upload.md @@ -26,7 +26,7 @@ configuration export (`/export terse show-sensitive`) to external server. ### Sample notification -![backup-upload notification](backup-upload.d/notification.avif) +![notification: backup-upload](backup-upload.d/notification.avif) Requirements and installation ----------------------------- From c132bdf32983769fc91fccbd930a370e7da1837f Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:30:52 +0200 Subject: [PATCH 07/31] doc/check-certificates: start image alt text with 'notification:' or 'screenshot:' --- doc/check-certificates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/check-certificates.md b/doc/check-certificates.md index c6db7c88..c4df2ba1 100644 --- a/doc/check-certificates.md +++ b/doc/check-certificates.md @@ -21,8 +21,8 @@ certificates that are still about to expire. ### Sample notifications -![check-certificates notification warning](check-certificates.d/notification-01-warn.avif) -![check-certificates notification renew](check-certificates.d/notification-02-renew.avif) +![notification: check-certificates warning](check-certificates.d/notification-01-warn.avif) +![notification: check-certificates renew](check-certificates.d/notification-02-renew.avif) Requirements and installation ----------------------------- From 661d48dc93fd6ecf809b5da2601aba9dadfe148a Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:36:08 +0200 Subject: [PATCH 08/31] doc/check-health: start image alt text with 'notification:' or 'screenshot:' --- doc/check-health.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/check-health.md b/doc/check-health.md index d67a3dde..8ec79f5e 100644 --- a/doc/check-health.md +++ b/doc/check-health.md @@ -40,27 +40,27 @@ sensors available in hardware: #### CPU utilization -![check-health notification cpu utilization high](check-health.d/notification-01-cpu-utilization-high.avif) -![check-health notification cpu utilization ok](check-health.d/notification-02-cpu-utilization-ok.avif) +![notification: check-health cpu utilization high](check-health.d/notification-01-cpu-utilization-high.avif) +![notification: check-health cpu utilization ok](check-health.d/notification-02-cpu-utilization-ok.avif) #### RAM utilization (low available RAM) -![check-health notification ram utilization high](check-health.d/notification-03-ram-utilization-high.avif) -![check-health notification ram utilization ok](check-health.d/notification-04-ram-utilization-ok.avif) +![notification: check-health ram utilization high](check-health.d/notification-03-ram-utilization-high.avif) +![notification: check-health ram utilization ok](check-health.d/notification-04-ram-utilization-ok.avif) #### Voltage -![check-health notification voltage](check-health.d/notification-05-voltage.avif) +![notification: check-health voltage](check-health.d/notification-05-voltage.avif) #### Temperature -![check-health notification temperature high](check-health.d/notification-06-temperature-high.avif) -![check-health notification temperature ok](check-health.d/notification-07-temperature-ok.avif) +![notification: check-health temperature high](check-health.d/notification-06-temperature-high.avif) +![notification: check-health temperature ok](check-health.d/notification-07-temperature-ok.avif) #### PSU state -![check-health notification state fail](check-health.d/notification-08-state-fail.avif) -![check-health notification state ok](check-health.d/notification-09-state-ok.avif) +![notification: check-health state fail](check-health.d/notification-08-state-fail.avif) +![notification: check-health state ok](check-health.d/notification-09-state-ok.avif) Requirements and installation ----------------------------- From 418d4184356e1563f7e4ba040829b7e61dc1d561 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:31:30 +0200 Subject: [PATCH 09/31] doc/check-lte-firmware-upgrade: start image alt text with 'notification:' or 'screenshot:' --- doc/check-lte-firmware-upgrade.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/check-lte-firmware-upgrade.md b/doc/check-lte-firmware-upgrade.md index 37ca4896..0731b7a3 100644 --- a/doc/check-lte-firmware-upgrade.md +++ b/doc/check-lte-firmware-upgrade.md @@ -26,7 +26,7 @@ upgrades. Currently supported LTE hardware: ### Sample notification -![check-lte-firmware-upgrade notification](check-lte-firmware-upgrade.d/notification.avif) +![notification: check-lte-firmware-upgrade](check-lte-firmware-upgrade.d/notification.avif) Requirements and installation ----------------------------- From 23a05be38b86da8a62d413ab42002e011ce07590 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:21:51 +0200 Subject: [PATCH 10/31] doc/check-perpetual-license: start image alt text with 'notification:' or 'screenshot:' --- doc/check-perpetual-license.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/check-perpetual-license.md b/doc/check-perpetual-license.md index de91eeb5..155f56f6 100644 --- a/doc/check-perpetual-license.md +++ b/doc/check-perpetual-license.md @@ -22,8 +22,8 @@ and sends a notification to warn before expiration. ### Sample notifications -![check-perpetual-license notification warn](check-perpetual-license.d/notification-01-warn.avif) -![check-perpetual-license notification renew](check-perpetual-license.d/notification-02-renew.avif) +![notification: check-perpetual-license warn](check-perpetual-license.d/notification-01-warn.avif) +![notification: check-perpetual-license renew](check-perpetual-license.d/notification-02-renew.avif) Requirements and installation ----------------------------- From 7f50307f60a9025594a6a159ca77e1d5e9d6d295 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:24:28 +0200 Subject: [PATCH 11/31] doc/check-routeros-update: start image alt text with 'notification:' or 'screenshot:' --- doc/check-routeros-update.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/check-routeros-update.md b/doc/check-routeros-update.md index 18ad444a..120c9b91 100644 --- a/doc/check-routeros-update.md +++ b/doc/check-routeros-update.md @@ -37,8 +37,8 @@ automatically is supported. ### Sample notifications -![check-routeros-update notification found](check-routeros-update.d/notification-01-found.avif) -![check-routeros-update notification neighbor](check-routeros-update.d/notification-02-neighbor.avif) +![notification: check-routeros-update found](check-routeros-update.d/notification-01-found.avif) +![notification: check-routeros-update neighbor](check-routeros-update.d/notification-02-neighbor.avif) Requirements and installation ----------------------------- @@ -88,7 +88,7 @@ Be notified when run from scheduler or run it manually: If an update is found you can install it right away. -![Terminal](check-routeros-update.d/terminal.avif) +![screenshot: terminal](check-routeros-update.d/terminal.avif) Installing script [packages-update](packages-update.md) gives extra options. From 833b6aba9a1cedbeb0151daddfbd177deb49fcd0 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:28:07 +0200 Subject: [PATCH 12/31] doc/collect-wireless-mac: start image alt text with 'notification:' or 'screenshot:' --- doc/collect-wireless-mac.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/collect-wireless-mac.md b/doc/collect-wireless-mac.md index 96b314e1..dbf24c02 100644 --- a/doc/collect-wireless-mac.md +++ b/doc/collect-wireless-mac.md @@ -24,7 +24,7 @@ and modify it to your needs. ### Sample notification -![collect-wireless-mac notification](collect-wireless-mac.d/notification.avif) +![notification: collect-wireless-mac](collect-wireless-mac.d/notification.avif) Requirements and installation ----------------------------- From 8e2d06ef2e1303319b4bdc345b901fcbe6629e52 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:25:09 +0200 Subject: [PATCH 13/31] doc/daily-psk: start image alt text with 'notification:' or 'screenshot:' --- doc/daily-psk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/daily-psk.md b/doc/daily-psk.md index 7ddb4d98..de3b5092 100644 --- a/doc/daily-psk.md +++ b/doc/daily-psk.md @@ -21,7 +21,7 @@ passphrase to a pseudo-random string daily. ### Sample notification -![daily-psk notification](daily-psk.d/notification.avif) +![notification: daily-psk](daily-psk.d/notification.avif) Requirements and installation ----------------------------- From 2b0bea31f5c3d2cb7a7925752b1870c2b1fc08dd Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:19:40 +0200 Subject: [PATCH 14/31] doc/log-forward: start image alt text with 'notification:' or 'screenshot:' --- doc/log-forward.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/log-forward.md b/doc/log-forward.md index 7bee120f..8dc3e192 100644 --- a/doc/log-forward.md +++ b/doc/log-forward.md @@ -37,8 +37,8 @@ log messages and forwards them via notification. ### Sample notifications -![log-forward notification info](log-forward.d/notification-01-info.avif) -![log-forward notification warn](log-forward.d/notification-02-warn.avif) +![notification: log-forward info](log-forward.d/notification-01-info.avif) +![notification: log-forward warn](log-forward.d/notification-02-warn.avif) Requirements and installation ----------------------------- From 36e611be7ae76fb1b97dd34683ed63db79eeb5e0 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:35:23 +0200 Subject: [PATCH 15/31] doc/mod/inspectvar: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/inspectvar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/mod/inspectvar.md b/doc/mod/inspectvar.md index 28032651..526f51e1 100644 --- a/doc/mod/inspectvar.md +++ b/doc/mod/inspectvar.md @@ -33,7 +33,7 @@ Call the function `$InspectVar` with a variable as parameter: $InspectVar $ModeButton; -![InspectVar](inspectvar.d/01-inspectvar.avif) +![screenshot: InspectVar](inspectvar.d/01-inspectvar.avif) --- [âŦ…ī¸ Go back to main README](../../README.md) From 8df5d9a732455cd115013e072aeed280641de9f9 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:28:51 +0200 Subject: [PATCH 16/31] doc/mod/ipcalc: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/ipcalc.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/mod/ipcalc.md b/doc/mod/ipcalc.md index c393ec3a..552860be 100644 --- a/doc/mod/ipcalc.md +++ b/doc/mod/ipcalc.md @@ -43,7 +43,7 @@ It expects an IP address in CIDR notation as argument. $IPCalc 192.168.88.1/24; -![IPCalc](ipcalc.d/01-ipcalc.avif) +![screenshot: IPCalc](ipcalc.d/01-ipcalc.avif) ### IPCalcReturn @@ -53,7 +53,7 @@ the information in a named array. :put ([ $IPCalcReturn 192.168.88.1/24 ]->"broadcast"); -![IPCalcReturn](ipcalc.d/02-ipcalcreturn.avif) +![screenshot: IPCalcReturn](ipcalc.d/02-ipcalcreturn.avif) --- [âŦ…ī¸ Go back to main README](../../README.md) From 16844294c451c5a034a673dce827df578622802c Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:30:06 +0200 Subject: [PATCH 17/31] doc/mod/notification-gotify: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/notification-gotify.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/mod/notification-gotify.md b/doc/mod/notification-gotify.md index 7482ba72..45776286 100644 --- a/doc/mod/notification-gotify.md +++ b/doc/mod/notification-gotify.md @@ -38,7 +38,7 @@ and the [First Login â†—ī¸](https://gotify.net/docs/first-login) setup. Once you have a user and account you can start creating apps. Each app is an independent notification feed for a device or application. -![Create new app](notification-gotify.d/appsetup.avif) +![screenshot: Create new app](notification-gotify.d/appsetup.avif) On creation apps are assigned a *Token* for authentification, you will need that in configuration. From bc002809d6a2fd3a5aa536397a8a5f0dc465b4b5 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:34:02 +0200 Subject: [PATCH 18/31] doc/mod/notification-matrix: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/notification-matrix.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/mod/notification-matrix.md b/doc/mod/notification-matrix.md index 60001416..f9cd4ddf 100644 --- a/doc/mod/notification-matrix.md +++ b/doc/mod/notification-matrix.md @@ -74,7 +74,7 @@ and write first part of the configuration: $SetupMatrixAuthenticate "@example:matrix.org" "v3ry-s3cr3t"; -![authenticate](notification-matrix.d/01-authenticate.avif) +![screenshot: authenticate](notification-matrix.d/01-authenticate.avif) The configuration is written to a new configuration snippet `global-config-overlay.d/mod/notification-matrix`. @@ -94,7 +94,7 @@ the invite. $SetupMatrixJoinRoom "!WUcxpSjKyxSGelouhA:matrix.org"; -![join room](notification-matrix.d/02-join-room.avif) +![screenshot: join room](notification-matrix.d/02-join-room.avif) The configuration is appended to the configuration snippet `global-config-overlay.d/mod/notification-matrix`. From 44afc407fb3a72d4193f1a8f18e60e7bc587f1a8 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:34:53 +0200 Subject: [PATCH 19/31] doc/mod/notification-telegram: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/notification-telegram.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/mod/notification-telegram.md b/doc/mod/notification-telegram.md index 1d2cec8c..8d485801 100644 --- a/doc/mod/notification-telegram.md +++ b/doc/mod/notification-telegram.md @@ -36,7 +36,7 @@ Configuration Open Telegram, then start a chat with [BotFather â†—ī¸](https://t.me/BotFather) and create your own bot: -![create new bot](notification-telegram.d/01-newbot.avif) +![screenshot: create new bot](notification-telegram.d/01-newbot.avif) Set that token from *BotFather* (use your own!) to `TelegramTokenId`, for now just temporarily: @@ -49,7 +49,7 @@ then send your first message. Any text will do. On your device run $GetTelegramChatId; -![get chat id](notification-telegram.d/02-getchatid.avif) +![screenshot: get chat id](notification-telegram.d/02-getchatid.avif) Finally edit `global-config-overlay`, add `TelegramTokenId` with the token from *BotFather* and `TelegramChatId` with your retrieved chat id. Then @@ -104,7 +104,7 @@ Tips & Tricks You can use a profile photo for your bot to make it recognizable. Open the chat with [BotFather â†—ī¸](https://t.me/BotFather) and set it there. -![set profile photo](notification-telegram.d/03-setuserpic.avif) +![screenshot: set profile photo](notification-telegram.d/03-setuserpic.avif) Have a look at my [Logo Color Changer](../../contrib/logo-color.html) to create a colored version of this scripts' logo. From 53a4eb27d565b23a05fbe3440a16f715513bfab7 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:29:22 +0200 Subject: [PATCH 20/31] doc/mod/scriptrunonce: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/scriptrunonce.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/mod/scriptrunonce.md b/doc/mod/scriptrunonce.md index e960d767..69c6964b 100644 --- a/doc/mod/scriptrunonce.md +++ b/doc/mod/scriptrunonce.md @@ -50,7 +50,7 @@ The function `$ScriptRunOnce` expects an URL (or name if $ScriptRunOnce https://rsc.eworm.de/main/doc/mod/scriptrunonce.d/hello-world.rsc; -![ScriptRunOnce](scriptrunonce.d/01-scriptrunonce.avif) +![screenshot: ScriptRunOnce](scriptrunonce.d/01-scriptrunonce.avif) Giving multiple scripts is possible, separated by comma. From cfddf5fc5428c805f3cd3d5efd44f81d3a46846e Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:27:26 +0200 Subject: [PATCH 21/31] doc/netwatch-notify: start image alt text with 'notification:' or 'screenshot:' --- doc/netwatch-notify.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/netwatch-notify.md b/doc/netwatch-notify.md index 70d6fe03..c1f5a04b 100644 --- a/doc/netwatch-notify.md +++ b/doc/netwatch-notify.md @@ -24,8 +24,8 @@ optional parent host is not down to avoid false alerts. ### Sample notifications -![netwatch-notify notification down](netwatch-notify.d/notification-01-down.avif) -![netwatch-notify notification up](netwatch-notify.d/notification-02-up.avif) +![notification: netwatch-notify down](netwatch-notify.d/notification-01-down.avif) +![notification: netwatch-notify up](netwatch-notify.d/notification-02-up.avif) Requirements and installation ----------------------------- From 4d5c222a87d1ecc3eec5a7d87b5102e93ea26272 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:23:12 +0200 Subject: [PATCH 22/31] doc/sms-forward: start image alt text with 'notification:' or 'screenshot:' --- doc/sms-forward.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sms-forward.md b/doc/sms-forward.md index 5f038926..75e171ab 100644 --- a/doc/sms-forward.md +++ b/doc/sms-forward.md @@ -22,7 +22,7 @@ A broadband interface with SMS support is required. ### Sample notification -![sms-forward notification](sms-forward.d/notification.avif) +![notification: sms-forward](sms-forward.d/notification.avif) Requirements and installation ----------------------------- From 37e5a98dbc766c92e0ad931c59d244d7e438406e Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:22:43 +0200 Subject: [PATCH 23/31] doc/telegram-chat: start image alt text with 'notification:' or 'screenshot:' --- doc/telegram-chat.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/telegram-chat.md b/doc/telegram-chat.md index 51cd3d6a..8988db2f 100644 --- a/doc/telegram-chat.md +++ b/doc/telegram-chat.md @@ -61,13 +61,13 @@ containing `! identity` (exclamation mark, optional space and system's identity). To query all dynamic ip addresses form a device named "*MikroTik*" send `! MikroTik`, followed by `/ip/address/print where dynamic;`. -![chat to specific device](telegram-chat.d/01-chat-specific.avif) +![screenshot: chat to specific device](telegram-chat.d/01-chat-specific.avif) Devices can be grouped to chat with them simultaneously. The default group "*all*" can be activated by sending `! @all`, which will make all devices act on your commands. -![chat to all devices](telegram-chat.d/02-chat-all.avif) +![screenshot: chat to all devices](telegram-chat.d/02-chat-all.avif) Send a single exclamation mark or non-existent identity to make all devices passive again. @@ -78,7 +78,7 @@ Let's assume you received a message from a device before, and want to send a command to that device. No need to activate it, you can just reply to that message. -![reply to message](telegram-chat.d/03-reply.avif) +![screenshot: reply to message](telegram-chat.d/03-reply.avif) Associated messages are cleared on device reboot. From 7dc7af8907d017e1f691233d5b3f4a88c5751f9d Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:41:21 +0200 Subject: [PATCH 24/31] contrib/html: add a class and shadow for notifications --- contrib/html.sh | 1 + general/style.css | 3 +++ 2 files changed, 4 insertions(+) diff --git a/contrib/html.sh b/contrib/html.sh index adacbbb8..5ac84c25 100755 --- a/contrib/html.sh +++ b/contrib/html.sh @@ -17,6 +17,7 @@ markdown -f toc,idanchor "${1}" | sed \ -e '//s|pre|pre class="code" onclick="CopyToClipboard(this)"|g' \ + -e '/notification: .*/s|alt="\(.*\):|class="\1" alt="\1:|' \ -e '/The above link may be broken on code hosting sites/s|blockquote|blockquote style="display: none;"|' sed \ diff --git a/general/style.css b/general/style.css index c3e86901..f1d1c41c 100644 --- a/general/style.css +++ b/general/style.css @@ -42,6 +42,9 @@ div.content { hr { clear: both; } +img.notification { + box-shadow: 3px 3px 7px rgba(100,100,100,0.7); +} img.logo { float: left; /* border-radius: 50%; */ From 09a93fda5ee83d6fcaa625b81e9d86a06433224b Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:43:37 +0200 Subject: [PATCH 25/31] contrib/html: add class and shadow for screenshots --- contrib/html.sh | 2 +- general/style.css | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/html.sh b/contrib/html.sh index 5ac84c25..64c2ac44 100755 --- a/contrib/html.sh +++ b/contrib/html.sh @@ -17,7 +17,7 @@ markdown -f toc,idanchor "${1}" | sed \ -e '//s|pre|pre class="code" onclick="CopyToClipboard(this)"|g' \ - -e '/notification: .*/s|alt="\(.*\):|class="\1" alt="\1:|' \ + -e '/\(notification\|screenshot\): .*/s|alt="\(.*\):|class="\1" alt="\1:|' \ -e '/The above link may be broken on code hosting sites/s|blockquote|blockquote style="display: none;"|' sed \ diff --git a/general/style.css b/general/style.css index f1d1c41c..2021b8ce 100644 --- a/general/style.css +++ b/general/style.css @@ -45,6 +45,9 @@ hr { img.notification { box-shadow: 3px 3px 7px rgba(100,100,100,0.7); } +img.screenshot { + box-shadow: 3px 3px 7px rgba(100,100,100,0.7); +} img.logo { float: left; /* border-radius: 50%; */ From ac2230f53da4076adf5a8bfef6f302a9b9ae3b83 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:44:42 +0200 Subject: [PATCH 26/31] general/style: add shadow for code blocks --- general/style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/general/style.css b/general/style.css index 2021b8ce..f561766f 100644 --- a/general/style.css +++ b/general/style.css @@ -72,6 +72,7 @@ pre { pre.code { background-color: #f8f8f8; border: 1px solid #ccc; + box-shadow: 3px 3px 7px rgba(100,100,100,0.7); overflow: auto; padding: 6px 10px; border-radius: 3px; From e13bd18a5983b72fa6c4846bd0fe196b882d8769 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 27 May 2026 09:08:19 +0200 Subject: [PATCH 27/31] certs: Let's Encrypt switched back to new chain (Gen Y) This reverts commit 59e0c4460e43c67151059d6ffc4a81cd37558437. --- certs/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/certs/Makefile b/certs/Makefile index 8b516e4d..c9a33798 100644 --- a/certs/Makefile +++ b/certs/Makefile @@ -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/ISRG-Root-X2 \ + git.eworm.de/Root-YE \ 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/ISRG-Root-X2 \ + rsc.eworm.de/Root-YE \ upgrade.mikrotik.com/ISRG-Root-X1 DOMAINS_IPV4 = \ 1.1.1.1/SSL-com-Root-Certification-Authority-ECC \ From 0e5c07e34484d29234a0ef7d59b24e818a1722f0 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 15:11:41 +0200 Subject: [PATCH 28/31] contrib/html: support any class name from image alt text --- contrib/html.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/html.sh b/contrib/html.sh index 64c2ac44..0fca66ee 100755 --- a/contrib/html.sh +++ b/contrib/html.sh @@ -17,7 +17,7 @@ markdown -f toc,idanchor "${1}" | sed \ -e '//s|pre|pre class="code" onclick="CopyToClipboard(this)"|g' \ - -e '/\(notification\|screenshot\): .*/s|alt="\(.*\):|class="\1" alt="\1:|' \ + -e '/[a-z]\+: .*/s|alt="\([a-z]\+\):|class="\1" alt="\1:|' \ -e '/The above link may be broken on code hosting sites/s|blockquote|blockquote style="display: none;"|' sed \ From 643e0cd140cbdede07f728512628629bc048ef49 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 27 May 2026 09:08:33 +0200 Subject: [PATCH 29/31] README: Let's Encrypt switched back to new chain (Gen Y) This reverts commit 7ad60ac7048cf24eac6cfff002c544babddc71ae. --- README.d/01-download-certs.avif | Bin 2761 -> 2671 bytes README.d/03-check-certs.avif | Bin 5079 -> 4970 bytes README.md | 12 ++++++------ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.d/01-download-certs.avif b/README.d/01-download-certs.avif index f2afeb545aa1e191f3e9382963bcdc172c40603e..e4d8755c85172346e4e3660279c66b6ad43df4aa 100644 GIT binary patch delta 2337 zcmV++3EuX}74H;~cmZ6Ic}oF?k;O?8WNl<&bP@mx1~?`1cvcBA&k~a$0cU^D{&0_W z{V!CWUXNHh-u^}J?CgQ%DYk$d;V1gdpvMgw(&sRr6=KY;D3V;?#;6CKT$;8lMP$TG z7KS zNZatTxu$Xq|D6I4EB%b$WS@UlJvZ!h9)JHrI)rSPrmHyimH_gmk^41jWmYLG{332f z|G7WY^1Nth#)&-3toHUAhq$H9_JXHWwnXq|gF)J#o49pG=Ve=tN&tCxl#S&z`j-No z$_dBc=O9`|5tG9e4@sxjL@(p|3CcQ^P zEc!|nr>Zb*EoHqW&DEJ*(9wwtv6r2;t|QHdGctE|7;!{B21pQH5y0EHM=67t*GGU- z+^I=`i5fv$D3y^lC%VIRhX2_cO&lWd@{r?kBO;9{&W$As>u*`fjdXhf7B zkYv6UFvMN^BPLN0&a^^_Eh^E@`(qfV9k}h7DKxQj0suSnd5(XBA2xmsG%vxz>SNVU zZW;n_elA|0!#4IZ*Z$Q-s&Tp+fB0cC*6q;)C)Ox@##u17`V)W9OZO1+*jz-KLsv7u zk~|@8&?Q?AyC@bJ$S#H_T*uh#Q#zrp*cY$|F4vgDt>~&1SIAI)e=0@_k_mQUDgVum z4EIj@_NMV;OfD=e|>E zY1UFN`x}3I_6tNHg=oIrInZ({MXs}VSiqLvKU`!%lKxvPVZQ>C1NYfwQ68QV|5`FX zqX^={l<8nwO4EtmEJrC^ZxuEkfMU@?yc9p7*vd8AMG^gr>W0>;$ zZT5;e!`o`&(~`0UF)ifU|Bbgm4(BCW3;40eI3|Bsk%u`OEFHa`V{!bw!W5Mhk;Zc zcK-pVb$^0#a@t-}CUjUZNcgmJ)C#et(E}FJ?7a@D1mk~a7TKe~#nC;CT%eYmp_p|>0HdnerY0?v z4#~s>Kej9oFzSU6yj&yHjy;_Llmj}WhZ0H?+V0cjG_T~&gg%cRy9X&FBCS_l#=QXF zuJmcWM-NH4a)AUgRa5wy9s155wXB_j(;maNrL_E=%cvG;+BW4ye)#xy0 zY^ELo^7Xl*U|ZdFnB=^aYhL`$*$K&(SxOO{*fvsaA*&@rC4+basmbADD)lXlGM!_C zU8bDc!U=UjPqhMej!%nbCZ=Cq1-rz)iO)pA1DBFsj*FZ`uF|yy8*zTtBU@0e>Pq#( z6Ma#px9d)LkG~Ij7qNSfo84Abdv1S-bkx!VpIv>2g?RIgr)u%Cq4EE=0BM~v*u2rB<|#g1juEW<)1C^s zx&BI2v&5w|R5-T~kDmHp2_y8S90dlU!u$e9;+Y^&;um7kr_BMOpIhkUIc$HOg5YC* z?n;G-qrnPkIJs|=V}`Nbk6zbaY1lHaOSzXX`j-SGHaktKVg;5t*(sA~=xf_$;$;?P znrNB0pi0ISFyxSGO3R28$cWu34B|K60;u{F_#06=j+d|fs#1vG1pI*ssR~T#e&N-!w!xzH)-SeLMHz4!fd3dk}ink~L|E9aMR# zQn3?ScH|5Yl>{-h_ZmEnZETI1pC9B9FcZJ0Aoq*J4-5ZpM0d`A{Z!*)ZDYW(Y`6ms ziQ`3MpjE`Q&L%64Apj{mi;wz$wZZP@P4Aq?lD1lKuG2-0AV_&Juuv|9I&Wc+E|u+t z=-C8BcDJ(OXr(Sn{AKYQ=EiCZcy|gX(6C~`xZ{>OEju-mB zs(N$RuBgh6vz#eBsd|Jbi)@GGW5}GEj-+5;5hVIW8?kEE{O7<`hof?a$4tixS#^8y Hl?|HG#Q=}6 delta 2428 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 delta 4815 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%0DH(qT zWML)56)kN{@ieO)#Y~{)m=3}FC@w~2kf>qfQGopad}#7~*XXwDj6_-I`8v^p)yHeY zXr`H+Z-CiDS=rzIf7hfTOgEH}ZyLX0@hEHgl0_TGt+B`QP1?*ul_$XKeWgsZ$Vz*A zLW0tMn)*YwNLaEs=oG2u0)yj+(N{CnWMb}+8qR|3jKV8hH=|N?jD^*v3bDJt|197t zPcRzfE2vv;%+k~B=q0YtDvU+B>Rpx+>4Nhib^~zxSq7hHe|CA$b30b|5QhpJk$*|} zfHe;au&a~9zW`HgJ#RQ4ACPOG5D%6X!7{sIu*u#a-%9&64a4UbgBm1`ppn!;QQCLp z92PYhD?Ez8ihtvG0>@YR$XF@#OW1bevq~C zejJw|SZQehf31G;(Ff7Kc*QoPOqg7Ck8hMP`eG?%!OTSiC8keUyltCmZSK*kX@4sD zz~=VHhhfQT(+us#Ge~f$NpUAXyp_DeV-Iy7Y2Ch*N;3I3s)|m>3gtodhXh?gy@nVD zd;n|!_NXbvq!ga â„šī¸ **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* [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. - /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 a sensitive property, the passphrase. @@ -145,11 +145,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 ("*ISRG-Root-X2*") +fingerprint. Make sure exactly this one certificate ("*Root-YE*") is shown. - /certificate/set name="ISRG-Root-X2" [ find where common-name="ISRG Root X2" ]; - /certificate/print proplist=name,fingerprint where fingerprint="69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470"; + /certificate/set name="Root-YE" [ find where common-name="Root YE" ]; + /certificate/print proplist=name,fingerprint where fingerprint="e14ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666"; ![screenshot: check certs](README.d/03-check-certs.avif) From fa1e86169d17ddc3b02702c4581b4e3c19ba9fc9 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 15:15:55 +0200 Subject: [PATCH 30/31] contrib/logo-color: add class (and shadow) for screenshots --- contrib/logo-color.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/logo-color.html b/contrib/logo-color.html index c39a20b8..e369694f 100644 --- a/contrib/logo-color.html +++ b/contrib/logo-color.html @@ -40,9 +40,9 @@ something that differentiates? Color it!

Then right-click, click "Take Screenshot" and finally select the logo and download it.

-

Screenshot Browser 01

-

Screenshot Browser 02

-

Screenshot Browser 03

+

screenshot: browser 01

+

screenshot: browser 02

+

screenshot: browser 03

(This example is with Mozilla Firefox â†—ī¸. The workflow From 6d0574d58c8a6c1b6ce6d0f68b5f657e20007b02 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 27 May 2026 09:08:43 +0200 Subject: [PATCH 31/31] INITIAL-COMMANDS: Let's Encrypt switched back to new chain (Gen Y) This reverts commit 2a6567135e92a46e6eb90f7bc197d6c2ee8b04ee. --- INITIAL-COMMANDS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/INITIAL-COMMANDS.md b/INITIAL-COMMANDS.md index df64aa7e..e033b576 100644 --- a/INITIAL-COMMANDS.md +++ b/INITIAL-COMMANDS.md @@ -18,9 +18,9 @@ Run the complete base installation: { :local BaseUrl "https://rsc.eworm.de/main/"; - :local CertCommonName "ISRG Root X2"; - :local CertFileName "ISRG-Root-X2.pem"; - :local CertFingerprint "69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470"; + :local CertCommonName "Root YE"; + :local CertFileName "Root-YE.pem"; + :local CertFingerprint "e14ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666"; :local CertSettings [ /certificate/settings/get ]; :if (!((($CertSettings->"builtin-trust-anchors") = "trusted" || \