Christian Hesse
6770a15a7d
cloud-backup: add configurable random delay
2021-02-24 21:51:56 +01:00
Christian Hesse
e99821c39a
switch default branch from master to main
2021-02-23 10:14:09 +01:00
Christian Hesse
73eb92fb72
We have a Telegram group!
2021-02-22 10:34:09 +01:00
Christian Hesse
d5afc79eed
global: drop script 'global-wait'
...
All scripts wait for the global functions on their own now.
2021-02-18 21:45:38 +01:00
Christian Hesse
3f12730ed4
email-backup: no example address, complain if missing
2021-02-18 12:54:04 +01:00
Christian Hesse
28db473299
global-functions: send (and re-send) e-mails from queue
2021-02-16 16:45:13 +01:00
Christian Hesse
eaea89112a
global-functions: $LogPrintExit: notify about colorful output
2021-01-22 10:08:15 +01:00
Christian Hesse
b780b40baf
global-functions: $LogPrintExit: make colorful output configurable
2021-01-22 09:22:34 +01:00
Christian Hesse
547fbc630a
update copyright for 2021
2021-01-01 21:33:52 +01:00
Christian Hesse
0360a0ef90
global-functions: $ScriptInstallUpdate: implement migration mechanism
...
Reset $SentConfigChangesNotification and rerun $ScriptInstallUpdate
to test...
:set SentConfigChangesNotification
$ScriptInstallUpdate
2020-12-18 20:32:29 +01:00
Christian Hesse
010e2d6b05
check-certificates: make the certificate renewal time configurable
2020-12-18 16:02:31 +01:00
Christian Hesse
3657830582
ipv6-update: notify about interface specific address list entries
2020-12-18 15:31:03 +01:00
Christian Hesse
62598b6653
import Let's Encrypt certificate "R3"
2020-12-17 22:47:12 +01:00
Christian Hesse
6b19cf2578
log-forward: add parenthesis in filter expression
...
Looks like this works without parenthesis in RouterOS,
let's add it anyway.
2020-11-26 10:32:17 +01:00
Christian Hesse
62ef70e5dd
netwatch-notify: notify about changes
2020-11-17 22:28:05 +01:00
Christian Hesse
966e7b6fd3
log-forward: do not exclude topic 'script'
...
We have justified severity for some log message, so do no longer exclude
topic 'script'.
2020-11-13 22:46:26 +01:00
Christian Hesse
d2fab050ba
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.
2020-11-13 20:56:48 +01:00
Christian Hesse
24eb2c15a9
log-forward: do not forward e-mail logs
...
This could cause infinite loop if the mail server does not recover...
2020-11-12 23:18:51 +01:00
Christian Hesse
98c132105d
check-routeros-update: support installing updates automatically if seen in neighbor list
2020-11-01 21:48:03 +01:00
Christian Hesse
fee2523a22
mode-button: make LED configurable
2020-10-23 21:50:14 +02:00
Christian Hesse
ae5570325b
ospf-to-leds: introduce script to visualize ospf state via leds
2020-10-23 14:17:33 +02:00
Christian Hesse
6d9eb99e08
check-health: add deviation on temperature recovery threshold
...
This helps against notification flooding.
2020-10-16 22:58:14 +02:00
Christian Hesse
8b2df7abd0
mode-button: merge mode-button-event & mode-button-scheduler
2020-10-16 08:24:19 +02:00
Christian Hesse
b769077746
global-config: do not define mail addresses by default
2020-10-15 22:45:27 +02:00
Christian Hesse
3e0039c266
global-functions: $SendTelegram: use fixed-width font...
...
... but give configuration to opt-out.
2020-10-13 10:05:59 +02:00
Christian Hesse
a0d1709244
log-forward: notify on rate limit
2020-09-28 20:26:29 +02:00
Christian Hesse
697e32a306
log-forward: add filter on log message text
2020-09-25 22:21:59 +02:00
Christian Hesse
c3ea555233
dhcp-to-dns: notify on acting on all bound leases
2020-09-25 22:20:34 +02:00
Christian Hesse
9f16e0644b
global-functions: notify on Telegram queue
2020-09-25 22:19:16 +02:00
Christian Hesse
9bec6914cc
netwatch-notify: notify on configurable check count threshold
2020-09-25 22:17:26 +02:00
Christian Hesse
49737af6d1
extend magic pattern with "by RouterOS"
...
This matches the string included in export.
2020-09-18 11:00:27 +02:00
Christian Hesse
6575cb3321
notify about support for dhcp server name in fqdn
2020-08-07 22:15:30 +02:00
netztrip
2e1acc2505
dhcp-to-dns: add support for dhcp server name in fqdn
2020-08-07 22:08:01 +02:00
Christian Hesse
075859c898
global-functions: introduce and use $SymbolForNotification
2020-07-17 08:12:00 +02:00
Christian Hesse
6bce0a4b6a
add 'log-forward', drop 'early-errors'
2020-07-15 12:41:29 +02:00
Christian Hesse
f4d6e07dbb
global-config: dropped $ScriptUpdatesIgnore, use ignore flag in comment
2020-07-14 17:02:41 +02:00
Christian Hesse
d1b6ca3d0b
notify about auto patch updates in check-routeros-update
2020-07-14 17:02:36 +02:00
Christian Hesse
4a52d51a36
notify about hooks in netwatch-notify
2020-07-14 17:02:31 +02:00
Christian Hesse
aec63407e8
notify about options in script comments
2020-07-14 16:23:04 +02:00
Christian Hesse
883920aeae
notify about $IPCalc
2020-07-14 16:22:17 +02:00
Christian Hesse
23563cb9aa
notify about early-errors
2020-07-14 16:16:46 +02:00
Christian Hesse
2907dbe18f
check-routeros-update: support installing patch updates automatically
2020-07-07 00:21:47 +02:00
Christian Hesse
01fe371a0d
dhcp-to-dns: allow to configure 'dhcp' prefix in zone
2020-07-03 08:20:36 +02:00
Christian Hesse
71ad56aacc
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
2020-06-19 22:17:42 +02:00
Christian Hesse
2363f75e7f
ask for GitHub and GitLab stars
2020-03-27 22:19:33 +01:00
Christian Hesse
1d93e92dcd
Notify about new documentation!
2020-03-27 22:12:49 +01:00
Christian Hesse
070ae8ecb5
link global-{config,config-overlay,functions} to main README
2020-03-27 22:12:49 +01:00
Christian Hesse
5f46ef7635
completely replace script-updates with $ScriptInstallUpdate
2020-03-23 14:01:20 +01:00
Christian Hesse
739884ecc7
certificate-renew-issued: support auto-export with given passphrases
2020-03-20 09:26:12 +01:00
Christian Hesse
628ae1bd70
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"
2020-03-03 13:32:00 +01:00
Christian Hesse
b5f4c2c87e
global-config: drop $ScriptUpdatesConfigChangesIgnore
...
Comment or remove $GlobalConfigVersion in global-config-overlay
to disable change notifications.
2020-02-04 20:19:46 +01:00
Christian Hesse
1e72f03e5e
README: update instructions to use $ScriptInstallUpdate
2020-01-29 22:14:56 +01:00
Christian Hesse
afb9839073
update copyright for 2020
2020-01-01 17:00:39 +01:00
Christian Hesse
df0c2afa31
check-health: decrease default threshold for voltage
2019-10-22 15:03:52 +02:00
Christian Hesse
f40bb2c8c8
check-health: make threshold for voltage configurable
2019-10-14 19:13:31 +02:00
Christian Hesse
1cee36a911
introduce global-config-overlay
2019-09-12 21:29:41 +02:00
Christian Hesse
166bbffe1d
script-updates: add donation hint in configuration warning notification
2019-08-30 14:10:58 +02:00
Christian Hesse
05f2d03ad9
use shorter url for my repository
2019-08-30 13:43:21 +02:00
Christian Hesse
29dc1b8841
add script 'check-health'
...
This may be incomplete... Please report if you have missing PSUs,
ttemperature sensors, whatever.
2019-08-27 12:01:32 +02:00
Christian Hesse
8d1313f588
add script 'upload-backup'
2019-07-19 11:46:29 +02:00
Christian Hesse
26f01b238b
global-config: move config for email-backup
...
Signed-off-by: Christian Hesse <mail@eworm.de>
2019-07-19 11:46:29 +02:00
Christian Hesse
5101d57d52
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.
2019-06-14 15:13:41 +02:00
Christian Hesse
15d3e9ea7b
global-config: change duplicate word from daily psk
2019-04-05 07:56:50 +02:00
Christian Hesse
7b1c275cc2
script-updates: add option to ignore global-config changes
2019-04-02 08:48:35 +02:00
Christian Hesse
594aef2aab
check-certificates: support multiple passphrases
2019-04-01 22:45:38 +02:00
Christian Hesse
1cd7679a07
update-tunnelbroker: get tunnelbroker config from interface comment
2019-01-04 20:20:20 +01:00
Christian Hesse
870f00bb36
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*
2019-01-04 12:35:34 +01:00
Christian Hesse
7d06a7e8c2
global-{config,functions}: move variables, make independent
2019-01-03 16:09:03 +01:00
Christian Hesse
6e03a3b935
script-updates: add configuration versioning
2019-01-03 15:36:26 +01:00
Christian Hesse
fe04b8b8db
rename script 'check-lte-firmware-update' -> 'check-lte-firmware-upgrade'
...
That's the correct wording from commands..
2019-01-02 22:50:23 +01:00
Michael Gisbers
ca16f286ef
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>
2019-01-02 15:02:42 +01:00
Christian Hesse
472cd3d905
update copyright for 2019
2019-01-02 09:38:34 +01:00
Christian Hesse
44be3d8d07
check-certificates: support auto-renew of certificates
2018-12-20 15:55:40 +01:00
Christian Hesse
ee49fe3184
update-gre-address: remove settings from global-config
...
Instead read infos from gre interface comment.
2018-12-19 17:22:36 +01:00
Christian Hesse
9f077ab8bf
ipv6-update: remove settings from global-config
...
Instead make it more robust by reading comments.
2018-12-19 16:48:34 +01:00
Christian Hesse
6f606f9ca5
email-backup: support cloud backup
2018-12-18 22:48:28 +01:00
Christian Hesse
9346df67d7
add script 'check-lte-firmware-update'
2018-12-14 23:04:18 +01:00
Christian Hesse
6e4d715937
global-functions: add identity tag in $SendNotification
...
... and send subject in telegram message.
2018-11-28 21:19:39 +01:00
Christian Hesse
c4f8c1ad52
global-config: add identity tag
2018-11-26 13:45:02 +01:00
Christian Hesse
015f8e01b5
global-config: sort sms-action alphabetically
2018-11-13 10:20:45 +01:00
Christian Hesse
e17389749f
global-config: add more examples for mode button and sms-action
2018-11-13 10:20:14 +01:00
Christian Hesse
7aae1bf9dd
global-config: default for telegram is empty strings...
...
... to make sure the api is not flooded with invalid requests.
2018-10-10 10:22:18 +02:00
Christian Hesse
5e4ef0ab8f
global-functions: add function to notify via e-mail and telegram
2018-10-09 15:46:39 +02:00
Christian Hesse
977a5d5f5e
global-functions: move daily psk secrets to global-config
2018-10-09 14:17:19 +02:00
Christian Hesse
7b4bef1a1e
make GeneratePSK a global function
2018-10-09 14:15:34 +02:00
Christian Hesse
9c3f3b9f20
add global-functions
2018-10-09 14:15:34 +02:00
Christian Hesse
311475e67c
add script 'bridge-port-toggle'
...
... to toggle between configuration 'default' and 'alt'.
2018-10-04 14:03:09 +02:00
Christian Hesse
17f64b48af
bridge-port-to-default: support different configurations
...
Just add something like this to your bridge ports:
comment="default:br-ext,alt:br-intern"
2018-10-04 13:56:09 +02:00
Christian Hesse
ea4b739d00
global-config: add missing semicolons
2018-10-04 13:32:21 +02:00
Christian Hesse
be673737d3
start scripts with a magic token / shebang
2018-09-27 00:18:43 +02:00
Christian Hesse
5fff04ed0e
fix typos
2018-09-13 22:25:38 +02:00
Christian Hesse
95794d0367
sms-action: move configuration to global-config
2018-09-13 22:07:12 +02:00
Christian Hesse
172d789f2a
add scripts mode-button-{event,scheduler}
2018-09-10 22:15:54 +02:00
Christian Hesse
2de26a6617
check-routeros-update: enable auto update for safe version
2018-09-05 23:45:35 +02:00
Christian Hesse
23b167e84b
check-routeros-update: resend notification if version changes
2018-08-30 11:14:01 +02:00
Christian Hesse
21f2b04f9a
script-updates: add support for url suffix
...
This allows to fetch from different branch...
2018-08-27 11:15:03 +02:00
Christian Hesse
07e54dd88b
add empty comment at first line...
...
... for better formatting in export.
2018-08-24 16:58:30 +02:00
Christian Hesse
2ec96e9db4
add script 'gps-track'
2018-08-06 14:21:55 +02:00
Christian Hesse
a80591f510
script-updates: always accept updates from file
2018-07-10 00:05:30 +02:00
Christian Hesse
a6d809ef8e
global-config: script-updates url examples for github and gitlab
2018-07-09 17:06:17 +02:00