Commit graph

227 commits

Author SHA1 Message Date
Matthew Nickson f9be918246
Add support for MySQL/MariaDB databases #1817
This commit adds support for monitoring MySQL and MariaDB database
servers. The mysql2 package was choosen over mysql as it provides a
promise wrapper and is reportedly faster than the original mysql package
whilst still maintaining the same API.

Signed-off-by: Matthew Nickson <[email protected]>
2022-10-02 01:52:53 +01:00
Louis Lam b1465c0282 - Maintenance standardize datetime format to YYYY-MM-DD hh:mm:ss
- Import dayjs extensions one time only
- Maintenance activeCondition centralize
2022-09-28 00:20:17 +08:00
Louis Lam 3f63cb246b [WIP] Handle timezone offset for timeRange 2022-09-25 19:38:28 +08:00
Matthew Nickson 742b1337be
Merge branch 'master' into feature/#1891-set-ping-packet-size 2022-09-10 21:20:03 +01:00
Louis Lam 197d44981f Merge remote-tracking branch 'origin/master' into test/add-cypress-tests
# Conflicts:
#	package.json
2022-09-09 16:32:23 +08:00
Matthew Nickson c3d655afb4
Merge branch 'master' into feature/#1891-set-ping-packet-size 2022-08-13 21:15:16 +02:00
minhhn3 6bb79597e8 fix: resolve merge conflict 2022-08-13 13:26:05 +07:00
Louis Lam 3b3763351b Merge remote-tracking branch 'origin/master' into radius-check
# Conflicts:
#	server/database.js
#	server/model/monitor.js
#	server/server.js
#	server/util-server.js
#	src/pages/EditMonitor.vue
2022-08-11 21:08:06 +08:00
Minh Hoàng dcecd10c88
Feat/add gRPC protocol (#1)
* feat: added monitor with gRPC

Co-authored-by: minhhn3 <[email protected]>
2022-08-03 12:00:39 +07:00
Louis Lam 2389b604fe Use Settings.get 2022-07-31 23:41:29 +08:00
Louis Lam 88afd662db Merge remote-tracking branch 'origin/master' into postgres
# Conflicts:
#	package-lock.json
#	package.json
2022-07-24 14:07:30 +08:00
tamasmagyar a382f811f4 added comment to startE2eTests function 2022-07-18 20:51:17 +02:00
tamasmagyar 986c03aecd test cypress run 2022-07-18 20:51:17 +02:00
Louis Lam 65d71e5db0 Fix mssqlQuery keep adding error listener, which causes memory leak.
Also it is not necessary since the error catched in the promise .catch(..).
2022-07-18 23:14:16 +08:00
Louis Lam 25d711e683 Fix jsdoc data type 2022-07-18 22:06:25 +08:00
Matthew Nickson b5f04573f2
Added formatting to ping options
Co-authored-by: Adam Stachowicz <[email protected]>
2022-07-14 09:19:40 +01:00
Matthew Nickson a54e58b4d6
Added Ping packet size #1891
This should fully implement #1891 by adding an extra field to the edit
monitor page and an extra column to the database. The user can now
set the size of the packet to send, it defaults to 56. A maximum limit
of 65500 was chosen to ensure that the total size of the packet does
not exceed the IPv4 maximum packet size and to comply with the limit
imposed by Windows.

Signed-off-by: Matthew Nickson <[email protected]>
2022-07-14 08:32:51 +01:00
Louis Lam 515095ecfb Move all settings code from util-server.js into settings.js 2022-06-29 14:57:40 +08:00
sur.la.route 47e82ed83a
Removed blank line
Co-authored-by: Matthew Nickson <[email protected]>
2022-06-15 20:14:36 -05:00
sur.la.route e1f766756f
Removed blank line
Co-authored-by: Matthew Nickson <[email protected]>
2022-06-15 20:14:26 -05:00
Christopher Pickering edcdedcaae
Added check for blank password. 2022-06-15 13:00:14 -05:00
Christopher Pickering 945288f0c0
Added postgres monitor 2022-06-15 12:12:47 -05:00
Louis Lam 6682839ec8 Merge remote-tracking branch 'origin/master' into ntml-auth
# Conflicts:
#	package-lock.json
#	package.json
#	server/database.js
#	server/model/monitor.js
#	server/server.js
#	server/util-server.js
2022-06-14 10:36:29 +08:00
Louis Lam 04e22f17a9 Merge remote-tracking branch 'origin/master' into christopherpickering_master
# Conflicts:
#	package-lock.json
#	src/languages/en.js
2022-06-11 20:59:58 +08:00
Louis Lam 091158cfe7 [Status Page] Preload data 2022-06-01 13:05:12 +08:00
Louis Lam 35b8e89457
Merge pull request #1473 from Computroniks/#1059-specify-dns-resolver-port
Added #1059: Allow to specify Resolver Port for DNS Monitor
2022-05-25 14:59:14 +08:00
Christopher Pickering ef73af391f
added option for ntlm authorization 2022-05-13 12:58:23 -05:00
Christopher Pickering 44f6fca945
added finally to close connection pool 2022-05-13 09:34:31 -05:00
Christopher Pickering c346ea7864
updated name on export 2022-05-13 08:57:06 -05:00
Christopher Pickering f0ad32a252
merged 2022-05-13 08:41:31 -05:00
Christopher Pickering 5720017fb4
updated name on import 2022-05-13 08:40:46 -05:00
sur.la.route 5bba19f866
updated format
Co-authored-by: Adam Stachowicz <[email protected]>
2022-05-12 19:54:12 -05:00
Christopher Pickering 87f933df4f
added sqlserver monitor 2022-05-12 12:48:03 -05:00
Sascha Kruse 398ecb7666 add radius check 2022-05-12 15:21:13 +02:00
Louis Lam 4e3258579d Merge branch 'master' into uptime-badges
# Conflicts:
#	server/util-server.js
2022-05-07 13:26:47 +08:00
Louis Lam 429ad384d0 Fix hardcoded path for error.log and move errorLog() to UptimeKumaServer.errorLog() 2022-05-06 14:41:34 +08:00
Louis Lam d962ab7a1c Merge branch 'master' into uptime-badges
# Conflicts:
#	package-lock.json
#	server/routers/api-router.js
2022-05-01 17:03:11 +08:00
Louis Lam 42ea3fb412
Update server/util-server.js
Co-authored-by: Matthew Nickson <[email protected]>
2022-04-30 21:36:07 +08:00
Louis Lam 9f8b3151d8
Update server/util-server.js
Co-authored-by: Matthew Nickson <[email protected]>
2022-04-30 21:36:00 +08:00
Matthew Nickson 3c01e8732c
Merge branch 'master' into #1059-specify-dns-resolver-port 2022-04-27 18:26:11 +01:00
Louis Lam 1687de163c
Merge pull request #1565 from Saibamen/eslint
Fix some of ESLint warnings
2022-04-27 15:00:49 +08:00
Adam Stachowicz 1e595eaa76 Update linters 2022-04-26 01:26:57 +02:00
Matthew Nickson d1a3cd047a
Merge branch 'master' into #1059-specify-dns-resolver-port 2022-04-24 01:06:45 +01:00
Jens Neuber 64a33d7455
Update server/util-server.js
Co-authored-by: Adam Stachowicz <[email protected]>
2022-04-22 07:54:13 +02:00
Matthew Nickson 09e61d9d63
Changed Array<T> to type[]
Signed-off-by: Matthew Nickson <[email protected]>
2022-04-21 20:02:18 +01:00
Matthew Nickson c2f6c5b42e
Added JSDoc docs for mqttAsync
Signed-off-by: Matthew Nickson <[email protected]>
2022-04-21 18:53:07 +01:00
Matthew Nickson 6d22ebedca
Merge branch 'master' into add-JSDoc-comments 2022-04-21 13:01:22 +01:00
Matthew Nickson 03b2d8d521
Add JSDoc to server/*
Signed-off-by: Matthew Nickson <[email protected]>
2022-04-20 19:56:40 +01:00
Jens Neuber e103ac8335 Merge branch 'master' of https://github.com/louislam/uptime-kuma into uptime-badges 2022-04-20 10:10:14 +02:00
Nelson Chan cd38dd3f68 Feat: Allow MQTT successMessage to be optional 2022-04-18 13:04:55 +08:00
Louis Lam 5fa62a888c Merge branch 'master' into mqtt2
# Conflicts:
#	server/database.js
#	server/util-server.js
2022-04-17 19:46:33 +08:00
Louis Lam 47c72192e1 [eslint] Enable yoda and eqeqeq 2022-04-17 15:43:03 +08:00
Louis Lam d71c086447 Standardize array bracket spacing 2022-04-17 15:27:35 +08:00
Louis Lam 8d8c38b1a8 Allow unused vars in args and fix more eslint issues 2022-04-17 01:39:49 +08:00
Louis Lam e34420368b Remove try-catch and fix username/password/port not working for mqtt 2022-04-17 01:06:47 +08:00
Louis Lam 566133e350 Domain Name Expiry Notification for https monitor only 2022-04-16 15:01:53 +08:00
Louis Lam 30e113755e Add HIDE_LOG and catch error if cannot subscribe topic 2022-04-16 14:50:48 +08:00
Louis Lam 083e8355b7 Change debug to log.debug 2022-04-16 13:37:17 +08:00
Louis Lam b1c7915bc1 Merge branch 'master' into mqtt2
# Conflicts:
#	package-lock.json
#	package.json
#	server/database.js
#	server/model/monitor.js
#	server/server.js
#	src/pages/EditMonitor.vue
2022-04-16 13:28:39 +08:00
Matthew Nickson a680331dd7
Fixes issue with ::1 port 5300 requests
Now the address is wrapped in `[]` in order to prevent ::1 port 5300
being interpreted as ::1:5300. Wrapping the IPv4 address in `[]` does
seem to have any effect on correct domain name resolution. In order to
prevent issues if a user inputs an address with brackets, they are
removed from the string if present before being re-added when it is
passed to `setServers`. I have also removed the JSDoc comment as this
will be added in a seperate PR

Signed-off-by: Matthew Nickson <[email protected]>
2022-04-15 19:59:32 +01:00
Matthew Nickson 8c8eeaf627
Merge branch 'master' into #1059-specify-dns-resolver-port 2022-04-13 21:24:04 +01:00
Matthew Nickson b893d50e45
Implement specify Port for DNS Monitor #1059
This commit should fully implement #1059. When the user selects the DNS
monitor option, a new input box has been added below the resolver
address allowing the user to implement the port to access the resolver
on. This uses the same `monitor.port` as the TCP monitor but a monitor
has been added to prefill the port value to the default of `53` if the
value in this field has not already been set. This is then cleared if
the user selects a different monitor type and has not changed the port
value. A translation has also been added explaining what this field
does in order to reduce any confusion. JSDoc documentation has also been
added to the `dnsResolve` function in `util-server.js`.

Signed-off-by: Matthew Nickson <[email protected]>
2022-04-13 21:02:19 +01:00
Louis Lam 649f3106e1 Enforce semicolon, fix format globally 2022-04-14 01:20:54 +08:00
Louis Lam e9ce1433cd Change log_info to log.info by making it into an object 2022-04-13 23:33:37 +08:00
Louis Lam 279e2eb3f6 Merge branch 'master' into logging
# Conflicts:
#	server/database.js
#	server/jobs.js
#	server/model/monitor.js
#	server/routers/api-router.js
#	server/server.js
#	server/socket-handlers/status-page-socket-handler.js
#	server/util-server.js
2022-04-12 16:32:14 +08:00
Louis Lam 0da6e6b1fb Some improvements 2022-03-29 17:38:48 +08:00
Jens Neuber 28be32fc68 Merge branch 'master' of https://github.com/louislam/uptime-kuma into uptime-badges 2022-01-28 08:36:05 +01:00
Tarun Singh 0345719e53 added cleartimeout in case client is already ended 2022-01-20 13:20:54 -05:00
Tarun Singh 22256dfcd2 added timeout for removing the dead loop state 2022-01-20 13:04:59 -05:00
Louis Lam 227bbdea2f [MQTT] Try to improve error handling 2022-01-13 12:42:34 +08:00
Louis Lam 32ec4beda0 Merge branch 'master' into mqtt 2022-01-13 11:24:45 +08:00
Louis Lam 482b3f9233
Update server/util-server.js
Co-authored-by: Adam Stachowicz <[email protected]>
2022-01-13 11:20:32 +08:00
Louis Lam 076d6bdbb6 Merge branch 'master' into mqtt
# Conflicts:
#	package-lock.json
#	server/database.js
2022-01-13 11:09:16 +08:00
Louis ed64853125 Keep FBSD, BSD for ping only 2022-01-12 01:44:01 +08:00
Denis 6bda5c6329 update comment 2022-01-11 13:39:45 +01:00
Denis 53df9a36e3 reintroduce exports.FBSD 2022-01-11 10:07:00 +01:00
Denis 8063449f49 ping path is common to all BSDs 2022-01-09 17:27:24 +01:00
Jens Neuber 6acc9546a0 PR feedback + remove redundant code + add a test 2022-01-04 16:00:21 +01:00
Jens Neuber 3625915a85 add ping, status badge 2022-01-04 12:21:53 +01:00
Jens Neuber d74404e106 minor fixes 2022-01-03 16:23:23 +01:00
Jens Neuber 1c5bce8afa a little documentation 2022-01-03 16:04:37 +01:00
Jens Neuber 35360e2069 add badges 2022-01-03 15:48:52 +01:00
Tarun Singh 4118de6d53 fix protocol not defined bug 2021-12-23 19:39:47 -05:00
Tarun Singh 35da8c78f4 added connection timeout and refactored code 2021-11-22 03:21:53 -05:00
Tarun Singh 3306f4a8e0 removed extra logging 2021-11-18 14:03:23 -05:00
Tarun Singh 3f5133d1ba Added authentication logic 2021-11-16 20:44:10 -05:00
Andreas Brett e5913c5abc separate log functions 2021-11-15 17:52:28 +01:00
Andreas Brett bdcdf47e52 introduce consistent logging 2021-11-11 12:31:28 +01:00
Louis Lam 0275d7a42b minor 2021-11-08 15:51:32 +08:00
Louis Lam 41a6d1b701 Fix parseCertificateInfo possibly in dead loop 2021-11-08 15:39:17 +08:00
Tarun Singh d5d07da4ee
update review suggestions
Co-authored-by: Adam Stachowicz <[email protected]>
2021-11-04 22:22:53 -04:00
Tarun Singh 670754b697 added MQTT monitor type 2021-11-03 21:46:43 -04:00
Louis d4c9431142 catch createWriteStream error 2021-10-29 18:28:31 +08:00
Louis d7f7dba13f write some error logs to ./data/error.log 2021-10-29 18:24:47 +08:00
Louis Lam cb43ecb46e Merge branch 'master' into background-jobs
# Conflicts:
#	package-lock.json
#	package.json
#	src/languages/en.js
2021-10-16 15:06:59 +08:00
Louis Lam cd211a6be7 [http options] fine tune 2021-10-15 18:36:40 +08:00
Louis Lam 4bee57ea7f Merge remote-tracking branch 'giacomo892/patch-1'
# Conflicts:
#	server/ping-lite.js
2021-10-14 14:10:51 +08:00
Louis Lam f75c9e4f0c add UPTIME_KUMA_HOST, UPTIME_KUMA_PORT and special handling for FreeBSD 2021-10-14 14:09:16 +08:00
Louis Lam e2dbacb383 Fix encoding problem of ping result for non-English Windows 2021-10-14 00:22:49 +08:00
Nelson Chan 8caf47988c Fix: Allow setting settings type 2021-10-10 00:16:13 +08:00
LouisLam edad2caf8e return the correct exit code from jest 2021-10-05 20:40:40 +08:00
LouisLam 49720c709c improve the test with a single command only "npm test" 2021-10-05 19:13:57 +08:00
Nelson Chan 13bdfefa9d Feat: Improve Certificaet Info Display 2021-10-01 18:56:28 +08:00
LouisLam 1ed4ac9494 add Push-based monitoring (#279) 2021-10-01 00:09:43 +08:00
LouisLam 0b572df3d0 [status page] store config 2021-09-20 16:22:18 +08:00
LouisLam 2955abb5d9 [status page] create incident 2021-09-16 22:48:28 +08:00
LouisLam f47f7758f9 Merge branch 'master' into public-dashboard
# Conflicts:
#	server/database.js
#	server/server.js
#	server/util-server.js
2021-09-13 01:09:01 +08:00
LouisLam 3e25f0e9d9 [Status Page] WIP: Checkpoint 2021-09-11 19:40:03 +08:00
Ponkhy 403202d4d4 Added simple TOTP Two Factor Authentication 2021-09-09 21:10:31 +02:00
LouisLam bf29f28726 send stats only if there is at least one client in the room 2021-08-30 14:55:33 +08:00
Ponkhy b2041cb36b Fixed ESLint Errors 2021-08-23 16:30:11 +02:00
Ponkhy c79be19ec3 Added DNS Monitor Type 2021-08-23 00:05:48 +02:00
LouisLam d5149f90b4 fix ping 2021-08-10 22:00:29 +08:00
LouisLam 4d4d504d6e retry ping domain with ipv6, if domain is not found 2021-08-10 21:03:14 +08:00
LouisLam d0aad3400c add reset password in cli 2021-08-09 13:34:44 +08:00
Nelson Chan 8f7885e58a Feat: Implement MaxRedirects & StatusCodes 2021-08-05 19:04:38 +08:00
LouisLam 44c8ca9da8 requires empty username/password if set disableAuth for basic auth 2021-08-03 00:08:46 +08:00
LouisLam 33d7f8645a json format for setting value 2021-07-31 22:02:30 +08:00
LouisLam c6a66fad79 add setting for disable auth 2021-07-31 21:57:58 +08:00
Adam Stachowicz 9648d700d7 Autofix on save 2021-07-27 19:47:13 +02:00
Nelson Chan 6b72d5033a Fix: Fix incorrect error handling 2021-07-23 11:23:43 +08:00
Nelson Chan ccda6f05f5 Feat: Add Barebones certificate info display 2021-07-22 14:26:43 +08:00
LouisLam e02eb72863 add db migration 2021-07-22 02:02:35 +08:00
LouisLam 5a6e83b777 remove debug msg 2021-07-13 23:05:52 +08:00
LouisLam 3bdf174e90 add telegram notification 2021-07-09 14:14:03 +08:00
LouisLam a6b5986dd6 add ping and fix uptime 2021-07-01 17:00:23 +08:00
LouisLam 9c653c3d05 implement tcping 2021-07-01 14:03:06 +08:00