mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-24 02:15:59 +03:00
Merge branch 'master' into use_hideCount_option
This commit is contained in:
commit
741ed548da
12 changed files with 43 additions and 45 deletions
|
@ -1,5 +1,4 @@
|
|||
/.idea
|
||||
/dist
|
||||
/node_modules
|
||||
/data
|
||||
/out
|
||||
|
|
4
.github/ISSUE_TEMPLATE/ask-for-help.yaml
vendored
4
.github/ISSUE_TEMPLATE/ask-for-help.yaml
vendored
|
@ -62,8 +62,8 @@ body:
|
|||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: "👀 Have you spent some time to check if this question has been raised before?"
|
||||
description: "Please search in the issues without filters [here](https://github.com/louislam/uptime-kuma/issues?q=)"
|
||||
label: "⚠️ Please verify that this question 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 question"
|
||||
required: true
|
||||
|
|
4
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
|
@ -86,8 +86,8 @@ body:
|
|||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: "👀 Have you spent some time to check if this issue has been raised before?"
|
||||
description: "Please search in the issues without filters [here](https://github.com/louislam/uptime-kuma/issues?q=)"
|
||||
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
|
||||
|
|
4
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
4
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
|
@ -52,8 +52,8 @@ body:
|
|||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: "👀 Have you spent some time to check if this feature request has been raised before?"
|
||||
description: "Please search in the issues without filters [here](https://github.com/louislam/uptime-kuma/issues?q=)"
|
||||
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
|
||||
|
|
|
@ -226,10 +226,11 @@ https://github.com/louislam/uptime-kuma/issues?q=sort%3Aupdated-desc
|
|||
1. Draft a release note
|
||||
1. Make sure the repo is cleared
|
||||
1. `npm run update-version 1.X.X`
|
||||
1. `npm run build`
|
||||
1. `npm run build-docker`
|
||||
1. git push
|
||||
1. `git push`
|
||||
1. Publish the release note as 1.X.X
|
||||
1. npm run upload-artifacts
|
||||
1. `npm run upload-artifacts`
|
||||
1. SSH to demo site server and update to 1.X.X
|
||||
|
||||
Checking:
|
||||
|
|
|
@ -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,9 +20,11 @@ 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
|
||||
|
||||
|
||||
# Upload the artifact to Github
|
||||
FROM louislam/uptime-kuma:base-debian AS upload-artifact
|
||||
WORKDIR /
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "uptime-kuma",
|
||||
"version": "1.9.1",
|
||||
"version": "1.9.2",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
@ -30,13 +30,13 @@
|
|||
"build-docker": "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.1-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.1 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.9.1-debian --target release . --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.2-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.2 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.9.2-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-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 -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain",
|
||||
"setup": "git checkout 1.9.1 && npm ci --production && npm run download-dist",
|
||||
"setup": "git checkout 1.9.2 && 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",
|
||||
|
|
|
@ -9,18 +9,17 @@ let 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 (res.data.slow) {
|
||||
exports.latestVersion = res.data.slow;
|
||||
}
|
||||
|
||||
exports.latestVersion = res.data.version;
|
||||
} catch (_) { }
|
||||
|
||||
};
|
||||
|
|
|
@ -291,9 +291,8 @@ exports.entryPage = "dashboard";
|
|||
let user = await login(data.username, data.password);
|
||||
|
||||
if (user) {
|
||||
afterLogin(socket, user);
|
||||
|
||||
if (user.twofa_status == 0) {
|
||||
afterLogin(socket, user);
|
||||
callback({
|
||||
ok: true,
|
||||
token: jwt.sign({
|
||||
|
@ -312,6 +311,7 @@ exports.entryPage = "dashboard";
|
|||
let verify = notp.totp.verify(data.token, user.twofa_secret, twofa_verification_opts);
|
||||
|
||||
if (user.twofa_last_token !== data.token && verify) {
|
||||
afterLogin(socket, user);
|
||||
|
||||
await R.exec("UPDATE `user` SET twofa_last_token = ? WHERE id = ? ", [
|
||||
data.token,
|
||||
|
|
|
@ -5,7 +5,7 @@ export default {
|
|||
retriesDescription: "Broj ponovnih pokušaja prije nego će se servis označiti kao DOWN te poslati obavijest",
|
||||
ignoreTLSError: "Ignoriraj TLS/SSL pogreške za HTTPS web stranice",
|
||||
upsideDownModeDescription: "Preokreni logiku statusa. Ako je usluga dostupna, smatra se da je DOWN.",
|
||||
maxRedirectDescription: "Maksimalan broj preusmjeravanja. Postaviti na 0 kako bi se preusmeravanja onemogućila.",
|
||||
maxRedirectDescription: "Maksimalan broj preusmjeravanja. Postaviti na 0 kako bi se preusmjeravanja onemogućila.",
|
||||
acceptedStatusCodesDescription: "Odaberite statusne kodove koji se smatraju uspješnim odgovorom.",
|
||||
passwordNotMatchMsg: "Lozinke se ne poklapaju.",
|
||||
notificationDescription: "Obavijesti će funkcionirati samo ako su dodijeljene monitoru.",
|
||||
|
@ -20,7 +20,7 @@ export default {
|
|||
clearEventsMsg: "Jeste li sigurni da želite izbrisati sve zapise o događajima za ovaj monitor?",
|
||||
clearHeartbeatsMsg: "Jeste li sigurni da želite izbrisati sve zapise o provjerama za ovaj monitor?",
|
||||
confirmClearStatisticsMsg: "Jeste li sigurni da želite izbrisati SVE statistike?",
|
||||
importHandleDescription: "Odaberite opciju 'Preskoči postojeće' ako želite prekočiti uvoz već postojećih monitora i obavijesti. Opcija 'Prepiši' će izbrisati postojeće monitore i obavijesti.",
|
||||
importHandleDescription: "Odaberite opciju \"Preskoči postojeće\" ako želite preskočiti uvoz postojećih monitora i obavijesti ako dođe do poklapanja u imenu. Opcija \"Prepiši\" će izbrisati postojeće monitore i obavijesti.",
|
||||
confirmImportMsg: "Jeste li sigurni da želite pokrenuti uvoz? Provjerite jeste li odabrali ispravnu opciju uvoza.",
|
||||
twoFAVerifyLabel: "Unesite svoj 2FA token:",
|
||||
tokenValidSettingsMsg: "Token je važeći! Sada možete spremiti postavke dvofaktorske autentikacije.",
|
||||
|
@ -44,7 +44,7 @@ export default {
|
|||
Down: "Nedostupno",
|
||||
Pending: "U tijeku",
|
||||
Unknown: "Nepoznato",
|
||||
Pause: "Pauziraj",
|
||||
Pause: "Pauzirano",
|
||||
Name: "Naziv monitora",
|
||||
Status: "Status",
|
||||
DateTime: "Vremenska oznaka",
|
||||
|
@ -77,7 +77,7 @@ export default {
|
|||
"Max. Redirects": "Maksimalan broj preusmjeravanja",
|
||||
"Accepted Status Codes": "Prihvaćeni statusni kodovi",
|
||||
"Push URL": "Push URL",
|
||||
needPushEvery: "Potrebno je zvati ovaj URL svakih {0} sekundi.",
|
||||
needPushEvery: "Potrebno je slati zahtjeve na URL svakih {0} sekundi.",
|
||||
pushOptionalParams: "Neobavezni parametri: {0}",
|
||||
Save: "Spremi",
|
||||
Notifications: "Obavijesti",
|
||||
|
@ -135,9 +135,9 @@ export default {
|
|||
Events: "Events",
|
||||
Heartbeats: "Provjere",
|
||||
"Auto Get": "Automatski dohvat",
|
||||
backupDescription: "Moguće je napraviti sigurnosnu kopiju svih monitora i obavijesti u JSON datoteku.",
|
||||
backupDescription: "Moguće je napraviti sigurnosnu kopiju svih monitora i obavijesti koja će biti spremljena kao JSON datoteka.",
|
||||
backupDescription2: "Napomena: povijest i podaci o događajima nisu uključeni u sigurnosnu kopiju.",
|
||||
backupDescription3: "Osjetljivi podaci poput tokena za obavijesti jesu uključeni u izvozu; potrebno je čuvati izvoz na sigurnom mjestu.",
|
||||
backupDescription3: "Osjetljivi podaci poput tokena za obavijesti jesu uključeni u sigurnosnu kopiju. Zato je potrebno čuvati izvoz na sigurnom mjestu.",
|
||||
alertNoFile: "Datoteka za uvoz nije odabrana.",
|
||||
alertWrongFileType: "Datoteka za uvoz nije u JSON formatu.",
|
||||
"Clear all statistics": "Obriši sve statistike",
|
||||
|
@ -197,14 +197,14 @@ export default {
|
|||
webhook: "Webhook",
|
||||
"Post URL": "Post URL",
|
||||
"Content Type": "Tip sadržaja (Content Type)",
|
||||
webhookJsonDesc: "{0} je moguća opcija za moderne HTTP poslužitelje poput Express.js-a",
|
||||
webhookJsonDesc: "{0} je dobra opcija za moderne HTTP poslužitelje poput Express.js-a",
|
||||
webhookFormDataDesc: "{multipart} je moguća alternativa za PHP, samo je potrebno parsirati JSON koristeći {decodeFunction}",
|
||||
smtp: "E-pošta (SMTP)",
|
||||
secureOptionNone: "Bez sigurnosti / STARTTLS (25, 587)",
|
||||
secureOptionTLS: "TLS (465)",
|
||||
"Ignore TLS Error": "Ignoriraj greške TLS-a",
|
||||
"From Email": "Adresa za From polje",
|
||||
emailCustomSubject: "Prilagođeno Subject polje",
|
||||
"From Email": "Adresa za \"From\" polje",
|
||||
emailCustomSubject: "Prilagođeno \"Subject\" polje",
|
||||
"To Email": "Odredišne adrese e-pošte",
|
||||
smtpCC: "Cc",
|
||||
smtpBCC: "Bcc",
|
||||
|
@ -233,7 +233,7 @@ export default {
|
|||
"Uptime Kuma URL": "Uptime Kuma URL",
|
||||
aboutWebhooks: "Dodatne informacije o webhookovima su dostupne na: {0}",
|
||||
aboutChannelName: "Unesite ime {0} kanala u polju Naziv kanala ako želite zaobići webhook kanal. Primjerice: #neki-kanal",
|
||||
aboutKumaURL: "Ako je polje Uptime Kuma URL prazno, koristi se zadana vrijednost koja vodi na GitHub stranicu projekta.",
|
||||
aboutKumaURL: "Ako je polje \"Uptime Kuma URL\" prazno, koristi se zadana vrijednost koja vodi na GitHub stranicu projekta.",
|
||||
emojiCheatSheet: "Popis emotikona: {0}",
|
||||
"rocket.chat": "Rocket.Chat",
|
||||
pushover: "Pushover",
|
||||
|
@ -252,7 +252,7 @@ export default {
|
|||
"Notification Sound": "Zvuk obavijesti",
|
||||
"More info on:": "Više informacija na: {0}",
|
||||
pushoverDesc1: "Hitni prioritet (2) ima zadani istek vremena od 30 sekundi između ponovnih pokušaja te će isteći nakon 1 sata.",
|
||||
pushoverDesc2: "Ako želite slati obavijesti na više uređaja, ispunite polje Uređaji.",
|
||||
pushoverDesc2: "Ako želite slati obavijesti na više uređaja, ispunite polje \"Uređaji\".",
|
||||
"SMS Type": "Tip SMS-a",
|
||||
octopushTypePremium: "Premium (Brzo - preporučeno za obavijesti)",
|
||||
octopushTypeLowCost: "Low Cost (Sporo - mobilni operateri ponekad blokiraju ove poruke)",
|
||||
|
@ -277,7 +277,7 @@ export default {
|
|||
"Basic Settings": "Osnovne Postavke",
|
||||
"User ID": "Korisnički ID",
|
||||
"Messaging API": "API za razmjenu poruka",
|
||||
wayToGetLineChannelToken: "Prvo, pristupite {0}, kreirajte create a pružatelja usluga te kanal (API za razmjenu poruka), zatim možete dobiti you can get the token za pristup kanalu te korisnički ID za polja iznad.",
|
||||
wayToGetLineChannelToken: "Prvo, pristupite {0}, kreirajte pružatelja usluga te kanal (API za razmjenu poruka), zatim možete dobiti token za pristup kanalu te korisnički ID za polja iznad.",
|
||||
"Icon URL": "URL slike",
|
||||
aboutIconURL: "Možete postaviti poveznicu na sliku u polju \"URL slike\" kako biste spriječili korištenje zadane slike. Ovo se polje neće koristiti ako je postavljeno polje \"Emotikon\".",
|
||||
aboutMattermostChannelName: "Možete promijeniti kanal u kojeg webhook šalje tako da ispunite polje \"Naziv kanala\". Ta opcija mora biti omogućena unutar Mattermost postavki za webhook. Primjerice: #neki-kanal",
|
||||
|
@ -286,19 +286,19 @@ export default {
|
|||
promosmsTypeFlash: "SMS FLASH - Poruka se automatski pojavljuje na uređaju primatelja. Ograničeno samo na primatelje unutar Poljske.",
|
||||
promosmsTypeFull: "SMS FULL - Premium razina usluge, dozvoljava postavljanje naziva SMS pošiljatelja (Naziv mora biti registriran). Usluga pouzdana za obavijesti.",
|
||||
promosmsTypeSpeed: "SMS SPEED - Usluga najvećeg prioriteta. Brza i pouzdana, ali skupa (otprilike dvostruko skuplja od cijene usluge SMS FULL).",
|
||||
promosmsPhoneNumber: "Telefonski broj (za primitalje unutar Poljske nije potrebno navoditi pozivni broj države)",
|
||||
promosmsPhoneNumber: "Telefonski broj (za primatelje unutar Poljske nije potrebno navoditi pozivni broj države)",
|
||||
promosmsSMSSender: "Naziv SMS pošiljatelja: Registriran naziv ili jedan od zadanih: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
|
||||
"Feishu WebHookUrl": "Feishu URL webhooka",
|
||||
matrixHomeserverURL: "URL homeservera (uključujući http(s):// te port, ako je potrebno)",
|
||||
matrixHomeserverURL: "URL Matrix homeservera (uključujući http(s):// te port, ako je potrebno)",
|
||||
"Internal Room Id": "Interni ID sobe",
|
||||
matrixDesc1: "Interni ID sobe se može pronaći u naprednim postavkama sobe unutar Matrix klijenta. ID sobe nalikuje idućem zapisu: !QMdRCpUIfLwsfjxye6:home.server.",
|
||||
matrixDesc2: "Preporuča se stvaranje novog korisnika te suzdržavanje od korištenja pristupnog tokena vlastitog Matrix korisnika. Novog korisnika potrebno je dodati u sobe u kojima želite primati obavijesti. Pristupni token možete dobiti pokretanjem naredbe {0}",
|
||||
matrixDesc2: "Preporučuje se stvaranje novog korisnika te suzdržavanje od korištenja pristupnog tokena vlastitog Matrix korisnika. Novog korisnika potrebno je dodati u sobe u kojima želite primati obavijesti. Pristupni token možete dobiti pokretanjem naredbe {0}",
|
||||
Method: "Metoda",
|
||||
Body: "Tijelo",
|
||||
Headers: "Zaglavlja",
|
||||
PushUrl: "Push URL",
|
||||
HeadersInvalidFormat: "Zaglavlja nisu nije valjani JSON: ",
|
||||
BodyInvalidFormat: "Tijelo zahjeva nije valjani JSON: ",
|
||||
BodyInvalidFormat: "Tijelo zahtjeva nije valjani JSON: ",
|
||||
"Monitor History": "Povijest monitora",
|
||||
clearDataOlderThan: "Podaci o povijesti monitora čuvaju se {0} dana.",
|
||||
PasswordsDoNotMatch: "Lozinke se ne poklapaju.",
|
||||
|
|
|
@ -265,10 +265,10 @@ export default {
|
|||
},
|
||||
|
||||
logout() {
|
||||
socket.emit("logout", () => { });
|
||||
this.storage().removeItem("token");
|
||||
this.socket.token = null;
|
||||
this.loggedIn = false;
|
||||
|
||||
this.clearData();
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in a new issue