Compare commits

...

1567 Commits

Author SHA1 Message Date
Louis Lam
25ea99a436 Merge pull request #2161 from 5idereal/patch-1
Update zh-tw translation
2022-10-03 20:53:13 +08:00
5idereal
c2c3f981bc update zh-tw translation 2022-10-03 18:03:15 +08:00
Louis Lam
2c237e9c03 Merge pull request #2127 from phindmarsh/squadcast-notification-support
Squadcast notification support
2022-10-03 16:18:54 +08:00
Louis Lam
3e85893bdd Merge remote-tracking branch 'origin/master' into squadcast-notification-support
# Conflicts:
#	src/languages/en.js
2022-10-03 16:16:50 +08:00
Louis Lam
543a74ecab Merge pull request #1923 from rolfbachmann/ntfy-auth-support
Add authentication support for ntfy
2022-10-03 15:54:55 +08:00
Louis Lam
62ad2f9bb4 Merge pull request #2148 from Computroniks/bug/octopush-notifications-#2144
Fixed octopush legacy doesn't return error code
2022-10-03 15:53:54 +08:00
Louis Lam
7672057319 [ntfy] Do not autofill 2022-10-03 15:51:29 +08:00
Louis Lam
0f99d49a27 Merge remote-tracking branch 'origin/master' into ntfy-auth-support 2022-10-03 15:30:00 +08:00
Louis Lam
d93f7b33be Merge pull request #2153 from Computroniks/bug/#2009-teams-unnecessary-url-field
Fixed alert features unnecessary URL field #2009
2022-10-03 15:20:45 +08:00
Louis Lam
894aeaea0a Merge pull request #2158 from SametKUM/master
fix some translations
2022-10-03 15:16:15 +08:00
Louis Lam
97dc8eba13 Merge pull request #2156 from AnTheMaker/patch-2
Improve German translation
2022-10-03 15:15:47 +08:00
5idereal
d39a4770e0 sync 2022-10-03 13:11:39 +08:00
SametKUM
f6ac09b751 fix some translations 2022-10-02 21:14:00 +03:00
Louis Lam
9c1ad4f8c6 Merge pull request #2155 from AnTheMaker/patch-1
Fix typos in CONTRIBUTING.md
2022-10-02 20:14:23 +08:00
An | Anton Röhm
8595824b5d Improve German translation 2022-10-02 13:49:40 +02:00
An | Anton Röhm
da34685019 fix typos 2022-10-02 13:38:33 +02:00
Louis Lam
0cf28c2025 Merge pull request #2154 from MrEddX/bulgarian
Update bg-BG.js
2022-10-02 17:59:59 +08:00
MrEddX
ed7bc0e6d1 Update bg-BG.js
Added New Fields
2022-10-02 09:55:58 +03:00
Matthew Nickson
6a3eccf6a6 Fixed alert features unnecessary URL field #2009
The filling of the URL field was incorrect previously. It has been
updated to handle new monitor types.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-10-02 02:26:38 +01:00
Matthew Nickson
97de3959cd Updated octopush error handling to accept 000
The legacy octopush API includes an error code with all responses. A
code other than 000 is an error.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-10-01 19:48:00 +01:00
Matthew Nickson
63e408f4f2 Fixed octopush legacy doesn't return error code
The octopush legacy API does not return a HTTP error code and instead
always returns a HTTP 200. This means that no error it thrown even if
something like the parameters are incorrect.
Instead the error code is given in the json response data.
Therefore we must look at the response data and check for the presence
of the "error_code" key in the response data.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-10-01 15:42:34 +01:00
Louis Lam
a3b1123e82 Merge pull request #2147 from Computroniks/bug/octopush-notifications-#2144
Fixed Octopush Notifier not working #2144
2022-10-01 22:27:42 +08:00
Matthew Nickson
2e54dee817 Fixed Octopush Notifier not working #2144
The version number was passed as a string from the frontend but was
checked against a number in the backend provider. This caused the if else
if to fall through into an error. The literal it is now being compared
has been changed to a string and the unknown version error is no longer
encountered.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-10-01 15:03:28 +01:00
Louis Lam
ceeb47bf82 Merge pull request #2145 from Faris0520/patch-1
update some typo at id-ID.js
2022-10-01 14:36:57 +08:00
FarisDaffa
929d238106 Update id-ID.js 2022-10-01 12:17:17 +07:00
Patrick
bef9cb6a5f Linting fixes 2022-09-26 22:30:43 +13:00
Patrick
4157c7d546 Add support for Squadcast incoming webhook 2022-09-26 22:16:34 +13:00
Louis Lam
c3eef28443 Merge pull request #2122 from mjysci/test
feat: Add ServerChan Notification support
2022-09-25 15:01:58 +08:00
Louis Lam
443235b20b Update stale-bot.yml 2022-09-24 00:11:22 +08:00
Louis Lam
35810e299d Merge pull request #2121 from rezzorix/patch-6
Update stale-bot.yml
2022-09-24 00:07:37 +08:00
MA Junyi
b03624b7e3 feat: Add ServerChan Notification support 2022-09-23 23:27:22 +08:00
rezzorix
dcbd9c12cf Update stale-bot.yml
1. cron every 6 hours (from 24hrs)
2. close after 2 days scale (from 7)
3. operations per run 200 (from 90)
2022-09-23 21:59:38 +08:00
Louis Lam
83ca74eba7 Merge pull request #2118 from Buchtic/patch-2
Update cs-CZ.js
2022-09-23 16:22:29 +08:00
Buchtič
c6cf600722 Update cs-CZ.js
localization improvements
2022-09-22 19:30:43 +02:00
Louis Lam
22ef8ff751 Merge pull request #2111 from rezzorix/patch-6
Update stale-bot.yml
2022-09-21 18:41:45 +08:00
rezzorix
565e9233fe Update stale-bot.yml
Adding "operations-per-run: 90" to ensure the action catches all 600+ items that need to be processed etc.

If not defined, the default is 30 which captures only about 200 items a run which is not enough.
2022-09-21 18:27:18 +08:00
Louis Lam
9a7c2d562a Update PULL_REQUEST_TEMPLATE.md 2022-09-19 23:15:19 +08:00
Louis Lam
c4cb825fef Update PULL_REQUEST_TEMPLATE.md 2022-09-19 23:14:25 +08:00
Louis Lam
3193533a60 Update CONTRIBUTING.md 2022-09-19 19:56:30 +08:00
Louis Lam
1f1825dbff Update CONTRIBUTING.md 2022-09-19 19:39:30 +08:00
Louis Lam
e4e47c3976 Update README.md 2022-09-18 23:07:17 +08:00
Louis Lam
1c4e97439c Fix pr-test 2022-09-17 01:59:25 +08:00
Louis Lam
d23085cddc Fix #2100, the monitor name cannot display if too long 2022-09-17 01:18:49 +08:00
Louis Lam
f96bad1629 Merge pull request #2089 from jakubenglicky/smsmanager
feat: Add support notification via SMSManager
2022-09-16 14:29:50 +08:00
Super Manito
38c45a3fe3 Fix previously PR bug about Bark Notification (#2084)
Co-authored-by: zuosc <zorro.zsc@hotmail.com>
2022-09-16 14:21:22 +08:00
Louis Lam
e815e51608 Merge pull request #2099 from burakurer/patch-5
Update tr-TR.js
2022-09-16 14:17:01 +08:00
burakurer
bec3b0d2dc Update tr-TR.js 2022-09-16 00:16:08 +03:00
jakubenglicky
2d5096317f Fix warning at goalert.js 2022-09-15 09:11:27 +02:00
jakubenglicky
1c3da995e3 Add support notification via SMSManager 2022-09-15 09:11:05 +02:00
Louis Lam
db6fdf5e26 Update Project Plan URL
Migrated to the new GitHub Project
2022-09-14 02:36:18 +08:00
Louis Lam
fce175cad6 Merge pull request #2081 from cunkz/chore/update-language-id-ID
chore: update existing and add new text for language id-ID
2022-09-14 00:23:14 +08:00
Gilas Amalanda
b673cfbe94 chore: update typo for Tag with this name already exist at language id-ID 2022-09-13 21:38:58 +07:00
Gilas Amalanda
0ae8010156 chore: update typo for promosmsTypeFull at language id-ID 2022-09-13 21:37:58 +07:00
Gilas Amalanda
527e479f2d chore: update existing and add new text for language id-ID 2022-09-13 21:30:15 +07:00
Louis Lam
d63022676a Fix build issue after updated vite 2022-09-13 15:17:39 +08:00
Louis Lam
08fdbeaa75 Merge pull request #1866 from ThomasChr/logintitle
change page title to " - Login" when on Login Form
2022-09-12 18:48:05 +08:00
Louis Lam
0dd858d516 Warn about the backup feature 2022-09-12 18:45:18 +08:00
Louis Lam
104d521633 Update vite from 2.9.9 to 3.1.0 2022-09-12 18:33:46 +08:00
Louis Lam
839183aa85 Merge pull request #2071 from d3vyce/master
Add phishing security to link in status page
2022-09-12 14:39:20 +08:00
Louis Lam
e83ff0d679 Merge pull request #2070 from kdevkr/chore/typo
chore: fix typo
2022-09-12 14:10:33 +08:00
Louis Lam
80c1054877 Merge pull request #2072 from rezzorix/patch-5
Create stale-bot.yml
2022-09-11 15:41:28 +08:00
rezzorix
f503488618 Create stale-bot.yml 2022-09-11 14:54:33 +08:00
d3vyce
7577477ae8 Add rel="noopener noreferrer" to html link 2022-09-10 21:35:22 +02:00
Mambo
3ea57600ba chore: fix typo
Modifying Korean Spelling
2022-09-10 23:16:05 +09:00
Louis Lam
b22176d218 Merge pull request #1780 from tamasmagyar/test/add-cypress-tests
test: added cypress framework and tests for setup page
2022-09-09 21:05:12 +08:00
Louis Lam
7f9e291206 Ignore /cypress in .dockerignore 2022-09-09 16:36:32 +08: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
Louis Lam
97e9bc7705 Update README.md 2022-09-09 16:24:08 +08:00
Louis Lam
87b72191e5 Update README.md 2022-09-09 16:23:15 +08:00
Louis Lam
8827176390 Merge remote-tracking branch 'origin/master' 2022-09-09 16:00:14 +08:00
Louis Lam
42969d11ee Merge pull request #2044 from burakurer/patch-4
Update tr-TR.js
2022-09-09 15:50:51 +08:00
Louis Lam
7b8f9c7655 Fix checkout-pr by using fetch & checkout instead of pull 2022-09-09 15:49:39 +08:00
Louis Lam
e90a4f1f34 Merge pull request #2023 from louislam/pr-test
A special docker image for testing pull requests
2022-09-09 03:35:01 +08:00
Louis Lam
1e5376d80b Merge pull request #2011 from mhkarimi1383/goalert-notification
Adding GoAlert Notification
2022-09-09 03:34:37 +08:00
Louis Lam
dad2ec1164 Use pull 2022-09-09 01:57:42 +08:00
Louis Lam
676e64c77d Merge branch 'goalert-notification' of https://github.com/mhkarimi1383/uptime-kuma into pr-test 2022-09-09 01:57:00 +08:00
Louis Lam
0244507a07 Output 2022-09-08 22:40:45 +08:00
Louis Lam
6601e9bbba Output 2022-09-08 22:36:34 +08:00
Louis Lam
9589fcfdef Checkout pr without GitHub Cli 2022-09-08 22:12:27 +08:00
Louis Lam
ce3fe9f0a6 Merge pull request #2056 from mtelgkamp/german-translations
German translations, update de-DE.js
2022-09-08 21:42:02 +08:00
Michael Telgkamp
995276badc fix typo and formatting in en language string 2022-09-08 14:30:41 +02:00
Michael Telgkamp
9e62a6ec7d add some new translated strings 2022-09-08 14:29:45 +02:00
burakurer
75deab2cc5 Update tr-TR.js 2022-09-06 23:04:24 +03:00
Louis Lam
50f7b39672 Merge pull request #2040 from cyril59310/master
Update Fr language
2022-09-07 02:24:17 +08:00
cyril59310
6a802bf68c fix by eslint 2022-09-06 18:38:55 +02:00
Louis Lam
be8caa0d1e Merge pull request #2043 from ivanbratovic/croatian-language
Update Croatian (hr-HR) translation file
2022-09-06 23:09:22 +08:00
Ivan Bratović
d1aa9cfbcc Change small details in hr-HR translation 2022-09-06 14:51:27 +02:00
Ivan Bratović
808efb267f Update Croatian (hr-HR) translation file 2022-09-06 11:32:58 +02:00
cyril59310
252d6ea9c9 Remove unused translations 2022-09-05 20:58:00 +02:00
cyril59310
7d12cd0d42 Update Fr language 2022-09-05 20:21:46 +02:00
Louis Lam
cf10e26aff Update to 1.18.0 2022-09-05 17:43:42 +08:00
Louis Lam
53135641f3 Fix 2022-09-05 17:42:23 +08:00
Louis Lam
c0fe2d54f9 Merge pull request #2034 from Max-le/fr_translate
French translation contribution
2022-09-05 17:41:58 +08:00
Louis Lam
d8303f1f4d Merge pull request #2036 from Buchtic/patch-1
Update cs-CZ.js
2022-09-05 17:41:04 +08:00
Buchtič
ee14ab6751 Update cs-CZ.js 2022-09-04 09:43:07 +02:00
Louis Lam
fd2df562b1 Add checkout pr logic 2022-09-03 18:37:31 +08:00
max
87e45b21fa [empty commit] pull request for French translation contribution 2022-09-02 10:56:54 +02:00
Muhammed Hussein Karimi
626accedee change node version 2022-09-01 16:47:25 +04:30
Muhammed Hussein Karimi
b890812411 use npm 7 2022-09-01 16:36:24 +04:30
Louis Lam
cbc0b9c553 Merge pull request #2026 from filipporomani/patch-1
Italian language fixes
2022-08-31 17:59:12 +08:00
Filippo Romani
c2472bf750 Italian language fixes
A few grammar fixes made from an italian.
Some phrases were not really correct.
2022-08-30 19:11:54 +02:00
Louis Lam
e0cdc3e7c5 Update dockerfile for pr-test 2022-08-29 22:06:47 +08:00
Louis Lam
84fad93555 Merge pull request #1735 from woooferz/patch-1
Added label to status badge
2022-08-29 21:19:15 +08:00
Muhammed Hussein Karimi
b9b00050dd fix package lock version 2022-08-28 21:37:19 +04:30
Muhammed Hussein karimi
064fe50e38 Update src/components/notifications/index.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-08-26 17:06:13 +04:30
Muhammed Hussein karimi
a8ea76e8a1 Remove extra debug log
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-08-26 17:05:32 +04:30
Louis Lam
2975204a0a Merge pull request #2017 from kiznick/master
Update th-TH.js
2022-08-26 15:09:40 +08:00
Yoswaris Lawpaiboon
31150642cd forgot to save lol 2022-08-26 01:08:21 +07:00
Yoswaris Lawpaiboon
3c5c49c16d Update th-TH.js 2022-08-26 00:57:44 +07:00
Muhammed Hussein Karimi
584d52517a [Linter] fixing quotes with doublequote 2022-08-24 10:41:42 +04:30
Muhammed Hussein Karimi
82dd9a7c16 golaert req fix and axios update for formdata 2022-08-24 10:36:29 +04:30
Muhammed Hussein Karimi
d44663c57c provider name fix 2022-08-24 09:37:15 +04:30
Muhammed Hussein Karimi
e557545c97 goalert needs post instead of get 2022-08-24 08:46:20 +04:30
Muhammed Hussein Karimi
055948d1b9 [Linter] typo fixes 2022-08-23 23:58:46 +04:30
Muhammed Hussein Karimi
4ac80cfc02 goAlertInfo language fix 2022-08-23 23:54:26 +04:30
Muhammed Hussein Karimi
af89c4d8ae GoAlert Notification added done
needs test
2022-08-23 23:49:28 +04:30
Muhammed Hussein Karimi
40b9d9ed17 goalert provider missing semicolon fix for linter 2022-08-23 22:26:20 +04:30
Muhammed Hussein Karimi
65e6921a41 goalert notification provider added 2022-08-23 22:22:54 +04:30
Muhammed Hussein Karimi
04fc124928 [empty commit] pull request for GoAlert Notification 2022-08-23 21:14:09 +04:30
Louis Lam
5c25354682 Merge pull request #1998 from MrEddX/bulgarian
Bulgarian
2022-08-17 16:55:58 +08:00
Louis Lam
2aad2510b7 Merge pull request #1993 from AnnAngela/1.18.0-zhCN
1.18.0 zh-CN
2022-08-17 16:55:02 +08:00
MrEddX
fac2f1cbc6 Update bg-BG.js
Translated new fields for the upcoming 1.18.0 release.
2022-08-14 08:52:53 +03:00
MrEddX
8bc3651a7d Merge branch 'louislam:master' into bulgarian 2022-08-14 07:20:37 +03:00
AnnAngela
684d0a7eb8 feat: Update zh-CN languages file
Due to no Radius server and Home Assistant device or server in my hands, the translation may be incorrect.\nRef:\n- Radius secret → Radius 共享机密: https://docs.microsoft.com/zh-cn/azure/active-directory/authentication/howto-mfaserver-dir-radius#:~:text=%E5%8F%AF%E9%80%89%EF%BC%89%E5%92%8C-,%E5%85%B1%E4%BA%AB%E6%9C%BA%E5%AF%86,-%E3%80%82\n- Called Station Id → NAS 网络访问服务器号码: https://docs.microsoft.com/zh-cn/windows-server/networking/technologies/nps/nps-plan-proxy#:~:text=Called%2DStation%2DID%E3%80%82-,NAS%20%E7%BD%91%E7%BB%9C%E8%AE%BF%E9%97%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%20(%E7%94%B5%E8%AF%9D%E5%8F%B7%E7%A0%81),-%E3%80%82%20%E6%AD%A4%E5%B1%9E%E6%80%A7%E7%9A%84\n- Calling Station Id → 呼叫方号码: https://docs.microsoft.com/zh-cn/windows-server/networking/technologies/nps/nps-plan-proxy#:~:text=Calling%2DStation%2DID%E3%80%82-,%E5%91%BC%E5%8F%AB%E6%96%B9%E4%BD%BF%E7%94%A8%E7%9A%84%E7%94%B5%E8%AF%9D%E5%8F%B7%E7%A0%81,-%E3%80%82%20%E6%AD%A4%E5%B1%9E%E6%80%A7%E7%9A%84
2022-08-13 16:23:51 +08:00
AnnAngela
b3712ee1cc fix: Update en language file to match up newest development 2022-08-13 16:19:51 +08:00
Louis Lam
af94424283 Update to 1.18.0-beta.0 2022-08-13 14:04:17 +08:00
Louis Lam
728e811969 Update Apprise to 1.0.0 2022-08-13 13:35:03 +08:00
Louis Lam
a6007adce3 Update to 1.18.0-beta.1 2022-08-13 13:32:16 +08:00
Louis Lam
30b72d81cf Merge pull request #1212 from OidaTiftla/introduce-resend-interval
Resend Notification if Down X times consequently
2022-08-13 13:27:49 +08: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
Louis Lam
2af754b5e8 Update package-lock.json 2022-08-11 21:09:16 +08: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
9a488d6968 Merge pull request #1752 from SuperManito/master
Add Bark Notification Parameters
2022-08-08 17:04:08 +08:00
Louis Lam
aca395cea1 Merge pull request #1957 from jbenguira/patch-2
Avoid error "SQLITE_BUSY: database is locked"
2022-08-08 17:00:06 +08:00
Louis Lam
a49faf09b9 Merge pull request #1836 from rmtsrc/add-home-assistant-notification
feat: added Home Assistant notification integration
2022-08-06 18: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
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
MrEddX
19d8761305 Update bg-BG.js
Just a typo
2022-08-02 07:48:54 +03:00
Joseph Benguira
d6a113396a Update server/database.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-08-01 13:18:19 +03:00
Louis Lam
fb3fe17c28 Fix getClientIP
Co-authored-by: Mateusz Hajder <6783135+mhajder@users.noreply.github.com>
2022-08-01 15:42:58 +08:00
Joseph Benguira
71d62ee151 removed ; after the PRAGMA command 2022-07-31 19:00:19 +03:00
Joseph Benguira
82b9bfc5a0 fixed Trailing spaces not allowed lint issue 2022-07-31 18:59:02 +03:00
Joseph Benguira
f016caa513 Avoid error "SQLITE_BUSY: database is locked"
Avoid error "SQLITE_BUSY: database is locked" by allowing SQLITE to wait up to 5 seconds to do a write
2022-07-31 18:51:53 +03:00
Louis Lam
6e29feffd3 Merge pull request #1827 from theS1LV3R/master
feat: get client ip from x-forwarded-for header if available
2022-07-31 23:43:39 +08:00
Louis Lam
2389b604fe Use Settings.get 2022-07-31 23:41:29 +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
Louis Lam
b777c0c3e4 Merge pull request #1862 from harryzcy/issue-1861
Support X-Forwarded-Host header
2022-07-31 20:53:15 +08:00
Louis Lam
bea8679788 Merge branch 'master' into issue-1861 2022-07-31 20:06:45 +08:00
rmt/src
f091e92c70 Merge branch 'master' of github.com:rmtsrc/uptime-kuma into add-home-assistant-notification 2022-07-31 12:41:18 +01:00
Louis Lam
a0843745f9 Remove unused language key 2022-07-31 18:12:41 +08:00
Louis Lam
16d6885a88 Fix radio button and add description 2022-07-31 18:11:40 +08:00
Louis Lam
4d975a5bd5 Merge pull request #1955 from dtorner/patch-1
Updated ES translation
2022-07-31 17:24:15 +08:00
MrEddX
96ec46765b Update en.js
Just a typo.
2022-07-31 17:23:23 +08:00
MrEddX
96971f6776 Update bg-BG.js
- Translation Update
- Fixed Some Accidentally Deleted Fields
2022-07-31 17:23:23 +08:00
MrEddX
ffb1a948fe Update bg-BG.js
Translation Update
2022-07-31 17:23:23 +08:00
dtorner
4e4156285a Updated ES tramaslation
Just some changes here and there, mainly caps and some words.
TY to the developers for this good piece of code :-)
2022-07-31 11:13:36 +02:00
Louis Lam
1223b56205 Add example 2022-07-30 19:57:51 +08:00
Louis Lam
8ced61697a Fix save docker host issue 2022-07-30 19:48:12 +08:00
Louis Lam
f3322398e5 Fix and improve test docker host 2022-07-29 20:57:13 +08:00
Louis Lam
b76ca59dfe Merge pull request #1786 from treboryx/master
fix: hide mobile header when not logged in
2022-07-29 15:25:43 +08:00
Louis Lam
554b0d2bc3 Merge pull request #1931 from mariogarridopt/add-language-pt-pt
Add pt-PT language file
2022-07-29 15:19:51 +08:00
0x01code
4575f31094 Add support for line notify providers (#1781)
* add line notify support

* add way to get line notify

* Fix duplicate key 'HTTP Basic Auth'

* Revert language files changes

* Revert language files changes

* Fix general message

Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2022-07-29 15:13:50 +08:00
Louis Lam
df7f0b078d Merge pull request #1934 from ankhgerel/locale/ko
chore(locale): change some typo ko-KR
2022-07-26 14:43:06 +08:00
Mario Garrido
d8253405b4 fix: add language to the language list 2022-07-26 02:07:38 +01:00
Mário Garrido
56c6c0c6f1 Merge branch 'louislam:master' into add-language-pt-pt 2022-07-26 02:04:50 +01:00
__filename
b16cb6a337 fix(locale): Edit non-space place
Co-authored-by: Kyungyoon Kim <ruddbs5302@gmail.com>
2022-07-25 20:11:51 +08:00
__filename
694b4cadb3 fix(locale): Edit typo
Co-authored-by: Kyungyoon Kim <ruddbs5302@gmail.com>
2022-07-25 16:41:29 +08:00
__filename
75f6ff8b58 fix(locale): Edit multiple space
Co-authored-by: Kyungyoon Kim <ruddbs5302@gmail.com>
2022-07-25 16:39:00 +08:00
c0derMo
1062e629c5 Fix linting issues 2022-07-24 12:50:43 +00:00
__filename
13f7db655b chore(locale): change some typo ko-KR 2022-07-24 20:44:43 +08:00
Moritz R
60e7824ff0 Merge branch 'master' into master 2022-07-24 14:37:22 +02:00
c0derMo
fb3b407577 Added a settings page & localization 2022-07-24 12:34:43 +00:00
Louis Lam
d54c652d26 Merge pull request #1778 from christopherpickering/master
Added postgres monitor
2022-07-24 14:22:36 +08:00
Louis Lam
f1bcecb0c6 Merge package-lock.json 2022-07-24 14:08:03 +08:00
Louis Lam
88afd662db Merge remote-tracking branch 'origin/master' into postgres
# Conflicts:
#	package-lock.json
#	package.json
2022-07-24 14:07:30 +08:00
c0derMo
e356d5f623 Fixing linting & adding documentation 2022-07-22 15:57:40 +00:00
c0derMo
0d098b0958 Docker Hosts are now a table & have their own dialog 2022-07-22 15:47:04 +00:00
Louis Lam
239611a016 Do not set sendUrl if sendUrl is undefined 2022-07-22 23:27:02 +08:00
Mario Garrido
2ccf1fe41b fix: small changes in semantics 2022-07-22 15:42:38 +01:00
Mario Garrido
77340cf0d2 feat: adicionar pt-PT 2022-07-22 15:16:23 +01:00
Mario Garrido
c412c66aeb Add pt-PT language file 2022-07-22 06:29:41 +01:00
Rolf Bachmann
c4a2ce4e78 Add authentication support for ntfy 2022-07-19 12:17:15 +02:00
tamasmagyar
a382f811f4 added comment to startE2eTests function 2022-07-18 20:51:17 +02:00
tamasmagyar
986c03aecd test cypress run 2022-07-18 20:51:17 +02:00
tamasmagyar
31c388a6e3 added cypress framework and tests for setup page 2022-07-18 20:51:13 +02:00
Louis Lam
9a8b484ee8 Merge pull request #1853 from louislam/dns
Add cacheable-lookup
2022-07-18 23:46:55 +08:00
Louis Lam
17ed051401 Add CacheableDnsHttpAgent.install() 2022-07-18 23:32:45 +08:00
Louis Lam
8f7b7e74c9 socks-proxy-agent 6.2.X is a breaking change, freeze to 6.1.1. 2022-07-18 23:28:19 +08:00
Louis Lam
9cd060c6c3 socks-proxy-agent 6.2.X is a breaking change, freeze to 6.1.1. 2022-07-18 23:27:05 +08:00
Louis Lam
1999541802 Merge remote-tracking branch 'origin/master' into dns 2022-07-18 23:25:14 +08:00
Louis Lam
65d71e5db0 Fix mssqlQuery keep adding error listener, which causes memory leak.
Also it is not necessary since the error catched in the promise .catch(..).
2022-07-18 23:14:16 +08:00
Louis Lam
2073f0c284 Bind cacheable-lookup to custom http agent 2022-07-18 22:33:35 +08:00
Louis Lam
25d711e683 Fix jsdoc data type 2022-07-18 22:06:25 +08:00
Louis Lam
77a7801992 Merge pull request #1917 from Deni7/patch-1
Update ukrainian language
2022-07-18 14:28:47 +08:00
Denis Stepanov
525607f49e Update ukrainian language 2022-07-18 09:00:44 +03:00
Louis Lam
8613d3ffa9 Merge pull request #1893 from SiderealArt/patch-1
update zh-TW
2022-07-16 00:23:42 +08:00
SiderealArt
d44d984a46 update zh-TW 2022-07-14 22:25:39 +08:00
Louis Lam
d362372b05 Merge pull request #1749 from daeho-ro/feature/alertnow
Feat: New Notification Type for AlertNow
2022-07-14 15:04:35 +08:00
Chongyi Zheng
3fa5dfc873 Use x-forwarded-host only when trustProxy is true 2022-07-12 22:59:23 -04:00
Chongyi Zheng
6ce012c9a1 Add trust proxy checkbox in Settings page 2022-07-12 22:45:54 -04:00
Chongyi Zheng
f33b6de157 Support X-Forwarded-Host header 2022-07-11 01:28:50 -04:00
Louis Lam
e0a2ed2523 Update Apprise from 0.9.8.3 to 0.9.9 2022-07-10 02:15:51 +08:00
Louis Lam
a78cb7ab42 Merge pull request #1880 from Jontes-Tech/patch-1
Fixing small Readme links.
2022-07-09 21:45:56 +08:00
Jonatan
278d9f5689 Fixing Markdown whoopsie I made 2022-07-09 12:25:41 +02:00
Jonatan
2ad79a68b9 Some small changes in the Reddit section. 2022-07-09 12:22:03 +02:00
Louis Lam
d29955f3ba Merge pull request #1741 from Computroniks/feature/#1221-clickable-hostaname-on-status-page
Added #1221 clickable hostname in status page
2022-07-06 15:09:26 +08: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
Louis Lam
27dbc021b4 Add standalone manifest.json for each status page. Close #1668 2022-07-04 21:58:27 +08:00
Matthew Nickson
1b120f8a6f Made link icon only show for http and keyword
The option to enable links to the monitors is now only available for
http and keyword monitor types. The link will also no longer be shown
on the edit page to prevent issues with the url not being present if
the monitor was not already enabled for sendUrl

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-07-04 13:31:05 +01:00
Louis Lam
6f57c4195a Slightly improve css 2022-07-04 18:33:38 +08:00
Louis Lam
baa592bce3 Merge remote-tracking branch 'origin/master' into feature/#1221-clickable-hostaname-on-status-page 2022-07-04 18:21:56 +08:00
Thomas Christlieb
42e30de209 change page title to " - Login" when on Login Form 2022-07-04 10:16:33 +02:00
Louis Lam
624678826d Move all frontend dependencies to devDependencies, as it is not used in the production environment 2022-07-04 03:59:20 +08:00
Louis Lam
e8c3807594 Move all frontend dependencies to devDependencies, as it is not used in the production environment 2022-07-04 03:54:56 +08:00
Louis Lam
4d8e755400 Merge pull request #1859 from jjasghar/patch-2
Update docker-compose.yml
2022-07-01 23:51:34 +08:00
JJ Asghar
9b92a02968 Update docker-compose.yml
It's a docker-compose file, not "r" :), thanks for making this app, I love it. 🤘
2022-06-30 11:46:14 -05:00
Louis Lam
6418f99f1a Merge pull request #1852 from thehijacker/patch-1
Update sl-SI.js
2022-06-30 16:40:03 +08:00
Louis Lam
93ac4e1b96 Merge pull request #1856 from gBasil/master
Clean up logo svg file
2022-06-30 16:24:52 +08:00
Louis Lam
f65bef686c Merge pull request #1857 from MarcHagen/lang/nl
[i18n] Update NL (Dutch)
2022-06-30 16:19:26 +08:00
Marc Hagen
2f26864892 [i18n] Update NL (Dutch) 2022-06-29 23:26:41 +02:00
Basil
a802f7ebed Clean up logo svg file 2022-06-29 13:20:26 -06:00
Louis Lam
e5e8db6c38 Add cacheable-lookup 2022-06-29 22:17:47 +08:00
thehijacker
303738b7c2 Update sl-SI.js 2022-06-29 13:58:52 +02:00
Louis Lam
dddd2c0042 Cache settings, reduce the database / disk usage 2022-06-29 16:18:56 +08:00
Louis Lam
515095ecfb Move all settings code from util-server.js into settings.js 2022-06-29 14:57:40 +08:00
Louis Lam
83284b6d2c [stylelint] Turn off color-hex-length 2022-06-28 22:26:27 +08:00
Louis Lam
1af6d33fcd Make sure the backup database process is actually created backup files. Improve https://github.com/louislam/uptime-kuma/issues/1412#issuecomment-1166576395 2022-06-28 22:11:59 +08:00
Louis Lam
e36b65c2df Add frontend version 2022-06-28 21:55:05 +08:00
Louis Lam
8542e6cbb9 Drop npm-check-updates due to security vulnerability of got, and it is unlikely to be fixed shortly
Read more:
https://github.com/raineorshine/npm-check-updates/pull/1147#event-6880466174
2022-06-27 10:50:38 +08:00
rmt/src
5dd197374d fix: only add en translation 2022-06-26 10:56:46 +01:00
rmt/src
f84ae82983 feat: added Home Assistant notification integration 2022-06-25 21:27:30 +01:00
Louis Lam
9650418ef7 Fix dependencies warning 2022-06-25 20:55:14 +08:00
Louis Lam
b546c846ae Merge pull request #1828 from utolosa002/master
Add Basque language
2022-06-25 19:26:38 +08:00
Unai Tolosa
b5cbc6f5f6 fix: lint 2022-06-23 23:30:01 +02:00
Unai Tolosa Pontesta
f8def5aa6f Merge branch 'louislam:master' into master 2022-06-23 23:12:54 +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
Unai Tolosa
5dd3d32d77 add: basque translations 2022-06-23 16:20:24 +02:00
Unai Tolosa
ff8bba6863 add: basque translation file 2022-06-23 13:29:37 +02:00
Louis Lam
ed1f88a852 Change fs.rmdir to fs.rm as it is deprecated 2022-06-23 19:18:28 +08:00
Louis Lam
0ecaa2cbd7 Update to 1.17.1 2022-06-23 16:05:42 +08:00
Louis Lam
3c3dc05621 Merge pull request #1823 from louislam/revert-1598
Revert #1598
2022-06-23 16:02:44 +08:00
Louis Lam
1f5466a3e8 Revert #1598 2022-06-23 15:54:33 +08:00
Louis Lam
d5da5af174 Update to 1.17.0 2022-06-22 20:13:39 +08:00
Louis Lam
c36d9a4b8b Fix port data type #1802 2022-06-21 22:33:09 +08:00
Louis Lam
a7063b8aca Fix logo height in the status page list 2022-06-21 15:46:22 +08:00
Louis Lam
0a8046c98e Merge remote-tracking branch 'origin/master' 2022-06-21 15:12:37 +08:00
Louis Lam
7ba717ee55 Fix Lunasea do not handle general message correctly #1790 2022-06-21 15:12:24 +08:00
Louis Lam
ea400ac35f Merge pull request #1795 from MrEddX/bulgarian
Update bg-BG.js
2022-06-20 21:50:00 +08:00
Louis Lam
15db2c060d Merge pull request #1791 from Saibamen/patch-1
Update README for i18n
2022-06-20 21:49:42 +08:00
MrEddX
89717495dc Update bg-BG.js
Added and translated new fields
2022-06-20 11:52:12 +03:00
Adam Stachowicz
7b710af12c Update README for i18n
Related: https://github.com/louislam/uptime-kuma/pull/1777
2022-06-19 21:17:03 +02:00
Louis Lam
5b278ca500 Add a description that certification expiry have to be assigned to a monitor 2022-06-19 20:57:52 +08:00
Matthew Nickson
f1d24782f8 Merge branch 'master' into feature/#1221-clickable-hostaname-on-status-page 2022-06-18 23:53:35 +01:00
Louis Lam
b97019eea8 Fix cloudflared cannot be stopped in No Auth mode due to password checking 2022-06-18 19:06:03 +08:00
Louis Lam
d65abe5b8c Merge pull request #1777 from MarcHagen/change/move_translations_to_i18n
[change] Move i18n from Security to locale files
2022-06-18 17:17:06 +08:00
Robert
c4e2d67d17 fix: hide mobile header when not logged in 2022-06-17 10:11:53 +03:00
Louis Lam
bcd616a4d0 Fix names in CONTRIBUTING.md 2022-06-17 15:07:55 +08:00
Louis Lam
7533041696 Merge pull request #1784 from AnnAngela/master
Update i18n for en & zh-CN
2022-06-17 13:30:47 +08:00
Louis Lam
7b0deb5e20 Merge pull request #1785 from MrEddX/bulgarian
Update bg-BG.js
2022-06-17 13:30:18 +08:00
MrEddX
b4a4171178 Update bg-BG.js
Translation fixes.
2022-06-16 21:08:17 +03:00
AnnAngela-work
012be23509 Update i18n 2022-06-16 21:20:12 +08:00
Louis Lam
dd09351c8e Update to 1.17.0-beta.1 2022-06-16 19:34:47 +08:00
Louis Lam
ffad990ca4 Merge pull request #1773 from christopherpickering/patch-3
[beta] updated translation for "basic" auth
2022-06-16 14:37:05 +08:00
sur.la.route
47e82ed83a Removed blank line
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-15 20:14:36 -05:00
sur.la.route
e1f766756f Removed blank line
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-15 20:14:26 -05:00
sur.la.route
4b2a465c94 Fix order of type and placeholder
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-15 20:14:06 -05:00
Christopher Pickering
edcdedcaae Added check for blank password. 2022-06-15 13:00:14 -05:00
Marc Hagen
f7afe121e3 [change] Move i18n to locale files 2022-06-15 19:41:21 +02:00
Christopher Pickering
945288f0c0 Added postgres monitor 2022-06-15 12:12:47 -05:00
OidaTiftla
ac27e6e2af Rename feature to: Resend Notification if Down X times consequently
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2022-06-15 17:50:35 +02:00
OidaTiftla
869a040011 Merge branch 'master' into introduce-resend-interval 2022-06-15 16:19:47 +02:00
Christopher Pickering
42848bcd2e updated translations 2022-06-15 09:00:47 -05:00
Louis Lam
a3b94aa532 Merge pull request #1550 from Computroniks/jsdoc-for-src
JSDoc for src/*/*
2022-06-15 19:29:51 +08:00
Louis Lam
fdbdf83a0d Fix data type of notification.isDefault and notification.active (#1765) 2022-06-15 19:11:52 +08:00
Louis Lam
81d5360520 Merge remote-tracking branch 'origin/master' 2022-06-15 19:03:22 +08:00
Louis Lam
8f1e193de3 [vite] Change legacy browse target to since 2015 2022-06-15 19:02:55 +08:00
Moritz R
ac449ec1c2 Merge branch 'master' into master 2022-06-15 11:33:00 +02:00
Louis Lam
da91317760 Merge pull request #1772 from chakflying/fix/mobile-monitor-list
Fix: Fix monitor list layout on mobile
2022-06-15 15:50:04 +08:00
Louis Lam
bef0febede Merge pull request #1768 from christopherpickering/patch-1
[beta] prevent null workstation #'s from passing..
2022-06-15 15:33:03 +08:00
Louis Lam
7d63b700e1 Merge pull request #1767 from christopherpickering/patch-2
[beta] workstation field should be text, not password
2022-06-15 15:31:24 +08:00
Louis Lam
0223f86a2a Merge remote-tracking branch 'origin/master' 2022-06-15 15:18:29 +08:00
Louis Lam
c170b1edd0 Better optgroup text color 2022-06-15 15:18:14 +08:00
Louis Lam
5943514a92 Merge pull request #1771 from christopherpickering/master
[beta] added default value for sql server connection string
2022-06-15 14:08:48 +08:00
Nelson Chan
62acd2edb1 Fix: misc. layout fix on mobile 2022-06-14 22:43:44 +08:00
Christopher Pickering
483cbfb636 added default value for sql server connection string 2022-06-14 09:00:23 -05:00
Christopher Pickering
660005b143 cleaned up code 2022-06-14 08:49:36 -05:00
Christopher Pickering
98f3c126e5 passed lint 2022-06-14 07:58:35 -05:00
sur.la.route
6995a29980 workstation field should be text, not password 2022-06-14 07:45:04 -05:00
sur.la.route
cf2ca71dee prevent null workstation #'s from passing..
to axios-ntlm
2022-06-14 07:42:53 -05:00
Louis Lam
0bd1c42080 Merge pull request #1763 from chakflying/fix/cert-exp-setting-default
Fix: Fix missing certificate exp. notif. default
2022-06-14 17:27:45 +08:00
Louis Lam
9b21b86e70 Merge pull request #1762 from kaysond/master
Fix upside down push monitors
2022-06-14 17:25:32 +08:00
Nelson Chan
f723930d11 Fix: Unify design with Security page 2022-06-14 15:04:46 +08:00
Nelson Chan
e425e408a2 Fix: Fix missing default settings 2022-06-14 15:04:14 +08:00
Aram Akhavan
c690d1c3a1 fix timeout bypass for upside down push monitor 2022-06-13 22:05:58 -07:00
Louis Lam
8abbc9fd15 Update to 1.17.0-beta.0 2022-06-14 11:00:55 +08:00
Louis Lam
af7c905b44 Merge pull request #1759 from MrEddX/bulgarian
Bulgarian
2022-06-14 10:57:14 +08:00
Louis Lam
0e8f6d2f85 Merge pull request #1639 from christopherpickering/ntml-auth
Add NTML Auth Option for HTTP
2022-06-14 10:56:55 +08:00
Louis Lam
d16be6fb7d Fix and use null as authMethod None instead of empty string 2022-06-14 10:49:30 +08:00
Louis Lam
f25ca96308 Update package-lock.json 2022-06-14 10:37:15 +08: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
817f6db4fd Remove SQL Server code (which in another pr already) 2022-06-14 10:32:38 +08:00
Louis Lam
dc2302244f Merge pull request #1754 from SIMULATAN/patch-1
Remove template comment in SECURITY.md
2022-06-14 10:22:08 +08:00
MrEddX
7a27d3752a Merge branch 'louislam:master' into bulgarian 2022-06-13 22:36:00 +03:00
MrEddX
f0e8f34aeb Update bg-BG.js
Added new fields
2022-06-13 22:32:55 +03:00
Super Manito
54b9698a05 Update 2022-06-13 21:44:10 +08:00
Louis Lam
69273a6c41 Merge remote-tracking branch 'origin/master' 2022-06-13 21:16:03 +08:00
Louis Lam
6424fe77ab Change successful log from info to debug in order to avoid large log and less disk usage 2022-06-13 21:15:47 +08:00
Louis Lam
fa60672cce Merge pull request #1728 from tamasmagyar/test/simplify-discord-unit-tests
test: simplified discord unit tests
2022-06-13 21:02:12 +08:00
Louis Lam
6e43ef1dd3 Merge remote-tracking branch 'origin/master' into feat/cert-exp-settings
# Conflicts:
#	server/model/monitor.js
#	src/languages/en.js
2022-06-13 20:56:14 +08:00
Louis Lam
f4f2b8ddb8 Try to fix #1658 2022-06-13 19:24:05 +08:00
Louis Lam
436bc13aeb Merge pull request #1598 from gregdev/feature/axios-cached-dns-resolve
add axios cached dns resolve to monitor
2022-06-13 18:58:16 +08:00
Louis Lam
b72a279361 Update package-lock.json 2022-06-13 18:54:02 +08:00
Louis Lam
a28ef56553 Merge remote-tracking branch 'gregdev/feature/axios-cached-dns-resolve' into feature/axios-cached-dns-resolve
# Conflicts:
#	package-lock.json
#	package.json
2022-06-13 18:53:19 +08:00
Louis Lam
7f432bd916 Remove axios-cached-dns-resolve-test 2022-06-13 18:52:08 +08:00
Louis Lam
f570d41142 Merge remote-tracking branch 'origin/master' into feature/axios-cached-dns-resolve
# Conflicts:
#	package-lock.json
#	package.json
2022-06-13 18:50:43 +08:00
Super Manito
1c4ddaeddf Update 2022-06-13 18:17:47 +08:00
Louis Lam
d4485fe62f Make the monitor type list a bit clear 2022-06-13 18:14:47 +08:00
Louis Lam
e1681ce370 Merge pull request #1636 from christopherpickering/master
Add SQLServer Monitor
2022-06-13 18:03:56 +08:00
Jakob
69d6633e6d Remove template comment 2022-06-13 11:34:36 +02:00
Super Manito
55a6e5af42 Update server/notification-providers/bark.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-06-13 17:06:12 +08:00
Super Manito
252709ff49 Update server/notification-providers/bark.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-06-13 17:06:05 +08:00
Super Manito
774fe58ddc Update 2022-06-13 01:30:27 +08:00
Super Manito
5f347b10ba Update 2022-06-13 01:15:38 +08:00
Super Manito
f442507cab Update 2022-06-13 00:16:34 +08:00
Super Manito
a23ab9d1de Update 2022-06-12 23:18:32 +08:00
Super Manito
404923b7c8 bugfix 2022-06-12 22:49:04 +08:00
Super Manito
a41023ca2a Update 2022-06-12 22:41:24 +08:00
Super Manito
817c941489 Add Bark Notification Parameters 2022-06-12 22:30:42 +08:00
Daeho Ro
5f6347d277 pull request for adding alertnow notification 2022-06-12 04:02:44 +09:00
Matthew Nickson
fbfa5a33ed Added Clickable hostname on status page. #1221
This should fully implement #1221 by modifying the API and adding two
new properties to the result. The `sendUrl` property denotes if the URL
is sent and `url` is included when required.
Client side checks have been implemented in order to only show a link
when the URL is vaugely correct. I.e not "" or "https://". This prevents
the link from being included if the monitor type is not HTTP without
having to publicly expose the monitor type.
The exposure of the URL is configuarable for each monitor on each
status page by clicking on the link icon.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-11 17:23:12 +01: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
Wooferz
aa398948da Merge branch 'louislam:master' into patch-1 2022-06-11 09:41:03 +10:00
Louis Lam
11243a6ca1 Merge pull request #1222 from NETivism/issue-1201
Show some pure text body in notification when keyword not found
2022-06-09 19:33:10 +08:00
Wooferz
54548e34ed Added label to status badge 2022-06-08 20:05:10 +10:00
Louis Lam
87428231ad Merge pull request #1727 from chakflying/patch-2
Fix: Fix error when status page desc. is null
2022-06-07 16:45:28 +08:00
tamasmagyar
a68d945cdc simplified backend unit tests 2022-06-07 09:10:50 +02:00
Nelson Chan
2c0180f323 Fix: Fix error when status page desc. is null 2022-06-07 14:57:23 +08:00
Louis Lam
4fdaa1abb6 [Push API] Response 404 if error, fix #1721 2022-06-06 22:40:26 +08:00
Louis Lam
6ee7b3696a Merge pull request #1633 from domingospanta/bugfix/1451_blank_page_on_unkown_resource
Bugfix/1451 blank page on unkown resource
2022-06-06 21:54:49 +08:00
Louis Lam
cc258dce14 Merge pull request #1674 from philippdormann/feature/ntfy-support
feat: ntfy push support
2022-06-06 21:52:41 +08:00
Louis Lam
fb420fa1b1 Compress SVG when building dist 2022-06-05 23:49:48 +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
Matthew Nickson
a927f5cd15 Fixed typos + improved clarity and detail of some JSDoc
Apply suggestions from code review

Co-authored-by: Nelson Chan <chakflying@hotmail.com>
2022-06-02 16:40:56 +01:00
Matthew Nickson
0e28707307 Minor formatting for JSDoc comments
Added a number of minor formatting changes to JSDoc comments in /src
2022-06-02 15:15:21 +01:00
Matthew Nickson
c94dcf1533 Added JSDoc for src/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-02 14:32:38 +01:00
Matthew Nickson
b0476cfb5b Added JSDoc for src/pages/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-02 13:46:44 +01:00
Matthew Nickson
2170229031 Improve JSDoc for some components
Apply suggestions from code review

Co-authored-by: Nelson Chan <chakflying@hotmail.com>
2022-06-02 10:42:37 +01:00
Matthew Nickson
213aca4fc3 Added JSDoc for src/mixins/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-02 10:38:17 +01:00
Matthew Nickson
2b42c3c828 Added JSDoc for src/components/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-02 00:32:05 +01:00
Matthew Nickson
d939d03690 Added JSDoc for src/components/settings/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-06-01 23:44:10 +01:00
Matthew Nickson
07888e43f1 [empty commit] pull request for JSDoc src/* 2022-06-01 22:51:26 +01:00
Louis Lam
c6c1bb5b5c Merge pull request #1710 from AnnAngela/master
Update zh-CN translation
2022-06-01 16:05:23 +08:00
Louis Lam
3210264e28 Update PULL_REQUEST_TEMPLATE.md 2022-06-01 14:20:49 +08:00
Louis Lam
54e948c2ca Update CONTRIBUTING.md 2022-06-01 14:08:10 +08:00
Louis Lam
80094ec4e1 Merge pull request #1513 from louislam/status-page-inject-html
[Status Page] Render title, meta tag or favicon etc. in server side
2022-06-01 13:25:41 +08:00
Louis Lam
091158cfe7 [Status Page] Preload data 2022-06-01 13:05:12 +08:00
AnnAngela-work
abb6ce2366 Update zhCN translation 2022-06-01 11:28:10 +08:00
Louis Lam
e4ad8cbfc8 Remove unused variables 2022-05-31 23:06:43 +08:00
Louis Lam
a674caa520 [Status Page] Add og meta tags 2022-05-31 22:53:48 +08:00
Nelson Chan
179e3569b5 Chore: Add code comments 2022-05-31 16:24:39 +08:00
Nelson Chan
43527f2f40 Chore: Update remaining languages 2022-05-30 18:05:28 +08:00
Nelson Chan
26ff6f45a0 Feat: Use i18n pluralization 2022-05-30 17:53:32 +08:00
Louis Lam
c095767f4a [Status Page] SSR 2022-05-30 15:45:44 +08:00
Louis Lam
ffb7ba176c Merge remote-tracking branch 'origin/master' into status-page-inject-html 2022-05-30 14:00:39 +08:00
Louis Lam
857e88b27e Update to 1.16.1 2022-05-29 12:47:07 +08:00
Louis Lam
90fe25e8ad Merge pull request #1428 from kaysond/master
Synchronize push monitor heartbeats to api calls (fixes #1422)
2022-05-29 12:34:16 +08:00
Louis Lam
46a593534b Merge pull request #1695 from furkanipek/update-tr-lang
Update tr-TR.js
2022-05-29 12:13:52 +08:00
Louis Lam
7a4b54f4ee Merge pull request #1702 from dhfhfk/master
Update Ko-KR.js
2022-05-29 12:12:07 +08:00
Aram Akhavan
ea10d89f51 show correct down message for first tick 2022-05-28 19:57:45 -07:00
Louis Lam
7f46223d68 Fix another log.debug call 2022-05-28 23:22:44 +08:00
Louis Lam
df4ce811d9 Merge remote-tracking branch 'origin/master' into kaysond_master
# Conflicts:
#	server/model/monitor.js
2022-05-28 23:19:58 +08:00
Louis Lam
30858ab038 Fix rollback issue of 9fc5a33 and one issue of #1694 2022-05-28 23:08:14 +08:00
dhfhfk
e25d406fa5 Eslint 2022-05-28 17:12:40 +09:00
dhfhfk
10e16782b1 Update ko-KR.js 2022-05-28 17:10:40 +09:00
Furkan İpek
107a44885c Update tr-TR.js 2022-05-27 15:05:09 +03:00
Furkan İpek
ef9f66fad9 Update tr-TR.js 2022-05-27 15:02:40 +03:00
Moritz R
e9e78c26e5 Merge branch 'master' into master 2022-05-27 13:59:58 +02:00
Furkan İpek
46dae99695 Update tr-TR.js 2022-05-27 12:51:41 +03:00
Furkan İpek
edd9bf3887 Update tr-TR.js 2022-05-27 12:39:07 +03:00
Aram Akhavan
ab4edf2092 Fix log.debug calls 2022-05-26 21:45:56 -07:00
Louis Lam
334cb57fed Update to 1.16.0 2022-05-26 19:32:52 +08:00
Nelson Chan
cfa5b551a5 Feat: Make the expiry days sorted 2022-05-26 12:17:24 +08:00
Nelson Chan
46ee149b70 Chore: Slightly improve design 2022-05-26 12:12:29 +08:00
Louis Lam
0a8c922abf Fix default value of pagerduty-integration-url 2022-05-25 23:34:47 +08:00
Louis Lam
058e5442af Merge pull request #1310 from MarcHagen/feature/pagerduty
Add support for PagerDuty notifications
2022-05-25 23:26:33 +08:00
Louis Lam
ea1725737f Merge pull request #1687 from burakurer/patch-3
Update tr-TR.js
2022-05-25 23:24:10 +08:00
burakurer
5566b038c8 Update tr-TR.js 2022-05-25 17:35:05 +03:00
Marc Hagen
5830f1e0b5 [feat] Adding PagerDuty notification 2022-05-25 14:10:31 +02:00
Louis Lam
35b8e89457 Merge pull request #1473 from Computroniks/#1059-specify-dns-resolver-port
Added #1059: Allow to specify Resolver Port for DNS Monitor
2022-05-25 14:59:14 +08:00
Louis Lam
d892b2c549 Merge pull request #1686 from DasCanard/master
Improved Discord Notifications with Push Monitors
2022-05-25 14:57:25 +08:00
DasCanard
f23baf9c22 Added Push Monitor to Discord Notifications 2022-05-24 23:14:27 +02:00
Philipp Dormann
54184350a4 fix: missing semicolons 2022-05-23 21:13:57 +02:00
Philipp Dormann
14dbe7c334 clean up + default ntfs.sh server url 2022-05-23 21:11:01 +02:00
Philipp Dormann
122e6a842b clean up ntfy topic input 2022-05-23 21:08:56 +02:00
Philipp Dormann
77ef22bdb4 set proper ntfy priorities 2022-05-23 21:08:11 +02:00
Philipp Dormann
59f983d506 fix: unused import "HiddenInput" 2022-05-23 20:57:10 +02:00
Philipp Dormann
71f031c14e add ntfy support
ref https://github.com/louislam/uptime-kuma/issues/1622
2022-05-23 10:55:03 +02:00
Louis Lam
6ae2a48584 Merge pull request #1662 from kiznick/master
Translate to Thai
2022-05-21 14:14:42 +08:00
Louis Lam
7373747906 Merge pull request #1659 from MrEddX/bulgarian
Bulgarian
2022-05-21 14:13:48 +08:00
Yoswaris Lawpaiboon
9d87f8d390 Update th-TH.js 2022-05-20 19:16:37 +07:00
Domingos F. Panta Jr
73b965c867 Merge branch 'master' into bugfix/1451_blank_page_on_unkown_resource 2022-05-19 19:35:58 +01:00
MrEddX
751e5ac477 Bulgarian Translation
Updated Translation
2022-05-19 20:32:01 +03:00
Yoswaris Lawpaiboon
93e5023ead Translate to Thai ! 2022-05-19 19:44:59 +07:00
c0derMo
32cfd411f8 Fixed style & code errors 2022-05-19 12:35:55 +00:00
Moritz R
a9f3142cee Merge branch 'master' into master 2022-05-19 14:24:02 +02:00
Nelson Chan
b7ba6330db Feat: Add cert exp. settings 2022-05-19 16:49:34 +08:00
MrEddX
4c3aa20eb0 Update bg-BG.js
Added new fields
2022-05-18 22:18:58 +03:00
MrEddX
f779c6286a Merge branch 'louislam:master' into bulgarian 2022-05-18 22:14:18 +03:00
Sascha Kruse
da99a57560 Merge remote-tracking branch 'fxgh/radius-check' into radius-check 2022-05-18 15:56:21 +02:00
Sascha Kruse
42d68edab0 (style) add trailing comma
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-05-18 15:55:36 +02:00
Sascha Kruse
019d638767 Merge remote-tracking branch 'ghupstream/master' into radius-check 2022-05-18 15:54:10 +02:00
Louis Lam
9fc5a3329f Revert #1208, due to the break animation 2022-05-18 20:16:50 +08:00
Louis Lam
23c4ece2a5 Merge pull request #1655 from alexislefebvre/patch-1
Fix typo “cros”?
2022-05-17 23:12:07 +08:00
Alexis Lefebvre
175556f9fc s/cros/CORS 2022-05-16 20:30:16 +02:00
Louis Lam
398219f847 Update to 1.16.0-beta.0 2022-05-17 01:03:51 +08:00
Louis Lam
7a50f0e3f3 Merge pull request #1589 from AnnAngela/1.15.1_zh-CN
Improve translation work
2022-05-17 00:03:25 +08:00
AnnAngela
4178b003a2 fix value 2022-05-14 15:27:55 +08:00
Louis Lam
8ede6d888f Merge remote-tracking branch 'origin/master' into fix-1448-discord-service-url 2022-05-14 14:37:12 +08:00
Louis Lam
cec0521834 [Discord] Fix ping type should no port, update better naming 2022-05-14 14:36:40 +08:00
Louis Lam
73b603dd10 Merge pull request #1627 from karelkryda/wrong-uptime-for-push
Fixed incorrect uptime calculation for push monitors
2022-05-14 14:18:19 +08:00
Louis Lam
92a43e1f30 Make the sibling beats a bit smaller 2022-05-14 14:11:43 +08:00
Louis Lam
0cf395dfc3 Fix merge issue 2022-05-14 14:06:35 +08:00
Louis Lam
749ca6f4a8 Merge remote-tracking branch 'origin/master' into feature-improve-status-styling
# Conflicts:
#	src/components/HeartbeatBar.vue
#	src/components/PublicGroupList.vue
2022-05-14 14:05:28 +08:00
Christopher Pickering
ef73af391f added option for ntlm authorization 2022-05-13 12:58:23 -05:00
Christopher Pickering
44f6fca945 added finally to close connection pool 2022-05-13 09:34:31 -05:00
Christopher Pickering
23ce7c6623 started db update script 2022-05-13 09:06:41 -05:00
Christopher Pickering
c346ea7864 updated name on export 2022-05-13 08:57:06 -05:00
Christopher Pickering
f0ad32a252 merged 2022-05-13 08:41:31 -05:00
Christopher Pickering
5720017fb4 updated name on import 2022-05-13 08:40:46 -05:00
Christopher Pickering
b7dc8e3ef8 started ui update 2022-05-13 07:22:52 -05:00
sur.la.route
5bba19f866 updated format
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-05-12 19:54:12 -05:00
sur.la.route
e198f2f1ab updated format
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-05-12 19:54:02 -05:00
Christopher Pickering
f91e5b98f9 [empty commit] pull request for Add NTML Auth Option for HTTP 2022-05-12 13:23:41 -05:00
Christopher Pickering
87f933df4f added sqlserver monitor 2022-05-12 12:48:03 -05:00
Christopher Pickering
332b9ab248 [empty commit] pull request for Add SQLServer Monitor 2022-05-12 10:39:12 -05:00
Domingos Panta
7cc89979f0 Moving change from axios interceptor to specific request. 2022-05-12 15:52:21 +01:00
Sascha Kruse
398ecb7666 add radius check 2022-05-12 15:21:13 +02:00
Domingos Panta
668e97c5a9 fix: lint errors. 2022-05-12 13:39:10 +01:00
MrEddX
90473e7924 Merge branch 'louislam:master' into bulgarian 2022-05-12 13:34:19 +03:00
Domingos Panta
fdd781b081 Added a link to the home page on the lists of actions.
s new link was necessary to prevent a loop when the user tries to access a unknown resource, like status/123, and was redirected to /page-not-found. In this case going back to the last page would be /status/123 which does not exists.
2022-05-11 17:58:52 +01:00
Domingos Panta
373bd9b962 Added response interceptor to axios response.
This interceptor checks for response code 404 and redicts the user if that is the case.
2022-05-11 17:56:31 +01:00
Louis Lam
66971deaf4 Merge remote-tracking branch 'origin/master' into fix-1448-discord-service-url 2022-05-11 00:51:42 +08:00
Louis Lam
59be9bb971 working 2022-05-11 00:51:11 +08:00
Louis Lam
8077744c60 Merge pull request #1604 from c-w/fix-apprise-zulip
Fix apprise integration for Zulip Streams
2022-05-11 00:47:50 +08:00
Jordan Bertasso
c5faf709b8 Merge branch 'master' into fix-1448-discord-service-url 2022-05-10 22:53:55 +10:00
Karel Krýda
7da9f139c1 Bug fix 2022-05-09 21:10:12 +02:00
Karel Krýda
7acbfd2474 eslint fixes too much 2022-05-09 21:05:10 +02:00
Karel Krýda
9f493bbec7 clone master branch 2022-05-09 21:02:29 +02:00
Louis Lam
5bf58cc6c4 Merge pull request #1595 from Saibamen/fix_eslint
Fix ESLint warnings and errors
2022-05-09 13:55:08 +08:00
Louis Lam
d344914ca0 Update docker-compose.yml 2022-05-09 13:47:19 +08:00
Louis Lam
201a25c659 Draft 2022-05-09 00:26:49 +08:00
Clemens Wolff
b680371746 Make apprise notification title configurable in UI 2022-05-07 11:00:57 -04:00
Louis Lam
e488e2dc0a Merge pull request #1119 from jensneuber/uptime-badges
Add badges
2022-05-07 13:44:20 +08:00
Louis Lam
4e3258579d Merge branch 'master' into uptime-badges
# Conflicts:
#	server/util-server.js
2022-05-07 13:26:47 +08:00
MrEddX
aa8ea6d398 Update bg-BG.js (#1617)
Translation Fixes
2022-05-07 13:01:06 +08:00
Aram Akhavan
cd3fbc80b4 Add first parameter back to logging in api router 2022-05-06 16:05:24 -07:00
Aram Akhavan
bb7d67f717 Apply suggestions from code review
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-05-06 09:58:05 -07:00
Louis Lam
8b0813ceff Fix #1596 hopefully 2022-05-06 14:52:09 +08:00
Louis Lam
91178ce6a5 Merge remote-tracking branch 'origin/master' 2022-05-06 14:41:46 +08:00
Louis Lam
429ad384d0 Fix hardcoded path for error.log and move errorLog() to UptimeKumaServer.errorLog() 2022-05-06 14:41:34 +08:00
MrEddX
24e52726b2 Merge branch 'louislam:master' into bulgarian 2022-05-05 23:03:11 +03:00
MrEddX
e0a0a5db4c Update bg-BG.js
Translation Fixes
2022-05-05 22:46:34 +03:00
OidaTiftla
93050208bb Merge database changes into single patch file 2022-05-05 16:01:19 +02:00
OidaTiftla
98ee9caf2c Add variable for currentTime
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-05-05 15:55:33 +02:00
OidaTiftla
8e99cbf426 Merge branch 'master' into introduce-resend-interval 2022-05-04 22:58:40 +02:00
Greg Smith
cbfecab850 switch to the more-up-to-date esm-wallaby
https://github.com/wallabyjs/esm
2022-05-04 15:45:18 +09:30
Louis Lam
25cc54bf72 Try to give more time for axios-cached-dns-resolve test 2022-05-04 13:24:18 +08:00
Louis Lam
3700b16c5b Copy and add axios-cached-dns-resolve test 2022-05-04 13:16:22 +08:00
Clemens Wolff
4b9dc2890d Convert let to const 2022-05-02 11:16:08 -04:00
Clemens Wolff
f9004bcbed Add optional title to apprise notification 2022-05-02 11:14:26 -04:00
Clemens Wolff
bc174c3325 Extract child process args into variable 2022-05-02 11:00:14 -04:00
Louis Lam
4c2753af46 Remove an unused variable 2022-05-02 13:36:35 +08:00
Louis Lam
c6ba5b621c Remove isPublished, checkPublished which had been removed in upstream. 2022-05-02 13:32:19 +08:00
Louis Lam
96536ae391 Rebuild package-lock.json 2022-05-02 12:36:12 +08:00
Louis Lam
ba46544772 Merge pull request #1603 from Saibamen/fix_task_name
Fix actions/setup-node task name
2022-05-02 12:35:21 +08:00
Adam Stachowicz
5c852db1cf Fix actions/setup-node task name
Addendum to 000cbeb0ce
2022-05-02 01:23:05 +02:00
Adam Stachowicz
069d3765f0 Revert change for StatusPage 2022-05-02 01:13:17 +02:00
Louis Lam
15820c6937 Update SQLite 2022-05-01 19:45:00 +08:00
Louis Lam
000cbeb0ce Lower check-linters node version to 14, add Node.js 18, set timeout 15mins for each job 2022-05-01 18:25:52 +08:00
Louis Lam
e118d59ac8 Merge branch 'master' into uptime-badges 2022-05-01 18:01:26 +08:00
Louis Lam
39aa0a7f07 Merge branch 'fix/chart-error' 2022-05-01 17:57:17 +08:00
Louis Lam
a12dffd1bc Fallback to eqeq for PingChart.vue 2022-05-01 17:56:42 +08:00
Louis Lam
410805052e Log this.chartPeriodHrs 2022-05-01 17:46:43 +08:00
Louis Lam
02a8147f22 Remove undefined variable forceShowContent 2022-05-01 17:31:58 +08:00
Louis Lam
d962ab7a1c Merge branch 'master' into uptime-badges
# Conflicts:
#	package-lock.json
#	server/routers/api-router.js
2022-05-01 17:03:11 +08:00
Louis Lam
63c8d24d6f As legacy-peer-deps is specified in .npmrc, install-legacy and update-legacy are not actually needed. 2022-05-01 12:32:06 +08:00
Louis Lam
254a6bfd36 [CI] Run check linters first 2022-05-01 12:23:28 +08:00
Louis Lam
29f3cbe8c6 Merge pull request #1594 from GOGOsu/patch-1
Fix aliyun-sms "SignatureDoesNotMatch" Error
2022-05-01 12:14:09 +08:00
Louis Lam
53b98ad3e4 Add more comment for aliyun-sms fix 2022-05-01 12:10:47 +08:00
Louis Lam
dbd7c087e0 Merge pull request #1597 from chakflying/fix/chart-error
Fix: Fix chart error on switch back to recent
2022-05-01 11:09:57 +08:00
Greg Smith
d0546afe71 fix esm require: no ugly warnings 2022-05-01 10:22:16 +09:30
Nelson Chan
272956025c Fix: Fix chart error on switch back to recent 2022-05-01 05:18:08 +08:00
Louis Lam
db50ba91cc Fix #1593 2022-04-30 21:44:03 +08:00
Louis Lam
42ea3fb412 Update server/util-server.js
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-30 21:36:07 +08:00
Louis Lam
9f8b3151d8 Update server/util-server.js
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-30 21:36:00 +08:00
GOGOsu
73e38a13d2 Update server/notification-providers/aliyun-sms.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-04-30 21:08:35 +08:00
Greg Smith
f4515ad8c5 add axios cached dns resolve to monitor 2022-04-30 21:40:47 +09:30
GOGOsu
369477b4b9 Update aliyun-sms.js 2022-04-30 10:45:38 +08:00
GOGOsu
2347a01f7c Update aliyun-sms.js
Add comments for the changed code.
2022-04-30 10:42:59 +08:00
Adam Stachowicz
c114c053d6 Fix ESLint warnings and errors 2022-04-30 03:51:14 +02:00
GOGOsu
ae2c49a729 Update aliyun-sms.js 2022-04-30 06:28:16 +08:00
GOGOsu
b9e72b9645 Update aliyun-sms.js
aliyun-sms.js: escape more characters than encodeURIComponent
see https://help.aliyun.com/document_detail/315526.html
字符A~Z、a~z、0~9以及字符-、_、.、~不编码。对其它ASCII码字符进行编码。
2022-04-30 05:56:10 +08:00
AnnAngela
5a069b278d Update src/components/notifications/PromoSMS.vue
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-04-29 21:42:54 +08:00
AnnAngela
65ea2e6aeb Update src/components/notifications/PromoSMS.vue
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-04-29 21:42:48 +08:00
AnnAngela-work
e82fc1df61 Match up en lang file 2022-04-29 20:31:36 +08:00
AnnAngela-work
7dd5f5ea0d Improve translation 2022-04-29 20:26:56 +08:00
AnnAngela-work
45da7c5431 Improve translation work 2022-04-29 20:17:15 +08:00
Louis Lam
26230a3d3a Update to 1.15.1 2022-04-29 13:52:14 +08:00
Louis Lam
82aa52b330 Update Apprise to 0.9.8.3 2022-04-29 13:49:32 +08:00
Louis Lam
fa7d15cf64 Merge remote-tracking branch 'origin/master' 2022-04-29 13:40:17 +08:00
Louis Lam
d7f16908d8 Update CONTRIBUTING.md 2022-04-29 13:39:30 +08:00
Louis Lam
bddd5de22b Update CONTRIBUTING.md 2022-04-29 11:35:03 +08:00
Louis Lam
6333231f1b Merge pull request #1108 from trogper/push-status-param
Add status parameter to push monitor
2022-04-29 00:12:44 +08:00
Louis Lam
60538036c6 [#1108] Change "true" to "up" 2022-04-28 23:44:08 +08:00
Louis Lam
0ba5d031d0 Merge branch 'master' into push-status-param
# Conflicts:
#	server/routers/api-router.js
2022-04-28 23:34:51 +08:00
Louis Lam
66e4c89897 Merge pull request #1560 from MrEddX/bulgarian
Update bg-BG.js
2022-04-28 23:23:09 +08:00
Louis Lam
d210548ae8 Merge pull request #1581 from NixNotCastey/update-pl
Update polish translation
2022-04-28 23:22:31 +08:00
Louis Lam
023db1450d Fix #1577 2022-04-28 23:12:16 +08:00
Louis Lam
824c16a07c Merge pull request #1578 from kadavr95/typos-fixes
Typos fixes
2022-04-28 17:27:22 +08:00
Łukasz Szczepański
09fdef9bdc Update polish translation 2022-04-28 11:14:02 +02:00
Dmitry Yaskovich
7078b06272 Fix typo in Russian localization 2022-04-27 21:22:42 +03:00
Dmitry Yaskovich
d3bd2976c5 Fix typo in CONTRIBUTING.md 2022-04-27 21:18:47 +03:00
Dmitry Yaskovich
db646aa40b Fix typo in README 2022-04-27 21:10:47 +03:00
Matthew Nickson
3c01e8732c Merge branch 'master' into #1059-specify-dns-resolver-port 2022-04-27 18:26:11 +01:00
Louis Lam
b50f1bb7e8 No more opening browser 2022-04-27 15:29:54 +08:00
Phuong Nguyen Minh
a3baa3c149 Update language vi.js (#1572)
Update vi-VN.js
2022-04-27 15:07:42 +08:00
Louis Lam
2adb142ae2 Merge pull request #1571 from MarkusDick/update-german-translations
lang: update german translations
2022-04-27 15:04:04 +08:00
Louis Lam
752415dae6 Merge pull request #1566 from Saibamen/fix_duplicated_PR_comments
Fix duplicated PR comments
2022-04-27 15:01:52 +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
Louis Lam
245b13d3c8 Merge pull request #1542 from Computroniks/jsdoc-for-tests
JSDoc for test/*
2022-04-27 14:48:46 +08:00
Louis Lam
d6c3fdb6fb Merge pull request #1499 from Computroniks/add-JSDoc-comments
Add JSDoc comments for server/*/*
2022-04-27 14:46:23 +08:00
MrEddX
372bf57e9f Update bg-BG.js
Translation fixes
2022-04-27 09:19:13 +03:00
Aram Akhavan
39df4eea92 Ssynchronize push monitor heartbeats to api calls
Includes a 1s buffer time to allow the push url to be called before the monitor is checked
2022-04-26 13:48:44 -07:00
MrEddX
03e6f0a6c8 Update bg-BG.js
Translation fixes.
2022-04-26 21:39:14 +03:00
Markus Dick
dcec53a755 lang: update german translations 2022-04-26 20:27:00 +02:00
MrEddX
ce17ed163e Merge branch 'louislam:master' into bulgarian 2022-04-26 21:26:39 +03:00
Adam Stachowicz
3019d5dd64 Shorter node matrix 2022-04-26 02:03:47 +02:00
Adam Stachowicz
dcdbb7be8b Use separate job for linters 2022-04-26 01:57:49 +02:00
Adam Stachowicz
b874ea8b28 Add missing lint-fix:style command 2022-04-26 01:37:20 +02: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
Louis Lam
d39dc94496 Add more info 2022-04-26 02:27:37 +08:00
Louis Lam
94ada36dfa Update dev guideline 2022-04-26 02:20:13 +08:00
Louis Lam
4114f43b48 Start both dev servers in one command 2022-04-26 02:18:14 +08:00
MrEddX
4c8da89c36 Update bg-BG.js
Translation fixes
2022-04-25 07:26:40 +03:00
Dick Tang
db3ef3805b correct wordings for Certificate Expiry Notification (#1554) 2022-04-25 08:25:06 +08:00
Louis Lam
751924b335 Update to 1.15.0 2022-04-24 22:57:42 +08:00
Louis Lam
edec1024b5 Merge remote-tracking branch 'origin/master' 2022-04-24 22:56:52 +08:00
Louis Lam
5f9f29f527 Update SECURITY.md 2022-04-24 22:54:06 +08:00
Louis Lam
13a3dd91bb Merge remote-tracking branch 'origin/master' 2022-04-24 22:41:29 +08:00
Matthew Nickson
d1a3cd047a Merge branch 'master' into #1059-specify-dns-resolver-port 2022-04-24 01:06:45 +01:00
Louis Lam
d9c5a7812c Merge pull request #1544 from mathiskir/readme-improvements
readme improvements
2022-04-24 03:44:21 +08:00
Sneeex
484d4a20ab Small improvements 2022-04-23 19:29:34 +02:00
Louis Lam
3582e99770 Merge pull request #1543 from gaby/github-actions
Upgrade to actions/checkout@v3
2022-04-24 01:22:56 +08:00
Juan Calderon-Perez
2197b98444 Upgrade to actions/checkout@v3 2022-04-23 09:47:57 -04:00
Matthew Nickson
b641c8a878 Add JSDoc to test/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-22 23:24:14 +01:00
Matthew Nickson
9130b3762c [empty commit] pull request for JSDoc test/* 2022-04-22 23:05:18 +01:00
Matthew Nickson
587faecf87 Made value nullable in apicache JSDoc
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-22 19:42:42 +01:00
Matthew Nickson
46da5e51be Fix JSDoc grammar
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-22 19:10:13 +01:00
Matthew Nickson
1eecdec2d9 Update JSDoc for better clarity
Co-authored-by: Nelson Chan <chakflying@hotmail.com>
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-22 18:42:47 +01:00
Sneeex
e6a1719ab4 Change notification count (#1536) 2022-04-22 15:59:34 +08:00
Louis Lam
7d5e7a577d Merge pull request #1535 from Computroniks/add-jsdoc-to-contributing
Added JSDoc requirement in contributing docs
2022-04-22 14:04:00 +08:00
Jens Neuber
64a33d7455 Update server/util-server.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-04-22 07:54:13 +02:00
Matthew Nickson
09e61d9d63 Changed Array<T> to type[]
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 20:02:18 +01:00
Matthew Nickson
9996ba1636 Add JSDoc to server/modules/apicache/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 19:55:01 +01:00
Matthew Nickson
c2f6c5b42e Added JSDoc docs for mqttAsync
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 18:53:07 +01:00
Matthew Nickson
0083485d4c Updated server/model/* JSDoc to match new methods
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 18:30:04 +01:00
Louis Lam
630bb03d9c Update package-lock.json during release process 2022-04-22 00:47:04 +08:00
OidaTiftla
7ed8ae9f7c Fix trailing space warning 2022-04-21 18:23:32 +02:00
Matthew Nickson
4ddbf71920 Fixed trailing spaces in database.js
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 17:15:39 +01:00
Matthew Nickson
068b920553 Add JSDoc to server/socket-handlers/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 17:10:23 +01:00
Louis Lam
f1c83bb838 Merge remote-tracking branch 'origin/master' 2022-04-22 00:06:59 +08:00
Louis Lam
303a226ab7 Update eslint rule 2022-04-22 00:06:46 +08:00
OidaTiftla
c7ec9a07e2 Add translation for text label 2022-04-21 17:59:38 +02:00
OidaTiftla
052fde5a24 Fix casing of text label
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 17:56:38 +02:00
OidaTiftla
d6b591a513 Make comment more readable
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 17:45:58 +02:00
Matthew Nickson
3d04befc1f Add JSDoc to server/routers/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 16:43:24 +01:00
Matthew Nickson
d3f0bdb440 Added JSDoc requirement in contributing docs
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 16:30:53 +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
60f8ab7285 Use new logging mechanism 2022-04-21 12:09:59 +02:00
OidaTiftla
b7e2489d22 Merge branch 'master' into introduce-resend-interval 2022-04-21 11:58:04 +02:00
Louis Lam
e56ac7b03b Merge pull request #1530 from MrEddX/bulgarian
Bulgarian
2022-04-21 14:37:20 +08:00
Louis Lam
aafcbaf098 Update README.md 2022-04-21 10:22:18 +08:00
MrEddX
4d4d04adbd Update bg-BG.js
Some translation fixes
2022-04-20 22:01:57 +03:00
Matthew Nickson
03b2d8d521 Add JSDoc to server/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-20 19:56:40 +01:00
MrEddX
f8c9472ea2 Update bg-BG.js
- Updated and fixed
2022-04-20 21:54:57 +03:00
Louis Lam
4e28ad4ac2 Merge pull request #1524 from chakflying/fix/disable-auth-icon
Fix: Handle disabled auth in user dropdown
2022-04-20 23:50:33 +08:00
Louis Lam
06f326e49e Merge pull request #1527 from SiderealArt/patch-1
Update Traditional Chinese (Taiwan) translation
2022-04-20 22:43:41 +08:00
Louis Lam
07c0801ad5 Make logout button reactive, improve dropdown menu css 2022-04-20 22:39:07 +08:00
SiderealArt
8cefc96c78 Update Traditional Chinese (Taiwan) translation 2022-04-20 18:11:26 +08:00
Louis Lam
b326a69838 Merge pull request #1523 from koen20/patch-1
Update dutch translations
2022-04-20 17:24:36 +08:00
Jens Neuber
e103ac8335 Merge branch 'master' of https://github.com/louislam/uptime-kuma into uptime-badges 2022-04-20 10:10:14 +02:00
Nelson Chan
a391576285 Chore: Add translation 2022-04-20 15:09:31 +08:00
Nelson Chan
e0966e55c8 Fix: Handle disabled auth in user dropdown 2022-04-20 15:01:13 +08:00
Koen Habets
59d9891105 Update nl-NL.js 2022-04-19 21:17:33 +02:00
Louis Lam
f8f19d8dc5 Merge remote-tracking branch 'origin/master' 2022-04-20 02:57:52 +08:00
Louis Lam
a3d79a93e9 Update Apprise to 0.9.8 2022-04-20 02:56:33 +08:00
Louis Lam
bdc23a3f57 Merge pull request #1519 from AnnAngela/1.15.0_zh-cn
Update en&zh-CN lang file with 1 new i18n entry
2022-04-19 23:48:07 +08:00
Louis Lam
7c13b1b6cb Update to 1.15.0-beta.1 2022-04-19 20:07:18 +08:00
Louis Lam
10f6a3c4f5 Merge pull request #1229 from Computroniks/#1209-Logout-button-in-navbar
Add #1209: logout button in navbar
2022-04-19 19:59:52 +08:00
Louis Lam
cd7c2beca6 Update CSS for dropdown menu 2022-04-19 19:46:21 +08:00
Louis Lam
8ee99760ec Minor lint 2022-04-19 19:41:52 +08:00
Louis Lam
cb55e23718 Add $root.username 2022-04-19 19:40:28 +08: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
b782b25e17 Update to 1.14.1 2022-04-19 16:01:08 +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
AnnAngela-work
18925293fb Update en&zh-CN lang file with 1 new i18n entry 2022-04-19 10:48:20 +08:00
Louis Lam
17d4003e5c Add dropdown menu 2022-04-19 00:39:49 +08:00
Louis Lam
cefb5bb60a Merge branch 'master' into #1209-Logout-button-in-navbar 2022-04-18 20:39:24 +08:00
Louis Lam
9bf3b3a0f4 Update README.md 2022-04-18 19:15:50 +08:00
Louis Lam
e2c45f93bf Merge pull request #1509 from chakflying/feat/mqtt-optional-message
Feat: Allow MQTT successMessage to be optional
2022-04-18 19:06:39 +08:00
Louis Lam
addf75daa7 Fix MQTT password do not save 2022-04-18 19:05:14 +08:00
Louis Lam
359a490ae3 Fix #1510 2022-04-18 15:21:58 +08:00
Nelson Chan
cd38dd3f68 Feat: Allow MQTT successMessage to be optional 2022-04-18 13:04:55 +08:00
Louis Lam
f712fe85e5 Update node-sqlite, sqlite from 3.36 to 3.38 2022-04-18 12:44:32 +08:00
Louis Lam
c28b90feb4 Update to 1.15.0-beta.0 2022-04-17 20:07:32 +08:00
Louis Lam
ceba096f3e Merge pull request #875 from tarun7singh/master
Added MQTT Monitor type
2022-04-17 20:05:41 +08:00
Louis Lam
2a248ad73f Change mqtt_topic from VARCHAR to TEXT 2022-04-17 19:56:47 +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
47c72192e1 [eslint] Enable yoda and eqeqeq 2022-04-17 15:43:03 +08:00
Louis Lam
d71c086447 Standardize array bracket spacing 2022-04-17 15:27:35 +08:00
Louis Lam
46e1a628a7 Update package-lock.json 2022-04-17 15:04:59 +08:00
Louis Lam
cd3dfd3146 Merge pull request #1083 from patrickhafner/customstatuspage
Custom status page
2022-04-17 15:04:02 +08:00
Louis Lam
572f2b9838 eslint 2022-04-17 14:57:31 +08:00
Louis Lam
8eb83394f7 Refine UI/UX for custom css / footer text. Add switch for show/hide powered by 2022-04-17 14:53:13 +08:00
Louis Lam
1bc01d1077 Merge branch 'master' into customstatuspage
# Conflicts:
#	src/languages/de-DE.js
2022-04-17 13:21:41 +08:00
Matthew Nickson
45f44b183d Add JSDoc to server/model/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-16 21:11:45 +01:00
Matthew Nickson
5a209c74e1 Add JSDoc to server/notification-providers/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-16 20:24:53 +01:00
Louis Lam
4e6ddc8880 Merge pull request #1497 from MrEddX/bulgarian
Bulgarian
2022-04-17 01:40:43 +08:00
Louis Lam
07c474db0b Merge remote-tracking branch 'origin/master' 2022-04-17 01:40:05 +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
03bcf5c766 Add a simple mqtt server for testing 2022-04-17 01:07:54 +08:00
Louis Lam
136fdf3768 MQTT password field to password type 2022-04-17 01:07:36 +08:00
Louis Lam
e34420368b Remove try-catch and fix username/password/port not working for mqtt 2022-04-17 01:06:47 +08:00
Matthew Nickson
60c63cc18e Add JSDoc to server/jobs/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-16 11:10:51 +01:00
Louis Lam
566133e350 Domain Name Expiry Notification for https monitor only 2022-04-16 15:01:53 +08:00
Louis Lam
30e113755e Add HIDE_LOG and catch error if cannot subscribe topic 2022-04-16 14:50:48 +08:00
Louis Lam
083e8355b7 Change debug to log.debug 2022-04-16 13:37:17 +08:00
Louis Lam
64a0e1aa9b Update package-lock.json 2022-04-16 13:31:40 +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
Matthew Nickson
6fb66728e6 [empty commit] pull request for Add JSDoc comments 2022-04-15 20:08:54 +01:00
Matthew Nickson
a680331dd7 Fixes issue with ::1 port 5300 requests
Now the address is wrapped in `[]` in order to prevent ::1 port 5300
being interpreted as ::1:5300. Wrapping the IPv4 address in `[]` does
seem to have any effect on correct domain name resolution. In order to
prevent issues if a user inputs an address with brackets, they are
removed from the string if present before being re-added when it is
passed to `setServers`. I have also removed the JSDoc comment as this
will be added in a seperate PR

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-15 19:59:32 +01:00
Louis Lam
b7aebceaab Update bg-BG.js 2022-04-15 19:49:16 +08:00
MrEddX
0302fdbc96 Update bg-BG.js
Status pages - fix
2022-04-15 13:10:14 +03:00
MrEddX
84a50f058f Update bg-BG.js 2022-04-15 13:06:22 +03:00
MrEddX
9ec652639b Merge branch 'louislam:master' into bulgarian 2022-04-15 13:03:34 +03:00
Louis Lam
0c40e32d75 Merge pull request #1007 from chakflying/feat/save-chart-period
Feat: Save and restore chart period
2022-04-15 12:34:53 +08:00
Jordan Bertasso
288ed1e3ca Merge branch 'master' into fix-1448-discord-service-url 2022-04-15 14:13:44 +10:00
Nelson Chan
6f99d7577b Fix: Limit saved period & clear when set to recent 2022-04-15 03:24:58 +08:00
Nelson Chan
1417b6eacf Feat: Save and restore chart period 2022-04-15 02:56:21 +08:00
MrEddX
1baee42cf5 Merge branch 'louislam:master' into bulgarian 2022-04-14 10:55:04 +03:00
Louis Lam
fb0064082e Change Pushdeer to PushDeer 2022-04-14 14:34:30 +08:00
ngc7331
93c51504f9 fixes: formatting and security issues
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-14 14:34:30 +08:00
ngc7331
fb059f5e91 Add support for Pushdeer notifications 2022-04-14 14:34:30 +08:00
PhyxionNL
2e3414135f Update src/components/PingChart.vue
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-14 12:27:38 +08:00
PhyxionNL
e44699216e Fix readability of chart hover 2022-04-14 12:27:38 +08:00
DX37
fd8cba1dad nudge nodemailer strings; translate new ones 2022-04-14 11:10:24 +08:00
sovushik
03dd02fd38 Update ru-RU.js
Add RU for 1.14 version
2022-04-14 11:04:46 +08:00
Louis Lam
d0b5f147e2 Fix spelling and merge mistake 2022-04-14 10:58:28 +08:00
Louis Lam
ddf8a7a692 Fix camelCase 2022-04-14 10:58:28 +08:00
ColdThunder11
bd9df09f87 Apply suggestions from code review, fix style
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-04-14 10:58:28 +08:00
ColdThunder11
4656ab3d57 Add OneBot notification service 2022-04-14 10:58:28 +08:00
Louis Lam
0a5db0cecb Fix #1478 2022-04-14 10:12:31 +08:00
MrEddX
60b44c2cdd Update bg-BG.js
Fixed translation.
2022-04-14 09:46:43 +08:00
Matthew Nickson
8c8eeaf627 Merge branch 'master' into #1059-specify-dns-resolver-port 2022-04-13 21:24:04 +01:00
Matthew Nickson
b893d50e45 Implement specify Port for DNS Monitor #1059
This commit should fully implement #1059. When the user selects the DNS
monitor option, a new input box has been added below the resolver
address allowing the user to implement the port to access the resolver
on. This uses the same `monitor.port` as the TCP monitor but a monitor
has been added to prefill the port value to the default of `53` if the
value in this field has not already been set. This is then cleared if
the user selects a different monitor type and has not changed the port
value. A translation has also been added explaining what this field
does in order to reduce any confusion. JSDoc documentation has also been
added to the `dnsResolve` function in `util-server.js`.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-13 21:02:19 +01:00
MrEddX
16b61dba27 Merge branch 'louislam:master' into bulgarian 2022-04-13 21:59:53 +03:00
Louis Lam
2b0c184a88 Update package-lock 2022-04-14 01:21:43 +08:00
Louis Lam
2642e70fc8 Fix auto test failed due to autocrlf 2022-04-14 01:20:54 +08:00
Louis Lam
8d0446dc38 Add lint as part of test 2022-04-14 01:20:54 +08:00
Louis Lam
3436e26ed4 Fix styleline, fix css format issues globally 2022-04-14 01:20:54 +08:00
Louis Lam
649f3106e1 Enforce semicolon, fix format globally 2022-04-14 01:20:54 +08:00
Louis Lam
6f72ca481f Merge pull request #1479 from AnnAngela/1.14.0_translation
New translation for zh-CN
2022-04-14 00:05:07 +08:00
Louis Lam
670ea415b2 Merge pull request #1488 from c0derMo/update-german-translation
updating german translation
2022-04-14 00:03:53 +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
c0derMo
f5d006add8 updating german translation 2022-04-13 14:45:41 +00:00
Moritz R
361e44ad6a Merge branch 'louislam:master' into master 2022-04-13 15:58:17 +02:00
Louis Lam
4df147786d Merge pull request #1483 from Alexandre-Gliganic/master
Add automatic restart for docker-compose.yml
2022-04-12 22:39:29 +08:00
Alexandre Gliganic
27861f0d14 Add automatic restart docker-compose.yml 2022-04-12 16:09:01 +02:00
AnnAngela-work
5aa747a301 New translation 2022-04-12 20:41:25 +08:00
Louis Lam
81de2eedfb Fix template can contain one tag only, disable vue/require-component-is eslint rule 2022-04-12 20:23:11 +08:00
Louis Lam
4a6d7207ef Merge branch 'master' into customstatuspage
# Conflicts:
#	src/languages/de-DE.js
#	src/languages/en.js
#	src/pages/StatusPage.vue
2022-04-12 19:39:42 +08: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
MrEddX
ae54d9c011 Merge branch 'louislam:master' into bulgarian 2022-04-12 12:37:52 +03:00
Louis Lam
5ca606fe99 Merge pull request #1141 from marcules/issue/1138
Issue/1138
2022-04-12 17:32:52 +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
9ec29c1bc4 Add back debug() for safe, but it is marked as deprecated 2022-04-12 16:37:05 +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
1ba92d803e Update to 1.14.0 2022-04-12 14:17:13 +08:00
Louis Lam
45ca3085b2 Update CONTRIBUTING.md 2022-04-12 13:53:52 +08:00
jordanbertasso
0765f05090 Update Discord tests 2022-04-12 09:52:16 +10:00
jordanbertasso
2638d68c97 Cover dns and steam types in Discord notifs 2022-04-12 09:52:07 +10:00
Matthew Nickson
e38742a2d0 [empty commit] pull request for #1059 2022-04-11 19:58:31 +01:00
Louis Lam
a0d1ae2cce Better alignment of monitor list item 2022-04-11 18:02:18 +08:00
jordanbertasso
1b1e0f6dd9 Add Discord tests 2022-04-10 22:02:30 +10:00
jordanbertasso
0961c6d9b3 Check for ping and port type in discord notifs 2022-04-10 21:45:07 +10:00
jordanbertasso
ce7d8c38c5 [empty commit] pull request for issue #1448 2022-04-10 21:43:52 +10:00
Louis Lam
f030487f7d Fix theme color that do not apply to status page with a custom domain 2022-04-10 13:46:00 +08:00
Louis Lam
316e65d35a Update to 1.14.0-beta.2 2022-04-10 00:46:34 +08:00
Louis Lam
df5ba02f3f Merge pull request #1415 from louislam/status-page-domain
[Status Page] Map domain names to status pages
2022-04-10 00:42:31 +08:00
Louis Lam
c9fa183712 Manage domain names 2022-04-10 00:25:27 +08:00
Louis Lam
0b9b5102ec Minor 2022-04-09 17:23:22 +08:00
Louis Lam
c399984b7f Improve status page sidebar 2022-04-09 17:03:10 +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
6a30dbd71a Fix Mattermost when channel is empty #1468 2022-04-09 15:44:50 +08:00
Louis Lam
a2d9474e85 Copy some keys from zh-TW to zh-HK 2022-04-09 14:51:26 +08:00
Louis Lam
8479e772cd Merge pull request #1463 from JohnnyChiang/update-zh-TW-translation
Update zh-TW translation
2022-04-09 14:44:44 +08:00
Louis Lam
2e50ef0e8f Merge pull request #1450 from AnnAngela/1.14.0-zh_cn
1.14.0 translation improvement
2022-04-09 14:40:38 +08:00
Louis Lam
4fb2c69dd1 Merge pull request #1461 from louislam/proxy-improvement
Proxy Improvements
2022-04-09 13:54:28 +08:00
Louis Lam
c08910a65c Update README.md 2022-04-08 19:45:39 +08:00
Louis Lam
943c904256 Update docker-compose.yml 2022-04-08 19:43:51 +08:00
JohnnyChiang
25b5edea7f Update zh-TW translation 2022-04-08 01:47:01 +08:00
Louis Lam
7bbaeffd3e Fix reset-password (issue caused by 5027fcd320) 2022-04-08 00:56:56 +08:00
Louis Lam
008dc27f52 Reload proxy settings for monitors in the monitorList 2022-04-07 23:03:45 +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
fcb577097b [Proxy] Change to radio button 2022-04-07 15:26:00 +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
e89356b283 Show proxy option for http monitor only 2022-04-07 14:37:33 +08:00
Louis Lam
6014b9534f Merge remote-tracking branch 'origin/master' 2022-04-06 23:20:40 +08:00
Louis Lam
8b45a95cc3 Merge branch '1.13.X'
# Conflicts:
#	package.json
2022-04-06 23:20:22 +08:00
Louis Lam
02becfd113 Update to 1.13.2 2022-04-06 22:54:03 +08:00
Louis Lam
8ad992eac8 Fix setup issue when using npm 8.6.0 2022-04-06 22:50:21 +08:00
Louis Lam
c4e74c9943 Render <StatusPage> if domain matched 2022-04-06 22:43:22 +08:00
Louis Lam
fee88b32e3 Set PRAGMA synchronous = FULL 2022-04-06 20:48:13 +08:00
Louis Lam
ffc5bca51d Update required tools' links 2022-04-06 13:18:12 +08:00
AnnAngela
511b9dd425 Update fs-rmSync.js 2022-04-06 10:31:01 +08:00
AnnAngela
e9dd64b6f0 Update comments of fs-rmSync.js 2022-04-06 10:20:57 +08:00
Louis Lam
355aec46dc Merge branch 'master' into status-page-domain 2022-04-05 22:59:39 +08:00
Louis Lam
c9deea9fdf Merge pull request #1456 from Arubinu/alerta
Fix "API key parameter 'undefined' is invalid"
2022-04-05 22:51:33 +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
4b99160b1f Fix "Check Update" is not checked by default 2022-04-05 19:43:23 +08:00
Louis Lam
48d679234a Stop bree and cloudflared while the server shutting down 2022-04-05 19:41:29 +08:00
Louis Lam
d8b32d652f Update .dockerignore 2022-04-05 16:44:55 +08:00
Alvin Pergens
d3d1656625 Fix "API key parameter 'undefined' is invalid" 2022-04-05 08:47:35 +02:00
AnnAngela-work
8e78e62eee Make translation better 2022-04-04 17:24:22 +08:00
AnnAngela
706d6cee07 Update some components to use i18n function, update en & zh-CN translation 2022-04-04 11:33:02 +08:00
Moritz R
af44b0beab Merge branch 'master' into master 2022-04-03 17:19:29 +02:00
Moritz R
84a0b24448 Update server/model/monitor.js
As per recommendation of @Computroniks

Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-03 17:15:21 +02:00
AnnAngela-work
43eed45bae first part of zh-CN.js translation 2022-04-03 22:08:24 +08:00
AnnAngela-work
19b7e2ba5e Using grep to search $t("foo")-like pattern to fill up the missing part of en i18n file 2022-04-03 22:08:03 +08:00
Louis Lam
99042e6991 Update to 1.14.0-beta.1 2022-04-03 22:06:39 +08:00
Louis Lam
f54084c888 Update beta release process 2022-04-03 22:06:36 +08:00
Louis Lam
87d3853b8e Merge pull request #1348 from AnnAngela/master
Detect if `fs.rmSync` is available to avoid the runtime deprecation warning
2022-04-02 18:21:12 +08:00
Louis Lam
4738581c66 Update dependencies 2022-04-02 11:34:00 +08:00
Louis Lam
3218a0eee8 Merge remote-tracking branch 'origin/master' 2022-04-02 11:26:24 +08:00
Louis Lam
87ee3c20bd Update proxy password field 2022-04-02 11:25:27 +08:00
Louis Lam
38e6e846bf Refresh sponsor list 2022-04-01 23:22:15 +08:00
Louis Lam
92ab2b12d0 Refresh sponsor list 2022-04-01 17:37:04 +08:00
Jimmy Huang
a4be651118 Update server/model/monitor.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-04-01 15:26:50 +08: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
f6cd2f60ca Merge pull request #1442 from BCsabaEngine/master
fix: update hu lang
2022-04-01 14:46:56 +08:00
Balázs Csaba
53cea7f8d3 fix: update hu lang 2022-03-31 22:25:22 +02:00
Louis Lam
aef7719426 Merge pull request #1435 from LoaderB0T/favico
feat: Favicon is updated based on satus page logo
2022-03-31 21:32:13 +08:00
Louis Lam
514b9fb68a Add remark 2022-03-31 21:30:07 +08:00
Louis Lam
da32a1aa19 Add uk-UA to the languageList 2022-03-31 16:24:28 +08:00
Louis Lam
7a69f9f56f Merge pull request #1438 from Deni7/master
Add ukrainian translation
2022-03-31 16:22:29 +08:00
Louis Lam
c50c20faa4 Minor fix for uk-UA 2022-03-31 16:19:04 +08:00
Louis Lam
cb6eeaef34 Bring connection error bar to the top 2022-03-31 16:15:34 +08:00
Louis Lam
6674005e8b Fix storing cloudflared token while start cloudflared 2022-03-31 15:58:39 +08:00
Denis Stepanov
ee3d7d8b42 Add ukrainian translation 2022-03-30 23:21:09 +03:00
Denis Stepanov
a277cfe9e8 Add ukrainian translation 2022-03-30 23:16:04 +03:00
Denis Stepanov
95b0df0270 Add ukrainian translation 2022-03-30 23:15:28 +03:00
Louis Lam
f02e9c44ec Update to 1.14.0-beta.0 2022-03-30 23:37:23 +08:00
Louis Lam
bb2b5cd6ac Merge pull request #1427 from louislam/cloudflared
Built-in ease-to-use reverse proxy with Cloudflare Tunnel
2022-03-30 20:15:48 +08:00
Louis Lam
b72a2d350f Set cloudflared token from env var or arg 2022-03-30 20:08:26 +08:00
Louis Lam
71be030733 Add package-lock.json and minor words 2022-03-30 18:52:10 +08:00
Janik Schumacher
73b338bba6 feat: Favicon is updated based on satus page logo 2022-03-30 12:09:38 +02:00
Louis Lam
82ea896bbc Improve the workflow of cloudflared 2022-03-30 11:59:49 +08:00
Louis Lam
f1f4b3b377 Add reverse proxy setting page for controlling cloudflared 2022-03-30 01:49:45 +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
Louis Lam
623b06e33c Merge pull request #1426 from DX37/translation-ru
update russian translation
2022-03-29 14:14:21 +08:00
Louis Lam
7d3cbff794 [Cloudflared] Install into base docker 2022-03-29 02:24:10 +08:00
DX37
61d0a0abce update russian translation 2022-03-28 21:16:13 +07: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
AnnAngela
7fd5b61bab Inproperly conflict resolving 2022-03-27 21:12:51 +08:00
AnnAngela
96289fe014 Update index.js 2022-03-27 20:56:42 +08:00
AnnAngela
381605aca1 Update update-version.js 2022-03-27 20:55:28 +08:00
AnnAngela
742c6bcaa3 Merge branch 'master' into master 2022-03-27 20:54:24 +08:00
Matthew Nickson
88604845e6 Merge branch 'master' into #1209-Logout-button-in-navbar 2022-03-27 13:48:50 +01: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
34a0b54b93 Merge pull request #1418 from sovushik/patch-11
Update ru-RU.js
2022-03-26 14:11:32 +08:00
sovushik
e11ea7b061 Update ru-RU.js
Add new string for 1.13.1
2022-03-26 10:46:07 +05:00
Louis Lam
12237dec6e Merge remote-tracking branch 'origin/master' 2022-03-26 02:09:25 +08:00
Louis Lam
f6272155af Show page not found for invalid routes 2022-03-26 02:09:12 +08:00
Louis Lam
630b441a2d Merge pull request #1414 from ivanbratovic/croatian-language
Update croatian (hr-HR) translation file
2022-03-25 19:00:06 +08:00
Louis Lam
1ecd2e45d0 [Status Page] Plan to support domain names for status pages 2022-03-25 18:59:06 +08:00
Ivan Bratović
5922771909 Update croatian (hr-HR) translation file
Signed-off-by: Ivan Bratović <ivanbratovic4@gmail.com>
2022-03-25 11:05:51 +01:00
MrEddX
a7e1a78ea9 Update bg-BG.js
Fixed translation.
2022-03-25 07:31:26 +02:00
Louis Lam
623d03dc6f Fix release process 2022-03-25 00:03:25 +08:00
Louis Lam
f52e527850 Update to 1.13.1 2022-03-24 23:47:03 +08:00
Louis Lam
28d72fcd08 Fix #1409, slug cannot be empty 2022-03-24 23:43:07 +08:00
Louis Lam
6c7a0ff7d3 Fix release script 2022-03-24 22:44:22 +08:00
Louis Lam
2abdf2efad Update to 1.13.0 2022-03-24 22:21:19 +08:00
Louis Lam
71af08189e Clear useless code 2022-03-24 18:03:31 +08:00
Louis Lam
d32ba7cadd Fix #1318, basic auth is completely disabled if the auth is disabled 2022-03-24 18:02:34 +08:00
Louis Lam
775d1696fa Fix pushover device not working #1114 2022-03-24 12:14:17 +08:00
Louis Lam
7fb16d2f9a Limit the pm2 log size 2022-03-23 11:17:23 +08:00
Louis Lam
40991fbc28 Show reverse proxy guide along with websocket error 2022-03-22 23:46:13 +08:00
Louis Lam
bf20f9d290 Merge remote-tracking branch 'origin/master' 2022-03-22 21:37:18 +08:00
Louis Lam
5fa14161c4 Minor css 2022-03-22 21:37:04 +08:00
Louis Lam
5a2a59250d Merge pull request #1405 from sovushik/patch-9
Update ru-RU.js
2022-03-22 17:17:37 +08:00
Louis Lam
fcee93cbea Merge pull request #1404 from sovushik/patch-8
Update ru-RU.js
2022-03-22 17:16:55 +08:00
Louis Lam
668dffc2c5 Simplify final release 2022-03-22 16:45:07 +08:00
sovushik
210eebe144 Update ru-RU.js
Add some fix for 1.13
2022-03-22 13:00:16 +05:00
sovushik
4b04a9c214 Update ru-RU.js
Add new string for version 1.13
2022-03-22 12:58:38 +05:00
Louis Lam
909618a29a Update to 1.13.0-beta.2 2022-03-22 14:30:54 +08:00
Louis Lam
4a4ffc96dd Fix setup 2022-03-22 12:00:13 +08:00
Louis Lam
3713692bdd Merge remote-tracking branch 'origin/master' 2022-03-22 11:31:01 +08:00
Louis Lam
76f991ecd8 Update beta process 2022-03-22 11:30:45 +08:00
Louis Lam
84dcd81f21 Merge pull request #1400 from MrEddX/bulgarian
Update bg-BG.js
2022-03-22 10:50:59 +08:00
MrEddX
f65d0654a6 Update bg-BG.js
Added new field.
2022-03-21 21:12:15 +02:00
Louis Lam
b0bda9f9d2 Fix beta release script 2022-03-22 01:00:35 +08:00
Louis Lam
ad2130b7b5 [Status Page] Fix monitors are deleted unexpectedly #1399 2022-03-22 00:06:29 +08:00
Louis Lam
4545eec3fe Better sticky monitor list 2022-03-21 23:53:55 +08:00
Louis Lam
3adda48f3a Load the status page list earlier 2022-03-21 15:28:59 +08:00
Louis Lam
cafa61e3af Add beta tag 2022-03-21 14:32:55 +08:00
Louis Lam
58ee071fae Release process for beta 2022-03-21 14:31:29 +08:00
Louis Lam
9173838e1b Merge remote-tracking branch 'origin/master' 2022-03-21 11:50:27 +08:00
Louis Lam
833d9381ff Merge pull request #1393 from burakurer/patch-1
Update tr-TR.js
2022-03-21 11:50:17 +08:00
burakurer
73d904952d Update tr-TR.js
spelling correction "Sağlık Dırımları" => "Sağlık Durumları"
2022-03-20 17:03:32 +03:00
Louis Lam
4e95e9ea51 Add process for beta release 2022-03-20 11:08:33 +08:00
Louis Lam
c22cc4d794 Merge pull request #1385 from jtagcat/patch-1
Update et-EE.js
2022-03-20 10:56:24 +08:00
Louis Lam
8cbdefdc0d Merge pull request #1390 from pemassi/patch-3
Update ko-KR.js
2022-03-20 10:55:51 +08:00
Kyungyoon Kim
2f5beefa37 Update ko-KR.js 2022-03-19 03:19:02 -06:00
jtagcat
dae5ff690a Update et-EE.js 2022-03-18 13:56:45 +00:00
Louis Lam
fb9a206542 [Status Page] Fix - show no status page 2022-03-18 21:47:14 +08:00
jtagcat
dc3da45dd6 Update et-EE.js 2022-03-18 11:27:33 +00:00
Louis Lam
82049a2387 Merge pull request #863 from louislam/restructure-status-page
Restructure status page core implementation
2022-03-18 18:07:15 +08:00
Louis Lam
d7a839aa52 [Status Page] Fix reset entry page 2022-03-18 17:57:08 +08:00
Louis Lam
aef0a66205 [Status Page] Simplify show tags logic 2022-03-18 17:56:46 +08:00
Louis Lam
37be7df9b0 [Status Page] Delete status page 2022-03-18 15:19:52 +08:00
Louis Lam
243fab5f26 Rollback vite to 2.6.x (Not sure, but sometimes vue routes are no longer response during dev randomly) 2022-03-18 15:02:49 +08:00
Louis Lam
8d981c8f0b [Status Page] Fix migration and unpin incident 2022-03-18 14:14:22 +08:00
Louis Lam
220e46bc83 [Status Page] Fix theme bug 2022-03-18 12:57:37 +08:00
Louis Lam
59cdacc052 [Status Page] Enable Edit Mode only if the token is presented 2022-03-18 12:39:48 +08:00
Louis Lam
00738edbe7 [Status Page] Add ?edit 2022-03-18 00:00:56 +08:00
Louis Lam
27bfae67af [Status Page] Add a new status page 2022-03-17 23:38:43 +08:00
Louis Lam
719a136d1e [Status Page] Improved entry page 2022-03-17 22:44:47 +08:00
Louis Lam
502c7f87e7 [Status Page] Listing: Better loading effect 2022-03-17 19:07:05 +08:00
Louis Lam
78a732409b [Status Page] Fix translations 2022-03-17 18:56:59 +08:00
Louis Lam
c0c6419980 [Status Page] align icon and title using flexbox 2022-03-17 17:07:23 +08:00
Louis Lam
5474368263 Update vite to 2.8.6 2022-03-17 16:56:25 +08:00
Louis Lam
e87cdf4d09 [Status Page] wip, upload logo and status page listing 2022-03-17 16:42:26 +08:00
Louis Lam
bb1c951a96 Update node.js from 14 to 16 2022-03-17 13:04:43 +08:00
Louis Lam
1033ca5cf4 [Status Page] wip, combine api, add status_page_id into group and incident tables 2022-03-16 15:38:10 +08:00
Louis Lam
18ec42b060 [Status Page] wip 2022-03-16 14:14:47 +08:00
Louis Lam
7c7dbf68c1 [Status Page] wip, sidebar for editor 2022-03-15 12:00:29 +08:00
Louis Lam
3e96504813 Update denpendencies 2022-03-13 17:14:57 +08:00
Louis Lam
d765b1c57a Merge branch 'master' into restructure-status-page
# Conflicts:
#	src/pages/StatusPage.vue
2022-03-12 15:50:42 +08:00
Louis Lam
5f778b9763 Merge pull request #835 from willianrod/feat/add-favicon-badges
Add badges to favicon
2022-03-12 15:39:18 +08:00
Louis Lam
c68f7944e3 [Favicon] minor 2022-03-12 15:31:01 +08:00
Louis Lam
a9efdabcec [Favicon] Prevent error when no heartbeat 2022-03-12 15:30:02 +08:00
Louis Lam
b9dfcd1291 [Favicon] Code refactoring 2022-03-12 15:10:45 +08:00
Louis Lam
04d93c2747 Merge branch 'master' into willianrod_feat/add-favicon-badges
# Conflicts:
#	package-lock.json
#	src/mixins/socket.js
2022-03-12 11:17:32 +08:00
Louis Lam
c65d771fad Merge pull request #1358 from BCsabaEngine/master
fix: .hu lang
2022-03-12 10:38:37 +08:00
Louis Lam
3f8a396090 Merge pull request #1362 from MrEddX/bulgarian
Bulgarian
2022-03-12 10:37:46 +08:00
Louis Lam
9681957adf Merge pull request #1366 from deanilvincent/update-version-of-check-password-strength
check-password-strength new version update 2.0.5
2022-03-12 10:25:06 +08:00
Mark Vicente
95a2c967c6 check-password-strength new version 2.0.5 that support additional symbols/special characters referenced from owasp list. 2022-03-11 23:48:35 +08:00
Louis Lam
50d6e888c2 [new status page] wip 2022-03-10 21:34:30 +08:00
Louis Lam
ae14ad5a84 Add a word "Status Pages" 2022-03-09 22:14:07 +08:00
MrEddX
edd9202de9 Update bg-BG.js
Translation fix.
2022-03-08 22:14:07 +02:00
MrEddX
a97d2a5498 Update bg-BG.js
Added new fields.
2022-03-08 22:10:17 +02:00
Louis Lam
72ce28a541 Migrate status page table 2022-03-08 14:33:35 +08:00
Louis Lam
1e2a8453c6 Merge branch 'master' into restructure-status-page 2022-03-08 14:21:04 +08:00
Louis Lam
1fa4a16663 Check beta release 2022-03-07 16:24:24 +08:00
Louis Lam
6a57c443fd Set telegram as the default notification type 2022-03-07 15:52:17 +08:00
Uğur Erkan
8078d0618d Add socks proxy support to proxy feature
- Socks proxy support implemented.
- Monitor proxy agent create flow refactored
  and moved under proxy class.

Thanks for suggestion @thomasleveil
2022-03-06 19:34:51 +03:00
Uğur Erkan
9e27acb511 Add socks proxy agent 2022-03-06 19:34:51 +03: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
Uğur Erkan
2cc7a990ff Add http and https agents 2022-03-06 19:29:28 +03:00
Balázs Csaba
157f0de61a fix: .hu lang 2022-03-05 21:24:50 +01:00
Louis Lam
88c3d952d3 Improve settings page's UI/UX on mobile 2022-03-04 23:20:42 +08:00
Louis Lam
e3a0eaf6af Sort notification types in case-insensitive 2022-03-04 21:48:35 +08:00
Louis Lam
8bbf55777e Merge pull request #1205 from arjunkomath/master
Add notification provider - Push
2022-03-04 21:39:59 +08:00
Louis Lam
c0e0698c21 Merge pull request #1225 from Computroniks/fix-checkbox-css
Fixed dark mode checkbox
2022-03-04 14:35:15 +08:00
Louis Lam
14d8095f12 Merge pull request #1228 from Arubinu/alerta
Alerta Notification Service
2022-03-04 14:19:53 +08:00
Louis Lam
fa490d0bf1 [Alerta] Handle general message 2022-03-04 14:13:44 +08:00
Louis Lam
c52c8a4206 Merge branch 'master' into alerta
# Conflicts:
#	server/notification.js
#	src/components/notifications/index.js
#	src/languages/en.js
2022-03-04 14:10:37 +08:00
Louis Lam
9789d8cde8 Merge branch 'master' into alerta 2022-03-04 14:09:01 +08:00
Louis Lam
ccb3d85a48 Merge pull request #1157 from zackelia/master
Implement gorush notifications
2022-03-03 22:03:09 +08:00
Louis Lam
333505b039 Merge remote-tracking branch 'origin/master' 2022-03-03 20:49:13 +08:00
Louis Lam
602da565eb Sort notification types 2022-03-03 20:49:00 +08:00
Louis Lam
b62d94184a Merge branch 'master' into restructure-status-page 2022-03-03 17:09:15 +08:00
Louis Lam
e0175d0010 Delete stale-bot.yml, no idea why it deleted some feature request 2022-03-03 10:21:34 +08:00
Louis Lam
3246055696 Merge pull request #1350 from deluxghost/patch-1
Update zh-CN.js
2022-03-02 23:20:47 +08:00
deluxghost
b3a690f3b1 Update zh-CN.js 2022-03-02 23:12:30 +08:00
Louis Lam
7bc8c447cd Merge branch 'MikMuellerDev_master'
# Conflicts:
#	src/languages/de-DE.js
2022-03-02 17:17:15 +08:00
Louis Lam
69ff6831ab Merge pull request #1311 from deluxghost/update-zh-cn
Update zh-CN translations
2022-03-02 16:58:54 +08:00
AnnAngela
88a798704b Update fs-rmSync.js 2022-03-02 16:10:14 +08:00
AnnAngela-work
783173fd1f Add a helper function 2022-03-02 15:48:08 +08:00
DX
0dba06e48b Update zh-CN translations 2022-03-02 15:34:11 +08:00
AnnAngela-work
281fe365c0 Mark the version as 1.11.4 in package-lock.json 2022-03-02 15:23:08 +08:00
Louis Lam
8e7c0a6163 Update pull request rules 2022-03-02 14:25:37 +08:00
Louis Lam
0671e4ea2b Merge remote-tracking branch 'AnnAngela/master'
# Conflicts:
#	src/languages/zh-CN.js
2022-03-02 13:43:34 +08:00
Louis Lam
cd8eaef903 Merge pull request #1187 from pfandie/translations-de
Updates some DE translations
2022-03-02 13:39:19 +08:00
Louis Lam
51f5c009e3 Merge remote-tracking branch 'PrikolMen/patch-1'
# Conflicts:
#	src/languages/ru-RU.js
2022-03-02 13:37:21 +08:00
Louis Lam
3bf62c9ceb Merge branch 'patch-7-ru'
# Conflicts:
#	src/languages/ru-RU.js
2022-03-02 13:33:37 +08:00
Louis Lam
7b11539cff Merge branch 'patch-62'
# Conflicts:
#	src/languages/ru-RU.js
2022-03-02 13:31:43 +08:00
PrikolMen:-b
b4a3d68356 More correct Russian translation
I tried to fix most of the shortcomings of the Russian translation...
2022-02-28 14:55:23 +04:00
Louis Lam
b31af8a15c update to 1.12.1 2022-02-26 17:05:13 +08:00
Louis Lam
60f67ccb35 Revert commit: a6fd626f 2022-02-26 16:57:13 +08:00
Louis Lam
81a9807a0a Update release procedures 2022-02-26 16:03:43 +08:00
Louis Lam
3681934d05 Update Apprise to 0.9.7 2022-02-26 15:57:26 +08:00
Louis Lam
d5d63474d8 update to 1.12.0 2022-02-26 15:41:32 +08:00
Louis Lam
a6fd626fb8 Locked Russian language, ask Putin to stop the war and unlock it 2022-02-26 14:56:57 +08:00
Louis Lam
3a5b413af4 Update axios to 0.26.0 due to vulnerability 2022-02-26 14:36:38 +08:00
Louis Lam
595cd93220 Check invalid interval 2022-02-24 15:11:17 +08:00
Louis Lam
e12c1511db Merge pull request #1330 from BCsabaEngine/master
fix: hu lang
2022-02-23 22:36:05 +08:00
Balázs Csaba
f3112c0b85 fix: hu lang 2022-02-23 09:35:56 +01:00
Louis Lam
af07850ddf Merge pull request #1287 from sovushik/patch-5
Update ru-RU.js
2022-02-21 15:12:27 +08:00
Louis Lam
211b44269c Do not close feature-request 2022-02-21 11:48:03 +08:00
Louis Lam
7638b73645 Fix #1300 2022-02-15 23:30:07 +08:00
Mik Mueller
a997f8e4f9 Update de-DE.js 2022-02-15 12:58:02 +01:00
Mik Mueller
09dbb143ea Merge branch 'louislam:master' into master 2022-02-15 12:51:21 +01:00
Hans Mayer
f19e983818 Merge remote-tracking branch 'origin/master' into translations-de 2022-02-14 14:39:21 +01:00
Louis Lam
d0ed99a310 Merge pull request #1298 from ananthkamath/master
Fix mattermost couldn't find channel issue
2022-02-13 23:56:12 +08:00
Ananth Kamath
258d93be72 Fix mattermost couldn't find channel issue 2022-02-13 21:17:02 +05:30
Jens Neuber
454c1687cf Merge branch 'master' of https://github.com/louislam/uptime-kuma into uptime-badges 2022-02-13 11:12:22 +01:00
Louis Lam
986ddd92ff Merge pull request #1198 from Buchtic/master
CSY translation
2022-02-13 14:11:00 +08:00
AnnAngela
c75c6c5640 Update zh-CN.js
Update DingDing and AliyunSms setting dialogs for better translations and document links
2022-02-11 22:50:46 +08:00
AnnAngela
5aed36b470 Update zh-CN
----
关于 smtpDkimKeySelector:
Google Workspace 的帮助里用词为
[前缀选择器](https://annangela.page.link/smtpDkimKeySelector)
2022-02-10 22:45:24 +08:00
sovushik
76b9fb967f Update ru-RU.js
Add new string
2022-02-09 21:37:45 +05:00
sovushik
b58120d258 Update ru-RU.js
Correct some words on Russian
2022-02-09 21:26:47 +05:00
sovushik
79f99ce215 Update ru-RU.js
Add new string
2022-02-09 21:19:00 +05:00
Louis Lam
e7e30bf497 update to 1.11.4 2022-02-09 21:54:33 +08:00
Louis Lam
efaa55ad1f Merge pull request #1269 from holao09/master
Update Vietnamese language
2022-02-09 21:42:02 +08:00
Louis Lam
32a898bee5 Merge pull request #1270 from rovast/master
Update zh-CN  translation for setting module.
2022-02-09 21:36:07 +08:00
Louis Lam
561a0a3c9a Merge pull request #1278 from jamesmacwhite/disable-auth-lang
Fix minor typos on disable auth warning
2022-02-09 21:35:37 +08:00
Việt Nguyễn
daac9ddffc Update Vietnamese language
Cập nhật một số thông tin tiếng Việt
2022-02-09 16:17:10 +07:00
James White
6bd2ee8c69 Fix minor typos on disable auth warning 2022-02-08 21:53:15 +00:00
Jimmy Huang
244a7b3671 Update server/model/monitor.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-02-07 18:46:16 +08:00
rovast
45dca072b2 Update zh-CN translation for setting module. 2022-02-07 15:28:21 +08:00
Mik Mueller
7d8b72c6c0 Merge branch 'louislam:master' into master 2022-02-06 10:57:10 +01:00
Hans Mayer
40cc885eb8 resolve conflict after update state 2022-02-05 11:48:48 +01:00
Louis Lam
742ad083e5 Fix security vulnerabilities 2022-02-03 12:26:50 +08:00
Louis Lam
27f4f5ee0b Merge remote-tracking branch 'origin/master' 2022-02-03 12:20:29 +08:00
Louis Lam
41f1686147 Fix security vulnerabilities 2022-02-03 12:20:15 +08:00
Louis Lam
faab1ead92 Merge pull request #1251 from dave9123/patch-2
id-ID.js - Fixed the grammar issue
2022-02-03 12:11:31 +08:00
Mik Mueller
f1007ad42f Update de-DE.js 2022-02-02 22:59:13 +01:00
Mik Mueller
dd28ecaa2d Update de-DE.js 2022-02-02 22:57:02 +01:00
Mik Mueller
ffa585376d Merge branch 'louislam:master' into master 2022-02-02 22:54:23 +01:00
dave9123
c1c1e2ba5b Fixed the grammar issue
Here's my pull request
2022-02-02 10:13:55 +07:00
Louis Lam
2f7e24191a Merge pull request #1237 from dave9123/patch-1
[id-ID] Fixed some grammar error
2022-02-02 00:31:50 +08:00
vfaergestad
0fce1b4b9b Update nb-NO.js (#1232)
Improved and finished the translation.
2022-02-02 00:31:00 +08:00
Mik Mueller
11c2e86bfe Update src/languages/de-DE.js
Co-authored-by: Alf <62615304+Alf-Melmac@users.noreply.github.com>
2022-02-01 08:13:30 +01:00
Mik Mueller
1bbf17f3da Update src/languages/de-DE.js
Co-authored-by: Alf <62615304+Alf-Melmac@users.noreply.github.com>
2022-02-01 08:13:23 +01:00
Mik Mueller
39f8b30b36 Update src/languages/de-DE.js
Co-authored-by: Alf <62615304+Alf-Melmac@users.noreply.github.com>
2022-02-01 08:13:13 +01:00
Mik Mueller
ffb2c2996b Update src/languages/de-DE.js
Co-authored-by: Alf <62615304+Alf-Melmac@users.noreply.github.com>
2022-02-01 08:12:42 +01:00
dave9123
65896ed035 Fixed some grammar error
I fixed at some part of the text.
2022-01-31 08:01:45 +07:00
Mik Mueller
b13b20bd95 improve certain German words and phrases, improve grammer in README.md 2022-01-30 00:17:25 +01:00
Alvin Pergens
8febff9282 fix comments 2022-01-28 15:35:33 +01:00
Alvin Pergens
90f2497548 change data for Alerta 2022-01-28 15:14:34 +01:00
Phuong Nguyen Minh
a9df7b4a14 Update vi.js (#1226)
* update vi.js
2022-01-28 21:23:37 +08:00
Jens Neuber
28be32fc68 Merge branch 'master' of https://github.com/louislam/uptime-kuma into uptime-badges 2022-01-28 08:36:05 +01:00
Alvin Pergens
cefe43800f add alerta service 2022-01-27 20:54:04 +01:00
Computroniks
97a5b400db Added log out button to nav bar
Implements Logout button in navbar #1209

Signed-off-by: Computroniks <mnickson@sidingsmedia.com>
2022-01-27 19:45:31 +00:00
Computroniks
ca89f84b9a Added sign-out-alt icon
Signed-off-by: Computroniks <mnickson@sidingsmedia.com>
2022-01-27 18:57:14 +00:00
Computroniks
eaf370637e Fixed dark mode checkbox
The border colour of the checkbox has been changed to make it more
visible to the user when the dark mode is in use.

Signed-off-by: Computroniks <mnickson@sidingsmedia.com>
2022-01-27 17:40:03 +00:00
Jimmy Huang
ee90d2713f refs issue-1201 in upstream.
Add 100 characters from response body to bean.msg after keyword not match.
2022-01-25 17:39:19 +08:00
OidaTiftla
d446a57d42 Add german translation 2022-01-24 22:20:48 +01:00
OidaTiftla
855b12f435 Add text for resend disabled 2022-01-24 22:20:38 +01:00
OidaTiftla
f390a8caf1 Fix missing DB patch and use DATETIME as column format 2022-01-24 21:59:25 +01:00
OidaTiftla
30ce53f57c Fix min value of resend interval 2022-01-24 09:18:38 +01:00
OidaTiftla
8c4ab9d652 Simplify 2022-01-24 09:18:22 +01:00
OidaTiftla
f931e709e6 Add database patch 2022-01-24 09:18:12 +01:00
OidaTiftla
11e9eee09d Change seconds to minutes 2022-01-23 17:48:09 +01:00
OidaTiftla
65fc71e485 Revert version change 2022-01-23 17:36:48 +01:00
OidaTiftla
b69a8b8493 Fix formatting
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-23 17:35:53 +01:00
OidaTiftla
1ac904d6d6 Introduce resend interval if down 2022-01-23 15:22:57 +01:00
Raphael Bernhart
dd3992063e Apply suggestions from code review
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-22 13:59:36 +01:00
c0derMo
29df70949d Add ability to connect to daemon via http / tcp for windows compatibility 2022-01-22 01:57:37 +00:00
Raphael Bernhart
0313acd4c5 🐛 Fix bug where a condition was wrong-false 2022-01-21 17:22:30 +01:00
Raphael Bernhart
cd19b9fc49 💫 Improve hearbeat animation 2022-01-21 17:13:38 +01:00
Raphael Bernhart
c57b2c4d28 💄 Fix spacing to get pixel perfectness 2022-01-21 17:13:24 +01:00
Raphael Bernhart
3dda5938f2 💄 Add condition to div tag for styling reasons 2022-01-21 15:39:49 +01:00
Arjun Komath
23796723dd Address code review
Add missing comma

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-21 20:42:08 +11:00
Arjun Komath
51b7a2badb remove log 2022-01-21 07:43:14 +00:00
Arjun Komath
74c584f544 Add Push by Techulus 2022-01-21 07:42:03 +00:00
Tarun Singh
0345719e53 added cleartimeout in case client is already ended 2022-01-20 13:20:54 -05:00
Tarun Singh
22256dfcd2 added timeout for removing the dead loop state 2022-01-20 13:04:59 -05:00
Louis Lam
c3c4db52ec Merge pull request #1184 from Khord/patch-1
Rename 2FA/TOTP field ID for password manager filling compatibility
2022-01-20 15:18:42 +08:00
Louis Lam
aba6cb2c52 Merge pull request #1169 from jbenguira/patch-1
Fixed #1024
2022-01-19 14:41:15 +08:00
Louis Lam
ff0e85737f Merge pull request #1182 from sovushik/patch-4
Update ru-RU.js
2022-01-19 14:37:08 +08:00
Buchtič
4713820da7 first csy translation 2022-01-18 14:44:11 +01:00
Buchtič
a99e87c02c cs-CZ 2022-01-18 08:50:11 +01:00
Buchtič
3f8ca82434 cs-CZ translation 2022-01-18 08:48:39 +01:00
Buchtič
60f1eb7b45 new cs-CZ.js 2022-01-17 18:42:32 +01:00
Louis
55a593f75d Merge remote-tracking branch 'origin/master' 2022-01-18 01:24:28 +08:00
Louis
a0d51a15cf Fix security vulnerabilities 2022-01-18 01:24:07 +08:00
Louis Lam
5a08b42e4f Merge pull request #1194 from Rayzggz/master
Update zh-CN.js
2022-01-18 01:17:33 +08:00
Louis
6961af005e eslint 2022-01-18 01:12:25 +08:00
Roy Feng
847a19afc1 Update zh-CN.js 2022-01-17 15:03:39 +08:00
Louis Lam
7532e7fd3e Merge pull request #1192 from drodmantras/master
Update sl-SI.js
2022-01-17 14:18:27 +08:00
Erik
63a3704836 Update sl-SI.js 2022-01-16 12:29:00 +01:00
Hans Mayer
3e87eb596f change wording, according to PR suggestions 2022-01-15 12:25:17 +01:00
Hans Mayer
c679613f7e Updates some DE translations, fix typo in resolverserverDescription, removes some duplicates in languages 2022-01-14 19:06:21 +01:00
Louis
bd8fa17887 Merge remote-tracking branch 'origin/master' 2022-01-15 01:25:50 +08:00
Louis
d1a99b0a22 Check Node.js version, better error message 2022-01-15 01:25:28 +08:00
c0derMo
4818bb67d6 Added trailing comma, fixed spelling & translation 2022-01-14 09:09:37 +00:00
Joseph Benguira
3b9fac2942 Update server/prometheus.js
removed useless spaces

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-14 08:51:45 +02:00
Dylan Khor
812e80030b revert Token because of language file 2022-01-13 23:43:57 -05:00
Dylan Khor
b89efa49aa retain Token verbiage in display name
since "Token" is used in several places in the 2FA setup screen
2022-01-13 16:58:46 -05:00
Dylan Khor
6490ef3787 rename 2fa input element id and display name 2022-01-13 16:46:09 -05:00
c0derMo
9619d31a05 Adding docker container ability to readme 2022-01-13 18:33:01 +00:00
c0derMo
c5cc42272f Fixing the editing of docker container & adding english translation 2022-01-13 18:28:45 +00:00
sovushik
329c8cbc2d Update ru-RU.js
Add new string
2022-01-13 22:07:21 +05:00
c0derMo
b0259b5592 Added docker container monitor 2022-01-13 16:17:07 +00:00
Louis Lam
2bf9764cec Merge pull request #1175 from sovushik/patch-3
Update ru-RU.js
2022-01-13 13:18:23 +08:00
Louis Lam
c116754360 Merge pull request #1171 from Saibamen/patch-1
Update pl.js
2022-01-13 13:17:06 +08:00
Louis Lam
227bbdea2f [MQTT] Try to improve error handling 2022-01-13 12:42:34 +08:00
Louis Lam
6272514820 [MQTT] Use existing fields instead of creating new ones (Server) 2022-01-13 11:53:08 +08:00
Louis Lam
1c8407a433 [MQTT] Use existing fields instead of creating new ones (UI) 2022-01-13 11:36:55 +08:00
Louis Lam
32ec4beda0 Merge branch 'master' into mqtt 2022-01-13 11:24:45 +08:00
Louis Lam
2c7a701c84 Merge remote-tracking branch 'origin/master' 2022-01-13 11:24:21 +08:00
Louis Lam
9462646ad3 Fix vulnerabilities 2022-01-13 11:22:58 +08:00
Louis Lam
482b3f9233 Update server/util-server.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-13 11:20:32 +08:00
Louis Lam
6014ed1156 Fix conflict 2022-01-13 11:19:26 +08:00
Louis Lam
bfee63452d Merge branch 'master' into mqtt 2022-01-13 11:16:58 +08:00
Louis Lam
fd1fce0143 Update stylelint from 13.13.x to 14.2.x 2022-01-13 11:15:38 +08:00
Louis Lam
076d6bdbb6 Merge branch 'master' into mqtt
# Conflicts:
#	package-lock.json
#	server/database.js
2022-01-13 11:09:16 +08:00
sovushik
52e0d74a1e Update ru-RU.js
Add new string
2022-01-12 20:49:41 +05:00
Adam Stachowicz
23532aaafe Update pl.js
Addendum to ab61acab63
2022-01-12 12:26:23 +01:00
Louis Lam
ab61acab63 Merge pull request #1170 from NixNotCastey/update-pl
Update pl.js
2022-01-12 17:39:12 +08:00
Łukasz Szczepański
06aab3dee8 Added missing text and fix typos 2022-01-12 09:48:37 +01:00
Joseph Benguira
13acdd4c65 Fix for issue in logs
This fix address the issue described here: https://github.com/louislam/uptime-kuma/issues/1024
2022-01-12 10:12:12 +02:00
Louis Lam
fe0bce268d Merge pull request #1164 from ledeuns/master
Fix comment (FreeBSD->*BSD)
2022-01-12 01:49:57 +08:00
Louis
ed64853125 Keep FBSD, BSD for ping only 2022-01-12 01:44:01 +08:00
Denis
0f822d3b2a FBSD does not exists anymore 2022-01-11 13:42:51 +01:00
Denis
6bda5c6329 update comment 2022-01-11 13:39:45 +01:00
Denis Fondras
44bc98a453 Merge branch 'louislam:master' into master 2022-01-11 13:37:54 +01:00
Louis
f9751d0c01 Fix FBSD to BSD https://github.com/louislam/uptime-kuma/pull/1155#issuecomment-1009544236 2022-01-11 19:15:28 +08:00
Denis
53df9a36e3 reintroduce exports.FBSD 2022-01-11 10:07:00 +01:00
Louis Lam
ccfd04a431 Merge pull request #1155 from ledeuns/master
ping path is common to all BSDs
2022-01-10 18:20:06 +08:00
Louis Lam
9324137123 Merge pull request #1151 from sovushik/patch-2
Update ru-RU.js
2022-01-10 18:19:04 +08:00
Louis Lam
9f063cf477 Merge branch 'master' into patch-2 2022-01-10 17:56:47 +08:00
Louis Lam
b83c896d0c Merge pull request #1150 from sovushik/patch-1
Update ru-RU.js
2022-01-10 17:55:46 +08:00
Louis Lam
aa37383065 Merge pull request #1154 from jamesmacwhite/pull-request-guidelines
Update PULL_REQUEST_TEMPLATE.md
2022-01-10 17:54:55 +08:00
Louis Lam
5e2c39eb4b Merge pull request #1144 from alex3025/master
Fixed italian (it-IT) translations
2022-01-10 17:54:22 +08:00
Louis Lam
2a1f011f05 Merge pull request #1153 from drodmantras/master
Update sl-SI.js
2022-01-10 17:53:03 +08:00
Zack Elia
ea43422ccf Implement gorush notifications 2022-01-09 12:05:11 -05:00
Denis
8063449f49 ping path is common to all BSDs 2022-01-09 17:27:24 +01:00
James White
b6ad4c845a Update PULL_REQUEST_TEMPLATE.md
Correct checklist item and make the UI type of change consistent with all others.
2022-01-09 15:31:26 +00:00
Erik
cdcdf377ec Update sl-SI.js
Small langue updates
2022-01-09 11:39:05 +01:00
sovushik
30a345d8b6 Update ru-RU.js
Updated language files and added new lines
2022-01-08 23:00:18 +05:00
sovushik
83d60fea29 Update ru-RU.js
1. Updated the language lines (in the correct declension)
2. Added new lines for the "Create Incident" functionality
2022-01-08 22:46:05 +05:00
Marc Harnos
0bbe157099 change parsing priority for all passed arguments
update all passed args in server.js to prioritize command line, then use
env.UPTIME_KUMA_ environment variables, then use the generic environment
variable versions env.HOST, env.PORT, env.SSL_KEY, env.SSL_CERT and fall
back to default values where applicable
2022-01-08 18:32:42 +01:00
Marc Harnos
0053a29d10 add validation to port value parsing
only port configurations that are valid (not isNaN) after parseInt
are considered to be used in port variable
2022-01-08 18:27:39 +01:00
Marc Harnos
2c8d5d28e9 simplify host fallback logic
move decision logic for freeBSD HOST environment var into temp var
2022-01-08 18:25:12 +01:00
Matteo D
2304c53c8d Fixed some translations
And made them more user-friendly.
2022-01-08 13:28:48 +01:00
Nelson Chan
1bbd744d02 Chore: Improve syntax 2022-01-07 14:29:42 +08:00
Nelson Chan
2e0e35a1ee Fix: Fix typo 2022-01-07 12:34:01 +08:00
Nelson Chan
1e92487f30 Chore: Remove onDelete as unused 2022-01-07 12:28:08 +08:00
Nelson Chan
edd2534a1b Fix: Clear metrics also on stop and edit 2022-01-07 12:26:26 +08:00
Nelson Chan
f6ef390c76 Fix: Remove Prom. metrics on delete monitor 2022-01-07 12:04:57 +08:00
Louis Lam
d4b86dc472 Merge pull request #1133 from thomasleveil/patch-1
fix `TypeError: Cannot read property 'id' of null`
2022-01-06 16:19:36 +08:00
Thomas LÉVEIL
46fa6a56fa fix TypeError: Cannot read property 'id' of null
when testing a Google Chat notification

see https://github.com/louislam/uptime-kuma/issues/1126#issuecomment-1006343423
2022-01-06 08:48:12 +01:00
Louis Lam
ec5037f30d update to 1.11.3 2022-01-06 14:51:20 +08:00
Louis Lam
81a194d826 Merge remote-tracking branch 'origin/master' 2022-01-06 14:47:21 +08:00
Louis Lam
64b3e04d3f Fix #1129 2022-01-06 14:34:45 +08:00
Louis Lam
4ee829ab25 Merge pull request #1130 from bilipp/google-chat-notifications
Fix Google Chat notification type mismatch
2022-01-06 13:05:55 +08:00
Philipp Bischoff
bcc3cec7d6 extract translation for notification type 2022-01-05 23:57:40 +01:00
Philipp Bischoff
f8c5015e3f fix google chat type mismatch 2022-01-05 23:44:14 +01:00
Jens Neuber
f00ec4dfef PR feedback: remove spaces in parenthesis
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-05 15:26:29 +01:00
Jens Neuber
43f8fc701c PR feedback: remove spaces in parenthesis
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-05 15:26:23 +01:00
Jens Neuber
499042504f PR feedback: remove spaces in parenthesis
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-05 15:26:07 +01:00
Jens Neuber
faf6719e7c PR feedback: remove spaces in parenthesis
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-05 15:25:56 +01:00
Jens Neuber
a9d264ccfc PR feedback: remove spaces in comments
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-05 15:25:42 +01:00
Jens Neuber
df8f93f0c2 clean uptime percentage display 2022-01-05 11:48:25 +01:00
Louis Lam
8f3ec33591 update to 1.11.2 2022-01-05 16:40:50 +08:00
Louis Lam
c5fe3a64c2 Merge remote-tracking branch 'origin/master' 2022-01-05 16:26:03 +08:00
Louis Lam
2a1456cfd0 Merge pull request #1124 from MrEddX/bulgarian
Update bg-BG.js
2022-01-05 14:28:39 +08:00
MrEddX
69dfc0c0d2 Update bg-BG.js
Fixed some typos.
2022-01-05 08:15:34 +02:00
Jens Neuber
28c0e16a0c PR feedback 2022-01-04 16:01:40 +01:00
Jens Neuber
6acc9546a0 PR feedback + remove redundant code + add a test 2022-01-04 16:00:21 +01:00
Louis Lam
6d11289257 Merge pull request #1095 from LeslieLeung/add-wecom-notification
feat(*): support WeCom notification
2022-01-04 22:50:30 +08:00
Jens Neuber
f455e3a454 add shields.io 'style' parameter 2022-01-04 13:43:13 +01:00
Jens Neuber
7abbf421d0 PR feedback 2022-01-04 12:23:16 +01:00
Jens Neuber
3625915a85 add ping, status badge 2022-01-04 12:21:53 +01:00
Jens Neuber
d74404e106 minor fixes 2022-01-03 16:23:23 +01:00
Jens Neuber
1c5bce8afa a little documentation 2022-01-03 16:04:37 +01:00
Jens Neuber
8b5997691e Merge branch 'master' of https://github.com/louislam/uptime-kuma into uptime-badges 2022-01-03 15:49:00 +01:00
Jens Neuber
35360e2069 add badges 2022-01-03 15:48:52 +01:00
Leslie Leung
590859a95b Merge branch 'master' into add-wecom-notification 2022-01-03 21:43:56 +08:00
Louis Lam
f9c0ff1841 Merge pull request #1109 from iomataani/master
Updated translation
2022-01-03 20:05:46 +08:00
Louis Lam
a8566acbaa Merge pull request #1116 from Minvinea/master
Update translation FR
2022-01-03 20:04:33 +08:00
Minvinea
4b07ec23fe Update 2022-01-03 00:27:51 +01:00
Ioma Taani
0e50b71290 Merge branch 'louislam:master' into master 2021-12-31 09:09:53 +01:00
Louis Lam
390b50353f Merge pull request #1106 from MrEddX/bulgarian
Update bg-BG.js
2021-12-30 19:10:42 +08:00
MrEddX
d7cb4fa331 Update bg-BG.js
- Updated Bulgarian language file
2021-12-30 08:12:25 +02:00
Louis Lam
e18d4b6ad0 Merge pull request #1045 from bilipp/google-chat-notifications
Add support for Google Chat Notifications
2021-12-30 00:16:34 +08:00
Louis Lam
f6fc3737fc Change name from "Google Chat" to Google Chat (Google Workspace only) 2021-12-30 00:10:54 +08:00
Louis Lam
4005856ba6 run build dist when building docker image 2021-12-27 19:09:51 +08:00
Louis Lam
72a59ce7a4 add status page table 2021-12-27 18:54:48 +08:00
LeslieLeung
40b70277c7 feat(*): support WeCom notification 2021-12-26 13:11:42 +08:00
Jakub Blažej
3d002b3ce9 add status boolean parameter to push monitor 2021-12-25 20:25:21 +01:00
Patrick Hafner
3d6c52fbea Merge branch 'master' into customstatuspage 2021-12-25 04:12:05 +01:00
Patrick Hafner
9ee591417d Footer HTML support, updated german translation 2021-12-25 04:09:41 +01:00
Ioma Taani
a2bc74c4fd updated 2021-12-24 12:02:50 +01:00
Tarun Singh
4118de6d53 fix protocol not defined bug 2021-12-23 19:39:47 -05:00
Louis Lam
a48176bd48 Merge pull request #1080 from chakflying/feat/smtp-dkim
Feat: Add SMTP DKIM settings
2021-12-22 20:08:29 +08:00
Louis Lam
7cfc5c64b7 Missing a full stop 2021-12-22 13:49:57 +08:00
Patrick Hafner
3a12e209da Edit: editMode check before toggle 2021-12-21 03:55:25 +01:00
Patrick Hafner
2c2a824f97 Add: en & de-DE language 2021-12-21 03:31:09 +01:00
Patrick Hafner
931ca6a3ef Add: customize status page (css and poweredby) 2021-12-21 03:27:05 +01:00
Nelson Chan
624cd862a5 Feat: Expose SMTP DKIM settings 2021-12-19 13:30:53 +08:00
Tarun Singh
d3c90df8a8 fixed edit monitor fields empty issues 2021-12-18 16:35:18 -05:00
Louis Lam
0ca68f791f Merge pull request #1060 from drodmantras/master
Added sl-SI language
2021-12-18 00:58:56 +08:00
Louis Lam
6127eab517 Merge pull request #1071 from MrEddX/bulgarian
Update bg-BG.js
2021-12-18 00:57:31 +08:00
MrEddX
0de7fb69f6 Update bg-BG.js
Added new fields.
Translated new fields.
2021-12-17 12:29:53 +02:00
Louis Lam
a42932a43e Simulate Chrome's request Accept header. Better handling of #1067 2021-12-16 15:09:10 +08:00
Philipp Bischoff
a6072a0e30 google chat: only show offline message in notification when service went down 2021-12-15 13:40:21 +01:00
Ivan Bratović
475a466c7e Add attribute to basicauth-pass to prevent browsers from autocompleting (#1063) 2021-12-15 18:18:30 +08:00
Louis Lam
5bc68d7f3b Update README.md 2021-12-15 02:50:45 +08:00
Louis Lam
000703837b Update README.md 2021-12-15 02:46:13 +08:00
Erik
b10cecb362 Added sl-SI language
Added sl-SI language
2021-12-14 17:59:26 +01:00
Louis Lam
6d6cb2ad49 Merge pull request #1047 from dhfhfk/master
Update Ko-KR.js
2021-12-14 17:28:38 +08:00
Louis Lam
cb76801b85 Merge pull request #1049 from Ponkhy/german-language
Updated de-De.js
2021-12-14 13:17:22 +08:00
Ponkhy
aa92727a61 Updated de-De 2021-12-12 21:52:51 +01:00
dhfhfk
56dfa05642 Update Ko-KR.js 2021-12-12 18:56:10 +09:00
Philipp Bischoff
8ad6bd31d4 Revert "order notification types by name"
This reverts commit 8398466860.
2021-12-12 00:08:33 +01:00
Philipp Bischoff
a71569379e add missing import 2021-12-12 00:01:12 +01:00
Philipp Bischoff
8398466860 order notification types by name 2021-12-11 23:50:03 +01:00
Philipp Bischoff
8050cb8e99 implement google chat notification type 2021-12-11 23:43:12 +01:00
Louis Lam
71492aeb3a Merge remote-tracking branch 'origin/master' 2021-12-11 20:59:45 +08:00
Louis Lam
5ee5ea909d Add Github Action: close-incorrect-issue.yml 2021-12-11 20:59:31 +08:00
Louis Lam
a09b97f778 Merge pull request #1032 from titiscan/patch-1
Update fr-FR.js
2021-12-11 17:31:13 +08:00
Louis Lam
e0a08e6b5d Merge pull request #1038 from iomataani/master
Updated italian translation
2021-12-11 17:30:44 +08:00
Louis Lam
6f5cbbdf69 Merge pull request #1018 from Lrss/master
Update Danish translation
2021-12-11 17:29:46 +08:00
Louis Lam
34ee342d3e eslint 2021-12-11 17:20:51 +08:00
Andreas Brett
38f8a8ac2f Merge branch 'louislam:master' into logging 2021-12-10 17:21:55 +01:00
Ioma Taani
f793aa5264 better translations 2021-12-10 09:26:55 +01:00
Ioma Taani
728485d686 updated translations 2021-12-10 09:08:01 +01:00
titiscan
cb3429d3c7 Update fr-FR.js
typo fix
2021-12-09 17:26:05 +01:00
Louis Lam
807519d07d Merge branch 'master' into restructure-status-page 2021-12-09 21:46:35 +08:00
Louis Lam
0d69b4426e Merge pull request #1017 from SiderealArt/patch-1
update zh-TW translation
2021-12-09 21:32:10 +08:00
Louis Lam
8bb8b0a53c update to 1.11.1 2021-12-09 01:23:49 +08:00
Louis Lam
a4841eb8aa Fix #1016, .at() is not support in Safari 2021-12-09 01:19:09 +08:00
Lars Sørensen
2ef2a42e87 Fixed string enclosure as suggested by update-language-files 2021-12-08 11:35:55 +01:00
Lars Sørensen
9473cd6919 Update da-DK.js translation 2021-12-08 11:14:10 +01:00
SiderealArt
74f18a2b3f update zh-TW translation 2021-12-08 17:23:13 +08:00
Louis Lam
f9cd0eb084 fix upload-artifacts 2021-12-08 15:35:44 +08:00
Louis Lam
6a845bd937 Merge remote-tracking branch 'origin/master' 2021-12-08 15:26:19 +08:00
Louis Lam
c91f517121 Update README.md 2021-12-08 15:25:43 +08:00
Louis Lam
7899707582 update to 1.11.0 2021-12-08 15:17:37 +08:00
Louis Lam
12215af2f4 Merge pull request #1014 from iooner/patch-2
Fix typos
2021-12-08 15:04:33 +08:00
Louis Lam
d4bfe57b79 minor: improve formatting 2021-12-08 15:04:18 +08:00
Louis Lam
dcc91d6c72 Fix #922 2021-12-08 14:59:59 +08:00
Andreas Brett
e684712a77 Merge branch 'louislam:master' into logging 2021-12-07 18:21:56 +01:00
iooner
a041a7964a Fix typos 2021-12-07 14:23:13 +01:00
Louis Lam
76611ecaca Merge pull request #1011 from iomataani/master
Updated translation
2021-12-07 19:26:22 +08:00
Tarun Singh
5afc6a41e3 removed https requirement for url 2021-12-06 11:28:23 -05:00
Ioma Taani
f802154456 updated 2021-12-06 11:33:39 +01:00
Ioma Taani
9fb461976d Merge branch 'louislam:master' into master 2021-12-06 11:32:24 +01:00
Louis Lam
c8e364911f Delete close-issue.yml, no idea why not working 2021-12-06 17:46:46 +08:00
Louis Lam
88bc08e7b7 Update close-issue.yml 2021-12-06 17:36:18 +08:00
Louis Lam
03aeab0421 close issues that don't follow the issue template
Copy from axios
2021-12-06 17:31:25 +08:00
Louis Lam
f331f1a63e Merge pull request #873 from Saibamen/fix_871
Fix Telegram Bot Token displayed in notification setup view
2021-12-05 18:04:54 +08:00
Louis
d645e29455 mask telegram api url with asterisk 2021-12-05 17:40:13 +08:00
Louis Lam
b4507f9706 Merge pull request #992 from jlbrt/stackfield-notifications
Add support for Stackfield notifications
2021-12-05 16:45:30 +08:00
Louis Lam
fc6d0d1fca Merge pull request #1000 from BCsabaEngine/master
NPM update and (boring) HU lang
2021-12-05 16:30:31 +08:00
Louis
b62f1475ee 🐍 2021-12-05 16:28:59 +08:00
Louis
d47d8517a8 update apprise to 0.9.6 2021-12-05 16:05:52 +08:00
Ioma Taani
19d2db6c8c better translation 2021-12-04 11:19:56 +01:00
Andreas Brett
dcc7856b5d Merge branch 'louislam:master' into logging 2021-12-04 09:59:10 +01:00
Balázs Csaba
5a8162747c Upgrade qrcode to 1.5.0 2021-12-03 22:47:40 +01:00
Balázs Csaba
220108ebc6 Upgrade bree to 7.1 2021-12-03 22:39:38 +01:00
Balázs Csaba
984a3704e0 HU lang 2021-12-03 22:29:53 +01:00
Ioma Taani
909412c87e Merge branch 'louislam:master' into master 2021-12-03 11:11:38 +01:00
Ashish Bansal
481fd3a05f Updated monitor service details in README.md (#990)
* Updated monitor service details in README.md

Added `Steam Gamer Server' to the monitor service list.

* Update README.md

* Update README.md

* Update README.md
2021-12-03 15:49:46 +08:00
Louis Lam
5434e2da4f Merge pull request #993 from Saibamen/patch-1
Fix typos in markdown files
2021-12-03 15:48:57 +08:00
Ioma Taani
b3d348dcea Translation Update (#994)
* Better translation

* better translation

* aggiornato
2021-12-03 15:48:11 +08:00
Csaba Balázs
0aca0455ab HU language typo and missing items (#996)
* HU language

* run eslint on hu.js

* Last HU typo

* package.json valid required node engine syntax

Package.json required node engine version can contain multiple rules separated with ||. With this mode package-lock.json will be valid and error codes does not diplay.

Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2021-12-03 15:47:35 +08:00
Louis Lam
8f3ef734bc disable e2e test, as it is getting unstable recently on GitHub action 2021-12-03 01:31:19 +08:00
Ioma Taani
120eb0d85f aggiornato 2021-12-02 12:51:10 +01:00
Ioma Taani
4aaed0837e Merge branch 'louislam:master' into master 2021-12-02 12:44:13 +01:00
Adam Stachowicz
60657132c0 Update PULL_REQUEST_TEMPLATE.md 2021-12-02 11:19:59 +01:00
Adam Stachowicz
76cbef85d5 Update README.md 2021-12-02 11:18:30 +01:00
Adam Stachowicz
e17ef02008 Update CONTRIBUTING.md 2021-12-02 11:15:14 +01:00
Adam Stachowicz
f33d55c92d Update README.md 2021-12-02 11:09:27 +01:00
Jonas Liebert
67849a9e84 add support for stackfield notifications 2021-12-02 08:53:45 +01:00
Louis Lam
ee79a34148 Merge pull request #989 from BCsabaEngine/master
HU language typo
2021-12-02 12:44:18 +08:00
Louis Lam
d2f0480889 Merge pull request #988 from tgcentral/readme-md-typo
Typo correction
2021-12-02 12:43:19 +08:00
Balázs Csaba
c36190bba6 Node engine version 2021-12-01 15:40:22 +01:00
Balázs Csaba
4b3fae53d4 HU language typo 2021-12-01 15:32:39 +01:00
tgcentral
4dd60cba3d Typo correction 2021-12-01 09:43:58 +00:00
Ioma Taani
4bc84d2122 Merge branch 'louislam:master' into master 2021-12-01 08:47:57 +01:00
Louis Lam
a796f80018 Merge pull request #902 from ivanbratovic/improve-translatables
Fix untranslatable parts of the UI
2021-12-01 13:59:00 +08:00
Andreas Brett
c9b0a81cdc Update MonitorHistory.vue 2021-11-29 20:39:57 +01:00
Andreas Brett
2f97f44086 Update MonitorHistory.vue 2021-11-29 20:37:44 +01:00
Andreas Brett
a13bdaac84 Merge branch 'master' into logging 2021-11-29 20:32:42 +01:00
Louis Lam
40cb22e671 Merge pull request #963 from kffl/feat/serwersms-provider
Add SerwerSMS.pl notification provider
2021-11-29 20:43:38 +08:00
Ivan Bratović
d95258e7db Merge remote-tracking branch 'upstream/master' into improve-translatables 2021-11-29 12:51:08 +01:00
Ivan Bratović
baae4b5a5e Remove unused translation keys from hr-HR 2021-11-29 12:49:38 +01:00
Ivan Bratović
c1b118a0f6 Use existing Example translation for HTTP headers and body placeholders 2021-11-29 12:49:08 +01:00
Ivan Bratović
9c5466890e Revert "Replace body and header placeholder functions with translations"
This reverts commit 2c85491ee0.
2021-11-29 12:40:53 +01:00
Louis Lam
bf8dbd78b3 temporary disable test for settings page 2021-11-29 17:25:30 +08:00
Louis Lam
6cd130de38 minor 2021-11-29 17:20:12 +08:00
Louis Lam
a864b72e03 fix pushover for general message 2021-11-29 17:19:55 +08:00
Louis Lam
5070927478 Merge pull request #980 from MrEddX/bulgarian
Update bg-BG.js
2021-11-29 16:56:02 +08:00
Louis Lam
bedc1f8617 Merge pull request #966 from louislam/lazy-load-lang
Lazy load language files
2021-11-29 16:54:25 +08:00
Louis Lam
077f3837d9 update language guide 2021-11-29 16:53:00 +08:00
Louis Lam
aea128a85b make settings' menu reactive 2021-11-29 16:50:00 +08:00
Louis Lam
c50b2b636a [lazy load lang] load the language file on create 2021-11-29 16:45:52 +08:00
MrEddX
a284703d9e Update bg-BG.js
- Fixed existing field
- Added new field
- Translated new field
2021-11-28 07:11:20 +02:00
kffl
64ec766423 translate(serwersms): fix pl translation capitalization
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-27 13:22:54 +01:00
kffl
186c11540f style(serwersms): add missing trailing commas
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-27 13:16:17 +01:00
Ioma Taani
4d947d9374 better translation 2021-11-26 10:37:42 +01:00
Ioma Taani
4888c97d86 Better translation 2021-11-26 10:33:15 +01:00
Louis Lam
50593f3edf [wip] lazy load language file 2021-11-26 16:31:19 +08:00
Paweł Kuffel
c1267e9b3b feat: add SerwerSMS notification provider 2021-11-25 18:24:36 +01:00
Ivan Bratović
2ca7a5b962 Merge branch 'master' into improve-translatables 2021-11-24 10:03:30 +01:00
Louis Lam
9f0c66d775 fix node-sqlite3 security issues 2021-11-24 14:53:15 +08:00
Louis Lam
a1f9a82537 Merge pull request #884 from thomasleveil/ux/add-group-at-the-top
🚸 Status page - add group action adds the new group at the top
2021-11-24 11:48:58 +08:00
Louis Lam
37e6ca8d77 Merge pull request #950 from dingdayu/master
Update dingding notification title
2021-11-24 11:36:00 +08:00
Fluency
e3745da986 Merge branch 'master' into master 2021-11-23 10:26:45 -08:00
Louis Lam
0b0fd6609d Merge pull request #951 from iomataani/master
Updated translations.
2021-11-24 00:37:12 +08:00
Ioma Taani
3a32fd6f42 aggiornata la traduzione 2021-11-23 16:39:38 +01:00
Ioma Taani
97cb060cf5 another typo 2021-11-23 16:39:04 +01:00
Ioma Taani
5afb29f8f9 typo 2021-11-23 16:35:18 +01:00
Ioma Taani
f9b8dbf4db Merge branch 'louislam:master' into master 2021-11-23 16:30:48 +01:00
Louis Lam
92a5f18bf5 Merge pull request #864 from ivanbratovic/http-basicauth
Implement explicit HTTP "basic" authentication support
2021-11-23 22:48:54 +08:00
小雨
dce908a07b Update dingding notification title
Add the status to the title, you can see the message title on the friend list page.
2021-11-23 20:36:22 +08:00
Louis
4155f84eec improve basic auth style 2021-11-23 19:20:55 +08:00
Louis Lam
94ffeeeab6 update dependencies 2021-11-23 13:32:24 +08:00
Louis Lam
3d222ac5f5 fix btoa is not define 2021-11-23 12:59:48 +08:00
Louis Lam
c811c1ccde Merge pull request #753 from chakflying/settings-redesign
UI: Redesign/organize settings page
2021-11-23 12:46:59 +08:00
Ioma Taani
bd3d34400d Merge branch 'master' of https://github.com/iomataani/uptime-kuma 2021-11-22 23:39:10 +01:00
Tarun Singh
35da8c78f4 added connection timeout and refactored code 2021-11-22 03:21:53 -05:00
Fluency
7179c6cc4c Fix punctuation in extra/update-version.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-19 10:30:31 -08:00
Andreas Brett
ed96757b24 Merge branch 'louislam:master' into logging 2021-11-19 08:56:25 +01:00
Tarun Singh
3306f4a8e0 removed extra logging 2021-11-18 14:03:23 -05:00
Louis Lam
5d3bf68123 add remove-2fa command 2021-11-18 18:22:03 +08:00
Fluency
a2de9e4e36 Fixed export-function signature being scrambled. 2021-11-17 16:02:31 -08:00
Nelson Chan
1f77526210 Chore: Run spell check 2021-11-17 14:09:12 +08:00
Nelson Chan
88ed965d69 Test: Disable clear stats test 2021-11-17 10:52:14 +08:00
Nelson Chan
7f4d5a0f76 Test: fix tests
Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Attempt to fix tests

Test: Investigate error message

Test: Attempt to fix tests

Chore: Cleanup code

Test: Attempt to fix tests

Test: Attempt to fix tests
2021-11-17 10:45:24 +08:00
Nelson Chan
df813fbdee Fix: Add save in monitor history 2021-11-17 10:45:19 +08:00
Nelson Chan
07742799ed Test: Fix tests
Test: Add clear stats test

Test: Attempt to fix tests

Test: Add test for disable auth

Update README
2021-11-17 10:45:19 +08:00
Nelson Chan
f65cc655c0 Fix: Fix nav highlight in settings sub-page 2021-11-17 10:45:19 +08:00
Nelson Chan
1a218aaa17 Fix: Fix page transition & improve active handling
Fix: Fix current route parsing
2021-11-17 10:45:19 +08:00
Nelson Chan
369cad90c1 WIP: Convert to use vue-router & improve layout
WIP: Fix security page & improve layout

WIP: Fix displaying current page

UI: Improve spacing

Chore: Improve styling
2021-11-17 10:45:18 +08:00
Nelson Chan
f9bb48de13 WIP: Convert Settings to components 2021-11-17 10:45:18 +08:00
Tarun Singh
3f5133d1ba Added authentication logic 2021-11-16 20:44:10 -05:00
Louis Lam
74d2b38cb6 Merge pull request #925 from iomataani/italian-language-update
Translation update
2021-11-16 19:12:07 +08:00
Louis Lam
7bba4fe2d0 Merge pull request #926 from MG8853/patch-1
Update ja.js
2021-11-16 18:53:30 +08:00
MultiGamer8853
be3a791e6e Update ja.js
日本語を最適化
2021-11-16 18:14:23 +09:00
Ioma Taani
9747048890 correzioni e miglioramenti 2021-11-16 09:04:10 +01:00
Andreas Brett
6f2dcc6dd7 using provided tsc config 2021-11-15 18:07:18 +01:00
Andreas Brett
57bed4d672 Merge branch 'louislam:master' into logging 2021-11-15 18:04:45 +01:00
Andreas Brett
df36a4bb3c console.info for level "info" 2021-11-15 18:02:14 +01:00
Andreas Brett
e5913c5abc separate log functions 2021-11-15 17:52:28 +01:00
Phuong Nguyen Minh
d5d957b748 update vi.js (#853)
* update vi.js

* Update vi.js

* Update vi.js
2021-11-15 13:27:31 +08:00
Ioma Taani
5cdb5edeb3 corretto 2021-11-13 17:00:23 +01:00
Ioma Taani
73c18b6ff0 correzione 2021-11-13 16:53:07 +01:00
Ivan
567ea346fe Add missing translations for placeholders in EditMonitor page 2021-11-12 15:30:31 +01:00
Ivan
453f6fbadf Add more missing translations 2021-11-12 15:19:33 +01:00
Ivan
dd79042128 Add translation for "Info" in Settings 2021-11-12 15:14:28 +01:00
Ivan
583e6bf978 Update croatian language for testing new translation 2021-11-12 13:32:24 +01:00
Ivan
b1fca7c1a7 Add translation of toast success message 2021-11-12 12:00:10 +01:00
Ivan
19dd11d624 Add translation for incident error message 2021-11-12 10:14:23 +01:00
Ivan
42ce34b6c7 Add more Status page tranlations 2021-11-12 09:54:31 +01:00
Ivan
b7a9d1474f Fix translation of selected incident style 2021-11-12 09:53:41 +01:00
Ivan
31fa67452e Delint English language file 2021-11-12 09:31:27 +01:00
Ivan
9ef3727c91 Backed out of commit be1933614
Running update-language-files will just confuse translators
2021-11-12 09:29:06 +01:00
Ivan Bratović
ed39485af9 Merge with upstream master
Signed-off-by: Ivan Bratović <ivanbratovic4@gmail.com>
2021-11-12 09:23:20 +01:00
Ioma Taani
daef238a70 Updated Italian Language (#911)
Co-authored-by: Paride Barison <paride.barison@lantechlongwave.it>
2021-11-12 01:28:22 +08:00
Andreas Brett
d21f7971b5 missed settings 2021-11-11 12:56:53 +01:00
Andreas Brett
bdcdf47e52 introduce consistent logging 2021-11-11 12:31:28 +01:00
Ivan
4cc433166e Add missing translation for SMTP security option 2021-11-11 11:14:21 +01:00
Ivan
28f530394e Add missing translation lookup for ClickSendSMS 2021-11-11 11:12:48 +01:00
Ivan
b0615d347b Add incident creation translations 2021-11-11 11:07:48 +01:00
Ivan
be19336149 Run update-language-files for all languages 2021-11-11 10:57:33 +01:00
Ivan
94508cae2f Add some missing translations 2021-11-11 10:54:36 +01:00
Ivan
265cca9ed1 Replace "Default" notification badge with translation 2021-11-11 10:54:09 +01:00
Ivan
267654c987 Replace hard-coded names for groups in Status page with translations 2021-11-11 10:53:38 +01:00
Ivan
2c85491ee0 Replace body and header placeholder functions with translations 2021-11-11 10:52:22 +01:00
Ivan Bratović
5d836cf05d [empty commit] pull request for updating translatables 2021-11-10 10:09:21 +01:00
Adam Stachowicz
ba46fb6b1c Clickable URL 2021-11-10 09:11:19 +01:00
Calum Bird
f55350bebc Generated documentation :) 2021-11-09 21:24:31 -08:00
Tarun Singh
3721d11259 changed table column names for more specifity 2021-11-09 18:53:00 -05:00
Louis Lam
5df34cd137 Merge pull request #885 from ZegertBoele/patch-1
Update to dutch translations
2021-11-09 23:20:21 +08:00
Louis Lam
bf64095cea update to 1.10.2 2021-11-09 22:42:13 +08:00
Louis Lam
2333d1c7a7 Merge remote-tracking branch 'origin/master' 2021-11-09 22:37:20 +08:00
Louis Lam
95bae8289d Fix setting page when disabled auth 2021-11-09 22:37:05 +08:00
Louis Lam
45f7c647a6 Update feature_request.yaml 2021-11-09 21:31:04 +08:00
Zegert Boele
dff1056bb1 Update nl-NL.js
@deefdragon noticed a flaw, fixed in here
2021-11-09 09:52:09 +01:00
Zegert Boele
62222c0336 Update src/languages/nl-NL.js
@koen20 added this correction.

Co-authored-by: Koen Habets <6172623+koen20@users.noreply.github.com>
2021-11-09 09:49:42 +01:00
Louis Lam
733d0af75f update to 1.10.1 2021-11-08 18:03:00 +08:00
Louis Lam
b88e74fad8 Merge pull request #891 from ivanbratovic/croatian-language
Update Croatian languange
2021-11-08 17:35:13 +08:00
Ivan Bratović
734762b773 Merge with master
Signed-off-by: Ivan Bratović <ivanbratovic4@gmail.com>
2021-11-08 09:53:54 +01:00
Louis Lam
0275d7a42b minor 2021-11-08 15:51:32 +08:00
Louis Lam
41a6d1b701 Fix parseCertificateInfo possibly in dead loop 2021-11-08 15:39:17 +08:00
Ivan Bratović
34d8984e3a Merge branch 'master' into http-basicauth 2021-11-07 17:15:36 +01:00
Louis Lam
c92153c97e add more debug msg 2021-11-07 21:00:47 +08:00
Louis Lam
ad82ab0305 Merge pull request #883 from andreasbrett/patch-7
24h tooltip on status page
2021-11-07 17:24:03 +08:00
Louis Lam
f952d283c6 Merge pull request #815 from Fallstop/tags-on-status
Display Monitor Tags on Status Page
2021-11-07 17:05:21 +08:00
Louis Lam
e164fabf81 Merge pull request #849 from Minvinea/master
Adding missing translations
2021-11-07 13:56:15 +08:00
Louis Lam
bc69a331ee eslint 2021-11-07 13:50:22 +08:00
Jasper Miller-Waugh
e4506963d9 Merge branch 'louislam:master' into tags-on-status 2021-11-07 14:39:43 +13:00
Zegert Boele
222540898b Some translations were not translated
Some translations were not translated yet. I have added them and can be contacted if you want more English-Dutch translations.
2021-11-05 13:57:55 +01:00
Thomas LEVEIL
baf3612ece 🚸 Status page - add group action adds the new group at the top of the page 2021-11-05 11:27:19 +01:00
Andreas Brett
8f44b9f618 24h tooltip on status page 2021-11-05 09:54:10 +01:00
Louis Lam
210566c7af remove prefix for issue title, so users need to input the title 2021-11-05 11:34:50 +08:00
Tarun Singh
149015556b server url changes 2021-11-04 22:25:29 -04:00
Tarun Singh
2bcbeba384 update review suggestions
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-04 22:23:02 -04:00
Tarun Singh
d5d07da4ee update review suggestions
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-04 22:22:53 -04:00
Tarun Singh
2d802585ff Update review suggestions
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-04 22:21:54 -04:00
Ivan Bratović
0481a241f3 Add translated placeholders for editing basic auth 2021-11-04 10:22:42 +01:00
Ivan Bratović
179ca232bc Minor refactor - change variable names and add commas to object definitions 2021-11-04 10:14:17 +01:00
Ivan Bratović
0dcb7aed21 Delinting 2021-11-04 09:50:10 +01:00
Ivan Bratović
23736549f9 Implement HTTP basic auth feature 2021-11-04 09:50:10 +01:00
Ivan Bratović
665c263c03 Add db migrations for new basic auth fields 2021-11-04 09:50:10 +01:00
Louis Lam
c5e6628803 Merge pull request #870 from chakflying/patch-3
Update PULL_REQUEST_TEMPLATE.md
2021-11-04 11:55:06 +08:00
Louis Lam
3a1d8ddc11 Merge pull request #869 from MrEddX/bulgarian
Update bg-BG.js
2021-11-04 11:54:25 +08:00
Nelson Chan
bc5f61b3ec Chore: Add drag and drop
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-04 10:21:57 +08:00
Tarun Singh
6828e8ef6d Merge branch 'master' of https://github.com/tarun7singh/uptime-kuma 2021-11-03 21:47:44 -04:00
Tarun Singh
670754b697 added MQTT monitor type 2021-11-03 21:46:43 -04:00
Adam Stachowicz
314fa18bdc Fix #871 2021-11-04 00:19:04 +01:00
Nelson Chan
57389fab2c Update PULL_REQUEST_TEMPLATE.md 2021-11-03 19:13:11 +08:00
MrEddX
ee2c54cfd1 Update bg-BG.js
- Added New Fields
- Fixed Existing Fields
2021-11-03 11:49:22 +02:00
Louis Lam
82cde7c847 Merge pull request #854 from 634750802/patch-1
Add a status prefix for feishu notification's title
2021-11-03 16:36:21 +08:00
Louis Lam
1ba2034701 freeze bootstrap to 5.1.3 to prevent breaking changes 2021-11-03 13:03:36 +08:00
Louis Lam
dee131c25d fix table hover color not working after updated bootstrap to 5.1.3 2021-11-03 13:02:44 +08:00
Jasper Miller-Waugh
e5d6410caf Apply formatting suggestions from code review
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-03 11:46:53 +13:00
Louis Lam
e496c3b3be update healthcheck.js 2021-11-02 22:03:02 +08:00
Louis Lam
69f5112b38 Merge remote-tracking branch 'origin/master' 2021-11-02 21:49:02 +08:00
Louis Lam
c094dc0c5b speed up redirect by using 302 redirect instead of vue redirect 2021-11-02 21:48:46 +08:00
Ivan Bratović
1fb9b25d13 Improve hr-HR translations 2021-11-02 14:09:01 +01:00
Ivan Bratović
9a135deac2 Add new translation for 'Uptime' 2021-11-02 11:48:55 +01:00
Your Name
8e6173c05e Fix and add new hr-HR translations 2021-11-02 10:33:13 +01:00
Louis Lam
dec84282ed Update bug_report.yaml 2021-11-02 13:31:27 +08:00
Louis Lam
df80f413b5 Update feature_request.yaml 2021-11-02 13:31:19 +08:00
Louis Lam
17e59f1d8d Update ask-for-help.yaml 2021-11-02 13:30:39 +08:00
Louis Lam
973c2bb429 Update ask-for-help.yaml 2021-11-02 13:30:13 +08:00
Louis Lam
da0eaddeb8 Update SECURITY.md 2021-11-02 13:25:34 +08:00
Louis Lam
b2bc8d9db9 Update bug_report.yaml 2021-11-02 13:24:15 +08:00
Louis Lam
541068ff3b Update bug_report.yaml 2021-11-02 13:23:47 +08:00
Louis Lam
83ee46454a Update bug_report.yaml 2021-11-02 13:12:46 +08:00
Louis Lam
6d1baa329a draft for restructure status page 2021-11-02 12:26:22 +08:00
Louis Lam
75b21c905f Merge pull request #847 from Saibamen/update_pl
Update `pl.js`
2021-11-02 10:44:19 +08:00
Louis Lam
60e12f4bfa fix healthcheck.js with prefix UPTIME_KUMA_ 2021-11-02 01:13:05 +08:00
Jasper Miller-Waugh
191b81ee07 Fix grammer in comment
Co-authored-by: Nelson Chan <chakflying@hotmail.com>
2021-11-01 22:14:41 +13:00
Jagger
f3651a1219 Add a status prefix for feishu notification 2021-11-01 13:31:31 +08:00
Jasper Miller-Waugh
12ef9f39c5 Merged buttons, cleaned up SS tag retrieval and made tagsVisible a bool.
Also to note: due to the transition of tagsVisible this breaks compatibility with the previous commits, delete the  tagsVisible setting in the database to fix.
2021-11-01 13:23:46 +13:00
Jasper Miller-Waugh
4004926e64 Small formatting changes from code-review
Co-authored-by: deef <deef551@gmail.com>
2021-11-01 12:52:21 +13:00
Adam Stachowicz
4d3d6d6e25 Missing this... 2021-10-31 21:59:56 +01:00
Adam Stachowicz
d06e5ef6fa More small letters 2021-10-31 21:53:11 +01:00
Adam Stachowicz
b12b848d97 One more typo... 2021-10-31 21:48:43 +01:00
Adam Stachowicz
bb96a577ca Fix typos + translate wayToGetTeamsURL 2021-10-31 21:47:07 +01:00
Adam Stachowicz
8840ca618b Update pl.js 2021-10-31 21:22:19 +01:00
Minvinea
8ec858fd14 Add missing translation
Line 282 to 306
2021-10-31 21:18:36 +01:00
Louis Lam
124c98ce76 update to 1.10.0 2021-10-31 13:48:05 +08:00
Louis Lam
61135e8500 update package-lock.json 2021-10-31 13:18:06 +08:00
Louis Lam
08a58dec2b fix manifest.json path 2021-10-31 13:17:34 +08:00
Louis Lam
741ed548da Merge branch 'master' into use_hideCount_option 2021-10-31 13:09:50 +08:00
Louis Lam
52d80d3a5d Merge remote-tracking branch 'origin/master' 2021-10-31 13:08:00 +08:00
Louis Lam
586c748d44 vite build on host machine, since it is very slow on armv7/arm64 build 2021-10-31 13:07:10 +08:00
Louis Lam
b5d6e96b1d Merge pull request #842 from gaby/issue-form-updates
Update the wording used when reporting an Issue via Forms
2021-10-31 10:49:24 +08:00
Juan Calderon-Perez
68b74f07e4 Update wording of form field 2021-10-30 19:06:32 -04:00
Louis Lam
bc615c2dd8 Merge pull request #832 from ivanbratovic/croatian-language
Clarity and grammar fixes to hr-HR languange file
2021-10-31 00:52:41 +08:00
Louis Lam
e7104737e7 prevent to show "New Update" when the Docker image is not ready yet 2021-10-31 00:36:46 +08:00
Louis Lam
1dbf1c3dea fix logout 2021-10-30 23:33:20 +08:00
Jasper Miller-Waugh
74688e69aa Remove debug statement in server/routers/api-router.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-10-30 21:16:10 +13:00
Jasper Miller-Waugh
b32bfb3ff1 Added toggle for tag visibility 2021-10-30 21:16:10 +13:00
Jasper Miller-Waugh
24664cde2c Smarter CSS to fix Mobile alignment 2021-10-30 21:16:10 +13:00
Jasper Miller-Waugh
348c5ec995 Match lint settings 2021-10-30 21:16:10 +13:00
Jasper Miller-Waugh
9143b73f84 Styling for tags 2021-10-30 21:16:10 +13:00
Jasper Miller-Waugh
5e6d945095 Most hacked in POC 2021-10-30 21:16:10 +13:00
Louis
ba93129b18 Merge branch '1.9.X'
# Conflicts:
#	server/server.js
2021-10-30 10:05:08 +08:00
Willian Rodrigues Barbosa
036218f711 Add badges to favicon 2021-10-29 22:25:32 -03:00
Louis
cf548df15f update to 1.9.2 2021-10-30 02:36:40 +08:00
Louis
caa2a34177 fix 2fa not working #833 2021-10-30 02:35:05 +08:00
Adam Stachowicz
69aa60d1fb Add missing i18n key + translate 2 keys for polish 2021-10-29 17:01:29 +02:00
Ivan Bratović
eaecd6e571 Clarity and grammar fixes to hr_HR languange file 2021-10-29 16:53:55 +02:00
Adam Stachowicz
f2a27a2cf1 Use hideCount option for pagination 2021-10-29 13:37:38 +02:00
Louis
d4c9431142 catch createWriteStream error 2021-10-29 18:28:31 +08:00
Louis
d7f7dba13f write some error logs to ./data/error.log 2021-10-29 18:24:47 +08:00
Louis
3e5ae00d25 update dependencies 2021-10-29 18:04:58 +08:00
Louis Lam
5311bef3eb Merge pull request #809 from Saibamen/pagination_no_text
Don't display "count" text for pagination
2021-10-29 16:05:59 +08:00
Louis Lam
c400595f67 Merge pull request #825 from SiderealArt/patch-1
Add Traditional Chinese (Taiwan) translation
2021-10-29 16:05:01 +08:00
Louis Lam
e84f7dac60 Merge pull request #821 from ivanbratovic/croatian-language
Add Croatian language
2021-10-29 16:03:28 +08:00
SiderealArt
67a22399bc Update i18n.js 2021-10-29 15:44:33 +08:00
SiderealArt
947fc6001e Update Settings.vue 2021-10-29 15:43:21 +08:00
SiderealArt
c87e67ad1b Add Traditional Chinese (Taiwan) translation 2021-10-29 15:39:02 +08:00
Ivan Bratović
6f92774a8f ESLint pass on hr-HR.js file 2021-10-28 16:17:07 +02:00
Ivan Bratović
6e76ab7426 Import hr-HR language in i18n.js 2021-10-28 16:07:47 +02:00
Ivan Bratović
b2fbd7e263 Add confirmDisableAuth tranlation for hr-HR 2021-10-28 16:04:56 +02:00
Ivan Bratović
199e6ec82b Add initial version of Croatian language 2021-10-28 15:56:34 +02:00
Adam Stachowicz
18a99c2016 Revert deleting records and "One record" keys 2021-10-28 14:20:56 +02:00
Louis Lam
e261a27ebe fix wrong call of rejectUnauthorized for smtp (#757) 2021-10-28 11:10:09 +08:00
Louis Lam
de5cce9d90 Steam API Key to HiddenInput 2021-10-27 23:03:03 +08:00
Louis Lam
b85c9186f9 Merge pull request #781 from louislam/cert-notification
Certificate renewal notifications
2021-10-27 22:43:43 +08:00
Louis Lam
eb22ad5ffe [certificate notification] error handling and better msg 2021-10-27 16:12:18 +08:00
Louis Lam
f5f4835b74 [certificate notification] clear sent history if the cert is changed 2021-10-27 16:03:16 +08:00
Louis Lam
44c1b336dc send certificate notifications in 21, 14, 7 days 2021-10-27 15:33:15 +08:00
Louis Lam
110ec491ee Merge branch 'master' into cert-notification 2021-10-27 14:16:37 +08:00
Louis Lam
640b6e5b1c prevent monitor dead for unexpected error 2021-10-27 14:08:44 +08:00
Louis Lam
234fba3978 Update SECURITY.md 2021-10-27 12:31:18 +08:00
Louis Lam
1285ccb537 Merge pull request #784 from gaby/issue-forms
Migrate issue templates to Github Issue Forms
2021-10-27 12:29:44 +08:00
Juan Calderon-Perez
6c542edfc9 Add examples for version and image tag. 2021-10-27 00:23:13 -04:00
Juan Calderon-Perez
767807dd22 Added text placeholders for versions. 2021-10-27 00:18:05 -04:00
Juan Calderon-Perez
546402f3d2 Added docker-image-tag field. 2021-10-27 00:11:50 -04:00
Louis Lam
698a38e773 clear status page cache in a better place 2021-10-27 11:39:46 +08:00
Louis Lam
71884cf42a Merge pull request #772 from andreasbrett/patch-6
show logged in user on settings page
2021-10-27 10:24:45 +08:00
Louis Lam
d676c782bb Update README.md 2021-10-27 10:11:08 +08:00
Juan Calderon-Perez
dd773aa5a2 Updates based on PR comments. 2021-10-26 22:10:48 -04:00
Louis Lam
2852e59ffb Merge pull request #812 from MrEddX/bulgarian
Update bg-BG.js
2021-10-27 09:37:42 +08:00
MrEddX
cb3da50e7e Update bg-BG.js
Small fixes
2021-10-26 22:46:57 +03:00
Louis Lam
f25653d778 Update README.md 2021-10-27 00:07:17 +08:00
Adam Stachowicz
2e7ad1b7b2 Don't display "count" text for pagination 2021-10-26 18:03:49 +02:00
Louis Lam
e0e1ab6fa6 Update CONTRIBUTING.md 2021-10-27 00:02:20 +08:00
Louis Lam
8d984881c9 Update CONTRIBUTING.md 2021-10-26 23:56:14 +08:00
Louis Lam
955f9ae20a Merge pull request #794 from louislam/free-disk-space
Free Disk Space
2021-10-26 23:09:27 +08:00
Louis Lam
a9e319517a add auto vacuum and shrink database button 2021-10-26 23:02:32 +08:00
Louis Lam
39ad8b4bb7 Merge branch 'master' into free-disk-space 2021-10-26 21:18:22 +08:00
Andreas Brett
8fb8cbdaf3 use auth0/jwt-decode 2021-10-26 13:15:31 +02:00
Andreas Brett
3f3d8b4eb3 fixes 2021-10-26 12:58:04 +02:00
Louis Lam
9123e9461f Update CONTRIBUTING.md 2021-10-26 16:38:00 +08:00
Louis Lam
77addfebc8 Merge branch 'tarun7singh_master'
# Conflicts:
#	src/languages/vi.js
2021-10-26 16:26:59 +08:00
Louis Lam
16846c7c6d Merge pull request #790 from Saibamen/pl_update+fixes
PL update + fixes
2021-10-26 16:25:04 +08:00
Louis Lam
d1c4d13903 Merge pull request #782 from Co2333/dev-lakr233-bark_notification
Support for Bark (APN) notifications
2021-10-26 16:23:11 +08:00
Louis Lam
7cd4bfc11d Merge pull request #806 from Saibamen/patch-1
Update PULL_REQUEST_TEMPLATE.md
2021-10-26 15:58:14 +08:00
Adam Stachowicz
1d5c0502ab Add other 2021-10-26 09:48:17 +02:00
Adam Stachowicz
a1cda93ad5 Update PULL_REQUEST_TEMPLATE.md
See https://github.com/louislam/uptime-kuma/pull/785#issuecomment-950521657
2021-10-26 09:46:12 +02:00
Louis Lam
3bd420f0e0 Merge pull request #752 from chakflying/feat/chart-period
Feat: Add options for Chart period
2021-10-26 12:53:42 +08:00
Louis Lam
78424b4f2d add simple loading chart effect 2021-10-26 12:48:21 +08:00
Louis Lam
f8055ed03d minor css 2021-10-26 12:33:46 +08:00
Louis Lam
fe4724fc53 Merge branch 'master' into feat/chart-period 2021-10-26 12:25:07 +08:00
Louis Lam
7f0dda6a44 Update CONTRIBUTING.md 2021-10-26 11:28:38 +08:00
Lakr Aream
43791ee97e Merge branch 'master' into dev-lakr233-bark_notification 2021-10-26 09:08:11 +08:00
Tarun Singh
6362ef6a9c removed other langauge translation data 2021-10-25 18:30:40 -04:00
Adam Stachowicz
9d3a4e9d1e Remove dot from needPushEvery 2021-10-26 00:00:54 +02:00
Tarun Singh
6c60096f56 Merge branch 'louislam:master' into master 2021-10-25 04:12:39 -04:00
Tarun Singh
ba1e025353 added click send to number 2021-10-25 04:11:57 -04:00
Louis Lam
a41a081727 Merge remote-tracking branch 'origin/master' 2021-10-25 12:29:53 +08:00
Louis Lam
a5f15f2319 Fix #793, check dist-backup existing before delete 2021-10-25 12:29:40 +08:00
Louis Lam
e69799f613 Update CONTRIBUTING.md 2021-10-25 12:07:44 +08:00
Louis Lam
3c795bebe3 Update CONTRIBUTING.md 2021-10-25 12:06:49 +08:00
Louis Lam
3a43fec666 add recommend pull request guideline 2021-10-25 12:06:01 +08:00
Louis Lam
24c645e437 [empty commit] pull request for free-disk-space 2021-10-25 10:59:13 +08:00
Louis Lam
9d31da1fe8 Merge pull request #792 from gaby/stalebot-fix
Rename stale-bot to stale-bot.yml
2021-10-25 10:26:15 +08:00
Juan Calderon-Perez
2e4c42941a Rename stale-bot to stale-bot.yml 2021-10-24 21:31:10 -04:00
Andreas Brett
4fc2603818 Merge branch 'patch-6' of https://github.com/andreasbrett/uptime-kuma into patch-6 2021-10-25 01:34:06 +02:00
Andreas Brett
7bc38d4231 remove unused vars 2021-10-25 01:33:45 +02:00
Andreas Brett
daad63d70b Merge branch 'master' into patch-6 2021-10-25 01:24:31 +02:00
Andreas Brett
9ddd2c7365 use jwt 2021-10-25 01:23:02 +02:00
Adam Stachowicz
fa5ba12e14 Missing this 2021-10-24 22:15:02 +02:00
Adam Stachowicz
85053f865e Fix typo 2021-10-24 21:56:37 +02:00
Adam Stachowicz
1239f6d1a2 PL update + fixes 2021-10-24 21:50:02 +02:00
Tarun Singh
fed611d1b9 Merge branch 'master' of https://github.com/louislam/uptime-kuma 2021-10-24 15:19:25 -04:00
Tarun Singh
bc68088350 Click send sms integration for notifications 2021-10-24 15:17:29 -04:00
Louis Lam
90200958cd Merge pull request #780 from kry008/patch-4
Update pl.js
2021-10-25 00:35:31 +08:00
Louis Lam
aa13d74d7a Merge pull request #788 from Ponkhy/german-language
Updated german language file
2021-10-25 00:32:40 +08:00
Ponkhy
d82f305f6e Updated german language file 2021-10-24 17:56:05 +02:00
Louis Lam
7c63cbfd84 add node.js 17 to auto test 2021-10-24 22:50:33 +08:00
Juan Calderon-Perez
c7e1267779 More syntax changes. Change What to Which 2021-10-24 10:12:17 -04:00
Louis Lam
5d0b54c292 Merge pull request #785 from Saibamen/patch-1
Create PULL_REQUEST_TEMPLATE.md
2021-10-24 22:07:46 +08:00
Juan Calderon-Perez
b50b390048 Changes based on PR requests 2021-10-24 10:04:56 -04:00
Adam Stachowicz
65158cb06b Update PULL_REQUEST_TEMPLATE.md
Changes after Code Review
2021-10-24 12:21:59 +02:00
Adam Stachowicz
8fe5e4e605 Fix lint 2021-10-24 11:19:42 +02:00
Adam Stachowicz
ab5ddae2ee Delete double new line 2021-10-24 11:18:07 +02:00
Adam Stachowicz
89c64f4ea2 Create PULL_REQUEST_TEMPLATE.md
From https://github.com/Harsha200105/DesktopAssistant/pull/51
2021-10-24 11:16:29 +02:00
Juan Calderon-Perez
40a1ebecc5 Update feature_request.yaml 2021-10-24 00:51:47 -04:00
Juan Calderon-Perez
e1793596fe Merge pull request #1 from gaby/issue-forms 2021-10-24 00:49:18 -04:00
Juan Calderon-Perez
c489058a57 Update labels for each form 2021-10-24 00:46:10 -04:00
Juan Calderon-Perez
95342ec006 Update label for ask for help 2021-10-24 00:41:51 -04:00
Juan Calderon-Perez
bdebbf8e40 Add Support for Issue Forms 2021-10-24 00:40:06 -04:00
Juan Calderon-Perez
9a9fca67d5 Migrate Bug Report to Github Issue Forms 2021-10-23 22:58:35 -04:00
Nelson Chan
665bae0806 UI: Simplify dropdown design 2021-10-24 01:45:57 +08:00
Nelson Chan
e4be28a9e7 Fix: Validate beat time before appending 2021-10-24 01:45:38 +08:00
Nelson Chan
445674aacb Chore: Improve code formatting & comments 2021-10-24 01:45:10 +08:00
Nelson Chan
2f7b60f5e5 Feat: Use separate storage for custom chart period
Fix: Fix import error
2021-10-24 01:44:55 +08:00
Nelson Chan
b83c59e308 WIP: Add options for chart period
Fix: Fix callback, add toast on error

Fix: Improve styling

Fix: Restore default chart behavior

Fix: Replace 1h with 3h

draft only
2021-10-24 01:44:08 +08:00
Lakr Aream
ce852dfa02 Support for Bark (APN) notifications
Update bark.js
2021-10-24 00:31:43 +08:00
Louis Lam
c9549c0de2 change body and header placeholders, less misleading. 2021-10-23 22:14:05 +08:00
Louis Lam
957c292307 add certificate-notification job 2021-10-23 21:44:21 +08:00
kry008
b5eb17ed93 Update pl.js 2021-10-23 15:07:24 +02:00
Louis Lam
d578300104 Merge pull request #743 from andreasbrett/patch-4
Harden 2FA/TOTP implementation according to rfc6238 (part 2)
2021-10-23 17:00:46 +08:00
Louis Lam
b77b33e790 add login rate limiter 2021-10-23 16:35:13 +08:00
Andreas Brett
4becb97a5d Update en.js 2021-10-23 01:54:36 +02:00
Andreas Brett
85e2b36424 Update en.js 2021-10-23 01:54:07 +02:00
Andreas Brett
abdf1ae90a Update en.js 2021-10-23 01:53:31 +02:00
Andreas Brett
606c967985 Merge branch 'master' into patch-6 2021-10-23 01:52:54 +02:00
Andreas Brett
93c231b4d9 Update server/server.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-10-23 01:52:02 +02:00
Andreas Brett
9ad8e5f56a show logged in user 2021-10-22 13:05:52 +02:00
Louis Lam
8a481a1be0 Merge pull request #769 from andreasbrett/patch-5
show beat.msg only if available
2021-10-22 18:14:52 +08:00
Andreas Brett
657987a013 fix: show beat.msg only if available 2021-10-22 11:59:53 +02:00
Louis Lam
d74577608b Merge pull request #766 from DX37/translation-ru
Update notifications area in ru-RU.js
2021-10-22 14:10:15 +08:00
Louis Lam
20a399c557 Merge pull request #767 from mrphuongbn/master
Add Vietnamese language
2021-10-22 14:04:32 +08:00
Phuong Nguyen Minh
060dde9827 Merge branch 'louislam:master' into master 2021-10-22 08:08:22 +07:00
DX37
1d1601cf24 Update notifications area in ru-RU.js 2021-10-21 22:49:17 +07:00
Louis Lam
ff5f2e8dfb add limiter 2021-10-21 23:03:40 +08:00
Louis Lam
5451fb7672 Merge remote-tracking branch 'origin/master' 2021-10-21 22:54:21 +08:00
Louis Lam
56094a43d7 add passwordStrength 2021-10-21 22:54:04 +08:00
Louis Lam
68bbe8944a Merge pull request #756 from DX37/translation-ru
Update ru-RU.js
2021-10-21 10:56:54 +08:00
Louis Lam
8f1da6aa22 Update CONTRIBUTING.md 2021-10-21 00:08:46 +08:00
Louis Lam
c0d6fe0d76 Update CONTRIBUTING.md 2021-10-21 00:03:55 +08:00
DX37
29e4e41215 Update ru-RU.js 2021-10-20 23:00:29 +07:00
Louis Lam
7a1bb964e9 Update bug_report.md 2021-10-20 18:09:23 +08:00
Louis Lam
3fe0e9bf1e Update ask-for-help.md 2021-10-20 18:09:10 +08:00
Louis Lam
9982887783 Update feature_request.md 2021-10-20 18:08:52 +08:00
Louis Lam
c31efc0ef4 Merge pull request #748 from MrEddX/bulgarian
Fix: Integration Link Text
2021-10-20 14:37:45 +08:00
MrEddX
6463d4b209 Fix: Integration Link Text
Maybe left there from the Slack template.
2021-10-20 09:09:08 +03:00
Louis Lam
acada8028a Merge pull request #747 from MrEddX/bulgarian
Update bg-BG.js
2021-10-20 11:58:12 +08:00
MrEddX
d0b0c64b81 Update bg-BG.js
- Fixed existing fields
- Added new fields
- Translated new fields
2021-10-19 23:03:46 +03:00
Louis Lam
cd04ac4557 "dist/index.html" is no longer needed for development environment 2021-10-20 01:32:19 +08:00
Louis Lam
d7d2f7b7fc Merge pull request #745 from dpatrongomez/patch-2
Add steam translation in spanish
2021-10-20 00:46:55 +08:00
Daniel Patrón Gómez
5a05d135b8 Add steam translation in spanish 2021-10-19 17:11:32 +02:00
Louis Lam
e03ee593e2 Merge pull request #716 from NeuralMiner/textchanges
Text update
2021-10-19 16:34:00 +08:00
Louis Lam
6c1ee70e15 fix 2021-10-19 16:29:09 +08:00
Louis Lam
5c3892313e add env var: UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN 2021-10-19 14:41:05 +08:00
Louis Lam
c57c94642c Merge remote-tracking branch 'origin/master' 2021-10-19 14:26:26 +08:00
Louis Lam
62f168a2a5 config response header 2021-10-19 14:26:10 +08:00
Louis Lam
c808f78f09 Merge pull request #735 from gaby/stale-bot
Support for closing stale Issues/PRs after 6 months of inactivity
2021-10-19 11:59:37 +08:00
Louis Lam
9c80e1c732 Merge pull request #641 from andreasbrett/patch-1
Harden 2FA/TOTP implementation according to rfc6238 (part 1)
2021-10-19 10:17:04 +08:00
Andreas Brett
acc2995d86 invalidate used token 2021-10-19 00:42:33 +02:00
Andreas Brett
7def9dcec7 Merge branch 'louislam:master' into patch-1 2021-10-19 00:37:15 +02:00
NeuralMiner
a35569481d Updates 2021-10-18 15:26:38 -06:00
NeuralMiner
9ddffc0f7f Updates 2021-10-18 14:35:47 -06:00
NeuralMiner
76e7c8b276 Rebase 2021-10-18 14:35:36 -06:00
NeuralMiner
572a5300aa Recommended updates. 2021-10-18 13:25:53 -06:00
NeuralMiner
e1f1d4a959 Merge branch 'louislam:master' into textchanges 2021-10-18 12:57:28 -06:00
Louis Lam
c6fc385289 update to 1.9.1 2021-10-19 00:20:27 +08:00
Louis Lam
c645658161 Merge remote-tracking branch 'origin/master' 2021-10-19 00:19:41 +08:00
Louis Lam
182597944d fix #721 2021-10-19 00:19:26 +08:00
Louis Lam
8eaa8116c3 update email 2021-10-18 23:55:00 +08:00
Louis Lam
3512faad14 move kubernetes folder to the k8s-unofficial branch 2021-10-18 23:38:29 +08:00
Louis Lam
f11417e854 [upload artifacts] no idea why suddenly not working via env var, hardcode the VERSION instead 2021-10-18 20:43:17 +08:00
Juan Calderon-Perez
b5857f7c0c Fix syntax issue. 2021-10-18 08:23:18 -04:00
Juan Calderon-Perez
6277babf25 Migrate to actions/stale v4.0 2021-10-18 08:22:08 -04:00
Louis Lam
5f36d2acda fix upload artifacts 2021-10-18 20:02:50 +08:00
Louis Lam
300a95d779 recompile util.js with tsconfig.json 2021-10-18 17:51:40 +08:00
Louis Lam
23714ab688 genSecret don't need await 2021-10-18 17:37:11 +08:00
Louis Lam
16b44001e7 Merge remote-tracking branch 'andreasbrett/patch-1' into andreasbrett_patch-1
# Conflicts:
#	src/util.js
2021-10-18 17:35:17 +08:00
Louis Lam
f2f8f33b86 Merge branch 'master' into andreasbrett_patch-1
# Conflicts:
#	src/util.js
2021-10-18 17:30:21 +08:00
Andreas Brett
df4682d19b Merge branch 'master' into patch-1 2021-10-18 01:14:58 +02:00
Andreas Brett
11a1f35cc5 independent csprng solution 2021-10-18 01:06:20 +02:00
Juan Calderon-Perez
2a3ce15328 Use default number of operations per day. Defaults to 30 2021-10-17 17:23:44 -04:00
Juan Calderon-Perez
7cb25255bf Update stale-bot 2021-10-17 17:20:32 -04:00
Juan Calderon-Perez
c622f7958f Add support for closing stale Issues/PR 2021-10-17 17:16:07 -04:00
NeuralMiner
8cb26d2b31 Text update 2021-10-15 19:12:09 -06:00
Phuong Nguyen Minh
bda481c61e Update vi.js 2021-10-15 08:26:33 +07:00
Andreas Brett
86dcc9bc8f import webcrypto lib 2021-10-13 17:34:56 +02:00
Louis Lam
145b722aec Merge branch 'master' into andreasbrett_patch-1 2021-10-13 22:17:33 +08:00
Louis Lam
79c81395bc Merge branch 'master' into andreasbrett_patch-1 2021-10-13 22:02:27 +08:00
Phuong Nguyen Minh
89c0f8b734 Update i18n.js 2021-10-13 13:44:31 +07:00
Phuong Nguyen Minh
dc805cff97 Add files via upload 2021-10-13 13:36:09 +07:00
Andreas Brett
dc1de50a02 fix for max-inclusive 2021-10-11 01:18:33 +02:00
Andreas Brett
0e6d7694ce Update util.js 2021-10-10 23:54:45 +02:00
Andreas Brett
11bcd1e2ed const 2021-10-10 22:55:32 +02:00
Andreas Brett
06310423f4 typo 2021-10-10 22:19:10 +02:00
Andreas Brett
e127e168b6 typed parameters 2021-10-10 22:15:42 +02:00
Andreas Brett
075535ba46 Update util.ts 2021-10-10 21:59:23 +02:00
Andreas Brett
13cf6891ac cryptographically strong secret generation
generate TOTP secret using WebCrypto API (see https://github.com/louislam/uptime-kuma/issues/640)
2021-10-10 21:58:23 +02:00
302 changed files with 38238 additions and 10944 deletions

View File

@@ -1,7 +1,7 @@
/.idea
/dist
/node_modules
/data
/cypress
/out
/test
/kubernetes
@@ -29,6 +29,8 @@ SECURITY.md
tsconfig.json
.env
/tmp
/babel.config.js
/ecosystem.config.js
### .gitignore content (commented rules are duplicated)
@@ -43,4 +45,6 @@ dist-ssr
#!/data/.gitkeep
#.vscode
### End of .gitignore content

View File

@@ -1,4 +1,9 @@
module.exports = {
ignorePatterns: [
"test/*",
"server/modules/apicache/*",
"src/util.js"
],
root: true,
env: {
browser: true,
@@ -17,39 +22,48 @@ module.exports = {
requireConfigFile: false,
},
rules: {
"linebreak-style": ["error", "unix"],
"camelcase": ["warn", {
"yoda": "error",
eqeqeq: [ "warn", "smart" ],
"linebreak-style": [ "error", "unix" ],
"camelcase": [ "warn", {
"properties": "never",
"ignoreImports": true
}],
// override/add rules settings here, such as:
// 'vue/no-unused-vars': 'error'
"no-unused-vars": "warn",
"no-unused-vars": [ "warn", {
"args": "none"
}],
indent: [
"error",
4,
{
ignoredNodes: ["TemplateLiteral"],
ignoredNodes: [ "TemplateLiteral" ],
SwitchCase: 1,
},
],
quotes: ["warn", "double"],
semi: "warn",
"vue/html-indent": ["warn", 4], // default: 2
quotes: [ "error", "double" ],
semi: "error",
"vue/html-indent": [ "error", 4 ], // default: 2
"vue/max-attributes-per-line": "off",
"vue/singleline-html-element-content-newline": "off",
"vue/html-self-closing": "off",
"vue/require-component-is": "off", // not allow is="style" https://github.com/vuejs/eslint-plugin-vue/issues/462#issuecomment-430234675
"vue/attribute-hyphenation": "off", // This change noNL to "no-n-l" unexpectedly
"no-multi-spaces": ["error", {
"vue/multi-word-component-names": "off",
"no-multi-spaces": [ "error", {
ignoreEOLComments: true,
}],
"space-before-function-paren": ["error", {
"array-bracket-spacing": [ "warn", "always", {
"singleValue": true,
"objectsInArrays": false,
"arraysInArrays": false
}],
"space-before-function-paren": [ "error", {
"anonymous": "always",
"named": "never",
"asyncArrow": "always"
}],
"curly": "error",
"object-curly-spacing": ["error", "always"],
"object-curly-spacing": [ "error", "always" ],
"object-curly-newline": "off",
"object-property-newline": "error",
"comma-spacing": "error",
@@ -59,37 +73,37 @@ module.exports = {
"keyword-spacing": "warn",
"space-infix-ops": "warn",
"arrow-spacing": "warn",
"no-trailing-spaces": "warn",
"no-constant-condition": ["error", {
"no-trailing-spaces": "error",
"no-constant-condition": [ "error", {
"checkLoops": false,
}],
"space-before-blocks": "warn",
//'no-console': 'warn',
"no-extra-boolean-cast": "off",
"no-multiple-empty-lines": ["warn", {
"no-multiple-empty-lines": [ "warn", {
"max": 1,
"maxBOF": 0,
}],
"lines-between-class-members": ["warn", "always", {
"lines-between-class-members": [ "warn", "always", {
exceptAfterSingleLine: true,
}],
"no-unneeded-ternary": "error",
"array-bracket-newline": ["error", "consistent"],
"eol-last": ["error", "always"],
"array-bracket-newline": [ "error", "consistent" ],
"eol-last": [ "error", "always" ],
//'prefer-template': 'error',
"comma-dangle": ["warn", "only-multiline"],
"no-empty": ["error", {
"comma-dangle": [ "warn", "only-multiline" ],
"no-empty": [ "error", {
"allowEmptyCatch": true
}],
"no-control-regex": "off",
"one-var": ["error", "never"],
"max-statements-per-line": ["error", { "max": 1 }]
"one-var": [ "error", "never" ],
"max-statements-per-line": [ "error", { "max": 1 }]
},
"overrides": [
{
"files": [ "src/languages/*.js", "src/icon.js" ],
"rules": {
"comma-dangle": ["error", "always-multiline"],
"comma-dangle": [ "error", "always-multiline" ],
}
},

View File

@@ -1,21 +0,0 @@
---
name: Ask for help
about: You can ask any question related to Uptime Kuma.
title: ''
labels: help
assignees: ''
---
**Is it a duplicate question?**
Please search in Issues without filters: https://github.com/louislam/uptime-kuma/issues?q=
**Describe your problem**
Please describe what you are asking for
**Info**
Uptime Kuma Version:
Using Docker?: Yes/No
Docker Version:
Node.js Version (Without Docker only):
OS:
Browser:

View File

@@ -0,0 +1,68 @@
name: "❓ Ask for help"
description: "Submit any question related to Uptime Kuma"
#title: "[Help] "
labels: [help]
body:
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "⚠️ Please verify that this bug has NOT been raised before."
description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
attributes:
label: "🛡️ Security Policy"
description: Please review the security policy before reporting security related issues/bugs.
options:
- label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy)
required: true
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: "📝 Describe your problem"
description: "Please walk us through it step by step."
placeholder: "Describe what are you asking for..."
- type: input
id: uptime-kuma-version
attributes:
label: "🐻 Uptime-Kuma Version"
description: "Which version of Uptime-Kuma are you running? Please do NOT provide the docker tag such as latest or 1"
placeholder: "Ex. 1.10.0"
validations:
required: true
- type: input
id: operating-system
attributes:
label: "💻 Operating System and Arch"
description: "Which OS is your server/device running on?"
placeholder: "Ex. Ubuntu 20.04 x86"
validations:
required: true
- type: input
id: browser-vendor
attributes:
label: "🌐 Browser"
description: "Which browser are you running on?"
placeholder: "Ex. Google Chrome 95.0.4638.69"
validations:
required: true
- type: input
id: docker-version
attributes:
label: "🐋 Docker Version"
description: "If running with Docker, which version are you running?"
placeholder: "Ex. Docker 20.10.9 / K8S / Podman"
validations:
required: false
- type: input
id: nodejs-version
attributes:
label: "🟩 NodeJS Version"
description: "If running with Node.js? which version are you running?"
placeholder: "Ex. 14.18.0"
validations:
required: false

View File

@@ -1,42 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Is it a duplicate question?**
Please search in Issues without filters: https://github.com/louislam/uptime-kuma/issues?q=
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Info**
Uptime Kuma Version:
Using Docker?: Yes/No
Docker Version:
Node.js Version (Without Docker only):
OS:
Browser:
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Error Log**
It is easier for us to find out the problem.
Docker: `docker logs <container id>`
PM2: `~/.pm2/logs/` (e.g. `/home/ubuntu/.pm2/logs`)

99
.github/ISSUE_TEMPLATE/bug_report.yaml vendored Normal file
View File

@@ -0,0 +1,99 @@
name: "🐛 Bug Report"
description: "Submit a bug report to help us improve"
#title: "[Bug] "
labels: [bug]
body:
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "⚠️ Please verify that this bug has NOT been raised before."
description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
attributes:
label: "🛡️ Security Policy"
description: Please review the security policy before reporting security related issues/bugs.
options:
- label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy)
required: true
- type: textarea
id: description
validations:
required: false
attributes:
label: "Description"
description: "You could also upload screenshots"
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: "👟 Reproduction steps"
description: "How do you trigger this bug? Please walk us through it step by step."
placeholder: "..."
- type: textarea
id: expected-behavior
validations:
required: true
attributes:
label: "👀 Expected behavior"
description: "What did you think would happen?"
placeholder: "..."
- type: textarea
id: actual-behavior
validations:
required: true
attributes:
label: "😓 Actual Behavior"
description: "What actually happen?"
placeholder: "..."
- type: input
id: uptime-kuma-version
attributes:
label: "🐻 Uptime-Kuma Version"
description: "Which version of Uptime-Kuma are you running? Please do NOT provide the docker tag such as latest or 1"
placeholder: "Ex. 1.10.0"
validations:
required: true
- type: input
id: operating-system
attributes:
label: "💻 Operating System and Arch"
description: "Which OS is your server/device running on?"
placeholder: "Ex. Ubuntu 20.04 x86"
validations:
required: true
- type: input
id: browser-vendor
attributes:
label: "🌐 Browser"
description: "Which browser are you running on?"
placeholder: "Ex. Google Chrome 95.0.4638.69"
validations:
required: true
- type: input
id: docker-version
attributes:
label: "🐋 Docker Version"
description: "If running with Docker, which version are you running?"
placeholder: "Ex. Docker 20.10.9 / K8S / Podman"
validations:
required: false
- type: input
id: nodejs-version
attributes:
label: "🟩 NodeJS Version"
description: "If running with Node.js? which version are you running?"
placeholder: "Ex. 14.18.0"
validations:
required: false
- type: textarea
id: logs
attributes:
label: "📝 Relevant log output"
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
validations:
required: false

View File

@@ -1,22 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is it a duplicate question?**
Please search in Issues without filters: https://github.com/louislam/uptime-kuma/issues?q=
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,59 @@
name: 🚀 Feature Request
description: "Submit a proposal for a new feature"
#title: "[Feature] "
labels: [feature-request]
body:
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "⚠️ Please verify that this feature request has NOT been suggested before."
description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
options:
- label: "I checked and didn't find similar feature request"
required: true
- type: dropdown
id: feature-area
attributes:
label: "🏷️ Feature Request Type"
description: "What kind of feature request is this?"
multiple: true
options:
- API
- New Notification
- New Monitor
- UI Feature
- Other
validations:
required: true
- type: textarea
id: feature-description
validations:
required: true
attributes:
label: "🔖 Feature description"
description: "A clear and concise description of what the feature request is."
placeholder: "You should add ..."
- type: textarea
id: solution
validations:
required: true
attributes:
label: "✔️ Solution"
description: "A clear and concise description of what you want to happen."
placeholder: "In my use-case, ..."
- type: textarea
id: alternatives
validations:
required: false
attributes:
label: "❓ Alternatives"
description: "A clear and concise description of any alternative solutions or features you've considered."
placeholder: "I have considered ..."
- type: textarea
id: additional-context
validations:
required: false
attributes:
label: "📝 Additional Context"
description: "Add any other context or screenshots about the feature request here."
placeholder: "..."

35
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,35 @@
⚠️⚠️⚠️ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand [x]:
- [ ] I have read and understand the pull request rules.
# Description
Fixes #(issue)
## Type of change
Please delete any options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- User interface (UI)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Translation update
- Other
- This change requires a documentation update
## Checklist
- [ ] My code follows the style guidelines of this project
- [ ] I ran ESLint and other linters for modified files
- [ ] I have performed a self-review of my own code and tested it
- [ ] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
- [ ] My changes generate no new warnings
- [ ] My code needed automated testing. I have added them (this is optional task)
## Screenshots (if any)
Please do not use any external image service. Instead, just paste in or drag and drop the image here, and it will be uploaded automatically.

View File

@@ -11,25 +11,58 @@ on:
jobs:
auto-test:
needs: [ check-linters ]
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
node-version: [14.x, 16.x]
node: [ 14, 16, 17, 18 ]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- run: git config --global core.autocrlf false # Mainly for Windows
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
node-version: ${{ matrix.node }}
cache: 'npm'
- run: npm run install-legacy
- run: npm install
- run: npm run build
- run: npm test
env:
HEADLESS_TEST: 1
JUST_FOR_TEST: ${{ secrets.JUST_FOR_TEST }}
check-linters:
runs-on: ubuntu-latest
steps:
- run: git config --global core.autocrlf false # Mainly for Windows
- uses: actions/checkout@v3
- name: Use Node.js 14
uses: actions/setup-node@v3
with:
node-version: 14
cache: 'npm'
- run: npm install
- run: npm run lint
e2e-tests:
needs: [ check-linters ]
runs-on: ubuntu-latest
steps:
- run: git config --global core.autocrlf false # Mainly for Windows
- uses: actions/checkout@v3
- name: Use Node.js 14
uses: actions/setup-node@v3
with:
node-version: 14
cache: 'npm'
- run: npm install
- run: npm run build
- run: npm run cy:test

View File

@@ -0,0 +1,26 @@
name: Close Incorrect Issue
on:
issues:
types: [opened]
jobs:
close-incorrect-issue:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [16.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: node extra/close-incorrect-issue.js ${{ secrets.GITHUB_TOKEN }} ${{ github.event.issue.number }} ${{ github.event.issue.user.login }}

24
.github/workflows/stale-bot.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: 'Automatically close stale issues and PRs'
on:
workflow_dispatch:
schedule:
- cron: '0 */6 * * *'
#Run every 6 hours
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
with:
stale-issue-message: 'We are clearing up our old issues and your ticket has been open for 3 months with no activity. Remove stale label or comment or this will be closed in 2 days.'
stale-pr-message: 'We are clearing up our old Pull Requests and yours has been open for 3 months with no activity. Remove stale label or comment or this will be closed in 2 days.'
close-issue-message: 'This issue was closed because it has been stalled for 2 days with no activity.'
close-pr-message: 'This PR was closed because it has been stalled for 2 days with no activity.'
days-before-stale: 90
days-before-close: 2
exempt-issue-labels: 'News,Medium,High,discussion,bug,doc,feature-request'
exempt-pr-labels: 'awaiting-approval,work-in-progress,enhancement,feature-request'
exempt-issue-assignees: 'louislam'
exempt-pr-assignees: 'louislam'
operations-per-run: 200

3
.gitignore vendored
View File

@@ -13,3 +13,6 @@ dist-ssr
/out
/tmp
.env
cypress/videos
cypress/screenshots

1
.npmrc Normal file
View File

@@ -0,0 +1 @@
legacy-peer-deps=true

View File

@@ -1,9 +1,14 @@
{
"extends": "stylelint-config-standard",
"customSyntax": "postcss-html",
"rules": {
"indentation": 4,
"no-descending-specificity": null,
"selector-list-comma-newline-after": null,
"declaration-empty-line-before": null
"declaration-empty-line-before": null,
"alpha-value-notation": "number",
"color-function-notation": "legacy",
"shorthand-property-no-redundant-values": null,
"color-hex-length": null,
}
}

View File

@@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
louis@uptimekuma.louislam.net.
uptime@kuma.pet.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the

View File

@@ -1,8 +1,8 @@
# Project Info
First of all, thank you everyone who made pull requests for Uptime Kuma, I never thought GitHub Community can be that nice! And also because of this, I also never thought other people actually read my code and edit my code. It is not structed and commented so well, lol. Sorry about that.
First of all, thank you everyone who made pull requests for Uptime Kuma, I never thought GitHub Community can be that nice! And also because of this, I also never thought other people actually read my code and edit my code. It is not structured and commented so well, lol. Sorry about that.
The project was created with vite.js (vue3). Then I created a sub-directory called "server" for server part. Both frontend and backend share the same package.json.
The project was created with vite.js (vue3). Then I created a subdirectory called "server" for server part. Both frontend and backend share the same package.json.
The frontend code build into "dist" directory. The server (express.js) exposes the "dist" directory as root of the endpoint. This is how production is working.
@@ -27,37 +27,48 @@ The frontend code build into "dist" directory. The server (express.js) exposes t
## Can I create a pull request for Uptime Kuma?
Generally, if the pull request is working fine and it do not affect any existing logic, workflow and perfomance, I will merge into the master branch once it is tested.
Yes or no, it depends on what you will try to do. Since I don't want to waste your time, be sure to **create an empty draft pull request or open an issue, so we can discuss first**. Especially for a large pull request or you don't know it will be merged or not.
If you are not sure, feel free to create an empty pull request draft first.
Here are some references:
### Pull Request Examples
#### ✅ High - Medium Priority
- Add a new notification
- Add a chart
- Fix a bug
✅ Usually Accept:
- Bug/Security fix
- Translations
- Adding notification providers
#### *️⃣ Requires one more reviewer
I do not have such knowledge to test it.
- Add k8s supports
#### *️⃣ Low Priority
It changed my current workflow and require further studies.
- Change my release approach
#### ❌ Won't Merge
⚠️ Discussion First
- Large pull requests
- New features
❌ Won't Merge
- Do not pass auto test
- Any breaking changes
- Duplicated pull request
- Buggy
- Existing logic is completely modified or deleted
- UI/UX is not close to Uptime Kuma
- Existing logic is completely modified or deleted for no reason
- A function that is completely out of scope
- Unnecessary large code changes (Hard to review, causes code conflicts to other pull requests)
I will mark your pull request in the [milestones](https://github.com/louislam/uptime-kuma/milestones), if I am plan to review and merge it.
Also, please don't rush or ask for ETA, because I have to understand the pull request, make sure it is no breaking changes and stick to my vision of this project, especially for large pull requests.
### Recommended Pull Request Guideline
Before deep into coding, discussion first is preferred. Creating an empty pull request for discussion would be recommended.
1. Fork the project
1. Clone your fork repo to local
1. Create a new branch
1. Create an empty commit
`git commit -m "[empty commit] pull request for <YOUR TASK NAME>" --allow-empty`
1. Push to your fork repo
1. Create a pull request: https://github.com/louislam/uptime-kuma/compare
1. Write a proper description
1. Click "Change to draft"
1. Discussion
## Project Styles
@@ -65,27 +76,30 @@ I personally do not like something need to learn so much and need to config so m
- Easy to install for non-Docker users, no native build dependency is needed (at least for x86_64), no extra config, no extra effort to get it run
- Single container for Docker users, no very complex docker-compose file. Just map the volume and expose the port, then good to go
- Settings should be configurable in the frontend. Env var is not encouraged.
- Settings should be configurable in the frontend. Environment variable is not encouraged, unless it is related to startup such as `DATA_DIR`.
- Easy to use
- The web UI styling should be consistent and nice.
## Coding Styles
- 4 spaces indentation
- Follow `.editorconfig`
- Follow ESLint
- Methods and functions should be documented with JSDoc
## Name convention
- Javascript/Typescript: camelCaseType
- SQLite: underscore_type
- CSS/SCSS: dash-type
- SQLite: snake_case (Underscore)
- CSS/SCSS: kebab-case (Dash)
## Tools
- Node.js >= 14
- NPM >= 8.5
- Git
- IDE that supports ESLint and EditorConfig (I am using Intellji Idea)
- A SQLite tool (SQLite Expert Personal is suggested)
- IDE that supports ESLint and EditorConfig (I am using IntelliJ IDEA)
- A SQLite GUI tool (SQLite Expert Personal is suggested)
## Install dependencies
@@ -93,39 +107,45 @@ I personally do not like something need to learn so much and need to config so m
npm ci
```
## How to start the Backend Dev Server
## Dev Server
(2021-09-23 Update)
(2022-04-26 Update)
We can start the frontend dev server and the backend dev server in one command.
Port `3000` and port `3001` will be used.
```bash
npm run start-server-dev
npm run dev
```
## Backend Server
It binds to `0.0.0.0:3001` by default.
### Backend Details
It is mainly a socket.io app + express.js.
express.js is just used for serving the frontend built files (index.html, .js and .css etc.)
express.js is used for:
- entry point such as redirecting to a status page or the dashboard
- serving the frontend built files (index.html, .js and .css etc.)
- serving internal APIs of status page
### Structure in /server/
- model/ (Object model, auto mapping to the database table name)
- modules/ (Modified 3rd-party modules)
- notification-providers/ (indivdual notification logic)
- notification-providers/ (individual notification logic)
- routers/ (Express Routers)
- scoket-handler (Socket.io Handlers)
- server.js (Server main logic)
- socket-handler (Socket.io Handlers)
- server.js (Server entry point and main logic)
## How to start the Frontend Dev Server
## Frontend Dev Server
1. Set the env var `NODE_ENV` to "development".
2. Start the frontend dev server by the following command.
It binds to `0.0.0.0:3000` by default. Frontend dev server is used for development only.
```bash
npm run dev
```
It binds to `0.0.0.0:3000` by default.
For production, it is not used. It will be compiled to `dist` directory instead.
You can use Vue.js devtools Chrome extension for debugging.
@@ -161,7 +181,18 @@ npm test
By default, the Chromium window will be shown up during the test. Specifying `HEADLESS_TEST=1` for terminal environments.
## Update Dependencies
## Dependencies
Both frontend and backend share the same package.json. However, the frontend dependencies are eventually not used in the production environment, because it is usually also baked into dist files. So:
- Frontend dependencies = "devDependencies"
- Examples: vue, chart.js
- Backend dependencies = "dependencies"
- Examples: socket.io, sqlite3
- Development dependencies = "devDependencies"
- Examples: eslint, sass
### Update Dependencies
Install `ncu`
https://github.com/raineorshine/npm-check-updates
@@ -171,10 +202,64 @@ ncu -u -t patch
npm install
```
Since previously updating vite 2.5.10 to 2.6.0 broke the application completely, from now on, it should update patch release version only.
Since previously updating Vite 2.5.10 to 2.6.0 broke the application completely, from now on, it should update patch release version only.
Patch release = the third digit ([Semantic Versioning](https://semver.org/))
## Translations
Please read: https://github.com/louislam/uptime-kuma/tree/master/src/languages
## Wiki
Since there is no way to make a pull request to wiki's repo, I have set up another repo to do that.
https://github.com/louislam/uptime-kuma-wiki
## Maintainer
Check the latest issues and pull requests:
https://github.com/louislam/uptime-kuma/issues?q=sort%3Aupdated-desc
### Release Procedures
1. Draft a release note
2. Make sure the repo is cleared
3. `npm run release-final with env vars: `VERSION` and `GITHUB_TOKEN`
4. Wait until the `Press any key to continue`
5. `git push`
6. Publish the release note as 1.X.X
7. Press any key to continue
8. SSH to demo site server and update to 1.X.X
Checking:
- Check all tags is fine on https://hub.docker.com/r/louislam/uptime-kuma/tags
- Try the Docker image with tag 1.X.X (Clean install / amd64 / arm64 / armv7)
- Try clean installation with Node.js
### Release Beta Procedures
1. Draft a release note, check "This is a pre-release"
2. Make sure the repo is cleared
3. `npm run release-beta` with env vars: `VERSION` and `GITHUB_TOKEN`
4. Wait until the `Press any key to continue`
5. Publish the release note as 1.X.X-beta.X
6. Press any key to continue
### Release Wiki
#### Setup Repo
```bash
git clone https://github.com/louislam/uptime-kuma-wiki.git
cd uptime-kuma-wiki
git remote add production https://github.com/louislam/uptime-kuma.wiki.git
```
#### Push to Production Wiki
```bash
git pull
git push production master
```

View File

@@ -1,6 +1,7 @@
# Uptime Kuma
<a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/stars/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/pulls/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/v/louislam/uptime-kuma/latest?label=docker%20image%20ver." /></a> <a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/last-commit/louislam/uptime-kuma" /></a> <a target="_blank" href="https://opencollective.com/uptime-kuma"><img src="https://opencollective.com/uptime-kuma/total/badge.svg?label=Backers&color=brightgreen" /></a>
<a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/stars/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/pulls/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/v/louislam/uptime-kuma/latest?label=docker%20image%20ver." /></a> <a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/last-commit/louislam/uptime-kuma" /></a> <a target="_blank" href="https://opencollective.com/uptime-kuma"><img src="https://opencollective.com/uptime-kuma/total/badge.svg?label=Open%20Collective%20Backers&color=brightgreen" /></a>
[![GitHub Sponsors](https://img.shields.io/github/sponsors/louislam?label=GitHub%20Sponsors)](https://github.com/sponsors/louislam)
<div align="center" width="100%">
<img src="./public/icon.svg" width="128" alt="" />
@@ -16,35 +17,42 @@ Try it!
https://demo.uptime.kuma.pet
It is a temporary live demo, all data will be deleted after 10 minutes. The server is located at Tokyo, so if you live far from there it may affect your experience. I suggest that you should install and try it out for the best demo experience.
It is a temporary live demo, all data will be deleted after 10 minutes. The server is located in Tokyo, so if you live far from there, it may affect your experience. I suggest that you should install and try it out for the best demo experience.
VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollective.com/uptime-kuma)! Thank you so much!
## ⭐ Features
* Monitoring uptime for HTTP(s) / TCP / Ping / DNS Record / Push.
* Monitoring uptime for HTTP(s) / TCP / HTTP(s) Keyword / Ping / DNS Record / Push / Steam Game Server / Docker Containers.
* Fancy, Reactive, Fast UI/UX.
* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications).
* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [90+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications).
* 20 second intervals.
* [Multi Languages](https://github.com/louislam/uptime-kuma/tree/master/src/languages)
* Simple Status Page
* Multiple Status Pages
* Map Status Page to Domain
* Ping Chart
* Certificate Info
* Proxy Support
* 2FA available
## 🔧 How to Install
### 🐳 Docker
```bash
docker volume create uptime-kuma
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
```
⚠️ Please use a **local volume** only. Other types such as NFS are not supported.
Browse to http://localhost:3001 after starting.
### 💪🏻 Without Docker
### 💪🏻 Non-Docker
Required Tools: Node.js >= 14, git and pm2.
Required Tools:
- [Node.js](https://nodejs.org/en/download/) >= 14
- [Git](https://git-scm.com/downloads)
- [pm2](https://pm2.keymetrics.io/) - For run in background
```bash
# Update your npm to the latest version
@@ -58,15 +66,29 @@ npm run setup
node server/server.js
# (Recommended) Option 2. Run in background using PM2
# Install PM2 if you don't have it: npm install pm2 -g
pm2 start server/server.js --name uptime-kuma
```
# Install PM2 if you don't have it:
npm install pm2 -g && pm2 install pm2-logrotate
# Start Server
pm2 start server/server.js --name uptime-kuma
```
Browse to http://localhost:3001 after starting.
More useful PM2 Commands
```bash
# If you want to see the current console output
pm2 monit
# If you want to add it to startup
pm2 save && pm2 startup
```
### Advanced Installation
If you need more options or need to browse via a reserve proxy, please read:
If you need more options or need to browse via a reverse proxy, please read:
https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install
@@ -84,7 +106,13 @@ https://github.com/louislam/uptime-kuma/milestones
Project Plan:
https://github.com/louislam/uptime-kuma/projects/1
https://github.com/users/louislam/projects/4/views/1
## ❤️ Sponsors
Thank you so much! (GitHub Sponsors will be updated manually. OpenCollective sponsors will be updated automatically, the list will be cached by GitHub though. It may need some time to be updated)
<img src="https://uptime.kuma.pet/sponsors?v=6" alt />
## 🖼 More Screenshots
@@ -106,7 +134,7 @@ Telegram Notification Sample:
## Motivation
* I was looking for a self-hosted monitoring tool like "Uptime Robot", but it is hard to find a suitable one. One of the close ones is statping. Unfortunately, it is not stable and unmaintained.
* I was looking for a self-hosted monitoring tool like "Uptime Robot", but it is hard to find a suitable one. One of the close ones is statping. Unfortunately, it is not stable and no longer maintained.
* Want to build a fancy UI.
* Learn Vue 3 and vite.js.
* Show the power of Bootstrap 5.
@@ -119,20 +147,34 @@ If you love this project, please consider giving me a ⭐.
### Issues Page
You can discuss or ask for help in [Issues](https://github.com/louislam/uptime-kuma/issues).
You can discuss or ask for help in [issues](https://github.com/louislam/uptime-kuma/issues).
### Subreddit
My Reddit account: louislamlam
My Reddit account: [u/louislamlam](https://reddit.com/u/louislamlam).
You can mention me if you ask a question on Reddit.
https://www.reddit.com/r/UptimeKuma/
[r/Uptime kuma](https://www.reddit.com/r/UptimeKuma/)
## Contribute
If you want to report a bug or request a new feature. Free feel to open a [new issue](https://github.com/louislam/uptime-kuma/issues).
### Test Pull Requests
If you want to translate Uptime Kuma into your langauge, please read: https://github.com/louislam/uptime-kuma/tree/master/src/languages
There are a lot of pull requests right now, but I don't have time to test them all.
If you want to modify Uptime Kuma, this guideline may be useful for you: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md
If you want to help, you can check this:
https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests
English proofreading is needed too because my grammar is not that great sadly. Feel free to correct my grammar in this readme, source code, or wiki.
### Test Beta Version
Check out the latest beta release here: https://github.com/louislam/uptime-kuma/releases
### Bug Reports / Feature Requests
If you want to report a bug or request a new feature, feel free to open a [new issue](https://github.com/louislam/uptime-kuma/issues).
### Translations
If you want to translate Uptime Kuma into your language, please read: https://github.com/louislam/uptime-kuma/tree/master/src/languages
Feel free to correct my grammar in this README, source code, or wiki, as my mother language is not English and my grammar is not that great.
### Create Pull Requests
If you want to modify Uptime Kuma, please read this guide and follow the rules here: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md

View File

@@ -1,16 +1,16 @@
# Security Policy
## Reporting a Vulnerability
Please report security issues to uptime@kuma.pet.
Do not use the issue tracker or discuss it in the public as it will cause more damage.
## Supported Versions
Use this section to tell people about which versions of your project are
currently being supported with security updates.
### Uptime Kuma Versions
| Version | Supported |
| ------- | ------------------ |
| 1.8.X | :white_check_mark: |
| <= 1.7.X | ❌ |
You should use or upgrade to the latest version of Uptime Kuma. All `1.X.X` versions are upgradable to the lastest version.
### Upgradable Docker Tags
@@ -18,14 +18,8 @@ currently being supported with security updates.
| ------- | ------------------ |
| 1 | :white_check_mark: |
| 1-debian | :white_check_mark: |
| 1-alpine | :white_check_mark: |
| latest | :white_check_mark: |
| debian | :white_check_mark: |
| alpine | :white_check_mark: |
| 1-alpine | ⚠️ Deprecated |
| alpine | ⚠️ Deprecated |
| All other tags | ❌ |
## Reporting a Vulnerability
Please report security issues to uptime@kuma.pet.
Do not use the issue tracker or discuss it in the public as it will cause more damage.

View File

@@ -1,11 +1,11 @@
const config = {};
if (process.env.TEST_FRONTEND) {
config.presets = ["@babel/preset-env"];
config.presets = [ "@babel/preset-env" ];
}
if (process.env.TEST_BACKEND) {
config.plugins = ["babel-plugin-rewire"];
config.plugins = [ "babel-plugin-rewire" ];
}
module.exports = config;

33
config/jest-debug-env.js Normal file
View File

@@ -0,0 +1,33 @@
const PuppeteerEnvironment = require("jest-environment-puppeteer");
const util = require("util");
class DebugEnv extends PuppeteerEnvironment {
async handleTestEvent(event, state) {
const ignoredEvents = [
"setup",
"add_hook",
"start_describe_definition",
"add_test",
"finish_describe_definition",
"run_start",
"run_describe_start",
"test_start",
"hook_start",
"hook_success",
"test_fn_start",
"test_fn_success",
"test_done",
"run_describe_finish",
"run_finish",
"teardown",
"test_fn_failure",
];
if (!ignoredEvents.includes(event.name)) {
console.log(
new Date().toString() + ` Unhandled event [${event.name}] ` + util.inspect(event)
);
}
}
}
module.exports = DebugEnv;

View File

@@ -1,6 +1,20 @@
module.exports = {
"launch": {
"dumpio": true,
"slowMo": 500,
"headless": process.env.HEADLESS_TEST || false,
"userDataDir": "./data/test-chrome-profile",
args: [
"--disable-setuid-sandbox",
"--disable-gpu",
"--disable-dev-shm-usage",
"--no-default-browser-check",
"--no-experiments",
"--no-first-run",
"--no-pings",
"--no-sandbox",
"--no-zygote",
"--single-process",
],
}
};

View File

@@ -5,6 +5,7 @@ module.exports = {
"__DEV__": true
},
"testRegex": "./test/e2e.spec.js",
"testEnvironment": "./config/jest-debug-env.js",
"rootDir": "..",
"testTimeout": 30000,
};

View File

@@ -1,24 +1,53 @@
import legacy from "@vitejs/plugin-legacy";
import vue from "@vitejs/plugin-vue";
import { defineConfig } from "vite";
import visualizer from "rollup-plugin-visualizer";
import viteCompression from "vite-plugin-compression";
const postCssScss = require("postcss-scss");
const postcssRTLCSS = require("postcss-rtlcss");
const viteCompressionFilter = /\.(js|mjs|json|css|html|svg)$/i;
// https://vitejs.dev/config/
export default defineConfig({
server: {
port: 3000,
},
define: {
"FRONTEND_VERSION": JSON.stringify(process.env.npm_package_version),
},
plugins: [
vue(),
legacy({
targets: ["ie > 11"],
additionalLegacyPolyfills: ["regenerator-runtime/runtime"]
})
targets: [ "since 2015" ],
}),
visualizer({
filename: "tmp/dist-stats.html"
}),
viteCompression({
algorithm: "gzip",
filter: viteCompressionFilter,
}),
viteCompression({
algorithm: "brotliCompress",
filter: viteCompressionFilter,
}),
],
css: {
postcss: {
"parser": postCssScss,
"map": false,
"plugins": [postcssRTLCSS]
"plugins": [ postcssRTLCSS ]
}
},
build: {
rollupOptions: {
output: {
manualChunks(id, { getModuleInfo, getModuleIds }) {
}
}
},
}
});

15
cypress.config.ts Normal file
View File

@@ -0,0 +1,15 @@
import { defineConfig } from "cypress";
export default defineConfig({
e2e: {
baseUrl: "http://localhost:3002",
defaultCommandTimeout: 10000,
pageLoadTimeout: 60000,
viewportWidth: 1920,
viewportHeight: 1080,
specPattern: ["cypress/e2e/setup.cy.ts", "cypress/e2e/**/*.ts"],
},
env: {
baseUrl: "http://localhost:3002",
},
});

24
cypress/e2e/setup.cy.ts Normal file
View File

@@ -0,0 +1,24 @@
import { actor } from "../support/actors/actor";
import { DEFAULT_USER_DATA } from "../support/const/user-data";
import { DashboardPage } from "../support/pages/dasboard-page";
import { SetupPage } from "../support/pages/setup-page";
describe("user can create a new account on setup page", () => {
before(() => {
cy.visit("/setup");
});
it("user can create new account", () => {
cy.url().should("be.equal", SetupPage.url);
actor.setupTask.fillAndSubmitSetupForm(
DEFAULT_USER_DATA.username,
DEFAULT_USER_DATA.password,
DEFAULT_USER_DATA.password
);
cy.url().should("be.equal", DashboardPage.url);
cy.get('[role="alert"]')
.should("be.visible")
.and("contain.text", "Added Successfully.");
});
});

0
cypress/plugins/index.js Normal file
View File

View File

@@ -0,0 +1,8 @@
import { SetupTask } from "../tasks/setup-task";
class Actor {
setupTask: SetupTask = new SetupTask();
}
const actor = new Actor();
export { actor };

View File

View File

@@ -0,0 +1,4 @@
export const DEFAULT_USER_DATA = {
username: "testuser",
password: "testuser123",
};

1
cypress/support/e2e.ts Normal file
View File

@@ -0,0 +1 @@
import "./commands";

View File

@@ -0,0 +1,3 @@
export const DashboardPage = {
url: Cypress.env("baseUrl") + "/dashboard",
};

View File

@@ -0,0 +1,7 @@
export const SetupPage = {
url: Cypress.env("baseUrl") + "/setup",
usernameInput: '[data-cy="username-input"]',
passWordInput: '[data-cy="password-input"]',
passwordRepeatInput: '[data-cy="password-repeat-input"]',
submitSetupForm: '[data-cy="submit-setup-form"]',
};

View File

@@ -0,0 +1,15 @@
import { SetupPage } from "../pages/setup-page";
export class SetupTask {
fillAndSubmitSetupForm(
username: string,
password: string,
passwordRepeat: string
) {
cy.get(SetupPage.usernameInput).type(username);
cy.get(SetupPage.passWordInput).type(password);
cy.get(SetupPage.passwordRepeatInput).type(passwordRepeat);
cy.get(SetupPage.submitSetupForm).click();
}
}

View File

@@ -0,0 +1,7 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
ALTER TABLE user
ADD twofa_last_token VARCHAR(6);
COMMIT;

View File

@@ -0,0 +1,5 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
ALTER TABLE monitor_group
ADD send_url BOOLEAN DEFAULT 0 NOT NULL;
COMMIT;

View File

@@ -0,0 +1,18 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
CREATE TABLE docker_host (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
user_id INT NOT NULL,
docker_daemon VARCHAR(255),
docker_type VARCHAR(255),
name VARCHAR(255)
);
ALTER TABLE monitor
ADD docker_host INTEGER REFERENCES docker_host(id);
ALTER TABLE monitor
ADD docker_container VARCHAR(255);
COMMIT;

View File

@@ -0,0 +1,18 @@
BEGIN TRANSACTION;
ALTER TABLE monitor
ADD auth_method VARCHAR(250);
ALTER TABLE monitor
ADD auth_domain TEXT;
ALTER TABLE monitor
ADD auth_workstation TEXT;
COMMIT;
BEGIN TRANSACTION;
UPDATE monitor
SET auth_method = 'basic'
WHERE basic_auth_user is not null;
COMMIT;

View File

@@ -0,0 +1,18 @@
BEGIN TRANSACTION;
ALTER TABLE monitor
ADD radius_username VARCHAR(255);
ALTER TABLE monitor
ADD radius_password VARCHAR(255);
ALTER TABLE monitor
ADD radius_calling_station_id VARCHAR(50);
ALTER TABLE monitor
ADD radius_called_station_id VARCHAR(50);
ALTER TABLE monitor
ADD radius_secret VARCHAR(255);
COMMIT

View File

@@ -0,0 +1,10 @@
BEGIN TRANSACTION;
ALTER TABLE monitor
ADD database_connection_string VARCHAR(2000);
ALTER TABLE monitor
ADD database_query TEXT;
COMMIT

View File

@@ -0,0 +1,16 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
ALTER TABLE monitor
ADD mqtt_topic TEXT;
ALTER TABLE monitor
ADD mqtt_success_message VARCHAR(255);
ALTER TABLE monitor
ADD mqtt_username VARCHAR(255);
ALTER TABLE monitor
ADD mqtt_password VARCHAR(255);
COMMIT;

View File

@@ -0,0 +1,10 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
ALTER TABLE monitor
ADD resend_interval INTEGER default 0 not null;
ALTER TABLE heartbeat
ADD down_count INTEGER default 0 not null;
COMMIT;

View File

@@ -0,0 +1,10 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
ALTER TABLE monitor
ADD basic_auth_user TEXT default null;
ALTER TABLE monitor
ADD basic_auth_pass TEXT default null;
COMMIT;

View File

@@ -0,0 +1,7 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
ALTER TABLE monitor
ADD expiry_notification BOOLEAN default 1;
COMMIT;

View File

@@ -0,0 +1,18 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
CREATE TABLE [notification_sent_history] (
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[type] VARCHAR(50) NOT NULL,
[monitor_id] INTEGER NOT NULL,
[days] INTEGER NOT NULL,
UNIQUE([type], [monitor_id], [days])
);
CREATE INDEX [good_index] ON [notification_sent_history] (
[type],
[monitor_id],
[days]
);
COMMIT;

23
db/patch-proxy.sql Normal file
View File

@@ -0,0 +1,23 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
CREATE TABLE proxy (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
user_id INT NOT NULL,
protocol VARCHAR(10) NOT NULL,
host VARCHAR(255) NOT NULL,
port SMALLINT NOT NULL,
auth BOOLEAN NOT NULL,
username VARCHAR(255) NULL,
password VARCHAR(255) NULL,
active BOOLEAN NOT NULL DEFAULT 1,
'default' BOOLEAN NOT NULL DEFAULT 0,
created_date DATETIME DEFAULT (DATETIME('now')) NOT NULL
);
ALTER TABLE monitor ADD COLUMN proxy_id INTEGER REFERENCES proxy(id);
CREATE INDEX proxy_id ON monitor (proxy_id);
CREATE INDEX proxy_user_id ON proxy (user_id);
COMMIT;

View File

@@ -0,0 +1,6 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
ALTER TABLE status_page ADD footer_text TEXT;
ALTER TABLE status_page ADD custom_css TEXT;
ALTER TABLE status_page ADD show_powered_by BOOLEAN NOT NULL DEFAULT 1;
COMMIT;

31
db/patch-status-page.sql Normal file
View File

@@ -0,0 +1,31 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
CREATE TABLE [status_page](
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[slug] VARCHAR(255) NOT NULL UNIQUE,
[title] VARCHAR(255) NOT NULL,
[description] TEXT,
[icon] VARCHAR(255) NOT NULL,
[theme] VARCHAR(30) NOT NULL,
[published] BOOLEAN NOT NULL DEFAULT 1,
[search_engine_index] BOOLEAN NOT NULL DEFAULT 1,
[show_tags] BOOLEAN NOT NULL DEFAULT 0,
[password] VARCHAR,
[created_date] DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
[modified_date] DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX [slug] ON [status_page]([slug]);
CREATE TABLE [status_page_cname](
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[status_page_id] INTEGER NOT NULL REFERENCES [status_page]([id]) ON DELETE CASCADE ON UPDATE CASCADE,
[domain] VARCHAR NOT NULL UNIQUE
);
ALTER TABLE incident ADD status_page_id INTEGER;
ALTER TABLE [group] ADD status_page_id INTEGER;
COMMIT;

View File

@@ -1,8 +1,8 @@
# DON'T UPDATE TO alpine3.13, 1.14, see #41.
FROM node:14-alpine3.12
FROM node:16-alpine3.12
WORKDIR /app
# Install apprise, iputils for non-root ping, setpriv
RUN apk add --no-cache iputils setpriv dumb-init python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib && \
pip3 --no-cache-dir install apprise && \
pip3 --no-cache-dir install apprise==1.0.0 && \
rm -rf /root/.cache

View File

@@ -1,12 +1,28 @@
# DON'T UPDATE TO node:14-bullseye-slim, see #372.
# If the image changed, the second stage image should be changed too
FROM node:14-buster-slim
FROM node:16-buster-slim
ARG TARGETPLATFORM
WORKDIR /app
# Install Curl
# Install Apprise, add sqlite3 cli for debugging in the future, iputils-ping for ping, util-linux for setpriv
# Stupid python3 and python3-pip actually install a lot of useless things into Debian, specific --no-install-recommends to skip them, make the base even smaller than alpine!
# Stupid python3 and python3-pip actually install a lot of useless things into Debian, specify --no-install-recommends to skip them, make the base even smaller than alpine!
RUN apt update && \
apt --yes --no-install-recommends install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \
sqlite3 iputils-ping util-linux dumb-init && \
pip3 --no-cache-dir install apprise && \
rm -rf /var/lib/apt/lists/*
pip3 --no-cache-dir install apprise==1.0.0 && \
rm -rf /var/lib/apt/lists/* && \
apt --yes autoremove
# Install cloudflared
# dpkg --add-architecture arm: cloudflared do not provide armhf, this is workaround. Read more: https://github.com/cloudflare/cloudflared/issues/583
COPY extra/download-cloudflared.js ./extra/download-cloudflared.js
RUN node ./extra/download-cloudflared.js $TARGETPLATFORM && \
dpkg --add-architecture arm && \
apt update && \
apt --yes --no-install-recommends install ./cloudflared.deb && \
rm -rf /var/lib/apt/lists/* && \
rm -f cloudflared.deb && \
apt --yes autoremove

View File

@@ -1,13 +1,14 @@
# Simple docker-composer.yml
# Simple docker-compose.yml
# You can change your port or volume location
version: '3.3'
services:
uptime-kuma:
image: louislam/uptime-kuma
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- ./uptime-kuma:/app/data
- ./uptime-kuma-data:/app/data
ports:
- 3001:3001
- 3001:3001 # <Host Port>:<Container Port>
restart: always

View File

@@ -4,9 +4,7 @@ WORKDIR /app
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
COPY . .
RUN npm ci && \
npm run build && \
npm ci --production && \
RUN npm ci --production && \
chmod +x /app/extra/entrypoint.sh
@@ -22,23 +20,56 @@ HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD nod
ENTRYPOINT ["/usr/bin/dumb-init", "--", "extra/entrypoint.sh"]
CMD ["node", "server/server.js"]
FROM release AS nightly
RUN npm run mark-as-nightly
# Build an image for testing pr
FROM louislam/uptime-kuma:base-debian AS pr-test
WORKDIR /app
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
## Install Git
RUN apt update \
&& apt --yes --no-install-recommends install curl \
&& curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& apt update \
&& apt --yes --no-install-recommends install git
## Empty the directory, because we have to clone the Git repo.
RUN rm -rf ./* && chown node /app
USER node
RUN git config --global user.email "no-reply@no-reply.com"
RUN git config --global user.name "PR Tester"
RUN git clone https://github.com/louislam/uptime-kuma.git .
RUN npm ci
EXPOSE 3000 3001
VOLUME ["/app/data"]
HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD node extra/healthcheck.js
CMD ["npm", "run", "start-pr-test"]
# Upload the artifact to Github
FROM louislam/uptime-kuma:base-debian AS upload-artifact
WORKDIR /
RUN apt update && \
apt --yes install curl file
COPY --from=build /app /app
ARG VERSION
ARG GITHUB_TOKEN
ARG TARGETARCH
ARG PLATFORM=debian
ARG VERSION
ARG FILE=$PLATFORM-$TARGETARCH-$VERSION.tar.gz
ARG DIST=dist.tar.gz
COPY --from=build /app /app
RUN chmod +x /app/extra/upload-github-release-asset.sh
# Full Build

View File

@@ -4,9 +4,7 @@ WORKDIR /app
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
COPY . .
RUN npm ci && \
npm run build && \
npm ci --production && \
RUN npm ci --production && \
chmod +x /app/extra/entrypoint.sh
@@ -22,5 +20,6 @@ HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD nod
ENTRYPOINT ["/usr/bin/dumb-init", "--", "extra/entrypoint.sh"]
CMD ["node", "server/server.js"]
FROM release AS nightly
RUN npm run mark-as-nightly

View File

@@ -3,4 +3,4 @@ module.exports = {
name: "uptime-kuma",
script: "./server/server.js",
}]
}
};

View File

@@ -0,0 +1,66 @@
const pkg = require("../../package.json");
const fs = require("fs");
const childProcess = require("child_process");
const util = require("../../src/util");
util.polyfill();
const version = process.env.VERSION;
console.log("Beta Version: " + version);
if (!version || !version.includes("-beta.")) {
console.error("invalid version, beta version only");
process.exit(1);
}
const exists = tagExists(version);
if (! exists) {
// Process package.json
pkg.version = version;
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 4) + "\n");
// Also update package-lock.json
childProcess.spawnSync("npm", [ "install" ]);
commit(version);
tag(version);
} else {
console.log("version tag exists, please delete the tag or use another tag");
process.exit(1);
}
function commit(version) {
let msg = "Update to " + version;
let res = childProcess.spawnSync("git", [ "commit", "-m", msg, "-a" ]);
let stdout = res.stdout.toString().trim();
console.log(stdout);
if (stdout.includes("no changes added to commit")) {
throw new Error("commit error");
}
res = childProcess.spawnSync("git", [ "push", "origin", "master" ]);
console.log(res.stdout.toString().trim());
}
function tag(version) {
let res = childProcess.spawnSync("git", [ "tag", version ]);
console.log(res.stdout.toString().trim());
res = childProcess.spawnSync("git", [ "push", "origin", version ]);
console.log(res.stdout.toString().trim());
}
function tagExists(version) {
if (! version) {
throw new Error("invalid version");
}
let res = childProcess.spawnSync("git", [ "tag", "-l", version ]);
return res.stdout.toString().trim() === version;
}

33
extra/checkout-pr.js Normal file
View File

@@ -0,0 +1,33 @@
const childProcess = require("child_process");
if (!process.env.UPTIME_KUMA_GH_REPO) {
console.error("Please set a repo to the environment variable 'UPTIME_KUMA_GH_REPO' (e.g. mhkarimi1383:goalert-notification)");
process.exit(1);
}
let inputArray = process.env.UPTIME_KUMA_GH_REPO.split(":");
if (inputArray.length !== 2) {
console.error("Invalid format. Please set a repo to the environment variable 'UPTIME_KUMA_GH_REPO' (e.g. mhkarimi1383:goalert-notification)");
}
let name = inputArray[0];
let branch = inputArray[1];
console.log("Checkout pr");
// Checkout the pr
let result = childProcess.spawnSync("git", [ "remote", "add", name, `https://github.com/${name}/uptime-kuma` ]);
console.log(result.stdout.toString());
console.error(result.stderr.toString());
result = childProcess.spawnSync("git", [ "fetch", name, branch ]);
console.log(result.stdout.toString());
console.error(result.stderr.toString());
result = childProcess.spawnSync("git", [ "checkout", `${name}/${branch}`, "--force" ]);
console.log(result.stdout.toString());
console.error(result.stderr.toString());

View File

@@ -0,0 +1,57 @@
const github = require("@actions/github");
(async () => {
try {
const token = process.argv[2];
const issueNumber = process.argv[3];
const username = process.argv[4];
const client = github.getOctokit(token).rest;
const issue = {
owner: "louislam",
repo: "uptime-kuma",
number: issueNumber,
};
const labels = (
await client.issues.listLabelsOnIssue({
owner: issue.owner,
repo: issue.repo,
issue_number: issue.number
})
).data.map(({ name }) => name);
if (labels.length === 0) {
console.log("Bad format here");
await client.issues.addLabels({
owner: issue.owner,
repo: issue.repo,
issue_number: issue.number,
labels: [ "invalid-format" ]
});
// Add the issue closing comment
await client.issues.createComment({
owner: issue.owner,
repo: issue.repo,
issue_number: issue.number,
body: `@${username}: Hello! :wave:\n\nThis issue is being automatically closed because it does not follow the issue template. Please DO NOT open a blank issue.`
});
// Close the issue
await client.issues.update({
owner: issue.owner,
repo: issue.repo,
issue_number: issue.number,
state: "closed"
});
} else {
console.log("Pass!");
}
} catch (e) {
console.log(e);
}
})();

View File

@@ -0,0 +1,44 @@
//
const http = require("https"); // or 'https' for https:// URLs
const fs = require("fs");
const platform = process.argv[2];
if (!platform) {
console.error("No platform??");
process.exit(1);
}
let arch = null;
if (platform === "linux/amd64") {
arch = "amd64";
} else if (platform === "linux/arm64") {
arch = "arm64";
} else if (platform === "linux/arm/v7") {
arch = "arm";
} else {
console.error("Invalid platform?? " + platform);
}
const file = fs.createWriteStream("cloudflared.deb");
get("https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-" + arch + ".deb");
function get(url) {
http.get(url, function (res) {
if (res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
console.log("Redirect to " + res.headers.location);
get(res.headers.location);
} else if (res.statusCode >= 200 && res.statusCode < 300) {
res.pipe(file);
res.on("end", function () {
console.log("Downloaded");
});
} else {
console.error(res.statusCode);
process.exit(1);
}
});
}

View File

@@ -4,6 +4,7 @@ const tar = require("tar");
const packageJSON = require("../package.json");
const fs = require("fs");
const rmSync = require("./fs-rmSync.js");
const version = packageJSON.version;
const filename = "dist.tar.gz";
@@ -11,6 +12,12 @@ const filename = "dist.tar.gz";
const url = `https://github.com/louislam/uptime-kuma/releases/download/${version}/${filename}`;
download(url);
/**
* Downloads the latest version of the dist from a GitHub release.
* @param {string} url The URL to download from.
*
* Generated by Trelent
*/
function download(url) {
console.log(url);
@@ -21,7 +28,7 @@ function download(url) {
if (fs.existsSync("./dist")) {
if (fs.existsSync("./dist-backup")) {
fs.rmdirSync("./dist-backup", {
rmSync("./dist-backup", {
recursive: true
});
}
@@ -34,9 +41,11 @@ function download(url) {
});
tarStream.on("close", () => {
fs.rmdirSync("./dist-backup", {
if (fs.existsSync("./dist-backup")) {
rmSync("./dist-backup", {
recursive: true
});
}
console.log("Done");
});
@@ -44,7 +53,7 @@ function download(url) {
if (fs.existsSync("./dist-backup")) {
fs.renameSync("./dist-backup", "./dist");
}
console.log("Done");
console.error("Error from tarStream");
});
response.pipe(tarStream);

19
extra/env2arg.js Normal file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/env node
const childProcess = require("child_process");
let env = process.env;
let cmd = process.argv[2];
let args = process.argv.slice(3);
let replacedArgs = [];
for (let arg of args) {
for (let key in env) {
arg = arg.replaceAll(`$${key}`, env[key]);
}
replacedArgs.push(arg);
}
let child = childProcess.spawn(cmd, replacedArgs);
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);

23
extra/fs-rmSync.js Normal file
View File

@@ -0,0 +1,23 @@
const fs = require("fs");
/**
* Detect if `fs.rmSync` is available
* to avoid the runtime deprecation warning triggered for using `fs.rmdirSync` with `{ recursive: true }` in Node.js v16,
* or the `recursive` property removing completely in the future Node.js version.
* See the link below.
*
* @todo Once we drop the support for Node.js v14 (or at least versions before v14.14.0), we can safely replace this function with `fs.rmSync`, since `fs.rmSync` was add in Node.js v14.14.0 and currently we supports all the Node.js v14 versions that include the versions before the v14.14.0, and this function have almost the same signature with `fs.rmSync`.
* @link https://nodejs.org/docs/latest-v16.x/api/deprecations.html#dep0147-fsrmdirpath--recursive-true- the deprecation infomation of `fs.rmdirSync`
* @link https://nodejs.org/docs/latest-v16.x/api/fs.html#fsrmsyncpath-options the document of `fs.rmSync`
* @param {fs.PathLike} path Valid types for path values in "fs".
* @param {fs.RmDirOptions} [options] options for `fs.rmdirSync`, if `fs.rmSync` is available and property `recursive` is true, it will automatically have property `force` with value `true`.
*/
const rmSync = (path, options) => {
if (typeof fs.rmSync === "function") {
if (options.recursive) {
options.force = true;
}
return fs.rmSync(path, options);
}
return fs.rmdirSync(path, options);
};
module.exports = rmSync;

View File

@@ -1,25 +1,41 @@
/*
* This script should be run after a period of time (180s), because the server may need some time to prepare.
*/
const { FBSD } = require("../server/util-server");
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
let client;
if (process.env.SSL_KEY && process.env.SSL_CERT) {
const sslKey = process.env.UPTIME_KUMA_SSL_KEY || process.env.SSL_KEY || undefined;
const sslCert = process.env.UPTIME_KUMA_SSL_CERT || process.env.SSL_CERT || undefined;
if (sslKey && sslCert) {
client = require("https");
} else {
client = require("http");
}
// If host is omitted, the server will accept connections on the unspecified IPv6 address (::) when IPv6 is available and the unspecified IPv4 address (0.0.0.0) otherwise.
// Dual-stack support for (::)
let hostname = process.env.UPTIME_KUMA_HOST;
// Also read HOST if not *BSD, as HOST is a system environment variable in FreeBSD
if (!hostname && !FBSD) {
hostname = process.env.HOST;
}
const port = parseInt(process.env.UPTIME_KUMA_PORT || process.env.PORT || 3001);
let options = {
host: process.env.HOST || "127.0.0.1",
port: parseInt(process.env.PORT) || 3001,
host: hostname || "127.0.0.1",
port: port,
timeout: 28 * 1000,
};
let request = client.request(options, (res) => {
console.log(`Health Check OK [Res Code: ${res.statusCode}]`);
if (res.statusCode === 200) {
if (res.statusCode === 302) {
process.exit(0);
} else {
process.exit(1);

View File

@@ -189,7 +189,7 @@ if (type == "local") {
bash("check=$(pm2 --version)");
if (check == "") {
println("Installing PM2");
bash("npm install pm2 -g");
bash("npm install pm2 -g && pm2 install pm2-logrotate");
bash("pm2 startup");
}

View File

@@ -4,21 +4,21 @@ const util = require("../src/util");
util.polyfill();
const oldVersion = pkg.version
const newVersion = oldVersion + "-nightly"
const oldVersion = pkg.version;
const newVersion = oldVersion + "-nightly";
console.log("Old Version: " + oldVersion)
console.log("New Version: " + newVersion)
console.log("Old Version: " + oldVersion);
console.log("New Version: " + newVersion);
if (newVersion) {
// Process package.json
pkg.version = newVersion
pkg.scripts.setup = pkg.scripts.setup.replaceAll(oldVersion, newVersion)
pkg.scripts["build-docker"] = pkg.scripts["build-docker"].replaceAll(oldVersion, newVersion)
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 4) + "\n")
pkg.version = newVersion;
pkg.scripts.setup = pkg.scripts.setup.replaceAll(oldVersion, newVersion);
pkg.scripts["build-docker"] = pkg.scripts["build-docker"].replaceAll(oldVersion, newVersion);
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 4) + "\n");
// Process README.md
if (fs.existsSync("README.md")) {
fs.writeFileSync("README.md", fs.readFileSync("README.md", "utf8").replaceAll(oldVersion, newVersion))
fs.writeFileSync("README.md", fs.readFileSync("README.md", "utf8").replaceAll(oldVersion, newVersion));
}
}

6
extra/press-any-key.js Normal file
View File

@@ -0,0 +1,6 @@
console.log("Git Push and Publish the release note on github, then press any key to continue");
process.stdin.setRawMode(true);
process.stdin.resume();
process.stdin.on("data", process.exit.bind(process, 0));

60
extra/remove-2fa.js Normal file
View File

@@ -0,0 +1,60 @@
console.log("== Uptime Kuma Remove 2FA Tool ==");
console.log("Loading the database");
const Database = require("../server/database");
const { R } = require("redbean-node");
const readline = require("readline");
const TwoFA = require("../server/2fa");
const args = require("args-parser")(process.argv);
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const main = async () => {
Database.init(args);
await Database.connect();
try {
// No need to actually reset the password for testing, just make sure no connection problem. It is ok for now.
if (!process.env.TEST_BACKEND) {
const user = await R.findOne("user");
if (! user) {
throw new Error("user not found, have you installed?");
}
console.log("Found user: " + user.username);
let ans = await question("Are you sure want to remove 2FA? [y/N]");
if (ans.toLowerCase() === "y") {
await TwoFA.disable2FA(user.id);
console.log("2FA has been removed successfully.");
}
}
} catch (e) {
console.error("Error: " + e.message);
}
await Database.close();
rl.close();
console.log("Finished.");
};
function question(question) {
return new Promise((resolve) => {
rl.question(question, (answer) => {
resolve(answer);
});
});
}
if (!process.env.TEST_BACKEND) {
main();
}
module.exports = {
main,
};

View File

@@ -1,11 +1,10 @@
console.log("== Uptime Kuma Reset Password Tool ==");
console.log("Loading the database");
const Database = require("../server/database");
const { R } = require("redbean-node");
const readline = require("readline");
const { initJWTSecret } = require("../server/util-server");
const User = require("../server/model/user");
const args = require("args-parser")(process.argv);
const rl = readline.createInterface({
input: process.stdin,
@@ -13,8 +12,9 @@ const rl = readline.createInterface({
});
const main = async () => {
console.log("Connecting the database");
Database.init(args);
await Database.connect();
await Database.connect(false, false, true);
try {
// No need to actually reset the password for testing, just make sure no connection problem. It is ok for now.
@@ -31,7 +31,7 @@ const main = async () => {
let confirmPassword = await question("Confirm New Password: ");
if (password === confirmPassword) {
await user.resetPassword(password);
await User.resetPassword(user.id, password);
// Reset all sessions by reset jwt secret
await initJWTSecret();

View File

@@ -26,7 +26,7 @@ server.on("request", (request, send, rinfo) => {
ttl: 300,
address: "1.2.3.4"
});
} if (question.type === Packet.TYPE.AAAA) {
} else if (question.type === Packet.TYPE.AAAA) {
response.answers.push({
name: question.name,
type: question.type,

View File

@@ -0,0 +1,50 @@
const { log } = require("../src/util");
const mqttUsername = "louis1";
const mqttPassword = "!@#$LLam";
class SimpleMqttServer {
aedes = require("aedes")();
server = require("net").createServer(this.aedes.handle);
constructor(port) {
this.port = port;
}
start() {
this.server.listen(this.port, () => {
console.log("server started and listening on port ", this.port);
});
}
}
let server1 = new SimpleMqttServer(10000);
server1.aedes.authenticate = function (client, username, password, callback) {
if (username && password) {
console.log(password.toString("utf-8"));
callback(null, username === mqttUsername && password.toString("utf-8") === mqttPassword);
} else {
callback(null, false);
}
};
server1.aedes.on("subscribe", (subscriptions, client) => {
console.log(subscriptions);
for (let s of subscriptions) {
if (s.topic === "test") {
server1.aedes.publish({
topic: "test",
payload: Buffer.from("ok"),
}, (error) => {
if (error) {
log.error("mqtt_server", error);
}
});
}
}
});
server1.start();

View File

@@ -3,6 +3,7 @@
import fs from "fs";
import path from "path";
import util from "util";
import rmSync from "../fs-rmSync.js";
// https://stackoverflow.com/questions/13786160/copy-folder-recursively-in-node-js
/**
@@ -30,7 +31,7 @@ console.log("Arguments:", process.argv);
const baseLangCode = process.argv[2] || "en";
console.log("Base Lang: " + baseLangCode);
if (fs.existsSync("./languages")) {
fs.rmdirSync("./languages", { recursive: true });
rmSync("./languages", { recursive: true });
}
copyRecursiveSync("../../src/languages", "./languages");
@@ -40,7 +41,7 @@ const files = fs.readdirSync("./languages");
console.log("Files:", files);
for (const file of files) {
if (!file.endsWith(".js")) {
if (! file.endsWith(".js")) {
console.log("Skipping " + file);
continue;
}
@@ -82,5 +83,5 @@ for (const file of files) {
fs.writeFileSync(`../../src/languages/${file}`, code);
}
fs.rmdirSync("./languages", { recursive: true });
rmSync("./languages", { recursive: true });
console.log("Done. Fixing formatting by ESLint...");

View File

@@ -1,14 +1,12 @@
const pkg = require("../package.json");
const fs = require("fs");
const child_process = require("child_process");
const childProcess = require("child_process");
const util = require("../src/util");
util.polyfill();
const oldVersion = pkg.version;
const newVersion = process.argv[2];
const newVersion = process.env.VERSION;
console.log("Old Version: " + oldVersion);
console.log("New Version: " + newVersion);
if (! newVersion) {
@@ -22,25 +20,31 @@ if (! exists) {
// Process package.json
pkg.version = newVersion;
pkg.scripts.setup = pkg.scripts.setup.replaceAll(oldVersion, newVersion);
pkg.scripts["build-docker"] = pkg.scripts["build-docker"].replaceAll(oldVersion, newVersion);
pkg.scripts["build-docker-alpine"] = pkg.scripts["build-docker-alpine"].replaceAll(oldVersion, newVersion);
pkg.scripts["build-docker-debian"] = pkg.scripts["build-docker-debian"].replaceAll(oldVersion, newVersion);
// Replace the version: https://regex101.com/r/hmj2Bc/1
pkg.scripts.setup = pkg.scripts.setup.replace(/(git checkout )([^\s]+)/, `$1${newVersion}`);
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 4) + "\n");
// Also update package-lock.json
childProcess.spawnSync("npm", [ "install" ]);
commit(newVersion);
tag(newVersion);
updateWiki(oldVersion, newVersion);
} else {
console.log("version exists");
}
/**
* Updates the version number in package.json and commits it to git.
* @param {string} version - The new version number
*
* Generated by Trelent
*/
function commit(version) {
let msg = "update to " + version;
let msg = "Update to " + version;
let res = child_process.spawnSync("git", ["commit", "-m", msg, "-a"]);
let res = childProcess.spawnSync("git", [ "commit", "-m", msg, "-a" ]);
let stdout = res.stdout.toString().trim();
console.log(stdout);
@@ -50,51 +54,22 @@ function commit(version) {
}
function tag(version) {
let res = child_process.spawnSync("git", ["tag", version]);
let res = childProcess.spawnSync("git", [ "tag", version ]);
console.log(res.stdout.toString().trim());
}
/**
* Checks if a given version is already tagged in the git repository.
* @param {string} version - The version to check for.
*
* Generated by Trelent
*/
function tagExists(version) {
if (! version) {
throw new Error("invalid version");
}
let res = child_process.spawnSync("git", ["tag", "-l", version]);
let res = childProcess.spawnSync("git", [ "tag", "-l", version ]);
return res.stdout.toString().trim() === version;
}
function updateWiki(oldVersion, newVersion) {
const wikiDir = "./tmp/wiki";
const howToUpdateFilename = "./tmp/wiki/🆙-How-to-Update.md";
safeDelete(wikiDir);
child_process.spawnSync("git", ["clone", "https://github.com/louislam/uptime-kuma.wiki.git", wikiDir]);
let content = fs.readFileSync(howToUpdateFilename).toString();
content = content.replaceAll(`git checkout ${oldVersion}`, `git checkout ${newVersion}`);
fs.writeFileSync(howToUpdateFilename, content);
child_process.spawnSync("git", ["add", "-A"], {
cwd: wikiDir,
});
child_process.spawnSync("git", ["commit", "-m", `Update to ${newVersion} from ${oldVersion}`], {
cwd: wikiDir,
});
console.log("Pushing to Github");
child_process.spawnSync("git", ["push"], {
cwd: wikiDir,
});
safeDelete(wikiDir);
}
function safeDelete(dir) {
if (fs.existsSync(dir)) {
fs.rmdirSync(dir, {
recursive: true,
});
}
}

View File

@@ -0,0 +1,48 @@
const childProcess = require("child_process");
const fs = require("fs");
const newVersion = process.env.VERSION;
if (!newVersion) {
console.log("Missing version");
process.exit(1);
}
updateWiki(newVersion);
function updateWiki(newVersion) {
const wikiDir = "./tmp/wiki";
const howToUpdateFilename = "./tmp/wiki/🆙-How-to-Update.md";
safeDelete(wikiDir);
childProcess.spawnSync("git", [ "clone", "https://github.com/louislam/uptime-kuma.wiki.git", wikiDir ]);
let content = fs.readFileSync(howToUpdateFilename).toString();
// Replace the version: https://regex101.com/r/hmj2Bc/1
content = content.replace(/(git checkout )([^\s]+)/, `$1${newVersion}`);
fs.writeFileSync(howToUpdateFilename, content);
childProcess.spawnSync("git", [ "add", "-A" ], {
cwd: wikiDir,
});
childProcess.spawnSync("git", [ "commit", "-m", `Update to ${newVersion}` ], {
cwd: wikiDir,
});
console.log("Pushing to Github");
childProcess.spawnSync("git", [ "push" ], {
cwd: wikiDir,
});
safeDelete(wikiDir);
}
function safeDelete(dir) {
if (fs.existsSync(dir)) {
fs.rm(dir, {
recursive: true,
});
}
}

View File

@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/svg+xml" href="/icon.svg" />
<link rel="manifest" href="manifest.json" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" id="theme-color" content="" />
<meta name="description" content="Uptime Kuma monitoring tool" />
<title>Uptime Kuma</title>

View File

@@ -159,7 +159,7 @@ fi
check=$(pm2 --version)
if [ "$check" == "" ]; then
"echo" "-e" "Installing PM2"
npm install pm2 -g
npm install pm2 -g && pm2 install pm2-logrotate
pm2 startup
fi
mkdir -p $installPath

View File

@@ -1,32 +0,0 @@
# Uptime-Kuma K8s Deployment
⚠ Warning: K8s deployment is provided by contributors. I have no experience with K8s and I can't fix error in the future. I only test Docker and Node.js. Use at your own risk.
## How does it work?
Kustomize is a tool which builds a complete deployment file for all config elements.
You can edit the files in the ```uptime-kuma``` folder except the ```kustomization.yml``` until you know what you're doing.
If you want to choose another namespace you can edit the ```kustomization.yml``` in the ```kubernetes```-Folder and change the ```namespace: uptime-kuma``` to something you like.
It creates a certificate with the specified Issuer and creates the Ingress for the Uptime-Kuma ClusterIP-Service.
## What do I have to edit?
You have to edit the ```ingressroute.yml``` to your needs.
This ingressroute.yml is for the [nginx-ingress-controller](https://kubernetes.github.io/ingress-nginx/) in combination with the [cert-manager](https://cert-manager.io/).
- Host
- Secrets and secret names
- (Cluster)Issuer (optional)
- The Version in the Deployment-File
- Update:
- Change to newer version and run the above commands, it will update the pods one after another
## How To use
- Install [kustomize](https://kubectl.docs.kubernetes.io/installation/kustomize/)
- Edit files mentioned above to your needs
- Run ```kustomize build > apply.yml```
- Run ```kubectl apply -f apply.yml```
Now you should see some k8s magic and Uptime-Kuma should be available at the specified address.

View File

@@ -1,10 +0,0 @@
namespace: uptime-kuma
namePrefix: uptime-kuma-
commonLabels:
app: uptime-kuma
bases:
- uptime-kuma

View File

@@ -1,45 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
component: uptime-kuma
name: deployment
spec:
selector:
matchLabels:
component: uptime-kuma
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
component: uptime-kuma
spec:
containers:
- name: app
image: louislam/uptime-kuma:1
ports:
- containerPort: 3001
volumeMounts:
- mountPath: /app/data
name: storage
livenessProbe:
exec:
command:
- node
- extra/healthcheck.js
initialDelaySeconds: 180
periodSeconds: 60
timeoutSeconds: 30
readinessProbe:
httpGet:
path: /
port: 3001
scheme: HTTP
volumes:
- name: storage
persistentVolumeClaim:
claimName: pvc

View File

@@ -1,39 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
nginx.ingress.kubernetes.io/server-snippets: |
location / {
proxy_set_header Upgrade $http_upgrade;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_cache_bypass $http_upgrade;
}
name: ingress
spec:
tls:
- hosts:
- example.com
secretName: example-com-tls
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service
port:
number: 3001

View File

@@ -1,5 +0,0 @@
resources:
- deployment.yml
- service.yml
- ingressroute.yml
- pvc.yml

View File

@@ -1,10 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 4Gi

View File

@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: service
spec:
selector:
component: uptime-kuma
type: ClusterIP
ports:
- name: http
port: 3001
targetPort: 3001
protocol: TCP

22716
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,46 +1,50 @@
{
"name": "uptime-kuma",
"version": "1.9.0",
"version": "1.18.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/louislam/uptime-kuma.git"
},
"engines": {
"node": "14.*"
"node": "14.* || >=16.*"
},
"scripts": {
"install-legacy": "npm install --legacy-peer-deps",
"update-legacy": "npm update --legacy-peer-deps",
"install-legacy": "npm install",
"update-legacy": "npm update",
"lint:js": "eslint --ext \".js,.vue\" --ignore-path .gitignore .",
"lint-fix:js": "eslint --ext \".js,.vue\" --fix --ignore-path .gitignore .",
"lint:style": "stylelint \"**/*.{vue,css,scss}\" --ignore-path .gitignore",
"lint-fix:style": "stylelint \"**/*.{vue,css,scss}\" --fix --ignore-path .gitignore",
"lint": "npm run lint:js && npm run lint:style",
"dev": "vite --host --config ./config/vite.config.js",
"dev": "concurrently -k -r \"wait-on tcp:3000 && npm run start-server-dev \" \"npm run start-frontend-dev\"",
"start-frontend-dev": "cross-env NODE_ENV=development vite --host --config ./config/vite.config.js",
"start": "npm run start-server",
"start-server": "node server/server.js",
"start-server-dev": "cross-env NODE_ENV=development node server/server.js",
"build": "vite build --config ./config/vite.config.js",
"test": "node test/prepare-test-server.js && node server/server.js --port=3002 --data-dir=./data/test/ --test",
"test-with-build": "npm run build && npm test",
"jest": "node test/prepare-jest.js && npm run jest-frontend && npm run jest-backend && jest --config=./config/jest.config.js",
"jest": "node test/prepare-jest.js && npm run jest-frontend && npm run jest-backend",
"jest-frontend": "cross-env TEST_FRONTEND=1 jest --config=./config/jest-frontend.config.js",
"jest-backend": "cross-env TEST_BACKEND=1 jest --config=./config/jest-backend.config.js",
"tsc": "tsc",
"vite-preview-dist": "vite preview --host --config ./config/vite.config.js",
"build-docker": "npm run build-docker-debian && npm run build-docker-alpine",
"build-docker": "npm run build && npm run build-docker-debian && npm run build-docker-alpine",
"build-docker-alpine-base": "docker buildx build -f docker/alpine-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-alpine . --push",
"build-docker-debian-base": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-debian . --push",
"build-docker-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.9.0-alpine --target release . --push",
"build-docker-debian": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.9.0 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.9.0-debian --target release . --push",
"build-docker-nightly": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-alpine": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:$VERSION-alpine --target release . --push",
"build-docker-debian": "node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:$VERSION -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:$VERSION-debian --target release . --push",
"build-docker-nightly": "npm run build && docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly-alpine --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
"upload-artifacts": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain",
"setup": "git checkout 1.9.0 && npm ci --production && npm run download-dist",
"build-docker-pr-test": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64 -t louislam/uptime-kuma:pr-test --target pr-test . --push",
"upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg VERSION --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain",
"setup": "git checkout 1.18.0 && npm ci --production && npm run download-dist",
"download-dist": "node extra/download-dist.js",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
"remove-2fa": "node extra/remove-2fa.js",
"compile-install-script": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command ./extra/compile-install-script.ps1",
"test-install-script-centos7": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/centos7.dockerfile .",
"test-install-script-alpine3": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/alpine3.dockerfile .",
@@ -48,81 +52,122 @@
"test-install-script-ubuntu1604": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1604.dockerfile .",
"test-nodejs16": "docker build --progress plain -f test/ubuntu-nodejs16.dockerfile .",
"simple-dns-server": "node extra/simple-dns-server.js",
"simple-mqtt-server": "node extra/simple-mqtt-server.js",
"update-language-files-with-base-lang": "cd extra/update-language-files && node index.js %npm_config_base_lang% && eslint ../../src/languages/**.js --fix",
"update-language-files": "cd extra/update-language-files && node index.js && eslint ../../src/languages/**.js --fix"
"update-language-files": "cd extra/update-language-files && node index.js && eslint ../../src/languages/**.js --fix",
"ncu-patch": "npm-check-updates -u -t patch",
"release-final": "node extra/update-version.js && npm run build-docker && node ./extra/press-any-key.js && npm run upload-artifacts && node ./extra/update-wiki-version.js",
"release-beta": "node extra/beta/update-version.js && npm run build && node ./extra/env2arg.js docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:$VERSION -t louislam/uptime-kuma:beta . --target release --push && node ./extra/press-any-key.js && npm run upload-artifacts",
"git-remove-tag": "git tag -d",
"build-dist-and-restart": "npm run build && npm run start-server-dev",
"start-pr-test": "node extra/checkout-pr.js && npm install && npm run dev",
"cy:test": "node test/prepare-test-server.js && node server/server.js --port=3002 --data-dir=./data/test/ --e2e",
"cy:run": "npx cypress run --browser chrome --headless"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "~1.2.36",
"@fortawesome/free-regular-svg-icons": "~5.15.4",
"@fortawesome/free-solid-svg-icons": "~5.15.4",
"@fortawesome/vue-fontawesome": "~3.0.0-4",
"@louislam/sqlite3": "~6.0.0",
"@popperjs/core": "~2.10.2",
"@louislam/sqlite3": "~15.0.6",
"args-parser": "~1.3.0",
"axios": "~0.21.4",
"axios": "~0.27.0",
"axios-ntlm": "^1.3.0",
"badge-maker": "^3.3.1",
"bcryptjs": "~2.4.3",
"bootstrap": "~5.1.1",
"bree": "~7.1.5",
"cacheable-lookup": "~6.0.4",
"chardet": "^1.3.0",
"bree": "~6.3.1",
"chart.js": "~3.5.1",
"chartjs-adapter-dayjs": "~1.0.0",
"check-password-strength": "^2.0.5",
"cheerio": "^1.0.0-rc.10",
"chroma-js": "^2.1.2",
"command-exists": "~1.2.9",
"compare-versions": "~3.6.0",
"dayjs": "~1.10.7",
"express": "~4.17.1",
"express-basic-auth": "~1.2.0",
"compression": "^1.7.4",
"dayjs": "^1.11.0",
"express": "~4.17.3",
"express-basic-auth": "~1.2.1",
"express-static-gzip": "^2.1.7",
"form-data": "~4.0.0",
"http-graceful-shutdown": "~3.1.4",
"http-graceful-shutdown": "~3.1.7",
"http-proxy-agent": "^5.0.0",
"https-proxy-agent": "^5.0.0",
"iconv-lite": "^0.6.3",
"jsonwebtoken": "~8.5.1",
"jwt-decode": "^3.1.2",
"limiter": "^2.1.0",
"mqtt": "^4.2.8",
"mssql": "^8.1.0",
"node-cloudflared-tunnel": "~1.0.9",
"node-radius-client": "^1.0.0",
"nodemailer": "~6.6.5",
"notp": "~2.0.3",
"password-hash": "~1.2.2",
"postcss-rtlcss": "~3.4.1",
"postcss-scss": "~4.0.1",
"pg": "^8.7.3",
"pg-connection-string": "^2.5.0",
"prom-client": "~13.2.0",
"prometheus-api-metrics": "~3.2.0",
"qrcode": "~1.4.4",
"redbean-node": "0.1.2",
"socket.io": "~4.2.0",
"socket.io-client": "~4.2.0",
"prometheus-api-metrics": "~3.2.1",
"redbean-node": "0.1.4",
"socket.io": "~4.4.1",
"socket.io-client": "~4.4.1",
"socks-proxy-agent": "6.1.1",
"tar": "^6.1.11",
"tcp-ping": "~0.1.1",
"thirty-two": "~1.0.2",
"thirty-two": "~1.0.2"
},
"devDependencies": {
"@actions/github": "~5.0.1",
"@babel/eslint-parser": "~7.17.0",
"@babel/preset-env": "^7.15.8",
"@fortawesome/fontawesome-svg-core": "~1.2.36",
"@fortawesome/free-regular-svg-icons": "~5.15.4",
"@fortawesome/free-solid-svg-icons": "~5.15.4",
"@fortawesome/vue-fontawesome": "~3.0.0-5",
"@popperjs/core": "~2.10.2",
"@types/bootstrap": "~5.1.9",
"@vitejs/plugin-legacy": "~2.1.0",
"@vitejs/plugin-vue": "~3.1.0",
"@vue/compiler-sfc": "~3.2.36",
"aedes": "^0.46.3",
"babel-plugin-rewire": "~1.2.0",
"bootstrap": "5.1.3",
"chart.js": "~3.6.2",
"chartjs-adapter-dayjs": "~1.0.0",
"concurrently": "^7.1.0",
"core-js": "~3.18.3",
"cross-env": "~7.0.3",
"cypress": "^10.1.0",
"delay": "^5.0.0",
"dns2": "~2.0.1",
"eslint": "~8.14.0",
"eslint-plugin-vue": "~8.7.1",
"favico.js": "^0.3.10",
"jest": "~27.2.5",
"jest-puppeteer": "~6.0.3",
"postcss-html": "~1.5.0",
"postcss-rtlcss": "~3.7.2",
"postcss-scss": "~4.0.4",
"prismjs": "^1.27.0",
"puppeteer": "~13.1.3",
"qrcode": "~1.5.0",
"rollup-plugin-visualizer": "^5.6.0",
"sass": "~1.42.1",
"stylelint": "~14.7.1",
"stylelint-config-standard": "~25.0.0",
"terser": "^5.15.0",
"timezones-list": "~3.0.1",
"v-pagination-3": "~0.1.6",
"typescript": "~4.4.4",
"v-pagination-3": "~0.1.7",
"vite": "~3.1.0",
"vite-plugin-compression": "^0.5.1",
"vue": "next",
"vue-chart-3": "~0.5.8",
"vue-chart-3": "3.0.9",
"vue-confirm-dialog": "~1.0.2",
"vue-contenteditable": "~3.0.4",
"vue-i18n": "~9.1.9",
"vue-image-crop-upload": "~3.0.3",
"vue-multiselect": "~3.0.0-alpha.2",
"vue-prism-editor": "^2.0.0-alpha.2",
"vue-qrcode": "~1.0.0",
"vue-router": "~4.0.11",
"vue-toastification": "~2.0.0-rc.1",
"vuedraggable": "~4.1.0"
},
"devDependencies": {
"@babel/eslint-parser": "~7.15.7",
"@babel/preset-env": "^7.15.8",
"@types/bootstrap": "~5.1.6",
"@vitejs/plugin-legacy": "~1.6.1",
"@vitejs/plugin-vue": "~1.9.2",
"@vue/compiler-sfc": "~3.2.19",
"babel-plugin-rewire": "~1.2.0",
"core-js": "~3.18.1",
"cross-env": "~7.0.3",
"dns2": "~2.0.1",
"eslint": "~7.32.0",
"eslint-plugin-vue": "~7.18.0",
"jest": "~27.2.4",
"jest-puppeteer": "~6.0.0",
"puppeteer": "~10.4.0",
"sass": "~1.42.1",
"stylelint": "~13.13.1",
"stylelint-config-standard": "~22.0.0",
"typescript": "~4.4.3",
"vite": "~2.6.4"
"vue-router": "~4.0.14",
"vue-toastification": "~2.0.0-rc.5",
"vuedraggable": "~4.1.0",
"wait-on": "^6.0.1"
}
}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 893 B

18
server/2fa.js Normal file
View File

@@ -0,0 +1,18 @@
const { R } = require("redbean-node");
class TwoFA {
/**
* Disable 2FA for specified user
* @param {number} userID ID of user to disable
* @returns {Promise<void>}
*/
static async disable2FA(userID) {
return await R.exec("UPDATE `user` SET twofa_status = 0 WHERE id = ? ", [
userID,
]);
}
}
module.exports = TwoFA;

View File

@@ -1,19 +1,23 @@
const basicAuth = require("express-basic-auth")
const basicAuth = require("express-basic-auth");
const passwordHash = require("./password-hash");
const { R } = require("redbean-node");
const { setting } = require("./util-server");
const { debug } = require("../src/util");
const { loginRateLimiter } = require("./rate-limiter");
/**
*
* @param username : string
* @param password : string
* @returns {Promise<Bean|null>}
* Login to web app
* @param {string} username
* @param {string} password
* @returns {Promise<(Bean|null)>}
*/
exports.login = async function (username, password) {
if (typeof username !== "string" || typeof password !== "string") {
return null;
}
let user = await R.findOne("user", " username = ? AND active = 1 ", [
username,
])
]);
if (user && passwordHash.verify(password, user.password)) {
// Upgrade the hash to bcrypt
@@ -27,25 +31,50 @@ exports.login = async function (username, password) {
}
return null;
}
};
/**
* Callback for myAuthorizer
* @callback myAuthorizerCB
* @param {any} err Any error encountered
* @param {boolean} authorized Is the client authorized?
*/
/**
* Custom authorizer for express-basic-auth
* @param {string} username
* @param {string} password
* @param {myAuthorizerCB} callback
*/
function myAuthorizer(username, password, callback) {
setting("disableAuth").then((result) => {
if (result) {
callback(null, true)
} else {
// Login Rate Limit
loginRateLimiter.pass(null, 0).then((pass) => {
if (pass) {
exports.login(username, password).then((user) => {
callback(null, user != null)
})
}
})
callback(null, user != null);
if (user == null) {
loginRateLimiter.removeTokens(1);
}
});
} else {
callback(null, false);
}
});
}
exports.basicAuth = basicAuth({
exports.basicAuth = async function (req, res, next) {
const middleware = basicAuth({
authorizer: myAuthorizer,
authorizeAsync: true,
challenge: true,
});
});
const disabledAuth = await setting("disableAuth");
if (!disabledAuth) {
middleware(req, res, next);
} else {
next();
}
};

View File

@@ -0,0 +1,54 @@
const https = require("https");
const http = require("http");
const CacheableLookup = require("cacheable-lookup");
class CacheableDnsHttpAgent {
static cacheable = new CacheableLookup();
static httpAgentList = {};
static httpsAgentList = {};
/**
* Register cacheable to global agents
*/
static registerGlobalAgent() {
this.cacheable.install(http.globalAgent);
this.cacheable.install(https.globalAgent);
}
static install(agent) {
this.cacheable.install(agent);
}
/**
* @var {https.AgentOptions} agentOptions
* @return {https.Agent}
*/
static getHttpsAgent(agentOptions) {
let key = JSON.stringify(agentOptions);
if (!(key in this.httpsAgentList)) {
this.httpsAgentList[key] = new https.Agent(agentOptions);
this.cacheable.install(this.httpsAgentList[key]);
}
return this.httpsAgentList[key];
}
/**
* @var {http.AgentOptions} agentOptions
* @return {https.Agents}
*/
static getHttpAgent(agentOptions) {
let key = JSON.stringify(agentOptions);
if (!(key in this.httpAgentList)) {
this.httpAgentList[key] = new http.Agent(agentOptions);
this.cacheable.install(this.httpAgentList[key]);
}
return this.httpAgentList[key];
}
}
module.exports = {
CacheableDnsHttpAgent,
};

View File

@@ -1,26 +1,40 @@
const { setSetting } = require("./util-server");
const { setSetting, setting } = require("./util-server");
const axios = require("axios");
const compareVersions = require("compare-versions");
exports.version = require("../package.json").version;
exports.latestVersion = null;
let interval;
/** Start 48 hour check interval */
exports.startInterval = () => {
let check = async () => {
try {
const res = await axios.get("https://raw.githubusercontent.com/louislam/uptime-kuma/master/package.json");
if (typeof res.data === "string") {
res.data = JSON.parse(res.data);
}
const res = await axios.get("https://uptime.kuma.pet/version");
// For debug
if (process.env.TEST_CHECK_VERSION === "1") {
res.data.version = "1000.0.0";
res.data.slow = "1000.0.0";
}
if (await setting("checkUpdate") === false) {
return;
}
let checkBeta = await setting("checkBeta");
if (checkBeta && res.data.beta) {
if (compareVersions.compare(res.data.beta, res.data.beta, ">")) {
exports.latestVersion = res.data.beta;
return;
}
}
if (res.data.slow) {
exports.latestVersion = res.data.slow;
}
exports.latestVersion = res.data.version;
} catch (_) { }
};
@@ -29,6 +43,11 @@ exports.startInterval = () => {
interval = setInterval(check, 3600 * 1000 * 48);
};
/**
* Enable the check update feature
* @param {boolean} value Should the check update feature be enabled?
* @returns {Promise<void>}
*/
exports.enableCheckUpdate = async (value) => {
await setSetting("checkUpdate", value);

View File

@@ -3,10 +3,16 @@
*/
const { TimeLogger } = require("../src/util");
const { R } = require("redbean-node");
const { io } = require("./server");
const { UptimeKumaServer } = require("./uptime-kuma-server");
const io = UptimeKumaServer.getInstance().io;
const { setting } = require("./util-server");
const checkVersion = require("./check-version");
/**
* Send list of notification providers to client
* @param {Socket} socket Socket.io socket instance
* @returns {Promise<Bean[]>}
*/
async function sendNotificationList(socket) {
const timeLogger = new TimeLogger();
@@ -16,7 +22,10 @@ async function sendNotificationList(socket) {
]);
for (let bean of list) {
result.push(bean.export());
let notificationObject = bean.export();
notificationObject.isDefault = (notificationObject.isDefault === 1);
notificationObject.active = (notificationObject.active === 1);
result.push(notificationObject);
}
io.to(socket.userID).emit("notificationList", result);
@@ -28,8 +37,11 @@ async function sendNotificationList(socket) {
/**
* Send Heartbeat History list to socket
* @param toUser True = send to all browsers with the same user id, False = send to the current browser only
* @param overwrite Overwrite client-side's heartbeat list
* @param {Socket} socket Socket.io instance
* @param {number} monitorID ID of monitor to send heartbeat history
* @param {boolean} [toUser=false] True = send to all browsers with the same user id, False = send to the current browser only
* @param {boolean} [overwrite=false] Overwrite client-side's heartbeat list
* @returns {Promise<void>}
*/
async function sendHeartbeatList(socket, monitorID, toUser = false, overwrite = false) {
const timeLogger = new TimeLogger();
@@ -56,10 +68,11 @@ async function sendHeartbeatList(socket, monitorID, toUser = false, overwrite =
/**
* Important Heart beat list (aka event list)
* @param socket
* @param monitorID
* @param toUser True = send to all browsers with the same user id, False = send to the current browser only
* @param overwrite Overwrite client-side's heartbeat list
* @param {Socket} socket Socket.io instance
* @param {number} monitorID ID of monitor to send heartbeat history
* @param {boolean} [toUser=false] True = send to all browsers with the same user id, False = send to the current browser only
* @param {boolean} [overwrite=false] Overwrite client-side's heartbeat list
* @returns {Promise<void>}
*/
async function sendImportantHeartbeatList(socket, monitorID, toUser = false, overwrite = false) {
const timeLogger = new TimeLogger();
@@ -83,6 +96,27 @@ async function sendImportantHeartbeatList(socket, monitorID, toUser = false, ove
}
/**
* Emit proxy list to client
* @param {Socket} socket Socket.io socket instance
* @return {Promise<Bean[]>}
*/
async function sendProxyList(socket) {
const timeLogger = new TimeLogger();
const list = await R.find("proxy", " user_id = ? ", [ socket.userID ]);
io.to(socket.userID).emit("proxyList", list.map(bean => bean.export()));
timeLogger.print("Send Proxy List");
return list;
}
/**
* Emits the version information to the client.
* @param {Socket} socket Socket.io socket instance
* @returns {Promise<void>}
*/
async function sendInfo(socket) {
socket.emit("info", {
version: checkVersion.version,
@@ -91,10 +125,35 @@ async function sendInfo(socket) {
});
}
/**
* Send list of docker hosts to client
* @param {Socket} socket Socket.io socket instance
* @returns {Promise<Bean[]>}
*/
async function sendDockerHostList(socket) {
const timeLogger = new TimeLogger();
let result = [];
let list = await R.find("docker_host", " user_id = ? ", [
socket.userID,
]);
for (let bean of list) {
result.push(bean.toJSON());
}
io.to(socket.userID).emit("dockerHostList", result);
timeLogger.print("Send Docker Host List");
return list;
}
module.exports = {
sendNotificationList,
sendImportantHeartbeatList,
sendHeartbeatList,
sendInfo
sendProxyList,
sendInfo,
sendDockerHostList
};

View File

@@ -1,7 +1,20 @@
const args = require("args-parser")(process.argv);
const demoMode = args["demo"] || false;
const badgeConstants = {
naColor: "#999",
defaultUpColor: "#66c20a",
defaultDownColor: "#c2290a",
defaultPingColor: "blue", // as defined by badge-maker / shields.io
defaultStyle: "flat",
defaultPingValueSuffix: "ms",
defaultPingLabelSuffix: "h",
defaultUptimeValueSuffix: "%",
defaultUptimeLabelSuffix: "h",
};
module.exports = {
args,
demoMode
demoMode,
badgeConstants,
};

View File

@@ -1,7 +1,7 @@
const fs = require("fs");
const { R } = require("redbean-node");
const { setSetting, setting } = require("./util-server");
const { debug, sleep } = require("../src/util");
const { log, sleep } = require("../src/util");
const dayjs = require("dayjs");
const knex = require("knex");
@@ -50,7 +50,21 @@ class Database {
"patch-group-table.sql": true,
"patch-monitor-push_token.sql": true,
"patch-http-monitor-method-body-and-headers.sql": true,
}
"patch-2fa-invalidate-used-token.sql": true,
"patch-notification_sent_history.sql": true,
"patch-monitor-basic-auth.sql": true,
"patch-add-docker-columns.sql": true,
"patch-status-page.sql": true,
"patch-proxy.sql": true,
"patch-monitor-expiry-notification.sql": true,
"patch-status-page-footer-css.sql": true,
"patch-added-mqtt-monitor.sql": true,
"patch-add-clickable-status-page-link.sql": true,
"patch-add-sqlserver-monitor.sql": true,
"patch-add-other-auth.sql": { parents: [ "patch-monitor-basic-auth.sql" ] },
"patch-add-radius-monitor.sql": true,
"patch-monitor-add-resend-interval.sql": true,
};
/**
* The final version should be 10 after merged tag feature
@@ -60,6 +74,10 @@ class Database {
static noReject = true;
/**
* Initialize the database
* @param {Object} args Arguments to initialize DB with
*/
static init(args) {
// Data Directory (must be end with "/")
Database.dataDir = process.env.DATA_DIR || args["data-dir"] || "./data/";
@@ -74,10 +92,19 @@ class Database {
fs.mkdirSync(Database.uploadDir, { recursive: true });
}
console.log(`Data Dir: ${Database.dataDir}`);
log.info("db", `Data Dir: ${Database.dataDir}`);
}
static async connect() {
/**
* Connect to the database
* @param {boolean} [testMode=false] Should the connection be
* started in test mode?
* @param {boolean} [autoloadModels=true] Should models be
* automatically loaded?
* @param {boolean} [noLog=false] Should logs not be output?
* @returns {Promise<void>}
*/
static async connect(testMode = false, autoloadModels = true, noLog = false) {
const acquireConnectionTimeout = 120 * 1000;
const Dialect = require("knex/lib/dialects/sqlite3/index.js");
@@ -107,19 +134,39 @@ class Database {
// Auto map the model to a bean object
R.freeze(true);
if (autoloadModels) {
await R.autoloadModels("./server/model");
await R.exec("PRAGMA foreign_keys = ON");
// Change to WAL
await R.exec("PRAGMA journal_mode = WAL");
await R.exec("PRAGMA cache_size = -12000");
console.log("SQLite config:");
console.log(await R.getAll("PRAGMA journal_mode"));
console.log(await R.getAll("PRAGMA cache_size"));
console.log("SQLite Version: " + await R.getCell("SELECT sqlite_version()"));
}
await R.exec("PRAGMA foreign_keys = ON");
if (testMode) {
// Change to MEMORY
await R.exec("PRAGMA journal_mode = MEMORY");
} else {
// Change to WAL
await R.exec("PRAGMA journal_mode = WAL");
}
await R.exec("PRAGMA cache_size = -12000");
await R.exec("PRAGMA auto_vacuum = FULL");
// Avoid error "SQLITE_BUSY: database is locked" by allowing SQLITE to wait up to 5 seconds to do a write
await R.exec("PRAGMA busy_timeout = 5000");
// This ensures that an operating system crash or power failure will not corrupt the database.
// FULL synchronous is very safe, but it is also slower.
// Read more: https://sqlite.org/pragma.html#pragma_synchronous
await R.exec("PRAGMA synchronous = FULL");
if (!noLog) {
log.info("db", "SQLite config:");
log.info("db", await R.getAll("PRAGMA journal_mode"));
log.info("db", await R.getAll("PRAGMA cache_size"));
log.info("db", "SQLite Version: " + await R.getCell("SELECT sqlite_version()"));
}
}
/** Patch the database */
static async patch() {
let version = parseInt(await setting("database_version"));
@@ -127,33 +174,39 @@ class Database {
version = 0;
}
console.info("Your database version: " + version);
console.info("Latest database version: " + this.latestVersion);
log.info("db", "Your database version: " + version);
log.info("db", "Latest database version: " + this.latestVersion);
if (version === this.latestVersion) {
console.info("Database no need to patch");
log.info("db", "Database patch not needed");
} else if (version > this.latestVersion) {
console.info("Warning: Database version is newer than expected");
log.info("db", "Warning: Database version is newer than expected");
} else {
console.info("Database patch is needed");
log.info("db", "Database patch is needed");
try {
this.backup(version);
} catch (e) {
log.error("db", e);
log.error("db", "Unable to create a backup before patching the database. Please make sure you have enough space and permission.");
process.exit(1);
}
// Try catch anything here, if gone wrong, restore the backup
try {
for (let i = version + 1; i <= this.latestVersion; i++) {
const sqlFile = `./db/patch${i}.sql`;
console.info(`Patching ${sqlFile}`);
log.info("db", `Patching ${sqlFile}`);
await Database.importSQLFile(sqlFile);
console.info(`Patched ${sqlFile}`);
log.info("db", `Patched ${sqlFile}`);
await setSetting("database_version", i);
}
} catch (ex) {
await Database.close();
console.error(ex);
console.error("Start Uptime-Kuma failed due to patch db failed");
console.error("Please submit the bug report if you still encounter the problem after restart: https://github.com/louislam/uptime-kuma/issues");
log.error("db", ex);
log.error("db", "Start Uptime-Kuma failed due to issue patching the database");
log.error("db", "Please submit a bug report if you still encounter the problem after restart: https://github.com/louislam/uptime-kuma/issues");
this.restore();
process.exit(1);
@@ -161,22 +214,25 @@ class Database {
}
await this.patch2();
await this.migrateNewStatusPage();
}
/**
* Patch DB using new process
* Call it from patch() only
* @private
* @returns {Promise<void>}
*/
static async patch2() {
console.log("Database Patch 2.0 Process");
log.info("db", "Database Patch 2.0 Process");
let databasePatchedFiles = await setting("databasePatchedFiles");
if (! databasePatchedFiles) {
databasePatchedFiles = {};
}
debug("Patched files:");
debug(databasePatchedFiles);
log.debug("db", "Patched files:");
log.debug("db", databasePatchedFiles);
try {
for (let sqlFilename in this.patchList) {
@@ -184,15 +240,15 @@ class Database {
}
if (this.patched) {
console.log("Database Patched Successfully");
log.info("db", "Database Patched Successfully");
}
} catch (ex) {
await Database.close();
console.error(ex);
console.error("Start Uptime-Kuma failed due to patch db failed");
console.error("Please submit the bug report if you still encounter the problem after restart: https://github.com/louislam/uptime-kuma/issues");
log.error("db", ex);
log.error("db", "Start Uptime-Kuma failed due to issue patching the database");
log.error("db", "Please submit the bug report if you still encounter the problem after restart: https://github.com/louislam/uptime-kuma/issues");
this.restore();
@@ -203,24 +259,95 @@ class Database {
}
/**
* Migrate status page value in setting to "status_page" table
* @returns {Promise<void>}
*/
static async migrateNewStatusPage() {
// Fix 1.13.0 empty slug bug
await R.exec("UPDATE status_page SET slug = 'empty-slug-recover' WHERE TRIM(slug) = ''");
let title = await setting("title");
if (title) {
console.log("Migrating Status Page");
let statusPageCheck = await R.findOne("status_page", " slug = 'default' ");
if (statusPageCheck !== null) {
console.log("Migrating Status Page - Skip, default slug record is already existing");
return;
}
let statusPage = R.dispense("status_page");
statusPage.slug = "default";
statusPage.title = title;
statusPage.description = await setting("description");
statusPage.icon = await setting("icon");
statusPage.theme = await setting("statusPageTheme");
statusPage.published = !!await setting("statusPagePublished");
statusPage.search_engine_index = !!await setting("searchEngineIndex");
statusPage.show_tags = !!await setting("statusPageTags");
statusPage.password = null;
if (!statusPage.title) {
statusPage.title = "My Status Page";
}
if (!statusPage.icon) {
statusPage.icon = "";
}
if (!statusPage.theme) {
statusPage.theme = "light";
}
let id = await R.store(statusPage);
await R.exec("UPDATE incident SET status_page_id = ? WHERE status_page_id IS NULL", [
id
]);
await R.exec("UPDATE [group] SET status_page_id = ? WHERE status_page_id IS NULL", [
id
]);
await R.exec("DELETE FROM setting WHERE type = 'statusPage'");
// Migrate Entry Page if it is status page
let entryPage = await setting("entryPage");
if (entryPage === "statusPage") {
await setSetting("entryPage", "statusPage-default", "general");
}
console.log("Migrating Status Page - Done");
}
}
/**
* Patch database using new patching process
* Used it patch2() only
* @private
* @param sqlFilename
* @param databasePatchedFiles
* @returns {Promise<void>}
*/
static async patch2Recursion(sqlFilename, databasePatchedFiles) {
let value = this.patchList[sqlFilename];
if (! value) {
console.log(sqlFilename + " skip");
log.info("db", sqlFilename + " skip");
return;
}
// Check if patched
if (! databasePatchedFiles[sqlFilename]) {
console.log(sqlFilename + " is not patched");
log.info("db", sqlFilename + " is not patched");
if (value.parents) {
console.log(sqlFilename + " need parents");
log.info("db", sqlFilename + " need parents");
for (let parentSQLFilename of value.parents) {
await this.patch2Recursion(parentSQLFilename, databasePatchedFiles);
}
@@ -228,24 +355,24 @@ class Database {
this.backup(dayjs().format("YYYYMMDDHHmmss"));
console.log(sqlFilename + " is patching");
log.info("db", sqlFilename + " is patching");
this.patched = true;
await this.importSQLFile("./db/" + sqlFilename);
databasePatchedFiles[sqlFilename] = true;
console.log(sqlFilename + " is patched successfully");
log.info("db", sqlFilename + " was patched successfully");
} else {
debug(sqlFilename + " is already patched, skip");
log.debug("db", sqlFilename + " is already patched, skip");
}
}
/**
* Sadly, multi sql statements is not supported by many sqlite libraries, I have to implement it myself
* @param filename
* Load an SQL file and execute it
* @param filename Filename of SQL file to import
* @returns {Promise<void>}
*/
static async importSQLFile(filename) {
// Sadly, multi sql statements is not supported by many sqlite libraries, I have to implement it myself
await R.getCell("SELECT 1");
let text = fs.readFileSync(filename).toString();
@@ -273,6 +400,10 @@ class Database {
}
}
/**
* Aquire a direct connection to database
* @returns {any}
*/
static getBetterSQLite3Database() {
return R.knex.client.acquireConnection();
}
@@ -287,7 +418,7 @@ class Database {
};
process.addListener("unhandledRejection", listener);
console.log("Closing DB");
log.info("db", "Closing the database");
while (true) {
Database.noReject = true;
@@ -297,10 +428,10 @@ class Database {
if (Database.noReject) {
break;
} else {
console.log("Waiting to close the db");
log.info("db", "Waiting to close the database");
}
}
console.log("SQLite closed");
log.info("db", "SQLite closed");
process.removeListener("unhandledRejection", listener);
}
@@ -308,11 +439,11 @@ class Database {
/**
* One backup one time in this process.
* Reset this.backupPath if you want to backup again
* @param version
* @param {string} version Version code of backup
*/
static backup(version) {
if (! this.backupPath) {
console.info("Backup the db");
log.info("db", "Backing up the database");
this.backupPath = this.dataDir + "kuma.db.bak" + version;
fs.copyFileSync(Database.path, this.backupPath);
@@ -327,15 +458,30 @@ class Database {
this.backupWalPath = walPath + ".bak" + version;
fs.copyFileSync(walPath, this.backupWalPath);
}
// Double confirm if all files actually backup
if (!fs.existsSync(this.backupPath)) {
throw new Error("Backup failed! " + this.backupPath);
}
if (fs.existsSync(shmPath)) {
if (!fs.existsSync(this.backupShmPath)) {
throw new Error("Backup failed! " + this.backupShmPath);
}
}
/**
*
*/
if (fs.existsSync(walPath)) {
if (!fs.existsSync(this.backupWalPath)) {
throw new Error("Backup failed! " + this.backupWalPath);
}
}
}
}
/** Restore from most recent backup */
static restore() {
if (this.backupPath) {
console.error("Patch db failed!!! Restoring the backup");
log.error("db", "Patching the database failed!!! Restoring the backup");
const shmPath = Database.path + "-shm";
const walPath = Database.path + "-wal";
@@ -354,7 +500,7 @@ class Database {
fs.unlinkSync(walPath);
}
} catch (e) {
console.log("Restore failed, you may need to restore the backup manually");
log.error("db", "Restore failed; you may need to restore the backup manually");
process.exit(1);
}
@@ -370,9 +516,25 @@ class Database {
}
} else {
console.log("Nothing to restore");
log.info("db", "Nothing to restore");
}
}
/** Get the size of the database */
static getSize() {
log.debug("db", "Database.getSize()");
let stats = fs.statSync(Database.path);
log.debug("db", stats);
return stats.size;
}
/**
* Shrink the database
* @returns {Promise<void>}
*/
static async shrink() {
await R.exec("VACUUM");
}
}
module.exports = Database;

106
server/docker.js Normal file
View File

@@ -0,0 +1,106 @@
const axios = require("axios");
const { R } = require("redbean-node");
const version = require("../package.json").version;
const https = require("https");
class DockerHost {
/**
* Save a docker host
* @param {Object} dockerHost Docker host to save
* @param {?number} dockerHostID ID of the docker host to update
* @param {number} userID ID of the user who adds the docker host
* @returns {Promise<Bean>}
*/
static async save(dockerHost, dockerHostID, userID) {
let bean;
if (dockerHostID) {
bean = await R.findOne("docker_host", " id = ? AND user_id = ? ", [ dockerHostID, userID ]);
if (!bean) {
throw new Error("docker host not found");
}
} else {
bean = R.dispense("docker_host");
}
bean.user_id = userID;
bean.docker_daemon = dockerHost.dockerDaemon;
bean.docker_type = dockerHost.dockerType;
bean.name = dockerHost.name;
await R.store(bean);
return bean;
}
/**
* Delete a Docker host
* @param {number} dockerHostID ID of the Docker host to delete
* @param {number} userID ID of the user who created the Docker host
* @returns {Promise<void>}
*/
static async delete(dockerHostID, userID) {
let bean = await R.findOne("docker_host", " id = ? AND user_id = ? ", [ dockerHostID, userID ]);
if (!bean) {
throw new Error("docker host not found");
}
// Delete removed proxy from monitors if exists
await R.exec("UPDATE monitor SET docker_host = null WHERE docker_host = ?", [ dockerHostID ]);
await R.trash(bean);
}
/**
* Fetches the amount of containers on the Docker host
* @param {Object} dockerHost Docker host to check for
* @returns {number} Total amount of containers on the host
*/
static async testDockerHost(dockerHost) {
const options = {
url: "/containers/json?all=true",
headers: {
"Accept": "*/*",
"User-Agent": "Uptime-Kuma/" + version
},
httpsAgent: new https.Agent({
maxCachedSessions: 0, // Use Custom agent to disable session reuse (https://github.com/nodejs/node/issues/3940)
rejectUnauthorized: false,
}),
};
if (dockerHost.dockerType === "socket") {
options.socketPath = dockerHost.dockerDaemon;
} else if (dockerHost.dockerType === "tcp") {
options.baseURL = dockerHost.dockerDaemon;
}
let res = await axios.request(options);
if (Array.isArray(res.data)) {
if (res.data.length > 1) {
if ("ImageID" in res.data[0]) {
return res.data.length;
} else {
throw new Error("Invalid Docker response, is it Docker really a daemon?");
}
} else {
return res.data.length;
}
} else {
throw new Error("Invalid Docker response, is it Docker really a daemon?");
}
}
}
module.exports = {
DockerHost,
};

View File

@@ -3,12 +3,21 @@
Modified with 0 dependencies
*/
let fs = require("fs");
const { log } = require("../src/util");
let ImageDataURI = (() => {
/**
* Decode the data:image/ URI
* @param {string} dataURI data:image/ URI to decode
* @returns {?Object} An object with properties "imageType" and "dataBase64".
* The former is the image type, e.g., "png", and the latter is a base64
* encoded string of the image's binary data. If it fails to parse, returns
* null instead of an object.
*/
function decode(dataURI) {
if (!/data:image\//.test(dataURI)) {
console.log("ImageDataURI :: Error :: It seems that it is not an Image Data URI. Couldn't match \"data:image/\"");
log.error("image-data-uri", "It seems that it is not an Image Data URI. Couldn't match \"data:image/\"");
return null;
}
@@ -20,9 +29,16 @@ let ImageDataURI = (() => {
};
}
/**
* Endcode an image into data:image/ URI
* @param {(Buffer|string)} data Data to encode
* @param {string} mediaType Media type of data
* @returns {(string|null)} A string representing the base64-encoded
* version of the given Buffer object or null if an error occurred.
*/
function encode(data, mediaType) {
if (!data || !mediaType) {
console.log("ImageDataURI :: Error :: Missing some of the required params: data, mediaType ");
log.error("image-data-uri", "Missing some of the required params: data, mediaType");
return null;
}
@@ -33,6 +49,12 @@ let ImageDataURI = (() => {
return dataImgBase64;
}
/**
* Write data URI to file
* @param {string} dataURI data:image/ URI
* @param {string} [filePath] Path to write file to
* @returns {Promise<string>}
*/
function outputFile(dataURI, filePath) {
filePath = filePath || "./";
return new Promise((resolve, reject) => {

View File

@@ -1,16 +1,22 @@
const path = require("path");
const Bree = require("bree");
const { SHARE_ENV } = require("worker_threads");
const { log } = require("../src/util");
let bree;
const jobs = [
{
name: "clear-old-data",
interval: "at 03:14",
}
},
];
/**
* Initialize background jobs
* @param {Object} args Arguments to pass to workers
* @returns {Bree}
*/
const initBackgroundJobs = function (args) {
const bree = new Bree({
bree = new Bree({
root: path.resolve("server", "jobs"),
jobs,
worker: {
@@ -18,7 +24,7 @@ const initBackgroundJobs = function (args) {
workerData: args,
},
workerMessageHandler: (message) => {
console.log("[Background Job]:", message);
log.info("jobs", message);
}
});
@@ -26,6 +32,13 @@ const initBackgroundJobs = function (args) {
return bree;
};
module.exports = {
initBackgroundJobs
const stopBackgroundJobs = function () {
if (bree) {
bree.stop();
}
};
module.exports = {
initBackgroundJobs,
stopBackgroundJobs
};

View File

@@ -30,7 +30,7 @@ const DEFAULT_KEEP_PERIOD = 180;
try {
await R.exec(
"DELETE FROM heartbeat WHERE time < DATETIME('now', '-' || ? || ' days') ",
[parsedPeriod]
[ parsedPeriod ]
);
} catch (e) {
log(`Failed to clear old data: ${e.message}`);

View File

@@ -2,14 +2,24 @@ const { parentPort, workerData } = require("worker_threads");
const Database = require("../database");
const path = require("path");
/**
* Send message to parent process for logging
* since worker_thread does not have access to stdout, this is used
* instead of console.log()
* @param {any} any The message to log
*/
const log = function (any) {
if (parentPort) {
parentPort.postMessage(any);
}
};
/**
* Exit the worker process
* @param {number} error The status code to exit
*/
const exit = function (error) {
if (error && error != 0) {
if (error && error !== 0) {
process.exit(error);
} else {
if (parentPort) {
@@ -20,6 +30,7 @@ const exit = function (error) {
}
};
/** Connects to the database */
const connectDb = async function () {
const dbPath = path.join(
process.env.DATA_DIR || workerData["data-dir"] || "./data/"

View File

@@ -0,0 +1,19 @@
const { BeanModel } = require("redbean-node/dist/bean-model");
class DockerHost extends BeanModel {
/**
* Returns an object that ready to parse to JSON
* @returns {Object}
*/
toJSON() {
return {
id: this.id,
userID: this.user_id,
dockerDaemon: this.docker_daemon,
dockerType: this.docker_type,
name: this.name,
};
}
}
module.exports = DockerHost;

View File

@@ -3,12 +3,18 @@ const { R } = require("redbean-node");
class Group extends BeanModel {
async toPublicJSON() {
/**
* Return an object that ready to parse to JSON for public
* Only show necessary data to public
* @param {boolean} [showTags=false] Should the JSON include monitor tags
* @returns {Object}
*/
async toPublicJSON(showTags = false) {
let monitorBeanList = await this.getMonitorList();
let monitorList = [];
for (let bean of monitorBeanList) {
monitorList.push(await bean.toPublicJSON());
monitorList.push(await bean.toPublicJSON(showTags));
}
return {
@@ -19,9 +25,13 @@ class Group extends BeanModel {
};
}
/**
* Get all monitors
* @returns {Bean[]}
*/
async getMonitorList() {
return R.convertToBeans("monitor", await R.getAll(`
SELECT monitor.* FROM monitor, monitor_group
SELECT monitor.*, monitor_group.send_url FROM monitor, monitor_group
WHERE monitor.id = monitor_group.monitor_id
AND group_id = ?
ORDER BY monitor_group.weight

View File

@@ -13,6 +13,11 @@ const { BeanModel } = require("redbean-node/dist/bean-model");
*/
class Heartbeat extends BeanModel {
/**
* Return an object that ready to parse to JSON for public
* Only show necessary data to public
* @returns {Object}
*/
toPublicJSON() {
return {
status: this.status,
@@ -22,6 +27,10 @@ class Heartbeat extends BeanModel {
};
}
/**
* Return an object that ready to parse to JSON
* @returns {Object}
*/
toJSON() {
return {
monitorID: this.monitor_id,

View File

@@ -2,6 +2,11 @@ const { BeanModel } = require("redbean-node/dist/bean-model");
class Incident extends BeanModel {
/**
* Return an object that ready to parse to JSON for public
* Only show necessary data to public
* @returns {Object}
*/
toPublicJSON() {
return {
id: this.id,

Some files were not shown because too many files have changed in this diff Show More