aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-06-08global-functions: make Telegram notifications a modulechange-54Gravatar Christian Hesse5-160/+169
2021-06-08global-functions: implement notifications via Matrixchange-53Gravatar Michael Gisbers15-18/+186
Matrix is an open network for secure, decentralized communication - and it has a web api. A warning on message type: Using 'm.notice' breaks rendering on Element for Android (no fixed width font) and does not pop up desktop notification. Thus we use 'm.text'. Should be safe as we do not send the messages in response to other messages. https://matrix.org/
2021-06-08global-functions: make notification functions extensibleGravatar Christian Hesse1-133/+159
This allows to add notification functions without overloading functions. Just add it into the array: :set ($NotificationFunctions->"fancy-messager") do={ # notification magic here... } Adding functions $SendFancyMessager and/or $SendFancyMessager2 may be useful. Optionally a function to flush a queue may be required. A BIG FAT WARNING about function parameters: Calling a function from array results in $0 for the function name being skipped. That's why we have to add the function name manually!
2021-06-08global-functions: $ScriptInstallUpdate: drop the re-run messageGravatar Christian Hesse1-5/+0
This makes sense just rarely... For important changes we have the migration mechanism. So just drop this.
2021-06-08global-functions: $ScriptInstallUpdate: reload configuration laterGravatar Christian Hesse1-7/+12
2021-06-08global-functions: $ScriptInstallUpdate: reload functions just onceGravatar Christian Hesse1-6/+11
2021-06-08global-functions: support loading modulesGravatar Christian Hesse1-1/+6
If script's name starts with "global-functions.d/" it is handled as module: * loaded at startup * triggers reload on update
2021-06-08INITIAL-COMMANDS: make github copy function workGravatar Christian Hesse1-3/+3
The Github copy function skips all line breaks, so add some extra semicolons to fix syntax.
2021-06-06update list of contributorsGravatar Christian Hesse1-0/+1
2021-05-26Makefile: remove extra whitespaceGravatar Christian Hesse1-1/+1
2021-05-24ipv6-update: apply a mask on prefixGravatar Christian Hesse1-1/+1
Fixes #11
2021-05-21check-certificates: fix variable nameGravatar Christian Hesse1-1/+1
2021-05-19global-functions: $DownloadPackage: quote package nameGravatar Christian Hesse1-2/+2
2021-05-18netwatch-notify: add info on hook in notificationGravatar Christian Hesse1-8/+12
2021-05-18Merge branch 'lets-encrypt-ISRG-X1' into nextGravatar Christian Hesse7-94/+10
2021-05-18update Let's Encrypt trust chainchange-52Gravatar Christian Hesse4-3/+5
Drop 'DST Root CA X3', use 'ISRG Root X1' instead. The migration code makes sure that... * the intermediate certificate 'R3' is signed by 'ISRG Root X1' * 'ISRG Root X1' is self-signed, not cross-signed by 'DST Root CA X3' * 'DST Root CA X3' is finally gone
2021-05-18drop certificate DST Root CA X3Gravatar Christian Hesse3-91/+5
Let's Encrypt planned the transition to ISRG's root certificate ("ISRG Root X1") on July 8, 2019, but postponed several times. Finally they found another solution: A certificate 'ISRG Root X1', but cross-signed with 'DST Root CA X3' and with a livetime that exceeds that of the root CA. This is said to work for most operating system where root certificate authorities are just 'trust anchors'. I doubt this is true for RouterOS, where certificates are just imported into the certificate store. So let's migrate to 'ISRG Root X1' now.
2021-05-17add 'ipsec-to-dns'change-51Gravatar Christian Hesse8-3/+120
2021-05-17dhcp-to-dns: use $0 in stringsGravatar Christian Hesse1-2/+2
2021-05-17dhcp-to-dns: put string into variableGravatar Christian Hesse1-4/+5
2021-05-07README: use svg logoGravatar Christian Hesse1-1/+1
2021-05-07logo: clean png exportGravatar Christian Hesse1-0/+0
2021-05-07logo: convert text to pathGravatar Christian Hesse1-24/+35
2021-05-07logo: scale to 96x96 pixelsGravatar Christian Hesse1-18/+22
2021-05-06Merge branch 'netwatch-notify' into nextGravatar Christian Hesse6-5/+50
2021-05-06netwatch-notify: log failed resolve just onceGravatar Christian Hesse1-2/+7
2021-05-06netwatch-notify: attempt to update address with working resolver onlyGravatar Christian Hesse1-1/+2
2021-05-06netwatch-notify: support dynamic address updatechange-50Gravatar Christian Hesse6-3/+28
2021-05-06netwatch-notify: log on host up...Gravatar Christian Hesse1-2/+4
... if logged on host down before.
2021-05-05doc/netwatch-notify: tips & tricks: one of several hostsGravatar Christian Hesse1-0/+12
2021-05-03doc: inform about dependency on base installationGravatar Christian Hesse31-0/+93
That should make the documentation clearer if external sites link to the documentation of a specific script.
2021-05-03update list of contributorsGravatar Christian Hesse1-0/+1
2021-04-29upload-backup: add second symbolGravatar Christian Hesse2-1/+2
2021-04-29email-backup: add second symbolGravatar Christian Hesse1-1/+2
2021-04-29cloud-backup: add second symbolGravatar Christian Hesse2-1/+2
2021-04-29email-backup: add symbol in e-mailGravatar Christian Hesse1-1/+2
That's easy now that we use $SendEMail2...
2021-04-29email-backup: use $SendEMail2change-49Gravatar Christian Hesse6-23/+15
This drops $EmailBackupTo & $EmailBackupCc from settings! Use settings overwrite if required: :global EmailGeneralToOverride { "email-backup"="backup@example.com"; }
2021-04-29global-functions: $SendEMail2: support file attachmentsGravatar Christian Hesse1-3/+5
2021-04-29email-backup: work inside directoryGravatar Christian Hesse1-6/+12
2021-04-29upload-backup: work inside directoryGravatar Christian Hesse1-6/+12
2021-04-29capsman-rolling-upgrade: properly handle vanished capGravatar Christian Hesse1-2/+6
2021-04-29packages-update: update wordingGravatar Christian Hesse1-1/+1
2021-04-29packages-update: add missing colonGravatar Christian Hesse1-1/+1
2021-04-29global-functions: $DownloadPackage: be more verboseGravatar Christian Hesse1-2/+4
2021-04-29global-functions: $DownloadPackage: fix typoGravatar Christian Hesse1-1/+1
2021-04-29global-functions: $FlushEmailQueue: try to avoid running simultaneouslyGravatar Christian Hesse1-1/+3
We can not check the status for a *specific* mail, so running simultaneously is a problem. Let's increase the interval to the number of queue items - and hope it helps. Decrease when done.
2021-04-28Merge branch 'notifications' into nextGravatar Christian Hesse19-139/+205
2021-04-28global-functions: notify about settings overridechange-48Gravatar Christian Hesse4-3/+4
2021-04-28global-config: comment on overriding e-mail and Telegram settingsGravatar Christian Hesse1-0/+7
2021-04-28upload-backup: pass origin to $SendNotification2Gravatar Christian Hesse1-1/+2
2021-04-28sms-forward: pass origin to $SendNotification2Gravatar Christian Hesse1-1/+2
2021-04-28netwatch-notify: pass origin to $SendNotification2Gravatar Christian Hesse1-2/+4
2021-04-28log-forward: pass origin to $SendNotification2Gravatar Christian Hesse1-1/+2
2021-04-28daily-psk: pass origin to $SendNotification2Gravatar Christian Hesse3-3/+6
2021-04-28collect-wireless-mac: pass origin to $SendNotification2Gravatar Christian Hesse3-3/+6
2021-04-28cloud-backup: pass origin to $SendNotification2Gravatar Christian Hesse1-2/+4
2021-04-28check-routeros-update: pass origin to $SendNotification2Gravatar Christian Hesse1-5/+10
2021-04-28check-lte-firmware-upgrade: pass origin to $SendNotification2Gravatar Christian Hesse1-1/+2
2021-04-28check-health: pass origin to $SendNotification2Gravatar Christian Hesse1-5/+10
2021-04-28check-certificates: pass origin to $SendNotification2Gravatar Christian Hesse1-2/+4
2021-04-28global-functions: $ScriptInstallUpdate: pass origin to $SendNotification2Gravatar Christian Hesse1-2/+3
2021-04-28global-functions: $SendTelegram2: support overriding token id and chat idGravatar Christian Hesse1-7/+7
2021-04-28global-functions: $SendTelegram2: store token id in queueGravatar Christian Hesse1-4/+3
2021-04-28global-functions: $SendEMail2: support overriding to and ccGravatar Christian Hesse1-2/+8
2021-04-28global-functions: introduce $EitherOrGravatar Christian Hesse1-0/+11
2021-04-28upload-backup: use $SendNotification2Gravatar Christian Hesse1-5/+5
2021-04-28sms-forward: use $SendNotification2Gravatar Christian Hesse1-4/+4
2021-04-28netwatch-notify: use $SendNotification2Gravatar Christian Hesse1-6/+6
2021-04-28log-forward: use $SendNotification2Gravatar Christian Hesse1-6/+6
2021-04-28daily-psk: use $SendNotification2Gravatar Christian Hesse3-12/+12
2021-04-28collect-wireless-mac: use $SendNotification2Gravatar Christian Hesse3-12/+12
2021-04-28cloud-backup: use $SendNotification2Gravatar Christian Hesse1-6/+6
2021-04-28check-routeros-update: use $SendNotification2Gravatar Christian Hesse1-16/+16
2021-04-28check-lte-firmware-upgrade: use $SendNotification2Gravatar Christian Hesse1-7/+7
2021-04-28check-health: use $SendNotification2Gravatar Christian Hesse1-14/+14
2021-04-28check-certificates: use $SendNotification2Gravatar Christian Hesse1-7/+7
2021-04-28global-functions: $ScriptInstallUpdate: use $SendNotification2Gravatar Christian Hesse1-3/+3
2021-04-28global-functions: introduce $SendEMail2, $SendNotification2 & $SendTelegram2Gravatar Christian Hesse1-27/+42
These accept just one array as argument. Adding new features is possible without breaking the API. These calls are the same for now: $SendNotification "Subject..." "Message..."; $SendNotification2 ({ subject="Subject..."; message="Message..." }); But the latter will bring more features in future.
2021-04-28README: add logoGravatar Christian Hesse1-0/+2
2021-04-28add logoGravatar Christian Hesse2-0/+107
This should be displayed by Gitlab now... Also it is the logo we use for the Telegram group.
2021-04-27check-routeros-update: be verbose when run from terminal onlyGravatar Christian Hesse1-1/+1
2021-04-26global-functions: $LogPrintExit: add deprecation warningGravatar Christian Hesse1-0/+1
2021-04-26check-routeros-update: silence check-for-updates, but be more verboseGravatar Christian Hesse1-1/+6
2021-04-12update list of contributorsGravatar Christian Hesse1-0/+1
2021-03-21global-functions: CertificateDownload: silence certificate importGravatar Christian Hesse1-1/+1
2021-03-21check-certificates: silence certificate importGravatar Christian Hesse1-1/+1
2021-03-21check-certificates: be more verbose when attempting to renewGravatar Christian Hesse1-0/+1
2021-03-17log-forward: use $EscapeForRegExGravatar Christian Hesse1-4/+4
2021-03-17global-functions: introduce $EscapeForRegExGravatar Christian Hesse1-0/+23
2021-03-15log-forward: filter e-mail error on log forwarding in script...Gravatar Christian Hesse2-4/+12
... and update the filter in global configuration.
2021-03-11log-forward: update filter to match mail with quoted-printable encodingGravatar Christian Hesse1-1/+1
2021-03-10global-functions: $CertificateAvailable: use pre-test loopGravatar Christian Hesse1-2/+2
This is required to test for root CA (without intermediate) directly.
2021-03-04log-forward: list messages with 'black circle'Gravatar Christian Hesse1-2/+3
2021-03-04log-forward: skip multi-repeated messagesGravatar Christian Hesse1-4/+15
2021-03-04global-functions: $ScriptInstallUpdate: run migration unconditionallyGravatar Christian Hesse1-41/+52
We want the migration to run even if the notification is disabled.
2021-03-04global-config-overlay: remove magicGravatar Christian Hesse4-9/+3
This allows to drop the ignore flag.
2021-03-03global-functions: $DNSIsResolving: have a final returnGravatar Christian Hesse1-1/+1
2021-03-03global-functions: introduce and use $QuotedPrintableGravatar Christian Hesse1-2/+41
Some mail clients do not like unencoded utf-8 in subject... Let's encode in quoted-printable to fix.
2021-03-03global-functions: $UrlEncode: simplify codeGravatar Christian Hesse1-14/+15
2021-02-26global-functions: $ValidateSyntax: add line breaksGravatar Christian Hesse1-1/+1
This makes sure the closing curly bracket is not hidden in comment.