Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-11-29 | global-functions: introduce $IsMacLocallyAdministered... | Christian Hesse | 1 | -1/+11 | |
... and use it in $GetMacVendor. | |||||
2022-11-22 | global-functions: $IsTimeSync: no cloud on x86 | Christian Hesse | 1 | -2/+3 | |
2022-11-22 | global-functions: $IsTimeSync: no cloud with CHR free license | Christian Hesse | 1 | -0/+5 | |
2022-11-22 | global-functions: $ScriptLock: use shorter random string | Christian Hesse | 1 | -2/+2 | |
... but with all characters from alphabet with $GetRandom20CharAlNum. | |||||
2022-11-22 | global-functions: $MkDir: use shorter random string | Christian Hesse | 1 | -2/+2 | |
... but with all characters from alphabet with $GetRandom20CharAlNum. | |||||
2022-09-28 | global-functions: $ScriptInstallUpdate: disable notification only... | Christian Hesse | 1 | -16/+16 | |
... if requested, but keep output and logs. | |||||
2022-09-28 | global-functions: $ScriptInstallUpdate: drop dead code... | Christian Hesse | 1 | -4/+1 | |
2022-09-25 | global-functions: $ScriptInstallUpdate: drop code for permission workaround | Christian Hesse | 1 | -4/+1 | |
This is no longer used as 'netwatch-syslog' is gone. | |||||
2022-09-25 | drop 'netwatch-syslog'change-85 | Christian Hesse | 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 | Christian Hesse | 1 | -128/+1 | |
2022-09-25 | global-functions: $FlushEmailQueue: do not flush if sending | Christian Hesse | 1 | -0/+5 | |
2022-09-20 | global-functions: $GetMacVendor: detect locally administered addresses | Christian Hesse | 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 | Christian Hesse | 1 | -6/+6 | |
2022-09-15 | global-functions: $FlushEmailQueue: do not flush with resolver issues | Christian Hesse | 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) | Christian Hesse | 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 | Christian Hesse | 1 | -0/+4 | |
2022-09-07 | global-functions: introduce $GetRandom20CharAlNum | Christian Hesse | 1 | -0/+8 | |
2022-09-07 | global-functions: $GetRandom20CharHex: add optional parameter for length | Christian Hesse | 1 | -1/+3 | |
2022-08-25 | global-functions: $SymbolByUnicodeName: add 'earth' | Christian Hesse | 1 | -0/+1 | |
2022-08-05 | global-functions: $GetRandomNumber: use :rndnum | Michael Gisbers | 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 | Michael Gisbers | 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 | Christian Hesse | 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... | Christian Hesse | 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 | Christian Hesse | 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 | Christian Hesse | 1 | -1/+1 | |
2022-07-13 | global-functions: update initialization of empty array | Christian Hesse | 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 | Christian Hesse | 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 | Christian Hesse | 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 | Christian Hesse | 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 | Christian Hesse | 1 | -1/+7 | |
2022-06-20 | global-functions: introduce function $IsFullyConnected | Christian Hesse | 1 | -0/+19 | |
2022-06-20 | global-functions: rename internal function: $TimeIsSync -> $IsTimeSync | Christian Hesse | 1 | -33/+33 | |
2022-06-20 | global-functions: rename internal function: $DNSIsResolving -> $IsDNSResolving | Christian Hesse | 1 | -15/+15 | |
2022-06-20 | global-functions: rename internal function: $DefaultRouteIsReachable -> ↵ | Christian Hesse | 1 | -11/+11 | |
$IsDefaultRouteReachable | |||||
2022-06-17 | global-functions: $WaitTimeSync: drop declaration of unused function | Christian Hesse | 1 | -1/+0 | |
2022-06-16 | fix typos: 'at lease' -> 'at least' | Christian Hesse | 1 | -2/+2 | |
2022-06-15 | drop script 'rotate-ntp'change-81 | Christian Hesse | 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 | Christian Hesse | 1 | -0/+1 | |
2022-05-17 | global-functions: $FlushEmailQueue: return if time is not synced | Christian Hesse | 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 | Christian Hesse | 1 | -1/+1 | |
2022-05-11 | global-functions: RouterOS v7 path syntax | Christian Hesse | 1 | -83/+78 | |
2022-04-28 | global-functions: $LogPrintExit2: handle empty name | Christian Hesse | 1 | -1/+1 | |
2022-04-28 | global-functions: catch runtime error when loading modules | Christian Hesse | 1 | -1/+5 | |
2022-04-28 | global-functions: validate syntax of modules | Christian Hesse | 1 | -1/+6 | |
2022-04-28 | global-functions: set $0 with script name | Christian Hesse | 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 | Christian Hesse | 1 | -1/+1 | |
2022-04-26 | global-functions: $ScriptInstallUpdate: support giving comment... | Christian Hesse | 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 | Christian Hesse | 1 | -1/+1 | |
2022-03-08 | global-functions: (re-)introduce global $Read | Christian Hesse | 1 | -0/+6 | |
... to interactively read input from user on terminal. | |||||
2022-03-01 | global-functions: $FlushEmailQueue: delay if "in-progress"... | Christian Hesse | 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 | Christian Hesse | 1 | -1/+2 | |
2022-02-21 | doc/mod: notify about new documentationchange-78 | Christian Hesse | 1 | -1/+1 | |
2022-02-10 | global-functions: $DownloadPackage: handle special cases | Christian Hesse | 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 | Christian Hesse | 1 | -0/+4 | |
2022-02-10 | introduce firmware-upgrade-rebootchange-77 | Christian Hesse | 1 | -1/+1 | |
2022-02-10 | netwatch-notify: allow to suppress notification on host downchange-76 | Christian Hesse | 1 | -1/+1 | |
2022-01-20 | global-functions: $ScriptInstallUpdate: quote names in log output | Christian Hesse | 1 | -9/+9 | |
2022-01-20 | global-functions: $ScriptInstallUpdate: give final url in debug output | Christian Hesse | 1 | -7/+6 | |
2022-01-17 | global-functions: $DownloadPackage: handle special case with name | Christian Hesse | 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 | Christian Hesse | 1 | -3/+3 | |
2022-01-14 | global: notify about merging 'routeros-v7' into 'main'change-75 | Christian Hesse | 1 | -1/+1 | |
2022-01-14 | global-functions: bump the required version for RouterOS 7.x | Christian Hesse | 1 | -5/+4 | |
... but keep a warning when running RouterOS v6. | |||||
2022-01-07 | hotspot-to-wpa: support settings from templatechange-74 | Christian Hesse | 1 | -1/+1 | |
2022-01-06 | Migrate configuration and send notification on renameschange-73 | Christian Hesse | 1 | -1/+1 | |
2022-01-03 | introduce netwatch-dnschange-72 | Christian Hesse | 1 | -1/+1 | |
2022-01-01 | update copyright for 2022 | Christian Hesse | 1 | -1/+1 | |
2021-12-20 | global-functions: $RequiredRouterOS: fix warning | Christian Hesse | 1 | -5/+4 | |
Passing a boolean does not work... Handle as string. | |||||
2021-12-14 | global-functions: $DownloadPackage: make directory first | Christian Hesse | 1 | -0/+6 | |
The fetch command creates the directory itself, however using $MkDir gives better error message when creating directory fails. | |||||
2021-12-14 | global-functions: $MkDir: log error | Christian Hesse | 1 | -1/+3 | |
2021-12-14 | global-functions: $NotificationFunctions->"email": do not declare unused ↵ | Christian Hesse | 1 | -1/+0 | |
function | |||||
2021-12-13 | global-functions: $DeviceInfo: show license level if available | Christian Hesse | 1 | -0/+3 | |
This now shows license level for CHR. The property is named different for Routerboards. As these have the license bundled to hardware anyway we do not show it there. | |||||
2021-12-13 | README: changes for RouterOS v6change-71 | Christian Hesse | 1 | -1/+1 | |
2021-12-10 | global-functions: $ScriptLock: simplify cleanup code | Christian Hesse | 1 | -5/+2 | |
2021-12-09 | global-functions: $ScriptLock: remove ticket in a loop | Christian Hesse | 1 | -1/+2 | |
This was not required with RouterOS v6, but for any reason removing a ticket may fail with RouterOS v7 in very rare cases. So remove in a loop... | |||||
2021-12-09 | global-functions: $ScriptLock: cleanup in dedicated function | Christian Hesse | 1 | -4/+13 | |
2021-12-09 | global-functions: $ScriptLock: initialize earlier | Christian Hesse | 1 | -4/+3 | |
2021-12-09 | global-functions: $ScriptLock: initialize empty array on cleanup | Christian Hesse | 1 | -2/+2 | |
2021-12-07 | global-functions: give a hint on RouterOS v7 | Christian Hesse | 1 | -0/+6 | |
2021-12-07 | global-config: load overlay automatically | Christian Hesse | 1 | -4/+4 | |
2021-12-07 | README: changes for RouterOS v7change-70 | Christian Hesse | 1 | -1/+1 | |
2021-11-22 | global-functions: $DeviceInfo: add current firmware | Christian Hesse | 1 | -0/+2 | |
(I would like to show a note if the upgrade is pending... But did not find a way to get that information. Is there?) | |||||
2021-11-16 | check-health: support hard lower limit for voltagechange-69 | Christian Hesse | 1 | -1/+1 | |
... to detect slow decrease of voltage, for example with UPS. | |||||
2021-11-16 | check-health: indicate voltage increase or decrease | Christian Hesse | 1 | -0/+2 | |
2021-11-16 | reintroduce global-waitchange-68 | Christian Hesse | 1 | -1/+1 | |
2021-11-16 | global-functions: drop deprecated function $LogPrintExit | Christian Hesse | 1 | -9/+0 | |
... which has been replaced by $LogPrintExit2 some time ago. | |||||
2021-11-15 | shorten modules directory name (global-functions.d -> mod)change-67 | Christian Hesse | 1 | -3/+3 | |
2021-11-15 | bridge-port-to-default -> global-functions.d/bridge-port-tochange-66 | Christian Hesse | 1 | -1/+1 | |
2021-11-12 | add global-functions.d/bridge-port-vlanchange-65 | Christian Hesse | 1 | -1/+1 | |
2021-10-01 | global-functions: $NotificationFunctions->"email": check for valid settings | Christian Hesse | 1 | -1/+2 | |
No need to queue mails if 'address' and 'from' are not specified... | |||||
2021-10-01 | global-functions: $DeviceInfo: do not fail on non-RouterBoard with ROS 7.x | Christian Hesse | 1 | -1/+4 | |
2021-09-21 | global-functions.d/inspectvar: add $InspectVar...change-64 | Christian Hesse | 1 | -1/+1 | |
to inspect variables. This is useful for variables with (nested) arrays, for example inspecting $NetwatchNotify (from netwatch-notify): [admin@Mikrotik] > $InspectVar $NetwatchNotify -type-> array -key-> quad-one -type-> array -key-> count -type-> num -value-> 0 -key-> notified -type-> bool -value-> false -key-> parent -type-> nothing -key-> resolve-failed -type-> nothing -key-> since -type-> nothing -key-> example.com -type-> array -key-> count -type-> num -value-> 0 -key-> notified -type-> bool -value-> false -key-> parent -type-> str -value-> quad-one -key-> resolve-failed -type-> nothing -key-> since -type-> nothing | |||||
2021-09-21 | global-functions: notify about move of $IPCalc and $ScriptRunOnce to moduleschange-63 | Christian Hesse | 1 | -1/+1 | |
Just install with... $ScriptInstallUpdate global-functions.d/ipcalc ... and/or... $ScriptInstallUpdate global-functions.d/scriptrunonce ... and use the functions as before. | |||||
2021-09-21 | global-functions: move $ScriptRunOnce to optional module | Christian Hesse | 1 | -41/+0 | |
2021-09-21 | global-functions: move $IPCalc to optional module | Christian Hesse | 1 | -30/+0 | |
2021-09-08 | global-functions*: syntax for ROS 7.xrouteros-7.1rc3 | Christian Hesse | 1 | -6/+6 | |
Strings with escape sequence have to be enclosed in parentheses. Looks like RouterOS 7.x is stricter here... | |||||
2021-09-02 | global-functions: $CertificateAvailable: drop version check | Christian Hesse | 1 | -5/+0 | |
2021-09-01 | global-functions: $RequiredRouterOS: allow to use without warning | Christian Hesse | 1 | -6/+9 | |
2021-08-31 | global-functions: $ScriptLock: handle array by index | Christian Hesse | 1 | -17/+50 | |
This should mitigate race conditions while rewriting the array. | |||||
2021-08-31 | global-functions: $ScriptLock: do not store but calculate job count | Christian Hesse | 1 | -7/+10 | |
This should mitigate some more race conditions. | |||||
2021-07-25 | global-functions: $ScriptLock: check for successful removal of ticket | Christian Hesse | 1 | -5/+9 | |
The script is already locked, so there is no second script to remove a ticket at the same time. However a new script can add a new ticket and overwrite the removal... Thus check for successful removal anyway. |