Commit Graph

2022 Commits

Author SHA1 Message Date
Shaan a117add908 fix: Proper processing of date fields (Domain Expiry) with cleanup of unnecessary Date comparison functions (#6638)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-09 04:18:17 +01:00
Frank Elsinga 0f61d7ee1b chore: enable formatting over the entire codebase in CI (#6655)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-09 02:10:36 +01:00
Angel98518 27c0ae8f1e fix: RabbitMQ monitor to more properly handle all nodes failure (#6646)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-08 23:44:40 +00:00
Frank Elsinga 5accda390e chore: make the monitors consistently log using this.name where appropriate (#6651) 2026-01-08 21:38:10 +00:00
Yasindu Dasanga De Mel 267c1402df feat: add Halo PSA webhook notification provider (#6560)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-08 21:05:23 +00:00
Frank Elsinga 0c35ce1ae9 fix: webhook method is undefined on older notification providers (#6650) 2026-01-08 19:15:02 +00:00
PoleTransformer 5d9a570c77 feat: DNS monitor multi IP address and hostname support for Resolver Servers (#6524)
Co-authored-by: PoleTransformer <you@example.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-08 10:11:49 +00:00
Frank Elsinga 79b3274441 chore: remove domain expiry from systemd and some other monitors by allowlisting insted of denylisting (#6643) 2026-01-08 10:01:33 +00:00
Joseph Adams 0eca301181 fix: noisy domain expiry checks in monitor editor and missing debuggability (#6637)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-08 05:22:08 +00:00
Erik Benoist e31ef63b01 feat: Adds support for ntfy's phone call feature (#6640) 2026-01-08 01:16:49 +01:00
Pegasus d05303963d feat: add UPTIME_KUMA_DB_PASSWORD_FILE and UPTIME_KUMA_DB_USERNAME_FILE for docker secrets control (#6629)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-07 04:38:38 +00:00
Angel98518 5c2b659f29 chore: Add validation for retryInterval in Monitor.validate() (#6628) 2026-01-07 04:36:30 +01:00
Frank Elsinga 88e7887a87 chore: made code more robust to undefined expiry (#6625)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-06 22:39:11 +00:00
Cyril59310 fc832d0935 feat: Added a translation key for “Password is too weak (#6614)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-06 20:53:51 +00:00
Frank Elsinga 8d11807f77 fix(ci): make wss not depend on external dependencys (#6622) 2026-01-06 20:24:06 +00:00
Frank Elsinga 56175bce85 chore: improve some domain expiry logs (#6623)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-06 20:11:41 +00:00
copilot-swe-agent[bot] ac121ada4e Update domain expiry warning message to be more explicit about RDAP endpoint
Co-authored-by: CommanderStorm <26258709+CommanderStorm@users.noreply.github.com>
2026-01-06 19:26:01 +00:00
MkDev11 dda9bb132d Merge branch 'master' into tls-monitor-type 2026-01-06 10:39:01 -08:00
Angel98518 951f109512 fix: add error logging to cloudflared socket handler empty catch blocks
Previously, errors in cloudflared socket handlers were silently swallowed
by empty catch blocks, making debugging difficult. This commit adds
proper error logging to all empty catch blocks in the cloudflared
socket handler to improve observability and debugging.

- Added error logging to join handler
- Added error logging to leave handler
- Added error logging to start handler
- Added error logging to removeToken handler
2026-01-06 19:31:25 +01: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
MkDev11 b1355c67f0 feat(serwersms): add group messaging support (#6610)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-01-06 17:12:51 +00:00
IsayIsee 2cf2faa3a9 Merge branch 'master' into my_dev 2026-01-06 17:48:30 +08:00
autofix-ci[bot] e28bdeeb84 [autofix.ci] apply automated fixes 2026-01-06 09:47:51 +00:00
IsayIsee cae76f022f Implement message sanitization for Aliyun SMS
Added a method to remove IP addresses and domains from SMS messages to comply with Aliyun SMS restrictions.
2026-01-06 17:21:11 +08: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 2d94803876 fix: remove unused code 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
leonace924 ad1b0c10a0 fix: address the comments 2026-01-06 00:15:54 -05:00
leonace924 ac87fa1969 feat: add rss title field and handle rss link from request 2026-01-06 00:15:53 -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
Frank Elsinga 1f1d28aaa2 Merge branch 'master' into google-chat-url-link 2026-01-06 00:51:50 +01:00
mkdev11 4cad39740e refactor: use extractAddress() method for monitor address
Address review feedback from CommanderStorm to use the inherited
extractAddress() method instead of directly accessing monitorJSON["url"].
This properly handles different monitor types (ping, port, dns, etc.).
2026-01-06 01:43:40 +02:00
Frank Elsinga 038184f7fe Update server/model/monitor.js 2026-01-05 20:25:22 +01:00
Frank Elsinga b2c9ccbeee Update server/model/monitor.js 2026-01-05 20:25:14 +01:00
Frank Elsinga d7db40ba52 Merge branch 'master' into CommanderStorm-patch-2 2026-01-05 18:13:26 +01:00
mkdev11 13b49bb417 feat: add monitored URL link to Google Chat notifications
Add the monitored service URL as a clickable link in Google Chat
notifications, allowing users to quickly navigate to the affected
service for immediate investigation.

Closes #5952
2026-01-05 15:56:26 +02:00