Commit graph

3350 commits

Author SHA1 Message Date
Christian Hesse
875ac9f7c3 log-forward: use comparison for ids
This was introduced with RouterOS 7.22beta1.

Initializing $LogForwardLast with boolean value looks odd, but this is
reuqired to match the very first message.
2026-01-14 16:09:45 +01:00
Christian Hesse
49d3a448c6 check-certificates: drop the compatibility workaround...
... and make it depend in RouterOS 7.19 and its builtin certificates.
2026-01-14 15:30:21 +01:00
Christian Hesse
9b2099e402 global-functions: $CertificateAvailable: drop the compatibility workaround...
... and make it depend in RouterOS 7.19 and its builtin certificates.
2026-01-14 15:30:21 +01:00
Christian Hesse
679583bbbf INITIAL-COMMANDS: drop the compatibility workaround...
... and make it depend in RouterOS 7.19 and its builtin certificates.
2026-01-14 15:30:21 +01:00
Christian Hesse
df8d0370c5 doc/mod/ssh-keys-import: reverse old and new 2026-01-14 15:30:21 +01:00
Christian Hesse
cc56680206 log-forward: try to mitigate a race condition
The old code looped over all new messages, then updated the variable
to the newest message - at that time! Messages in between were lost.
2026-01-14 15:19:12 +01:00
Christian Hesse
6fd28bf8f7 netwatch-dns: check the certificate is available for fetch
That trust is not needed for DNS functionality (that was checked before),
but for our hacky check with fetch.
2026-01-14 15:05:07 +01:00
Christian Hesse
2b8dfec2f7 bump required RouterOS version for all scripts 2026-01-12 10:00:30 +01:00
Christian Hesse
45bcb80125 global-functions: bump required version to 7.17...
... as we use `:convert from=num ...` which was introduced back then.

Actually the requirment did exist since commit
6ad6f9aa08.
2026-01-12 10:00:30 +01:00
Christian Hesse
e7a16ad279 check-certificates: give hint on possibly incomplete cert chain 2026-01-12 10:00:30 +01:00
Christian Hesse
5481787869 check-certificates: handle builtin certificate in chain
This includes an ugly workaround to keep it compatible with old RouterOS
versions... For now.
2026-01-12 10:00:30 +01:00
Christian Hesse
54af7fd024 check-certificates: drop workaround
This revert commit 8de6995c4b.

The exact example given in the commit message of that commit works
as expected now:

[eworm@kalyke] > $InspectVar [ $ParseKeyValueStore  [ /certificate/get ISRG-Root-X2 issuer ] ];
-type-> array
  -key-> C
    -type-> str
    -len-> 2
    -value-> US
  -key-> CN
    -type-> str
    -len-> 12
    -value-> ISRG Root X2
  -key-> O
    -type-> str
    -len-> 32
    -value-> Internet Security Research Group
2026-01-12 08:31:53 +01:00
Christian Hesse
927edc639c README: hint on the badge regarding required RouterOS version 2026-01-11 21:54:12 +01:00
Christian Hesse
377e196cb0 README: long-term channel is back! 🎉 2026-01-11 21:54:12 +01:00
Christian Hesse
3c62536f87 README: make prerequisite configuration a sub-section 2026-01-11 21:22:59 +01:00
Christian Hesse
0d71cd5b3b doc/mod/inspectvar: update screenshot...
... with fix from $CharacterMultiply and doubled indention.
2026-01-06 14:10:08 +01:00
Christian Hesse
33061fea21 mod/inspectvar: indent by two characters 2026-01-06 14:10:08 +01:00
Christian Hesse
0ceedab5db global-functions: $CharacterMultiply: return early on length zero...
... as :for loop counts backwards and would return two
character otherwise.
2026-01-06 14:10:08 +01:00
Christian Hesse
6990084d98 global-functions: $CharacterMultiply: use local variables for parameters 2026-01-06 14:10:08 +01:00
Christian Hesse
7dc230cceb contrib/telegram: add Oxford Comma in greeting 2026-01-06 00:48:49 +01:00
Christian Hesse
8878449b0b global-functions: support modules (or snippets) in global-functions.d/ 2026-01-05 11:37:58 +01:00
Christian Hesse
8fa17d4b3b check-health: fix regex to load plugins 2026-01-05 11:11:52 +01:00
Christian Hesse
8528ca376c global-config: support loading custom config snippets
This may be interesting for custom scripts which can drop their own
default global configuration.
2026-01-05 11:11:52 +01:00
Christian Hesse
4af18ced9e global-config: fix regex to load overlay snippets 2026-01-05 11:11:52 +01:00
Christian Hesse
623f96d94a update copyright for 2026 2026-01-01 13:50:07 +01:00
Christian Hesse
aa0b5a9ca2 README: add a brief description 2025-12-29 19:21:29 +01:00
Christian Hesse
ee9618014c introduce contrib/telegram...
... with all the content for Miss Rose.

https://t.me/MissRose_bot
2025-12-25 23:56:00 +01:00
Christian Hesse
0745f09a8a global-functions: $FetchHuge: handle missing file
This should not happen, as download was supposed to be
successful - it does. 🤪
2025-12-25 23:56:00 +01:00
Christian Hesse
222404535b netwatch-dns: drop declaration of unused function 2025-12-10 16:29:20 +01:00
Christian Hesse
c697c321e6 netwatch-dns: drop early check...
... as the later check should handle that just fine.
2025-12-09 21:48:16 +01:00
Christian Hesse
96896c37e5 netwatch-dns: update wording to reflect the extra check 2025-12-08 09:36:03 +01:00
Christian Hesse
6e37bab481 netwatch-dns: add active check to keep DoH server 2025-12-08 09:33:07 +01:00
Christian Hesse
28b00e23a1 check-routeros-update: $DoUpdate: drop message...
... as it's either not shown anyway (when rebooting already),
`packages-update` gives reasonable output, or it is simply wrong (when
`packages-update` failed).
2025-12-05 12:02:29 +01:00
Christian Hesse
830693df79 global-functions: $SymbolByUnicodeName: extend special 2025-12-03 17:53:31 +01:00
Christian Hesse
240decf419 check-perpetual-license: cross-mark on already expired license 2025-12-03 15:43:58 +01:00
Christian Hesse
c0678f0501 INITIAL-COMMANDS: add missing space 2025-12-01 11:25:28 +01:00
Christian Hesse
73350ff3f4 README: add missing space 2025-12-01 11:25:00 +01:00
Christian Hesse
7caaa62321 check-perpetual-license: add scroll symbol in notification
doc/check-perpetual-license.d/notification-01-warn.avif
----- >8 -----
[rsc] 📜⚠️ License about to expire!

Your license failed to renew and is about to expire on 2025-09-13 12:12:23 on rsc...
----- >8 -----

doc/check-perpetual-license.d/notification-02-renew.avif
----- >8 -----
[rsc] 📜️ License renewed

Your license was successfully renewed on rsc. It is now valid until 2025-10-25 08:42:46.
----- >8 -----
2025-11-27 11:26:04 +01:00
Christian Hesse
1f11f72d18 global-functions: $SymbolByUnicodeName: add special with magic 2025-11-27 08:49:56 +01:00
Christian Hesse
daeb173dbc doc/check-routeros-update: add screenshot from terminal 2025-11-25 18:44:52 +01:00
Christian Hesse
4acbd6449e Merge branch 'notifications' into next 2025-11-25 17:37:00 +01:00
Christian Hesse
9db7f4494c doc/sms-forward: update notifications
doc/sms-forward.d/notification.avif
----- >8 -----
[rsc] 📨️ SMS Forwarding from 7277

Received this message by rsc from 7277:

📨️ On 2025-08-20 01:01:15+02:00 type class-0:
Welcome to our network!
----- >8 -----
2025-11-25 17:37:00 +01:00
Christian Hesse
2d0c79160d doc/netwatch-notify: update notifications
doc/netwatch-notify.d/notification-01-down.avif
----- >8 -----
[rsc] ️ Netwatch Notify: ipv6.eworm.de down

The host 'ipv6.eworm.de' (2a01:4f8:222:1e83::80, ipv6.eworm.de) is down since 2025-11-18 11:33:18.
----- >8 -----

doc/netwatch-notify.d/notification-02-up.avif
----- >8 -----
[rsc] ️ Netwatch Notify: ipv6.eworm.de up

The host 'ipv6.eworm.de' (2a01:4f8:222:1e83::80, ipv6.eworm.de) is up since 2025-11-18 11:43:15.
It was down for 10 checks since 2025-11-18 11:33:18.
----- >8 -----
2025-11-25 17:37:00 +01:00
Christian Hesse
b6e72f9a9f doc/log-forward: update notifications
doc/log-forward.d/notification-01-info.avif
----- >8 -----
[rsc] 📝️ Log Forwarding

The log on rsc contains these 2 messages after 00:01:19 uptime.

ℹ️ 2025-11-20 16:40:25 system;info router rebooted by ssh:eworm@10.10.0.37
ℹ️ 2025-11-20 16:40:27 script;info global-functions: Loaded on hAP ax^2 with RouterOS 7.20.4 (stable).
----- >8 -----

doc/log-forward.d/notification-02-warn.avif
----- >8 -----
[rsc] 📝⚠️ Log Forwarding

The log on rsc contains these 3 messages after 01:23:19 uptime.

🟠️ 2025-11-20 17:35:48 dhcp;warning dhcp offering lease 192.168.2.254 for 02:00:BA:DC:AB:1E without success
🔴️ 2025-11-20 17:35:57 dhcp;error pool6 refused acquire: bad preferred prefix! (1)
ℹ️ 2025-11-20 17:36:25 system;info;account user eworm logged in from 10.10.0.37 via ssh
----- >8 -----
2025-11-25 17:37:00 +01:00
Christian Hesse
1b53b52ac6 doc/daily-psk: update notifications
doc/daily-psk.d/notification.avif
----- >8 -----
[rsc] 📅️ daily PSK Guest-Wifi

This is the daily PSK on rsc:

SSID:   Guest-Wifi
PSK:    53cr3t5tr1ng
Date:   2025-11-24

A client device specific rule must not exist!

🔗https://www.eworm.de/cgi-bin/cqrlogo-wifi.cgi?scale=8&ssid=Guest-Wifi&pass=53cr3t5tr1ng
----- >8 -----
2025-11-25 17:37:00 +01:00
Christian Hesse
f77cc07338 doc/collect-wireless-mac: update notifications
doc/collect-wireless-mac.d/notification.avif
----- >8 -----
[rsc] 📱️ 02:00:C0:FF:EE:00 connected to Guest-Wifi

A device with unknown MAC address connected to Guest-Wifi on rsc.

Controller:     rsc
Interface:      wifi1-guest
SSID:           Guest-Wifi
MAC:            02:00:C0:FF:EE:00
Vendor:         locally administered
Hostname:       Wifi-Client
Address:        192.168.1.244
DNS name:       02-00-C0-FF-EE-00.dhcp-guest.rsc.eworm.de
                Wifi-Client.dhcp-guest.rsc.eworm.de
Date:           2025-11-23 15:30:27
----- >8 -----
2025-11-25 17:37:00 +01:00
Christian Hesse
094215aec7 doc/check-routeros-update: update notifications
doc/check-routeros-update.d/notification-01-found.avif
----- >8 -----
[rsc] ️ RouterOS update: 7.20.4

A new RouterOS version 7.20.4 is available for rsc.

Hostname:       rsc
Hardware:
    Board:      hAP ax^2
    Arch:       arm64
    Model:      C52iG-5HaxD2HaxD
    Serial:     HEG08Q4FT32
    License:    level 4
RouterOS:
    Channel:    stable
    Installed:  7.20.2
    Available:  7.20.4
RouterOS-Scripts:
    Commit:     main/3287/699be25b
    Version:    138

🔗https://mikrotik.com/download/changelogs/stable-release-tree
----- >8 -----

doc/check-routeros-update.d/notification-02-neighbor.avif
----- >8 -----
[rsc] ️ RouterOS update: 7.20.4

Seen a neighbor (MikroTik) running version 7.20.4 from stable, updating on rsc...

🔗https://mikrotik.com/download/changelogs/stable-release-tree
----- >8 -----
2025-11-25 17:37:00 +01:00
Christian Hesse
d60ee59e77 doc/check-perpetual-license: update notifications
doc/check-perpetual-license.d/notification-01-warn.avif
----- >8 -----
[rsc] ⚠️ License about to expire!

Your license failed to renew and is about to expire on 2025-09-13 12:12:23 on rsc...
----- >8 -----

doc/check-perpetual-license.d/notification-02-renew.avif
----- >8 -----
[rsc] ️ License renewed

Your license was successfully renewed on rsc. It is now valid until 2025-10-25 08:42:46.
----- >8 -----
2025-11-25 17:37:00 +01:00
Christian Hesse
3926d12070 doc/check-lte-firmware-upgrade: update notifications
doc/check-lte-firmware-upgrade.d/notification.avif
----- >8 -----
[rsc] ️ LTE firmware upgrade

A new firmware version 16121.1034.00.01.01.10 is available for LTE interface lte on rsc.

Model:          FG621-EA
Revision:       16121.1034.00.01.01.09
Firmware version:
    Installed:  16121.1034.00.01.01.09
    Available:  16121.1034.00.01.01.10
----- >8 -----
2025-11-25 17:37:00 +01:00
Christian Hesse
5dbd419d1a doc/check-health: update notifications
doc/check-health.d/notification-01-cpu-utilization-high.avif
----- >8 -----
[rsc] 🧮📈️ Health warning: CPU utilization

The average CPU utilization on rsc is at 79%!
----- >8 -----

doc/check-health.d/notification-02-cpu-utilization-ok.avif
----- >8 -----
[rsc] 🧮📉️ Health recovery: CPU utilization

The average CPU utilization on rsc decreased to 64%.
----- >8 -----

doc/check-health.d/notification-03-ram-utilization-high.avif
----- >8 -----
[rsc] 🗃️📈️ Health warning: RAM utilization

The RAM utilization on rsc is at 88%!

total:  64.0MiB
used:   56.7MiB
free:   7.25MiB
----- >8 -----

doc/check-health.d/notification-04-ram-utilization-ok.avif
----- >8 -----
[rsc] 🗃️📉️ Health recovery: RAM utilization

The RAM utilization on rsc decreased to 75%.
----- >8 -----

doc/check-health.d/notification-05-voltage.avif
----- >8 -----
[rsc] 📉️ Health warning: voltage

The voltage on rsc jumped more than 10%.

old value:  23.8V
new value:  16.2V
----- >8 -----

doc/check-health.d/notification-06-temperature-high.avif
----- >8 -----
[rsc] 🔥️ Health warning: cpu-temperature

The cpu-temperature on rsc is above threshold: 74°C
----- >8 -----

doc/check-health.d/notification-07-temperature-ok.avif
----- >8 -----
[rsc] ️ Health recovery: cpu-temperature

The cpu-temperature on rsc dropped below threshold: 64°C
----- >8 -----

doc/check-health.d/notification-08-state-fail.avif
----- >8 -----
[rsc] ️ Health warning: psu2-state

The device 'psu2-state' on rsc failed!
----- >8 -----

doc/check-health.d/notification-09-state-ok.avif
----- >8 -----
[rsc] ️ Health recovery: psu2-state

The device 'psu2-state' on rsc recovered!
----- >8 -----
2025-11-25 17:37:00 +01:00