Commit Graph

1191 Commits

Author SHA1 Message Date
Louis Lam 8d1847c032
Merge pull request #2744 from bobby-ore/add-lunasea-user-id
Add ability to use User ID for LunaSea notifications
2023-03-04 17:35:15 +08:00
Nelson Chan bc87abf5c2 Fix: Clear uptime cache on push beat 2023-03-03 05:57:36 +08:00
Louis Lam 71c800b880 Merge remote-tracking branch 'origin/master' into notification-provider-pagertree
# Conflicts:
#	src/lang/en.json
2023-03-01 16:17:18 +08:00
Bobby Ore b21c2adcc2 Rework lunasea notification to allow for device id and user id 2023-02-28 09:47:35 -06:00
Louis Lam 958354e4db Minor 2023-02-28 16:58:36 +08:00
Louis Lam 38ab5e0f3e
Merge pull request #2558 from Computroniks/feature/1685-prometheus-api-key
Added #1685: Add API keys for API authentication
2023-02-28 16:55:50 +08:00
Matthew Nickson 669f8700b2
Switched to nanoid for key generation
To try and prevent any security issues, use an external package to
generate key instead of doing it ourselves. Note: we have to use nanoid
version 3 as nanoid version 4 requires ESM. Currently, nanoid v3 is
still supported.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-26 19:36:50 +00:00
Matthew Nickson 06ee68dc0e
Merge branch 'feature/1685-prometheus-api-key' of github.com:Computroniks/uptime-kuma into feature/1685-prometheus-api-key 2023-02-26 16:47:45 +00:00
Matthew Nickson 42a69c16ca
Switched to crypto.randomBytes fpr key generation
Keys are now 32 bytes long encoded in a URL safe base64 string

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-26 16:47:34 +00:00
Louis Lam ea3b3abe36 Fine tune 2023-02-25 20:13:46 +08:00
Louis Lam 7f9332c753 Merge remote-tracking branch 'origin/master' into feature/482-add-description-to-monitor
# Conflicts:
#	server/database.js
#	server/model/monitor.js
#	src/icon.js
#	src/languages/en.js
#	src/languages/es-ES.js
2023-02-25 19:14:44 +08:00
Louis Lam a7b49fcd98 Fix json body after xml body added 2023-02-25 17:28:32 +08:00
Louis Lam ef64077980 Merge remote-tracking branch 'origin/master' into feature/1685-prometheus-api-key
# Conflicts:
#	src/lang/en.json
2023-02-25 00:06:25 +08:00
Louis Lam e873fea86d
Merge pull request #2736 from blozano824/add-status-to-slack-notification
Adds name + status + message to Slack notification
2023-02-24 23:54:31 +08:00
Louis Lam c4a9374671
Merge pull request #2835 from chakflying/fix/game-list-empty
Fix: getGameList returns nothing on first run
2023-02-24 23:34:47 +08:00
Nelson Chan c65a920050 Chore: Fix code comment 2023-02-24 21:09:55 +08:00
Nelson Chan 7b8ed01f27 Fix: getGameList returns nothing on first run 2023-02-24 21:06:00 +08:00
Louis Lam cecb0b6425
Merge pull request #2610 from bayramberkay/feature/add-xml-support-to-http-monitors
Add xml support to HTTP monitors
2023-02-24 17:26:47 +08:00
Louis Lam 2fa233ae7f Fix prometheus null issues 2023-02-24 17:12:57 +08:00
Louis Lam e9475ed3c0 Merge remote-tracking branch 'origin/master' into telegram_test
# Conflicts:
#	server/notification-providers/telegram.js
#	src/languages/en.js
2023-02-24 17:08:48 +08:00
Louis Lam 10228874fa Merge manually 2023-02-24 16:54:58 +08:00
Louis Lam 7e3734af53 Better handling 2023-02-23 20:59:24 +08:00
Louis Lam 5789112f55 Merge remote-tracking branch 'origin/master' into feat-add-message-thread-id-telegram-nonfiction 2023-02-23 20:47:28 +08:00
Louis Lam 4dfc1a0221
Merge pull request #2664 from spali/keep_prometheus_instance
remember prometheus instance and expose it
2023-02-23 20:43:05 +08:00
Austin Miller 5e1489a6ed PagerTree Notification - Send msg when heartbeatJSON null 2023-02-22 14:32:02 -07:00
Louis Lam 9ccaa4d120
Merge pull request #2786 from luckman212/luckman212-tagsort-1
sorted tags on dashboard
2023-02-22 01:11:03 +08:00
Louis Lam 42033c692f
Merge pull request #2748 from chakflying/feat/improve-err-code
Feat: Use error message to detect and set status code
2023-02-22 01:01:53 +08:00
Faruk Genç 72106ba4c4 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors 2023-02-18 22:38:40 +03:00
Matthew Nickson b8720b46c3
Switched to using Authorization header
Prometheus doesn't support using custom headers for exporters, however
it does support using the Authorisation header with basic auth. As
such, we switched from using X-API-Key to Authorization with the basic
scheme and an empty username field.

Also added a rate limit for API endpoints of 60 requests in a minute

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-15 21:53:49 +00:00
Matthew Nickson 1d4af39820
Fixed JSDoc for one method
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-15 19:31:22 +00:00
Luke Hamburg dd1d71530f
sorted tags on dashboard
see https://github.com/louislam/uptime-kuma/issues/2785
2023-02-15 14:06:29 -05:00
Matthew Nickson 01c71a0242
Fixed logic errors, removed dev leftovers
Fixed a logic error where a comma was used instead of an or, also
removed leftover console.logs from testing.

Date picker is now dissabled when don't expire is checked.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-15 11:15:15 +00:00
Matthew Nickson e7feca1cd6
Added API key authentication handler
API key authentication is now possible by making use of the X-API-Key
header. API authentication will only be enabled when a user adds their
first API key, up until this point, they can still use their username
and password to authenticate with API endpoints. After the user adds
their first API key, they may only use API keys in future to
authenticate with the API.

In this commit, the prometheus /metrics endpoint has been changed over
to the new authentication system.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-15 00:39:29 +00:00
Matthew Nickson cd796898d0
Added expiry check for frontend
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-14 22:41:06 +00:00
Matthew Nickson d7f2fa982a
Merge branch 'master' into feature/1685-prometheus-api-key 2023-02-14 19:53:33 +00:00
Matthew Nickson ee2eb5109b
Added basic web interface for API keys
Web interfaces for manging API keys have been added however translation
keys are still required.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-14 19:49:04 +00:00
Louis Lam d1175ff471 Fix #2777 2023-02-15 02:50:49 +08:00
Matthew Nickson cd18b96f69
Added check to ensure backup exists when restoring (#2779)
A check to ensure that the backup database exists before deleting the
current database.

Fixes #2778

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-15 00:43:40 +08:00
Faruk Genç 19c8538149 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors 2023-02-11 23:56:38 +03:00
Louis Lam c12b06348b Fix parsing issues of status page's og tags 2023-02-10 17:29:32 +08:00
Bobby Ore 48b637d4c8 Refactor to not introduce a breaking change 2023-02-09 08:49:19 -06:00
Nelson Chan 3439074835 Feat: Use message to improve errror status code 2023-02-09 17:42:02 +08:00
Bobby Ore 3a361d2621 lint fix 2023-02-08 14:16:02 -06:00
Bobby Ore 8725e5daf9 Add ability to use User ID for LunaSea notifications 2023-02-08 14:08:25 -06:00
Brayan Lozano d45aee450d
Removes unecessary ternary operator 2023-02-07 22:34:10 -05:00
Brayan Lozano 727acb32bf
Adds name + status + message to slack notification 2023-02-07 21:18:26 -05:00
Nelson Chan e1f956879d
Fix: Use .destroy() instead of .end() 2023-02-07 05:01:53 +08:00
Austin Miller ef54d9e3b6 Add PagerTree Notification Provider 2023-02-06 11:33:14 -07:00
Faruk Genç 39c99b0ec4 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors
# Conflicts:
#	server/database.js
#	src/lang/en.json
2023-02-05 18:19:46 +03:00
Haytham Salama 1bfb290718 feat: add message thread id for telegram nonfiction 2023-02-04 22:53:38 +02:00