Age | Commit message (Expand) | Author | Files | Lines |
2023-03-22 | lease-script: add script name in order•••This makes sure scripts with the same order can not conflict.
| Christian Hesse | 1 | -1/+1 |
2023-03-22 | ipsec-to-dns: match comment on beginning of line | Christian Hesse | 1 | -1/+1 |
2023-03-22 | ipsec-to-dns: allow the matching separator string in name | Christian Hesse | 1 | -4/+4 |
2023-03-20 | README: badge in style flat and with color | Christian Hesse | 1 | -3/+3 |
2023-03-20 | doc/netwatch-notify: prevent escaping code in hook by creating a script | Christian Hesse | 1 | -0/+3 |
2023-03-20 | doc/netwatch-notify: move hint on notification settings up | Christian Hesse | 1 | -5/+5 |
2023-03-20 | netwatch-notify: support note in notificationchange-96 | Christian Hesse | 4 | -1/+16 |
2023-03-10 | drop dummy scripts used for migration•••This now causes expected warnings on first run of $ScriptInstallUpdate.
The migration still works, as we keep `global-config.changes` and
`global-functions`.
| Christian Hesse | 57 | -169/+1 |
2023-03-10 | global-functions: $ScriptInstallUpdate: add proper version in user agent•••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.
| Christian Hesse | 1 | -2/+5 |
2023-03-07 | lease-script: make sure not to match self | Christian Hesse | 1 | -1/+1 |
2023-03-07 | global-functions: $ScriptInstallUpdate: make sure not to match self | Christian Hesse | 1 | -1/+1 |
2023-03-07 | rename scripts and add file extension ".rsc"•••No functional change for the user... The migration is done
automatically.
change-95 | Christian Hesse | 125 | -5175/+5622 |
2023-03-06 | add the notification generator | Christian Hesse | 2 | -0/+72 |
2023-03-06 | ... and update the logo in notifications | Christian Hesse | 23 | -1/+1 |
2023-03-06 | use a new logo | Christian Hesse | 3 | -20/+26 |
2023-03-06 | check-routeros-update: allow to install all updates automatically...•••... 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.
| Christian Hesse | 3 | -0/+18 |
2023-03-03 | doc/check-routeros-update: update wording and details | Christian Hesse | 1 | -8/+10 |
2023-02-26 | global-functions: $MkDir: drop the compatibility workaround•••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.
routeros-7.7 | Christian Hesse | 1 | -3/+3 |
2023-02-26 | telegram-chat: get the uptime just once | Christian Hesse | 1 | -2/+2 |
2023-02-26 | telegram-chat: ignore new messages after reboot•••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.
| Christian Hesse | 1 | -1/+2 |
2023-02-26 | telegram-chat: send messages in reply | Christian Hesse | 1 | -3/+4 |
2023-02-24 | mod/notification-telegram: support sending in reply | Christian Hesse | 1 | -1/+4 |
2023-02-24 | netwatch-notify: support sending silent notifications | Christian Hesse | 1 | -2/+2 |
2023-02-17 | INITIAL-COMMANDS: link to new paragraphs | Christian Hesse | 1 | -3/+3 |
2023-02-17 | README: add a paragraph for scheduled automatic updates | Christian Hesse | 1 | -2/+4 |
2023-02-17 | README: move configuration down, make it a separate paragraph | Christian Hesse | 11 | -21/+33 |
2023-02-16 | packages-update: put reboot into a function•••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.
| Christian Hesse | 1 | -2/+6 |
2023-02-16 | packages-update: check version before reboot from scheduler•••Chances are that the device was rebooted manually... Do not reboot then.
| Christian Hesse | 1 | -2/+3 |
2023-02-14 | telegram-chat: log command with failed syntax validation | Christian Hesse | 1 | -0/+1 |
2023-02-14 | telegram-chat: never decrease the local offset | Christian Hesse | 1 | -1/+1 |
2023-02-14 | telegram-chat: add debug message for handled updates | Christian Hesse | 1 | -0/+2 |
2023-02-14 | telegram-chat: add updateid in log messages | Christian Hesse | 1 | -3/+4 |
2023-02-14 | check-health: wording: load -> utilization•••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%.
---- ✂️ ----
| Christian Hesse | 7 | -19/+19 |
2023-02-13 | doc/check-health: make the voltage limit a separate point | Christian Hesse | 1 | -1/+2 |
2023-02-13 | doc/check-health: add line break between screenshots | Christian Hesse | 1 | -2/+2 |
2023-02-13 | README: give hint about converting line endings | Christian Hesse | 1 | -0/+5 |
2023-02-13 | global-functions: $PrettyPrint: use $Unix2Dos | Christian Hesse | 1 | -2/+2 |
2023-02-13 | global-functions: introduce $Dos2Unix | Christian Hesse | 1 | -0/+10 |
2023-02-13 | global-functions: introduce $Unix2Dos | Christian Hesse | 1 | -0/+11 |
2023-02-10 | ipv6-update: support host addresses in address-listchange-94 | Christian Hesse | 4 | -5/+22 |
2023-02-09 | ipv6-update: accept a single prefix only | Christian Hesse | 1 | -6/+9 |
2023-02-09 | ipv6-update: rename variable | Christian Hesse | 1 | -5/+5 |
2023-02-09 | ipv6-update: use identical parameters to find address | Christian Hesse | 1 | -2/+2 |
2023-02-08 | doc/backup-upload: new option $BackupSendGlobalConfig | Christian Hesse | 1 | -0/+1 |
2023-02-08 | doc/backup-email: new option $BackupSendGlobalConfig | Christian Hesse | 1 | -0/+1 |
2023-02-08 | backup-upload: use :use inside :execute for global-config-overlay | Christian Hesse | 1 | -2/+2 |
2023-02-08 | 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.
| Christian Hesse | 1 | -2/+2 |
2023-02-07 | global-functions: $ScriptInstallUpdate: use complete property name | Christian Hesse | 1 | -1/+1 |
2023-02-07 | telegram-chat: use complete property name | Christian Hesse | 1 | -1/+1 |
2023-02-07 | Merge branch 'backup-g-c-o' into next | Christian Hesse | 5 | -4/+40 |
2023-02-07 | notify about backup for global-config-overlaychange-93 | Christian Hesse | 2 | -1/+2 |
2023-02-07 | backup-upload: support uploading global-config-overlay | Christian Hesse | 1 | -2/+24 |
2023-02-07 | backup-email: support sending global-config-overlay | Christian Hesse | 1 | -1/+13 |
2023-02-07 | global-config: new option to backup global-config-overlay | Christian Hesse | 1 | -0/+1 |
2023-02-04 | telegram-chat: handle exceeded file read size | Christian Hesse | 1 | -1/+2 |
2023-02-03 | telegram-chat: no need to :put ...•••... a simple change to root dir is sufficient.
| Christian Hesse | 1 | -2/+2 |
2023-02-03 | telegram-chat: log with severity debug only...•••... as failed request are quite common.
| Christian Hesse | 1 | -1/+1 |
2023-02-03 | 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.
| Christian Hesse | 1 | -6/+8 |
2023-02-03 | telegram-chat: log warning only when trying to activate | Christian Hesse | 1 | -2/+5 |
2023-02-03 | telegram-chat: handle missing username | Christian Hesse | 1 | -1/+3 |
2023-02-02 | backup-email: wait for the mail to be sent | Christian Hesse | 1 | -0/+10 |
2023-02-02 | telegram-chat: discard messages without text | Christian Hesse | 1 | -1/+1 |
2023-02-02 | 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?
| Christian Hesse | 1 | -1/+3 |
2023-02-02 | global-functions: $WaitForFile: use delay instead of iterations | Christian Hesse | 2 | -6/+7 |
2023-02-02 | telegram-chat: reply with a hint when untrusted...•••... but only when activating via identity.
| Christian Hesse | 1 | -1/+6 |
2023-02-02 | telegram-chat: always reply to origin chat | Christian Hesse | 2 | -3/+4 |
2023-02-02 | mod/notification-telegram: support sending to specific chatid | Christian Hesse | 1 | -1/+2 |
2023-02-01 | doc/telegram-chat: give an example on how to work around command runtime | Christian Hesse | 1 | -0/+7 |
2023-02-01 | doc/telegram-chat: add hint on output size | Christian Hesse | 1 | -0/+6 |
2023-02-01 | telegram-chat: modify text if no output available | Christian Hesse | 1 | -1/+2 |
2023-02-01 | telegram-chat: also give a hint on failed syntax validation•••... and drop the warning in log instead.
| Christian Hesse | 1 | -1/+3 |
2023-02-01 | telegram-chat: ... and give a hint on failure | Christian Hesse | 1 | -1/+4 |
2023-02-01 | telegram-chat: handle error in command... | Christian Hesse | 1 | -1/+2 |
2023-02-01 | telegram-chat: give a hint if command is still running | Christian Hesse | 1 | -2/+3 |
2023-02-01 | doc/telegram-chat: add hint on command runtime | Christian Hesse | 1 | -0/+6 |
2023-02-01 | doc/telegram-chat: warn about changing group id | Christian Hesse | 1 | -0/+3 |
2023-01-31 | doc/telegram-chat: allow bots to receive messages in a group | Christian Hesse | 1 | -0/+6 |
2023-01-31 | daily-psk: make qr-code url configurablechange-92 | Christian Hesse | 6 | -4/+9 |
2023-01-31 | 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.
change-91 | Christian Hesse | 5 | -11/+2 |
2023-01-31 | 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!)
change-90 | Christian Hesse | 9 | -1/+222 |
2023-01-31 | global-functions: $WaitForFile: allow to give iterations...•••... to increase timeout. Every iteration is about 100ms.
| Christian Hesse | 1 | -1/+3 |
2023-01-26 | 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.
| Christian Hesse | 1 | -1/+10 |
2023-01-26 | global-functions: $LogPrintExit2: always print the message...•••... even on error. Not sure why and when this broke.
| Christian Hesse | 1 | -5/+5 |
2023-01-24 | update list of contributors | Christian Hesse | 1 | -0/+1 |
2023-01-23 | check-certificates: make the warning time configurablechange-89 | Christian Hesse | 5 | -2/+7 |
2023-01-23 | doc/check-certificates: document the renew time | Christian Hesse | 1 | -0/+1 |
2023-01-23 | global-functions: $MkDir: catch error on creating tmpfs | Christian Hesse | 1 | -1/+7 |
2023-01-23 | 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.
routeros-7.8beta2 | Christian Hesse | 1 | -1/+1 |
2023-01-22 | daily-psk: fixes for CAPsMAN | Christian Hesse | 2 | -6/+9 |
2023-01-20 | check-health: notify about new featureschange-88 | Christian Hesse | 2 | -1/+2 |
2023-01-20 | check-health: silently exit without health readings...•••... but after checking CPU load and free RAM.
| Christian Hesse | 1 | -11/+11 |
2023-01-20 | 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).
---- ✂️ ----
| Christian Hesse | 10 | -8/+36 |
2023-01-20 | 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%.
---- ✂️ ----
| Christian Hesse | 10 | -7/+30 |
2023-01-20 | global-functions: $RequiredRouterOS: check for valid version string | Christian Hesse | 1 | -0/+6 |
2023-01-20 | global-functions: use new functionality for version check | Christian Hesse | 1 | -3/+2 |
2023-01-20 | 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.
| Christian Hesse | 1 | -10/+19 |
2023-01-20 | lease-script: use $Grep | Christian Hesse | 1 | -7/+4 |
2023-01-20 | global-functions: implement $Grep...•••... that returns the first line that matches a pattern.
| Christian Hesse | 1 | -0/+21 |
2023-01-20 | log-forward: cache the result of $LogForwardFilterLogForwarding•••Looks like the function is called for every message to match otherwise. 😳
| Christian Hesse | 1 | -1/+2 |
2023-01-20 | doc/log-forward: add tips and tricks | Christian Hesse | 1 | -0/+12 |