aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-01-23doc/check-certificates: document the renew timeGravatar Christian Hesse1-0/+1
2023-01-23global-functions: $MkDir: catch error on creating tmpfsGravatar Christian Hesse1-1/+7
2023-01-23global-functions: $MkDir: create with reasonable tmpfs-max-sizerouteros-7.8beta2Gravatar Christian Hesse1-1/+1
Giving no tmpfs-max-size breaks with RouterOS 7.8beta2, where a size limit is enforced.
2023-01-22daily-psk: fixes for CAPsMANGravatar Christian Hesse2-6/+9
2023-01-20check-health: notify about new featureschange-88Gravatar Christian Hesse2-1/+2
2023-01-20check-health: silently exit without health readings...Gravatar Christian Hesse1-11/+11
... but after checking CPU load and free RAM.
2023-01-20check-health: monitor free RAMGravatar Christian Hesse10-8/+36
---- ✂️ ---- 🗃️📉️ Health warning: free RAM The available free RAM on MikroTik is at 18% (47MiB)! ---- ✂️ ---- 🗃️📈️ Health recovery: free RAM The available free RAM on MikroTik increased to 65% (168MiB). ---- ✂️ ----
2023-01-20check-health: monitor CPU loadGravatar Christian Hesse10-7/+30
---- ✂️ ---- 🧮️📈️ Health warning: CPU load The average CPU load on MikroTik is at 76%! ---- ✂️ ---- 🧮️📉️ Health recovery: CPU load The average CPU load on MikroTik decreased to 64%. ---- ✂️ ----
2023-01-20global-functions: $RequiredRouterOS: check for valid version stringGravatar Christian Hesse1-0/+6
2023-01-20global-functions: use new functionality for version checkGravatar Christian Hesse1-3/+2
2023-01-20global-functions: $ScriptInstallUpdate: add a version check for scriptsGravatar Christian Hesse1-10/+19
New RouterOS releases bring new features, and thus new syntax. Installing a new script on old RouterOS results in syntax errors. We want to give clear warning messages, so by adding an extra comment into the script... # requires RouterOS, version=7.8beta3 ... installing on unsupported RouterOS version is mitigated.
2023-01-20lease-script: use $GrepGravatar Christian Hesse1-7/+4
2023-01-20global-functions: implement $Grep...Gravatar Christian Hesse1-0/+21
... that returns the first line that matches a pattern.
2023-01-20log-forward: cache the result of $LogForwardFilterLogForwardingGravatar Christian Hesse1-1/+2
Looks like the function is called for every message to match otherwise. 😳
2023-01-20doc/log-forward: add tips and tricksGravatar Christian Hesse1-0/+12
2023-01-18doc/log-forward: add some more detailsGravatar Christian Hesse1-5/+20
2023-01-17ipsec-to-dns: handle "CN=" from peer's idrouteros-7.6-3Gravatar Christian Hesse1-2/+4
This was missing in commit bff6689b103287f44c573e3134b9b9a64c36c0a8 and cause the dns entry to be delete and re-created over and over again.
2023-01-12global-functions: $MkDir: no early continue for dir "tmpfs"...Gravatar Christian Hesse1-1/+1
... as we want a RAM disk.
2023-01-12doc/daily-psk: drop the start-date from schedulerGravatar Christian Hesse1-2/+2
2023-01-12doc/daily-psk: add missing bits for CAPsMANGravatar Christian Hesse1-5/+9
2023-01-12global-functions: $ScriptInstallUpdate: handle config version decrease...Gravatar Christian Hesse1-1/+7
... and log a warning.
2023-01-12mod/notification-*: support extra text (or emojis 🚀) in notification tagschange-87Gravatar Christian Hesse6-7/+16
2023-01-11mod/notification-email: split off generation of subjectGravatar Christian Hesse1-10/+17
2023-01-11mod/notification-email: move $QuotedPrintable (from global-functions)Gravatar Christian Hesse2-37/+37
This is used for e-mail only...
2023-01-11log-forward: do not declare unused functionGravatar Christian Hesse1-1/+0
2023-01-11log-forward: generate filter in mod/notification-emailGravatar Christian Hesse2-8/+20
2023-01-11use arrows with emoji representationGravatar Christian Hesse50-148/+148
We had... ◀ Go back to main README ▲ Go back to top ... and switch to... ⬅️ Go back to main README ⬆️ Go back to top
2023-01-11README: install custom script from routeros-scripts-customGravatar Christian Hesse2-4/+1
2023-01-10README: add linked custom scripts & modulesGravatar Christian Hesse1-0/+20
2023-01-10doc/sms-forward: take care of harmful commands in hooksGravatar Christian Hesse1-0/+7
2023-01-10update list of contributorsGravatar Christian Hesse1-0/+1
2023-01-10sms-forward: support hookschange-86Gravatar Anatoly Bubenkov5-1/+60
2023-01-09doc/sms-forward: reorder configurationGravatar Christian Hesse1-3/+4
2023-01-02.gitignore: ignore folder settings fileGravatar Anatoly Bubenkov1-0/+3
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 syntaxGravatar Christian Hesse1-1/+1
Missed one in b6ddc5968e7a3393bb6e9b0c0ccf96379efc62b4...
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)...routeros-7.7rc1Gravatar Christian Hesse1-0/+10
... if the path starts with "tmpfs/". This helps to mitigate flash wear.
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...Gravatar Christian Hesse1-1/+1
... to specify that the preceding character should be displayed with emoji presentation. https://unicode-table.com/en/FE0F/
2022-11-29global-functions: introduce $IsMacLocallyAdministered...Gravatar Christian Hesse1-1/+11
... and use it in $GetMacVendor.
2022-11-25netwatch-notify: support type https-getrouteros-7.7beta8Gravatar Christian Hesse1-1/+1
... which was introduced in RouterOS 7.7beta8.
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 earlierGravatar Christian Hesse1-0/+4
... to make sure the checks are not re-run every second.
2022-11-22mod/notification-email: reference scheduler from variableGravatar Christian Hesse1-4/+5
2022-11-22global-functions: $ScriptLock: use shorter random stringGravatar Christian Hesse1-2/+2
... but with all characters from alphabet with $GetRandom20CharAlNum.
2022-11-22global-functions: $MkDir: use shorter random stringGravatar Christian Hesse1-2/+2
... but with all characters from alphabet with $GetRandom20CharAlNum.
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 resultGravatar Christian Hesse1-1/+3
If this script runs from terminal this will not change... 😜 So cache the result. Co-authored-by: Michael Gisbers <michael@gisbers.de>
2022-10-21netwatch-notify: always show messages when run from terminalGravatar Michael Gisbers1-1/+3
Co-authored-by: Christian Hesse <mail@eworm.de>
2022-10-21netwatch-notify: stop flooding the log after down notificationGravatar Christian Hesse1-5/+7
This will now log all messages before notification, and every two hours (or scheduler interval * 120) after.
2022-10-20Merge branch 'notifications' into nextGravatar Christian Hesse46-666/+17
These are generated with my 'RouterOS-Scripts Notification Generator': https://eworm.de/ros/notification/
2022-10-20doc/sms-forward: update notificationGravatar Christian Hesse3-37/+1
---- ✂️ ---- 📨 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! ---- ✂️ ----
2022-10-20doc/netwatch-notify: update notificationsGravatar Christian Hesse5-71/+2
---- ✂️ ---- ❌ 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. ---- ✂️ ----
2022-10-20doc/log-forward: update notificationGravatar Christian Hesse3-38/+1
---- ✂️ ---- ⚠️ 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 ---- ✂️ ----
2022-10-20doc/daily-psk: update notificationGravatar Christian Hesse3-41/+1
---- ✂️ ---- 📅 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 ---- ✂️ ----
2022-10-20doc/collect-wireless-mac: update notificationGravatar Christian Hesse3-45/+1
---- ✂️ ---- 📱 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 ---- ✂️ ----
2022-10-20doc/check-routeros-update: update notificationGravatar Christian Hesse3-46/+1
---- ✂️ ---- ✨ 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 ---- ✂️ ----
2022-10-20doc/check-lte-firmware-upgrade: update notificationGravatar Christian Hesse3-39/+1
---- ✂️ ---- ✨ 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 ---- ✂️ ----
2022-10-20doc/check-health: update notificationsGravatar Christian Hesse11-173/+5
---- ✂️ ---- ⚡📉 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! ---- ✂️ ----
2022-10-20doc/check-certificates: update notificationGravatar Christian Hesse3-42/+1
---- ✂️ ---- 🔏 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 ---- ✂️ ----
2022-10-20doc/backup-upload: update notificationGravatar Christian Hesse3-46/+1
---- ✂️ ---- 💾⬆️ 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 ---- ✂️ ----
2022-10-20doc/backup-cloud: update notificationGravatar Christian Hesse3-47/+1
---- ✂️ ---- 💾☁️ 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 ---- ✂️ ----
2022-10-20README: update notificationGravatar Christian Hesse3-41/+1
---- ✂️ ---- 📌 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. ---- ✂️ ----
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 outputGravatar Christian Hesse1-2/+0
Oops... 😳 This sneaked in with initial commit 862417b8d32f6eef1c05ba9137fe2a7f14436987 ("add 'ipsec-to-dns'").
2022-10-18update-gre-address: strip "CN=" from peer's idrouteros-7.6-1Gravatar Christian Hesse1-1/+2
The prefix "CN=" is now added in RouterOS 7.6... Let's match with and without the prefix in comment.
2022-10-14netwatch-notify: fix the count...Gravatar Christian Hesse1-1/+1
This broke in commit 6f772e92a616acb15bdef8ab7b7bfdb9d002bfeb ("netwatch-notify: rename array element") where not only the array element but also the option was renamed.
2022-10-09update-tunnelbroker: drop extra detection, use response from updateGravatar Christian Hesse1-34/+25
Why hammer on another service? The tunnelbroker response contains the address we need. So send the update every time, and use that information.
2022-10-09update-tunnelbroker: get public address from websiteGravatar Christian Hesse2-14/+13
This is a good condidate: https://showipv6.de/ We can drop the cloud code, which seems to be unreliable in somd situations.
2022-10-09doc/update-tunnelbroker: give more hints on expected configGravatar Christian Hesse1-1/+4
2022-10-08update-tunnelbroker: work around timing issueGravatar Christian Hesse1-5/+14
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.
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