Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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 | ||
2022-01-03 | introduce netwatch-dnschange-72 | 1 | -1/+1 | ||
2022-01-01 | update copyright for 2022 | 1 | -1/+1 | ||
2021-12-20 | global-functions: $RequiredRouterOS: fix warning | 1 | -5/+4 | ||
Passing a boolean does not work... Handle as string. | |||||
2021-12-14 | global-functions: $DownloadPackage: make directory first | 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 | 1 | -1/+3 | ||
2021-12-14 | global-functions: $NotificationFunctions->"email": do not declare unused ↵ | 1 | -1/+0 | ||
function | |||||
2021-12-13 | global-functions: $DeviceInfo: show license level if available | 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 | 1 | -1/+1 | ||
2021-12-10 | global-functions: $ScriptLock: simplify cleanup code | 1 | -5/+2 | ||
2021-12-09 | global-functions: $ScriptLock: remove ticket in a loop | 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 | 1 | -4/+13 | ||
2021-12-09 | global-functions: $ScriptLock: initialize earlier | 1 | -4/+3 | ||
2021-12-09 | global-functions: $ScriptLock: initialize empty array on cleanup | 1 | -2/+2 | ||
2021-12-07 | global-functions: give a hint on RouterOS v7 | 1 | -0/+6 | ||
2021-12-07 | global-config: load overlay automatically | 1 | -4/+4 | ||
2021-12-07 | README: changes for RouterOS v7change-70 | 1 | -1/+1 | ||
2021-11-22 | global-functions: $DeviceInfo: add current firmware | 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 | 1 | -1/+1 | ||
... to detect slow decrease of voltage, for example with UPS. | |||||
2021-11-16 | check-health: indicate voltage increase or decrease | 1 | -0/+2 | ||
2021-11-16 | reintroduce global-waitchange-68 | 1 | -1/+1 | ||
2021-11-16 | global-functions: drop deprecated function $LogPrintExit | 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 | 1 | -3/+3 | ||
2021-11-15 | bridge-port-to-default -> global-functions.d/bridge-port-tochange-66 | 1 | -1/+1 | ||
2021-11-12 | add global-functions.d/bridge-port-vlanchange-65 | 1 | -1/+1 | ||
2021-10-01 | global-functions: $NotificationFunctions->"email": check for valid settings | 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 | 1 | -1/+4 | ||
2021-09-21 | global-functions.d/inspectvar: add $InspectVar...change-64 | 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 | 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 | 1 | -41/+0 | ||
2021-09-21 | global-functions: move $IPCalc to optional module | 1 | -30/+0 | ||
2021-09-08 | global-functions*: syntax for ROS 7.xrouteros-7.1rc3 | 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 | 1 | -5/+0 | ||
2021-09-01 | global-functions: $RequiredRouterOS: allow to use without warning | 1 | -6/+9 | ||
2021-08-31 | global-functions: $ScriptLock: handle array by index | 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 | 1 | -7/+10 | ||
This should mitigate some more race conditions. | |||||
2021-07-25 | global-functions: $ScriptLock: check for successful removal of ticket | 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. | |||||
2021-07-15 | global-functions: $ScriptLock: fix off-by-one check... | 1 | -1/+1 | ||
... for stale job tickets Signed-off-by: Christian Hesse <mail@eworm.de> | |||||
2021-07-10 | global-functions: introduce $ScriptRunOncechange-62 | 1 | -1/+42 | ||
2021-07-09 | global-functions: $ScriptInstallUpdate: add error handling for changelog | 1 | -1/+5 | ||
2021-07-09 | finally remove old scriptschange-61 | 1 | -1/+1 | ||
2021-07-09 | global-functions: $ScriptInstallUpdate: add error handling for migration | 1 | -1/+5 | ||
2021-07-09 | global-functions: $ScriptInstallUpdate: drop unused variable | 1 | -1/+0 | ||
This was a left-over from re-run message. | |||||
2021-07-09 | global-functions: $ScriptInstallUpdate: drop the migration pattern | 1 | -1/+1 | ||
2021-07-09 | netwatch-notify: implement pre-down hookchange-60 | 1 | -1/+1 | ||
2021-07-09 | global-functions: $ScriptLock: drop variable, just return | 1 | -3/+2 | ||
2021-07-08 | global-functions: $ScriptLock: make ticket management more reliable | 1 | -10/+27 | ||
2021-07-01 | check-routeros-update: allow update for capchange-59 | 1 | -1/+1 | ||
If CAPsMAN is running on a device with just 16MB flash downloading the packages is not possible (or at least lost at reboot). So allow a CAP to update with opt-in. | |||||
2021-07-01 | global-functions: $ScriptLock: use hex string for ticket | 1 | -2/+2 | ||
Does not matter what the ticket looks like, but using hex string it is not converted to number. | |||||
2021-07-01 | global-functions: $ScriptLock: use a limit on lock... | 1 | -4/+6 | ||
... to make sure it does not lock forever. | |||||
2021-06-30 | global-functions: $ScriptLock: allow to wait for lock | 1 | -0/+6 | ||
2021-06-30 | global-functions: $ScriptLock: rework with tickets | 1 | -6/+40 | ||
Getting the order right is not easy... We use a global variable to store "tickets" in an array. Based on that scripts know their order. | |||||
2021-06-30 | global-functions: $ScriptLock: check if script is running | 1 | -0/+4 | ||
2021-06-30 | global-functions: $ScriptLock: check if script exists | 1 | -0/+4 | ||
2021-06-30 | global-functions: $ScriptLock: allow to return... | 1 | -3/+8 | ||
... with true instead of breaking with error. | |||||
2021-06-30 | global-functions: $LogPrintExit2: allow origin-specific debug | 1 | -1/+6 | ||
Add something like this in global-config-overlay: :global PrintDebugOverride { "dhcp-to-dns"=true; } | |||||
2021-06-28 | global-functions: $GetRandomNumber: use $HexToNum | 1 | -11/+2 | ||
2021-06-28 | global-functions: $GetRandom20CharHex: do not remove otp... | 1 | -3/+1 | ||
... as it is instantly invalid anyway. | |||||
2021-06-24 | global-functions: $RandomDelay: allow to specify unit in second argument | 1 | -1/+2 | ||
2021-06-23 | hotspot-to-wpa: add optional cleanup scriptchange-58 | 1 | -1/+1 | ||
2021-06-23 | celebrating the 1.000th commit - hooray!change-57 | 1 | -1/+1 | ||
2021-06-23 | notify about tag in scriptschange-56 | 1 | -1/+1 | ||
2021-06-21 | global-functions: $MkDir: abuse smb share to create directory | 1 | -7/+5 | ||
The smb feature is provided by system package... So we have it anyway. It gives some benefits compared to abusing fetch: * It is faster! * No need to alter, enable and restore a service! (The share is created disabled.) * Firewall rules can not break this. * No temporary file is created. * Less code! Let's hope we do not introduce new breakage. Closes #14 | |||||
2021-06-17 | global-functions: $NotificationFunctions->"email": support removing attachment | 1 | -2/+8 | ||
2021-06-16 | global-functions: $HexToNum: properly handle capital characters | 1 | -2/+2 | ||
2021-06-15 | global-functions: introduce $HexToNum | 1 | -0/+16 | ||
2021-06-10 | global-functions: $SendEMail2: fix name in array | 1 | -1/+1 | ||
This did not send anything at all... Fixes #12 | |||||
2021-06-09 | log-forward: implement reverse logic to include messages...change-55 | 1 | -1/+1 | ||
... even if a filter matches to exclude them. Let's have an example: :global LogForwardFilter "(debug|info)"; :global LogForwardInclude "account"; This will forward everything about topic *account* (login, logout, failed login, ...) - even with topic *info*. | |||||
2021-06-08 | global-functions: make Telegram notifications a modulechange-54 | 1 | -157/+1 | ||
2021-06-08 | global-functions: implement notifications via Matrixchange-53 | 1 | -1/+1 | ||
Matrix is an open network for secure, decentralized communication - and it has a web api. A warning on message type: Using 'm.notice' breaks rendering on Element for Android (no fixed width font) and does not pop up desktop notification. Thus we use 'm.text'. Should be safe as we do not send the messages in response to other messages. https://matrix.org/ | |||||
2021-06-08 | global-functions: make notification functions extensible | 1 | -133/+159 | ||
This allows to add notification functions without overloading functions. Just add it into the array: :set ($NotificationFunctions->"fancy-messager") do={ # notification magic here... } Adding functions $SendFancyMessager and/or $SendFancyMessager2 may be useful. Optionally a function to flush a queue may be required. A BIG FAT WARNING about function parameters: Calling a function from array results in $0 for the function name being skipped. That's why we have to add the function name manually! | |||||
2021-06-08 | global-functions: $ScriptInstallUpdate: drop the re-run message | 1 | -5/+0 | ||
This makes sense just rarely... For important changes we have the migration mechanism. So just drop this. | |||||
2021-06-08 | global-functions: $ScriptInstallUpdate: reload configuration later | 1 | -7/+12 | ||
2021-06-08 | global-functions: $ScriptInstallUpdate: reload functions just once | 1 | -6/+11 | ||
2021-06-08 | global-functions: support loading modules | 1 | -1/+6 | ||
If script's name starts with "global-functions.d/" it is handled as module: * loaded at startup * triggers reload on update | |||||
2021-05-19 | global-functions: $DownloadPackage: quote package name | 1 | -2/+2 | ||
2021-05-18 | update Let's Encrypt trust chainchange-52 | 1 | -1/+1 | ||
Drop 'DST Root CA X3', use 'ISRG Root X1' instead. The migration code makes sure that... * the intermediate certificate 'R3' is signed by 'ISRG Root X1' * 'ISRG Root X1' is self-signed, not cross-signed by 'DST Root CA X3' * 'DST Root CA X3' is finally gone | |||||
2021-05-17 | add 'ipsec-to-dns'change-51 | 1 | -1/+1 | ||
2021-05-06 | netwatch-notify: support dynamic address updatechange-50 | 1 | -1/+1 | ||
2021-04-29 | upload-backup: add second symbol | 1 | -0/+1 | ||
2021-04-29 | cloud-backup: add second symbol | 1 | -0/+1 | ||
2021-04-29 | email-backup: use $SendEMail2change-49 | 1 | -1/+1 | ||
This drops $EmailBackupTo & $EmailBackupCc from settings! Use settings overwrite if required: :global EmailGeneralToOverride { "email-backup"="backup@example.com"; } | |||||
2021-04-29 | global-functions: $SendEMail2: support file attachments | 1 | -3/+5 | ||
2021-04-29 | global-functions: $DownloadPackage: be more verbose | 1 | -2/+4 | ||
2021-04-29 | global-functions: $DownloadPackage: fix typo | 1 | -1/+1 | ||
2021-04-29 | global-functions: $FlushEmailQueue: try to avoid running simultaneously | 1 | -1/+3 | ||
We can not check the status for a *specific* mail, so running simultaneously is a problem. Let's increase the interval to the number of queue items - and hope it helps. Decrease when done. | |||||
2021-04-28 | global-functions: notify about settings overridechange-48 | 1 | -1/+1 | ||
2021-04-28 | global-functions: $ScriptInstallUpdate: pass origin to $SendNotification2 | 1 | -2/+3 | ||
2021-04-28 | global-functions: $SendTelegram2: support overriding token id and chat id | 1 | -7/+7 | ||
2021-04-28 | global-functions: $SendTelegram2: store token id in queue | 1 | -4/+3 | ||
2021-04-28 | global-functions: $SendEMail2: support overriding to and cc | 1 | -2/+8 | ||
2021-04-28 | global-functions: introduce $EitherOr | 1 | -0/+11 | ||
2021-04-28 | global-functions: $ScriptInstallUpdate: use $SendNotification2 | 1 | -3/+3 | ||