Commit graph

49 commits

Author SHA1 Message Date
Matt Visnovsky
2b5d100cd3 Ensure SNMP session is closed properly
Addresses https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1589858252

Co-Authored-By: Frank Elsinga <frank.elsinga@tum.de>
2024-05-06 15:56:41 -06:00
Matt Visnovsky
e9b52eb0e7 Separate error cases for SNMP varbind returns 2024-05-06 14:06:40 -06:00
Matt Visnovsky
c68b1c6274 Remove unnecessary func getKey 2024-05-06 12:05:12 -06:00
Matt Visnovsky
433e317eee Simplify error catch
Co-Authored-By: Frank Elsinga <frank.elsinga@tum.de>
2024-05-06 09:57:13 -06:00
Matt Visnovsky
1fe1bb5864 Given that above throws, the else case is not nessesary
Co-Authored-By: Frank Elsinga <frank.elsinga@tum.de>
2024-05-06 09:53:14 -06:00
Matt Visnovsky
997791bc78 Default: invalid condition error
Co-Authored-By: Frank Elsinga <frank.elsinga@tum.de>
2024-05-06 09:51:37 -06:00
Matt Visnovsky
0384b34007 Remove unnecessary func getKey
Addresses:
- https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1589856311
- https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1589862733
2024-05-06 09:49:36 -06:00
Matt Visnovsky
0280b2ad3f A comment about varbinds[0] for clarification
Addresses https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1589855126
2024-05-06 09:21:49 -06:00
Matt Visnovsky
4386d0afad Apply suggestions from code review
Addresses:
-https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1589805237
-https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1589806199
-https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1589853470
-https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1589854032
2024-05-05 15:47:43 -06:00
Matt Visnovsky
09fd816aae Updated code comments 2024-05-03 11:52:02 -06:00
Matt Visnovsky
c87ac2f043 Move getKey() to util.ts 2024-05-03 11:39:14 -06:00
Matt Visnovsky
8e56a81ef1 Refactor how strings/numerics are parsed
Fixes issue `toString() radix argument must be between 2 and 36` due to `.toString("ascii")` conversion. This issue was introduced in 704ffd3f4b.
2024-05-02 15:11:03 -06:00
Matt Visnovsky
f059d54349 Use frontend timeout
Addresses https://github.com/louislam/uptime-kuma/pull/4717#discussion_r1585616669
2024-05-02 15:07:22 -06:00
Matt Visnovsky
9ba0f68a86 Remove supurfluous log.debug
Co-Authored-By: Frank Elsinga <frank.elsinga@tum.de>
2024-04-30 18:19:18 -06:00
Matt Visnovsky
7459654e11 ES Lint Compliant 2024-04-30 18:04:59 -06:00
Matt Visnovsky
ba47aca51f
Apply suggestions from code review
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2024-04-30 17:54:29 -06:00
Frank Elsinga
b4bd003626
Merge branch 'master' into snmp-monitor 2024-05-01 00:01:03 +02:00
Matt Visnovsky
704ffd3f4b Finalized SNMP monitor 2024-04-30 15:18:25 -06:00
Matt Visnovsky
99dc4cfb46 Wrong variable used
Thanks for pointing it out @CommanderStorm!
2024-04-29 22:24:51 -06:00
Matt Visnovsky
4a882be6ba Further SNMP monitor development
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.
2024-04-29 15:59:59 -06:00
Matt Visnovsky
a3cdd69995 Use net-snmp instead of snmp-native
net-snmp over snmp-native is:
-more robust
-more popular
-better documented
-supports v3
2024-04-29 13:58:43 -06:00
Matt Visnovsky
d92003e172 SNMP Initial Commits
This commit introduces a new SNMP monitor feature to the application, allowing users to monitor devices using SNMP (Simple Network Management Protocol).
2024-04-26 19:05:56 -06:00
Louis Lam
63a380326d Merge branch '1.23.X' into 1.23.13-to-2.0.0
# Conflicts:
#	.github/workflows/auto-test.yml
#	package-lock.json
#	package.json
#	server/database.js
#	server/model/monitor.js
#	server/monitor-types/real-browser-monitor-type.js
#	server/util-server.js
#	test/cypress/unit/i18n.spec.js
2024-04-25 15:42:53 +08:00
Frank Elsinga
0e3b3a9ab8
Made sure that more of the async usages are awaited (#4574) 2024-03-15 15:02:55 +01:00
Frank Elsinga
a9a1cf1353
Chore: General notification reformatting (#3182)
- I unified where in file the name of `NotificationProvider.name` is placed
- I made sure that all the providers adhere to the signature of `NotificationProvider.send()`
- I made sure that all the providers use `okMsg` if returning success messages directly from the function.
  Here a discussion should be had:
  Should this be refactored into a constant of `NotificationProvider`? I could imagine that `NotificationProvider.SENDING_SUCCESSFULL`  could be a suitable alternative.
- I made sure all providers have the URL they `POST`/`GET` to be extraced into a variable.
  => refactored this way due to Nelsons suggestion
2024-03-14 14:21:15 +01:00
Stefan Heine
6bfc58674a MQTT monitor, set the MQTT clientId to make it easier in the MQTT broker to identify where the connections are coming from 2024-02-19 07:57:34 +01:00
Stefan Heine
1b293f2754 MQTT monitor, set the MQTT clientId to make it easier in the MQTT broker to identify where the connections are coming from 2024-02-19 07:42:37 +01:00
Nelson Chan
cf075a8793
Fix: missing await in getRemoteBrowser() (#4418) 2024-01-26 06:53:15 +08:00
Nelson Chan
288cab6dd7
Fix: Make sure browser is connected before returning (#4417) 2024-01-25 07:59:42 +08:00
Louis Lam
2a315d4c84 Merge branch '1.23.X' into merge
# Conflicts:
#	package-lock.json
#	package.json
2024-01-03 02:10:01 +08:00
Louis Lam
8151ac0e25
Fix Async child process output issue (#4231) 2023-12-14 04:54:34 +08:00
Nelson Chan
46432618e1
Feat: Add json-query to MQTT monitor type (#3857)
* 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>
2023-12-03 01:36:19 +08:00
Louis Lam
c5d9c54a04 Merge branch 'master' into 1.23.X-merge-to-2.X.X-2
# Conflicts:
#	package.json
2023-12-02 18:43:06 +08:00
Louis Lam
81c9900e23 Merge branch '1.23.X' into 1.23.X-merge-to-2.X.X-2
# Conflicts:
#	docker/debian-base.dockerfile
2023-12-01 15:50:35 +08:00
Adam Hancock
62780001f7
Feature: remote browser support (#3904)
* [empty commit] pull request for remote browser support

* Remote browser: Added UI screens and DB tables.

* Remote browser working

* Fixing tests

* Fix tests

* Fix tests

* fix tests

* Test browser

* revert init_db.js

* Changed drop down to ActionSelect

* Fix translations

* added remote browsers toggle

* revert changes package-lock

* Fix bad english

* Set default remote browser

* Remote browsers Requested changes

* fixed description.
2023-12-01 15:29:10 +08:00
Louis Lam
9fb95fe95e
Add support for /snap/bin/chromium (#4141) 2023-12-01 14:25:41 +08:00
Louis Lam
1708b67949
Change execSync/spawnSync to async (#4123)
* WIP

* Add missing await

* Update package-lock.json
2023-11-30 16:12:04 +08:00
Louis Lam
e9bf02fc2c Merge branch '1.23.X' into 1.23.X-merge-to-2.X.X-2
# Conflicts:
#	package-lock.json
#	package.json
#	server/model/monitor.js
#	server/monitor-types/tailscale-ping.js
#	server/socket-handlers/general-socket-handler.js
#	server/uptime-kuma-server.js
2023-11-25 03:25:03 +08:00
Louis Lam
4255496b11 Rewrite Tailscale ping using spawnSync 2023-11-24 17:29:42 +08:00
Chongyi Zheng
ddd135efa8
Confirm chrome path in macOS is correct (#3950) 2023-10-28 08:15:49 +08:00
Nelson Chan
9379498b49
Chore: Allow MS Edge for real-browser monitor (#3941) 2023-10-27 18:46:13 +08:00
Louis Lam
a362206fab Fix: do not colorize non-string log message 2023-10-14 17:48:41 +08:00
Frank Elsinga
d6af9162c1
Chore: Extracted the dns monitor to its own monitor-type (#3413)
* extracted the dns monitor to its own monitor-type

* linting fixes

* another formatting fix

* Fix: Improve dnsMessage handling (#3614)

* fixed docs

* fixed formatting changes
2023-09-09 18:14:55 +08:00
Matthew Nickson
8a92054c2b
Added JSDoc to ESLint (#3529)
* Added JSDoc to eslint rules

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>

* Fixed JSDoc eslint errors

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>

* Update the check-linters workflow to Node.js 20

---------

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2023-08-11 15:46:41 +08:00
SGprooo
1d9a28e9ab
feat: Tailscale ping monitor (#3178)
* 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>
2023-07-19 20:58:21 +08:00
Louis Lam
3b9c95a8a8
Prevent users from specifying an unexpected executable as Chromium (#3348) 2023-07-08 15:52:09 +08:00
Louis Lam
8c60e902e1 Remove an unused variable 2023-07-01 22:44:33 +08:00
Louis Lam
4f6035899d
Real browser monitor type (#3308) 2023-06-27 15:54:33 +08:00
Louis Lam
e5ca67d062
HTTPS Monitor using Real Browsers + Limited plugin support (#1787) 2023-01-27 18:25:57 +08:00