aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-10-08update-tunnelbroker: add error handling for fetch commandGravatar Christian Hesse1-3/+7
2022-09-29backup-email: check if dependency for sending e-mail is installedGravatar Christian Hesse1-0/+4
2022-09-28global-functions: $ScriptInstallUpdate: disable notification only...Gravatar Christian Hesse1-16/+16
... if requested, but keep output and logs.
2022-09-28global-functions: $ScriptInstallUpdate: drop dead code...Gravatar Christian Hesse1-4/+1
2022-09-25global-functions: $ScriptInstallUpdate: drop code for permission workaroundGravatar Christian Hesse1-4/+1
This is no longer used as 'netwatch-syslog' is gone.
2022-09-25drop 'learn-mac-based-vlan' and 'manage-umts'Gravatar Christian Hesse3-46/+0
This was undocumented and scripts did never catch up with general quality expectations, for example global-config and global functions were not used. If you need the code get it from git history. 😜
2022-09-25drop 'netwatch-syslog'change-85Gravatar Christian Hesse5-52/+6
To filter in firewall you should use something like this: /ip/firewall/filter/add action=reject chain=output out-interface-list=WAN port=514 protocol=udp reject-with=icmp-admin-prohibited; /ip/firewall/filter/add action=reject chain=forward out-interface-list=WAN port=514 protocol=udp reject-with=icmp-admin-prohibited;
2022-09-25introduce 'mod/notification-email', split off from global-functionschange-84Gravatar Christian Hesse20-151/+240
2022-09-25global-functions: $FlushEmailQueue: do not flush if sendingGravatar Christian Hesse1-0/+5
2022-09-25Makefile: add a clean targetGravatar Christian Hesse1-0/+3
2022-09-21unattended-lte-firmware-upgrade: increase delay before extra resetGravatar Christian Hesse1-1/+1
2022-09-20netwatch-notify: use a counter for resolve failuresGravatar Christian Hesse1-5/+5
This should relax the error message a bit as it is not triggered on first failure.
2022-09-20global-functions: $GetMacVendor: detect locally administered addressesGravatar Christian Hesse1-0/+4
https://en.wikipedia.org/wiki/MAC_address#Universal_vs._local_(U/L_bit)
2022-09-15mod/notification-matrix: $FlushMatrixQueue: use $0 for scheduler nameGravatar Christian Hesse1-4/+4
2022-09-15mod/notification-telegram: $FlushTelegramQueue: use $0 for scheduler nameGravatar Christian Hesse1-4/+4
2022-09-15global-functions: $FlushEmailQueue: use $0 for scheduler nameGravatar Christian Hesse1-6/+6
2022-09-15global-functions: $FlushEmailQueue: do not flush with resolver issuesGravatar Christian Hesse1-0/+6
Flushing the mail queue with resolver issues can flood the log with messages like: e-mail;error Error sending e-mail <=?utf-8?Q?[MikroTik] =F0=9F=92=BE=E2=98=81 Cloud backup?=>: DNS resolve failed Try to avoid this...
2022-09-13netwatch-dns: support downloading / importing certificateGravatar Christian Hesse2-0/+16
2022-09-13doc/netwatch-dns: fix example command...Gravatar Christian Hesse1-1/+1
This broke with: * doc/netwatch-dns: giving hostname in comment is not required 9853943a365639f675fba0bb9c1d64b7edfd00d7
2022-09-13global-functions: $GetMacVendor: switched to Let's Encrypt (R3)Gravatar Christian Hesse2-167/+1
So let's check for the correct one, and drop the other.
2022-09-09global-functions: $ScriptInstallUpdate: prepare for future certificate chainGravatar Christian Hesse1-0/+4
2022-09-08Merge branch 'netwatch-notify' into nextGravatar Christian Hesse1-14/+19
2022-09-07netwatch-notify: do not (yet) notify if parent is up recentlyGravatar Christian Hesse1-1/+3
Monitoring a VPN (or similar) may be tricky: This used to send notifications if the physical connection recovered, but the VPN and/or its routing did not yet. Let's work around and send notification only if the parent is up for at least three checks.
2022-09-07netwatch-notify: add new array element to count up-checksGravatar Christian Hesse1-1/+4
2022-09-07netwatch-notify: rename array elementGravatar Christian Hesse1-10/+10
2022-09-07netwatch-notify: rename variableGravatar Christian Hesse1-8/+8
2022-09-07global-functions: introduce $GetRandom20CharAlNumGravatar Christian Hesse1-0/+8
2022-09-07global-functions: $GetRandom20CharHex: add optional parameter for lengthGravatar Christian Hesse1-1/+3
2022-09-07netwatch-notify: show dns name (resolve option) in messageGravatar Christian Hesse1-5/+7
2022-08-25global-config: add earth symbol in hello-world message for mode buttonGravatar Christian Hesse1-1/+1
2022-08-25global-functions: $SymbolByUnicodeName: add 'earth'Gravatar Christian Hesse1-0/+1
2022-08-22optimize all svg files...Gravatar Christian Hesse17-3142/+598
... and also update all version numbers to match current release.
2022-08-19cleanup dummy script from rotate-ntp removalGravatar Christian Hesse1-2/+0
2022-08-15check-health: increase default temperature deviationGravatar Christian Hesse1-1/+1
Some devices (with bad temperature sensort?) still product a flood of notifications... Try to avoid that.
2022-08-15logo: optimize the svg fileGravatar Christian Hesse1-121/+22
2022-08-05update list of contributorsGravatar Christian Hesse1-0/+1
2022-08-05global-functions: $GetRandomNumber: use :rndnumGravatar Michael Gisbers1-8/+2
This is available in RouterOS 7.x... Signed-off-by: Christian Hesse <mail@eworm.de>
2022-08-05global-functions: $GetRandom20CharHex: use :rndstrGravatar Michael Gisbers1-1/+1
This is available in RouterOS 7.x... Signed-off-by: Christian Hesse <mail@eworm.de>
2022-08-05unattended-lte-firmware-upgrade: try without extra resetGravatar Christian Hesse1-3/+9
Testing with R11e-LTE6 I can see the interface being reset by the upgrade. So the extra reset is no longer required? Trying without.
2022-08-04check-lte-firmware-upgrade: use $0 for $ScriptFromTerminalGravatar Christian Hesse1-2/+2
2022-07-21capsman-download-packages: use proper array syntaxGravatar Christian Hesse1-1/+1
2022-07-21global-functions: $IsTimeSync: cache a positive resultGravatar Christian Hesse1-0/+8
The functions do not rely on perfectly synced time. About the right time is fine, that should make sure certificates are valid and mails are sent with reasonable headers. So cache the result if system is fine for later use.
2022-07-21global-functions: $IsTimeSync: drop the extra condition...Gravatar Christian Hesse1-1/+1
... as ddns is not required to be enabled. The public address is available anyway, but not set in DNS.
2022-07-21global-functions: $IsTimeSync: drop old codeGravatar Christian Hesse1-8/+2
In RouterOS 7.x the ntp client and server are bundled and unique and can not be unavailable. Also it does no longer have a 'last-adjustment' property...
2022-07-21global-functions: $IsFullyConnected: remove trailing spaceGravatar Christian Hesse1-1/+1
2022-07-18check-routeros-update: use a better check for valid versionGravatar Christian Hesse1-4/+4
Currently the latest version in long-term branch is 0.0... And the script is sending downgrade notifications. 😝 Obviously that is not a valid version... With this changen a version has to be 7.0 and above to be considered valid.
2022-07-13Merge branch 'empty-array' into nextGravatar Christian Hesse19-30/+30
2022-07-13sms-forward: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13netwatch-notify: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13netwatch-dns: update initialization of empty arrayGravatar Christian Hesse1-2/+2
Having the parenthesis here is important for valid syntax!
2022-07-13mod/notification-telegram: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13mod/notification-matrix: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13mod/bridge-port-vlan: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13mod/bridge-port-to: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13log-forward: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13lease-script: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13global-functions: update initialization of empty arrayGravatar Christian Hesse1-7/+7
Having the parenthesis here is important for valid syntax!
2022-07-13daily-psk: update initialization of empty arrayGravatar Christian Hesse3-3/+3
Having the parenthesis here is important for valid syntax!
2022-07-13check-lte-firmware-upgrade: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13check-health: update initialization of empty arrayGravatar Christian Hesse1-2/+2
Having the parenthesis here is important for valid syntax!
2022-07-13backup-email: update initialization of empty arrayGravatar Christian Hesse1-1/+1
Having the parenthesis here is important for valid syntax!
2022-07-13accesslist-duplicates: update initialization of empty arrayGravatar Christian Hesse3-6/+6
Having the parenthesis here is important for valid syntax!
2022-07-11... and another oneGravatar Christian Hesse1-1/+1
2022-07-11give a heart for contributions ❤️Gravatar Christian Hesse1-1/+1
2022-07-11update list of contributorsGravatar Christian Hesse1-0/+1
2022-07-11netwatch-dns: properly check for disabled stateGravatar Christian Hesse1-2/+2
The property 'disabled' can be undefined, which evaluates to enabled - but is not matched by 'disabled=no'.
2022-07-11daily-psk: properly check for disabled stateGravatar Christian Hesse2-2/+2
The property 'disabled' can be undefined, which evaluates to enabled - but is not matched by 'disabled=no'.
2022-07-11check-routeros-update: drop check for package...Gravatar Christian Hesse1-6/+4
... as wireless package is bundled with the system with RouterOS 7.x.
2022-07-08update list of contributorsGravatar Christian Hesse1-0/+1
2022-07-07README: show a sample news and changes notificationGravatar Christian Hesse2-0/+208
2022-07-06global-config: new setting to disable news and change notifications...change-83Gravatar Christian Hesse8-25/+16
... and also drop the version from global-config and global-config-overlay.
2022-07-06global-config-overlay: update wordingGravatar Christian Hesse1-1/+1
2022-07-06Merge branch 'netwatch' into nextGravatar Christian Hesse9-53/+74
2022-07-06netwatch-dns: break long linesGravatar Christian Hesse1-3/+6
2022-07-06netwatch-notify: break long linesGravatar Christian Hesse1-22/+38
2022-07-06netwatch-notify: also support the name from propertyGravatar Christian Hesse1-1/+2
2022-07-06netwatch-notify: quote the host/service nameGravatar Christian Hesse3-9/+9
2022-07-06netwatch-notify: properly handle services (http-get & tcp-conn)Gravatar Christian Hesse3-19/+21
2022-07-06netwatch-notify: $NetwatchNotifyHook: rename variable: $Type -> $StateGravatar Christian Hesse1-6/+6
2022-07-06netwatch-notify: rename variable: $HostName -> $NameGravatar Christian Hesse1-13/+13
2022-07-06netwatch-notify: rename parameter: hostname -> namechange-82Gravatar Christian Hesse7-21/+23
Starting with RouterOS 7.4 the netwatch tool has been extended, it can now do tcp and http probes. Rename the parameter for reasonable naming with services.
2022-07-06netwatch-notify: properly check for disabled stateGravatar Christian Hesse1-1/+1
Looks like checking for 'disabled=no' fails with net netwatch in RouterOS 7.4...
2022-07-05doc/netwatch-dns: use default address for quad-nineGravatar Christian Hesse1-2/+2
2022-07-05doc/netwatch-dns: giving hostname in comment is not requiredGravatar Christian Hesse1-6/+6
2022-07-05mod/ipcalc: use $PrettyPrintGravatar Christian Hesse1-6/+7
2022-07-05mod/inspectvar: use $PrettyPrintGravatar Christian Hesse1-2/+2
2022-07-05global-functions: introduce function $PrettyPrintGravatar Christian Hesse1-0/+10
... to add trailing carriage return when printing to terminal: [admin@MikroTik] > $PrettyPrint [ $DeviceInfo ] Hostname: MikroTik Board name: hAP ac^2 Architecture: arm Model: RouterBOARD D52G-5HacD2HnD-TC Serial number: 8A2A09A221A1 RouterOS: Channel: testing Installed: 7.4rc1 RouterOS-Scripts: Current: 81
2022-07-05mod/ipcalc: remove empty lineGravatar Christian Hesse1-1/+0
2022-06-30mod/bridge-port-to: re-enable interfaces by idGravatar Christian Hesse1-7/+3
2022-06-30mod/bridge-port-vlan: re-enable interfaces by idGravatar Christian Hesse1-7/+3
2022-06-29mod/bridge-port-to: do not act on missing interfaceGravatar Christian Hesse1-2/+5
Happens on broken configuration or early boot...
2022-06-29mod/bridge-port-vlan: do not act on missing interfaceGravatar Christian Hesse1-2/+5
Happens on broken configuration or early boot...
2022-06-28README: How to remove a script...Gravatar Christian Hesse2-0/+12
2022-06-28global-functions: $ScriptInstallUpdate: remove script on failure when installingGravatar Christian Hesse1-1/+7
2022-06-20mod/notification-telegram: only flush queue if fully connectedGravatar Christian Hesse1-0/+6
The fetch command is not as reliable as it should be... Chances were that notifications were sent multiple times if stuck in background. Let's flush only if fully connected - and hope this fixes it.
2022-06-20mod/notification-matrix: only flush queue if fully connectedGravatar Christian Hesse1-0/+6
The fetch command is not as reliable as it should be... Chances were that notifications were sent multiple times if stuck in background. Let's flush only if fully connected - and hope this fixes it.
2022-06-20global-functions: introduce function $IsFullyConnectedGravatar Christian Hesse1-0/+19
2022-06-20global-functions: rename internal function: $TimeIsSync -> $IsTimeSyncGravatar Christian Hesse1-33/+33
2022-06-20global-functions: rename internal function: $DNSIsResolving -> $IsDNSResolvingGravatar Christian Hesse2-17/+17
2022-06-20global-functions: rename internal function: $DefaultRouteIsReachable -> ↵Gravatar Christian Hesse1-11/+11
$IsDefaultRouteReachable