aboutsummaryrefslogtreecommitdiffstats
path: root/global-functions.rsc
AgeCommit message (Collapse)AuthorFilesLines
2024-03-12global-functions: $ScriptLock: do not exit from global functionGravatar Christian Hesse1-5/+4
2024-03-12global-functions: $DownloadPackage: do not exit from global functionGravatar Christian Hesse1-1/+2
2024-03-12global-functions: use variable name $ScriptNameGravatar Christian Hesse1-2/+2
2024-02-29fw-addr-lists: add support for IPv6change-119Gravatar Christian Hesse1-1/+1
2024-01-31global-functions: $CertificateNameByCN: use $CleanNameGravatar Christian Hesse1-3/+2
2024-01-31global-functions: introduce $CleanNameGravatar Christian Hesse1-0/+19
2024-01-31global-functions: $MkDir: drop declaration of unused functionsGravatar Christian Hesse1-2/+0
2024-01-31global-functions: $IsDNSResolving: drop declaration of unused functionGravatar Christian Hesse1-2/+0
2024-01-30global-functions: $ScriptInstallUpdate: warn just once...Gravatar Christian Hesse1-1/+2
... for every script on required RouterOS version.
2024-01-30global-functions: use :jobname to get script nameGravatar Christian Hesse1-1/+1
2024-01-30send a warning on storage sizechange-118Gravatar Christian Hesse1-1/+1
2024-01-30packages-update: support deferred reboot on auto-updatechange-117Gravatar Christian Hesse1-1/+1
Closes #56
2024-01-30global-functions: $RandomDelay: always scale to ms...routeros-7.12-1Gravatar Christian Hesse1-2/+3
... to randomize in friction of unit. This requires :tonsec from RouterOS 7.12.
2024-01-29global-functions: $RandomDelay: allow zero time, return immediatelyGravatar Christian Hesse1-0/+4
2024-01-29global-functions: $RandomDelay: name the parametersGravatar Christian Hesse1-1/+4
2024-01-20global-functions: $SymbolByUnicodeName: log warning on missing nameGravatar Christian Hesse1-0/+7
2024-01-20global-functions: $SymbolByUnicodeName: name the parameterGravatar Christian Hesse1-1/+3
2024-01-18global-functions: log successful loadingGravatar Christian Hesse1-0/+5
2024-01-18global-functions: $LogPrintOnce: support exitGravatar Christian Hesse1-1/+2
2024-01-16global-functions: $HexToNum: use :tonumGravatar Christian Hesse1-7/+5
2024-01-08global-functions: $CertificateDownload: move delay upGravatar Christian Hesse1-1/+1
We still had cases where fetch misbehaves... But this was permanent. Perhaps we should not touch the certificate too early...
2024-01-01update copyright for 2024Gravatar Christian Hesse1-1/+1
2023-12-22global-functions: $GetMacVendor: get new certificateGravatar Christian Hesse1-1/+1
The service now uses: GTS CA 1P5 -> GTS Root R1
2023-12-05mention the donation hint...change-116Gravatar Christian Hesse1-1/+3
2023-12-05celebrating ✨⭐ 1.000 stars ⭐✨ on Github!change-115Gravatar Christian Hesse1-1/+2
2023-12-04global-functions: $FormatLine: use $CharacterMultiplyGravatar Christian Hesse1-1/+3
2023-12-04global-functions: $AlignRight: use $CharacterMultiplyGravatar Christian Hesse1-1/+2
2023-12-04global-functions: introduce $CharacterMultiplyGravatar Christian Hesse1-0/+10
2023-12-04global-functions: $DeviceInfo: add SNMP location and contactGravatar Christian Hesse1-1/+6
2023-11-30global-functions: introduce $MINGravatar Christian Hesse1-0/+7
2023-11-30global-functions: introduce $MAXGravatar Christian Hesse1-0/+7
2023-11-30global-functions: $SymbolByUnicodeName: rename up-arrow -> arrow-upGravatar Christian Hesse1-1/+1
... so arrows are grouped in case we add more.
2023-11-30global-functions: $SymbolForNotification: properly append space to alt textGravatar Christian Hesse1-2/+3
2023-11-23global-functions: introduce $AlignRightGravatar Christian Hesse1-0/+14
2023-11-15global-functions: introduce $HumanReadableNumGravatar Christian Hesse1-0/+31
2023-11-15notify about parted scripts for wifi packagechange-114Gravatar Christian Hesse1-1/+1
2023-11-09global-functions: drop $ReadGravatar Christian Hesse1-6/+0
... which is no longer required now that RouterOS 7.12beta1 provides /terminal/ask.
2023-11-09mod/notification-matrix: introduce $SetupMatrix{Authenticate,JoinRoom} for setupchange-113Gravatar Christian Hesse1-1/+1
Well, now that we have a JSON parser... Let's improve the user experience a bit.
2023-11-09mod/ssh-keys-import: calculate fingerprint...routeros-7.12beta1-2change-112Gravatar Christian Hesse1-1/+1
... and store it in key-owner, which is descriptive only. This requires RouterOS 7.12beta1 for the 'transform' property for ':convert' command.
2023-11-07global-functions: $ParseDate: drop code for old format...routeros-7.10beta5-2Gravatar Christian Hesse1-10/+1
... and increase required RouterOS. We should probably wait some time before merging this: Even current versions have some hidden places with old format: [admin@MikroTik] > /system/resource/print [...] version: 7.10.2 (stable) build-time: Jul/12/2023 09:45:11 [...] (Though this is written with capital letter and fails anyway...) Something similar goes for `/ip/neighbor`, where format depends on remote devices. Does anybody need to parse this?
2023-10-27dhcp-to-dns: allow multiple records for one mac addresschange-111Gravatar Christian Hesse1-1/+1
Now that we can have differnt name suffixes via networks it makes sense to allow multiple records for one mac address. Also update the wording for messages...
2023-10-27global-functions: introduce $LogPrintOnceGravatar Christian Hesse1-0/+23
This does work just like $LogPrintExit2, except it acts just *once* for each message, until device is rebooted.
2023-10-26global: switch eworm.de to new certificate chain (E1 / ISRG Root X2)Gravatar Christian Hesse1-4/+0
old chain: R3 / ISRG Root X1 new chain: E1 / ISRG Root X2 No user interaction or migration is required for existing installations as we install 'E1' and 'ISRG Root X2' for some time already.
2023-10-25global-functions: $ParseJson: prevent infinite loop...Gravatar Christian Hesse1-2/+4
... which could happen on corrupted or truncated input.
2023-10-19global-functions: $ParseJson: return array as ... array 😜Gravatar Christian Hesse1-8/+15
No need to assemble the string here, just to split it again later.
2023-10-17global-functions: $ScriptInstallUpdate: use $EitherOrGravatar Christian Hesse1-4/+2
2023-10-17global-functions: $ScriptInstallUpdate: restore indentionGravatar Christian Hesse1-22/+21
No functional change.
2023-10-17global-functions: $ScriptInstallUpdate: drop support for scripts from storagechange-110Gravatar Christian Hesse1-10/+2
Nobody ever used that, no? (Well, except me - just before I implemented fetching. 😜)
2023-10-17global-functions: $ScriptInstallUpdate: rename variableGravatar Christian Hesse1-4/+4
2023-10-17global-functions: $ScriptInstallUpdate: use pushpin as bulletGravatar Christian Hesse1-2/+1
2023-10-17global-functions: $SymbolForNotification: support fallback without symbolsGravatar Christian Hesse1-1/+1
2023-10-17introduce mod/notification-ntfy...change-109Gravatar Christian Hesse1-1/+1
... for sending notifications via Ntfy (https://ntfy.sh/). TODO: use proper formatting once supported in Android app: https://github.com/binwiederhier/ntfy/issues/889
2023-10-17log-forward: use colorful bullets to indicate severitychange-108Gravatar Christian Hesse1-1/+4
2023-10-17global-functions: $ScriptInstallUpdate: http-header-field expects an arrayGravatar Christian Hesse1-4/+4
2023-10-17global-functions: $CertificateDownload: http-header-field expects an arrayGravatar Christian Hesse1-1/+1
2023-10-16global-functions: $ParseJson: properly handle arrayGravatar Christian Hesse1-0/+13
2023-10-16global-functions: $ParseJson: prepare elif-workaroundGravatar Christian Hesse1-1/+4
2023-10-16global-functions: $ParseJson: use temporary variablesGravatar Christian Hesse1-3/+5
2023-10-16mod/notification-telegram: drop support for non-fixed width fontchange-107Gravatar Christian Hesse1-1/+1
2023-10-16telegram-chat: act on reply from selfchange-106-1Gravatar Christian Hesse1-1/+1
2023-10-16global-functions: $ParseJson: handle outher curly bracketsGravatar Christian Hesse1-1/+6
2023-10-16global-functions: $ParseJson: drop superfluous substractionGravatar Christian Hesse1-1/+1
2023-10-16global-functions: make $ParseJson globalGravatar Christian Hesse1-0/+29
2023-09-18global-functions: split off $FormatMultiLines ...Gravatar Christian Hesse1-7/+21
... to format multiple lines from an array.
2023-09-15global-functions: $EitherOr: properly handle time valuesGravatar Christian Hesse1-0/+3
2023-08-31check-routeros-update: support update from specific neighbor(s)change-105Gravatar Christian Hesse1-1/+1
... by matching the identity property.
2023-08-18global-functions: prepare user-agent for fetch in global variableGravatar Christian Hesse1-6/+6
2023-08-15news and migration for wifiwave2change-104Gravatar Christian Hesse1-1/+1
2023-06-28global-functions: $MkDir: drop extra block, restore indentionGravatar Christian Hesse1-14/+13
We had this to make the previous commit cleaner. No functional change.
2023-06-28global-functions: $MkDir: drop old code with smb workaround...routeros-7.9beta4-5Gravatar Christian Hesse1-41/+2
... and increase required RouterOS.
2023-06-28hotspot-to-wpa-cleanup: drop hard-coded server name, find by commentchange-103Gravatar Christian Hesse1-1/+1
2023-06-28hotspot-to-wpa: support non-local userschange-102Gravatar Christian Hesse1-1/+1
This has some limitations, though: The password is not known and additional configuration can not be given in user's comment.
2023-06-27global-functions: escaping question mark is no longer requiredGravatar Christian Hesse1-3/+3
2023-06-27global-functions: $IsTimeSync: calculate with uptime, drop schedulerGravatar Christian Hesse1-5/+6
2023-06-22global-functions: $IsTimeSync: reset ntp client when "waiting"Gravatar Christian Hesse1-0/+13
Every now and then the ntp client stays in status "waiting" forever... This happens if the server answers, but is not accurate enough. Unlike with connection failure the address is not rotated. (SUP-120012) Let's reset it... Should help with a pool address (like pool.ntp.org) at least.
2023-06-13introduce fw-addr-listschange-101Gravatar Christian Hesse1-1/+1
2023-06-13global-functions: $CertificateDownload: add proper version in user agentGravatar Christian Hesse1-3/+4
2023-06-01global-functions: $CertificateDownload: add a delayGravatar Christian Hesse1-0/+1
For any reason the imported certificate(s) is/are not available for fetch command immediately. Let's add a delay here... It should not hurt as certificates are not imported that often.
2023-06-01global-functions: $ScriptInstallUpdate: handle scripts with DOS line endingsGravatar Christian Hesse1-1/+1
If the script is converted to DOS line endings (\r\n) on the device it was no longer handled by $ScriptInstallUpdate. Let's change that...
2023-05-10global-functions: $ParseDate: handle date in ISO standard formatrouteros-7.10beta5-1Gravatar Christian Hesse1-0/+6
This was introduced with RouterOS 7.10beta5... https://xkcd.com/1179/ 😜
2023-05-10global-functions: introduce $ParseDateGravatar Christian Hesse1-0/+13
The extra indention is intended for a later change.
2023-04-26mod/ssh-keys-import: make ssh-keys-import a modulerouteros-7.9beta4-3change-100Gravatar Christian Hesse1-1/+1
2023-04-24dhcp-to-dns: get domain from dhcp server's network definitionchange-99Gravatar Christian Hesse1-1/+1
2023-04-24global-functions: $DeviceInfo: use $FormatLineGravatar Christian Hesse1-15/+16
2023-04-24global-functions: introduce $FormatLineGravatar Christian Hesse1-0/+27
2023-04-07check-certificates: try all SANs for downloadchange-98Gravatar Christian Hesse1-1/+1
2023-03-30global-functions: $VersionToNum: support "alpha" in version stringGravatar Christian Hesse1-3/+6
2023-03-30global-functions: $RequiredRouterOS: accept "alpha" in version stringGravatar Christian Hesse1-1/+1
2023-03-28global-functions: $MkDir: make directory by adding filerouteros-7.9beta4-2Gravatar Christian Hesse1-1/+18
This is new functionality in RouterOS 7.9beta4, where new file can be added with `/file/add ...`. This also creates directories for the full path.
2023-03-28global-functions: $MkDir: add extra block for indention...Gravatar Christian Hesse1-30/+32
... to make the next commit cleaner. No functional change.
2023-03-28global-functions: $MkDir: create tmpfs in local functionGravatar Christian Hesse1-10/+22
2023-03-28global-functions: $MkDir: return false on errorGravatar Christian Hesse1-1/+1
2023-03-28global-functions: $MkDir: drop unused functionGravatar Christian Hesse1-1/+0
2023-03-22dhcp-to-dns: always create A record with mac address...change-97Gravatar Christian Hesse1-1/+1
... and an optional CNAME with host name.
2023-03-20netwatch-notify: support note in notificationchange-96Gravatar Christian Hesse1-1/+1
2023-03-10global-functions: $ScriptInstallUpdate: add proper version in user agentGravatar Christian Hesse1-2/+5
This allows me to identify what RouterOS versions are run on devices fetching my scripts, which may helps to decide what incompatible changes to push.
2023-03-07global-functions: $ScriptInstallUpdate: make sure not to match selfGravatar Christian Hesse1-1/+1
2023-03-07rename scripts and add file extension ".rsc"change-95Gravatar Christian Hesse1-0/+1292
No functional change for the user... The migration is done automatically.