Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-06-23 | global-functions: add $IPCalc | Christian Hesse | 1 | -0/+17 | |
[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 | |||||
2020-06-19 | explicitly name the license | Christian Hesse | 1 | -0/+1 | |
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-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 | Christian Hesse | 1 | -1/+5 | |
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. | |||||
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 | Christian Hesse | 1 | -1/+1 | |
... overwise it opens a prompt "value:". | |||||
2020-03-31 | global-functions: $SendEMail: always return a value | Christian Hesse | 1 | -1/+1 | |
... overwise it opens a prompt "value:". | |||||
2020-03-31 | global-functions: $ScriptInstallUpdate: ignore empty scripts | Christian Hesse | 1 | -1/+1 | |
Now that script-updates is gone we support installing new scripts with $ScriptInstallUpdate only. | |||||
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 | Christian Hesse | 1 | -0/+18 | |
This is a dirty hack... RouterOS does not support creating directories, so we mis-use http server and fetch tool. | |||||
2020-03-12 | add script 'global-wait' | Christian Hesse | 1 | -0/+4 | |
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-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 | Christian Hesse | 1 | -2/+8 | |
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 | 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...change-13 | Christian Hesse | 1 | -1/+1 | |
... 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-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 ... | Christian Hesse | 1 | -16/+17 | |
... 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 | 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 | Christian Hesse | 1 | -0/+4 | |
Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
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 $ScriptUpdatesConfigChangesIgnorechange-12 | Christian Hesse | 1 | -1/+1 | |
Comment or remove $GlobalConfigVersion in global-config-overlay to disable change notifications. | |||||
2020-02-03 | global-functions: $CharacterReplace: do not limit string length | Christian Hesse | 1 | -2/+1 | |
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-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 | Christian Hesse | 1 | -0/+14 | |
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 | global-functions: $CertificateAvailable: check whole chain | Christian Hesse | 1 | -0/+12 | |
The root certificate is a self-signed certificate. Check for the issue certificate until we find the self-signed one. | |||||
2020-01-29 | global-functions: $CertificateAvailable: warn about crl download to flash | Christian Hesse | 1 | -0/+6 | |
Downloading certificate crls to flash can fill up all available space. So warn about it! | |||||
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 | Christian Hesse | 1 | -17/+28 | |
This allows to force download even if certificate is available. We need this for a clean update path with Let's Encrypt. | |||||
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 | Christian Hesse | 1 | -0/+18 | |
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. | |||||
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'change-7 | Christian Hesse | 1 | -1/+1 | |
This may be incomplete... Please report if you have missing PSUs, ttemperature sensors, whatever. | |||||
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 | Christian Hesse | 1 | -0/+5 | |
Even if fetch tool does its job right now... Chances are that the download servers have corrupted or empty files. | |||||
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-backupchange-5 | Christian Hesse | 1 | -1/+1 | |
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-04-30 | global-functions: $CertificateAvailable: fetch by CommonName | Christian Hesse | 1 | -8/+11 | |
Now that we have a proper $UrlEncode function... Fetch certificates by CommonName. Also remove the PEM after import. | |||||
2019-04-30 | global-functions: add $WaitForFile, wait for file on fetch | Christian Hesse | 1 | -0/+22 | |
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. | |||||
2019-04-09 | drop deprecated mode= for fetch | Christian Hesse | 1 | -2/+2 | |
2019-04-03 | script-updates: send global-config changes notification just once | Christian Hesse | 1 | -0/+1 | |
2019-04-02 | script-updates: add option to ignore global-config changeschange-4 | Christian Hesse | 1 | -1/+1 | |