aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2025-06-25netwatch-dns: fix indentionHEADmainGravatar Christian Hesse1-1/+1
2025-06-25netwatch-dns: retry doh server...Gravatar Christian Hesse1-5/+7
... for more resilience on bad connectivity or saturated link.
2025-06-23Merge branch 'file' into nextrouteros-7.20beta4-1Gravatar Christian Hesse1-4/+22
2025-06-23global-functions: $FileGet: mitigate race with file propertiesGravatar Christian Hesse1-0/+6
RouterOS is suffering a race condition, where a file exists, but its properties are not (yet) available. This is handled in $WaitForFile. This passes an interval of zero to $WaitForFile, as does not wait for the file to exist, but wants to avoid the race only.
2025-06-23global-functions: $WaitForFile: (mostly) revert changesGravatar Christian Hesse1-4/+16
This (mostly) reverts commits 0e00a228d67d77fadc80eee2df04c2cec25b8db8 and e08bb2192dfd22b25652553f28304818a3602331. This is required for RouterOS 7.20beta4. That fixed recursive find for files, and (again, or still?) suffers timing (and thus racing) issues getting file properties. This breaks RouterOS 7.20beta2 again, so that specific version is not supported. Just update...
2025-06-20packages-update: convert to time before comparing...Gravatar Christian Hesse1-2/+3
... to avoid: packages-update: Script 'packages-update' exited with error: Script Error: cannot compare if truth value is more than or equal to ip address
2025-06-11doc/fw-addr-lists: add a warning on possible subsystem crashGravatar Christian Hesse1-1/+4
2025-06-11fw-addr-lists: delay on possible scripting subsystem crashGravatar Christian Hesse1-0/+6
This happens in :convert when a list is way too large. Let's use $LogPrintOnce here. If the scripting subsystem really crashes the message will be purged from $LogPrintOnceMessages anyway (as all global variables are lost).
2025-06-11capsman-download-packages: revert changes for "new functionality"Gravatar Christian Hesse4-13/+13
(Though we keep the quoting for type.) Well, turned out this functionality is for `/file/print` only, but does not work with `/file/find`. 🫣🥴 This reverts commit 15fd522d3db507cc7c22af9cd59ff85d41a5be6f.
2025-06-04update list of contributorsGravatar Christian Hesse1-0/+1
2025-06-04check-routeros-update: remove a stale schedulerGravatar Christian Hesse1-3/+9
2025-06-04packages-update: support deferred reboot with longer intervalGravatar Christian Hesse2-5/+10
2025-06-04Merge branch 'file' into nextrouteros-7.20beta2-1Gravatar Christian Hesse9-67/+107
2025-06-04capsman-download-packages: adopt new functionality from file menuGravatar Christian Hesse4-13/+13
2025-06-04capsman-download-packages: use $FileGet ...Gravatar Christian Hesse3-3/+6
... to work around restrictions in new file handling.
2025-06-04telegram-chat: use $FileExists ...Gravatar Christian Hesse1-1/+2
... to work around restrictions in new file handling.
2025-06-04mod/ssh-keys-import: use $FileExists ...Gravatar Christian Hesse1-2/+2
... to work around restrictions in new file handling.
2025-06-04mod/notification-email: use $RmFileGravatar Christian Hesse1-1/+2
2025-06-04mod/notification-email: use $FileExists ...Gravatar Christian Hesse1-1/+2
... to work around restrictions in new file handling.
2025-06-04backup-email: add a comment why files are not removedGravatar Christian Hesse1-0/+1
2025-06-04backup-email: check for .conf fileGravatar Christian Hesse1-1/+2
2025-06-04backup-email: use :retry and $FileExists ...Gravatar Christian Hesse1-10/+11
... to work around restrictions in new file handling.
2025-06-04global-functions: $DownloadPackage: use $FileExists ...Gravatar Christian Hesse1-2/+3
... to work around restrictions in new file handling.
2025-06-04global-functions: introduce $FileExistsGravatar Christian Hesse1-0/+24
2025-06-04global-functions: $WaitForFile: use :retry for simplification, ...Gravatar Christian Hesse1-8/+6
... and to work around restrictions in new file handling.
2025-06-04global-functions: $WaitForFile: drop the workaroundrouteros-7.18rc1-2Gravatar Christian Hesse1-9/+0
This was fixed in RouterOS 7.18rc1, so should be ok to remove now.
2025-06-04global-functions: $RmFile: use $FileGet ...Gravatar Christian Hesse1-9/+10
... to work around restrictions in new file handling.
2025-06-04global-functions: $RmDir: use $FileGet ...Gravatar Christian Hesse1-9/+10
... to work around restrictions in new file handling.
2025-06-04global-functions: $MkDir: use $FileGet ...Gravatar Christian Hesse1-1/+3
... to work around restrictions in new file handling.
2025-06-03global-functions: introduce $FileGetGravatar Christian Hesse1-0/+13
2025-06-03Merge branch 'builtin-certs' into nextGravatar Christian Hesse3-11/+32
2025-06-03INITIAL-COMMANDS: use builtin certificates if possibleGravatar Christian Hesse1-10/+16
2025-05-28global-functions: $CertificateAvailable: try to use builtin certificatesGravatar Christian Hesse1-0/+5
The builtin certificates were introduced with RouterOS 7.19, so requires this hacky :parse workaround.
2025-05-28README: add a paragraph and link to jumpGravatar Christian Hesse1-2/+5
2025-05-28README: give a hint on builtin certificate storeGravatar Christian Hesse1-1/+8
I guess this should become the default any time in future...
2025-05-23telegram-chat: rename variable...Gravatar Christian Hesse1-2/+2
... to better describe the use.
2025-05-23telegram-chat: fix detection of repliesGravatar Christian Hesse1-1/+1
2025-05-23global-functions: $ScriptInstallUpdate: fix syntax errorGravatar Christian Hesse1-1/+1
2025-05-23fix the trust state for certificatesrouteros-7.19-1change-138Gravatar Christian Hesse2-1/+3
RouterOS 7.19 is suffering an issue with certificate store, where the trust state is not available correctly. This effects certificates imported a long time ago, with RouterOS 7.4 or older. Fixing trust state for all certificates by re-setting the trust state... (Reported as SUP-188791...)
2025-05-22DEBUG: fix typoGravatar Christian Hesse1-1/+1
2025-05-22telegram-chat: support debug output for updates in JSONGravatar Christian Hesse1-0/+3
2025-05-22telegram-chat: support trusted group chat idsGravatar Christian Hesse1-1/+3
But be warned: Adding a person to a trusted group will give her/him administrative control over the device(s) - without changes on the device itself! On the other hand... Removing permissions is easily done by removing a person from a group. Closes: https://github.com/eworm-de/routeros-scripts/issues/101
2025-05-22mod/notification-telegram: fix indentionGravatar Christian Hesse1-1/+1
2025-05-22fw-addr-lists: for IPv6 the CIDR is always expectedGravatar Christian Hesse1-2/+2
2025-05-22mod/notification-email: add the link symbolGravatar Christian Hesse1-1/+2
2025-05-22mod/notification-email: properly truncate the bodyGravatar Christian Hesse1-3/+13
Truned out that the size limit for e-mail message/body is anywhere just below 64kB... So truncate at about 62.000 bytes.
2025-05-22mod/notification-email: add error handling when sending mailGravatar Christian Hesse1-25/+30
2025-05-22mod/inspectvar: replace only when matchingGravatar Christian Hesse1-1/+6
2025-05-22mod/inspectvar: remove CR, replace LFGravatar Christian Hesse1-0/+2
2025-05-22mod/inspectvar: print the length for stringsGravatar Christian Hesse1-0/+5
2025-05-22mod/inspectvar: use $CharacterMultiplyGravatar Christian Hesse1-5/+3
2025-05-22Merge branch 'onerror' into nextGravatar Christian Hesse23-174/+175
2025-05-22update-tunnelbroker: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-22unattended-lte-firmware-upgrade: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-6/+6
2025-05-22telegram-chat: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-22sms-forward: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-22netwatch-notify: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-6/+6
2025-05-22netwatch-dns: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-4/+4
2025-05-22mod/ssh-keys-import: :do ... on-error=... -> ... well... - fix condition 🥴Gravatar Christian Hesse1-3/+1
2025-05-21mod/ssh-keys-import: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21mod/scriptrunonce: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21mode-button: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21mod/notification-gotify: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-6/+6
2025-05-21mod/notification-matrix: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-21/+21
2025-05-21mod/notification-ntfy: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-6/+6
2025-05-21mod/notification-telegram: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-9/+9
2025-05-21lease-script: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21gps-track: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21global-functions: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21global-functions: $ValidateSyntax: add debug outputGravatar Christian Hesse1-0/+3
2025-05-21global-functions: $ValidateSyntax: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-2/+2
2025-05-21global-functions: $ScriptInstallUpdate: :do ... on-error=... -> :onerror ... ↵Gravatar Christian Hesse1-15/+13
do=...
2025-05-21global-functions: $RmFile: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21global-functions: $RmDir: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21global-functions: $MkDir: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-6/+6
2025-05-21global-functions: $GetMacVendor: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21global-functions: $FetchHuge: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21global-functions: $DownloadPackage: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21global-config: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21fw-addr-lists: adopt changes in wording...Gravatar Christian Hesse1-12/+12
... to match the changes from previous commit.
2025-05-21fw-addr-lists: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-8/+8
2025-05-21check-routeros-update: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21check-lte-firmware-upgrade: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21check-health: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-3/+3
2025-05-21backup-upload: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-9/+9
2025-05-21backup-partition: :do ... on-error=... -> :onerror ... do=...Gravatar Christian Hesse1-7/+9
2025-05-21global-functions: $DownloadPackage: reverse failure logic...Gravatar Christian Hesse1-14/+11
... and do not retry.
2025-05-13sms-forward: add error handling on message removalGravatar Christian Hesse1-4/+12
2025-05-13sms-forward: delay after removal...Gravatar Christian Hesse1-0/+2
... to give the SIM card some time to succeed. Removing several messages one after another fails without this.
2025-05-12global-functions: $ScriptInstallUpdate: set config and functions not ready...Gravatar Christian Hesse1-21/+16
... before reload. This should fix some corner cases where scripts ran with broken configuration or functions. Also do reload both - configuration and functions - to simplify the function.
2025-05-12global-config: add another visual hintGravatar Christian Hesse1-1/+4
2025-05-12global-config: add another comment with visual hintGravatar Christian Hesse1-0/+3
2025-05-08Merge branch 'global-config-ready' into nextGravatar Christian Hesse59-172/+179
2025-05-08global-wait: check for global config to be readyGravatar Christian Hesse1-1/+2
2025-05-08update-tunnelbroker: check for global config to be readyGravatar Christian Hesse1-3/+3
2025-05-08update-gre-address: check for global config to be readyGravatar Christian Hesse1-3/+3
2025-05-08telegram-chat: check for global config to be readyGravatar Christian Hesse1-3/+3
2025-05-08sms-forward: check for global config to be readyGravatar Christian Hesse1-3/+3
2025-05-08sms-action: check for global config to be readyGravatar Christian Hesse1-3/+3
2025-05-08ppp-on-up: check for global config to be readyGravatar Christian Hesse1-3/+3