aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2020-03-12add 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; } Gravatar Christian Hesse3-2/+17
2020-03-09check-health: add encoded degree signGravatar Christian Hesse1-2/+2
2020-03-09hotspot-to-wpa: unbreak optionsGravatar Christian Hesse1-1/+1
2020-03-09global-functions: $DeviceInfo: more indentionGravatar Christian Hesse1-5/+5
2020-03-05script-updates: also consider scripts with empty source for updateGravatar Christian Hesse1-1/+1
2020-03-05netwatch-notify: add loggingGravatar Christian Hesse1-0/+4
2020-03-05netwatch-notify: fix handling of array•••Looks like handling of more-dimensional arrays is a bit tricky in RouterOS... Without this *all* values with the same key name are updated, independent of intermediate name. Gravatar Christian Hesse1-8/+10
2020-03-05global-functions: $SendEMail: invert conditionGravatar Christian Hesse1-11/+13
2020-03-05global-functions: $SendTelegram: invert conditionGravatar Christian Hesse1-10/+12
2020-03-05global-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;" Gravatar Christian Hesse1-2/+8
2020-03-05rotate-ntp: use $LogPrintExitGravatar Christian Hesse1-2/+4
2020-03-05bridge-port-to-default: use $LogPrintExit for debugGravatar Christian Hesse1-1/+1
2020-03-05always use severity 'warning', not just 'warn'Gravatar Christian Hesse4-5/+5
2020-03-05hotspot-to-wpa: use $LogPrintExit and add more loggingGravatar Christian Hesse1-1/+6
2020-03-05check-routeros-update: use $LogPrintExitGravatar Christian Hesse1-5/+4
2020-03-05check-certificates: use $LogPrintExit for debugGravatar Christian Hesse1-5/+5
2020-03-05script-updates: use $LogPrintExit for debugGravatar Christian Hesse1-4/+4
2020-03-05dhcp-to-dns: fix value in messageGravatar Christian Hesse1-1/+1
2020-03-05dhcp-to-dns: use $LogPrintExitGravatar Christian Hesse1-7/+8
2020-03-05dhcp-lease-comment: use $LogPrintExitGravatar Christian Hesse3-3/+9
2020-03-05daily-psk: use $LogPrintExitGravatar Christian Hesse3-8/+11
2020-03-05collect-wireless-mac: use $LogPrintExitGravatar Christian Hesse3-12/+15
2020-03-05netwatch-notify: properly initialize default valuesGravatar Christian Hesse1-1/+1
2020-03-05global-functions: $LogPrintExit: add debugging optionGravatar Christian Hesse1-7/+12
2020-03-04netwatch-notify: use another level of arrayGravatar Christian Hesse1-6/+11
2020-03-04add script netwatch-notifyGravatar Christian Hesse1-0/+34
2020-03-03bridge-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-13Gravatar Christian Hesse5-7/+8
2020-03-03bridge-port-to-default: use $LogPrintExitGravatar Christian Hesse1-3/+5
2020-02-28global-functions: sort alphabeticallyGravatar Christian Hesse17-313/+312
2020-02-27global-functions: $ScriptLock: use $LogPrintExitGravatar Christian Hesse1-2/+3
2020-02-26global-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. Gravatar Christian Hesse13-56/+56
2020-02-26packages-update: use $LogAndErrorGravatar Christian Hesse1-6/+3
2020-02-26check-certificates: use $LogAndPutGravatar Christian Hesse1-2/+3
2020-02-26check-certificates: use $LogAndErrorGravatar Christian Hesse1-2/+1
2020-02-26script-updates: use $LogAndPutGravatar Christian Hesse1-6/+7
2020-02-26global-functions: introduce $LogAndPutGravatar Christian Hesse1-0/+10
2020-02-26global-functions: $LogAndError: add severityGravatar Christian Hesse12-15/+16
2020-02-26hotspot-to-wpa: automatically add missing access-list entryGravatar Christian Hesse1-4/+4
2020-02-26upload-backup: use $LogAndErrorGravatar Christian Hesse1-2/+2
2020-02-26update-tunnelbroker: use $LogAndErrorGravatar Christian Hesse1-2/+2
2020-02-26email-backup: use $LogAndErrorGravatar Christian Hesse1-2/+2
2020-02-26ipv6-update: use $LogAndErrorGravatar Christian Hesse1-2/+2
2020-02-26check-certificates: use $LogAndErrorGravatar Christian Hesse1-2/+2
2020-02-26lease-script: use $LogAndErrorGravatar Christian Hesse1-2/+3
2020-02-26sms-action: use $LogAndErrorGravatar Christian Hesse1-2/+3
2020-02-26ppp-on-up: use $LogAndErrorGravatar Christian Hesse1-2/+3
2020-02-26check-routeros-update: use $LogAndErrorGravatar Christian Hesse1-4/+3
2020-02-26packages-update: use $LogAndErrorGravatar Christian Hesse1-2/+2
2020-02-26sms-forward: use $LogAndErrorGravatar Christian Hesse1-2/+2
2020-02-24global-functions: introduce $LogAndErrorGravatar Christian Hesse1-0/+9
2020-02-24bridge-port-to-default: drop delay•••Now that we expect the scheduler to have a delay and script-updates warning about it... Gravatar Christian Hesse1-7/+0
2020-02-24script-updates: warn on scheduler at startup with no intervalGravatar Christian Hesse1-0/+7
2020-02-24drop script 'daily-psk-schedule'•••We have some useful functions that can replace the functionality. Just add a schedule like this: add name=daily-psk-startup on-event=":delay 1s; :global WaitTimeSync; \$WaitTimeSync; / system script run daily-psk.local;" start-time=startup Gravatar Christian Hesse1-28/+0
2020-02-24global-functions: $WaitTimeSync: rotate ntp servers minutely•••Signed-off-by: Christian Hesse <mail@eworm.de> Gravatar Christian Hesse1-0/+4
2020-02-24global-functions: introduce $WaitTimeSyncGravatar Christian Hesse1-0/+10
2020-02-24check-certificates: check for synced timeGravatar Christian Hesse1-0/+6
2020-02-24daily-psk-schedule: use $TimeIsSyncGravatar Christian Hesse1-5/+3
2020-02-24global-functions: introduce $TimeIsSyncGravatar Christian Hesse1-0/+16
2020-02-24daily-psk-schedule: use $MailServerIsUpGravatar Christian Hesse1-1/+3
2020-02-24sms-forward: use $MailServerIsUpGravatar Christian Hesse1-1/+2
2020-02-24global-functions: introduce $MailServerIsUpGravatar Christian Hesse1-0/+22
2020-02-06check-certificates: rename all certificates by their common namesGravatar Christian Hesse1-0/+5
2020-02-06global-functions: introduce and use $CertificateNameByCNGravatar Christian Hesse1-2/+13
2020-02-05script-updates: prefix variable name with dollarGravatar Christian Hesse1-1/+1
2020-02-04global-config: drop $ScriptUpdatesConfigChangesIgnore•••Comment or remove $GlobalConfigVersion in global-config-overlay to disable change notifications. change-12Gravatar Christian Hesse5-8/+6
2020-02-03global-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. Gravatar Christian Hesse1-2/+1
2020-02-03global-config-overlay: add footer•••... to guard against truncation by accident. Gravatar Christian Hesse1-0/+2
2020-02-02global-functions: $CertificateAvailable: simplify loopGravatar Christian Hesse1-4/+4
2020-01-29README: update instructions to use $ScriptInstallUpdatechange-11Gravatar Christian Hesse5-10/+13
2020-01-29script-updates: only handle scripts with magic pattern•••This is supposed to prevent overwriting foreign scripts. New scripts are expected to be installed with function $ScriptInstallUpdate! Gravatar Christian Hesse1-1/+1
2020-01-29global-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][,...] Gravatar Christian Hesse1-0/+14
2020-01-29global-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. Gravatar Christian Hesse1-0/+12
2020-01-29global-functions: $CertificateAvailable: warn about crl download to flash•••Downloading certificate crls to flash can fill up all available space. So warn about it! Gravatar Christian Hesse1-0/+6
2020-01-28update-tunnelbroker: replace deprecated keep-result=no with output=noneGravatar Christian Hesse1-1/+1
2020-01-28gps-track: replace deprecated keep-result=no with output=noneGravatar Christian Hesse1-1/+1
2020-01-28global-functions: replace deprecated keep-result=no with output=noneGravatar Christian Hesse1-1/+1
2020-01-24check-health: never divide, always multiply•••With RouterOS we have integral numbers only. This prevent from having friction that is cut off. Gravatar Christian Hesse1-2/+2
2020-01-24check-health: always calculate on the lower voltage value•••This makes sure an alert is triggered in both directions. Before we could have: 24.0V to 21.8V -> OK 21.8V to 24.0V -> Alert! Gravatar Christian Hesse1-1/+1
2020-01-17collect-wireless-mac: automatically add missing access-list entryGravatar Christian Hesse3-12/+12
2020-01-16check-routeros-update: do not act if reboot is scheduledGravatar Christian Hesse1-0/+4
2020-01-06mode-button-scheduler: give proper message if no action definedGravatar Christian Hesse1-9/+13
2020-01-06global-functions: $CertificateDownload: properly name new certificatesGravatar Christian Hesse1-0/+5
2020-01-06collect-wireless-mac: use dynamic & bound mac address onlyGravatar Christian Hesse3-3/+3
2020-01-06dhcp-lease-comment: act on bound leases onlyGravatar Christian Hesse3-3/+3
2020-01-06dhcp-to-dns: act on bound leases onlyGravatar Christian Hesse1-4/+4
2020-01-03global-functions: do not encode dash, dot, slash and underscoreGravatar Christian Hesse1-4/+3
2020-01-03global-functions: $Certificate*: add quoting around CNGravatar Christian Hesse1-2/+2
2020-01-03global-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. Gravatar Christian Hesse1-17/+28
2020-01-01update copyright for 2020Gravatar Christian Hesse55-55/+55
2019-12-20packages-update: improve wordingGravatar Christian Hesse1-1/+1
2019-12-10global-functions: define first, set laterGravatar Christian Hesse1-16/+34
2019-12-05global-functions: $DownloadPackage: retry on errorGravatar Christian Hesse1-12/+17
2019-12-05packages-update: lock against multiple invocationGravatar Christian Hesse1-0/+3
2019-12-05capsman-rolling-upgrade: lock against multiple invocationGravatar Christian Hesse1-0/+4
2019-12-05capsman-download-packages: lock against multiple invocationGravatar Christian Hesse1-1/+4
2019-12-04packages-update: skip the interactive part of non-terminalGravatar Christian Hesse1-14/+17
2019-12-03check-routeros-update: use $ScriptFromTerminalGravatar Christian Hesse1-1/+2
2019-12-03global-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. Gravatar Christian Hesse1-0/+18
2019-12-03ipv6-update: calculate address with bitwise operator•••Support for bitwise operator was added in RouterOS 6.46beta38. routeros-6.46beta38Gravatar Christian Hesse1-8/+5
2019-12-03hotspot-to-wpa: get limits from place-before-entryGravatar Christian Hesse1-2/+11