Age | Commit message (Expand) | 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 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-59 | Michael Gisbers | 1 | -1/+3 |
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...•••... 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-55 | Christian Hesse | 1 | -3/+9 |
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 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-53 | Michael Gisbers | 1 | -4/+14 |
2021-05-18 | update 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-52 | Christian Hesse | 1 | -1/+1 |
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 $SendEMail2•••This drops $EmailBackupTo & $EmailBackupCc from settings! Use settings
overwrite if required:
:global EmailGeneralToOverride {
"email-backup"="backup@example.com";
}
change-49 | Christian Hesse | 1 | -4/+2 |
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...•••... and update the filter in global configuration.
| Christian Hesse | 1 | -3/+5 |
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"•••Let's Encrypt started issuing certificates from "R3" intermediate on
December 2nd. All certificates should be renewed by now...
change-47 | Christian Hesse | 1 | -1/+1 |
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'•••All scripts wait for the global functions on their own now.
change-44 | Christian Hesse | 1 | -1/+1 |
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 mechanism•••Reset $SentConfigChangesNotification and rerun $ScriptInstallUpdate
to test...
:set SentConfigChangesNotification
$ScriptInstallUpdate
change-41 | Christian Hesse | 1 | -1/+1 |
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•••Looks like this works without parenthesis in RouterOS,
let's add it anyway.
| Christian Hesse | 1 | -1/+1 |
2020-11-17 | netwatch-notify: notify about changeschange-37 | Christian Hesse | 1 | -1/+1 |
2020-11-13 | log-forward: do not exclude topic 'script'•••We have justified severity for some log message, so do no longer exclude
topic 'script'.
| Christian Hesse | 1 | -1/+1 |
2020-11-13 | log-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.
| Christian Hesse | 1 | -2/+2 |
2020-11-12 | log-forward: do not forward e-mail logs•••This could cause infinite loop if the mail server does not recover...
| Christian Hesse | 1 | -1/+1 |
2020-11-01 | check-routeros-update: support installing updates automatically if seen in ne...change-36 | Christian Hesse | 1 | -1/+3 |
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 threshold•••This helps against notification flooding.
change-33 | Christian Hesse | 1 | -1/+3 |
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...•••... but give configuration to opt-out.
change-31 | Christian Hesse | 1 | -1/+3 |
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"•••This matches the string included in export.
| Christian Hesse | 1 | -1/+1 |
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•••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
| Christian Hesse | 1 | -0/+1 |
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...•••... 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-13 | Christian Hesse | 1 | -1/+1 |
2020-02-04 | global-config: drop $ScriptUpdatesConfigChangesIgnore•••Comment or remove $GlobalConfigVersion in global-config-overlay
to disable change notifications.
change-12 | Christian Hesse | 1 | -3/+1 |
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'•••This may be incomplete... Please report if you have missing PSUs,
ttemperature sensors, whatever.
change-7 | Christian Hesse | 1 | -1/+9 |
2019-07-19 | add script 'upload-backup'change-6 | Christian Hesse | 1 | -1/+7 |
2019-07-19 | global-config: move config for email-backup•••Signed-off-by: Christian Hesse <mail@eworm.de>
| Christian Hesse | 1 | -4/+5 |
2019-06-14 | backup: 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-5 | Christian Hesse | 1 | -2/+1 |
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••• ___ _ ___ __
/ _ )(_)__ _ / _/__ _/ /_
/ _ / / _ `/ / _/ _ `/ __/
/____/_/\_, / /_/ \_,_/\__/
_ __ /___/ _ __
| | / /___ __________ (_)___ ____ _/ /
| | /| / / __ `/ ___/ __ \/ / __ \/ __ `/ /
| |/ |/ / /_/ / / / / / / / / / / /_/ /_/
|__/|__/\__,_/_/ /_/ /_/_/_/ /_/\__, (_)
/____/
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*
| Christian Hesse | 1 | -39/+39 |
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'•••That's the correct wording from commands..
| Christian Hesse | 1 | -1/+1 |
2019-01-02 | update-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>
| Michael Gisbers | 1 | -0/+7 |
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•••Instead read infos from gre interface comment.
| Christian Hesse | 1 | -5/+0 |
2018-12-19 | ipv6-update: remove settings from global-config•••Instead make it more robust by reading comments.
| Christian Hesse | 1 | -4/+0 |
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 |