Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-03-07 | rename scripts and add file extension ".rsc"change-95 | 1 | -1045/+14 | ||
No functional change for the user... The migration is done automatically. | |||||
2023-02-26 | global-functions: $MkDir: drop the compatibility workaroundrouteros-7.7 | 1 | -3/+3 | ||
If you are still running RouterOS 7.6 or older add this in your global-config-overlay: :global ScriptUpdatesUrlSuffix "\?h=routeros-7.7~1"; ... and remeber to revert that change once updated. | |||||
2023-02-13 | global-functions: $PrettyPrint: use $Unix2Dos | 1 | -2/+2 | ||
2023-02-13 | global-functions: introduce $Dos2Unix | 1 | -0/+10 | ||
2023-02-13 | global-functions: introduce $Unix2Dos | 1 | -0/+11 | ||
2023-02-10 | ipv6-update: support host addresses in address-listchange-94 | 1 | -1/+1 | ||
2023-02-07 | global-functions: $ScriptInstallUpdate: use complete property name | 1 | -1/+1 | ||
2023-02-07 | notify about backup for global-config-overlaychange-93 | 1 | -1/+1 | ||
2023-02-02 | global-functions: $WaitForFile: use delay instead of iterations | 1 | -5/+6 | ||
2023-01-31 | daily-psk: make qr-code url configurablechange-92 | 1 | -1/+1 | ||
2023-01-31 | check-routeros-update: drop check for capchange-91 | 1 | -1/+1 | ||
This becomes complicated with legacy wireless and wifiwave2 package, old and new CAPsMAN. Let's just drop the check. | |||||
2023-01-31 | introduce telegram-chatchange-90 | 1 | -1/+2 | ||
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-31 | global-functions: $WaitForFile: allow to give iterations... | 1 | -1/+3 | ||
... to increase timeout. Every iteration is about 100ms. | |||||
2023-01-26 | global-functions: $LogPrintExit2: always print the message... | 1 | -5/+5 | ||
... even on error. Not sure why and when this broke. | |||||
2023-01-23 | check-certificates: make the warning time configurablechange-89 | 1 | -1/+1 | ||
2023-01-23 | global-functions: $MkDir: catch error on creating tmpfs | 1 | -1/+7 | ||
2023-01-23 | global-functions: $MkDir: create with reasonable tmpfs-max-sizerouteros-7.8beta2 | 1 | -1/+1 | ||
Giving no tmpfs-max-size breaks with RouterOS 7.8beta2, where a size limit is enforced. | |||||
2023-01-20 | check-health: notify about new featureschange-88 | 1 | -1/+1 | ||
2023-01-20 | check-health: monitor free RAM | 1 | -0/+1 | ||
---- ✂️ ---- 🗃️📉️ 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-20 | check-health: monitor CPU load | 1 | -0/+1 | ||
---- ✂️ ---- 🧮️📈️ 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-20 | global-functions: $RequiredRouterOS: check for valid version string | 1 | -0/+6 | ||
2023-01-20 | global-functions: use new functionality for version check | 1 | -3/+2 | ||
2023-01-20 | global-functions: $ScriptInstallUpdate: add a version check for scripts | 1 | -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-20 | global-functions: implement $Grep... | 1 | -0/+21 | ||
... that returns the first line that matches a pattern. | |||||
2023-01-12 | global-functions: $MkDir: no early continue for dir "tmpfs"... | 1 | -1/+1 | ||
... as we want a RAM disk. | |||||
2023-01-12 | global-functions: $ScriptInstallUpdate: handle config version decrease... | 1 | -1/+7 | ||
... and log a warning. | |||||
2023-01-12 | mod/notification-*: support extra text (or emojis 🚀) in notification tagschange-87 | 1 | -1/+1 | ||
2023-01-11 | mod/notification-email: move $QuotedPrintable (from global-functions) | 1 | -37/+0 | ||
This is used for e-mail only... | |||||
2023-01-10 | sms-forward: support hookschange-86 | 1 | -1/+1 | ||
2023-01-02 | update copyright for 2023 | 1 | -1/+1 | ||
2022-12-13 | global-functions: $MkDir: create a tmpfs (RAM disk)...routeros-7.7rc1 | 1 | -0/+10 | ||
... if the path starts with "tmpfs/". This helps to mitigate flash wear. | |||||
2022-12-13 | global-functions: $MkDir: create directories recursively | 1 | -14/+30 | ||
2022-12-13 | global-functions: $MkDir: rename internal variable | 1 | -10/+10 | ||
2022-12-13 | global-functions: $MkDir: fail if non-directory path exists | 1 | -0/+5 | ||
2022-12-12 | global-functions: check RouterOS version before loading modules | 1 | -3/+3 | ||
2022-12-06 | global-functions: $SymbolByUnicodeName: append variation selector-16... | 1 | -1/+1 | ||
... to specify that the preceding character should be displayed with emoji presentation. https://unicode-table.com/en/FE0F/ | |||||
2022-11-29 | global-functions: introduce $IsMacLocallyAdministered... | 1 | -1/+11 | ||
... and use it in $GetMacVendor. | |||||
2022-11-22 | global-functions: $IsTimeSync: no cloud on x86 | 1 | -2/+3 | ||
2022-11-22 | global-functions: $IsTimeSync: no cloud with CHR free license | 1 | -0/+5 | ||
2022-11-22 | global-functions: $ScriptLock: use shorter random string | 1 | -2/+2 | ||
... but with all characters from alphabet with $GetRandom20CharAlNum. | |||||
2022-11-22 | global-functions: $MkDir: use shorter random string | 1 | -2/+2 | ||
... but with all characters from alphabet with $GetRandom20CharAlNum. | |||||
2022-09-28 | global-functions: $ScriptInstallUpdate: disable notification only... | 1 | -16/+16 | ||
... if requested, but keep output and logs. | |||||
2022-09-28 | global-functions: $ScriptInstallUpdate: drop dead code... | 1 | -4/+1 | ||
2022-09-25 | global-functions: $ScriptInstallUpdate: drop code for permission workaround | 1 | -4/+1 | ||
This is no longer used as 'netwatch-syslog' is gone. | |||||
2022-09-25 | drop 'netwatch-syslog'change-85 | 1 | -1/+1 | ||
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-25 | introduce 'mod/notification-email', split off from global-functionschange-84 | 1 | -128/+1 | ||
2022-09-25 | global-functions: $FlushEmailQueue: do not flush if sending | 1 | -0/+5 | ||
2022-09-20 | global-functions: $GetMacVendor: detect locally administered addresses | 1 | -0/+4 | ||
https://en.wikipedia.org/wiki/MAC_address#Universal_vs._local_(U/L_bit) | |||||
2022-09-15 | global-functions: $FlushEmailQueue: use $0 for scheduler name | 1 | -6/+6 | ||
2022-09-15 | global-functions: $FlushEmailQueue: do not flush with resolver issues | 1 | -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-13 | global-functions: $GetMacVendor: switched to Let's Encrypt (R3) | 1 | -1/+1 | ||
So let's check for the correct one, and drop the other. | |||||
2022-09-09 | global-functions: $ScriptInstallUpdate: prepare for future certificate chain | 1 | -0/+4 | ||
2022-09-07 | global-functions: introduce $GetRandom20CharAlNum | 1 | -0/+8 | ||
2022-09-07 | global-functions: $GetRandom20CharHex: add optional parameter for length | 1 | -1/+3 | ||
2022-08-25 | global-functions: $SymbolByUnicodeName: add 'earth' | 1 | -0/+1 | ||
2022-08-05 | global-functions: $GetRandomNumber: use :rndnum | 1 | -8/+2 | ||
This is available in RouterOS 7.x... Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
2022-08-05 | global-functions: $GetRandom20CharHex: use :rndstr | 1 | -1/+1 | ||
This is available in RouterOS 7.x... Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
2022-07-21 | global-functions: $IsTimeSync: cache a positive result | 1 | -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-21 | global-functions: $IsTimeSync: drop the extra condition... | 1 | -1/+1 | ||
... as ddns is not required to be enabled. The public address is available anyway, but not set in DNS. | |||||
2022-07-21 | global-functions: $IsTimeSync: drop old code | 1 | -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-21 | global-functions: $IsFullyConnected: remove trailing space | 1 | -1/+1 | ||
2022-07-13 | global-functions: update initialization of empty array | 1 | -7/+7 | ||
Having the parenthesis here is important for valid syntax! | |||||
2022-07-06 | global-config: new setting to disable news and change notifications...change-83 | 1 | -14/+10 | ||
... and also drop the version from global-config and global-config-overlay. | |||||
2022-07-06 | netwatch-notify: rename parameter: hostname -> namechange-82 | 1 | -1/+1 | ||
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-05 | global-functions: introduce function $PrettyPrint | 1 | -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-06-28 | global-functions: $ScriptInstallUpdate: remove script on failure when installing | 1 | -1/+7 | ||
2022-06-20 | global-functions: introduce function $IsFullyConnected | 1 | -0/+19 | ||
2022-06-20 | global-functions: rename internal function: $TimeIsSync -> $IsTimeSync | 1 | -33/+33 | ||
2022-06-20 | global-functions: rename internal function: $DNSIsResolving -> $IsDNSResolving | 1 | -15/+15 | ||
2022-06-20 | global-functions: rename internal function: $DefaultRouteIsReachable -> ↵ | 1 | -11/+11 | ||
$IsDefaultRouteReachable | |||||
2022-06-17 | global-functions: $WaitTimeSync: drop declaration of unused function | 1 | -1/+0 | ||
2022-06-16 | fix typos: 'at lease' -> 'at least' | 1 | -2/+2 | ||
2022-06-15 | drop script 'rotate-ntp'change-81 | 1 | -9/+1 | ||
For RouterOS 6.x a separate package 'ntp' exists. This adds server functionality, but allows ip addresses for the client only. I added the script 'rotate-ntp' to update addresses from names... Now with RouterOS 7.x there's no extra package and the limitation does no longer exist. So let's just drop the script. This adds migration code, that... * removes the script from configuration * removes a scheduler from configuration * sets the configured ntp pool name for ntp client | |||||
2022-05-20 | log-forward: change symbol for notification | 1 | -0/+1 | ||
2022-05-17 | global-functions: $FlushEmailQueue: return if time is not synced | 1 | -0/+6 | ||
The local system time is used in the mail header. We do not want the mails to be sent in the past, so return early (and thus wait for time being synced). | |||||
2022-05-12 | notify about freeze of routeros-v7 branchchange-80 | 1 | -1/+1 | ||
2022-05-11 | global-functions: RouterOS v7 path syntax | 1 | -83/+78 | ||
2022-04-28 | global-functions: $LogPrintExit2: handle empty name | 1 | -1/+1 | ||
2022-04-28 | global-functions: catch runtime error when loading modules | 1 | -1/+5 | ||
2022-04-28 | global-functions: validate syntax of modules | 1 | -1/+6 | ||
2022-04-28 | global-functions: set $0 with script name | 1 | -2/+4 | ||
Now that we have some active code at the bottom... | |||||
2022-04-26 | global-functions: $DefaultRouteIsReachable: update properties for ROS 7.xrouteros-7.x-6 | 1 | -1/+1 | ||
2022-04-26 | global-functions: $ScriptInstallUpdate: support giving comment... | 1 | -2/+3 | ||
... for new scripts. This allows to have extra settings from the beginning, for example: $ScriptInstallUpdate script1,script2 "base-url=https://example.com/your/custom/repository/" | |||||
2022-03-30 | introduce backup-partitionchange-79 | 1 | -1/+1 | ||
2022-03-08 | global-functions: (re-)introduce global $Read | 1 | -0/+6 | ||
... to interactively read input from user on terminal. | |||||
2022-03-01 | global-functions: $FlushEmailQueue: delay if "in-progress"... | 1 | -0/+1 | ||
Something else is sending a mail... Let's wait and hope the status is not confused. | |||||
2022-02-24 | global-functions: $DeviceInfo: firmware only if upgrade pending | 1 | -1/+2 | ||
2022-02-21 | doc/mod: notify about new documentationchange-78 | 1 | -1/+1 | ||
2022-02-10 | global-functions: $DownloadPackage: handle special cases | 1 | -7/+3 | ||
This is a RouterOS v7 only change! * Revert commit 1e6931c8e34d5035cb07baa98b57eccbcd4278ab (but keep the cherry-picked one in branch routeros-v6). * Drop special case 'routeros-$arch', which no longer exists. * Update package name 'system' to 'routeros'. This should be the correct name, and is expected by CAPsMAN. No idea why package-name property for the file is different... | |||||
2022-02-10 | global-functions: $MkDir: do not act without directory | 1 | -0/+4 | ||
2022-02-10 | introduce firmware-upgrade-rebootchange-77 | 1 | -1/+1 | ||
2022-02-10 | netwatch-notify: allow to suppress notification on host downchange-76 | 1 | -1/+1 | ||
2022-01-20 | global-functions: $ScriptInstallUpdate: quote names in log output | 1 | -9/+9 | ||
2022-01-20 | global-functions: $ScriptInstallUpdate: give final url in debug output | 1 | -7/+6 | ||
2022-01-17 | global-functions: $DownloadPackage: handle special case with name | 1 | -0/+4 | ||
For RouterOS 6.x bundled package version and architecture are swapped. Closes: #21 | |||||
2022-01-17 | global-functions: $DownloadPackage: give url in debug output | 1 | -3/+3 | ||
2022-01-14 | global: notify about merging 'routeros-v7' into 'main'change-75 | 1 | -1/+1 | ||
2022-01-14 | global-functions: bump the required version for RouterOS 7.x | 1 | -5/+4 | ||
... but keep a warning when running RouterOS v6. | |||||
2022-01-07 | hotspot-to-wpa: support settings from templatechange-74 | 1 | -1/+1 | ||
2022-01-06 | Migrate configuration and send notification on renameschange-73 | 1 | -1/+1 | ||