aboutsummaryrefslogtreecommitdiffstats
path: root/global-functions
AgeCommit message (Collapse)AuthorFilesLines
2020-10-16check-health: add deviation on temperature recovery thresholdchange-33Gravatar Christian Hesse1-1/+1
This helps against notification flooding.
2020-10-16mode-button: merge mode-button-event & mode-button-schedulerchange-32Gravatar Christian Hesse1-1/+1
2020-10-14global-functions: $SendTelegram: clean upGravatar Christian Hesse1-11/+19
2020-10-13global-functions: $SendTelegram: use fixed-width font...change-31Gravatar Christian Hesse1-8/+33
... but give configuration to opt-out.
2020-10-13global-functions: $FlushTelegramQueue, $SendTelegram: move hintGravatar Christian Hesse1-7/+6
2020-10-13global-functions: $UrlEncode: encode new line & carriage returnGravatar Christian Hesse1-4/+5
2020-10-10global-functions: $IPCalc: return data in arrayGravatar Christian Hesse1-6/+19
2020-10-09global-functions: $WaitTimeSync: calculate with modulo operationGravatar Christian Hesse1-1/+1
The uptime is returned in time, with supports arithmetic modulo operation. This is three minutes in nano seconds, so multiplied 180 with 10^9.
2020-10-07global-functions: $LogPrintExit: explicitly set severityGravatar Christian Hesse1-0/+1
2020-10-07global-functions: $MailServerIsUp: return gracefully on missing configurationGravatar Christian Hesse1-0/+11
2020-09-28log-forward: notify on rate limitchange-30Gravatar Christian Hesse1-1/+1
2020-09-28global-functions: $SendTelegram: scissors symbol for truncationGravatar Christian Hesse1-1/+2
2020-09-27global-functions: $SendTelegram: truncate messages if too longGravatar Christian Hesse1-1/+8
Telegram messages have a maximum length of 4096 characters. Truncate if too long, keep some spare characters for status messages.
2020-09-25log-forward: add filter on log message textchange-29Gravatar Christian Hesse1-1/+1
2020-09-25dhcp-to-dns: notify on acting on all bound leaseschange-28Gravatar Christian Hesse1-1/+1
2020-09-25global-functions: notify on Telegram queuechange-27Gravatar Christian Hesse1-1/+1
2020-09-25netwatch-notify: notify on configurable check count thresholdchange-26Gravatar Christian Hesse1-1/+1
2020-09-18collect-wireless-mac: add symbol in notificationGravatar Christian Hesse1-0/+1
2020-09-18daily-psk: add symbol in notificationGravatar Christian Hesse1-0/+1
2020-09-18extend magic pattern with "by RouterOS"Gravatar Christian Hesse1-4/+4
This matches the string included in export.
2020-09-17global-functions: add missing colonGravatar Christian Hesse1-1/+1
2020-09-14global-functions: $FlushTelegramQueue: destroy empty queueGravatar Christian Hesse1-0/+1
2020-09-14global-functions: $FlushTelegramQueue: give hint on queued messageGravatar Christian Hesse1-2/+8
2020-09-14global-functions: queue Telegram notifications on failure and re-sendGravatar Christian Hesse1-3/+45
This introduces function $FlushTelegramQueue, which flushes queue of Telegram notifications. Notifications are appended to the queue if sending failed.
2020-09-01global-functions: $DefaultRouteIsReachable: exclude blackholeGravatar Christian Hesse1-1/+1
2020-08-26[ ... print count-only ...] -> [ :len [ ... find ... ] ]Gravatar Christian Hesse1-12/+12
Using 'print count-only' always prints a number to terminal, even if the value is evaluated in a condition or assigned to a variable. This can be quite annoying. Behavior will not chance (SUP-25503), so replacing the code...
2020-08-21global-functions: $TimeIsSync: return gracefully...Gravatar Christian Hesse1-2/+2
Situation will not improve... But chances are that RTC is available with correct time, for example from host inside CHR vm. So return gracefully.
2020-08-21global-functions: $TimeIsSync: warn on missing time sourceGravatar Christian Hesse1-0/+3
2020-08-21global-functions: $TimeIsSync: return false if cloud enabled but not readyGravatar Christian Hesse1-3/+5
2020-08-21global-functions: $TimeIsSync: return false if ntp client enabled but not syncedGravatar Christian Hesse1-0/+1
2020-08-07notify about support for dhcp server name in fqdnchange-25Gravatar Christian Hesse1-1/+1
2020-07-25global-functions: drop $GetRandomSha256, introduce $GetRandom20CharHexGravatar Christian Hesse1-16/+12
Do do generate certificate, but use scep-server otp.
2020-07-17check-certificates: add symbol in notificationGravatar Christian Hesse1-0/+1
2020-07-17global-functions: $ScriptInstallUpdate: add symbol in notificationGravatar Christian Hesse1-1/+4
2020-07-17cloud-backup: add symbol in notificationGravatar Christian Hesse1-0/+1
2020-07-17global-functions: introduce and use $SymbolForNotificationchange-24Gravatar Christian Hesse1-1/+14
2020-07-17global-functions: introduce $SymbolByUnicodeNameGravatar Christian Hesse1-0/+16
2020-07-16global-functions: $DeviceInfo: use $IfThenElseGravatar Christian Hesse1-31/+21
2020-07-16global-functions: introduce $IfThenElseGravatar Christian Hesse1-0/+9
2020-07-15add 'log-forward', drop 'early-errors'change-23Gravatar Christian Hesse1-1/+1
2020-07-14global-functions: $ScriptInstallUpdate: update wording for notificationGravatar Christian Hesse1-1/+1
2020-07-14global-config: dropped $ScriptUpdatesIgnore, use ignore flag in commentchange-22Gravatar Christian Hesse1-5/+13
2020-07-14notify about auto patch updates in check-routeros-updatechange-21Gravatar Christian Hesse1-1/+1
2020-07-14notify about hooks in netwatch-notifychange-20Gravatar Christian Hesse1-1/+1
2020-07-14notify about options in script commentschange-19Gravatar Christian Hesse1-1/+1
2020-07-14notify about $IPCalcchange-18Gravatar Christian Hesse1-1/+1
2020-07-14notify about early-errorschange-17Gravatar Christian Hesse1-1/+1
2020-07-14global-functions: $MailServerIsUp: do immediate checkGravatar Christian Hesse1-1/+9
2020-07-14global-functions: $DNSIsResolving: try a domain that is unlikely to be cachedGravatar Christian Hesse1-1/+3
2020-07-07global-functions: add $VersionToNumGravatar Christian Hesse1-0/+30
2020-07-02global-functions: $ScriptInstallUpdate: get base url and suffix from commentGravatar Christian Hesse1-2/+6
Just set 'base-url=https://example.com/...' and/or 'url-suffix=\h=branch' in comment to overwrite settings from global configuration.
2020-07-02global-functions: $ScriptInstallUpdate: support ignore from commentGravatar Christian Hesse1-0/+3
Just add 'ignore' in comment...
2020-07-02global-functions: $ParseKeyValueStore: allow equals sign in valueGravatar Christian Hesse1-4/+2
2020-07-02global-functions: $ParseKeyValueStore: key without value for boolean trueGravatar Christian Hesse1-2/+6
2020-06-30global-functions: do not initialize $Sent* variablesGravatar Christian Hesse1-3/+0
The scripts work without initialization, removing this makes sure the value is not overwritten on global functions reload.
2020-06-30global-functions: $GetRandomNumber: limit at 2^32-1Gravatar Christian Hesse1-1/+1
2020-06-29global-functions: $GetRandomNumber: return 32bit number without limitGravatar Christian Hesse1-1/+4
2020-06-23global-functions: add $IPCalcGravatar Christian Hesse1-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-19explicitly name the licenseGravatar Christian Hesse1-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-18global-functions: $GetRandomNumber: use $GetRandomSha256Gravatar Christian Hesse1-6/+12
2020-06-18global-functions: rename $GetRandom -> $GetRandomNumberGravatar Christian Hesse1-4/+4
2020-06-18global-functions: add $GetRandomSha256Gravatar Christian Hesse1-0/+12
2020-05-26global-functions: add $WaitFullyConnectedGravatar Christian Hesse1-0/+12
2020-05-26global-functions: add $WaitDNSResolvingGravatar Christian Hesse1-0/+10
2020-05-26global-functions: add $DNSIsResolvingGravatar Christian Hesse1-0/+11
2020-05-17global-functions: $WaitTimeSync: replace comment with debug outputGravatar Christian Hesse1-1/+2
2020-05-17global-functions: $DownloadPackage: replace comment with debug outputGravatar Christian Hesse1-1/+1
2020-05-15global-functions: $MailServerIsUp: handle resolve errorsGravatar Christian Hesse1-1/+6
2020-05-15global-functions: $MailServerIsUp: remove duplicate defineGravatar Christian Hesse1-1/+0
2020-05-15global-functions: $MailServerIsUp: use prepared valueGravatar Christian Hesse1-1/+1
2020-05-15global-functions: $WaitTimeSync: run rotate-ntp less frequentlyGravatar Christian Hesse1-1/+1
2020-05-13global-functions: $WaitTimeSync: failing rotate-ntp is not fatalGravatar Christian Hesse1-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-04global-functions: $ScriptInstallUpdate: log when reloading codeGravatar Christian Hesse1-0/+2
2020-05-04global-functions: $DownloadPackage: support downloading bundleGravatar Christian Hesse1-1/+1
2020-04-24global-functions: $CertificateNameByCN: replace apostropheGravatar Christian Hesse1-1/+2
2020-04-22global-functions: add $WaitDefaultRouteReachableGravatar Christian Hesse1-0/+10
2020-04-22global-functions: add $DefaultRouteIsReachableGravatar Christian Hesse1-0/+9
2020-04-22global-functions: $TimeIsSync: unbreak with bundled ntp clientGravatar Christian Hesse1-3/+10
2020-04-07global-functions: $DownloadPackage: do not re-downloadGravatar Christian Hesse1-0/+5
2020-04-03global-functions: $SendTelegram: use $LogPrintExitGravatar Christian Hesse1-1/+1
2020-04-03global-functions: $SendEMail: use $LogPrintExitGravatar Christian Hesse1-1/+3
2020-04-03global-functions: $ScriptFromTerminal: use $LogPrintExitGravatar Christian Hesse1-1/+4
2020-04-03global-functions: $MailServerIsUp: use $LogPrintExitGravatar Christian Hesse1-1/+3
2020-04-03global-functions: $CertificateDownload: use $LogPrintExitGravatar Christian Hesse1-3/+4
2020-04-03global-functions: $CertificateAvailable: use $LogPrintExitGravatar Christian Hesse1-3/+6
2020-04-03global-functions: $SendTelegram: check status of certificate downloadGravatar Christian Hesse1-2/+5
2020-04-03global-functions: $GetMacVendor: check status of certificate downloadGravatar Christian Hesse1-3/+5
2020-04-03global-functions: $DownloadPackage: check status of certificate downloadGravatar Christian Hesse1-1/+4
2020-04-03global-functions: $Certificate{Available,Download}: return and check statusGravatar Christian Hesse1-2/+9
2020-04-01global-functions: $ScriptInstallUpdate: log and print changesGravatar Christian Hesse1-0/+2
2020-03-31global-functions: $SendTelegram: always return a valueGravatar Christian Hesse1-1/+1
... overwise it opens a prompt "value:".
2020-03-31global-functions: $SendEMail: always return a valueGravatar Christian Hesse1-1/+1
... overwise it opens a prompt "value:".
2020-03-31global-functions: $ScriptInstallUpdate: ignore empty scriptsGravatar Christian Hesse1-1/+1
Now that script-updates is gone we support installing new scripts with $ScriptInstallUpdate only.
2020-03-27ask for GitHub and GitLab starschange-16Gravatar Christian Hesse1-1/+1
2020-03-27Notify about new documentation!change-15Gravatar Christian Hesse1-1/+1
2020-03-27link global-{config,config-overlay,functions} to main READMEGravatar Christian Hesse1-0/+1
2020-03-23completely replace script-updates with $ScriptInstallUpdatechange-14Gravatar Christian Hesse1-3/+133
2020-03-20global-functions: introduce $MkDirGravatar Christian Hesse1-0/+18
This is a dirty hack... RouterOS does not support creating directories, so we mis-use http server and fetch tool.
2020-03-12add script 'global-wait'Gravatar Christian Hesse1-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-09global-functions: $DeviceInfo: more indentionGravatar Christian Hesse1-5/+5