Commit graph

1267 commits

Author SHA1 Message Date
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
Suriya Soutmun 43941fa2c6
feat: add mtls authen method in http/http keyword 2023-02-07 09:40:47 +07:00
Suriya Soutmun faa78443d6
chore: alter table monitor add column tls_ca, tls_cert, tls_key for certificate data 2023-02-07 09:40:44 +07: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
Louis Lam afadfe32d5 Trim 2023-02-04 17:03:00 +08:00
Louis Lam 5f2affb38c Relocate and fix jsesc issue 2023-02-04 16:58:39 +08:00
Louis Lam 10c6f3b688 Merge remote-tracking branch 'origin/master' into feature-google-analytics 2023-02-04 15:40:13 +08:00
Faruk Genç 666838f334 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors 2023-02-04 00:03:05 +03:00
c a823ed8ccc Feature - Google Analytics - Removed unused import. 2023-02-03 11:49:25 +00:00
Joseph 2a6d98ff01
Feat: Expand and Simplify Badge Functionality (#2211)
* [expanding badges] added new configs

* [expanding badges] recieve ping in getPreviousHeartbeat()

* [expanding badges] re-added original new badges

* [expanding badges] recreate parity between old and new badges

* [expanding badges] fix linting
2023-02-03 12:33:48 +08:00
c 913bb611d5 Feature - Google Analytics - Removed regex to validate a Google Analytics tag. 2023-02-02 21:52:45 +00:00
c c08d8a5eaf Google Analytics - Simplified retrieving Tag ID from Status Page. 2023-02-02 21:51:03 +00:00
c 3ff0cbe311 Feature - Google Analytics - Simplified Module & Escaped the Script to prevent XXS. 2023-02-02 21:51:03 +00:00
c fb2999706c Feature - Google Analytics - Added JSDoc to Google Analytics functions. 2023-02-02 21:51:03 +00:00
c 2b3a3895b3 Feature - Google Analytics - Use Regex to validate UA as per https://support.google.com/analytics/answer/9310895 2023-02-02 21:51:03 +00:00
c 99c0b8cb71 Feature - Google Analytics - Addressing PR Comments. 2023-02-02 21:51:03 +00:00
c 29e24e0de9 Feature - Added Optional Google Analytics tag for Status Page. 2023-02-02 21:51:03 +00:00
Faruk Genç 4287f7e885 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors
# Conflicts:
#	src/lang/en.json
2023-02-02 19:43:17 +03:00
Louis Lam 683f446cf5 Add support for .env 2023-02-01 20:07:08 +08:00
Nelson Chan 348d0170fa Chore: Use constants instead of int 2023-02-01 05:33:36 +08:00
Faruk Genç 064bc00f46 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors 2023-01-30 13:09:16 +03:00
Louis Lam fca0198d35
Merge pull request #2525 from chakflying/fix/maintenance-badge
Fix: Add support for pending & maintenance in badges
2023-01-30 15:32:28 +08:00
Faruk Genç 35bd129d66 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors 2023-01-28 15:47:42 +03:00
Louis Lam ddce8f0cb0 Fix plugin installation 2023-01-28 19:00:13 +08:00
Louis Lam e5ca67d062
HTTPS Monitor using Real Browsers + Limited plugin support (#1787) 2023-01-27 18:25:57 +08:00
Faruk Genç 9329ec9234 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors
# Conflicts:
#	server/database.js
#	server/model/monitor.js
2023-01-25 20:20:11 +03:00
Louis Lam 5050ebc249 Merge remote-tracking branch 'origin/master' into feature/#1891-set-ping-packet-size
# Conflicts:
#	server/util-server.js
#	src/languages/en.js
2023-01-25 16:12:33 +08:00
Louis Lam 1dabbd6442
Merge pull request #2666 from chakflying/fix/log-call
Fix: Fix incorrect log call format in docker monitor
2023-01-25 00:22:51 +08:00
Louis Lam 9cc3bd0de4 Avoid the multiple queries for Gamedig monitor 2023-01-25 00:19:54 +08:00
Nelson Chan c4c720027c Fix: Use correct log call format 2023-01-24 23:47:33 +08:00
Louis Lam 83e0401dd8 Show game list for GameDig monitor 2023-01-24 23:03:01 +08:00
Louis Lam aab04f6644 Merge remote-tracking branch 'origin/master' into WhyKickAmooCow_master 2023-01-24 19:44:21 +08:00
Thomas Spalinger f155ec9ba8 remember prometheus instance and expose it
in preperation for #2491,#680 and #898
2023-01-24 10:32:49 +00:00
Faruk Genç cd017fce98 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors 2023-01-22 02:22:59 +03:00
alejandrohernandezrosales fa23e7ad19 Removed superflous Message prefix 2023-01-20 23:59:11 -06:00
Faruk Genç aef85078eb reorder fix 2023-01-20 12:29:56 +03:00
Faruk Genç 86ba6f829e Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors 2023-01-20 12:27:28 +03:00
Nelson Chan 6961b1bdd2 Fix: Use default timeout & CachebleDnsHttpsAgent 2023-01-18 09:53:04 +08:00
Louis Lam c47b6c5995 Merge remote-tracking branch 'origin/1.19.X'
# Conflicts:
#	package-lock.json
#	package.json
#	src/util-frontend.js
2023-01-17 21:17:04 +08:00
Louis Lam a5ff27da7a Drop the property monitor.maintenance, use lastHeartBeat.status to check status instead 2023-01-17 17:34:47 +08:00
Louis Lam 27585d0812 Fix #2618 2023-01-17 01:21:01 +08:00
Louis Lam e675316635
Merge pull request #2586 from PopcornPanda/fix-2544
Fix: Allow long sms in PromoSMS
2023-01-16 13:21:56 +08:00
Louis Lam 31f45dcfc9
Merge pull request #2540 from twiggotronix/add-mqtt-schemes
Add mqtt, mqtts, ws and wss protocols to the mqtt monitor
2023-01-15 20:14:11 +08:00
Louis Lam 49ac71e25c
Merge pull request #2549 from Computroniks/docs/update-jsdoc-2023-01-05
Added missing JSDoc comments
2023-01-15 13:10:17 +08:00
Louis Lam 1326761a8a Update mongodb and simplify the logic of mongodbPing 2023-01-15 01:36:49 +08:00
Louis Lam e48a987b9c Merge remote-tracking branch 'origin/master' into mongodb-ping
# Conflicts:
#	server/model/monitor.js
#	server/util-server.js
#	src/pages/EditMonitor.vue
2023-01-15 01:13:11 +08:00
Faruk Genç be850dd596 Merge remote-tracking branch 'remote/master' into feature/add-xml-support-to-http-monitors
# Conflicts:
#	server/database.js
#	server/model/monitor.js
#	src/languages/en.js
2023-01-14 16:40:13 +03:00
Faruk Genç 3adc9e65d6 Add only xml support to http monitors 2023-01-14 16:33:21 +03:00
Louis Lam 712a3c29d4 Fix Postgres monitor do not handle some error cases correctly 2023-01-14 21:06:10 +08:00
Louis Lam 6437ef198f
Merge pull request #2541 from long2ice/master
feat: support redis monitor
2023-01-14 20:16:53 +08:00
long2ice 3b5893ea60 fix: add preserve line in redisPingAsync 2023-01-13 21:30:10 +08:00
long2ice 21cd4d64c3 fix: redisPingAsync 2023-01-13 19:10:07 +08:00
long2ice db757123ba refactor: reuse databaseConnectionString 2023-01-13 16:32:49 +08:00
Ruben 71f00b3690
Parse push ping parameter with parseInt. 2023-01-12 18:33:39 +01:00
Nelson Chan e9564619f1 Feat: Implement tags manager in settings
Fix: Remove unused color options

Chore: Fix typo
2023-01-12 21:25:33 +08:00
shyneko b91fe9d96d Added a more telegram options
such as thread id, silent notifications and forward protect
2023-01-12 15:09:05 +02:00
Łukasz Szczepański 8433bceb32 Trim message to maximum allowed length 2023-01-12 08:14:31 +01:00
Louis Lam 98d001b38b
Merge pull request #2575 from Joseph-Irving/victorops_notifications
Add Splunk Notification Provider
2023-01-12 14:15:36 +08:00
Nelson Chan 0ed3dd5e4f Fix: Add support for pending in badges 2023-01-12 04:14:46 +08:00
Louis Lam d9f12a6376 Fallback to /bin/ping if ping is not found 2023-01-12 01:05:16 +08:00
Łukasz Szczepański 56ba133a1f Missing semicolon 2023-01-11 14:36:33 +01:00
Łukasz Szczepański ec30147a7f Add option for allowing long sms in PromoSMS 2023-01-11 14:32:57 +01:00
Luke 2172112144
Setting for allowing long sms 2023-01-11 12:13:47 +01:00
Luke ecd661c801
Allow long sms in PromoSMS 2023-01-11 12:06:09 +01:00
twiggotronix 8fab7112a1
Merge branch 'louislam:master' into add-mqtt-schemes 2023-01-11 10:34:24 +01:00
Nelson Chan 21b418230c
Chore: reorder cases
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2023-01-10 19:25:31 +08:00
Matthew Nickson 66d5408aad
Added DB schema for api keys
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-01-09 20:20:09 +00:00
Joseph Irving 33355c51b7 Add Splunk Notifications 2023-01-09 13:33:10 +00:00
Louis Lam 439f963749
Merge pull request #2569 from Computroniks/bug/2565-negative-retention-value
Fixed negative retention time values
2023-01-09 13:08:35 +08:00
Matthew Nickson 32f7a0084a
Fixed negative retention time values
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-01-08 19:09:06 +00:00
SlothCroissant f8658d6160 Removed redundant title in Pushover notification 2023-01-08 10:32:16 -06:00
Nelson Chan dd82f36da3 Fix: Improve syntax & fix weird label logic 2023-01-09 00:16:18 +08:00
Adam Spurgeon 774d754b21 Add GameDig monitor 2023-01-08 21:43:30 +13:00
Matthew Nickson 5d6770c0db
Removed excess space around function
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-01-06 20:12:21 +00:00
Matthew Nickson 7a13b959a3
Updated to match changes in #2223
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-01-06 20:09:40 +00:00
Louis Lam 21c1921867
Update server/uptime-kuma-server.js
Co-authored-by: 琚致远 / Zhiyuan Ju <juzhiyuan@apache.org>
2023-01-06 23:04:02 +08:00
Matthew Nickson caff9ca736
Added JSDoc for server/
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-01-05 22:19:05 +00:00
long2ice 40ebc2df79 feat: support redis monitor 2023-01-05 23:02:56 +08:00
twiggotronix 8ec240fe19
Merge branch 'louislam:master' into add-mqtt-schemes 2023-01-05 14:08:05 +01:00
Louis Lam fbceefec36
Merge pull request #2223 from Computroniks/feature/remove-hardcoded-ping-path
feat: Change ping module to danielzzz/node-ping
2023-01-05 20:40:41 +08:00
Louis Lam 0b959514f8 Fix timeout 2023-01-05 20:38:37 +08:00
Louis Lam 7d92351568 Match previous settings 2023-01-05 19:30:55 +08:00
Louis Lam 494c53971c Convert to UTF8 on Windows only 2023-01-05 19:22:15 +08:00
David Twigger fc1914bccd Fix lint 2023-01-05 11:42:19 +01:00
David Twigger c196c34840 Add mqtt, mqtts, ws and wss protocols to the mqtt monitor 2023-01-05 08:57:48 +01:00
Matthew Nickson 90a2668272
Restructured condition + ensure data is UTF-8
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-01-04 17:32:27 +00:00
Matthew Nickson 69e1880cd3
Added not active condition to prevent false error
Added a check to see if the host is alive. This prevents failiures when
the user specifies a hostname of `unknown`.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-01-04 16:46:36 +00:00
Matthew Nickson 73835f3328
Changed from ping-lite to ping module
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>

#Fixes 2126
2023-01-03 20:03:36 +00:00
Nelson Chan 204792dd2d Fix: Fix incorrect handling for container down 2023-01-03 22:07:14 +08:00
Nelson Chan 942b55ca03 Fix: Add support for maintenance in badges 2023-01-03 21:45:55 +08:00
Louis Lam 0cead83705 Fix #2516 2023-01-03 14:50:41 +08:00
Arniwatt Chonkiattipoom a8af2a418e
Slack notification block not working (#1958)
* [empty commit] pull request for slack notification

* Add attachments block for slack notification

* chore: update action button in new attachment block

* chore: loop in attachments to push blocks

* chore: missing semicolon

Co-authored-by: pruekanw <arniwatt.c@linecorp.com>
2023-01-02 15:01:50 +08:00
Louis Lam 39ac9b887e Fix #2504 2023-01-01 22:27:14 +08:00
Louis Lam 50711391d1
Revert "Auth: Case insensitive login check on username" 2023-01-01 22:19:00 +08:00
Louis Lam e88e10cc8e Fix #2494 2023-01-01 21:43:54 +08:00
Louis Lam 27146ffeef
Merge pull request #2433 from mathiash98/mathias/Auth-case-insensitive-login
Auth: Case insensitive login check on username
2023-01-01 14:16:59 +08:00
Louis Lam 41a9f2ff8a
Merge pull request #2495 from minhhoangvn/fix/update-service-name-grpc
Bug fix: gRPC check throws errors when response data size > 50 chars
2023-01-01 13:57:10 +08:00
Louis Lam cd7a6e4019
Merge pull request #2478 from YehowahLiu/master
Add Kook notification provider
2023-01-01 02:53:03 +08:00
Louis Lam 8bb064c6fa
Merge pull request #2157 from Mikkel-T/fix-discord-embed
Improve the URL field in Discord embeds
2022-12-31 22:41:40 +08:00
Louis Lam 1006fbd873 A possible fix for #2447 2022-12-30 13:46:53 +08:00
Louis Lam 5554432b31
Merge pull request #2377 (Zoho Cliq Notification Provider)
Zoho Cliq Notification Provider
2022-12-29 19:00:50 +08:00
minhhoang d111db0321 fix: add accurate error message when user input invalid service name or method name 2022-12-29 08:10:58 +07:00
minhhoang 4147a4c404 fix: #2480 2022-12-28 22:31:33 +07:00
Ruben 9404efd86d
Fixed the metrics for the push type. 2022-12-28 10:37:25 +01:00
401Unauthorized c60b741406
Add kook notification provider 2022-12-27 14:12:22 +08:00
Louis Lam e12225e595 Fix #2475 #2468 #2455, add Accept-Encoding only if encountered the abort error 2022-12-26 21:00:46 +08:00
Louis Lam 1e689d99b4
Merge pull request #2393 from zImPatrick/discord-docker-fix
Fix discord notification not sending when docker container goes down
2022-12-24 14:26:53 +08:00
Louis Lam 14fffcf06b Globally fix if heartbeatJSON["msg"] is undefined 2022-12-24 14:23:50 +08:00
Mathias Haugsbø b3ac7c3d43 Username case insensitive, patch db instead of using LIKE 2022-12-19 12:18:33 +01:00
Mathias Haugsbø c79b2913a2 Auth: Case insensitive login check on username
Allows users to add users with capital letters and then login with just lowercase letters.

We accidentally capitalized the first letter of our username so the other people using it frequently thinks they wrote the wrong password.
2022-12-18 17:16:19 +01:00
Louis Lam df21f7da76 Check login for initServerTimezone 2022-12-16 12:56:40 +08:00
Louis Lam b75db27658 Fix lint 2022-12-15 13:57:28 +08:00
Louis Lam 765d8e1297 Fix #2318 2022-12-15 13:39:48 +08:00
Louis Lam 9dc2cc1f0d Copy timezone.js from dayjs 2022-12-15 13:05:04 +08:00
Louis Lam 1da00d19fd Try to fix incorrect header check 2022-12-14 21:34:13 +08:00
Louis Lam 466b403a96 Handle unexpected error of checkCertificate 2022-12-13 02:21:12 +08:00
zImPatrick f32441e2f6 fix discord notification not sending when docker container is down 2022-12-12 18:05:10 +01:00
Louis Lam 39987ba9ac Init server timezone 2022-12-12 22:57:57 +08:00
Louis Lam 3b87209e26 Add configurable dns cache 2022-12-12 17:19:22 +08:00
Louis Lam 3b58fd3b3c Cache uptime 2022-12-11 21:33:26 +08:00
Louis Lam bc86f8bb5f Reset busy_timeout to default 2022-12-11 20:25:15 +08:00
Louis Lam 02b5cae577 Fix #2371 by left join maintenance_timeslot 2022-12-09 21:03:12 +08:00
Louis Lam 4cd5b5563f Fix #1145 2022-12-08 23:21:55 +08:00
panos 9da28fbbc7 zoho cliq code style 2022-12-08 13:56:02 +02:00
panos 851a04b082 zoho cliq code style 2022-12-08 13:53:02 +02:00
panos 68bc7ac421 zoho cliq code style 2022-12-08 13:41:05 +02:00
panos 73bfdb9ef9 zoho cliq notification provider 2022-12-08 13:32:10 +02:00
Louis Lam e478084ff9 Fix Uptime Kuma cannot be stopped 2022-12-08 19:13:47 +08:00
Louis Lam eadf2c810a Fix check version 2022-12-05 19:17:24 +08:00
Louis Lam ee1a56caae Update /test-webhook and reevaluate sensitive fields 2022-12-05 18:18:19 +08:00