Commit graph

110 commits

Author SHA1 Message Date
Christian Hesse
6f354c8bb0 global-functions: $ScriptFromTerminal: use $LogPrintExit 2020-04-03 16:59:10 +02:00
Christian Hesse
9c3ce55ee4 global-functions: $MailServerIsUp: use $LogPrintExit 2020-04-03 16:59:10 +02:00
Christian Hesse
596fb5f835 global-functions: $CertificateDownload: use $LogPrintExit 2020-04-03 16:59:10 +02:00
Christian Hesse
7cdeb9185e global-functions: $CertificateAvailable: use $LogPrintExit 2020-04-03 16:59:10 +02:00
Christian Hesse
324f5b0ba4 global-functions: $SendTelegram: check status of certificate download 2020-04-03 15:03:27 +02:00
Christian Hesse
e963e09114 global-functions: $GetMacVendor: check status of certificate download 2020-04-03 15:03:27 +02:00
Christian Hesse
abb97601ce global-functions: $DownloadPackage: check status of certificate download 2020-04-03 15:03:27 +02:00
Christian Hesse
dfeaa1ed41 global-functions: $Certificate{Available,Download}: return and check status 2020-04-03 14:24:24 +02:00
Christian Hesse
afd33b8e25 global-functions: $ScriptInstallUpdate: log and print changes 2020-04-01 11:38:25 +02:00
Christian Hesse
a598cca2da global-functions: $SendTelegram: always return a value
... overwise it opens a prompt "value:".
2020-03-31 13:35:59 +02:00
Christian Hesse
40970fb738 global-functions: $SendEMail: always return a value
... overwise it opens a prompt "value:".
2020-03-31 13:34:30 +02:00
Christian Hesse
e33b4af433 global-functions: $ScriptInstallUpdate: ignore empty scripts
Now that script-updates is gone we support installing new scripts with
$ScriptInstallUpdate only.
2020-03-31 12:58:13 +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
f50e416e49 global-functions: introduce $MkDir
This is a dirty hack... RouterOS does not support creating directories,
so we mis-use http server and fetch tool.
2020-03-20 09:26:12 +01:00
Christian Hesse
98585afe1c add script 'global-wait'
Run this in schedulers that fire on startup without interval. Schedulers
should look something like this:

/ system scheduler {
  add name=global-scripts on-event="/ system script { run global-config; run global-config-overlay; run global-functions; }" start-time=startup;
  add name=bridge-port-to-default on-event="/ system script { run global-wait; run bridge-port-to-default; }" start-time=startup;
}
2020-03-12 08:40:29 +01:00
Christian Hesse
8992b18166 global-functions: $DeviceInfo: more indention 2020-03-09 09:29:36 +01:00
Christian Hesse
3d07ebde05 global-functions: $SendEMail: invert condition 2020-03-05 11:00:36 +01:00
Christian Hesse
227151e189 global-functions: $SendTelegram: invert condition 2020-03-05 11:00:36 +01:00
Christian Hesse
34db2e34db global-functions: $SendTelegram: allow to override chatid
This allows to send Telegram messages to different contact or group.
Use something like this:

/system scheduler add name=netwatch-notify interval=1m start-time=startup \
  on-event=":global TelegramChatIdOverride \"-1234\"; / system script run netwatch-notify; :set TelegramChatIdOverride;"
2020-03-05 10:54:48 +01:00
Christian Hesse
bf41a8d48a always use severity 'warning', not just 'warn' 2020-03-05 09:18:23 +01:00
Christian Hesse
792eba8465 global-functions: $LogPrintExit: add debugging option 2020-03-05 08:11:17 +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
001e7eeb39 global-functions: sort alphabetically 2020-02-28 15:26:26 +01:00
Christian Hesse
3db752bc97 global-functions: $ScriptLock: use $LogPrintExit 2020-02-27 13:51:27 +01:00
Christian Hesse
ceaa83b83e global-functions: merge $LogAnd{Error,Put} to $LogPrintExit ...
... and fix logging.

Logging with severity from variable (:log $severity ...) is not
possible, this is considered a syntax error. Also the 'workaround' with
parsing code failed with missing message in log.

The reliable code is a lot longer, so merge the two functions to save a
lot of duplicate code.
2020-02-26 14:19:54 +01:00
Christian Hesse
312caf3f90 global-functions: introduce $LogAndPut 2020-02-26 12:11:50 +01:00
Christian Hesse
3ebf68a08c global-functions: $LogAndError: add severity 2020-02-26 12:09:19 +01:00
Christian Hesse
556fc2d0d3 global-functions: introduce $LogAndError 2020-02-24 19:53:15 +01:00
Christian Hesse
19b80ee063 global-functions: $WaitTimeSync: rotate ntp servers minutely
Signed-off-by: Christian Hesse <mail@eworm.de>
2020-02-24 13:01:45 +01:00
Christian Hesse
5fab77abad global-functions: introduce $WaitTimeSync 2020-02-24 12:55:18 +01:00
Christian Hesse
77ec3293f0 global-functions: introduce $TimeIsSync 2020-02-24 11:06:17 +01:00
Christian Hesse
7d2239f24e global-functions: introduce $MailServerIsUp 2020-02-24 10:48:04 +01:00
Christian Hesse
e376845b12 global-functions: introduce and use $CertificateNameByCN 2020-02-06 18:18:56 +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
03af7d6d9c global-functions: $CharacterReplace: do not limit string length
I've tried something like this to update a device:

/ system script set source=[ $CharacterReplace [ get global-config-overlay source ] "GlobalConfigVersion 10" "GlobalConfigVersion 11" ] global-config-overlay;

This broke with global-config-overlay longer than 999 characters. So makes
sure there is no limit for string length.
2020-02-03 21:29:21 +01:00
Christian Hesse
7f81734006 global-functions: $CertificateAvailable: simplify loop 2020-02-02 15:16:36 +01:00
Christian Hesse
1e72f03e5e README: update instructions to use $ScriptInstallUpdate 2020-01-29 22:14:56 +01:00
Christian Hesse
c500243c97 global-functions: add $ScriptInstallUpdate
Just call without parameters to update scripts:

[admin@MikroTik] > $InstallAndUpdate

Add comma separated list of scripts to install and update:

[admin@MikroTik] > $InstallAndUpdate cloud-backup[,upload-backup][,...]
2020-01-29 21:44:41 +01:00
Christian Hesse
352818ea48 global-functions: $CertificateAvailable: check whole chain
The root certificate is a self-signed certificate. Check for the issue
certificate until we find the self-signed one.
2020-01-29 21:08:10 +01:00
Christian Hesse
801dce05fa global-functions: $CertificateAvailable: warn about crl download to flash
Downloading certificate crls to flash can fill up all available space.
So warn about it!
2020-01-29 09:27:00 +01:00
Christian Hesse
5741924cf9 global-functions: replace deprecated keep-result=no with output=none 2020-01-28 21:51:27 +01:00
Christian Hesse
b3a76c7e4b global-functions: $CertificateDownload: properly name new certificates 2020-01-06 10:20:19 +01:00
Christian Hesse
cf79e6c473 global-functions: do not encode dash, dot, slash and underscore 2020-01-03 11:24:12 +01:00
Christian Hesse
b1b7ed83ed global-functions: $Certificate*: add quoting around CN 2020-01-03 10:15:34 +01:00
Christian Hesse
cb1e520965 global-functions: split $CertificateAvailable to $CertificateDownload
This allows to force download even if certificate is available. We need
this for a clean update path with Let's Encrypt.
2020-01-03 10:07:55 +01:00
Christian Hesse
afb9839073 update copyright for 2020 2020-01-01 17:00:39 +01:00
Christian Hesse
d064bd349e global-functions: define first, set later 2019-12-10 14:45:35 +01:00