aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-11-09mod/ssh-keys-import: calculate fingerprint...routeros-7.12beta1-2change-112Gravatar Christian Hesse4-3/+15
... and store it in key-owner, which is descriptive only. This requires RouterOS 7.12beta1 for the 'transform' property for ':convert' command.
2023-11-07mod/ssh-keys-import: parse key into arrayGravatar Christian Hesse1-8/+10
2023-11-07README: print name with proplist for certificate verificationGravatar Christian Hesse2-3/+4
2023-11-07README: reference stable versionGravatar Christian Hesse1-1/+1
2023-11-07global-functions: $ParseDate: drop code for old format...routeros-7.10beta5-2Gravatar Christian Hesse2-11/+2
... 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-27netwatch-notify: match on word boundaryGravatar Christian Hesse1-1/+1
2023-10-27netwatch-dns: match on word boundaryGravatar Christian Hesse1-2/+2
2023-10-27dhcp-to-dns: prepare string 'mac in server'Gravatar Christian Hesse1-15/+11
2023-10-27dhcp-to-dns: prepare full names for A and CNAME recordsGravatar Christian Hesse1-14/+16
2023-10-27dhcp-to-dns: info on mac address bound multiple timeGravatar Christian Hesse1-0/+3
2023-10-27dhcp-to-dns: warn on duplicate namesGravatar Christian Hesse1-0/+5
2023-10-27dhcp-to-dns: allow multiple records for one mac addresschange-111Gravatar Christian Hesse3-25/+34
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-26README: explain sensitive propertyGravatar Christian Hesse1-0/+3
2023-10-26global: switch eworm.de to new certificate chain (E1 / ISRG Root X2)Gravatar Christian Hesse9-142/+15
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-24check-health: reverse logic for RAM (free -> utilization)...Gravatar Christian Hesse6-19/+20
... to bring it in sync with CPU utilization. Also make the output more verbose, at least for the warning. ---- ✂️ ---- 🗃️📈️ Health warning: RAM utilization The RAM utilization on MikroTik is at 81%! total: 64 MiB used: 52 MiB free: 11 MiB ---- ✂️ ---- 🗃️📉️ Health recovery: RAM utilization The RAM utilization on MikroTik decreased to 65%. ---- ✂️ ----
2023-10-19fw-addr-lists: rework the retry logicGravatar Christian Hesse1-4/+7
... with increasing delay.
2023-10-19telegram-chat: rework the retry logicGravatar Christian Hesse1-3/+5
... with increasing delay.
2023-10-19log-forward: keep the warning in subject for higher severityGravatar Christian Hesse1-0/+1
2023-10-19telegram-chat: log when sending noticeGravatar Christian Hesse1-0/+1
2023-10-19telegram-chat: drop extra conversionGravatar Christian Hesse1-1/+1
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-17telegram-chat: retry on fetch failure...Gravatar Christian Hesse1-7/+16
... and exit with a warning.
2023-10-17accesslist-duplicates: remove extra checkGravatar Christian Hesse4-12/+4
Why did we have that? Possibly for performance? Well, should not be a problem now.
2023-10-17accesslist-duplicates: use another named arrayGravatar Christian Hesse4-52/+40
2023-10-17accesslist-duplicates: use named arrayGravatar Christian Hesse4-60/+36
2023-10-17daily-psk: use named arrayGravatar Christian Hesse4-36/+16
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 Hesse3-12/+4
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-17mod/notification-ntfy: check for root certificate availabilityGravatar Christian Hesse1-0/+6
... at least with default server.
2023-10-17introduce mod/notification-ntfy...change-109Gravatar Christian Hesse19-14/+243
... 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-17sms-forward: pass phone number and message to hookGravatar Christian Hesse2-2/+4
These are available as $Phone and $Message in hook.
2023-10-17log-forward: add 'packet' in default filter...Gravatar Christian Hesse1-1/+1
... which is used when logging raw packets from dns and ssh, and possibly others.
2023-10-17log-forward: use colorful bullets to indicate severitychange-108Gravatar Christian Hesse3-4/+12
2023-10-17gps-track: http-header-field expects an arrayGravatar Christian Hesse1-1/+1
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-17Merge branch 'telegram' into nextGravatar Christian Hesse9-86/+146
2023-10-17telegram-chat: make messages silent...Gravatar Christian Hesse1-2/+2
... at least those not indicating an error.
2023-10-16telegram-chat: use $ParseJson for all JSONGravatar Christian Hesse1-2/+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 Hesse4-15/+5
2023-10-16telegram-chat: do not act on foreign reply...Gravatar Christian Hesse2-4/+2
... even if active!
2023-10-16telegram-chat: rename variableGravatar Christian Hesse1-3/+3
2023-10-16telegram-chat: answer question mark with short noticechange-106-2Gravatar Christian Hesse3-2/+13
2023-10-16telegram-chat: restore indentionGravatar Christian Hesse1-25/+25
2023-10-16telegram-chat: do not nest conditionsGravatar Christian Hesse1-3/+4
2023-10-16telegram-chat: act on reply without delayGravatar Christian Hesse1-4/+4
2023-10-16telegram-chat: act on reply from selfchange-106-1Gravatar Christian Hesse5-2/+20
2023-10-16doc/telegram-chat: update screenshotsGravatar Christian Hesse2-0/+0
2023-10-16mod/notification-telegram: remember ids of sent messagesGravatar Christian Hesse1-9/+17
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 Hesse2-26/+30
2023-10-16telegram-chat: parse (one level of) JSON into arrayGravatar Christian Hesse1-33/+41
2023-10-16telegram-chat: do not cover existing variableGravatar Christian Hesse1-3/+3
2023-10-16update list of contributorsGravatar Christian Hesse1-0/+1
2023-10-06mod/notification-email: handle new property name...routeros-7.12rc1-1Gravatar Christian Hesse1-2/+3
... which changed in RouterOS 7.12rc1.
2023-10-05log-forward: add 'raw' in default filter...Gravatar Christian Hesse1-1/+1
... which is used when logging raw packets or commands.
2023-10-05collect-wireless-mac: ignore remote aps...Gravatar Christian Hesse2-2/+2
... which are listed here in station mode.
2023-09-29netwatch-notify: allow to give different origin for hosts...Gravatar Christian Hesse1-6/+4
... to use differing notification settings. Add an origin name in netwatch configuration: /tool/netwatch/add comment="notify, name=dns-google, origin=netwatch-notify-google" address=8.8.8.8; /tool/netwatch/add comment="notify, name=dns-cloudflare, origin=netwatch-notify-cloudflare" address=1.1.1.1; Then configure the notification settings in `global-config-overlay`: :global EmailGeneralToOverride { "netwatch-notify-google"="google@example.com"; "netwatch-notify-cloudflare"="cloudflare@example.com"; } I think it is best to handle this as a hidden setting... Handle with care!
2023-09-22collect-wireless-mac: filter on dns typeGravatar Christian Hesse4-4/+4
2023-09-20collect-wireless-mac: add CNAME(s) in notificationGravatar Christian Hesse4-8/+24
2023-09-18global-functions: split off $FormatMultiLines ...Gravatar Christian Hesse2-8/+23
... to format multiple lines from an array.
2023-09-15telegram-chat: create status files with /file/addrouteros-7.9beta4-9Gravatar Christian Hesse1-4/+4
We have no content, thus no issues with file size.
2023-09-15telegram-chat: use the full command name :executeGravatar Christian Hesse1-1/+1
2023-09-15global-functions: $EitherOr: properly handle time valuesGravatar Christian Hesse1-0/+3
2023-09-13drop dummy scripts used for wifiwave2 migrationGravatar Christian Hesse4-12/+0
This now causes expected warnings on first run of $ScriptInstallUpdate.
2023-09-13check-routeros-update: do not match the channel on neighbor updateGravatar Christian Hesse1-1/+1
While this works for stable, it does not for testing: The testing channel can have "testing" in the string for rc releases, but also "development" for beta releases... and possibly more. Instead match on version string only, with word boundary.
2023-09-13lease-script: match on word boundaryGravatar Christian Hesse1-2/+1
2023-09-13packages-update: match on word boundaryGravatar Christian Hesse1-2/+1
2023-09-13doc/packages-update: mention and link all backup scriptsGravatar Christian Hesse1-3/+7
2023-09-13packages-update: drop order from messageGravatar Christian Hesse1-1/+1
2023-09-13packages-update: implement backup script orderGravatar Christian Hesse5-8/+18
2023-09-06fw-addr-lists: no (mixed) capitalization in messageGravatar Christian Hesse1-1/+1
2023-08-31check-routeros-update: show neighbor's identity in message and notificationGravatar Christian Hesse1-9/+13
2023-08-31check-routeros-update: support update from specific neighbor(s)change-105Gravatar Christian Hesse5-2/+8
... by matching the identity property.
2023-08-30backup-upload: revert changes, add comment with warningGravatar Christian Hesse1-21/+13
Turned out that using `/file/add ...` introduced a regression. Accessing (reading and writing) file contents is limited to 4095 bytes. This limitation does not exist for `:execute script=... file=...`, so keep the old code. Also add a comment with warning.
2023-08-30backup-email: revert changes, add comment with warningGravatar Christian Hesse1-23/+8
Turned out that using `/file/add ...` introduced a regression. Accessing (reading and writing) file contents is limited to 4095 bytes. This limitation does not exist for `:execute script=... file=...`, so keep the old code. Also add a comment with warning.
2023-08-30backup-upload: check configuration size before writing fileGravatar Christian Hesse1-7/+9
2023-08-30backup-email: check configuration size before writing fileGravatar Christian Hesse1-5/+6
2023-08-29backup-upload: detect failure creating config fileGravatar Christian Hesse1-6/+13
2023-08-29backup-email: detect failure creating config fileGravatar Christian Hesse1-2/+10
2023-08-29backup-email: support indication of failureGravatar Christian Hesse1-2/+9
2023-08-29backup-email: write config file directlyrouteros-7.9beta4-8Gravatar Christian Hesse1-5/+5
This functionality was added in RouterOS 7.9beta4...
2023-08-29backup-upload: write config file directlyrouteros-7.9beta4-7Gravatar Christian Hesse1-5/+5
This functionality was added in RouterOS 7.9beta4...
2023-08-29hotspot-to-wpa-cleanup: show last-seen, not timeoutGravatar Christian Hesse3-3/+3
2023-08-24hotspot-to-wpa-cleanup: require RouterOS for wifiwave2routeros-7.12beta3-1Gravatar Christian Hesse2-0/+4
RouterOS before version 7.12beta3 had a bug where getting comment from registration-table is not possible. Require that version at least. This was fixed in SUP-124500.
2023-08-18global-functions: prepare user-agent for fetch in global variableGravatar Christian Hesse1-6/+6
2023-08-18mod/ssh-keys-import: $SSHKeysImport: add check for key typeGravatar Christian Hesse1-0/+6
2023-08-18mod/ssh-keys-import: support ed25519 keys...routeros-7.12beta1-1Gravatar Christian Hesse2-2/+8
... with RouterOS 7.12beta1
2023-08-18doc/mod/ssh-keys-import: drop duplicate key typeGravatar Christian Hesse1-1/+1
Stupid copy'n'paste error... 🫣
2023-08-18sms-forward: drop RouterOS version dependencyGravatar Christian Hesse2-4/+0
... as global-functions depend on RouterOS 7.9beta already.