Commit graph

1932 commits

Author SHA1 Message Date
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
Christian Hesse
9033e16921 global-functions: use new functionality for version check 2023-01-20 11:26:53 +01:00
Christian Hesse
de9dde1b14 global-functions: $ScriptInstallUpdate: add a version check for scripts
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-20 11:26:53 +01:00
Christian Hesse
9887ab0849 lease-script: use $Grep 2023-01-20 11:26:53 +01:00
Christian Hesse
b834517baa global-functions: implement $Grep...
... that returns the first line that matches a pattern.
2023-01-20 11:26:53 +01:00
Christian Hesse
072d349473 log-forward: cache the result of $LogForwardFilterLogForwarding
Looks like the function is called for every message to match otherwise. 😳
2023-01-20 11:26:53 +01:00
Christian Hesse
2294ac77a8 doc/log-forward: add tips and tricks 2023-01-20 00:34:27 +01:00
Christian Hesse
cfb31e840c doc/log-forward: add some more details 2023-01-18 11:53:57 +01:00
Christian Hesse
03fb459ea4 ipsec-to-dns: handle "CN=" from peer's id
This was missing in commit bff6689b10 and
cause the dns entry to be delete and re-created over and over again.
2023-01-17 12:34:05 +01:00
Christian Hesse
23e5c01a42 global-functions: $MkDir: no early continue for dir "tmpfs"...
... as we want a RAM disk.
2023-01-12 23:43:38 +01:00