Commit Graph

1597 Commits

Author SHA1 Message Date
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
Nelson Chan 573f158f7f Fix: incorrect radius error handling 2023-07-27 17:42:22 +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
Raymond Hackley 5ccf2d23fc
Fix: SMTP notification "Ignore TLS Error" option (#2999) (#3465) 2023-07-23 14:45:05 +08:00
小造xu_zh bf68e0a7bc fix: define pushdeerlink 2023-07-21 14:11:13 +00:00
小造xu_zh 6984596568
Apply suggestions from code review
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2023-07-21 22:01:20 +08:00
小造xu_zh 0684313ec9 feat: remove blank characters and ending '/' first 2023-07-20 09:33:27 +00:00
小造xu_zh d7e12dc92d feat: allow the user to configure PushDeer Server URL 2023-07-20 09:24:16 +00:00
SGprooo 1d9a28e9ab
feat: Tailscale ping monitor (#3178)
* Add boilerplate for tailscale ping

* tailscale initial commit draft

* Refactor TailscalePing & better error handling

Split check function into two methods and added async/await syntax for readability/modularity
Switched to promise-based error handling (takes into account different types of error such as "Execution error", "Error in output", "no matching peer", and "is local Tailscale IP") and throws them as JavaScript errors.

* Minor update

* minor update (again)

* Update server/monitor-types/tailscale-ping.js

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Update server/monitor-types/tailscale-ping.js

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Update server/monitor-types/tailscale-ping.js

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Update server/monitor-types/tailscale-ping.js

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* timeout revision

* JSDoc

* Removed long explainers

* eslint tailscale-ping.js --fix

* reran eslint

* Fix: Use hostname rather than url

* Fixed NaN on monitor interval

now interval value is correctly passed to runTailscalePing

* Add warning message

---------

Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2023-07-19 20:58:21 +08:00
Tarun Singh 50d4091ded Merge branch 'master' of https://github.com/louislam/uptime-kuma into status-page-expiry 2023-07-18 22:57:48 -04:00
Muhammed Hussein karimi 278b88a9d9
feat: added kafka producer (#3268)
*  feat: added kafka producer

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* 🐛 fix: eslint warn

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* 🐛 fix: typings and auth problems

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* 🐛 fix: better variable name to trrack disconnection

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

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

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

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

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

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

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

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

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* Nostr dm notifications (#3051)

* Add nostr DM notification provider

* require crypto for node 18 compatibility

* remove whitespace

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* 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 <frank@elsinga.de>

* polyfills required for node <= 18

* resolve linter warnings

* missing comma

---------

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Drop nostr

* Minor

* Fix a bug of clone

---------

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2023-07-17 16:15:44 +08:00
Tarun Singh f6c1b92fc6 Added http type check and tags based design 2023-07-17 02:01:10 -04: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 80927332cb Merge remote-tracking branch 'origin/master' into feat/monitor-list-improved-filtering 2023-07-16 21:04:46 +08:00
Louis Lam 21d556528f
Fix #3420 timezone issue (#3425) 2023-07-15 23:23:27 +08:00
Louis Lam 357466cc90 Minor 2023-07-15 21:27:39 +08:00
Louis Lam b038d09349 Minor 2023-07-15 21:26:41 +08:00
Louis Lam c6d0c431bd
Merge pull request #3080 from duanearnett/feature/add-channel-notification-for-slack
Adds configurable @channel notification for Slack integrations
2023-07-15 18:41:17 +08:00
Louis Lam 345e61abca Merge remote-tracking branch 'origin/master' into feat/badge-generator-placeholders
# Conflicts:
#	package-lock.json
#	package.json
2023-07-15 01:05:34 +08:00
Louis Lam dd1526deff
Merge pull request #3421 from louislam/some-update
Some update
2023-07-14 18:07:42 +08:00
Louis Lam be26bb75d9 Update version handling 2023-07-14 18:02:49 +08:00
Louis Lam 99fb5836e2
Add SMSC (СМСЦентр) provider notification (#3335) By @FlatronBuda
* Add SMSC, code from #3334

Co-authored-by: FlatronBuda <>

* Update server/notification-providers/smsc.js

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Update server/notification-providers/smsc.js

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Update server/notification-providers/smsc.js

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Update according to @FlatronBuda

* Move to the regional list

---------

Co-authored-by: Frank Elsinga <frank@elsinga.de>
2023-07-14 14:29:35 +08:00
Louis Lam 2f5a565ce4
Merge pull request #3381 from n-thumann/fix_ipv6_handling
Fix handling of IPv6 addresses in getClientIP
2023-07-14 12:34:59 +08:00
Tarun Singh 6f4af30701 Merge branch 'master' of https://github.com/louislam/uptime-kuma into status-page-expiry 2023-07-13 20:02:50 -04:00
Tarun Singh b1f266ceb1 Added expiry changes to status page and fixes 2023-07-13 20:00:23 -04:00
Muhammed Hussein karimi 6bece8796e
feat: json-query monitor added (#3253)
*  feat: json-query monitor added

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* 🐛 fix: import warning error

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* 🐛 fix: br tag and remove comment

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* 🐛 fix: supporting compare string with other types

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

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

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

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

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* 🐛 fix: result variable in error message

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

* 🐛 fix: typos in json query description

Co-authored-by: Frank Elsinga <frank@elsinga.de>

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

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>

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

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Nostr dm notifications (#3051)

* Add nostr DM notification provider

* require crypto for node 18 compatibility

* remove whitespace

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* 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 <frank@elsinga.de>

* polyfills required for node <= 18

* resolve linter warnings

* missing comma

---------

Co-authored-by: Frank Elsinga <frank@elsinga.de>

* Drop nostr

* Rebuild package-lock.json

* Lint

---------

Signed-off-by: Muhammed Hussein Karimi <info@karimi.dev>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
Co-authored-by: zappityzap <128872140+zappityzap@users.noreply.github.com>
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2023-07-13 23:37:26 +08:00
Louis Lam e7d1b4e14a
Merge pull request #3174 from chakflying/fix/push-monitor-safe-restart
Fix: Use safeBeat in push monitor
2023-07-13 23:14:28 +08:00
Louis Lam e5c6783781
Merge pull request #3205 from woj-tek/master
Add option to use ApiKeys in Twilio in addition to main account credentials
2023-07-13 23:11:05 +08:00
Louis Lam d825dbf828
Merge pull request #3188 from chakflying/fix/radius-timeout
Fix: Set radius connection timeout to monitor default
2023-07-09 22:47:39 +08:00
Louis Lam 293015ff35 Parse `x-www-form-urlencoded` for /test-webhook 2023-07-09 18:53:57 +08:00
Louis Lam 18d8b3a8e0 Merge remote-tracking branch 'origin/master' into feat/webhook-custom-body 2023-07-09 18:20:06 +08:00
Louis Lam cdb38d49eb
Merge pull request #3380 from chakflying/experiment/incremental-vacuum-job
Feat: Run incremental_vacuum and optimize
2023-07-08 21:59:58 +08:00
Louis Lam fe40d819bd Update send403 to sendHttpError 2023-07-08 21:34:58 +08:00
Louis Lam 3dbd8277f0 Merge remote-tracking branch 'origin/master' into feat/global-status-page-badge
# Conflicts:
#	.gitignore
2023-07-08 21:28: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 3b9c95a8a8
Prevent users from specifying an unexpected executable as Chromium (#3348) 2023-07-08 15:52:09 +08:00
nthumann cdf6922bdd
Fix handling of IPv6 addresses in getClientIP 2023-07-08 00:02:01 +02:00
Nelson Chan 9954ba82e7 Feat: Run incremental_vacuum and optimize 2023-07-08 04:57:53 +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
Tarun Singh 4ea5771f97 Status page certificate expiry 2023-07-04 19:37:45 -04:00
DevMirza 1774bb86dc
🐛 fix lint warning (#3355) 2023-07-04 23:46:36 +08:00
Francisco Marques bd5496d267
Fixed update checker making requests to uptime.kuma.pet even when turned off (#2281)
* fix: update checker

- fixed bug where it would make the request to uptime.kuma.pet regardless of the `checkUpdate` config;
- defined constants in the top of the document for easier configuration/documentation;
- removed unnecessary compareVersions: we were comparing the same var on both sides res.data.beta, so it will always be equal.

* improvement: better logging and added doc

* improved UPDATE_CHECKER_INTERVAL_MS const

---------

Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2023-07-03 15:28:03 +08:00
Louis Lam df8fcffb19 Drop unused code 2023-07-03 14:50:30 +08:00
Louis Lam 8c60e902e1 Remove an unused variable 2023-07-01 22:44:33 +08:00
Louis Lam ccc39b9516 Move all old db patch files to `db/old_migrations/` 2023-07-01 20:54:47 +08:00
Louis Lam de74efb2e6
Merge pull request #3169 from janow25/docker-health-check
Added Docker Health Status Support
2023-07-01 02:55:05 +08:00
Louis Lam e26abc3156 Improve the setup database 2023-07-01 02:48:42 +08:00
Louis Lam d286c534bd Improve the setup database for embedded MariaDB 2023-06-30 22:17:07 +08:00
Louis Lam 7975caf29e Update db migration and dockerfile 2023-06-30 17:26:37 +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
Nelson Chan 3e5e7e6e32 Fix: Incorrect options for cert-exp badge 2023-06-29 07:12:19 +08:00
Nelson Chan 0e725569e5 Feat: Add placeholders for badge generator
Chore: Save as dev dep.
2023-06-29 07:11:58 +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
Louis Lam dd77baabe1
Merge pull request #3234 from kefoster951/fix_redis_auth
Fix redis authentication reattempt issue
2023-06-27 15:21:30 +08:00
Louis Lam 820f2eec9f Merge remote-tracking branch 'origin/1.23.X' 2023-06-26 21:38:12 +08:00
Nelson Chan 7cc9783436 Fix: Active needs to return bool instead of 0 2023-06-26 13:21:51 +08:00
Louis Lam b4b6e07e6b
Merge pull request #3310 from chakflying/chore/auth-logging
Chore: Add logging for failed auth
2023-06-26 12:54:01 +08:00
Tarun Singh 7a34103da6 Added fix to remove children when type changed 2023-06-25 22:44:15 -04:00
Nelson Chan c9d6e576ab Chore: Remove redundant assign
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2023-06-26 04:59:55 +08:00
Nelson Chan 97d38ee1a8 Feat: Add custom body for Webhook Notif. 2023-06-26 04:59:55 +08:00
Nelson Chan cc94609423 Chore: Add logging for failed auth 2023-06-26 04:49:49 +08:00
Lasse Bang Mikkelsen a00561ff09
Strip trailing slashes to avoid 404 2023-06-18 18:28:30 +02:00
Kenneth Foster 6708eed121 Fixed error handling if client is closed 2023-06-14 11:49:33 -04:00
kefoster951 3c56a6f395
Merge branch 'louislam:master' into fix_redis_auth 2023-06-14 11:47:44 -04:00
Louis Lam 2b46693995
Merge pull request #3239 from madnight/master
Fix: prometheus monitor_status metric has 4 values
2023-06-13 23:09:29 +08:00
kefoster951 d37c33ad42
Update server/util-server.js
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2023-06-12 11:06:20 -04:00
Louis Lam c4c3fc81b2
Merge pull request #2693 from julian-piehl/group-monitors
Group monitors
2023-06-11 14:09:02 +08:00
Fabian Beuke 37ae8eb44a
Fix: prometheus monitor_status metric has 4 values
The prometheus monitor_status metric has actually 4 values. This can easily be verified by looking up the related source code or by using the metric in grafana an see values like 2 (which indicates timeout).
2023-06-10 20:22:33 +02:00
Kenneth Foster 8897385690 Fixed linting 2023-06-09 16:26:02 -04:00
Kenneth Foster 6132a45c7c fixed when auth is needed but not provided 2023-06-09 16:06:33 -04:00
Kenneth Foster f68452c47a Added changes to stop auth attempts after an error 2023-06-09 14:54:17 -04:00
Nelson Chan 58ec53fb1d Fix: Try to close mysql connection properly 2023-06-06 20:28:51 +08:00
duane 9a8bea5761 Changes 'Mention Channel' -> 'Notify Channel'
- Updates variable names
- Updates any Slack mention references
2023-06-01 08:23:13 -05:00
Peace 56f448bfe5
fix: maintenance heredity 2023-05-31 21:29:20 +02:00
Peace 2b46da0f47
style: fix linting 2023-05-31 21:19:46 +02:00
Peace 9bd76c2795
Merge branch 'master' into group-monitors 2023-05-31 20:51:33 +02:00
duane 376d84c742
Merge branch 'master' into feature/add-channel-notification-for-slack 2023-05-31 10:31:33 -05:00
Louis Lam 343a1d3344
Merge pull request #3203 from CommanderStorm/applied_timezone_formatting
chore: Made sure that every notification provider uses `timezone`/`localTime`
2023-05-30 20:36:32 +08:00
Wojciech Kapcia f3fe392ec4
Add option to use ApiKeys in Twilio in addition to main account credentials 2023-05-29 19:30:33 -04:00
Frank Elsinga f3c09f2bbd made every Notification provider supply time like dingding after #3152 2023-05-29 19:24:40 +02:00
Louis Lam 8ed2b59410 Resolve conflict 2023-05-26 21:38:51 +08:00
Louis Lam 0b8dddba24 Merge remote-tracking branch 'origin/master' into skaempfe#2593
# Conflicts:
#	server/model/monitor.js
#	src/pages/Details.vue
2023-05-26 21:32:58 +08:00
Louis Lam bc95875aa0
Merge pull request #3156 from maximilian-krauss/feat/add-pushover-ttl
feat: Adds message ttl to pushover notification
2023-05-26 18:18:24 +08:00
Louis Lam c1efe0f26d Add a warning for Node.js >= 20 2023-05-26 18:09:05 +08:00
Maximilian Krauß a0d0d5b015 fix: sends pushover ttl only if defined 2023-05-26 07:27:43 +02:00
Maximilian Krauß 8d05d80a5f feat: Adds message ttl to pushover notification 2023-05-26 07:27:43 +02:00
duane 5200e10aab Removes ternary operator for Slack channel mention 2023-05-23 10:29:18 -05:00
Nelson Chan f1a396b0f7 Fix: Align radius timeout to default 2023-05-23 18:18:54 +08:00
Nelson Chan f70b971810
Fix: Improve error message
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2023-05-21 15:42:13 +08:00
duane 00f733d352 Adds ability to notify channel when Slack webhook triggered
- Adds field to toggle channel mentions on/off for Slack integration
- Adds special mention for @channel when enabled

Reference:
[Slack docs](https://api.slack.com/reference/surfaces/formatting#special-mentions)
2023-05-19 11:01:08 -05:00
Nelson Chan 317024ed72 Fix: Use safebeat for push monitor 2023-05-19 18:52:00 +08:00
Janne Nowak f604d96c5b splited if to inner if 2023-05-18 09:55:33 +02:00
Janne Nowak f30f00655f small fix for down containers 2023-05-17 23:18:29 +02:00
Janne Nowak 891f09def7 removed log 2023-05-17 19:15:10 +02:00
Janne Nowak 6b5e179bb0 linting 2023-05-17 19:02:34 +02:00
Janne Nowak f653aba735 added docker health status 2023-05-17 18:52:28 +02:00
Louis Lam bb15fa0179
Merge pull request #3154 from chakflying/fix/clear-data-remove-worker-thread
Fix: Remove use of worker threads in clear-old-data
2023-05-16 19:51:20 +08:00
Louis Lam 8d24891b8e
Merge pull request #3054 from TechWilk/keyword-not-found-whitespace
Trim before truncating "keword not found" message
2023-05-13 18:36:04 +08:00
Nelson Chan 80c8fd7372 Chore: Remove util-worker 2023-05-13 01:51:23 +08:00
Nelson Chan a27386bb92 Fix: Use croner for clear-old-data 2023-05-13 00:59:58 +08:00
AnnAngela ce70b3fc62
feat: add a space to separate the words 2023-05-12 22:14:59 +08:00
AnnAngela 06fba5b55a
feat: show time as server timezone in dingding notification 2023-05-12 22:04:44 +08:00
Louis Lam 7f5d0e5490 Merge remote-tracking branch 'origin/1.21.X'
# Conflicts:
#	package-lock.json
2023-05-09 00:42:11 +08:00
Louis Lam 0eaaa8b6fa Minor 2023-05-08 22:52:41 +08:00
Louis Lam 5cd506e340 Minor 2023-05-08 22:39:32 +08:00
Louis Lam f0beccf6bf Fix `Same As Server Timezone` do not save correctly 2023-05-08 22:14:58 +08:00
Louis Lam 72c16c3aa2 Fix eslint warnings 2023-05-08 04:26:11 +08:00
Louis Lam d23cb0b382 Fix maintenance do not start after 1.21.2 2023-05-08 04:08:30 +08:00
Louis Lam 8207f16396 Merge remote-tracking branch 'origin/master' into ntfy-bearer-authorization 2023-04-25 18:07:52 +08:00
Christopher Wilkinson 0e516a42e5
Trim before truncating "keword not found" message 2023-04-11 16:57:30 +01:00
Louis Lam 6356b1e50a
Merge pull request #2961 from chakflying/feat/flush-wal
Chore: Flush WAL on shutdown
2023-04-11 18:53:58 +08:00
Josua Frank 11f4cb8725
Merge branch 'louislam:master' into ntfy-bearer-authorization 2023-04-10 16:06:53 +02:00
Louis Lam 4c1ac5e870
Merge pull request #2863 from mtelgkamp/ntfy-notification-improvements
Improve ntfy notifications
2023-04-09 16:08:12 +08:00
Louis Lam 9e320dc5fb Expose timezone and local datetime to notification providers 2023-04-09 16:01:27 +08:00
Louis Lam 2f3f929fbd
Merge pull request #2831 from mtelgkamp/mattermost-notification-improvements
Improve mattermost notifications
2023-04-09 15:42:28 +08:00
Miles Steele 682f8e52a8 lint 2023-04-06 15:30:38 -05:00
Miles Steele 171aff1226 add invert keyword feature 2023-04-06 15:25:25 -05:00
Josua Frank 1f7f1f70bf
Merge branch 'louislam:master' into ntfy-bearer-authorization 2023-04-06 10:55:28 +02:00
Louis Lam 21ad715e6a
Merge pull request #3021 from louislam/1.22.X
1.22.x -> master
2023-04-04 14:58:34 +08:00
Josua Frank 23af66f618
Merge branch 'louislam:master' into ntfy-bearer-authorization 2023-04-03 21:17:53 +02:00
Louis Lam 45ef7b2f69 Fix Effective Date Range cannot be removed 2023-04-03 21:01:58 +08:00
Nelson Chan 38fab198bb Fix: Fix user count check 2023-04-03 19:36:07 +08:00
Nelson Chan 8d5679a8ab Fix: Create database before connect 2023-04-03 19:35:31 +08:00
Josua Frank 6b078b83bd
Merge branch 'master' into ntfy-bearer-authorization 2023-04-03 08:33:05 +02:00
Louis Lam 1be74e2720
Merge pull request #2870 from chakflying/feat/auto-theme-status-page
Feat: Support auto theme in status pages
2023-04-03 02:38:30 +08:00
Louis Lam 32f84b5e4e
Merge pull request #2491 from RubenNL/fix-metrics-push
Fixed the metrics for the push type.
2023-04-02 02:05:03 +08:00
Louis Lam dbfaddafca Validate cron before submit 2023-04-01 16:30:55 +08:00
Louis Lam 511038b45a Remove unused code 2023-04-01 04:22:10 +08:00
Louis Lam 17ae47d091 Drop database backup logic, because duplicating a relative large database likely causes a disk space issue, users should take backup manually instead. 2023-04-01 00:58:23 +08:00
Louis Lam de0d1edfd4
Merge pull request #2988 from chakflying/fix/socks-rejectUnauthorized
Fix: Pass rejectUnauthorized to Socks Proxy
2023-04-01 00:48:28 +08:00
Louis Lam 524cf7c607 WIP 2023-03-31 21:34:05 +08:00
Louis Lam 227cec86a8 WIP 2023-03-31 20:25:37 +08:00
Louis Lam 02291730fe WIP 2023-03-31 04:04:17 +08:00
Nelson Chan 8ee4b844fd Fix: Pass rejectUnauthorized to Socks Proxy 2023-03-28 11:40:19 +08:00
Josua Frank fc4312ca1a
Merge branch 'master' into ntfy-bearer-authorization 2023-03-26 19:09:48 +02:00
Louis Lam fbdeb30ce7
Merge pull request #2973 from chakflying/fix/limit-precision
Fix: Apply toPrecision as last step
2023-03-26 15:46:00 +08:00
Louis Lam 41bda4e1d7
Merge pull request #2975 from chakflying/fix/badge-no-label
Fix: Allow status badge with empty label
2023-03-26 15:42:12 +08:00
Louis Lam 4869e6531c
Merge pull request #2980 from Genc/feature/twilio-notification-provider
Add Twilio Sms Notification Provider
2023-03-26 15:38:53 +08:00
Louis Lam 302b9cf644
Merge pull request #2956 from wwniclask25/feature/opsgenie-alerts
Feat: Add opsgenie notification provider
2023-03-26 15:36:50 +08:00
Louis Lam 3c3a192943
Merge pull request #2906 from chakflying/fix/duplicate-expiry-notif
Fix: Check for TLS expiry notified days smaller than target
2023-03-26 15:34:26 +08:00
Faruk Genç b64c835cee Add Twilio Sms Notification Provider 2023-03-25 19:56:01 +03:00
Nelson Chan 4f05912276 Fix: Allow status badge with empty label 2023-03-25 02:44:15 +08:00
Nelson Chan bf525371d9 Fix: Apply toPrecision as last step 2023-03-24 22:42:50 +08:00
Louis Lam 89bfc3bf33
Merge pull request #2908 from chakflying/chore/encrypted-private-key
Chore: Add support for encrypted SSL-key
2023-03-24 21:36:22 +08:00
Louis Lam f4ee5271af Improve error handling of mysqlQuery and return row count as result 2023-03-24 16:24:00 +08:00
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
Thomas Spalinger 7f88aacbe7 make monitor start() and stop() async 2023-02-23 16:16:49 +00: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 f2633a5d01 Finished knex_init_db.js 2023-02-12 03:44:15 +08:00
Louis Lam 4056951915 WIP: building database in knex.js 2023-02-11 22:21:06 +08:00
Louis Lam e4183ee2b7
Database Setup Page (#2738)
* WIP

* WIP: Database setup process

* Add database setup page
2023-02-11 14:41:02 +08:00
Louis Lam db4663d6be Merge remote-tracking branch 'origin/master' into 2.0.X 2023-02-11 00:51:40 +08: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
Louis Lam 68ead3414d WIP 2023-02-06 22:26:13 +08: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
Louis Lam d4752b65de WIP 2023-02-05 18:01:54 +08:00
Louis Lam dc4d2a77bb WIP 2023-02-05 17:45:36 +08:00
Haytham Salama 1bfb290718 feat: add message thread id for telegram nonfiction 2023-02-04 22:53:38 +02:00
Louis Lam 0b40c65139 Merge remote-tracking branch 'origin/master' into mariadb
# Conflicts:
#	docker/alpine-base.dockerfile
#	docker/dockerfile-alpine
#	package.json
#	server/database.js
2023-02-04 18:21:34 +08: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