* 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).