aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-01-31introduce telegram-chatchange-90Gravatar Christian Hesse9-1/+222
Druvis from Mikrotik produced a video "MikroTik Telegram bot - Chat with your Router?". He shows his script to chat with a Router via Telegram bot to send it commands: https://youtu.be/KLX6j3sLRIE This script is kind of limited and has several issues... 🥴 Let's make it robust, usable, multi-device capable and just fun! 😁 (Sadly Mikrotik has a policy to not allow links in Youtube comments. Thus my comment with several hints was removed immediately. If anybody is in contact with Druvis... Please tell him about this script!)
2023-01-31global-functions: $WaitForFile: allow to give iterations...Gravatar Christian Hesse1-1/+3
... to increase timeout. Every iteration is about 100ms.
2023-01-26check-certificates: handle decryption failures and warnGravatar Christian Hesse1-1/+10
If a download succeeds at least one of the given passphrases is expected to decrypt a key in the file.
2023-01-26global-functions: $LogPrintExit2: always print the message...Gravatar Christian Hesse1-5/+5
... even on error. Not sure why and when this broke.
2023-01-24update list of contributorsGravatar Christian Hesse1-0/+1
2023-01-23check-certificates: make the warning time configurablechange-89Gravatar Christian Hesse5-2/+7
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