aboutsummaryrefslogtreecommitdiffstats
path: root/global-config
AgeCommit message (Collapse)AuthorFilesLines
2021-11-16reintroduce global-waitchange-68Gravatar Christian Hesse1-1/+1
2021-11-15shorten modules directory name (global-functions.d -> mod)change-67Gravatar Christian Hesse1-4/+4
2021-11-15bridge-port-to-default -> global-functions.d/bridge-port-tochange-66Gravatar Christian Hesse1-6/+3
2021-11-12add global-functions.d/bridge-port-vlanchange-65Gravatar Christian Hesse1-1/+1
2021-09-21global-functions.d/inspectvar: add $InspectVar...change-64Gravatar Christian Hesse1-1/+1
to inspect variables. This is useful for variables with (nested) arrays, for example inspecting $NetwatchNotify (from netwatch-notify): [admin@Mikrotik] > $InspectVar $NetwatchNotify -type-> array -key-> quad-one -type-> array -key-> count -type-> num -value-> 0 -key-> notified -type-> bool -value-> false -key-> parent -type-> nothing -key-> resolve-failed -type-> nothing -key-> since -type-> nothing -key-> example.com -type-> array -key-> count -type-> num -value-> 0 -key-> notified -type-> bool -value-> false -key-> parent -type-> str -value-> quad-one -key-> resolve-failed -type-> nothing -key-> since -type-> nothing
2021-09-21global-functions: notify about move of $IPCalc and $ScriptRunOnce to moduleschange-63Gravatar Christian Hesse1-1/+1
Just install with... $ScriptInstallUpdate global-functions.d/ipcalc ... and/or... $ScriptInstallUpdate global-functions.d/scriptrunonce ... and use the functions as before.
2021-09-21global-functions: move $ScriptRunOnce to optional moduleGravatar Christian Hesse1-0/+2
2021-07-10global-functions: introduce $ScriptRunOncechange-62Gravatar Christian Hesse1-1/+5
2021-07-09finally remove old scriptschange-61Gravatar Christian Hesse1-1/+1
2021-07-09netwatch-notify: implement pre-down hookchange-60Gravatar Christian Hesse1-1/+1
2021-07-01check-routeros-update: allow update for capchange-59Gravatar Michael Gisbers1-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-23hotspot-to-wpa: add optional cleanup scriptchange-58Gravatar Christian Hesse1-1/+1
2021-06-23celebrating the 1.000th commit - hooray!change-57Gravatar Christian Hesse1-1/+1
2021-06-23notify about tag in scriptschange-56Gravatar Christian Hesse1-1/+1
2021-06-09log-forward: implement reverse logic to include messages...change-55Gravatar Christian Hesse1-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-09log-forward: update comments in global-configGravatar Christian Hesse1-3/+4
2021-06-08global-functions: make Telegram notifications a modulechange-54Gravatar Christian Hesse1-2/+3
2021-06-08global-functions: implement notifications via Matrixchange-53Gravatar Michael Gisbers1-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-18update Let's Encrypt trust chainchange-52Gravatar Christian Hesse1-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-17add 'ipsec-to-dns'change-51Gravatar Christian Hesse1-1/+1
2021-05-06netwatch-notify: support dynamic address updatechange-50Gravatar Christian Hesse1-1/+1
2021-04-29email-backup: use $SendEMail2change-49Gravatar Christian Hesse1-4/+2
This drops $EmailBackupTo & $EmailBackupCc from settings! Use settings overwrite if required: :global EmailGeneralToOverride { "email-backup"="backup@example.com"; }
2021-04-28global-functions: notify about settings overridechange-48Gravatar Christian Hesse1-1/+1
2021-04-28global-config: comment on overriding e-mail and Telegram settingsGravatar Christian Hesse1-0/+7
2021-03-15log-forward: filter e-mail error on log forwarding in script...Gravatar Christian Hesse1-3/+5
... and update the filter in global configuration.
2021-03-11log-forward: update filter to match mail with quoted-printable encodingGravatar Christian Hesse1-1/+1
2021-02-25let's keep next branch and document itGravatar Christian Hesse1-0/+5
2021-02-24certs: remove obsolote certificate "Let's Encrypt Authority X3"change-47Gravatar Christian Hesse1-1/+1
Let's Encrypt started issuing certificates from "R3" intermediate on December 2nd. All certificates should be renewed by now...
2021-02-24backup: notify about random delaychange-46Gravatar Christian Hesse1-1/+1
2021-02-24cloud-backup: add configurable random delayGravatar Christian Hesse1-0/+1
2021-02-23switch default branch from master to mainGravatar Christian Hesse1-2/+2
2021-02-22We have a Telegram group!change-45Gravatar Christian Hesse1-1/+1
2021-02-18global: drop script 'global-wait'change-44Gravatar Christian Hesse1-1/+1
All scripts wait for the global functions on their own now.
2021-02-18email-backup: no example address, complain if missingGravatar Christian Hesse1-2/+2
2021-02-16global-functions: send (and re-send) e-mails from queuechange-43Gravatar Christian Hesse1-1/+1
2021-01-22global-functions: $LogPrintExit: notify about colorful outputchange-42Gravatar Christian Hesse1-1/+1
2021-01-22global-functions: $LogPrintExit: make colorful output configurableGravatar Christian Hesse1-0/+2
2021-01-01update copyright for 2021Gravatar Christian Hesse1-1/+1
2020-12-18global-functions: $ScriptInstallUpdate: implement migration mechanismchange-41Gravatar Christian Hesse1-1/+1
Reset $SentConfigChangesNotification and rerun $ScriptInstallUpdate to test... :set SentConfigChangesNotification $ScriptInstallUpdate
2020-12-18check-certificates: make the certificate renewal time configurablechange-40Gravatar Christian Hesse1-1/+2
2020-12-18ipv6-update: notify about interface specific address list entrieschange-39Gravatar Christian Hesse1-1/+1
2020-12-17import Let's Encrypt certificate "R3"change-38Gravatar Christian Hesse1-1/+1
2020-11-26log-forward: add parenthesis in filter expressionGravatar Christian Hesse1-1/+1
Looks like this works without parenthesis in RouterOS, let's add it anyway.
2020-11-17netwatch-notify: notify about changeschange-37Gravatar Christian Hesse1-1/+1
2020-11-13log-forward: do not exclude topic 'script'Gravatar Christian Hesse1-1/+1
We have justified severity for some log message, so do no longer exclude topic 'script'.
2020-11-13log-forward: do not forward own e-mail logsGravatar Christian Hesse1-2/+2
Revert the last change, instead just ignore messages that were generated by log-forward, with "Log Forwarding" in subject.
2020-11-12log-forward: do not forward e-mail logsGravatar Christian Hesse1-1/+1
This could cause infinite loop if the mail server does not recover...
2020-11-01check-routeros-update: support installing updates automatically if seen in ↵change-36Gravatar Christian Hesse1-1/+3
neighbor list
2020-10-23mode-button: make LED configurablechange-35Gravatar Christian Hesse1-1/+3
2020-10-23ospf-to-leds: introduce script to visualize ospf state via ledschange-34Gravatar Christian Hesse1-1/+1
2020-10-16check-health: add deviation on temperature recovery thresholdchange-33Gravatar Christian Hesse1-1/+3
This helps against notification flooding.
2020-10-16mode-button: merge mode-button-event & mode-button-schedulerchange-32Gravatar Christian Hesse1-1/+1
2020-10-15global-config: do not define mail addresses by defaultGravatar Christian Hesse1-2/+4
2020-10-13global-functions: $SendTelegram: use fixed-width font...change-31Gravatar Christian Hesse1-1/+3
... but give configuration to opt-out.
2020-09-28log-forward: notify on rate limitchange-30Gravatar Christian Hesse1-1/+1
2020-09-25log-forward: add filter on log message textchange-29Gravatar Christian Hesse1-1/+4
2020-09-25dhcp-to-dns: notify on acting on all bound leaseschange-28Gravatar Christian Hesse1-1/+1
2020-09-25global-functions: notify on Telegram queuechange-27Gravatar Christian Hesse1-1/+1
2020-09-25netwatch-notify: notify on configurable check count thresholdchange-26Gravatar Christian Hesse1-1/+1
2020-09-18extend magic pattern with "by RouterOS"Gravatar Christian Hesse1-1/+1
This matches the string included in export.
2020-08-07notify about support for dhcp server name in fqdnchange-25Gravatar Christian Hesse1-1/+1
2020-08-07dhcp-to-dns: add support for dhcp server name in fqdnGravatar netztrip1-0/+1
2020-07-17global-functions: introduce and use $SymbolForNotificationchange-24Gravatar Christian Hesse1-1/+4
2020-07-15add 'log-forward', drop 'early-errors'change-23Gravatar Christian Hesse1-1/+4
2020-07-14global-config: dropped $ScriptUpdatesIgnore, use ignore flag in commentchange-22Gravatar Christian Hesse1-4/+2
2020-07-14notify about auto patch updates in check-routeros-updatechange-21Gravatar Christian Hesse1-1/+1
2020-07-14notify about hooks in netwatch-notifychange-20Gravatar Christian Hesse1-1/+1
2020-07-14notify about options in script commentschange-19Gravatar Christian Hesse1-1/+1
2020-07-14notify about $IPCalcchange-18Gravatar Christian Hesse1-1/+1
2020-07-14notify about early-errorschange-17Gravatar Christian Hesse1-1/+1
2020-07-07check-routeros-update: support installing patch updates automaticallyGravatar Christian Hesse1-0/+2
2020-07-03dhcp-to-dns: allow to configure 'dhcp' prefix in zoneGravatar Christian Hesse1-0/+1
2020-06-19explicitly name the licenseGravatar Christian Hesse1-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-27ask for GitHub and GitLab starschange-16Gravatar Christian Hesse1-1/+1
2020-03-27Notify about new documentation!change-15Gravatar Christian Hesse1-1/+1
2020-03-27link global-{config,config-overlay,functions} to main READMEGravatar Christian Hesse1-0/+1
2020-03-23completely replace script-updates with $ScriptInstallUpdatechange-14Gravatar Christian Hesse1-1/+1
2020-03-20certificate-renew-issued: support auto-export with given passphrasesGravatar Christian Hesse1-0/+4
2020-03-03bridge-port-to-default: use $ParseKeyValueStore...change-13Gravatar Christian Hesse1-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-04global-config: drop $ScriptUpdatesConfigChangesIgnorechange-12Gravatar Christian Hesse1-3/+1
Comment or remove $GlobalConfigVersion in global-config-overlay to disable change notifications.
2020-01-29README: update instructions to use $ScriptInstallUpdatechange-11Gravatar Christian Hesse1-1/+1
2020-01-01update copyright for 2020Gravatar Christian Hesse1-1/+1
2019-10-22check-health: decrease default threshold for voltageGravatar Christian Hesse1-1/+1
2019-10-14check-health: make threshold for voltage configurablechange-10Gravatar Christian Hesse1-2/+4
2019-09-12introduce global-config-overlaychange-9Gravatar Christian Hesse1-1/+1
2019-08-30script-updates: add donation hint in configuration warning notificationchange-8Gravatar Christian Hesse1-1/+8
2019-08-30use shorter url for my repositoryGravatar Christian Hesse1-1/+1
2019-08-27add script 'check-health'change-7Gravatar Christian Hesse1-1/+9
This may be incomplete... Please report if you have missing PSUs, ttemperature sensors, whatever.
2019-07-19add script 'upload-backup'change-6Gravatar Christian Hesse1-1/+7
2019-07-19global-config: move config for email-backupGravatar Christian Hesse1-4/+5
Signed-off-by: Christian Hesse <mail@eworm.de>
2019-06-14backup: split off cloud-backupchange-5Gravatar Christian Hesse1-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-05global-config: change duplicate word from daily pskGravatar Christian Hesse1-1/+1
2019-04-02script-updates: add option to ignore global-config changeschange-4Gravatar Christian Hesse1-1/+2
2019-04-01check-certificates: support multiple passphraseschange-3Gravatar Christian Hesse1-2/+5
2019-01-04update-tunnelbroker: get tunnelbroker config from interface commentGravatar Christian Hesse1-7/+0
2019-01-04global: variable names are CamelCaseGravatar Christian Hesse1-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-03global-{config,functions}: move variables, make independentGravatar Christian Hesse1-7/+1
2019-01-03script-updates: add configuration versioningGravatar Christian Hesse1-0/+4
2019-01-02rename script 'check-lte-firmware-update' -> 'check-lte-firmware-upgrade'Gravatar Christian Hesse1-1/+1
That's the correct wording from commands..
2019-01-02update-tunnelbroker: move configuration to global-config...Gravatar Michael Gisbers1-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>