Commit Graph

1338 Commits

Author SHA1 Message Date
Louis Lam
7330db3563 Improve error handling of mysqlQuery and return row count as result 2023-03-24 16:08:30 +08:00
Nelson Chan
ca52047bf5 Feat: Flush WAL on shutdown 2023-03-22 14:46:58 +08:00
niclas.koegl
d9558833fc
Fix linting 2023-03-21 19:45:44 +01:00
niclas.koegl
d2527d7254
Merge branch 'master' into feature/opsgenie-alerts 2023-03-21 18:10:10 +01:00
niclas.koegl
6dfca0c163
Add Opsgenie notification provider 2023-03-21 18:07:19 +01:00
Josua Frank
35a56dd9e0 Added dropdown for authentication methods 2023-03-21 13:40:24 +01:00
Josua Frank
442f54de84
Merge branch 'louislam:master' into ntfy-bearer-authorization 2023-03-21 13:01:49 +01:00
tombii
dbe73bd6ae
Update monitor.js (#2929)
Language
2023-03-15 15:00:28 +08:00
Louis Lam
491239415e Merge remote-tracking branch 'origin/master' into doubles-ss_master
# Conflicts:
#	server/database.js
2023-03-12 18:38:19 +08:00
Louis Lam
533bc1505b Prevent generating duplicated timeslots 2023-03-09 22:03:23 +08:00
Nelson Chan
391692a708 Chore: Add support for encrypted SSL-key 2023-03-09 00:00:07 +08:00
Louis Lam
a599f5149b
Merge pull request #2907 from chakflying/fix/disconnect-redis
Fix: Disconnect redis after ping
2023-03-08 22:57:30 +08:00
Nelson Chan
f32fcb204f Fix: Check for notified days smaller than target 2023-03-08 22:26:19 +08:00
Nelson Chan
230de63460 Fix: Disconnect redis after ping 2023-03-08 21:47:52 +08:00
Josua Frank
e8814e8479 added option for ntfy access tokens 2023-03-08 13:28:02 +00:00
Louis Lam
2dedc1cfbd Fix #2776 2023-03-07 20:48:11 +08:00
Louis Lam
ce8eebc838 Fix #2880 2023-03-05 15:59:43 +08:00
Louis Lam
7ec09d0118 Fix ipv6 issue for ping 2023-03-04 20:41:08 +08:00
Louis Lam
92c9b8bb63 Fix ipv6 issue for ping 2023-03-04 20:29:52 +08:00
Louis Lam
010c7d681f Fix ipv6 issue for ping 2023-03-04 19:12:11 +08:00
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
Arniwatt Chonkiattipoom
bb7de6aa88 chore: notification toggle missing when import from backup 2023-03-02 16:23:27 +07:00
Nelson Chan
150607cc93 Feat: Support auto theme in status pages 2023-03-02 07:26:26 +08:00
Michael Telgkamp
cbbd3e20ad
Codestyle: Add trailing comma 2023-03-01 23:05:23 +01: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
Michael Telgkamp
7b4f90ce92
Improve ntfy notifications
- use tags `red_circle` for down and `green_circle` for up
- increase priority for down alert by 1 if not already max
- add monitor name and status to title
- use heartbeat msg as Message
- add monitor url as action
2023-03-01 08:37:06 +01: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
d668812df1 Fix merge issue 2023-02-25 17:59:25 +08:00
Louis Lam
f32d3af62c Merge remote-tracking branch 'origin/master' into doubles-ss_master
# Conflicts:
#	server/database.js
2023-02-25 17:57:25 +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
Michael Telgkamp
186ca30508
Improve mattermost notifications 2023-02-23 17:40:39 +01:00
Ruben van Dijk
896e33815d
Merge branch 'louislam:master' into fix-metrics-push 2023-02-23 14:11:39 +01: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
Peace
0be8b111e2
chore: better up message
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2023-02-20 13:48:16 +01: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
Peace
cef0a0faf4
Merge branch 'master' into group-monitors 2023-02-16 21:38:53 +01: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
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
Peace
9446c2d102
fix: use active instead of isActive in uploadBackup 2023-02-01 23:39:42 +01:00
Peace
2c581ade90
Merge branch 'louislam:master' into group-monitors 2023-02-01 20:44:09 +01:00
Peace
f286386f59
fix: add message for empty group pending state 2023-02-01 20:19:47 +01:00
Peace
9286dcb6ce
fix: add serverside check against endless loops 2023-02-01 20:16:56 +01: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
Peace
9a46b50989
docs: add comments 2023-01-28 14:22:15 +01:00
Peace
f3ac351d75
feat: set childs under maintenance if parent is too 2023-01-28 14:02:10 +01: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
Peace
aba515e172
feat: disable childs if parent is disabled 2023-01-28 13:39:17 +01:00
Louis Lam
ddce8f0cb0 Fix plugin installation 2023-01-28 19:00:13 +08:00
Peace
97bd306a09
Merge branch 'louislam:master' into group-monitors 2023-01-28 03:07:42 +01:00
Peace
645fd94bba
feat: add ability to group monitors in dashboard 2023-01-28 02:58:03 +01: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
Sebastian Kaempfe
a21a47de93 [#2593] renamed the method sendCertNotification to better represent what id does. Evaluate certificate expiry from all certs in chain. Send a separate notification for every cert in chain, including cert type and CN. 2023-01-12 11:39:36 +01:00
Sebastian Kaempfe
f6d0f28b3a [#2593] during certificate evaluation also set the cert type for improved notifications 2023-01-12 11:34:37 +01: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