aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2023-01-02.gitignore: ignore files created by patch commandGravatar Christian Hesse1-1/+3
2023-01-02.gitignore: add commentsGravatar Christian Hesse1-0/+5
2023-01-02backup-upload: keep floppy emoji for failureGravatar Christian Hesse1-1/+1
2023-01-02backup-cloud: keep floppy emoji for failureGravatar Christian Hesse1-1/+1
2023-01-02update copyright for 2023Gravatar Christian Hesse62-62/+62
2022-12-19README: RouterOS v7 path syntax•••Missed one in b6ddc5968e7a3393bb6e9b0c0ccf96379efc62b4... Gravatar Christian Hesse1-1/+1
2022-12-13backup-upload: switch path to tmpfsGravatar Christian Hesse1-2/+3
2022-12-13backup-email: switch path to tmpfsGravatar Christian Hesse1-2/+3
2022-12-13backup-upload: create directory laterGravatar Christian Hesse1-4/+4
2022-12-13backup-email: create directory laterGravatar Christian Hesse1-4/+4
2022-12-13global-functions: $MkDir: create a tmpfs (RAM disk)...•••... if the path starts with "tmpfs/". This helps to mitigate flash wear. routeros-7.7rc1Gravatar Christian Hesse1-0/+10
2022-12-13global-functions: $MkDir: create directories recursivelyGravatar Christian Hesse1-14/+30
2022-12-13global-functions: $MkDir: rename internal variableGravatar Christian Hesse1-10/+10
2022-12-13global-functions: $MkDir: fail if non-directory path existsGravatar Christian Hesse1-0/+5
2022-12-12global-functions: check RouterOS version before loading modulesGravatar Christian Hesse1-3/+3
2022-12-06global-functions: $SymbolByUnicodeName: append variation selector-16...•••... to specify that the preceding character should be displayed with emoji presentation. https://unicode-table.com/en/FE0F/ Gravatar Christian Hesse1-1/+1
2022-11-29global-functions: introduce $IsMacLocallyAdministered...•••... and use it in $GetMacVendor. Gravatar Christian Hesse1-1/+11
2022-11-25netwatch-notify: support type https-get•••... which was introduced in RouterOS 7.7beta8. routeros-7.7beta8Gravatar Christian Hesse1-1/+1
2022-11-22global-functions: $IsTimeSync: no cloud on x86Gravatar Christian Hesse1-2/+3
2022-11-22global-functions: $IsTimeSync: no cloud with CHR free licenseGravatar Christian Hesse1-0/+5
2022-11-22doc/mod/notification-email: mention correct timeGravatar Christian Hesse1-0/+2
2022-11-22mod/notification-email: put status in scheduler commentGravatar Christian Hesse1-4/+4
2022-11-22mod/notification-email: set scheduler interval earlier•••... to make sure the checks are not re-run every second. Gravatar Christian Hesse1-0/+4
2022-11-22mod/notification-email: reference scheduler from variableGravatar Christian Hesse1-4/+5
2022-11-22global-functions: $ScriptLock: use shorter random string•••... but with all characters from alphabet with $GetRandom20CharAlNum. Gravatar Christian Hesse1-2/+2
2022-11-22global-functions: $MkDir: use shorter random string•••... but with all characters from alphabet with $GetRandom20CharAlNum. Gravatar Christian Hesse1-2/+2
2022-11-17README: link to Github pull requestsGravatar Christian Hesse1-1/+3
2022-11-17mod/notification-email: make sure the scheduler interval is never zeroGravatar Christian Hesse1-1/+1
2022-11-17mod/notification-email: check that attachment existsGravatar Christian Hesse1-1/+8
2022-11-17mod/notification-email: convert to array earlierGravatar Christian Hesse1-2/+2
2022-11-17mod/notification-email: fix typoGravatar Christian Hesse1-1/+1
2022-10-31README: copy *relevant* configuration onlyGravatar Christian Hesse3-2/+2
2022-10-21netwatch-notify: cache the result•••If this script runs from terminal this will not change... 😜 So cache the result. Co-authored-by: Michael Gisbers <michael@gisbers.de> Gravatar Christian Hesse1-1/+3
2022-10-21netwatch-notify: always show messages when run from terminal•••Co-authored-by: Christian Hesse <mail@eworm.de> Gravatar Michael Gisbers1-1/+3
2022-10-21netwatch-notify: stop flooding the log after down notification•••This will now log all messages before notification, and every two hours (or scheduler interval * 120) after. Gravatar Christian Hesse1-5/+7
2022-10-20Merge branch 'notifications' into next•••These are generated with my 'RouterOS-Scripts Notification Generator': https://eworm.de/ros/notification/ Gravatar Christian Hesse46-666/+17
2022-10-20doc/sms-forward: update notification•••---- ✂️ ---- 📨 SMS Forwarding from 7277 Received this message by MikroTik from 7277: On oct/17/2022 13:44:10 GMT -0 type class-0: Welcome to our network! ---- ✂️ ---- Gravatar Christian Hesse3-37/+1
2022-10-20doc/netwatch-notify: update notifications•••---- ✂️ ---- ❌ Netwatch Notify: example.com down The host 'example.com' (93.184.216.34) is down since oct/19/2022 16:27:03. ---- ✂️ ---- ✅ Netwatch Notify: example.com up The host 'example.com' (93.184.216.34) is up since oct/19/2022 17:03:00. It was down for 6 checks since oct/19/2022 16:27:03. ---- ✂️ ---- Gravatar Christian Hesse5-71/+2
2022-10-20doc/log-forward: update notification•••---- ✂️ ---- ⚠️ Log Forwarding The log on MikroTik contains these 3 messages after 6d23:55:18 uptime. ● 13:24:02 script;error backup-cloud: Failed uploading backup for MikroTik to cloud! ● 13:24:17 system;info;account user admin logged in from 192.168.88.177 via ssh ● 13:24:57 system;info;account user admin logged out from 192.168.88.177 via ssh ---- ✂️ ---- Gravatar Christian Hesse3-38/+1
2022-10-20doc/daily-psk: update notification•••---- ✂️ ---- 📅 daily PSK Guest-Wifi This is the daily PSK on MikroTik: SSID: Guest-Wifi PSK: S3cr3tStr1ng Date: oct/18/2022 A client device specific rule must not exist! 🔗 https://www.eworm.de/cgi-bin/cqrlogo-wifi.cgi?scale=8&level=1&ssid=Guest-Wifi&pass=S3cr3tStr1ng ---- ✂️ ---- Gravatar Christian Hesse3-41/+1
2022-10-20doc/collect-wireless-mac: update notification•••---- ✂️ ---- 📱 48:F1:7F:D0:E5:4E connected to Wifi A device with unknown MAC address connected to Wifi on MikroTik. Controller: MikroTik Interface: wl5-wifi SSID: Wifi MAC: 48:F1:7F:D0:E5:4E Vendor: Intel Corporate Hostname: host-523c8e0e Address: 192.168.20.254 DNS name: host-523c8e0e.dhcp.MikroTik.example.com Date: oct/20/2022 09:21:56 ---- ✂️ ---- Gravatar Christian Hesse3-45/+1
2022-10-20doc/check-routeros-update: update notification•••---- ✂️ ---- ✨ RouterOS update A new RouterOS version 7.6 is available for MikroTik. Hostname: MikroTik Board name: CHR Architecture: x86_64 RouterOS: Channel: stable Installed: 7.5 Available: 7.6 RouterOS-Scripts: Version: 85 🔗 https://mikrotik.com/download/changelogs/stable-release-tree ---- ✂️ ---- Gravatar Christian Hesse3-46/+1
2022-10-20doc/check-lte-firmware-upgrade: update notification•••---- ✂️ ---- ✨ LTE firmware upgrade A new firmware version R11e-LTE6_V033 is available for LTE interface lte on MikroTik. Interface: MikroTik R11e-LTE6 Installed: R11e-LTE6_V027 Available: R11e-LTE6_V033 ---- ✂️ ---- Gravatar Christian Hesse3-39/+1
2022-10-20doc/check-health: update notifications•••---- ✂️ ---- ⚡📉 Health warning: voltage The voltage on MikroTik jumped more than 10%. old value: 16.2V new value: 12.4V ---- ✂️ ---- 🔥 Health warning: temperature The temperature on MikroTik is above threshold: 51°C ---- ✂️ ---- ✅ Health recovery: temperature The temperature on MikroTik dropped below threshold: 47°C ---- ✂️ ---- ❌ Health warning: psu1-state The power supply unit 'psu1-state' on MikroTik failed! ---- ✂️ ---- ✅ Health recovery: psu1-state The power supply unit 'psu1-state' on MikroTik recovered! ---- ✂️ ---- Gravatar Christian Hesse11-173/+5
2022-10-20doc/check-certificates: update notification•••---- ✂️ ---- 🔏 Certificate renewed A certificate on MikroTik has been renewed. Name: example.com CommonName: example.com Private key: available Fingerprint: cc54cdd01fcd7698ecb71213874be776906eb33d26cd57754d168632f14c4c8b Issuer: R3 Validity: sep/08/2022 03:50:56 to dec/07/2022 03:50:55 Expires in: 8w 3d 12:03:30 ---- ✂️ ---- Gravatar Christian Hesse3-42/+1
2022-10-20doc/backup-upload: update notification•••---- ✂️ ---- 💾⬆️ Backup & Config upload Backup and config export upload for MikroTik. Hostname: MikroTik Board name: CHR Architecture: x86_64 RouterOS: Channel: stable Installed: 7.6 RouterOS-Scripts: Version: 85 Backup file: MikroTik_example_com.backup Config file: MikroTik_example_com.rsc ---- ✂️ ---- Gravatar Christian Hesse3-46/+1
2022-10-20doc/backup-cloud: update notification•••---- ✂️ ---- 💾☁️ Cloud backup Uploaded backup for MikroTik to cloud. Hostname: MikroTik Board name: CHR Architecture: x86_64 RouterOS: Channel: stable Installed: 7.6 RouterOS-Scripts: Version: 85 Name: cloud-20221020-092419 Size: 370767 B (362 KiB) Download key: LLDBfPcWXxmSetWilqeJX5V ---- ✂️ ---- Gravatar Christian Hesse3-47/+1
2022-10-20README: update notification•••---- ✂️ ---- 📌 News and configuration changes The configuration version on MikroTik increased to 85, current configuration may need modification. Please review and update global-config-overlay, then re-run global-config. Changes: ● Support for e-mail notifications moved to a module. It is installed automatically if required. ● Dropped 'netwatch-syslog', filtering in firewall is advised. ---- ✂️ ---- Gravatar Christian Hesse3-41/+1
2022-10-19mod/notification-telegram: drop 'Telegram' from wordingGravatar Christian Hesse1-1/+1
2022-10-19firmware-upgrade-reboot: update wording, give versionGravatar Christian Hesse1-1/+2
2022-10-19ipsec-to-dns: strip "CN=" from peer's idrouteros-7.6-2Gravatar Christian Hesse1-2/+3
2022-10-19ipsec-to-dns: remove debug output•••Oops... 😳 This sneaked in with initial commit 862417b8d32f6eef1c05ba9137fe2a7f14436987 ("add 'ipsec-to-dns'"). Gravatar Christian Hesse1-2/+0
2022-10-18update-gre-address: strip "CN=" from peer's id•••The prefix "CN=" is now added in RouterOS 7.6... Let's match with and without the prefix in comment. routeros-7.6-1Gravatar Christian Hesse1-1/+2
2022-10-14netwatch-notify: fix the count...•••This broke in commit 6f772e92a616acb15bdef8ab7b7bfdb9d002bfeb ("netwatch-notify: rename array element") where not only the array element but also the option was renamed. Gravatar Christian Hesse1-1/+1
2022-10-09update-tunnelbroker: drop extra detection, use response from update•••Why hammer on another service? The tunnelbroker response contains the address we need. So send the update every time, and use that information. Gravatar Christian Hesse1-34/+25
2022-10-09update-tunnelbroker: get public address from website•••This is a good condidate: https://showipv6.de/ We can drop the cloud code, which seems to be unreliable in somd situations. Gravatar Christian Hesse2-14/+13
2022-10-09doc/update-tunnelbroker: give more hints on expected configGravatar Christian Hesse1-1/+4
2022-10-08update-tunnelbroker: work around timing issue•••Looks like fetch command has a timing issue with the tunnelbroker endpoint... We have to try several times to work around this. Consider the update failed on third error. Gravatar Christian Hesse1-5/+14
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...•••... if requested, but keep output and logs. Gravatar Christian Hesse1-16/+16
2022-09-28global-functions: $ScriptInstallUpdate: drop dead code...Gravatar Christian Hesse1-4/+1
2022-09-25global-functions: $ScriptInstallUpdate: drop code for permission workaround•••This is no longer used as 'netwatch-syslog' is gone. Gravatar Christian Hesse1-4/+1
2022-09-25drop 'learn-mac-based-vlan' and 'manage-umts'•••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. 😜 Gravatar Christian Hesse3-46/+0
2022-09-25drop 'netwatch-syslog'•••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; change-85Gravatar Christian Hesse5-52/+6
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 failures•••This should relax the error message a bit as it is not triggered on first failure. Gravatar Christian Hesse1-5/+5
2022-09-20global-functions: $GetMacVendor: detect locally administered addresses•••https://en.wikipedia.org/wiki/MAC_address#Universal_vs._local_(U/L_bit) Gravatar Christian Hesse1-0/+4
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 issues•••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... Gravatar Christian Hesse1-0/+6
2022-09-13netwatch-dns: support downloading / importing certificateGravatar Christian Hesse2-0/+16
2022-09-13doc/netwatch-dns: fix example command...•••This broke with: * doc/netwatch-dns: giving hostname in comment is not required 9853943a365639f675fba0bb9c1d64b7edfd00d7 Gravatar Christian Hesse1-1/+1
2022-09-13global-functions: $GetMacVendor: switched to Let's Encrypt (R3)•••So let's check for the correct one, and drop the other. Gravatar Christian Hesse2-167/+1
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 recently•••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. Gravatar Christian Hesse1-1/+3
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...•••... and also update all version numbers to match current release. Gravatar Christian Hesse17-3142/+598
2022-08-19cleanup dummy script from rotate-ntp removalGravatar Christian Hesse1-2/+0
2022-08-15check-health: increase default temperature deviation•••Some devices (with bad temperature sensort?) still product a flood of notifications... Try to avoid that. Gravatar Christian Hesse1-1/+1
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 :rndnum•••This is available in RouterOS 7.x... Signed-off-by: Christian Hesse <mail@eworm.de> Gravatar Michael Gisbers1-8/+2
2022-08-05global-functions: $GetRandom20CharHex: use :rndstr•••This is available in RouterOS 7.x... Signed-off-by: Christian Hesse <mail@eworm.de> Gravatar Michael Gisbers1-1/+1
2022-08-05unattended-lte-firmware-upgrade: try without extra reset•••Testing with R11e-LTE6 I can see the interface being reset by the upgrade. So the extra reset is no longer required? Trying without. Gravatar Christian Hesse1-3/+9
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 result•••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. Gravatar Christian Hesse1-0/+8