aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-03-20doc/netwatch-notify: move hint on notification settings upGravatar Christian Hesse1-5/+5
2023-03-20netwatch-notify: support note in notificationchange-96Gravatar Christian Hesse4-1/+16
2023-03-10drop dummy scripts used for migrationGravatar Christian Hesse57-169/+1
This now causes expected warnings on first run of $ScriptInstallUpdate. The migration still works, as we keep `global-config.changes` and `global-functions`.
2023-03-10global-functions: $ScriptInstallUpdate: add proper version in user agentGravatar Christian Hesse1-2/+5
This allows me to identify what RouterOS versions are run on devices fetching my scripts, which may helps to decide what incompatible changes to push.
2023-03-07lease-script: make sure not to match selfGravatar Christian Hesse1-1/+1
2023-03-07global-functions: $ScriptInstallUpdate: make sure not to match selfGravatar Christian Hesse1-1/+1
2023-03-07rename scripts and add file extension ".rsc"change-95Gravatar Christian Hesse125-5175/+5622
No functional change for the user... The migration is done automatically.
2023-03-06add the notification generatorGravatar Christian Hesse2-0/+72
2023-03-06... and update the logo in notificationsGravatar Christian Hesse23-1/+1
2023-03-06use a new logoGravatar Christian Hesse3-20/+26
2023-03-06check-routeros-update: allow to install all updates automatically...Gravatar Christian Hesse3-0/+18
... but with extra hurdle for more awareness of danger. Let's not send a new notification, intentionally. This feature is dangerous, and we should not advertise it.
2023-03-03doc/check-routeros-update: update wording and detailsGravatar Christian Hesse1-8/+10
2023-02-26global-functions: $MkDir: drop the compatibility workaroundrouteros-7.7Gravatar Christian Hesse1-3/+3
If you are still running RouterOS 7.6 or older add this in your global-config-overlay: :global ScriptUpdatesUrlSuffix "\?h=routeros-7.7~1"; ... and remeber to revert that change once updated.
2023-02-26telegram-chat: get the uptime just onceGravatar Christian Hesse1-2/+2
2023-02-26telegram-chat: ignore new messages after rebootGravatar Christian Hesse1-1/+2
This script supports multiple devices, and sending offset to discard messages is delayed to third fetch to make sure all devices get the message. This can cause trouble, though: Sending a device a reboot command can make that device reboot multiple times 🥴 or - even worse - make it enter an infinite boot loop 😳 if it is the only device. So let's ignore first messages after reboot.
2023-02-26telegram-chat: send messages in replyGravatar Christian Hesse1-3/+4
2023-02-24mod/notification-telegram: support sending in replyGravatar Christian Hesse1-1/+4
2023-02-24netwatch-notify: support sending silent notificationsGravatar Christian Hesse1-2/+2
2023-02-17INITIAL-COMMANDS: link to new paragraphsGravatar Christian Hesse1-3/+3
2023-02-17README: add a paragraph for scheduled automatic updatesGravatar Christian Hesse1-2/+4
2023-02-17README: move configuration down, make it a separate paragraphGravatar Christian Hesse11-21/+33
2023-02-16packages-update: put reboot into a functionGravatar Christian Hesse1-2/+6
Make the logic even simpler... Let's put the reboot code into a function. That is volatile, so device does not reboot if it is rebooted already.
2023-02-16packages-update: check version before reboot from schedulerGravatar Christian Hesse1-2/+3
Chances are that the device was rebooted manually... Do not reboot then.
2023-02-14telegram-chat: log command with failed syntax validationGravatar Christian Hesse1-0/+1
2023-02-14telegram-chat: never decrease the local offsetGravatar Christian Hesse1-1/+1
2023-02-14telegram-chat: add debug message for handled updatesGravatar Christian Hesse1-0/+2
2023-02-14telegram-chat: add updateid in log messagesGravatar Christian Hesse1-3/+4
2023-02-14check-health: wording: load -> utilizationGravatar Christian Hesse7-19/+19
The load is defined as something different... https://en.wikipedia.org/wiki/Load_(computing) So let's update the wording and use 'utilization' instead. ---- ✂️ ---- 🧮️📈️ Health warning: CPU utilization The average CPU utilization on MikroTik is at 76%! ---- ✂️ ---- 🧮️📉️ Health recovery: CPU utilization The average CPU utilization on MikroTik decreased to 64%. ---- ✂️ ----
2023-02-13doc/check-health: make the voltage limit a separate pointGravatar Christian Hesse1-1/+2
2023-02-13doc/check-health: add line break between screenshotsGravatar Christian Hesse1-2/+2
2023-02-13README: give hint about converting line endingsGravatar Christian Hesse1-0/+5
2023-02-13global-functions: $PrettyPrint: use $Unix2DosGravatar Christian Hesse1-2/+2
2023-02-13global-functions: introduce $Dos2UnixGravatar Christian Hesse1-0/+10
2023-02-13global-functions: introduce $Unix2DosGravatar Christian Hesse1-0/+11
2023-02-10ipv6-update: support host addresses in address-listchange-94Gravatar Christian Hesse4-5/+22
2023-02-09ipv6-update: accept a single prefix onlyGravatar Christian Hesse1-6/+9
2023-02-09ipv6-update: rename variableGravatar Christian Hesse1-5/+5
2023-02-09ipv6-update: use identical parameters to find addressGravatar Christian Hesse1-2/+2
2023-02-08doc/backup-upload: new option $BackupSendGlobalConfigGravatar Christian Hesse1-0/+1
2023-02-08doc/backup-email: new option $BackupSendGlobalConfigGravatar Christian Hesse1-0/+1
2023-02-08backup-upload: use :use inside :execute for global-config-overlayGravatar Christian Hesse1-2/+2
2023-02-08backup-email: use :use inside :execute for global-config-overlayGravatar Christian Hesse1-2/+2
This will add carriage return and line feed, but works around the limitation of reading just four kilobytes from file.
2023-02-07global-functions: $ScriptInstallUpdate: use complete property nameGravatar Christian Hesse1-1/+1
2023-02-07telegram-chat: use complete property nameGravatar Christian Hesse1-1/+1
2023-02-07Merge branch 'backup-g-c-o' into nextGravatar Christian Hesse5-4/+40
2023-02-07notify about backup for global-config-overlaychange-93Gravatar Christian Hesse2-1/+2
2023-02-07backup-upload: support uploading global-config-overlayGravatar Christian Hesse1-2/+24
2023-02-07backup-email: support sending global-config-overlayGravatar Christian Hesse1-1/+13
2023-02-07global-config: new option to backup global-config-overlayGravatar Christian Hesse1-0/+1
2023-02-04telegram-chat: handle exceeded file read sizeGravatar Christian Hesse1-1/+2
2023-02-03telegram-chat: no need to :put ...Gravatar Christian Hesse1-2/+2
... a simple change to root dir is sufficient.
2023-02-03telegram-chat: log with severity debug only...Gravatar Christian Hesse1-1/+1
... as failed request are quite common.
2023-02-03telegram-chat: delay confirmation of updatesGravatar Christian Hesse1-6/+8
Several devices can communicate with the same bot, and we want all of them to receive their updates. However this can be tricky, as... * ... sometimes internet connection can be unreliable or saturated. * ... device can be busy with long running command. * ... the Telegram bot api servers seem to implement what ever kind of rate limiting. Anybody can give details? So let's confirm the update id after third request only. 😁 This gives delayed devices some extra chances to catch up.
2023-02-03telegram-chat: log warning only when trying to activateGravatar Christian Hesse1-2/+5
2023-02-03telegram-chat: handle missing usernameGravatar Christian Hesse1-1/+3
2023-02-02backup-email: wait for the mail to be sentGravatar Christian Hesse1-0/+10
2023-02-02telegram-chat: discard messages without textGravatar Christian Hesse1-1/+1
2023-02-02telegram-chat: allow to modify the time to wait for commandGravatar Christian Hesse1-1/+3
For now this is a hidden settings... Do we want this to be documented?
2023-02-02global-functions: $WaitForFile: use delay instead of iterationsGravatar Christian Hesse2-6/+7
2023-02-02telegram-chat: reply with a hint when untrusted...Gravatar Christian Hesse1-1/+6
... but only when activating via identity.
2023-02-02telegram-chat: always reply to origin chatGravatar Christian Hesse2-3/+4
2023-02-02mod/notification-telegram: support sending to specific chatidGravatar Christian Hesse1-1/+2
2023-02-01doc/telegram-chat: give an example on how to work around command runtimeGravatar Christian Hesse1-0/+7
2023-02-01doc/telegram-chat: add hint on output sizeGravatar Christian Hesse1-0/+6
2023-02-01telegram-chat: modify text if no output availableGravatar Christian Hesse1-1/+2
2023-02-01telegram-chat: also give a hint on failed syntax validationGravatar Christian Hesse1-1/+3
... and drop the warning in log instead.
2023-02-01telegram-chat: ... and give a hint on failureGravatar Christian Hesse1-1/+4
2023-02-01telegram-chat: handle error in command...Gravatar Christian Hesse1-1/+2
2023-02-01telegram-chat: give a hint if command is still runningGravatar Christian Hesse1-2/+3
2023-02-01doc/telegram-chat: add hint on command runtimeGravatar Christian Hesse1-0/+6
2023-02-01doc/telegram-chat: warn about changing group idGravatar Christian Hesse1-0/+3
2023-01-31doc/telegram-chat: allow bots to receive messages in a groupGravatar Christian Hesse1-0/+6
2023-01-31daily-psk: make qr-code url configurablechange-92Gravatar Christian Hesse6-4/+9
2023-01-31check-routeros-update: drop check for capchange-91Gravatar Christian Hesse5-11/+2
This becomes complicated with legacy wireless and wifiwave2 package, old and new CAPsMAN. Let's just drop the check.
2023-01-31introduce telegram-chatchange-90Gravatar Christian Hesse9-1/+222
Druvis from Mikrotik produced a video "MikroTik Telegram bot - Chat with your Router?". He shows his script to chat with a Router via Telegram bot to send it commands: https://youtu.be/KLX6j3sLRIE This script is kind of limited and has several issues... 🥴 Let's make it robust, usable, multi-device capable and just fun! 😁 (Sadly Mikrotik has a policy to not allow links in Youtube comments. Thus my comment with several hints was removed immediately. If anybody is in contact with Druvis... Please tell him about this script!)
2023-01-31global-functions: $WaitForFile: allow to give iterations...Gravatar Christian Hesse1-1/+3
... to increase timeout. Every iteration is about 100ms.
2023-01-26check-certificates: handle decryption failures and warnGravatar Christian Hesse1-1/+10
If a download succeeds at least one of the given passphrases is expected to decrypt a key in the file.
2023-01-26global-functions: $LogPrintExit2: always print the message...Gravatar Christian Hesse1-5/+5
... even on error. Not sure why and when this broke.
2023-01-24update list of contributorsGravatar Christian Hesse1-0/+1
2023-01-23check-certificates: make the warning time configurablechange-89Gravatar Christian Hesse5-2/+7
2023-01-23doc/check-certificates: document the renew timeGravatar Christian Hesse1-0/+1
2023-01-23global-functions: $MkDir: catch error on creating tmpfsGravatar Christian Hesse1-1/+7
2023-01-23global-functions: $MkDir: create with reasonable tmpfs-max-sizerouteros-7.8beta2Gravatar Christian Hesse1-1/+1
Giving no tmpfs-max-size breaks with RouterOS 7.8beta2, where a size limit is enforced.
2023-01-22daily-psk: fixes for CAPsMANGravatar Christian Hesse2-6/+9
2023-01-20check-health: notify about new featureschange-88Gravatar Christian Hesse2-1/+2
2023-01-20check-health: silently exit without health readings...Gravatar Christian Hesse1-11/+11
... but after checking CPU load and free RAM.
2023-01-20check-health: monitor free RAMGravatar Christian Hesse10-8/+36
---- ✂️ ---- 🗃️📉️ Health warning: free RAM The available free RAM on MikroTik is at 18% (47MiB)! ---- ✂️ ---- 🗃️📈️ Health recovery: free RAM The available free RAM on MikroTik increased to 65% (168MiB). ---- ✂️ ----
2023-01-20check-health: monitor CPU loadGravatar Christian Hesse10-7/+30
---- ✂️ ---- 🧮️📈️ Health warning: CPU load The average CPU load on MikroTik is at 76%! ---- ✂️ ---- 🧮️📉️ Health recovery: CPU load The average CPU load on MikroTik decreased to 64%. ---- ✂️ ----
2023-01-20global-functions: $RequiredRouterOS: check for valid version stringGravatar Christian Hesse1-0/+6
2023-01-20global-functions: use new functionality for version checkGravatar Christian Hesse1-3/+2
2023-01-20global-functions: $ScriptInstallUpdate: add a version check for scriptsGravatar Christian Hesse1-10/+19
New RouterOS releases bring new features, and thus new syntax. Installing a new script on old RouterOS results in syntax errors. We want to give clear warning messages, so by adding an extra comment into the script... # requires RouterOS, version=7.8beta3 ... installing on unsupported RouterOS version is mitigated.
2023-01-20lease-script: use $GrepGravatar Christian Hesse1-7/+4
2023-01-20global-functions: implement $Grep...Gravatar Christian Hesse1-0/+21
... that returns the first line that matches a pattern.
2023-01-20log-forward: cache the result of $LogForwardFilterLogForwardingGravatar Christian Hesse1-1/+2
Looks like the function is called for every message to match otherwise. 😳
2023-01-20doc/log-forward: add tips and tricksGravatar Christian Hesse1-0/+12
2023-01-18doc/log-forward: add some more detailsGravatar Christian Hesse1-5/+20
2023-01-17ipsec-to-dns: handle "CN=" from peer's idrouteros-7.6-3Gravatar Christian Hesse1-2/+4
This was missing in commit bff6689b103287f44c573e3134b9b9a64c36c0a8 and cause the dns entry to be delete and re-created over and over again.
2023-01-12global-functions: $MkDir: no early continue for dir "tmpfs"...Gravatar Christian Hesse1-1/+1
... as we want a RAM disk.
2023-01-12doc/daily-psk: drop the start-date from schedulerGravatar Christian Hesse1-2/+2
2023-01-12doc/daily-psk: add missing bits for CAPsMANGravatar Christian Hesse1-5/+9