aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2025-03-13capsman-download-packages: fix parameter for $RmFileHEADstagingmainGravatar Christian Hesse3-3/+3
The function can not handle ids, we have to pass a name instead.
2025-03-13check-routeros-update: fix condition for license checkGravatar Christian Hesse1-1/+1
Turns out that `next-renewal-at` is moved forward when renewal failed, so it never matches the criteria. Just start complaining three weeks before deadline.
2025-03-12netwatch-notify: check matching address type onlyGravatar Christian Hesse1-8/+12
2025-03-12netwatch-notify: increase the timeout even moreGravatar Christian Hesse1-2/+2
This interacts with the number of addresses in the address-list. Having a lot of addresses there (for exemple from script 'fw-addr-lists' ๐Ÿ˜œ) makes the 'find' take longer. We have to make sure that 'find' succeeds before the address times out. As this does not hurt... Let's just bump to 10 seconds to be safe.
2025-03-12netwatch-notify: increase timeout...Gravatar Christian Hesse1-2/+2
... as a timeout of one second expires immediately. ๐Ÿคจ
2025-03-11fw-addr-lists: raw.githubusercontent.com requires 'USERTrust RSA โ†ตGravatar Christian Hesse3-2/+43
Certification Authority' now
2025-03-11check-routeros-update: check perpetual license...Gravatar Christian Hesse1-0/+21
... as these have to be renewed and can expire.
2025-03-11Merge branch 'fw-addr-lists' into nextGravatar Christian Hesse1-38/+59
2025-03-11fw-addr-lists: get branch from calculated checksumGravatar Christian Hesse1-3/+8
The addresses were spread very uneven before. Let's calculate a checksum, and take the first two characters of that. The addresses are now spread evenly on 256 branches (0x00 to 0xff).
2025-03-11fw-addr-lists: two characters for branchGravatar Christian Hesse1-3/+3
Using one character for IPv4 is ok (1 to 9), but IPv6 global unicase (2000::/3) results in just two different characters (2 and 3). So let's use first two characters...
2025-03-11fw-addr-lists: put addresses into "branches"...Gravatar Christian Hesse1-28/+37
... effectively adding another layer and some complexity, but: The addresses are sorted inside the array, and sorting less addresses in a branch saves a lot of processing power. So this is a lot faster now...
2025-03-11fw-addr-lists: strip cidr for host addressesGravatar Christian Hesse1-0/+6
This makes sure the addresses match later when we read them from address-list for renew.
2025-03-11fw-addr-lists: do not clean upGravatar Christian Hesse1-2/+0
Cleanup is important on renew (so the script does not attempt to re-add), but we do not care here.
2025-03-06fw-addr-lists: put timeout into variableGravatar Christian Hesse1-6/+8
2025-03-06DEBUG: add info on $LogPrintVerboseGravatar Christian Hesse2-0/+15
2025-03-06fw-addr-lists: use $LogPrintVerbose ...Gravatar Christian Hesse1-6/+7
... to reduce debug output and speed up execution.
2025-03-06global-functions: introduce $LogPrintVerbose ...Gravatar Christian Hesse1-0/+3
... which is a declared function, but has no code, intentionally. It can be called as a no-op by default. If you want this output set the function to be the same as $LogPrint: :set LogPrintVerbose $LogPrint;
2025-03-06Merge branch 'checksums' into nextGravatar Christian Hesse1-3/+22
2025-03-06global-functions: $ScriptInstallUpdate: checksum only for same sourceGravatar Christian Hesse1-1/+2
So ignore if script is fetched from different base or with different suffix.
2025-03-06global-functions: $ScriptInstallUpdate: simplify checkGravatar Christian Hesse1-2/+1
This one should suffice...
2025-03-06global-functions: $ScriptInstallUpdate: put checksum into variableGravatar Christian Hesse1-2/+3
2025-03-06global-functions: $ScriptInstallUpdate: support checksums for CRLF scriptsGravatar Christian Hesse1-1/+2
2025-03-06global-functions: $ScriptInstallUpdate: get and compare checksumsGravatar Christian Hesse1-0/+13
The file 'checksums.json' is generated when deploying to my web server... This should speed up the update a lot as it reduces downloads to a minimum. ๐ŸŽ‰๐Ÿ˜
2025-03-05global-functions: $ScriptInstallUpdate: move code into blockGravatar Christian Hesse1-3/+7
2025-03-03ipv6-update: check for availability of both variablesGravatar Christian Hesse1-1/+1
2025-03-03ipv6-update: ignore if prefix is no longer validGravatar Christian Hesse1-0/+8
2025-02-27Merge branch 'quote-file-name' into nextrouteros-7.18-1Gravatar Christian Hesse2-2/+2
This is required with RouterOS 7.18 now... Well, probably the change was introduced with one of the beta versions...
2025-02-27mod/notification-telegram: $GetTelegramChatId: give thead id...Gravatar Christian Hesse1-0/+3
... if message was sent to group's topic.
2025-02-27INITIAL-COMMANDS: quote the certificate file nameGravatar Christian Hesse1-1/+1
2025-02-27mod/notification-telegram: $GetTelegramChatId: use last messageGravatar Christian Hesse1-4/+7
2025-02-27README: quote the certificate file nameGravatar Christian Hesse1-1/+1
2025-02-27Merge branch 'check-certificates' into nextGravatar Christian Hesse1-10/+15
2025-02-26check-certificates: try PKCS#12 before PEM...Gravatar Christian Hesse1-1/+1
... as that is more likely to have a private key. Is that true? ๐Ÿคจ
2025-02-26check-certificates: simplify return from function...Gravatar Christian Hesse1-4/+2
... and also break earch on success.
2025-02-26check-certificates: ... and even moreGravatar Christian Hesse1-0/+3
2025-02-26check-certificates: add more debug outputGravatar Christian Hesse1-1/+3
2025-02-26check-certificates: drop dot from type...Gravatar Christian Hesse1-2/+2
... and add it in file name.
2025-02-26check-certificates: catch and ignore import errorGravatar Christian Hesse1-4/+6
Hmm... ๐Ÿคจ When was that runtime error introduced? I *think* it worked before.
2025-02-25mod/notification-telegram: introduce $GetTelegramChatIdchange-135Gravatar Christian Hesse5-9/+52
2025-02-25telegram-chat: say hello when awaiting commandsGravatar Christian Hesse1-1/+2
2025-02-25global-functions: $DeviceInfo: add license level, re-orderGravatar Christian Hesse1-6/+9
2025-02-25Merge branch 'telegram-topics' into nextGravatar Christian Hesse6-16/+30
2025-02-25notify on support for Telegram group topicschange-134Gravatar Christian Hesse2-1/+2
2025-02-25telegram-chat: support reply in group's topicGravatar Christian Hesse1-4/+9
2025-02-25telegram-chat: make $IsReply a boolean...Gravatar Christian Hesse1-2/+3
... and check for correct data type. We need this for a group with topic feature enabled, as that variable is set there, but is is an array.
2025-02-25mod/notification-telegram: support sending to group's topic...Gravatar Christian Hesse3-2/+11
... when a group has enabled the "Topics" feature.
2025-02-24mod/notification-telegram: simplify the queue...Gravatar Christian Hesse1-9/+7
... and pass http-data as a complete sting.
2025-02-19global-functions: $WaitForFile: drop the warning on file handling breakage...routeros-7.18rc1-1Gravatar Christian Hesse1-5/+1
... but keep the workaround for now - just to be sure.
2025-02-17global-functions: $ScriptInstallUpdate: also show commit infoGravatar Christian Hesse1-1/+2
2025-02-17global-functions: $DeviceInfo: also show commit infoGravatar Christian Hesse1-2/+4
2025-02-13global-functions: $RmFile: fix type safeguardGravatar Christian Hesse1-2/+2
Ups... ๐Ÿซฃ The type is not just literal 'file' - but what ever type the file is, like 'backup', 'package', 'script', '.conf file', ... So let's match those types we do *not* want to remove. Fixes: https://github.com/eworm-de/routeros-scripts/issues/90
2025-02-13global-functions: $ScriptInstallUpdate: show commit id (if available)Gravatar Christian Hesse1-0/+6
2025-02-13global-functions: $DeviceInfo: show commit id (if available)Gravatar Christian Hesse1-0/+4
2025-02-12mod/scriptrunonce: always give proper return codeGravatar Christian Hesse1-0/+3
2025-02-12mod/scriptrunonce: resolve nested conditionsGravatar Christian Hesse1-11/+10
2025-02-12mod/scriptrunonce: use $FetchHugeGravatar Christian Hesse1-5/+4
2025-02-12fw-addr-lists: add a collective list in default configurationchange-133Gravatar Christian Hesse4-2/+8
2025-02-12global-functions: $WaitForFile: check that we can get propertiesrouteros-7.18beta2-3Gravatar Christian Hesse1-1/+15
Looks like RouterOS 7.18beta2 brings more breakage. Having a file available in listing is just the first step now. We also need to make sure that the file properties are accessible... ๐Ÿคช I have seen this taking several tens of seconds at least... ๐Ÿคช๐Ÿคช So let's just try until we have properties available, or the file vanishes. Reported as SUP-179200. ๐Ÿคž
2025-02-12introduce DEBUG infoGravatar Christian Hesse1-0/+49
2025-02-11global-functions: $MkDir: add debug outputGravatar Christian Hesse1-0/+3
2025-02-11fw-addr-lists: these lists are deprecated and discontinuedGravatar Christian Hesse4-37/+3
Any alternatives around?
2025-02-10doc/log-forward: mention ntfyGravatar Christian Hesse1-3/+3
2025-02-10doc/log-forward: add a hint on defaultsGravatar Christian Hesse1-0/+6
2025-02-10mod/notification-ntfy: use empty strings as default...Gravatar Christian Hesse1-3/+3
... which should be fine now that the credentials are not passed with fetch's properties, but as properly formatted authentication header.
2025-02-10log-forward: make empty string a special meaningGravatar Christian Hesse2-5/+10
2025-02-10Merge branch 'rmdir-rmfile' into nextrouteros-7.18beta2-2Gravatar Christian Hesse9-19/+91
RouterOS 7.18beta2 comes with some severe issues in file handling, probably racy conditions. Let's move file (and directory) removal to functions, so errors can be caught and ignored ๐Ÿคช from a central place.
2025-02-10telegram-chat: use $RmDirGravatar Christian Hesse1-1/+2
2025-02-10mod/ssh-keys-import: use $RmDirGravatar Christian Hesse1-2/+3
2025-02-10check-certificates: use $RmFileGravatar Christian Hesse1-1/+2
2025-02-10capsman-download-packages: use $RmFileGravatar Christian Hesse3-3/+6
2025-02-10backup-upload: use $RmFileGravatar Christian Hesse1-3/+4
2025-02-10backup-upload: use $RmDirGravatar Christian Hesse1-1/+2
2025-02-10backup-cloud: use $RmDirGravatar Christian Hesse1-1/+2
2025-02-10global-functions: $MkDir: use $RmDirGravatar Christian Hesse1-1/+2
2025-02-10global-functions: $FetchHuge: use $RmDirGravatar Christian Hesse1-2/+3
2025-02-10global-functions: $FetchHuge: use $RmFileGravatar Christian Hesse1-1/+2
2025-02-10global-functions: $DownloadPackage: use $RmFileGravatar Christian Hesse1-1/+2
2025-02-10global-functions: $CertificateDownload: use $RmFileGravatar Christian Hesse1-2/+3
2025-02-10global-functions: $RmDir: fail on wrong typeGravatar Christian Hesse1-0/+5
2025-02-10global-functions: $RmFile: fail on wrong typeGravatar Christian Hesse1-0/+5
2025-02-07bump required RouterOS version for all scriptsrouteros-7.15-5Gravatar Christian Hesse108-108/+108
2025-02-07global-functions: $RmDir: add debug outputGravatar Christian Hesse1-0/+3
2025-02-07global-functions: $RmFile: add debug outputGravatar Christian Hesse1-0/+3
2025-02-07global-functions: introduce $RmDirGravatar Christian Hesse1-0/+21
2025-02-07global-functions: introduce $RmFileGravatar Christian Hesse1-0/+21
2025-02-07global-functions: $MkDir: create directory directly...routeros-7.15-4Gravatar Christian Hesse2-6/+4
... instead of file inside directory. This requires RouterOS 7.15, so bumping requirement.
2025-02-07packages-update: ignore available packagesrouteros-7.18beta2-1Gravatar Christian Hesse1-1/+1
This was introduced with RouterOS 7.18beta2 to list and install available packages. We do not want to install all of them. ๐Ÿ˜
2025-02-06packages-update: disable random delay for backupGravatar Christian Hesse1-0/+4
2025-02-06packages-update: move configuration variables upGravatar Christian Hesse1-3/+3
2025-02-05check-health: split off plugins...change-132Gravatar Christian Hesse9-100/+239
... from 'check-health', so the script works on all devices to monitor CPU and RAM. The supported plugins for sensors in hardware are installed automatically.
2025-02-05doc/netwatch-dns: warn on different certificate...Gravatar Christian Hesse1-0/+4
... based on indicated server name. Currently this is true for 8.8.8.8 (GTS Root R1) and dns.google (GTS Root R4).
2025-02-05doc/netwatch-dns: switch exmample to cloudflare-dns.comGravatar Christian Hesse1-2/+2
2025-02-05certs: dns.google switched to 'GTS Root R4'Gravatar Christian Hesse1-1/+1
Note that 8.8.8.8 is still at 'GTS Root R1'...
2025-02-04check-health: remove trailing whitespacesGravatar Christian Hesse1-10/+10
2025-02-04check-health: remove extra line breakGravatar Christian Hesse1-1/+0
2025-02-03doc/check-health: highligh note on bad initial stateGravatar Christian Hesse1-2/+4
2025-02-03check-certificates: check to characters for star-dotGravatar Christian Hesse1-1/+1
2025-01-31check-certificates: pass real and modified name into functionGravatar Christian Hesse1-9/+13
2025-01-31check-certificates: do not rename the wrong certificateGravatar Christian Hesse1-2/+4
2025-01-31check-certificates: try with "star." for renewal with wildcardsGravatar Christian Hesse1-0/+4