- Use i18n-t for description with code tag and RFC 8446 spec link
- Add comment that TLS alert names are from spec (not translatable)
- Refactor TCP monitor into smaller functions:
- checkTcp() for standard TCP connectivity check
- performStartTls() for STARTTLS handshake
- checkTlsCertificate() for TLS certificate validation
- attemptTlsConnection() for TLS connection with alert capture
- Improve error messages with more context
Per CommanderStorm's feedback, instead of creating a separate TLS monitor
type, add the TLS alert checking functionality directly to the existing
TCP monitor.
Changes:
- Add TLS_ALERT_CODES, parseTlsAlertNumber(), getTlsAlertName() to tcp.js
- Add checkTlsAlert() method to TCPMonitorType for mTLS verification
- Add 'Expected TLS Alert' dropdown to TCP monitor UI
- Remove separate TLS monitor type (tls.js)
This allows users to verify mTLS endpoints reject connections without
client certificates by expecting specific TLS alerts like
'certificate_required'.
Closes#5837
Add a new TLS monitor type that allows monitoring mTLS endpoints to verify
they properly reject connections without client certificates.
Features:
- New TLS monitor type with hostname and port configuration
- Expected TLS Alert dropdown to specify which TLS alert to expect
- Support for certificate_required (116) alert for mTLS verification
- Optional certificate expiry monitoring when connection succeeds
- Ignore TLS errors option
Closes#5837
Add rich conditions support to MQTT monitor similar to DNS monitor,
allowing users to define flexible conditions on:
- topic: The MQTT topic that received the message
- message: The raw message content
- json_value: JSONata-extracted value from JSON payloads
This provides a more intuitive and powerful way to validate MQTT
messages compared to the basic keyword/json-query checks.
Maintains backward compatibility with existing keyword and json-query
check types.
Closes#5992
Currently translated at 100.0% (1249 of 1249 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (1243 of 1243 strings)
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sk/
Translation: Uptime Kuma/Uptime Kuma
Currently translated at 98.8% (1234 of 1248 strings)
Translated using Weblate (German (Switzerland))
Currently translated at 97.0% (1211 of 1248 strings)
Translated using Weblate (German)
Currently translated at 98.5% (1208 of 1226 strings)
Translated using Weblate (German (Switzerland))
Currently translated at 98.5% (1208 of 1226 strings)
Co-authored-by: Marco <marco@nanoweb.ch>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/
Translation: Uptime Kuma/Uptime Kuma
Currently translated at 98.8% (1234 of 1248 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (1225 of 1225 strings)
Translated using Weblate (Russian)
Currently translated at 99.7% (1222 of 1225 strings)
Co-authored-by: Virenbar <rib.artem@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/
Translation: Uptime Kuma/Uptime Kuma
Currently translated at 100.0% (1249 of 1249 strings)
Translated using Weblate (French)
Currently translated at 100.0% (1248 of 1248 strings)
Translated using Weblate (French)
Currently translated at 100.0% (1243 of 1243 strings)
Translated using Weblate (French)
Currently translated at 100.0% (1236 of 1236 strings)
Translated using Weblate (French)
Currently translated at 100.0% (1226 of 1226 strings)
Translated using Weblate (French)
Currently translated at 100.0% (1225 of 1225 strings)
Translated using Weblate (French)
Currently translated at 100.0% (1255 of 1255 strings)
Co-authored-by: Cyril59310 <archas.cyril@hotmail.fr>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/
Translation: Uptime Kuma/Uptime Kuma
Currently translated at 100.0% (1226 of 1226 strings)
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (1225 of 1225 strings)
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (1255 of 1255 strings)
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (1248 of 1248 strings)
Co-authored-by: MrEddX <mreddx@chatrix.one>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/bg/
Translation: Uptime Kuma/Uptime Kuma
Currently translated at 100.0% (1249 of 1249 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1248 of 1248 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1243 of 1243 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1236 of 1236 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1226 of 1226 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1225 of 1225 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1255 of 1255 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1248 of 1248 strings)
Co-authored-by: Aluisio <aluisiodeavila@hotmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/
Translation: Uptime Kuma/Uptime Kuma
Currently translated at 89.0% (1107 of 1243 strings)
Translated using Weblate (Indonesian)
Currently translated at 88.7% (1107 of 1248 strings)
Co-authored-by: Andika Triwidada <andika@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/id/
Translation: Uptime Kuma/Uptime Kuma