Commit graph

1591 commits

Author SHA1 Message Date
Christian Hesse f2f7d66b2d doc/backup-email: new option $BackupSendGlobalConfig 2023-02-08 09:44:21 +01:00
Christian Hesse 818638d0f4 backup-upload: use :use inside :execute for global-config-overlay 2023-02-08 09:14:02 +01:00
Christian Hesse b9eaab8e77 backup-email: use :use inside :execute for global-config-overlay
This will add carriage return and line feed, but works around the
limitation of reading just four kilobytes from file.
2023-02-08 09:14:02 +01:00
Christian Hesse d63db7ea95 global-functions: $ScriptInstallUpdate: use complete property name 2023-02-07 21:20:49 +01:00
Christian Hesse 58a6fac3d9 telegram-chat: use complete property name 2023-02-07 21:19:57 +01:00
Christian Hesse aee42d31e1 Merge branch 'backup-g-c-o' into next 2023-02-07 21:19:57 +01:00
Christian Hesse ba730708f5 notify about backup for global-config-overlay 2023-02-07 21:19:57 +01:00
Christian Hesse 5d263ca11e backup-upload: support uploading global-config-overlay 2023-02-07 21:19:57 +01:00
Christian Hesse 0527503c8e backup-email: support sending global-config-overlay 2023-02-07 21:19:57 +01:00
Christian Hesse 48bf54644a global-config: new option to backup global-config-overlay 2023-02-07 20:24:50 +01:00
Christian Hesse 9c066599e8 telegram-chat: handle exceeded file read size 2023-02-04 23:24:44 +01:00
Christian Hesse 600203797b telegram-chat: no need to :put ...
... a simple change to root dir is sufficient.
2023-02-03 22:30:08 +01:00
Christian Hesse 04c26d3d2e telegram-chat: log with severity debug only...
... as failed request are quite common.
2023-02-03 22:01:35 +01:00
Christian Hesse 8a900dce00 telegram-chat: delay confirmation of updates
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-03 21:59:26 +01:00
Christian Hesse 4bc5b9cf5f telegram-chat: log warning only when trying to activate 2023-02-03 09:56:30 +01:00
Christian Hesse 9d1cf87489 telegram-chat: handle missing username 2023-02-03 09:53:49 +01:00
Christian Hesse 490a738af1 backup-email: wait for the mail to be sent 2023-02-02 11:52:23 +01:00
Christian Hesse c47c9a2906 telegram-chat: discard messages without text 2023-02-02 11:30:49 +01:00
Christian Hesse 82003bc7d1 telegram-chat: allow to modify the time to wait for command
For now this is a hidden settings... Do we want this to be documented?
2023-02-02 11:24:45 +01:00
Christian Hesse 978c03131a global-functions: $WaitForFile: use delay instead of iterations 2023-02-02 11:20:14 +01:00
Christian Hesse b794d98cbb telegram-chat: reply with a hint when untrusted...
... but only when activating via identity.
2023-02-02 10:06:42 +01:00
Christian Hesse 08383daa5c telegram-chat: always reply to origin chat 2023-02-02 10:06:42 +01:00
Christian Hesse 2cb74f0269 mod/notification-telegram: support sending to specific chatid 2023-02-02 09:11:34 +01:00
Christian Hesse bf1af61d2d doc/telegram-chat: give an example on how to work around command runtime 2023-02-01 17:28:45 +01:00
Christian Hesse 049a029170 doc/telegram-chat: add hint on output size 2023-02-01 14:30:52 +01:00
Christian Hesse 8dd53c80f5 telegram-chat: modify text if no output available 2023-02-01 14:26:28 +01:00
Christian Hesse b5399099c6 telegram-chat: also give a hint on failed syntax validation
... and drop the warning in log instead.
2023-02-01 11:29:56 +01:00
Christian Hesse a073835667 telegram-chat: ... and give a hint on failure 2023-02-01 11:29:56 +01:00
Christian Hesse c2cf05e9e5 telegram-chat: handle error in command... 2023-02-01 11:29:56 +01:00
Christian Hesse 44c30efbcd telegram-chat: give a hint if command is still running 2023-02-01 11:29:56 +01:00
Christian Hesse 7e7987afec doc/telegram-chat: add hint on command runtime 2023-02-01 11:29:56 +01:00
Christian Hesse 8f47bc9836 doc/telegram-chat: warn about changing group id 2023-02-01 11:29:51 +01:00
Christian Hesse 8b488cb82f doc/telegram-chat: allow bots to receive messages in a group 2023-01-31 18:11:22 +01:00
Christian Hesse 63de875129 daily-psk: make qr-code url configurable 2023-01-31 17:27:15 +01:00
Christian Hesse cbc547332e check-routeros-update: drop check for cap
This becomes complicated with legacy wireless and wifiwave2 package, old
and new CAPsMAN. Let's just drop the check.
2023-01-31 17:27:15 +01:00
Christian Hesse 819c7294c6 introduce telegram-chat
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-31 17:26:51 +01:00
Christian Hesse f666d2f8ff global-functions: $WaitForFile: allow to give iterations...
... to increase timeout. Every iteration is about 100ms.
2023-01-31 15:18:17 +01:00
Christian Hesse f62328ee8d check-certificates: handle decryption failures and warn
If a download succeeds at least one of the given passphrases is
expected to decrypt a key in the file.
2023-01-26 21:35:35 +01:00
Christian Hesse b0d3e3d5f4 global-functions: $LogPrintExit2: always print the message...
... even on error. Not sure why and when this broke.
2023-01-26 21:04:59 +01:00
Christian Hesse 5c3585cd98 update list of contributors 2023-01-24 13:18:17 +01:00
Christian Hesse 555d0e8bfc check-certificates: make the warning time configurable 2023-01-23 17:46:03 +01:00
Christian Hesse 36a8938dea doc/check-certificates: document the renew time 2023-01-23 17:45:22 +01:00
Christian Hesse f9839647d4 global-functions: $MkDir: catch error on creating tmpfs 2023-01-23 16:21:30 +01:00
Christian Hesse c8dcd92e6b global-functions: $MkDir: create with reasonable tmpfs-max-size
Giving no tmpfs-max-size breaks with RouterOS 7.8beta2, where a size
limit is enforced.
2023-01-23 16:21:02 +01:00
Christian Hesse c7498c6397 daily-psk: fixes for CAPsMAN 2023-01-22 12:16:06 +01:00
Christian Hesse e6c256cd4b check-health: notify about new features 2023-01-20 23:20:53 +01:00
Christian Hesse e9a426a798 check-health: silently exit without health readings...
... but after checking CPU load and free RAM.
2023-01-20 23:20:53 +01:00
Christian Hesse 6780e1a24c check-health: monitor free RAM
---- ✂️ ----
🗃️📉️ 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-20 23:20:53 +01:00
Christian Hesse 75bd14267e check-health: monitor CPU load
---- ✂️ ----
🧮📈️ 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-20 23:13:27 +01:00
Christian Hesse 2694f8d2b1 global-functions: $RequiredRouterOS: check for valid version string 2023-01-20 11:26:53 +01:00