aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
7 dayslogo: strip some bytes...•••... by just re-compressing/re-encoding. HEADstagingmainGravatar Christian Hesse2-0/+0
7 daysmod/notification-telegram: fix override quirk•••IDs for chat and thread can be overridden. Overriding the chat probably makes the thread invalid - so ignore that then. Gravatar Christian Hesse1-1/+2
7 dayscheck-routeros-update: split off check-perpetual-license...•••... and also add documentation, screenshot, etc. Gravatar Christian Hesse8-39/+152
12 dayscheck-routeros-update: send notification on renewed license...•••... when a warning has been sent before. Gravatar Christian Hesse1-0/+10
12 dayscheck-routeros-update: send certificate warning just once...•••... and another one once expired. Gravatar Christian Hesse1-8/+15
12 dayssupport creating the checksums fileGravatar Christian Hesse3-2/+17
2025-03-13capsman-download-packages: fix parameter for $RmFile•••The function can not handle ids, we have to pass a name instead. Gravatar Christian Hesse3-3/+3
2025-03-13check-routeros-update: fix condition for license check•••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. Gravatar Christian Hesse1-1/+1
2025-03-12netwatch-notify: check matching address type onlyGravatar Christian Hesse1-8/+12
2025-03-12netwatch-notify: increase the timeout even more•••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. Gravatar Christian Hesse1-2/+2
2025-03-12netwatch-notify: increase timeout...•••... as a timeout of one second expires immediately. ๐Ÿคจ Gravatar Christian Hesse1-2/+2
2025-03-11fw-addr-lists: raw.githubusercontent.com requires 'USERTrust RSA Certificatio...Gravatar Christian Hesse3-2/+43
2025-03-11check-routeros-update: check perpetual license...•••... as these have to be renewed and can expire. Gravatar Christian Hesse1-0/+21
2025-03-11Merge branch 'fw-addr-lists' into nextGravatar Christian Hesse1-38/+59
2025-03-11fw-addr-lists: get branch from calculated checksum•••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). Gravatar Christian Hesse1-3/+8
2025-03-11fw-addr-lists: two characters for branch•••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... Gravatar Christian Hesse1-3/+3
2025-03-11fw-addr-lists: put addresses into "branches"...•••... 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... Gravatar Christian Hesse1-28/+37
2025-03-11fw-addr-lists: strip cidr for host addresses•••This makes sure the addresses match later when we read them from address-list for renew. Gravatar Christian Hesse1-0/+6
2025-03-11fw-addr-lists: do not clean up•••Cleanup is important on renew (so the script does not attempt to re-add), but we do not care here. Gravatar Christian Hesse1-2/+0
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 ...•••... to reduce debug output and speed up execution. Gravatar Christian Hesse1-6/+7
2025-03-06global-functions: introduce $LogPrintVerbose ...•••... 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; Gravatar Christian Hesse1-0/+3
2025-03-06Merge branch 'checksums' into nextGravatar Christian Hesse1-3/+22
2025-03-06global-functions: $ScriptInstallUpdate: checksum only for same source•••So ignore if script is fetched from different base or with different suffix. Gravatar Christian Hesse1-1/+2
2025-03-06global-functions: $ScriptInstallUpdate: simplify check•••This one should suffice... Gravatar Christian Hesse1-2/+1
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 checksums•••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. ๐ŸŽ‰๐Ÿ˜ Gravatar Christian Hesse1-0/+13
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 next•••This is required with RouterOS 7.18 now... Well, probably the change was introduced with one of the beta versions... routeros-7.18-1Gravatar Christian Hesse2-2/+2
2025-02-27mod/notification-telegram: $GetTelegramChatId: give thead id...•••... if message was sent to group's topic. Gravatar Christian Hesse1-0/+3
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...•••... as that is more likely to have a private key. Is that true? ๐Ÿคจ Gravatar Christian Hesse1-1/+1
2025-02-26check-certificates: simplify return from function...•••... and also break earch on success. Gravatar Christian Hesse1-4/+2
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...•••... and add it in file name. Gravatar Christian Hesse1-2/+2
2025-02-26check-certificates: catch and ignore import error•••Hmm... ๐Ÿคจ When was that runtime error introduced? I *think* it worked before. Gravatar Christian Hesse1-4/+6
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...•••... 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. Gravatar Christian Hesse1-2/+3
2025-02-25mod/notification-telegram: support sending to group's topic...•••... when a group has enabled the "Topics" feature. Gravatar Christian Hesse3-2/+11
2025-02-24mod/notification-telegram: simplify the queue...•••... and pass http-data as a complete sting. Gravatar Christian Hesse1-9/+7
2025-02-19global-functions: $WaitForFile: drop the warning on file handling breakage...•••... but keep the workaround for now - just to be sure. routeros-7.18rc1-1Gravatar Christian Hesse1-5/+1
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 safeguard•••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 Gravatar Christian Hesse1-2/+2
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 properties•••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. ๐Ÿคž routeros-7.18beta2-3Gravatar Christian Hesse1-1/+15
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 discontinued•••Any alternatives around? Gravatar Christian Hesse4-37/+3
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...•••... which should be fine now that the credentials are not passed with fetch's properties, but as properly formatted authentication header. Gravatar Christian Hesse1-3/+3
2025-02-10log-forward: make empty string a special meaningGravatar Christian Hesse2-5/+10
2025-02-10Merge branch 'rmdir-rmfile' into next•••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. routeros-7.18beta2-2Gravatar Christian Hesse9-19/+91
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...•••... instead of file inside directory. This requires RouterOS 7.15, so bumping requirement. routeros-7.15-4Gravatar Christian Hesse2-6/+4
2025-02-07packages-update: ignore available packages•••This was introduced with RouterOS 7.18beta2 to list and install available packages. We do not want to install all of them. ๐Ÿ˜ routeros-7.18beta2-1Gravatar Christian Hesse1-1/+1
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...•••... 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. change-132Gravatar Christian Hesse9-100/+239
2025-02-05doc/netwatch-dns: warn on different certificate...•••... based on indicated server name. Currently this is true for 8.8.8.8 (GTS Root R1) and dns.google (GTS Root R4). Gravatar Christian Hesse1-0/+4
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'•••Note that 8.8.8.8 is still at 'GTS Root R1'... Gravatar Christian Hesse1-1/+1
2025-02-04check-health: remove trailing whitespacesGravatar Christian Hesse1-10/+10