Commit graph

416 commits

Author SHA1 Message Date
Anders Kvist f0c54be43f
Adding x-www-form-urlencoded (#3499)
* Adding x-www-form-urlencoded

* Adding example of x-www-form-urlencoding to body.

* A bit cleaner.

* Update server/model/monitor.js

Co-authored-by: Frank Elsinga <[email protected]>

* Update src/pages/EditMonitor.vue

Co-authored-by: Frank Elsinga <[email protected]>

* Update src/pages/EditMonitor.vue

Co-authored-by: Matthew Nickson <[email protected]>

* Add simple test

---------

Co-authored-by: Anders Kvist <[email protected]>
Co-authored-by: Frank Elsinga <[email protected]>
Co-authored-by: Louis Lam <[email protected]>
Co-authored-by: Matthew Nickson <[email protected]>
2023-09-09 18:05:25 +08:00
Nelson Chan 52946c3e08
Feat: Translate toast messages by adding msgi18n to callbacks (#3263)
* WIP: Add msgTranslated to callbacks

* Chore: Unify Saved period

* Feat: add support for interpolation
2023-09-01 20:51:28 +08:00
Louis Lam 5061e42d4b Merge remote-tracking branch 'origin/2.0.X' into 2.0.X 2023-09-01 05:23:52 +08:00
Louis Lam 076331bf00
Uptime calculation improvement and 1-year uptime (#2750) 2023-09-01 05:19:21 +08:00
Louis Lam a13fc7079e Merge branch 'master' into 2.0.X
# Conflicts:
#	package-lock.json
2023-08-30 01:39:16 +08:00
Louis Lam cd79df07e1
Add an ability to enable/disable nscd (#3652) 2023-08-28 16:15:48 +08:00
Nelson Chan db42c13e05
Fix: Remove legacy unused tags cleanup (#3651) 2023-08-27 18:56:50 +08:00
Matthew Nickson 8a92054c2b
Added JSDoc to ESLint (#3529)
* Added JSDoc to eslint rules

Signed-off-by: Matthew Nickson <[email protected]>

* Fixed JSDoc eslint errors

Signed-off-by: Matthew Nickson <[email protected]>

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

---------

Signed-off-by: Matthew Nickson <[email protected]>
Co-authored-by: Louis Lam <[email protected]>
2023-08-11 15:46:41 +08:00
Louis Lam 3e0f5f4231 Merge branch 'master' into 2.0.X
# Conflicts:
#	package-lock.json
#	server/database.js
#	server/util-server.js
2023-08-09 20:09:56 +08:00
Matthew Nickson 71fca3f0c3
Fixed #3520 Validate accepted status codes type (#3530)
* Fixed #3520 Validate accepted status codes type

Signed-off-by: Matthew Nickson <[email protected]>

* Avoid crash on invalid status code

Instead of failing on an invalid status code, log the error and skip to
next.

Signed-off-by: Matthew Nickson <[email protected]>

---------

Signed-off-by: Matthew Nickson <[email protected]>
2023-08-08 03:22:32 +08:00
Nelson Chan 2921f33c24
Feat: add givenPortOnly as gamedig option (#3532) 2023-08-08 03:14:21 +08:00
Louis Lam 4e0bb394db Minor 2023-08-08 03:10:21 +08:00
Jinhyeok Lee 439b6517d1
Feat: Add http/http keyword timeout option (#2142)
* feat: Add timeoutMs field

* chore: Update Languages (incl. ko-KR)

* Revert "chore: Update Languages (incl. ko-KR)"

This reverts commit 349331a00b.

* chore: Update ko-KR selectively

* chore: Update en selectively

* Merge manually

* Reorder and show only if http related monitors

* fix: Update Korean translation

* fix: Rename timeoutMs to timeout, rename label, make DOUBLE

* fix: Change minimum step to 0.1, matching DOUBLE type

* Put the sql patch at the end

* Update EditMonitor.vue

* Colocate timeout with retry, fix clampTimeout logic, show default on 0

* Update src/pages/EditMonitor.vue to remove a comment

Co-authored-by: Frank Elsinga <[email protected]>

* Fix merge issue

* Update the timeout value while finished editing the interval value

---------

Co-authored-by: Louis Lam <[email protected]>
Co-authored-by: Frank Elsinga <[email protected]>
2023-08-07 00:14:56 +08:00
Nelson Chan a032e11a2e
Feat: Create Group in EditMonitor page (#3379)
* Feat: Create Group in EditMonitor page

* Fix: Start group mon. after child is added

* Chore: Swap confirm & cancel for ergonomics

* Fix rarely issue that group monitor can throw an error if lastBeat is null

* Resume the group monitor in the callback

---------

Co-authored-by: Louis Lam <[email protected]>
2023-08-04 14:48:21 +08:00
Henrik Gerdes 42b5d30a33
feat: Implement oauth2 monitors (#3119)
* [empty commit] pull request for implement oauth2 monitor

* feat: implement oauth2 client credentials flow

* fix: auth methods clarification & error handling

* docs: fix JSdocs types and clarifications
2023-08-02 15:40:19 +08:00
Louis Lam a0bd4b248b Merge remote-tracking branch 'origin/master' into 2.0.X
# Conflicts:
#	docker/debian-base.dockerfile
#	package-lock.json
#	package.json
#	server/database.js
#	src/router.js
2023-07-30 19:15:09 +08:00
Louis Lam a0203372ce
Built-in nscd into the docker image (a better dns caching service) (#3472) 2023-07-24 17:04:50 +08:00
Muhammed Hussein karimi 278b88a9d9
feat: added kafka producer (#3268)
*  feat: added kafka producer

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: eslint warn

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: typings and auth problems

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: better variable name to trrack disconnection

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: grouping Kafka Producer special settings into one template

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

*  feat: add kafka producer translations into `en.json`

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: disable close-on-select on kafka broker picker

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: `en.json` invalid json (conflict resolve)

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* Nostr dm notifications (#3051)

* Add nostr DM notification provider

* require crypto for node 18 compatibility

* remove whitespace

Co-authored-by: Frank Elsinga <[email protected]>

* move closer to where it is used

* simplify success or failure logic

* don't clobber the non-alert msg

* Update server/notification-providers/nostr.js

Co-authored-by: Frank Elsinga <[email protected]>

* polyfills required for node <= 18

* resolve linter warnings

* missing comma

---------

Co-authored-by: Frank Elsinga <[email protected]>

* Drop nostr

* Minor

* Fix a bug of clone

---------

Signed-off-by: Muhammed Hussein Karimi <[email protected]>
Co-authored-by: Frank Elsinga <[email protected]>
Co-authored-by: Louis Lam <[email protected]>
2023-07-17 16:15:44 +08:00
Louis Lam 25c8196641
Support Node.js 20 again (#3431)
* Support >= Node.js 20.4.0

* Improve the Node.js warning, ban 20.0 to 20.3

* Update

* Minor
2023-07-17 13:17:00 +08:00
Louis Lam be26bb75d9 Update version handling 2023-07-14 18:02:49 +08:00
Muhammed Hussein karimi 6bece8796e
feat: json-query monitor added (#3253)
*  feat: json-query monitor added

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: import warning error

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: br tag and remove comment

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: supporting compare string with other types

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: switch to a better lib for json query

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: better description on json query and using `v-html` in jsonQueryDescription element to fix `a` tags

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: result variable in error message

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: typos in json query description

Co-authored-by: Frank Elsinga <[email protected]>

* 📝 docs: `HTTP(s) Json Query` added to monitor list in `README.md`

Signed-off-by: Muhammed Hussein Karimi <[email protected]>

* 🐛 fix: needed white space in `README.md`

Co-authored-by: Frank Elsinga <[email protected]>

* Nostr dm notifications (#3051)

* Add nostr DM notification provider

* require crypto for node 18 compatibility

* remove whitespace

Co-authored-by: Frank Elsinga <[email protected]>

* move closer to where it is used

* simplify success or failure logic

* don't clobber the non-alert msg

* Update server/notification-providers/nostr.js

Co-authored-by: Frank Elsinga <[email protected]>

* polyfills required for node <= 18

* resolve linter warnings

* missing comma

---------

Co-authored-by: Frank Elsinga <[email protected]>

* Drop nostr

* Rebuild package-lock.json

* Lint

---------

Signed-off-by: Muhammed Hussein Karimi <[email protected]>
Co-authored-by: Frank Elsinga <[email protected]>
Co-authored-by: zappityzap <[email protected]>
Co-authored-by: Louis Lam <[email protected]>
2023-07-13 23:37:26 +08:00
Louis Lam 293015ff35 Parse x-www-form-urlencoded for /test-webhook 2023-07-09 18:53:57 +08:00
Louis Lam ed6b4e5ae5 Merge remote-tracking branch 'origin/master' into miles/invert-keyword
# Conflicts:
#	server/database.js
2023-07-08 16:19:44 +08:00
Louis Lam 13ae878ee8
Merge pull request #3347 from louislam/1.22.X
1.22.x merge to master
2023-07-05 11:35:36 +08:00
Louis Lam df8fcffb19 Drop unused code 2023-07-03 14:50:30 +08:00
Louis Lam d286c534bd Improve the setup database for embedded MariaDB 2023-06-30 22:17:07 +08:00
Louis Lam 16a1a66e09 Merge remote-tracking branch 'origin/master' into 2.0.X
# Conflicts:
#	docker/alpine-base.dockerfile
#	docker/debian-base.dockerfile
#	docker/dockerfile
#	package.json
#	server/database.js
#	server/jobs/util-worker.js
#	server/model/maintenance.js
#	server/model/monitor.js
#	server/routers/api-router.js
#	server/server.js
#	server/uptime-kuma-server.js
2023-06-30 13:38:56 +08:00
Louis Lam 9ee2780e9e
Merge pull request #2871 from pruekk/chore/missing-notificationList
chore: notification toggle missing when import from backup
2023-06-29 22:42:09 +08:00
Nelson Chan a386f1fc9e
[Experiment] Use incremental vacuum to speed up delete? (#2800)
* DB: Use incremental vacuum

* Chore: Add log for delete monitor exec. time

* WIP: Test synchronous NORMAL
2023-06-29 22:41:01 +08:00
Louis Lam 2e2747fb52 Handling DATE_ADD 2023-06-27 20:57:34 +08:00
Louis Lam 5388a37a26 Fix port NaN not working in MariaDB 2023-06-27 20:57:34 +08:00
Louis Lam 4f6035899d
Real browser monitor type (#3308) 2023-06-27 15:54:33 +08:00
Tarun Singh 7a34103da6 Added fix to remove children when type changed 2023-06-25 22:44:15 -04:00
Peace 9bd76c2795
Merge branch 'master' into group-monitors 2023-05-31 20:51:33 +02:00
Louis Lam c1efe0f26d Add a warning for Node.js >= 20 2023-05-26 18:09:05 +08:00
Nelson Chan a27386bb92 Fix: Use croner for clear-old-data 2023-05-13 00:59:58 +08:00
Miles Steele 171aff1226 add invert keyword feature 2023-04-06 15:25:25 -05:00
Nelson Chan 38fab198bb Fix: Fix user count check 2023-04-03 19:36:07 +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 ce8eebc838 Fix #2880 2023-03-05 15:59:43 +08:00
Arniwatt Chonkiattipoom bb7de6aa88 chore: notification toggle missing when import from backup 2023-03-02 16:23:27 +07: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
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 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 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 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 4dfc1a0221
Merge pull request #2664 from spali/keep_prometheus_instance
remember prometheus instance and expose it
2023-02-23 20:43:05 +08: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 <[email protected]>
2023-02-15 00:39:29 +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 <[email protected]>
2023-02-14 19:49:04 +00:00