Commit graph

3219 commits

Author SHA1 Message Date
Christian Hesse
db19c4cb43 contrib/html: add a margin on left and right...
... for windows in landscape (wider than high). Also make the
notification float right for landscape only.
2025-11-13 13:40:13 +01:00
Christian Hesse
bfa0148c9d contrib/html: include stylesheet via link 2025-11-13 13:40:11 +01:00
Christian Hesse
480e36bcf3 contrib/{logo-color,notification}: use a single style 2025-11-13 13:38:22 +01:00
Christian Hesse
128dfe0ff1 contrib/html: add empty lines...
... for easier rebasing.
2025-11-13 13:37:51 +01:00
Christian Hesse
fcc413ea26 README: add a sub-section for code hosting 2025-11-13 12:58:12 +01:00
Christian Hesse
9ab7d0a43b README: add the upstream url verbatim 2025-11-13 12:58:12 +01:00
Christian Hesse
5f0005baaf README: move the QR code 2025-11-13 12:58:12 +01:00
Christian Hesse
903c4bad41 Merge branch 'builtin-trust-store' into next 2025-11-13 12:58:12 +01:00
Christian Hesse
ae560a548c doc/mod/notification-matrix: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
c97ba60ca0 CERTIFICATES: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
be362c8da7 update-tunnelbroker: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
f7f97a458b telegram-chat: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
3e18e645d1 netwatch-dns: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
e29d9bc603 mod/notification-telegram: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
21c19a72a5 mod/notification-ntfy: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
3c695a6721 fw-addr-lists: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
468e2994c9 check-certificates: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
2d048d6e11 global-functions: $ScriptInstallUpdate: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
25e20dc0ef global-functions: $GetMacVendor: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
528edb7ea3 global-functions: $DownloadPackage: define certificate use 2025-11-13 12:58:12 +01:00
Christian Hesse
50d9106e2f global-functions: $CertificateAvailable: support new builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
2025-11-13 12:58:12 +01:00
Christian Hesse
f78d747226 INITIAL-COMMANDS: support new builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
2025-11-13 12:58:12 +01:00
Christian Hesse
e0e9dd9058 README: support new builtin-trust-store...
... which was introduced with RouterOS 7.21beta7.
2025-11-13 12:58:12 +01:00
Christian Hesse
d6c0d0918b global-functions: $ScriptInstallUpdate: extra actions on 'not found' only 2025-11-13 12:03:37 +01:00
Christian Hesse
8af4fbb462 global-functions: $ScriptInstallUpdate: either or...
... but not both.
2025-11-13 12:03:37 +01:00
Christian Hesse
bc21a14594 global-functions: $ScriptInstallUpdate: give hint on ignore
Fixes: https://github.com/eworm-de/routeros-scripts/issues/112
2025-11-13 12:03:37 +01:00
Christian Hesse
9967814c0d contrib/checksums: output to stdout...
... and let the Makefile redirect.
2025-11-13 12:03:37 +01:00
Christian Hesse
8cfc557ac9 global-functions: $CertificateDownload: drop unused function 2025-11-13 12:03:37 +01:00
Christian Hesse
d32b05c8a2 check-certificates: add missing semicolon 2025-11-13 12:03:37 +01:00
Christian Hesse
d100cac9ed README: add a line break before command 2025-11-13 12:03:37 +01:00
Christian Hesse
c88953e44d README: fix typo
We had it there since 39d1027d697c09ec709a1b847a185ccff3b00540... 😜
2025-11-07 22:11:25 +01:00
Christian Hesse
20987221d9 mod/notification-email: ignore errors (for now...)
Errors are returned since RouterOS 7.21beta2.

We keep the current logic for now, as we want to support older
RouterOS versions. This is something to be reworked later...
2025-10-26 19:19:13 +01:00
Christian Hesse
ea4b5553c2 Merge branch 'netmask6' into next
This branch is a follow-up on 9ceed0926a
with clean solution. Read on for details...

The data type `ip6-prefix` used to hold what it was named for - an IPv6
prefix:

    [user@mikrotik] > :put 2001:db8::dead:beef/32
    2001:db8::/32

This changed with RouterOS 6.21beta2, which now allows that exact same
data type to hold something like "address with prefix length attached":

    [user@mikrotik] > :put 2001:db8::dead:beef/32
    2001:db8::dead:beef/32

My scripts (namely `fw-addr-lists`) relied on the old behaviour and broke.
The commit mentioned above was just a quick workaround, with rough edges,
and it could still fail.

Sadly RouterOS does not support bit shifting on IPv6 data types, so a
(completely) mathematical solution is out of scope.

This branch implements a new and better workaround, see the first commit
of branch (6ad6f9aa08) for details.

I opened a support ticket / feature request on this topic, let's see
what results it brings...

https://help.mikrotik.com/servicedesk/servicedesk/customer/portal/1/SUP-201881
2025-10-22 19:05:38 +02:00
Christian Hesse
b80b872e55 mod/ipcalc: support IPv6
Well, some of these values do not make a lot of sense for IPv6...
Something to be cleaned up later.
2025-10-19 19:55:12 +02:00
Christian Hesse
ea05b69f7c fw-addr-lists: use $NetMask6 2025-10-19 19:55:12 +02:00
Christian Hesse
d7a6eb1d00 global-functions: $NetMask6: implement simple caching
The calculation is quite complex for something that needs to be done
frequently, for example by `fw-addr-lists`. The number of possible
netmasks is limited, so let's cache the results that were calculated
already.
2025-10-19 19:52:42 +02:00
Christian Hesse
6ad6f9aa08 global-functions: introduce $NetMask6
RouterOS does not support bit shifting on IPv6 data types, so we have to
split the problem:

 * each 16 bit block is calculated separately, as number
 * the complete netmask is assembled in a loop, as string
 * the final string is casted to correct data type
2025-10-19 19:48:14 +02:00
Christian Hesse
c62f236251 Merge branch 'netmask4' into next 2025-10-19 19:26:51 +02:00
Christian Hesse
47309e5c03 fw-addr-lists: normalize IPv4 addresses 2025-10-16 15:43:43 +02:00
Christian Hesse
9fa11cb79a mod/ipcalc: use $NetMask4 2025-10-16 13:03:54 +02:00
Christian Hesse
def540c965 global-functions: introduce $NetMask4 2025-10-16 10:47:19 +02:00
Christian Hesse
025b492783 global-functions: remove trailing space 2025-10-16 10:34:09 +02:00
Christian Hesse
6630d35eea mod/notification-telegram: $FlushTelegramQueue: check for cert, again
Chances are that messages have been queued before system was fully up or
connected. Thus the certificate may be missing, and it should be checked
again for on flush.
2025-10-13 12:06:01 +02:00
Christian Hesse
c81618b571 log-forward: always use memo symbol...
... and add warning sign on top.
2025-10-09 09:22:39 +02:00
Christian Hesse
35b556f0b2 fw-addr-lists: calculate branch after post-processing...
... as branch will likely change, and we want to avoid duplicates. 😉
2025-10-08 18:43:06 +02:00
Christian Hesse
9ceed0926a fw-addr-lists: do not use IPv6 net addresses smaller /64
This should reduce the number of addresses in list by aggregating them,
and also fix addresses with host part set (like 2001:470:1:fb5::2a0/64,
which should be 2001:470:1:fb5::/64 really).

The latter caused new warnings with RouterOS 7.21beta2.
2025-10-08 18:43:06 +02:00
Christian Hesse
5ffa85f8bf mod/ssh-keys-import: handle new parameter
With RouterOS 7.21beta2 the user SSH keys "key-owner" field was
renamed to "info".

Either of both is displayed in red by syntax highlighting, but it
works anyway.
2025-10-08 18:42:26 +02:00
Christian Hesse
48d0f1f0b9 fw-addr-lists: check last character of line for JSON
This is not a proof, but a line also ending with a curly bracket
has higher probability of being valid JSON.

Better safe than sorry... We are suffering a CVE in RouterOS:
https://www.cve.org/CVERecord?id=CVE-2025-10948
2025-10-02 11:51:08 +02:00
Christian Hesse
a931cb61a0 packages-update: fix condition when checking for scheduler
This broke with commit 6b0c9ab17d2e7e3693cebf281e5300d1e4de3446...
2025-09-30 10:02:20 +02:00
Christian Hesse
14b51d96b0 generate valid HTML, including head & style 2025-09-25 10:25:20 +02:00