Commit graph

478 commits

Author SHA1 Message Date
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
Thomas Spalinger 7f88aacbe7 make monitor start() and stop() async 2023-02-23 16:16:49 +00: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
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
Suriya Soutmun 43941fa2c6
feat: add mtls authen method in http/http keyword 2023-02-07 09:40:47 +07:00
Louis Lam d4752b65de WIP 2023-02-05 18:01:54 +08: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 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
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
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 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ç 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
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
Adam Spurgeon 774d754b21 Add GameDig monitor 2023-01-08 21:43:30 +13:00
Matthew Nickson 7a13b959a3
Updated to match changes in #2223
Signed-off-by: Matthew Nickson <[email protected]>
2023-01-06 20:09:40 +00:00
minhhoang 4147a4c404 fix: #2480 2022-12-28 22:31:33 +07:00
Louis Lam 765d8e1297 Fix #2318 2022-12-15 13:39:48 +08: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 4cd5b5563f Fix #1145 2022-12-08 23:21:55 +08:00
Louis Lam e478084ff9 Fix Uptime Kuma cannot be stopped 2022-12-08 19:13:47 +08:00
Louis Lam ee1a56caae Update /test-webhook and reevaluate sensitive fields 2022-12-05 18:18:19 +08:00
minhhn3 b459408b10 fix: resolve conflict 2022-10-26 20:41:21 +07:00
Matthew Nickson 4339ca7eb5
Merge branch 'master' into feature/#1891-set-ping-packet-size 2022-10-22 16:22:28 +01:00
Louis Lam 0b8d4cdaac Generate Next Timeslot for recurring interval 2022-10-15 17:17:26 +08:00
Louis Lam 268cbdbf8d Merge remote-tracking branch 'origin/master' into maintenance
# Conflicts:
#	server/server.js
#	src/components/settings/General.vue
2022-10-15 15:57:39 +08:00
Louis Lam 2faf866e9e Implement generateTimeslot() for recurring interval type 2022-10-12 17:02:16 +08:00
Louis Lam 7b9766091e Revert testing 2022-10-11 22:18:09 +08:00
Louis Lam a36f24d827 Add configurable server timezone 2022-10-09 20:59:58 +08:00
Louis Lam ad1a7c255f Drop exports.entryPage fully 2022-10-08 23:56:58 +08:00
George Tsomlektsis 3e699f8ac3 Fix linting errors. 2022-10-03 18:01:52 +03:00
George Tsomlektsis b0d6b5b13d Fixed entry route not redirecting correctly when the status entry page changes slug. 2022-10-03 17:48:34 +03:00
Louis Lam b1465c0282 - Maintenance standardize datetime format to YYYY-MM-DD hh:mm:ss
- Import dayjs extensions one time only
- Maintenance activeCondition centralize
2022-09-28 00:20:17 +08:00
Justin Tisdale 0814d643c1 Merge branch 'master' into feature/expand-http-payload-support 2022-09-25 10:45:32 -04:00
Louis Lam 120e578398 Move maintenance code to maintenance-socket-handler.js 2022-09-17 16:58:08 +08:00
Louis Lam 7017c2e625 Move maintenance code to maintenance-socket-handler.js 2022-09-17 16:54:21 +08:00
Louis Lam 90761cf831 Merge remote-tracking branch 'origin/master' into karelkryda_master
# Conflicts:
#	server/database.js
#	server/model/monitor.js
#	server/routers/api-router.js
#	server/server.js
#	src/components/HeartbeatBar.vue
#	src/components/MonitorList.vue
#	src/icon.js
#	src/layouts/Layout.vue
#	src/mixins/datetime.js
#	src/mixins/socket.js
#	src/router.js
#	src/util.js
2022-09-17 16:12:57 +08:00
Matthew Nickson 742b1337be
Merge branch 'master' into feature/#1891-set-ping-packet-size 2022-09-10 21:20:03 +01:00
Louis Lam 197d44981f Merge remote-tracking branch 'origin/master' into test/add-cypress-tests
# Conflicts:
#	package.json
2022-09-09 16:32:23 +08:00
minhhn3 3a90d246a4 fix: wrong type 2022-08-20 22:45:11 +07:00
Justin Tisdale 6ec6410808 Merge branch 'master' into feature/expand-http-payload-support 2022-08-20 10:24:18 -04:00
Matthew Nickson c3d655afb4
Merge branch 'master' into feature/#1891-set-ping-packet-size 2022-08-13 21:15:16 +02:00
minhhn3 6bb79597e8 fix: resolve merge conflict 2022-08-13 13:26:05 +07:00
Louis Lam de6e1e7ddd Merge remote-tracking branch 'origin/master' into introduce-resend-interval
# Conflicts:
#	server/database.js
2022-08-13 13:24:00 +08:00
Justin Tisdale 0d58526f25 Merge branch 'master' into feature/expand-http-payload-support 2022-08-11 21:04:11 -04:00
Justin Tisdale 2b9bf095a6 Add non-json support for http body 2022-08-11 20:57:03 -04:00
Louis Lam 3b3763351b Merge remote-tracking branch 'origin/master' into radius-check
# Conflicts:
#	server/database.js
#	server/model/monitor.js
#	server/server.js
#	server/util-server.js
#	src/pages/EditMonitor.vue
2022-08-11 21:08:06 +08:00
Louis Lam d0d1e0de28 Merge remote-tracking branch 'origin/master' into introduce-resend-interval
# Conflicts:
#	src/pages/EditMonitor.vue
2022-08-05 15:40:06 +08:00
Minh Hoàng dcecd10c88
Feat/add gRPC protocol (#1)
* feat: added monitor with gRPC

Co-authored-by: minhhn3 <[email protected]>
2022-08-03 12:00:39 +07:00
Louis Lam 70aa8fe453
Merge pull request #1183 from c0derMo/master
Adding option to monitor other docker containers
2022-08-02 19:08:46 +08:00
Louis Lam a3b1612938 getClientIP respect trustProxy setting 2022-07-31 23:36:33 +08:00
Louis Lam a07f54f35b Merge remote-tracking branch 'origin/master' into theS1LV3R_master 2022-07-31 23:27:35 +08:00
Moritz R 60e7824ff0
Merge branch 'master' into master 2022-07-24 14:37:22 +02:00
c0derMo 0d098b0958 Docker Hosts are now a table & have their own dialog 2022-07-22 15:47:04 +00:00
tamasmagyar 986c03aecd test cypress run 2022-07-18 20:51:17 +02:00
Matthew Nickson a54e58b4d6
Added Ping packet size #1891
This should fully implement #1891 by adding an extra field to the edit
monitor page and an extra column to the database. The user can now
set the size of the packet to send, it defaults to 56. A maximum limit
of 65500 was chosen to ensure that the total size of the packet does
not exceed the IPv4 maximum packet size and to comply with the limit
imposed by Windows.

Signed-off-by: Matthew Nickson <[email protected]>
2022-07-14 08:32:51 +01:00
Chongyi Zheng 3fa5dfc873
Use x-forwarded-host only when trustProxy is true 2022-07-12 22:59:23 -04:00
theS1LV3R c4125a8334
style: fix linter error 2022-07-04 20:38:44 +02:00
Zoe 0a368ff553
feat: add x-real-ip as a secondary header for client ip
Now allows both x-forwarded-for as well as x-real-ip to be used for the client ip, preferring x-forwarded-for
2022-07-04 20:36:03 +02:00
theS1LV3R 6f01a448ad
feat: get client ip from x-forwarded-for header if available
Useful for use-cases where Uptime Kuma is running behind a reverse proxy
2022-06-23 23:08:04 +02:00
Louis Lam c36d9a4b8b Fix port data type #1802 2022-06-21 22:33:09 +08:00
OidaTiftla 869a040011
Merge branch 'master' into introduce-resend-interval 2022-06-15 16:19:47 +02:00
Moritz R ac449ec1c2
Merge branch 'master' into master 2022-06-15 11:33:00 +02:00
Louis Lam 6682839ec8 Merge remote-tracking branch 'origin/master' into ntml-auth
# Conflicts:
#	package-lock.json
#	package.json
#	server/database.js
#	server/model/monitor.js
#	server/server.js
#	server/util-server.js
2022-06-14 10:36:29 +08:00
Louis Lam 04e22f17a9 Merge remote-tracking branch 'origin/master' into christopherpickering_master
# Conflicts:
#	package-lock.json
#	src/languages/en.js
2022-06-11 20:59:58 +08:00
Louis Lam a707b51053
Page Loading Speed Optimization (#1711)
* Update Vite.js to 2.9.9 and add Rollup Plugin Visualizer
* Prebuild gzip and brotli for assets

Original: ~1.2MB
Optimized: ~370KB
2022-06-05 23:43:25 +08:00
Louis Lam e4ad8cbfc8 Remove unused variables 2022-05-31 23:06:43 +08:00
Karel Krýda fa777c5bc0
Update server/server.js
Co-authored-by: Matthew Nickson <[email protected]>
2022-05-30 15:32:42 +02:00
Louis Lam c095767f4a [Status Page] SSR 2022-05-30 15:45:44 +08:00
Moritz R a9f3142cee
Merge branch 'master' into master 2022-05-19 14:24:02 +02:00
Christopher Pickering ef73af391f
added option for ntlm authorization 2022-05-13 12:58:23 -05:00
Christopher Pickering 87f933df4f
added sqlserver monitor 2022-05-12 12:48:03 -05:00
Sascha Kruse 398ecb7666 add radius check 2022-05-12 15:21:13 +02:00
Louis Lam 59be9bb971 working 2022-05-11 00:51:11 +08:00
Karel Krýda 9a35386841
Merge branch 'master' into master 2022-05-06 11:24:21 +02:00
Louis Lam 429ad384d0 Fix hardcoded path for error.log and move errorLog() to UptimeKumaServer.errorLog() 2022-05-06 14:41:34 +08:00
OidaTiftla 8e99cbf426 Merge branch 'master' into introduce-resend-interval 2022-05-04 22:58:40 +02:00
Karel Krýda 31b90d12a4 Added the ability to choose on which status pages maintenance information should be displayed 2022-04-30 17:17:22 +02:00
Karel Krýda b4ffcc5555 Added JSDoc 2022-04-30 15:50:05 +02:00
Karel Krýda ed84e56a85 Merge remote-tracking branch 'origin_kuma/master'
# Conflicts:
#	package-lock.json
#	server/database.js
#	server/model/monitor.js
#	server/routers/api-router.js
#	server/server.js
#	src/components/MonitorList.vue
#	src/components/PingChart.vue
#	src/icon.js
#	src/pages/DashboardHome.vue
#	src/pages/StatusPage.vue
#	src/router.js
#	src/util.js
2022-04-30 13:40:34 +02:00
Louis Lam 023db1450d Fix #1577 2022-04-28 23:12:16 +08:00
Louis Lam 1687de163c
Merge pull request #1565 from Saibamen/eslint
Fix some of ESLint warnings
2022-04-27 15:00:49 +08:00
Adam Stachowicz 1e595eaa76 Update linters 2022-04-26 01:26:57 +02:00
Adam Stachowicz 5fbfacf5ce Fix ESlint warnings 2022-04-26 00:26:26 +02:00
Matthew Nickson 09e61d9d63
Changed Array<T> to type[]
Signed-off-by: Matthew Nickson <[email protected]>
2022-04-21 20:02:18 +01:00
Matthew Nickson 6d22ebedca
Merge branch 'master' into add-JSDoc-comments 2022-04-21 13:01:22 +01:00
OidaTiftla 19933bbd99 Improve backwards compatibility 2022-04-21 12:18:15 +02:00
OidaTiftla b7e2489d22
Merge branch 'master' into introduce-resend-interval 2022-04-21 11:58:04 +02:00
Matthew Nickson 03b2d8d521
Add JSDoc to server/*
Signed-off-by: Matthew Nickson <[email protected]>
2022-04-20 19:56:40 +01:00
Louis Lam 200fdfb808 Merge code manually since some code moved to another file 2022-04-19 16:46:45 +08:00
Louis Lam 29d2d95c71 Merge branch '1.14.X'
# Conflicts:
#	package.json
#	server/server.js
2022-04-19 16:43:13 +08:00
Louis Lam 919393cac9 Partially change the server core into a class, remove all require("./server") #1520 2022-04-19 15:38:59 +08:00
Louis Lam addf75daa7 Fix MQTT password do not save 2022-04-18 19:05:14 +08:00
Louis Lam 5fa62a888c Merge branch 'master' into mqtt2
# Conflicts:
#	server/database.js
#	server/util-server.js
2022-04-17 19:46:33 +08:00
Louis Lam e6a8a84278 Include only nessacary data in webhook 2022-04-17 19:30:58 +08:00
Louis Lam d71c086447 Standardize array bracket spacing 2022-04-17 15:27:35 +08:00
Louis Lam 8d8c38b1a8 Allow unused vars in args and fix more eslint issues 2022-04-17 01:39:49 +08:00
Louis Lam b1c7915bc1 Merge branch 'master' into mqtt2
# Conflicts:
#	package-lock.json
#	package.json
#	server/database.js
#	server/model/monitor.js
#	server/server.js
#	src/pages/EditMonitor.vue
2022-04-16 13:28:39 +08:00
Louis Lam 0a5db0cecb Fix #1478 2022-04-14 10:12:31 +08:00
Louis Lam 17dcf6d3a2
Merge pull request #910 from andreasbrett/logging
introduce consistent logging
2022-04-13 23:47:08 +08:00
Louis Lam e9ce1433cd Change log_info to log.info by making it into an object 2022-04-13 23:33:37 +08:00
Moritz R 361e44ad6a
Merge branch 'louislam:master' into master 2022-04-13 15:58:17 +02:00
Louis Lam 4053b9db1f Merge remote-tracking branch 'origin/master' 2022-04-12 17:46:24 +08:00
Louis Lam 772d009f43 Merge branch 'master' into fluencydoc_master
# Conflicts:
#	extra/update-version.js
#	server/client.js
#	server/server.js
2022-04-12 17:44:04 +08:00
Louis Lam 6179f6c982 Merge branch 'master' into issue/1138
# Conflicts:
#	server/server.js
2022-04-12 17:15:33 +08:00
Louis Lam 94770cf865 Resolve log message null reference 2022-04-12 16:57:22 +08:00
Louis Lam 279e2eb3f6 Merge branch 'master' into logging
# Conflicts:
#	server/database.js
#	server/jobs.js
#	server/model/monitor.js
#	server/routers/api-router.js
#	server/server.js
#	server/socket-handlers/status-page-socket-handler.js
#	server/util-server.js
2022-04-12 16:32:14 +08:00
Louis Lam 0afa0be5c2 Merge branch 'master' into status-page-domain
# Conflicts:
#	server/database.js
2022-04-09 16:07:09 +08:00
Louis Lam 5027fcd320 Export server using an object class 2022-04-07 23:02:57 +08:00
Louis Lam d5e68f8453 Export monitor list 2022-04-07 22:53:32 +08:00
Louis Lam 082c2dd32d Remove restartMonitors() and move proxy socket events to a socket handler file 2022-04-07 14:45:37 +08:00
Louis Lam c4e74c9943 Render <StatusPage> if domain matched 2022-04-06 22:43:22 +08:00
Louis Lam 70311f7a5a Add an option to enable/disable the domain name expiry notification #1364 2022-04-05 21:27:50 +08:00
Louis Lam 48d679234a Stop bree and cloudflared while the server shutting down 2022-04-05 19:41:29 +08:00
Moritz R af44b0beab
Merge branch 'master' into master 2022-04-03 17:19:29 +02:00
Louis Lam 04e3394d02 Merge branch 'master' into feature/request-with-http-proxy
# Conflicts:
#	package-lock.json
#	package.json
#	server/database.js
#	src/languages/en.js
#	src/mixins/socket.js
2022-04-01 14:57:35 +08:00
Louis Lam b72a2d350f Set cloudflared token from env var or arg 2022-03-30 20:08:26 +08:00
Louis Lam 82ea896bbc Improve the workflow of cloudflared 2022-03-30 11:59:49 +08:00
Louis Lam a6b52b7ba6 Merge branch 'master' into cloudflared 2022-03-29 17:42:55 +08:00
Louis Lam b8dea3a823 Merge remote-tracking branch 'origin/master' 2022-03-29 17:39:12 +08:00
Louis Lam 0da6e6b1fb Some improvements 2022-03-29 17:38:48 +08:00
Louis Lam 44fb2a88f2 Add cloudflared socket handler 2022-03-29 14:48:02 +08:00
OidaTiftla d8013f31e8 Update version after merging new master branch 2022-03-27 21:24:41 +02:00
OidaTiftla 91366ff565
Merge branch 'master' into introduce-resend-interval 2022-03-27 21:19:57 +02:00
Louis Lam be88351eb3
Merge pull request #1136 from chakflying/fix/prometheus-on-delete
Fix: Remove prometheus metrics on delete [Test needed]
2022-03-27 11:05:50 +08:00
Louis Lam 3adda48f3a Load the status page list earlier 2022-03-21 15:28:59 +08:00
Louis Lam 719a136d1e [Status Page] Improved entry page 2022-03-17 22:44:47 +08:00
Louis Lam 50d6e888c2 [new status page] wip 2022-03-10 21:34:30 +08:00
Uğur Erkan 78d76512ba Add http and https proxy feature
Added new proxy feature based on http and https proxy agents.
Proxy feature works like notifications, there is many proxy
could be related one proxy entry.

Supported features
- Proxies can activate and disable in bulk
- Proxies auto enabled by default for new monitors
- Proxies could be applied in bulk to current monitors
- Both authenticated and anonymous proxies supported
- Export and import support for proxies
2022-03-06 19:34:49 +03:00
OidaTiftla b69a8b8493
Fix formatting
Co-authored-by: Adam Stachowicz <[email protected]>
2022-01-23 17:35:53 +01:00
OidaTiftla 1ac904d6d6 Introduce resend interval if down 2022-01-23 15:22:57 +01:00