Further testing of SNMP feat, however I'm running into the issue `Error in SNMP check: RequestTimedOutError: Request timed out` when the check function is called. I am unsure as to why since my local SNMP script works great with very similar code.
This commit introduces a new SNMP monitor feature to the application, allowing users to monitor devices using SNMP (Simple Network Management Protocol).
* WIP, still need to handle npm run reset-password
* Implement it for "npm run reset-password"
Bug fixes and change along with this commit
- Move `ssl`, `hostname`, `port` to ./server/config.js, so `reset-password` is able to read it
- Fix: FBSD is missing, no idea who dropped it.
- Fix: Frontend code should not require any backend code (./server/config.js), moved "badgeConstants" to the common util (./src/util.ts) and drop vite-common.js
* Minor
* Feat: Add json-query MQTT monitor type
* Fix: Allow result to be null
* Fix: Remove unused parameter
* Chore: Update JSDoc
* Fix: Add default if checkType is not set
---------
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
* 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>
* Fix case for setting httpBodyEncoding to null - does work for http, but not for keyword if anything else but json.
* Updating case.
* Update src/pages/EditMonitor.vue
Added suggestion from @CommanderStorm
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* Update src/pages/EditMonitor.vue
Co-authored-by: Frank Elsinga <frank@elsinga.de>
---------
Co-authored-by: Anders Kvist <ak@cego.dk>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
* 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: 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>
* Fixed the sql monitor not having the query required
* Apply suggestions from code review
* added `redis` and `mongodb` to the connectionString as requested by @chakflying
* 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>
* ✨ 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>