Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-09-21 | global-functions: move $ScriptRunOnce to optional module | Christian Hesse | 1 | -0/+2 | |
2021-07-10 | global-functions: introduce $ScriptRunOncechange-62 | Christian Hesse | 1 | -1/+5 | |
2021-07-09 | finally remove old scriptschange-61 | Christian Hesse | 1 | -1/+1 | |
2021-07-09 | netwatch-notify: implement pre-down hookchange-60 | Christian Hesse | 1 | -1/+1 | |
2021-07-01 | check-routeros-update: allow update for capchange-59 | Michael Gisbers | 1 | -1/+3 | |
If CAPsMAN is running on a device with just 16MB flash downloading the packages is not possible (or at least lost at reboot). So allow a CAP to update with opt-in. | |||||
2021-06-23 | hotspot-to-wpa: add optional cleanup scriptchange-58 | Christian Hesse | 1 | -1/+1 | |
2021-06-23 | celebrating the 1.000th commit - hooray!change-57 | Christian Hesse | 1 | -1/+1 | |
2021-06-23 | notify about tag in scriptschange-56 | Christian Hesse | 1 | -1/+1 | |
2021-06-09 | log-forward: implement reverse logic to include messages...change-55 | Christian Hesse | 1 | -3/+9 | |
... even if a filter matches to exclude them. Let's have an example: :global LogForwardFilter "(debug|info)"; :global LogForwardInclude "account"; This will forward everything about topic *account* (login, logout, failed login, ...) - even with topic *info*. | |||||
2021-06-09 | log-forward: update comments in global-config | Christian Hesse | 1 | -3/+4 | |
2021-06-08 | global-functions: make Telegram notifications a modulechange-54 | Christian Hesse | 1 | -2/+3 | |
2021-06-08 | global-functions: implement notifications via Matrixchange-53 | Michael Gisbers | 1 | -4/+14 | |
Matrix is an open network for secure, decentralized communication - and it has a web api. A warning on message type: Using 'm.notice' breaks rendering on Element for Android (no fixed width font) and does not pop up desktop notification. Thus we use 'm.text'. Should be safe as we do not send the messages in response to other messages. https://matrix.org/ | |||||
2021-05-18 | update Let's Encrypt trust chainchange-52 | Christian Hesse | 1 | -1/+1 | |
Drop 'DST Root CA X3', use 'ISRG Root X1' instead. The migration code makes sure that... * the intermediate certificate 'R3' is signed by 'ISRG Root X1' * 'ISRG Root X1' is self-signed, not cross-signed by 'DST Root CA X3' * 'DST Root CA X3' is finally gone | |||||
2021-05-17 | add 'ipsec-to-dns'change-51 | Christian Hesse | 1 | -1/+1 | |
2021-05-06 | netwatch-notify: support dynamic address updatechange-50 | Christian Hesse | 1 | -1/+1 | |
2021-04-29 | email-backup: use $SendEMail2change-49 | Christian Hesse | 1 | -4/+2 | |
This drops $EmailBackupTo & $EmailBackupCc from settings! Use settings overwrite if required: :global EmailGeneralToOverride { "email-backup"="backup@example.com"; } | |||||
2021-04-28 | global-functions: notify about settings overridechange-48 | Christian Hesse | 1 | -1/+1 | |
2021-04-28 | global-config: comment on overriding e-mail and Telegram settings | Christian Hesse | 1 | -0/+7 | |
2021-03-15 | log-forward: filter e-mail error on log forwarding in script... | Christian Hesse | 1 | -3/+5 | |
... and update the filter in global configuration. | |||||
2021-03-11 | log-forward: update filter to match mail with quoted-printable encoding | Christian Hesse | 1 | -1/+1 | |
2021-02-25 | let's keep next branch and document it | Christian Hesse | 1 | -0/+5 | |
2021-02-24 | certs: remove obsolote certificate "Let's Encrypt Authority X3"change-47 | Christian Hesse | 1 | -1/+1 | |
Let's Encrypt started issuing certificates from "R3" intermediate on December 2nd. All certificates should be renewed by now... | |||||
2021-02-24 | backup: notify about random delaychange-46 | Christian Hesse | 1 | -1/+1 | |
2021-02-24 | cloud-backup: add configurable random delay | Christian Hesse | 1 | -0/+1 | |
2021-02-23 | switch default branch from master to main | Christian Hesse | 1 | -2/+2 | |
2021-02-22 | We have a Telegram group!change-45 | Christian Hesse | 1 | -1/+1 | |
2021-02-18 | global: drop script 'global-wait'change-44 | Christian Hesse | 1 | -1/+1 | |
All scripts wait for the global functions on their own now. | |||||
2021-02-18 | email-backup: no example address, complain if missing | Christian Hesse | 1 | -2/+2 | |
2021-02-16 | global-functions: send (and re-send) e-mails from queuechange-43 | Christian Hesse | 1 | -1/+1 | |
2021-01-22 | global-functions: $LogPrintExit: notify about colorful outputchange-42 | Christian Hesse | 1 | -1/+1 | |
2021-01-22 | global-functions: $LogPrintExit: make colorful output configurable | Christian Hesse | 1 | -0/+2 | |
2021-01-01 | update copyright for 2021 | Christian Hesse | 1 | -1/+1 | |
2020-12-18 | global-functions: $ScriptInstallUpdate: implement migration mechanismchange-41 | Christian Hesse | 1 | -1/+1 | |
Reset $SentConfigChangesNotification and rerun $ScriptInstallUpdate to test... :set SentConfigChangesNotification $ScriptInstallUpdate | |||||
2020-12-18 | check-certificates: make the certificate renewal time configurablechange-40 | Christian Hesse | 1 | -1/+2 | |
2020-12-18 | ipv6-update: notify about interface specific address list entrieschange-39 | Christian Hesse | 1 | -1/+1 | |
2020-12-17 | import Let's Encrypt certificate "R3"change-38 | Christian Hesse | 1 | -1/+1 | |
2020-11-26 | log-forward: add parenthesis in filter expression | Christian Hesse | 1 | -1/+1 | |
Looks like this works without parenthesis in RouterOS, let's add it anyway. | |||||
2020-11-17 | netwatch-notify: notify about changeschange-37 | Christian Hesse | 1 | -1/+1 | |
2020-11-13 | log-forward: do not exclude topic 'script' | Christian Hesse | 1 | -1/+1 | |
We have justified severity for some log message, so do no longer exclude topic 'script'. | |||||
2020-11-13 | log-forward: do not forward own e-mail logs | Christian Hesse | 1 | -2/+2 | |
Revert the last change, instead just ignore messages that were generated by log-forward, with "Log Forwarding" in subject. | |||||
2020-11-12 | log-forward: do not forward e-mail logs | Christian Hesse | 1 | -1/+1 | |
This could cause infinite loop if the mail server does not recover... | |||||
2020-11-01 | check-routeros-update: support installing updates automatically if seen in ↵change-36 | Christian Hesse | 1 | -1/+3 | |
neighbor list | |||||
2020-10-23 | mode-button: make LED configurablechange-35 | Christian Hesse | 1 | -1/+3 | |
2020-10-23 | ospf-to-leds: introduce script to visualize ospf state via ledschange-34 | Christian Hesse | 1 | -1/+1 | |
2020-10-16 | check-health: add deviation on temperature recovery thresholdchange-33 | Christian Hesse | 1 | -1/+3 | |
This helps against notification flooding. | |||||
2020-10-16 | mode-button: merge mode-button-event & mode-button-schedulerchange-32 | Christian Hesse | 1 | -1/+1 | |
2020-10-15 | global-config: do not define mail addresses by default | Christian Hesse | 1 | -2/+4 | |
2020-10-13 | global-functions: $SendTelegram: use fixed-width font...change-31 | Christian Hesse | 1 | -1/+3 | |
... but give configuration to opt-out. | |||||
2020-09-28 | log-forward: notify on rate limitchange-30 | Christian Hesse | 1 | -1/+1 | |
2020-09-25 | log-forward: add filter on log message textchange-29 | Christian Hesse | 1 | -1/+4 | |
2020-09-25 | dhcp-to-dns: notify on acting on all bound leaseschange-28 | Christian Hesse | 1 | -1/+1 | |
2020-09-25 | global-functions: notify on Telegram queuechange-27 | Christian Hesse | 1 | -1/+1 | |
2020-09-25 | netwatch-notify: notify on configurable check count thresholdchange-26 | Christian Hesse | 1 | -1/+1 | |
2020-09-18 | extend magic pattern with "by RouterOS" | Christian Hesse | 1 | -1/+1 | |
This matches the string included in export. | |||||
2020-08-07 | notify about support for dhcp server name in fqdnchange-25 | Christian Hesse | 1 | -1/+1 | |
2020-08-07 | dhcp-to-dns: add support for dhcp server name in fqdn | netztrip | 1 | -0/+1 | |
2020-07-17 | global-functions: introduce and use $SymbolForNotificationchange-24 | Christian Hesse | 1 | -1/+4 | |
2020-07-15 | add 'log-forward', drop 'early-errors'change-23 | Christian Hesse | 1 | -1/+4 | |
2020-07-14 | global-config: dropped $ScriptUpdatesIgnore, use ignore flag in commentchange-22 | Christian Hesse | 1 | -4/+2 | |
2020-07-14 | notify about auto patch updates in check-routeros-updatechange-21 | Christian Hesse | 1 | -1/+1 | |
2020-07-14 | notify about hooks in netwatch-notifychange-20 | Christian Hesse | 1 | -1/+1 | |
2020-07-14 | notify about options in script commentschange-19 | Christian Hesse | 1 | -1/+1 | |
2020-07-14 | notify about $IPCalcchange-18 | Christian Hesse | 1 | -1/+1 | |
2020-07-14 | notify about early-errorschange-17 | Christian Hesse | 1 | -1/+1 | |
2020-07-07 | check-routeros-update: support installing patch updates automatically | Christian Hesse | 1 | -0/+2 | |
2020-07-03 | dhcp-to-dns: allow to configure 'dhcp' prefix in zone | Christian Hesse | 1 | -0/+1 | |
2020-06-19 | explicitly name the license | Christian Hesse | 1 | -0/+1 | |
Copyright (C) 2013-2020 Christian Hesse <mail@eworm.de> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. https://www.gnu.org/licenses/#GPL https://www.gnu.org/licenses/gpl.html https://www.gnu.org/licenses/gpl.md | |||||
2020-03-27 | ask for GitHub and GitLab starschange-16 | Christian Hesse | 1 | -1/+1 | |
2020-03-27 | Notify about new documentation!change-15 | Christian Hesse | 1 | -1/+1 | |
2020-03-27 | link global-{config,config-overlay,functions} to main README | Christian Hesse | 1 | -0/+1 | |
2020-03-23 | completely replace script-updates with $ScriptInstallUpdatechange-14 | Christian Hesse | 1 | -1/+1 | |
2020-03-20 | certificate-renew-issued: support auto-export with given passphrases | Christian Hesse | 1 | -0/+4 | |
2020-03-03 | bridge-port-to-default: use $ParseKeyValueStore...change-13 | Christian Hesse | 1 | -1/+1 | |
... and unbreak last commit removing delay (69352c90). This requires a change in configuration syntax. Change this... comment="default:br-local, alt:br-guest" to... comment="default=br-local, alt=br-guest" | |||||
2020-02-04 | global-config: drop $ScriptUpdatesConfigChangesIgnorechange-12 | Christian Hesse | 1 | -3/+1 | |
Comment or remove $GlobalConfigVersion in global-config-overlay to disable change notifications. | |||||
2020-01-29 | README: update instructions to use $ScriptInstallUpdatechange-11 | Christian Hesse | 1 | -1/+1 | |
2020-01-01 | update copyright for 2020 | Christian Hesse | 1 | -1/+1 | |
2019-10-22 | check-health: decrease default threshold for voltage | Christian Hesse | 1 | -1/+1 | |
2019-10-14 | check-health: make threshold for voltage configurablechange-10 | Christian Hesse | 1 | -2/+4 | |
2019-09-12 | introduce global-config-overlaychange-9 | Christian Hesse | 1 | -1/+1 | |
2019-08-30 | script-updates: add donation hint in configuration warning notificationchange-8 | Christian Hesse | 1 | -1/+8 | |
2019-08-30 | use shorter url for my repository | Christian Hesse | 1 | -1/+1 | |
2019-08-27 | add script 'check-health'change-7 | Christian Hesse | 1 | -1/+9 | |
This may be incomplete... Please report if you have missing PSUs, ttemperature sensors, whatever. | |||||
2019-07-19 | add script 'upload-backup'change-6 | Christian Hesse | 1 | -1/+7 | |
2019-07-19 | global-config: move config for email-backup | Christian Hesse | 1 | -4/+5 | |
Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
2019-06-14 | backup: split off cloud-backupchange-5 | Christian Hesse | 1 | -2/+1 | |
Currently backup to MikroTik cloud is pretty unreliable and script can not catch errors at runtime. Looks like this does not change any time soon (Ticket#2019052022003204). So let's just split off the cloud backup to make sure email backup works as expected. | |||||
2019-04-05 | global-config: change duplicate word from daily psk | Christian Hesse | 1 | -1/+1 | |
2019-04-02 | script-updates: add option to ignore global-config changeschange-4 | Christian Hesse | 1 | -1/+2 | |
2019-04-01 | check-certificates: support multiple passphraseschange-3 | Christian Hesse | 1 | -2/+5 | |
2019-01-04 | update-tunnelbroker: get tunnelbroker config from interface comment | Christian Hesse | 1 | -7/+0 | |
2019-01-04 | global: variable names are CamelCase | Christian Hesse | 1 | -39/+39 | |
___ _ ___ __ / _ )(_)__ _ / _/__ _/ /_ / _ / / _ `/ / _/ _ `/ __/ /____/_/\_, / /_/ \_,_/\__/ _ __ /___/ _ __ | | / /___ __________ (_)___ ____ _/ / | | /| / / __ `/ ___/ __ \/ / __ \/ __ `/ / | |/ |/ / /_/ / / / / / / / / / / /_/ /_/ |__/|__/\__,_/_/ /_/ /_/_/_/ /_/\__, (_) /____/ RouterOS has some odd behavior when it comes to variable names. Let's have a look at the interfaces: [admin@MikroTik] > / interface print where name=en1 Flags: D - dynamic, X - disabled, R - running, S - slave # NAME TYPE ACTUAL-MTU L2MTU 0 RS en1 ether 1500 1598 That looks ok. Now we use a script: { :local interface "en1"; / interface print where name=$interface; } And the result... [admin@MikroTik] > { :local interface "en1"; {... / interface print where name=$interface; } Flags: D - dynamic, X - disabled, R - running, S - slave # NAME TYPE ACTUAL-MTU L2MTU 0 RS en1 ether 1500 1598 ... still looks ok. We make a little modification to the script: { :local name "en1"; / interface print where name=$name; } And the result: [admin@MikroTik] > { :local name "en1"; {... / interface print where name=$name; } Flags: D - dynamic, X - disabled, R - running, S - slave # NAME TYPE ACTUAL-MTU L2MTU 0 RS en1 ether 1500 1598 1 S en2 ether 1500 1598 2 S en3 ether 1500 1598 3 S en4 ether 1500 1598 4 S en5 ether 1500 1598 5 R br-local bridge 1500 1598 Ups! The filter has no effect! That happens whenever the variable name ($name) matches the property name (name=). And another modification: { :local type "en1"; / interface print where name=$type; } And the result: [admin@MikroTik] > { :local type "en1"; {... / interface print where name=$type; } Flags: D - dynamic, X - disabled, R - running, S - slave # NAME TYPE ACTUAL-MTU L2MTU Ups! Nothing? Even if the variable name ($type) matches whatever property name (type=) things go wrong. The answer from MikroTik support (in Ticket#2019010222000454): > This is how scripting works in RouterOS and we will not fix it. To get around this we use variable names in CamelCase. Let's hope Mikrotik never ever introduces property names in CamelCase... *fingers crossed* | |||||
2019-01-03 | global-{config,functions}: move variables, make independent | Christian Hesse | 1 | -7/+1 | |
2019-01-03 | script-updates: add configuration versioning | Christian Hesse | 1 | -0/+4 | |
2019-01-02 | rename script 'check-lte-firmware-update' -> 'check-lte-firmware-upgrade' | Christian Hesse | 1 | -1/+1 | |
That's the correct wording from commands.. | |||||
2019-01-02 | update-tunnelbroker: move configuration to global-config... | Michael Gisbers | 1 | -0/+7 | |
... and get the external ip address from cloud. Signed-off-by: Michael Gisbers <michael@gisbers.de> Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
2019-01-02 | update copyright for 2019 | Christian Hesse | 1 | -1/+1 | |
2018-12-20 | check-certificates: support auto-renew of certificates | Christian Hesse | 1 | -0/+5 | |
2018-12-19 | update-gre-address: remove settings from global-config | Christian Hesse | 1 | -5/+0 | |
Instead read infos from gre interface comment. | |||||
2018-12-19 | ipv6-update: remove settings from global-config | Christian Hesse | 1 | -4/+0 | |
Instead make it more robust by reading comments. | |||||
2018-12-18 | email-backup: support cloud backup | Christian Hesse | 1 | -0/+1 | |
2018-12-14 | add script 'check-lte-firmware-update' | Christian Hesse | 1 | -0/+1 | |