aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-04-07check-certificates: include SANs in informationGravatar Christian Hesse2-0/+11
2023-04-06README: add badge to hint required RouterOS versionGravatar Christian Hesse1-0/+1
2023-04-06check-certificates: show CommonName only if availableGravatar Christian Hesse1-1/+1
2023-04-06check-certificates: format information in a local functionGravatar Christian Hesse1-20/+24
2023-04-04mod/scriptrunonce: link documentationGravatar Christian Hesse1-0/+3
2023-04-04mod/notification-telegram: link documentationGravatar Christian Hesse1-0/+3
2023-04-04mod/notification-matrix: link documentationGravatar Christian Hesse1-0/+3
2023-04-04mod/notification-email: link documentationGravatar Christian Hesse1-0/+3
2023-04-04mod/ipcalc: link documentationGravatar Christian Hesse1-0/+3
2023-04-04mod/inspectvar: link documentationGravatar Christian Hesse1-0/+3
2023-03-31doc/check-health: use an unusual intervalGravatar Christian Hesse1-1/+5
2023-03-30global-functions: $VersionToNum: support "alpha" in version stringGravatar Christian Hesse1-3/+6
2023-03-30global-functions: $RequiredRouterOS: accept "alpha" in version stringGravatar Christian Hesse1-1/+1
2023-03-29dhcp-to-dns: use better conditionGravatar Christian Hesse1-1/+1
The condition worked, but could match others (AAAA, NXDOMAIN, ...) as well (though these should not exist). The problem is that matching with `type=A` does not return any results. For historical reasons A records have no type, thus can be matched with `!type`. I opened an issue to fix this... (SUP-111312) So let's assum `!type` works and `type=A` could become valid...
2023-03-29contrib/notification.html: add and load the scriptGravatar Christian Hesse2-0/+7
2023-03-29contrib/notification.html: fix warnings and errorsGravatar Christian Hesse2-5/+6
Checked with W3C validator: https://validator.w3.org/
2023-03-29Merge branch 'mkdir' into nextGravatar Christian Hesse1-34/+64
2023-03-28global-functions: $MkDir: make directory by adding filerouteros-7.9beta4-2Gravatar Christian Hesse1-1/+18
This is new functionality in RouterOS 7.9beta4, where new file can be added with `/file/add ...`. This also creates directories for the full path.
2023-03-28global-functions: $MkDir: add extra block for indention...Gravatar Christian Hesse1-30/+32
... to make the next commit cleaner. No functional change.
2023-03-28dhcp-to-dns: support host name from dhcp lease commentGravatar Christian Hesse2-1/+16
The lease comment is supposed to be a human readable string... But we could allow parsable information.
2023-03-28global-functions: $MkDir: create tmpfs in local functionGravatar Christian Hesse1-10/+22
2023-03-28global-functions: $MkDir: return false on errorGravatar Christian Hesse1-1/+1
2023-03-28global-functions: $MkDir: drop unused functionGravatar Christian Hesse1-1/+0
2023-03-28dhcp-to-dns: add cname if host name appears for existing recordGravatar Christian Hesse1-0/+4
2023-03-28doc/dhcp-to-dns: mention A record and optional CNAME recordGravatar Christian Hesse1-1/+3
2023-03-28sms-forward: check that the interface is runningGravatar Christian Hesse1-0/+4
2023-03-24sms-forward: disable workaround for ROS 7.9beta4routeros-7.9beta4-1Gravatar Christian Hesse1-1/+2
The issue has been acknowledged by Mikrotik, but the cause is still unknown as the sms code did not change since RouterOS 7.6... Well, looks like the behavior changes again with RouterOS 7.9beta4, and everything works as expected again. So disable the workaround there.
2023-03-23sms-forward: add workaround to fix removal of messagesrouteros-7.8Gravatar Christian Hesse1-0/+10
Removal of messages is broken in RouterOS 7.8: [admin@MikroTik] > /tool/sms/inbox/remove [ find ] failure: Interface not running! Of course the interface is running. Toggling the auto-erase setting fixes this until next boot. So let's add a workaround... Reported to support (SUP-110828), but not (yet) acknowledged. ๐Ÿคจ
2023-03-22Merge branch 'dhcp-to-dns' into nextGravatar Christian Hesse3-24/+28
2023-03-22dhcp-to-dns: update cname record on changed host nameGravatar Christian Hesse1-0/+6
2023-03-22dhcp-to-dns: just update the addressGravatar Christian Hesse1-1/+1
The other values *should* be unchanged...
2023-03-22dhcp-to-dns: add debug message on duplicate leasesGravatar Christian Hesse1-0/+1
2023-03-22dhcp-to-dns: do not update records based on host nameGravatar Christian Hesse1-7/+0
2023-03-22dhcp-to-dns: always create A record with mac address...change-97Gravatar Christian Hesse3-12/+16
... and an optional CNAME with host name.
2023-03-22dhcp-to-dns: split fqdn to host name and domainGravatar Christian Hesse1-7/+7
2023-03-22lease-script: add script name in orderGravatar Christian Hesse1-1/+1
This makes sure scripts with the same order can not conflict.
2023-03-22dhcp-to-dns: match comment on beginning of lineGravatar Christian Hesse1-1/+1
2023-03-22dhcp-to-dns: allow the matching separator string in nameGravatar Christian Hesse1-4/+4
2023-03-22ipsec-to-dns: match comment on beginning of lineGravatar Christian Hesse1-1/+1
2023-03-22ipsec-to-dns: allow the matching separator string in nameGravatar Christian Hesse1-4/+4
2023-03-20README: badge in style flat and with colorGravatar Christian Hesse1-3/+3
2023-03-20doc/netwatch-notify: prevent escaping code in hook by creating a scriptGravatar Christian Hesse1-0/+3
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?