Age | Commit message (Expand) | Author | Files | Lines |
2020-06-30 | global-functions: $GetRandomNumber: limit at 2^32-1 | Christian Hesse | 1 | -1/+1 |
2020-06-29 | global-functions: $GetRandomNumber: return 32bit number without limit | Christian Hesse | 1 | -1/+4 |
2020-06-23 | global-functions: add $IPCalc•••[admin@MikroTik] > $IPCalc 192.168.88.188/20
Address: 192.168.88.188
Netmask: 255.255.240.0
Network: 192.168.80.0/20
HostMin: 192.168.80.1
HostMax: 192.168.95.254
Broadcast: 192.168.95.255
| Christian Hesse | 1 | -0/+17 |
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-06-18 | global-functions: $GetRandomNumber: use $GetRandomSha256 | Christian Hesse | 1 | -6/+12 |
2020-06-18 | global-functions: rename $GetRandom -> $GetRandomNumber | Christian Hesse | 1 | -4/+4 |
2020-06-18 | global-functions: add $GetRandomSha256 | Christian Hesse | 1 | -0/+12 |
2020-05-26 | global-functions: add $WaitFullyConnected | Christian Hesse | 1 | -0/+12 |
2020-05-26 | global-functions: add $WaitDNSResolving | Christian Hesse | 1 | -0/+10 |
2020-05-26 | global-functions: add $DNSIsResolving | Christian Hesse | 1 | -0/+11 |
2020-05-17 | global-functions: $WaitTimeSync: replace comment with debug output | Christian Hesse | 1 | -1/+2 |
2020-05-17 | global-functions: $DownloadPackage: replace comment with debug output | Christian Hesse | 1 | -1/+1 |
2020-05-15 | global-functions: $MailServerIsUp: handle resolve errors | Christian Hesse | 1 | -1/+6 |
2020-05-15 | global-functions: $MailServerIsUp: remove duplicate define | Christian Hesse | 1 | -1/+0 |
2020-05-15 | global-functions: $MailServerIsUp: use prepared value | Christian Hesse | 1 | -1/+1 |
2020-05-15 | global-functions: $WaitTimeSync: run rotate-ntp less frequently | Christian Hesse | 1 | -1/+1 |
2020-05-13 | global-functions: $WaitTimeSync: failing rotate-ntp is not fatal•••Resolving ntp servers fais if internet connectivity is not established.
So this is not fatal, we want to catch error and fall through, then
continue.
| Christian Hesse | 1 | -1/+5 |
2020-05-04 | global-functions: $ScriptInstallUpdate: log when reloading code | Christian Hesse | 1 | -0/+2 |
2020-05-04 | global-functions: $DownloadPackage: support downloading bundle | Christian Hesse | 1 | -1/+1 |
2020-04-24 | global-functions: $CertificateNameByCN: replace apostrophe | Christian Hesse | 1 | -1/+2 |
2020-04-22 | global-functions: add $WaitDefaultRouteReachable | Christian Hesse | 1 | -0/+10 |
2020-04-22 | global-functions: add $DefaultRouteIsReachable | Christian Hesse | 1 | -0/+9 |
2020-04-22 | global-functions: $TimeIsSync: unbreak with bundled ntp client | Christian Hesse | 1 | -3/+10 |
2020-04-07 | global-functions: $DownloadPackage: do not re-download | Christian Hesse | 1 | -0/+5 |
2020-04-03 | global-functions: $SendTelegram: use $LogPrintExit | Christian Hesse | 1 | -1/+1 |
2020-04-03 | global-functions: $SendEMail: use $LogPrintExit | Christian Hesse | 1 | -1/+3 |
2020-04-03 | global-functions: $ScriptFromTerminal: use $LogPrintExit | Christian Hesse | 1 | -1/+4 |
2020-04-03 | global-functions: $MailServerIsUp: use $LogPrintExit | Christian Hesse | 1 | -1/+3 |
2020-04-03 | global-functions: $CertificateDownload: use $LogPrintExit | Christian Hesse | 1 | -3/+4 |
2020-04-03 | global-functions: $CertificateAvailable: use $LogPrintExit | Christian Hesse | 1 | -3/+6 |
2020-04-03 | global-functions: $SendTelegram: check status of certificate download | Christian Hesse | 1 | -2/+5 |
2020-04-03 | global-functions: $GetMacVendor: check status of certificate download | Christian Hesse | 1 | -3/+5 |
2020-04-03 | global-functions: $DownloadPackage: check status of certificate download | Christian Hesse | 1 | -1/+4 |
2020-04-03 | global-functions: $Certificate{Available,Download}: return and check status | Christian Hesse | 1 | -2/+9 |
2020-04-01 | global-functions: $ScriptInstallUpdate: log and print changes | Christian Hesse | 1 | -0/+2 |
2020-03-31 | global-functions: $SendTelegram: always return a value•••... overwise it opens a prompt "value:".
| Christian Hesse | 1 | -1/+1 |
2020-03-31 | global-functions: $SendEMail: always return a value•••... overwise it opens a prompt "value:".
| Christian Hesse | 1 | -1/+1 |
2020-03-31 | global-functions: $ScriptInstallUpdate: ignore empty scripts•••Now that script-updates is gone we support installing new scripts with
$ScriptInstallUpdate only.
| Christian Hesse | 1 | -1/+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 | -3/+133 |
2020-03-20 | global-functions: introduce $MkDir•••This is a dirty hack... RouterOS does not support creating directories,
so we mis-use http server and fetch tool.
| Christian Hesse | 1 | -0/+18 |
2020-03-12 | 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;
}
| Christian Hesse | 1 | -0/+4 |
2020-03-09 | global-functions: $DeviceInfo: more indention | Christian Hesse | 1 | -5/+5 |
2020-03-05 | global-functions: $SendEMail: invert condition | Christian Hesse | 1 | -11/+13 |
2020-03-05 | global-functions: $SendTelegram: invert condition | Christian Hesse | 1 | -10/+12 |
2020-03-05 | 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;"
| Christian Hesse | 1 | -2/+8 |
2020-03-05 | always use severity 'warning', not just 'warn' | Christian Hesse | 1 | -2/+2 |
2020-03-05 | global-functions: $LogPrintExit: add debugging option | Christian Hesse | 1 | -7/+12 |
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-28 | global-functions: sort alphabetically | Christian Hesse | 1 | -281/+280 |
2020-02-27 | global-functions: $ScriptLock: use $LogPrintExit | Christian Hesse | 1 | -2/+3 |
2020-02-26 | 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.
| Christian Hesse | 1 | -16/+17 |
2020-02-26 | global-functions: introduce $LogAndPut | Christian Hesse | 1 | -0/+10 |
2020-02-26 | global-functions: $LogAndError: add severity | Christian Hesse | 1 | -3/+4 |
2020-02-24 | global-functions: introduce $LogAndError | Christian Hesse | 1 | -0/+9 |
2020-02-24 | global-functions: $WaitTimeSync: rotate ntp servers minutely•••Signed-off-by: Christian Hesse <mail@eworm.de>
| Christian Hesse | 1 | -0/+4 |
2020-02-24 | global-functions: introduce $WaitTimeSync | Christian Hesse | 1 | -0/+10 |
2020-02-24 | global-functions: introduce $TimeIsSync | Christian Hesse | 1 | -0/+16 |
2020-02-24 | global-functions: introduce $MailServerIsUp | Christian Hesse | 1 | -0/+22 |
2020-02-06 | global-functions: introduce and use $CertificateNameByCN | Christian Hesse | 1 | -2/+13 |
2020-02-04 | global-config: drop $ScriptUpdatesConfigChangesIgnore•••Comment or remove $GlobalConfigVersion in global-config-overlay
to disable change notifications.
change-12 | Christian Hesse | 1 | -1/+1 |
2020-02-03 | 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.
| Christian Hesse | 1 | -2/+1 |
2020-02-02 | global-functions: $CertificateAvailable: simplify loop | Christian Hesse | 1 | -4/+4 |
2020-01-29 | README: update instructions to use $ScriptInstallUpdatechange-11 | Christian Hesse | 1 | -1/+1 |
2020-01-29 | 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][,...]
| Christian Hesse | 1 | -0/+14 |
2020-01-29 | 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.
| Christian Hesse | 1 | -0/+12 |
2020-01-29 | global-functions: $CertificateAvailable: warn about crl download to flash•••Downloading certificate crls to flash can fill up all available space.
So warn about it!
| Christian Hesse | 1 | -0/+6 |
2020-01-28 | global-functions: replace deprecated keep-result=no with output=none | Christian Hesse | 1 | -1/+1 |
2020-01-06 | global-functions: $CertificateDownload: properly name new certificates | Christian Hesse | 1 | -0/+5 |
2020-01-03 | global-functions: do not encode dash, dot, slash and underscore | Christian Hesse | 1 | -4/+3 |
2020-01-03 | global-functions: $Certificate*: add quoting around CN | Christian Hesse | 1 | -2/+2 |
2020-01-03 | 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.
| Christian Hesse | 1 | -17/+28 |
2020-01-01 | update copyright for 2020 | Christian Hesse | 1 | -1/+1 |
2019-12-10 | global-functions: define first, set later | Christian Hesse | 1 | -16/+34 |
2019-12-05 | global-functions: $DownloadPackage: retry on error | Christian Hesse | 1 | -12/+17 |
2019-12-03 | global-functions: introduce $ScriptFromTerminal•••Checking whether or not started from terminal is tricky... We have to find
the job for the script, find its top most parent and get its type.
| Christian Hesse | 1 | -0/+18 |
2019-11-28 | global-functions: $DeviceInfo: append revision to model | Christian Hesse | 1 | -1/+5 |
2019-10-28 | global-functions: add architecture in device info | Christian Hesse | 1 | -2/+3 |
2019-10-14 | check-health: make threshold for voltage configurablechange-10 | Christian Hesse | 1 | -1/+1 |
2019-09-12 | introduce global-config-overlaychange-9 | Christian Hesse | 1 | -1/+1 |
2019-09-12 | global-functions: $DeviceInfo: handle configuration version | Michael Gisbers | 1 | -0/+10 |
2019-09-12 | global-functions: introduce and use $DeviceInfo | Christian Hesse | 1 | -0/+29 |
2019-08-30 | script-updates: add donation hint in configuration warning notificationchange-8 | 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/+1 |
2019-08-18 | global-functions: support sending silent telegram notifications | Christian Hesse | 1 | -4/+6 |
2019-08-18 | global-functions: split off $SendEMail and $SendTelegram | Christian Hesse | 1 | -9/+31 |
2019-08-01 | global-functions: $DownloadPackage: re-introduce check for valid package•••Even if fetch tool does its job right now... Chances are that the
download servers have corrupted or empty files.
| Christian Hesse | 1 | -0/+5 |
2019-07-26 | global-functions: add $RandomDelay | Christian Hesse | 1 | -0/+7 |
2019-07-26 | global-functions: add $GetRandom | Christian Hesse | 1 | -0/+13 |
2019-07-19 | global-functions: $DownloadPackage: fix downloading for CHR / x86_64 | Christian Hesse | 1 | -0/+3 |
2019-07-19 | add script 'upload-backup'change-6 | Christian Hesse | 1 | -1/+1 |
2019-07-17 | global-functions: add $ParseKeyValueStore | Christian Hesse | 1 | -0/+16 |
2019-07-16 | global-functions: $CharacterReplace: use same condition in loop | Christian Hesse | 1 | -1/+1 |
2019-07-16 | global-functions: append system note in e-mail signature | Christian Hesse | 1 | -1/+6 |
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 | -1/+1 |
2019-04-30 | global-functions: $CertificateAvailable: fetch by CommonName•••Now that we have a proper $UrlEncode function... Fetch certificates
by CommonName.
Also remove the PEM after import.
| Christian Hesse | 1 | -8/+11 |
2019-04-30 | global-functions: add $WaitForFile, wait for file on fetch•••The fetch command is asynchronous, the file is not guaranteed to be
available when command terminates.
I opened an issue at Mikrotik support (Ticket#2019041722004999),
their answer:
> You should perform a check in a loop.
> :delay until file exist
>
> That can happen also with any configuration not just files.
So add a function to wait for a file with given name.
I have not seen this with other configuration, though.
| Christian Hesse | 1 | -0/+22 |
2019-04-09 | drop deprecated mode= for fetch | Christian Hesse | 1 | -2/+2 |