Commit Graph

162 Commits

Author SHA1 Message Date
Frank Elsinga
8d11807f77
fix(ci): make wss not depend on external dependencys (#6622) 2026-01-06 20:24:06 +00:00
mkdev11
5ab3a68718 test: fix TLS alert tests to use unit tests instead of unreliable external servers
- Replace client.badssl.com tests with unit tests for parseTlsAlertNumber and getTlsAlertName
- Export helper functions for testing
- Keep one integration test for connection success scenario
2026-01-06 20:29:21 +02:00
mkdev11
56d51bcf82 docs: add comment clarifying translatability of TLS error messages
Error messages could be translated, but TLS alert names (e.g., certificate_required)
are from RFC 8446 spec and should remain in English for consistency.
2026-01-06 20:29:21 +02:00
mkdev11
dc1e96f7d1 refactor: address CommanderStorm's review feedback
- 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
2026-01-06 20:29:21 +02:00
mkdev11
327b51f304 refactor: integrate TLS alert checking into TCP monitor
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
2026-01-06 20:28:09 +02:00
mkdev11
7920057207 feat: add TLS monitor type for mTLS endpoint monitoring
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
2026-01-06 20:27:15 +02:00
leonace924
f0751fcf5a fix: update the test 2026-01-06 02:37:05 -05:00
leonace924
806dadce5c fix: update the test 2026-01-06 02:11:49 -05:00
leonace924
c7702a3b23 fix: update the test to pass CI test 2026-01-06 02:05:23 -05:00
leonace924
a034436769 fix: apply both updates to mssql server monitor and mssql test 2026-01-06 01:54:38 -05:00
leonace924
32456d32fe fix: address the comment 2026-01-06 01:42:20 -05:00
Pegasus
9437d25074 Update server/monitor-types/mysql.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-06 01:42:20 -05:00
Pegasus
857f4e9550 Update server/monitor-types/mysql.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-06 01:42:20 -05:00
Pegasus
0188769636 Update server/monitor-types/mysql.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-06 01:42:20 -05:00
leonace924
e6481fa8aa fix: remove duplicate and keep old behavior 2026-01-06 01:42:20 -05:00
leonace924
d825352410 feat: extract MySQL/MariaDB monitor to its own monitor-type and enable conditions support 2026-01-06 01:42:20 -05:00
mkdev11
8b145d2522 refactor: split MQTT check() into smaller functions
Per CommanderStorm's feedback, refactor the check() method into:
- checkKeyword() - for legacy keyword matching
- checkJsonQuery() - for legacy JSONata query
- checkConditions() - for new conditions system

Also add test cases for MQTT conditions:
- Message condition with contains operator
- Topic condition with equals operator
- Condition mismatch rejection
- Multiple conditions with AND logic

This improves readability and maintainability.
2026-01-06 03:48:31 +02:00
mkdev11
e22784aaea fix: guard against undefined conditions in MQTT monitor
Add check for monitor.conditions before calling fromMonitor() to
prevent JSON.parse(undefined) error when monitors don't have
conditions defined.
2026-01-06 03:19:22 +02:00
mkdev11
cf1391db6b feat: add conditions support for MQTT monitor type
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
2026-01-06 03:08:10 +02:00
Eddie Fiorentine
afa81fdef8
Update server/monitor-types/sip-options.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-04 22:22:25 -05:00
Eddie Fiorentine
7827033456
Update server/monitor-types/sip-options.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-04 22:22:17 -05:00
Eddie Fiorentine
032eb891ae
Update server/monitor-types/sip-options.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-04 22:21:51 -05:00
Frank Elsinga
5baac436d3
Merge branch 'master' into master 2026-01-03 17:12:44 +01:00
Markus Reisenhofer
d096e2902c
feat(gamedig): Update gamedig implementation to v5 (#4949)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-03 05:56:38 +00:00
iotux
b3f84f0bf8
Merge branch 'louislam:master' into feature/local-service-monitor 2026-01-02 13:56:19 +07:00
Frank Elsinga
951b375a60
Merge branch 'master' into feature/5934 2026-01-02 07:27:51 +01:00
iotux
e99cd18268
Update server/monitor-types/system-service.js
Thanks for your help wit this

Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-02 07:07:47 +01:00
iotux
1faed64e13 Merge remote-tracking branch 'upstream/master' into feature/local-service-monitor 2026-01-01 12:11:27 +01:00
iotux
2c47174a04 Merge branch 'feature/local-service-monitor' of https://github.com/iotux/uptime-kuma into feature/local-service-monitor 2026-01-01 09:55:14 +01:00
iotux
97d836d7f4 Modified according to review 2026-01-01 09:41:24 +01:00
iotux
6bc382ef4d
Update server/monitor-types/system-service.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-01 08:41:09 +01:00
iotux
f3c554d0ec
Update server/monitor-types/system-service.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-01 08:37:42 +01:00
iotux
6c93930d3e
Update server/monitor-types/system-service.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-01 08:35:59 +01:00
iotux
2dbd8aecf2
Update server/monitor-types/system-service.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-01 08:34:47 +01:00
Frank Elsinga
bcdf6b8959
Merge branch 'master' into websocket_test 2026-01-01 08:25:14 +01:00
iotux
c09882b00a
Update server/monitor-types/system-service.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-01 08:19:55 +01:00
iotux
134877317c
Update server/monitor-types/system-service.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-01 08:18:05 +01:00
iotux
132a03874d
Update server/monitor-types/system-service.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-01 08:03:57 +01:00
PoleTransformer
8594bc81b3 Enforce backend WS timeout + subprotocol logic + formatting 2025-12-31 09:51:53 -08:00
PoleTransformer
20e2cf69e4 Add timeout selection + refine error logic + update tests 2025-12-30 20:29:55 -08:00
PoleTransformer
a2c81ebf44 minor patch 2025-12-30 17:57:29 -08:00
PoleTransformer
0bee90ea31 WS test status code support + improved error handing + subprotocol input 2025-12-30 17:49:09 -08:00
iotux
1d118b4852
Merge branch 'louislam:master' into feature/local-service-monitor 2025-12-30 19:53:40 +07:00
Pedro Magno
e62008cfb0
Merge branch 'master' into feature/mssql-monitor 2025-12-30 11:16:42 +00:00
Pedro Magno
534ba5d547 chore: Extract the sqlserver monitor to its own monitor-type. Enable support conditions for a single result value. 2025-12-30 11:06:04 +00:00
xNewz
7ef7abe6be fix: remove accidental websocket changes 2025-12-30 14:15:21 +07:00
xNewz
7e74579312 Handle websocket errors with missing messages 2025-12-30 07:52:49 +07:00
iotux
fcdc22a661
Merge branch 'louislam:master' into feature/local-service-monitor 2025-12-24 12:20:14 +07:00
Anthony
b6e8d548b0
fix: update dns monitor to evaluate full response list on CAA resolver_type (#6520) 2025-12-24 03:36:28 +01:00
iotux
97ba9e46e3 Removed dropdown in UI, and some template/i18n cleanups 2025-12-23 12:18:33 +01:00