* extracted the dns monitor to its own monitor-type
* linting fixes
* another formatting fix
* Fix: Improve dnsMessage handling (#3614)
* fixed docs
* fixed formatting changes
* Adding x-www-form-urlencoded
* Adding example of x-www-form-urlencoding to body.
* A bit cleaner.
* Update server/model/monitor.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update src/pages/EditMonitor.vue
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update src/pages/EditMonitor.vue
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
* Add simple test
---------
Co-authored-by: Anders Kvist <ak@cego.dk>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
* Fixed#3520 Validate accepted status codes type
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
* Avoid crash on invalid status code
Instead of failing on an invalid status code, log the error and skip to
next.
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
---------
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
* feat: Add timeoutMs field
* chore: Update Languages (incl. ko-KR)
* Revert "chore: Update Languages (incl. ko-KR)"
This reverts commit 349331a00b.
* chore: Update ko-KR selectively
* chore: Update en selectively
* Merge manually
* Reorder and show only if http related monitors
* fix: Update Korean translation
* fix: Rename timeoutMs to timeout, rename label, make DOUBLE
* fix: Change minimum step to 0.1, matching DOUBLE type
* Put the sql patch at the end
* Update EditMonitor.vue
* Colocate timeout with retry, fix clampTimeout logic, show default on 0
* Update src/pages/EditMonitor.vue to remove a comment
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Fix merge issue
* Update the timeout value while finished editing the interval value
---------
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* FEAT: Allow client side TLS for Docker hosts
Inlcude TLS certificate in HTTPS requests when certificate
files are locally available to Kuma for a host.
* fix: refactor to satisfy linter requirements
* fix: linter
* Feat: Create Group in EditMonitor page
* Fix: Start group mon. after child is added
* Chore: Swap confirm & cancel for ergonomics
* Fix rarely issue that group monitor can throw an error if lastBeat is null
* Resume the group monitor in the callback
---------
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
* feat: add FlashDuty notification channel
* refactor: #3475 nofify with Up or Down;
refactor code;
add en zh-hk zh-tw lang
* refactor: default select Info
* refactor: add space in word
* refactor the flashduty notification code
* refactor:compatible when Test flashduty nofication
* refactor: add function param description
* refactor: revert zh-hk zh-tw changes of flashduty
* Add boilerplate for tailscale ping
* tailscale initial commit draft
* Refactor TailscalePing & better error handling
Split check function into two methods and added async/await syntax for readability/modularity
Switched to promise-based error handling (takes into account different types of error such as "Execution error", "Error in output", "no matching peer", and "is local Tailscale IP") and throws them as JavaScript errors.
* Minor update
* minor update (again)
* Update server/monitor-types/tailscale-ping.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update server/monitor-types/tailscale-ping.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update server/monitor-types/tailscale-ping.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update server/monitor-types/tailscale-ping.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* timeout revision
* JSDoc
* Removed long explainers
* eslint tailscale-ping.js --fix
* reran eslint
* Fix: Use hostname rather than url
* Fixed NaN on monitor interval
now interval value is correctly passed to runTailscalePing
* Add warning message
---------
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Add SMSC, code from #3334
Co-authored-by: FlatronBuda <>
* Update server/notification-providers/smsc.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update server/notification-providers/smsc.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update server/notification-providers/smsc.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update according to @FlatronBuda
* Move to the regional list
---------
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* ✨ feat: json-query monitor added
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
* 🐛 fix: import warning error
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
* 🐛 fix: br tag and remove comment
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
* 🐛 fix: supporting compare string with other types
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
* 🐛 fix: switch to a better lib for json query
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
* 🐛 fix: better description on json query and using `v-html` in jsonQueryDescription element to fix `a` tags
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
* 🐛 fix: result variable in error message
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
* 🐛 fix: typos in json query description
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* 📝 docs: `HTTP(s) Json Query` added to monitor list in `README.md`
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
* 🐛 fix: needed white space in `README.md`
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Nostr dm notifications (#3051)
* Add nostr DM notification provider
* require crypto for node 18 compatibility
* remove whitespace
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* move closer to where it is used
* simplify success or failure logic
* don't clobber the non-alert msg
* Update server/notification-providers/nostr.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* polyfills required for node <= 18
* resolve linter warnings
* missing comma
---------
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Drop nostr
* Rebuild package-lock.json
* Lint
---------
Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
Co-authored-by: zappityzap <128872140+zappityzap@users.noreply.github.com>
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
* fix: update checker
- fixed bug where it would make the request to uptime.kuma.pet regardless of the `checkUpdate` config;
- defined constants in the top of the document for easier configuration/documentation;
- removed unnecessary compareVersions: we were comparing the same var on both sides res.data.beta, so it will always be equal.
* improvement: better logging and added doc
* improved UPDATE_CHECKER_INTERVAL_MS const
---------
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
The prometheus monitor_status metric has actually 4 values. This can easily be verified by looking up the related source code or by using the metric in grafana an see values like 2 (which indicates timeout).