aboutsummaryrefslogtreecommitdiffstats
path: root/global-config
AgeCommit message (Expand)AuthorFilesLines
2021-11-12add global-functions.d/bridge-port-vlanchange-65Gravatar Christian Hesse1-1/+1
2021-09-21global-functions.d/inspectvar: add $InspectVar...•••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 change-64Gravatar Christian Hesse1-1/+1
2021-09-21global-functions: notify about move of $IPCalc and $ScriptRunOnce to modules•••Just install with... $ScriptInstallUpdate global-functions.d/ipcalc ... and/or... $ScriptInstallUpdate global-functions.d/scriptrunonce ... and use the functions as before. change-63Gravatar Christian Hesse1-1/+1
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 cap•••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. change-59Gravatar Michael Gisbers1-1/+3
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...•••... 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*. change-55Gravatar Christian Hesse1-3/+9
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 Matrix•••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/ change-53Gravatar Michael Gisbers1-4/+14
2021-05-18update Let's Encrypt trust chain•••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 change-52Gravatar Christian Hesse1-1/+1
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 $SendEMail2•••This drops $EmailBackupTo & $EmailBackupCc from settings! Use settings overwrite if required: :global EmailGeneralToOverride { "email-backup"="backup@example.com"; } change-49Gravatar Christian Hesse1-4/+2
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...•••... and update the filter in global configuration. Gravatar Christian Hesse1-3/+5
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"•••Let's Encrypt started issuing certificates from "R3" intermediate on December 2nd. All certificates should be renewed by now... change-47Gravatar Christian Hesse1-1/+1
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'•••All scripts wait for the global functions on their own now. change-44Gravatar Christian Hesse1-1/+1
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 mechanism•••Reset $SentConfigChangesNotification and rerun $ScriptInstallUpdate to test... :set SentConfigChangesNotification $ScriptInstallUpdate change-41Gravatar Christian Hesse1-1/+1
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 expression•••Looks like this works without parenthesis in RouterOS, let's add it anyway. Gravatar Christian Hesse1-1/+1
2020-11-17netwatch-notify: notify about changeschange-37Gravatar Christian Hesse1-1/+1
2020-11-13log-forward: do not exclude topic 'script'•••We have justified severity for some log message, so do no longer exclude topic 'script'. Gravatar Christian Hesse1-1/+1
2020-11-13log-forward: do not forward own e-mail logs•••Revert the last change, instead just ignore messages that were generated by log-forward, with "Log Forwarding" in subject. Gravatar Christian Hesse1-2/+2
2020-11-12log-forward: do not forward e-mail logs•••This could cause infinite loop if the mail server does not recover... Gravatar Christian Hesse1-1/+1
2020-11-01check-routeros-update: support installing updates automatically if seen in ne...change-36Gravatar Christian Hesse1-1/+3
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 threshold•••This helps against notification flooding. change-33Gravatar Christian Hesse1-1/+3
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...•••... but give configuration to opt-out. change-31Gravatar Christian Hesse1-1/+3
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"•••This matches the string included in export. Gravatar Christian Hesse1-1/+1
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 license•••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 Gravatar Christian Hesse1-0/+1
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...•••... 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" change-13Gravatar Christian Hesse1-1/+1
2020-02-04global-config: drop $ScriptUpdatesConfigChangesIgnore•••Comment or remove $GlobalConfigVersion in global-config-overlay to disable change notifications. change-12Gravatar Christian Hesse1-3/+1
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'•••This may be incomplete... Please report if you have missing PSUs, ttemperature sensors, whatever. change-7Gravatar Christian Hesse1-1/+9
2019-07-19add script 'upload-backup'change-6Gravatar Christian Hesse1-1/+7
2019-07-19global-config: move config for email-backup•••Signed-off-by: Christian Hesse <mail@eworm.de> Gravatar Christian Hesse1-4/+5
2019-06-14backup: split off cloud-backup•••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. change-5Gravatar Christian Hesse1-2/+1
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 CamelCase••• ___ _ ___ __ / _ )(_)__ _ / _/__ _/ /_ / _ / / _ `/ / _/ _ `/ __/ /____/_/\_, / /_/ \_,_/\__/ _ __ /___/ _ __ | | / /___ __________ (_)___ ____ _/ / | | /| / / __ `/ ___/ __ \/ / __ \/ __ `/ / | |/ |/ / /_/ / / / / / / / / / / /_/ /_/ |__/|__/\__,_/_/ /_/ /_/_/_/ /_/\__, (_) /____/ 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* Gravatar Christian Hesse1-39/+39
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'•••That's the correct wording from commands.. Gravatar Christian Hesse1-1/+1
2019-01-02update-tunnelbroker: move configuration to global-config...•••... and get the external ip address from cloud. Signed-off-by: Michael Gisbers <michael@gisbers.de> Signed-off-by: Christian Hesse <mail@eworm.de> Gravatar Michael Gisbers1-0/+7
2019-01-02update copyright for 2019Gravatar Christian Hesse1-1/+1
2018-12-20check-certificates: support auto-renew of certificatesGravatar Christian Hesse1-0/+5
2018-12-19update-gre-address: remove settings from global-config•••Instead read infos from gre interface comment. Gravatar Christian Hesse1-5/+0