diff --git a/package.json b/package.json index bbe3cbf0..ee6e7af6 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "minecraft-ping-js": "^1.0.2", "next": "^12.3.1", "next-i18next": "^12.0.1", - "node-os-utils": "^1.3.7", + "osx-temperature-sensor": "^1.0.8", "pretty-bytes": "^6.0.0", "raw-body": "^2.5.1", "react": "^18.2.0", @@ -32,6 +32,7 @@ "react-icons": "^4.4.0", "shvl": "^3.0.0", "swr": "^1.3.0", + "systeminformation": "^5.17.12", "tough-cookie": "^4.1.2", "winston": "^3.8.2", "xml-js": "^1.6.11" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3ce3fcd..fabcb86a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,7 +25,7 @@ specifiers: minecraft-ping-js: ^1.0.2 next: ^12.3.1 next-i18next: ^12.0.1 - node-os-utils: ^1.3.7 + osx-temperature-sensor: ^1.0.8 postcss: ^8.4.16 prettier: ^2.7.1 pretty-bytes: ^6.0.0 @@ -36,6 +36,7 @@ specifiers: react-icons: ^4.4.0 shvl: ^3.0.0 swr: ^1.3.0 + systeminformation: ^5.17.12 tailwind-scrollbar: ^2.0.1 tailwindcss: ^3.1.8 tough-cookie: ^4.1.2 @@ -57,7 +58,7 @@ dependencies: minecraft-ping-js: 1.0.2 next: 12.3.1_biqbaboplfbrettd7655fr4n2y next-i18next: 12.0.1_azq6kxkn3od7qdylwkyksrwopy - node-os-utils: 1.3.7 + osx-temperature-sensor: 1.0.8 pretty-bytes: 6.0.0 raw-body: 2.5.1 react: 18.2.0 @@ -66,6 +67,7 @@ dependencies: react-icons: 4.4.0_react@18.2.0 shvl: 3.0.0 swr: 1.3.0_react@18.2.0 + systeminformation: 5.17.12 tough-cookie: 4.1.2 winston: 3.8.2 xml-js: 1.6.11 @@ -2301,10 +2303,6 @@ packages: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false - /node-os-utils/1.3.7: - resolution: {integrity: sha512-fvnX9tZbR7WfCG5BAy3yO/nCLyjVWD6MghEq0z5FDfN+ZXpLWNITBdbifxQkQ25ebr16G0N7eRWJisOcMEHG3Q==} - dev: false - /node-releases/2.0.6: resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} dev: true @@ -2446,6 +2444,13 @@ packages: word-wrap: 1.2.3 dev: true + /osx-temperature-sensor/1.0.8: + resolution: {integrity: sha512-Gl3b+bn7+oDDnqPa+4v/cg3yg9lnE8ppS7ivL3opBZh4i7h99JNmkm6zWmo0m2a83UUJu+C9D7lGP0OS8IlehA==} + engines: {node: '>=4.0.0'} + os: [darwin] + requiresBuild: true + dev: false + /p-limit/3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -3063,6 +3068,13 @@ packages: react: 18.2.0 dev: false + /systeminformation/5.17.12: + resolution: {integrity: sha512-I3pfMW2vue53u+X08BNxaJieaHkRoMMKjWetY9lbYJeWFaeWPO6P4FkNc4XOCX8F9vbQ0HqQ25RJoz3U/B7liw==} + engines: {node: '>=8.0.0'} + os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] + hasBin: true + dev: false + /tailwind-scrollbar/2.0.1_tailwindcss@3.1.8: resolution: {integrity: sha512-OcR7qHBbux4k+k6bWqnEQFYFooLK/F4dhkBz6nvswIoaA9ancZ5h20e0tyV7ifSWLDCUBtpG+1NHRA8HMRH/wg==} engines: {node: '>=12.13.0'} diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 1e0253b2..e7d0cf32 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -23,7 +23,14 @@ "free": "متاح", "used": "مستخدم", "load": "الضغط", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "المستخدمون", @@ -288,7 +295,11 @@ "glances": { "cpu": "معالج", "mem": "الذاكرة", - "wait": "الرجاء الإنتظار" + "wait": "الرجاء الإنتظار", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "مفضلة", diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 796ea742..e8c4d63d 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -33,7 +33,14 @@ "free": "Свободни", "used": "Заети", "load": "Натоварване", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Потребители", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 73b69afe..cf001534 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -39,7 +39,14 @@ "used": "Utilitzat", "load": "Càrrega", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "Rebut", @@ -226,7 +233,11 @@ "glances": { "cpu": "Processador", "mem": "Memòria", - "wait": "Si us plau, espereu" + "wait": "Si us plau, espereu", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total d'observats", diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 90c04308..b5c7d146 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -35,7 +35,14 @@ "free": "Volné", "used": "Využité", "load": "Vytížení", - "mem": "RAM" + "mem": "RAM", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m", + "temp": "TEMP" }, "unifi": { "users": "Uživatelé", @@ -300,7 +307,11 @@ "glances": { "cpu": "CPU", "mem": "RAM", - "wait": "Prosím počkejte" + "wait": "Prosím počkejte", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Záložka", diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 03dc7667..9b5c43b8 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -68,7 +68,11 @@ "glances": { "cpu": "CPU", "mem": "RAM", - "wait": "Vent venligst" + "wait": "Vent venligst", + "uptime": "UP", + "days": "d", + "hours": "h", + "temp": "TEMP" }, "wmo": { "1-day": "Hovedsageligt solrigt", @@ -163,7 +167,14 @@ "free": "Fri", "used": "Brugt", "load": "Belastning", - "mem": "MEM" + "mem": "MEM", + "hours": "h", + "minutes": "m", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d" }, "unifi": { "users": "Brugere", diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 2fb21c8b..b1ce4eef 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -17,7 +17,14 @@ "used": "Gebraucht", "load": "Last", "cpu": "CPU", - "mem": "RAM" + "mem": "RAM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "Rx", @@ -226,7 +233,11 @@ "glances": { "cpu": "Prozessor", "mem": "RAM", - "wait": "Bitte warten" + "wait": "Bitte warten", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Gesamt beobachtet", diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 92f42926..3eb3c478 100755 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -36,7 +36,14 @@ "total": "Total", "free": "Free", "used": "Used", - "load": "Load" + "load": "Load", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Users", @@ -298,7 +305,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Bookmark", diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index d28f8afa..5b326c2b 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -23,7 +23,14 @@ "free": "Libera", "used": "Uzata", "load": "Ŝarĝo", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "months": "mo", + "max": "Max", + "uptime": "UP", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Uzantoj", @@ -244,7 +251,11 @@ "glances": { "cpu": "Ĉefprocesoro", "mem": "Memoro", - "wait": "Bonvolu atendi" + "wait": "Bonvolu atendi", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Bookmark", diff --git a/public/locales/es/common.json b/public/locales/es/common.json index dd3a5d5d..a680a695 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -17,7 +17,14 @@ "used": "Usado", "load": "Carga", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "Recibido", @@ -226,7 +233,11 @@ "glances": { "cpu": "Procesador", "mem": "Memoria", - "wait": "Espere por favor" + "wait": "Espere por favor", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observados", diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 6b00fb31..48a40bf2 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -23,7 +23,14 @@ "free": "Vapaana", "used": "Käytetty", "load": "Kuorma", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "RX", @@ -226,7 +233,11 @@ "glances": { "wait": "Please wait", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 2b2a7a45..eb9ca02a 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -17,7 +17,14 @@ "used": "Utilisé", "load": "Charge", "cpu": "CPU", - "mem": "MÉM" + "mem": "MÉM", + "max": "Max", + "temp": "TEMP", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "Rx", @@ -226,7 +233,11 @@ "glances": { "cpu": "Cpu", "mem": "Mém", - "wait": "Merci de patienter" + "wait": "Merci de patienter", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observé", diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 61dbcbeb..8379516a 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -23,7 +23,14 @@ "used": "בשימוש", "load": "עומס", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "RX", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 7ac95d6c..d00b72f4 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -57,7 +57,14 @@ "free": "Free", "used": "Used", "load": "Load", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Users", @@ -234,7 +241,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Bookmark", diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 75fa1acd..9097ee31 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -14,7 +14,14 @@ "used": "Korišteno", "load": "Opterećenje", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "minutes": "m", + "max": "Max", + "uptime": "UP", + "months": "mo", + "temp": "TEMP", + "days": "d", + "hours": "h" }, "sabnzbd": { "rate": "Stopa", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Pričekaj" + "wait": "Pričekaj", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Ukupno promatrano", diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index a84883e4..9c56c8f0 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -5,7 +5,14 @@ "used": "Használt", "load": "Terhelés", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "RX", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 4b99206e..35fe4356 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -64,7 +64,14 @@ "used": "In utilizzo", "load": "Carico", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "rutorrent": { "active": "Attivo", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Attendere prego" + "wait": "Attendere prego", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Totale Osservato", diff --git a/public/locales/ja/common.json b/public/locales/ja/common.json index 6eb3dbbd..b5571583 100644 --- a/public/locales/ja/common.json +++ b/public/locales/ja/common.json @@ -17,7 +17,11 @@ "glances": { "mem": "MEM", "cpu": "CPU", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "autobrr": { "filters": "Filters", @@ -58,7 +62,14 @@ "free": "Free", "used": "Used", "load": "Load", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Users", diff --git a/public/locales/ko/common.json b/public/locales/ko/common.json index 97c2bc2a..1293ce9c 100644 --- a/public/locales/ko/common.json +++ b/public/locales/ko/common.json @@ -41,7 +41,14 @@ "total": "총합", "free": "남음", "used": "사용", - "load": "부하" + "load": "부하", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "사용자", @@ -293,7 +300,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Bookmark", diff --git a/public/locales/lv/common.json b/public/locales/lv/common.json index 0b09474d..ea7c4f5c 100644 --- a/public/locales/lv/common.json +++ b/public/locales/lv/common.json @@ -27,7 +27,14 @@ "free": "Brīvs", "used": "Izmantojas", "load": "Ielādē", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Lietotāji", @@ -282,7 +289,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "uptime": "UP", + "days": "d", + "hours": "h", + "temp": "TEMP" }, "quicklaunch": { "bookmark": "Bookmark", diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 9f1632e6..13a9a35e 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -5,7 +5,14 @@ "free": "Bebas", "used": "Telah diguna", "load": "Beban", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "uptime": "Masa Operasi Sistem", @@ -60,7 +67,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Sila tunggu" + "wait": "Sila tunggu", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Tandabuku", diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index b77e36e6..16f71315 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -17,7 +17,14 @@ "used": "Brukt", "load": "Last inn", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "Mottatt", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 2e51f577..dfbdbb62 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -1,6 +1,6 @@ { "widget": { - "missing_type": "Missing Widget Type: {{type}}", + "missing_type": "Missend Widget Type: {{type}}", "api_error": "API Error", "status": "Status", "information": "Informatie", @@ -14,7 +14,14 @@ "used": "Gebruikt", "load": "Laadt", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "days": "d", + "hours": "h", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "minutes": "m" }, "docker": { "rx": "RX", @@ -25,12 +32,12 @@ "error": "Fout", "unknown": "Onbekend", "running": "Running", - "starting": "Starting", - "unhealthy": "Unhealthy", - "not_found": "Not Found", - "exited": "Exited", - "partial": "Partial", - "healthy": "Healthy" + "starting": "Starten", + "unhealthy": "Ongezond", + "not_found": "Niet Gevonden", + "exited": "Verlaten", + "partial": "Gedeeltelijk", + "healthy": "Gezond" }, "speedtest": { "upload": "Upload", @@ -56,16 +63,16 @@ "transcoding": "Transcodering", "bitrate": "Bitsnelheid", "no_active": "Geen Actieve Steams", - "movies": "Movies", + "movies": "Films", "series": "Series", - "episodes": "Episodes", - "songs": "Songs" + "episodes": "Afleveringen", + "songs": "Liedjes" }, "tautulli": { "playing": "Afspelen", "transcoding": "Transcodering", "bitrate": "Bitsnelheid", - "no_active": "No Active Streams" + "no_active": "Geen Actieve Streams" }, "rutorrent": { "active": "Actief", @@ -81,12 +88,12 @@ "movies": "Films", "wanted": "Gezocht", "queued": "In de wachtrij", - "missing": "Missing" + "missing": "Missend" }, "readarr": { - "wanted": "Wanted", - "queued": "Queued", - "books": "Books" + "wanted": "Gezocht", + "queued": "In de wachtrij", + "books": "Boeken" }, "ombi": { "pending": "In afwachting", @@ -114,32 +121,32 @@ "total": "Totaal" }, "overseerr": { - "pending": "Pending", - "approved": "Approved", - "available": "Available", + "pending": "In Afwachting", + "approved": "Goedgekeurd", + "available": "Beschikbaar", "processing": "Processing" }, "sabnzbd": { "rate": "Rate", - "queue": "Queue", + "queue": "Wachtrij", "timeleft": "Time Left" }, "nzbget": { "rate": "Rate", - "remaining": "Remaining", - "downloaded": "Downloaded" + "remaining": "Resterend", + "downloaded": "Gedownload" }, "coinmarketcap": { "configure": "Configure one or more crypto currencies to track", - "1hour": "1 Hour", - "7days": "7 Days", - "1day": "1 Day", - "30days": "30 Days" + "1hour": "1 Uur", + "7days": "7 Dagen", + "1day": "1 Dag", + "30days": "30 Dagen" }, "gotify": { - "apps": "Applications", + "apps": "Applicaties", "clients": "Clients", - "messages": "Messages" + "messages": "Berichten" }, "prowlarr": { "enableIndexers": "Indexers", @@ -155,21 +162,21 @@ "seed": "Seed" }, "jackett": { - "configured": "Configured", + "configured": "Geconfigureerd", "errored": "Errored" }, "bazarr": { - "missingEpisodes": "Missing Episodes", - "missingMovies": "Missing Movies" + "missingEpisodes": "Ontbrekende Afleveringen", + "missingMovies": "Ontbrekende Films" }, "lidarr": { - "wanted": "Wanted", - "queued": "Queued", + "wanted": "Gezocht", + "queued": "In de wachtrij", "albums": "Albums" }, "adguard": { "queries": "Queries", - "blocked": "Blocked", + "blocked": "Geblokkeerd", "filtered": "Filtered", "latency": "Latency" }, @@ -182,7 +189,7 @@ "mastodon": { "user_count": "Users", "status_count": "Posts", - "domain_count": "Domains" + "domain_count": "Domeinen" }, "strelaysrv": { "numActiveSessions": "Sessions", @@ -191,7 +198,7 @@ "transferRate": "Rate" }, "authentik": { - "users": "Users", + "users": "Gebruikers", "loginsLast24H": "Logins (24h)", "failedLoginsLast24H": "Failed Logins (24h)" }, @@ -219,33 +226,37 @@ "empty_data": "Subsystem status unknown" }, "plex": { - "streams": "Active Streams", - "movies": "Movies", - "tv": "TV Shows" + "streams": "Actieve Streams", + "movies": "Films", + "tv": "TV Series" }, "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Totaal waargenomen", - "diffsDetected": "Diffs Detected" + "diffsDetected": "Verschillen Gedetecteerd" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", - "3-day": "Cloudy", - "99-night": "Thunderstorm With Hail", - "3-night": "Cloudy", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", + "0-day": "Zonnig", + "0-night": "Helder", + "1-day": "Overwegend Zonnig", + "1-night": "Overwegend Helder", + "3-day": "Bewolkt", + "99-night": "Onweersbui Met Hagel", + "3-night": "Bewolkt", + "2-day": "Gedeeltelijk Bewolkt", + "2-night": "Gedeeltelijk Bewolkt", + "45-day": "Mistig", + "45-night": "Mistig", + "48-day": "Mistig", + "48-night": "Mistig", "51-day": "Light Drizzle", "51-night": "Light Drizzle", "53-day": "Drizzle", @@ -256,22 +267,22 @@ "56-night": "Light Freezing Drizzle", "57-day": "Freezing Drizzle", "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", + "61-day": "Lichte Regen", + "61-night": "Lichte Regen", + "63-day": "Regen", + "63-night": "Regen", + "65-day": "Hevige Regen", + "65-night": "Hevige Regen", "66-day": "Freezing Rain", "66-night": "Freezing Rain", "67-day": "Freezing Rain", "67-night": "Freezing Rain", - "71-day": "Light Snow", - "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", + "71-day": "Lichte Sneeuw", + "71-night": "Lichte Sneeuw", + "73-day": "Sneeuw", + "73-night": "Sneeuw", + "75-day": "Hevige Sneeuw", + "75-night": "Hevige Sneeuw", "77-day": "Snow Grains", "77-night": "Snow Grains", "80-day": "Light Showers", @@ -284,46 +295,46 @@ "85-night": "Snow Showers", "86-day": "Snow Showers", "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail" + "95-day": "Onweersbui", + "95-night": "Onweersbui", + "96-day": "Onweersbui Met Hagel", + "96-night": "Onweersbui Met Hagel", + "99-day": "Onweersbui Met Hagel" }, "quicklaunch": { - "bookmark": "Bookmark", + "bookmark": "Bladwijzer", "service": "Service", - "search": "Search", + "search": "Zoek", "custom": "Custom", - "visit": "Visit", + "visit": "Bezoek", "url": "URL" }, "homebridge": { - "available_update": "System", + "available_update": "Systeem", "updates": "Updates", - "update_available": "Update Available", + "update_available": "Update Beschikbaar", "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}", "up": "Up", - "pending": "Pending", + "pending": "In afwachting van", "down": "Down" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", + "approvedPushes": "Goedgekeurd", + "rejectedPushes": "Afgewezen", "filters": "Filters", "indexers": "Indexers" }, "watchtower": { - "containers_scanned": "Scanned", + "containers_scanned": "Gescanned", "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_failed": "Gefaald" }, "tubearchivist": { "downloads": "Queue", "videos": "Videos", - "channels": "Channels", + "channels": "Kanalen", "playlists": "Playlists" }, "truenas": { @@ -333,22 +344,22 @@ "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "nothing_streaming": "No Active Streams", - "please_wait": "Please Wait" + "nothing_streaming": "Geen Actieve Streams", + "please_wait": "Even geduld aub" }, "pyload": { - "speed": "Speed", - "active": "Active", - "total": "Total", - "queue": "Queue" + "speed": "Snelheid", + "active": "Actief", + "total": "Totaal", + "queue": "Wachtrij" }, "gluetun": { - "public_ip": "Public IP", - "region": "Region", - "country": "Country" + "public_ip": "Publiek IP", + "region": "Regio", + "country": "Land" }, "hdhomerun": { - "channels": "Channels", + "channels": "Kanalen", "hd": "HD" }, "ping": { @@ -357,12 +368,12 @@ }, "scrutiny": { "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "failed": "Gefaald", + "unknown": "Onbekend" }, "paperlessngx": { "inbox": "Inbox", - "total": "Total" + "total": "Totaal" }, "deluge": { "download": "Download", @@ -377,18 +388,18 @@ "seed": "Seed" }, "tdarr": { - "queue": "Queue", + "queue": "Wachtrij", "processed": "Processed", "errored": "Errored", "saved": "Saved" }, "miniflux": { - "read": "Read", - "unread": "Unread" + "read": "Gelezen", + "unread": "Ongelezen" }, "nextdns": { - "wait": "Please Wait", - "no_devices": "No Device Data Received" + "wait": "Even geduld aub", + "no_devices": "Geen Apparaat Data Ontvangen" }, "common": { "bibyterate": "{{value, rate(bits: false; binary: true)}}", @@ -396,8 +407,8 @@ }, "omada": { "connectedAp": "Connected APs", - "activeUser": "Active devices", - "alerts": "Alerts", + "activeUser": "Actieve apparaten", + "alerts": "Meldingen", "connectedGateway": "Connected gateways", "connectedSwitches": "Connected switches" }, @@ -408,8 +419,8 @@ "seed": "Seed" }, "mikrotik": { - "cpuLoad": "CPU Load", - "memoryUsed": "Memory Used", + "cpuLoad": "CPU Belasting", + "memoryUsed": "Geheugen Gebruikt", "uptime": "Uptime", "numberOfLeases": "Leases" }, @@ -419,8 +430,8 @@ "streams_xepg": "XEPG Channels" }, "opnsense": { - "cpu": "CPU Load", - "memory": "Active Memory", + "cpu": "CPU Belasting", + "memory": "Actief Geheugen", "wanUpload": "WAN Upload", "wanDownload": "WAN Download" }, @@ -449,13 +460,13 @@ "datastore_usage": "Datastore", "failed_tasks_24h": "Failed Tasks 24h", "cpu_usage": "CPU", - "memory_usage": "Memory" + "memory_usage": "Geheugen" }, "immich": { - "users": "Users", - "photos": "Photos", + "users": "Gebruikers", + "photos": "Foto's", "videos": "Videos", - "storage": "Storage" + "storage": "Opslag" }, "uptimekuma": { "up": "Sites Up", @@ -465,31 +476,31 @@ "m": "m" }, "komga": { - "libraries": "Libraries", + "libraries": "Bibliotheken", "series": "Series", - "books": "Books" + "books": "Boeken" }, "mylar": { "wanted": "Wanted", "series": "Series", - "issues": "Issues" + "issues": "Problemen" }, "photoprism": { "albums": "Albums", - "photos": "Photos", + "photos": "Foto's", "videos": "Videos", - "people": "People" + "people": "Personen" }, "diskstation": { - "days": "Days", + "days": "Dagen", "uptime": "Uptime", - "volumeAvailable": "Available" + "volumeAvailable": "Beschikbaar" }, "fileflows": { - "queue": "Queue", + "queue": "Wachtrij", "processing": "Processing", "processed": "Processed", - "time": "Time" + "time": "Tijd" }, "grafana": { "dashboards": "Dashboards", @@ -498,32 +509,32 @@ "alertstriggered": "Alerts Triggered" }, "nextcloud": { - "cpuload": "Cpu Load", - "memoryusage": "Memory Usage", - "freespace": "Free Space", - "activeusers": "Active Users" + "cpuload": "Cpu Belasting", + "memoryusage": "Geheugen Gebruik", + "freespace": "Vrije Ruimte", + "activeusers": "Actieve Gebruikers" }, "kopia": { "status": "Status", - "size": "Size", - "lastrun": "Last Run", - "nextrun": "Next Run", - "failed": "Failed" + "size": "Grootte", + "lastrun": "Laatste Run", + "nextrun": "Volgende Run", + "failed": "Gefaald" }, "unmanic": { - "active_workers": "Active Workers", - "total_workers": "Total Workers", - "records_total": "Queue Length" + "active_workers": "Actieve Werkers", + "total_workers": "Totale Werkers", + "records_total": "Wachtrij Lengte" }, "healthchecks": { - "new": "New", + "new": "Nieuw", "up": "Online", "grace": "In Grace Period", "down": "Offline", - "paused": "Paused", + "paused": "Gepauzeerd", "status": "Status", - "last_ping": "Last Ping", - "never": "No pings yet" + "last_ping": "Laatste Ping", + "never": "Nog geen pings" }, "pterodactyl": { "servers": "Servers", @@ -535,21 +546,21 @@ "targets_total": "Total Targets" }, "minecraft": { - "players": "Players", - "version": "Version", + "players": "Spelers", + "version": "Versie", "status": "Status", "up": "Online", "down": "Offline" }, "ghostfolio": { - "gross_percent_today": "Today", - "gross_percent_1y": "One year", + "gross_percent_today": "Vandaag", + "gross_percent_1y": "Een jaar", "gross_percent_max": "All time" }, "audiobookshelf": { "podcasts": "Podcasts", - "books": "Books", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "books": "Boeken", + "podcastsDuration": "Duur", + "booksDuration": "Duur" } } diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 3455ab75..8468c580 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -14,7 +14,14 @@ "total": "Całkowite", "free": "Wolne", "cpu": "CPU", - "mem": "MEM" + "mem": "PAM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "emby": { "no_active": "Brak aktywnych strumieni", @@ -71,13 +78,13 @@ "offline": "Offline", "error": "Błąd", "unknown": "Nieznany", - "running": "Running", + "running": "Działa", "starting": "Starting", "unhealthy": "Unhealthy", "not_found": "Not Found", "exited": "Exited", "partial": "Partial", - "healthy": "Healthy" + "healthy": "Zdrowy" }, "nzbget": { "rate": "Szybkość", @@ -216,7 +223,7 @@ "devices": "Urządzenia", "lan_devices": "Urządzenia LAN", "wlan_devices": "Urządzenia WLAN", - "empty_data": "Subsystem status unknown" + "empty_data": "Nieznany stan" }, "plex": { "streams": "Aktywne strumienie", @@ -226,7 +233,11 @@ "glances": { "cpu": "Procesor", "mem": "Pamięć", - "wait": "Proszę czekać" + "wait": "Proszę czekać", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "diffsDetected": "Wykryto różnic", diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 9afc811c..c23cf0cf 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -51,7 +51,14 @@ "used": "Usado", "load": "Carregamento", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "max": "Max", + "temp": "TEMP", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "Recebido", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Por favor aguarde" + "wait": "Por favor aguarde", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Observados", diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 5edd6874..3ef0ea10 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -17,7 +17,14 @@ "used": "Utilizado", "load": "Carga", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "max": "Max", + "temp": "TEMP", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "Rx", @@ -239,7 +246,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Por favor, aguarde" + "wait": "Por favor, aguarde", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observado", diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index d35141f5..e5b81a62 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -5,7 +5,14 @@ "total": "Total", "free": "Disponibili", "cpu": "Procesor", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "RX", @@ -226,7 +233,11 @@ "glances": { "cpu": "Procesor", "mem": "Memorie", - "wait": "Te rugam sa astepti" + "wait": "Te rugam sa astepti", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 03e8d3ea..c7723dae 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -17,7 +17,14 @@ "used": "Использовано", "load": "Загрузка", "cpu": "Процессор", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "Rx", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Всего наблюдаемых", diff --git a/public/locales/sk/common.json b/public/locales/sk/common.json index 839f8a70..99f3668d 100644 --- a/public/locales/sk/common.json +++ b/public/locales/sk/common.json @@ -167,7 +167,14 @@ "total": "Total", "free": "Free", "used": "Used", - "load": "Load" + "load": "Load", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Users", @@ -390,7 +397,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Bookmark", diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 4d8fbfd5..fc8ccbea 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -23,7 +23,14 @@ "free": "Free", "used": "Used", "load": "Load", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Users", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index cfd45649..9c1c9870 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -20,7 +20,14 @@ "free": "Ledigt", "used": "Använt", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "RX", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Vänligen vänta" + "wait": "Vänligen vänta", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 656e8073..04342674 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -40,7 +40,14 @@ "free": "మిగిలింది", "used": "ఉపయోగించబడిన", "load": "లోడ్", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "RX", @@ -226,7 +233,11 @@ "glances": { "cpu": "సీపియూ", "mem": "MEM", - "wait": "దయచేసి వేచి ఉండండి" + "wait": "దయచేసి వేచి ఉండండి", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "మొత్తం గమనించబడింది", diff --git a/public/locales/th/common.json b/public/locales/th/common.json index fe969fdc..e3b8d35b 100644 --- a/public/locales/th/common.json +++ b/public/locales/th/common.json @@ -96,7 +96,14 @@ "total": "ทั้งหมด", "free": "ฟรี", "used": "ใช้แล้ว", - "load": "โหลด" + "load": "โหลด", + "hours": "h", + "minutes": "m", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d" }, "ping": { "error": "ข้อผิดพลาด", @@ -302,7 +309,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Bookmark", diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 41924ebf..c5d93f39 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -23,7 +23,14 @@ "free": "Boşta", "used": "Kullanımda", "load": "Yük", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Kullanıcılar", @@ -226,7 +233,11 @@ "glances": { "cpu": "İşlemci", "mem": "Bellek", - "wait": "Lütfen bekleyiniz" + "wait": "Lütfen bekleyiniz", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Toplam Gözlenen", diff --git a/public/locales/uk/common.json b/public/locales/uk/common.json index 09cafae0..b3394925 100644 --- a/public/locales/uk/common.json +++ b/public/locales/uk/common.json @@ -128,7 +128,14 @@ "free": "Вільно", "used": "Використано", "load": "Навантаження", - "mem": "Пам'ять" + "mem": "Пам'ять", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "unifi": { "users": "Користувачі", @@ -350,7 +357,11 @@ "glances": { "cpu": "CPU", "mem": "Пам'ять", - "wait": "Будь ласка, зачекайте" + "wait": "Будь ласка, зачекайте", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "quicklaunch": { "bookmark": "Закладка", diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 710efeaf..55f08561 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -17,7 +17,14 @@ "used": "Đã dùng", "load": "Load", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "RX", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 38691e73..b1e120aa 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -45,7 +45,14 @@ "used": "用咗", "load": "負荷", "cpu": "CPU", - "mem": "MEM" + "mem": "MEM", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "接收", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "MEM", - "wait": "Please wait" + "wait": "Please wait", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "Total Observed", diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index c21974db..1d646d6d 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -17,7 +17,14 @@ "used": "已用", "load": "负载", "cpu": "处理器", - "mem": "内存" + "mem": "内存", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "docker": { "rx": "接收", @@ -27,23 +34,23 @@ "offline": "离线", "error": "错误", "unknown": "未知", - "starting": "Starting", - "unhealthy": "Unhealthy", - "not_found": "Not Found", - "running": "Running", - "exited": "Exited", - "partial": "Partial", - "healthy": "Healthy" + "starting": "启动中", + "unhealthy": "不健康的", + "not_found": "未找到", + "running": "运行中", + "exited": "已退出", + "partial": "部分", + "healthy": "健康的" }, "emby": { "playing": "播放中", "transcoding": "转码", "bitrate": "比特率", "no_active": "暂无播放", - "movies": "Movies", - "series": "Series", - "episodes": "Episodes", - "songs": "Songs" + "movies": "电影", + "series": "系列", + "episodes": "剧集", + "songs": "歌曲" }, "tautulli": { "playing": "播放中", @@ -226,7 +233,11 @@ "glances": { "cpu": "处理器", "mem": "内存", - "wait": "请稍等" + "wait": "请稍等", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "观察到的总数", @@ -251,69 +262,69 @@ "51-night": "小雨", "53-day": "Drizzle", "53-night": "Drizzle", - "55-day": "Heavy Drizzle", - "55-night": "Heavy Drizzle", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", - "61-day": "Light Rain", - "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", + "55-day": "毛毛雨", + "55-night": "毛毛雨", + "56-day": "小冻毛雨", + "56-night": "小冻毛雨", + "57-day": "冻毛雨", + "57-night": "冻毛雨", + "61-day": "小雨", + "61-night": "小雨", + "63-day": "雨", + "63-night": "雨", + "65-day": "大雨", + "65-night": "大雨", + "66-day": "冻雨", + "66-night": "冻雨", + "67-day": "冻雨", + "67-night": "冻雨", "71-day": "小雪", "71-night": "小雪", "73-day": "中雪", "75-night": "大雪", - "77-day": "Snow Grains", - "77-night": "Snow Grains", - "80-day": "Light Showers", - "80-night": "Light Showers", - "81-day": "Showers", - "81-night": "Showers", - "82-day": "Heavy Showers", - "82-night": "Heavy Showers", - "85-day": "Snow Showers", - "85-night": "Snow Showers", - "86-day": "Snow Showers", - "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "77-day": "雪粒", + "77-night": "雪粒", + "80-day": "微阵雨", + "80-night": "微阵雨", + "81-day": "阵雨", + "81-night": "阵雨", + "82-day": "强阵雨", + "82-night": "强阵雨", + "85-day": "阵雪", + "85-night": "阵雪", + "86-day": "阵雪", + "86-night": "阵雪", + "95-day": "雷雨", + "95-night": "雷雨", + "96-day": "雷雨伴随冰雹", + "96-night": "雷雨伴随冰雹", + "99-day": "雷雨伴随冰雹", + "99-night": "雷雨伴随冰雹" }, "quicklaunch": { "bookmark": "书签", "service": "服务", "search": "搜索", - "custom": "Custom", - "visit": "Visit", - "url": "URL" + "custom": "自定", + "visit": "访问", + "url": "网址" }, "homebridge": { "available_update": "System", - "updates": "Updates", - "update_available": "Update Available", + "updates": "更新", + "update_available": "有可用的更新", "up_to_date": "Up to Date", "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}", "up": "Up", - "pending": "Pending", + "pending": "待定中", "down": "Down" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", + "approvedPushes": "已核准", + "rejectedPushes": "拒绝", "filters": "Filters", - "indexers": "Indexers" + "indexers": "索引器" }, "watchtower": { "containers_scanned": "以扫描", @@ -321,10 +332,10 @@ "containers_failed": "失败" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "队列", + "videos": "影片", + "channels": "频道", + "playlists": "播放清单" }, "truenas": { "load": "系统负载", @@ -337,18 +348,18 @@ "please_wait": "请等待" }, "pyload": { - "speed": "Speed", + "speed": "速度", "active": "Active", - "queue": "Queue", + "queue": "队列", "total": "Total" }, "gluetun": { "public_ip": "Public IP", "region": "Region", - "country": "Country" + "country": "国家" }, "hdhomerun": { - "channels": "Channels", + "channels": "频道", "hd": "HD" }, "ping": { @@ -356,12 +367,12 @@ "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "通过", + "failed": "失败", + "unknown": "未知的" }, "paperlessngx": { - "inbox": "Inbox", + "inbox": "收件箱", "total": "Total" }, "deluge": { @@ -377,25 +388,25 @@ "seed": "做种" }, "tdarr": { - "saved": "Saved", + "saved": "已保存", "queue": "队列", - "processed": "Processed", + "processed": "已处理", "errored": "出错" }, "miniflux": { - "read": "Read", - "unread": "Unread" + "read": "已读", + "unread": "未读" }, "nextdns": { - "wait": "Please Wait", - "no_devices": "No Device Data Received" + "wait": "请稍候", + "no_devices": "没有接收到设备数据" }, "common": { "bibyterate": "{{value, rate(bits: false; binary: true)}}", "bibitrate": "{{value, rate(bits: true; binary: true)}}" }, "omada": { - "connectedAp": "Connected APs", + "connectedAp": "连接中的AP", "activeUser": "活跃设备", "alerts": "警报", "connectedGateway": "已连接网关", @@ -414,9 +425,9 @@ "numberOfLeases": "已连接" }, "xteve": { - "streams_all": "All Streams", - "streams_active": "Active Streams", - "streams_xepg": "XEPG Channels" + "streams_all": "所有播放活动", + "streams_active": "正在播放", + "streams_xepg": "XEPG 频道" }, "opnsense": { "cpu": "处理器负载", @@ -425,24 +436,24 @@ "wanDownload": "WAN下载" }, "moonraker": { - "printer_state": "Printer State", - "print_status": "Print Status", + "printer_state": "打印机状态", + "print_status": "打印状态", "print_progress": "Progress", - "layers": "Layers" + "layers": "层" }, "medusa": { - "wanted": "Wanted", - "queued": "Queued", + "wanted": "关注中", + "queued": "已加入队列", "series": "Series" }, "octoprint": { "printer_state": "Status", - "temp_tool": "Tool temp", - "temp_bed": "Bed temp", - "job_completion": "Completion" + "temp_tool": "喷头温度", + "temp_bed": "平台温度", + "job_completion": "完成度" }, "cloudflared": { - "origin_ip": "Origin IP", + "origin_ip": "源IP", "status": "Status" }, "proxmoxbackupserver": { @@ -452,10 +463,10 @@ "memory_usage": "内存" }, "immich": { - "users": "Users", - "photos": "Photos", - "videos": "Videos", - "storage": "Storage" + "users": "使用者", + "photos": "照片", + "videos": "影片", + "storage": "储存空间" }, "uptimekuma": { "up": "在线网站", @@ -471,8 +482,8 @@ }, "mylar": { "series": "系列", - "issues": "Issues", - "wanted": "Wanted" + "issues": "问题", + "wanted": "关注中" }, "photoprism": { "albums": "相册", @@ -486,16 +497,16 @@ "days": "天" }, "fileflows": { - "queue": "Queue", - "processing": "Processing", - "processed": "Processed", - "time": "Time" + "queue": "队列", + "processing": "处理中", + "processed": "已处理", + "time": "时间" }, "grafana": { - "totalalerts": "Total Alerts", - "dashboards": "Dashboards", - "datasources": "Data Sources", - "alertstriggered": "Alerts Triggered" + "totalalerts": "警报总数", + "dashboards": "控制面板", + "datasources": "数据来源", + "alertstriggered": "触发的警报" }, "nextcloud": { "cpuload": "处理器负载", @@ -504,30 +515,30 @@ "activeusers": "活跃用户" }, "kopia": { - "status": "Status", - "size": "Size", - "lastrun": "Last Run", - "nextrun": "Next Run", - "failed": "Failed" + "status": "状态", + "size": "大小", + "lastrun": "最后运行", + "nextrun": "下次运行", + "failed": "失败" }, "unmanic": { - "active_workers": "Active Workers", - "total_workers": "Total Workers", - "records_total": "Queue Length" + "active_workers": "在线工作节点", + "total_workers": "工作节点总数", + "records_total": "队列长度" }, "healthchecks": { - "new": "New", - "up": "Online", - "grace": "In Grace Period", - "down": "Offline", - "paused": "Paused", - "status": "Status", - "last_ping": "Last Ping", - "never": "No pings yet" + "new": "新建立", + "up": "在线的", + "grace": "延缓中", + "down": "离线", + "paused": "暂停", + "status": "状态", + "last_ping": "上次检查", + "never": "尚未检查" }, "pterodactyl": { - "servers": "Servers", - "nodes": "Nodes" + "servers": "服务器", + "nodes": "节点" }, "prometheus": { "targets_up": "Targets Up", @@ -535,21 +546,21 @@ "targets_total": "Total Targets" }, "minecraft": { - "players": "Players", - "version": "Version", - "status": "Status", - "up": "Online", - "down": "Offline" + "players": "播放中", + "version": "版本", + "status": "状态", + "up": "在线的", + "down": "离线" }, "ghostfolio": { - "gross_percent_today": "Today", - "gross_percent_1y": "One year", - "gross_percent_max": "All time" + "gross_percent_today": "今天", + "gross_percent_1y": "一年", + "gross_percent_max": "所有时间" }, "audiobookshelf": { - "podcasts": "Podcasts", - "books": "Books", - "podcastsDuration": "Duration", - "booksDuration": "Duration" + "podcasts": "播客", + "books": "图书", + "podcastsDuration": "持续时间", + "booksDuration": "持续时间" } } diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index ac1d5da7..3565f934 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -1,7 +1,7 @@ { "widget": { "missing_type": "遺失小工具的類型: {{type}}", - "api_error": "API錯誤", + "api_error": "API 錯誤", "status": "狀態", "information": "資訊", "url": "網址", @@ -22,13 +22,13 @@ "cpu": "處理器", "error": "錯誤", "unknown": "未知的", - "running": "Running", - "starting": "Starting", - "unhealthy": "Unhealthy", - "not_found": "Not Found", + "running": "執行中", + "starting": "啟動中", + "unhealthy": "不健康的", + "not_found": "未找到", "exited": "Exited", "partial": "Partial", - "healthy": "Healthy" + "healthy": "健康的" }, "emby": { "playing": "正在播放", @@ -60,7 +60,14 @@ "used": "已使用", "load": "負載", "cpu": "CPU", - "mem": "記憶體" + "mem": "記憶體", + "temp": "TEMP", + "max": "Max", + "uptime": "UP", + "months": "mo", + "days": "d", + "hours": "h", + "minutes": "m" }, "nzbget": { "rate": "速率", @@ -226,7 +233,11 @@ "glances": { "cpu": "CPU", "mem": "記憶體", - "wait": "請稍後" + "wait": "請稍後", + "temp": "TEMP", + "uptime": "UP", + "days": "d", + "hours": "h" }, "changedetectionio": { "totalObserved": "總監測數", @@ -371,8 +382,8 @@ "seed": "已完成下載" }, "flood": { - "download": "下行速率", - "upload": "上行速率", + "download": "下載速率", + "upload": "上傳速率", "leech": "未完成下載", "seed": "已完成下載" }, diff --git a/src/components/widgets/glances/glances.jsx b/src/components/widgets/glances/glances.jsx index a48cef50..d91cb263 100644 --- a/src/components/widgets/glances/glances.jsx +++ b/src/components/widgets/glances/glances.jsx @@ -1,6 +1,6 @@ import useSWR from "swr"; import { BiError } from "react-icons/bi"; -import { FaMemory } from "react-icons/fa"; +import { FaMemory, FaRegClock, FaThermometerHalf } from "react-icons/fa"; import { FiCpu } from "react-icons/fi"; import { useTranslation } from "next-i18next"; @@ -64,6 +64,9 @@ export default function Widget({ options }) { ); } + const unit = options.units === "imperial" ? "fahrenheit" : "celsius"; + const mainTemp = (options.cputemp && data.sensors && unit === "celsius") ? data.sensors.find(s => s.label.includes("cpu_thermal")).value : data.sensors.find(s => s.label.includes("cpu_thermal")).value * 5/9 + 32; + return (
@@ -73,7 +76,7 @@ export default function Widget({ options }) {
{t("common.number", { - value: data.cpu, + value: data.quicklook.cpu, style: "unit", unit: "percent", maximumFractionDigits: 0, @@ -81,7 +84,7 @@ export default function Widget({ options }) {
{t("glances.cpu")}
- +
@@ -90,7 +93,7 @@ export default function Widget({ options }) {
{t("common.number", { - value: data.mem, + value: data.quicklook.mem, style: "unit", unit: "percent", maximumFractionDigits: 0, @@ -98,9 +101,38 @@ export default function Widget({ options }) {
{t("glances.mem")}
- +
+ {options.cputemp && + (
+ +
+ +
+ {t("common.number", { + value: mainTemp, + maximumFractionDigits: 1, + style: "unit", + unit + })} +
+
{t("glances.temp")}
+
+
+
)} + {options.uptime && data.uptime && + (
+ +
+ +
+ {data.uptime.replace(" days,", t("glances.days")).replace(/:\d\d:\d\d$/g, t("glances.hours"))} +
+
{t("glances.uptime")}
+
+
+
)} {options.label && (
{options.label}
diff --git a/src/components/widgets/resources/cputemp.jsx b/src/components/widgets/resources/cputemp.jsx new file mode 100644 index 00000000..d5cb6100 --- /dev/null +++ b/src/components/widgets/resources/cputemp.jsx @@ -0,0 +1,79 @@ +import useSWR from "swr"; +import { FaThermometerHalf } from "react-icons/fa"; +import { BiError } from "react-icons/bi"; +import { useTranslation } from "next-i18next"; + +export default function CpuTemp({ expanded, units }) { + const { t } = useTranslation(); + + const { data, error } = useSWR(`/api/widgets/resources?type=cputemp`, { + refreshInterval: 1500, + }); + + if (error || data?.error) { + return ( +
+ +
+ {t("widget.api_error")} +
+
+ ); + } + + if (!data) { + return ( +
+ +
+ +
-
+
{t("resources.temp")}
+
+ {expanded && ( + +
-
+
{t("resources.max")}
+
+ )} +
+
+ ); + } + + const unit = units === "imperial" ? "fahrenheit" : "celsius"; + const mainTemp = (unit === "celsius") ? data.cputemp.main : data.cputemp.main * 5/9 + 32; + const maxTemp = (unit === "celsius") ? data.cputemp.max : data.cputemp.max * 5/9 + 32; + + return ( +
+ +
+ +
+ {t("common.number", { + value: mainTemp, + maximumFractionDigits: 1, + style: "unit", + unit + })} +
+
{t("resources.temp")}
+
+ {expanded && ( + +
+ {t("common.number", { + value: maxTemp, + maximumFractionDigits: 1, + style: "unit", + unit + })} +
+
{t("resources.max")}
+
+ )} +
+
+ ); +} diff --git a/src/components/widgets/resources/disk.jsx b/src/components/widgets/resources/disk.jsx index fb770dbb..dbc41b1c 100644 --- a/src/components/widgets/resources/disk.jsx +++ b/src/components/widgets/resources/disk.jsx @@ -44,19 +44,19 @@ export default function Disk({ options, expanded }) { ); } - const percent = Math.round((data.drive.usedGb / data.drive.totalGb) * 100); + const percent = Math.round((data.drive.used / data.drive.size) * 100); return (
-
{t("common.bytes", { value: data.drive.freeGb * 1024 * 1024 * 1024 })}
+
{t("common.bytes", { value: data.drive.available })}
{t("resources.free")}
{expanded && ( -
{t("common.bytes", { value: data.drive.totalGb * 1024 * 1024 * 1024 })}
+
{t("common.bytes", { value: data.drive.size })}
{t("resources.total")}
)} diff --git a/src/components/widgets/resources/memory.jsx b/src/components/widgets/resources/memory.jsx index 27351998..2ee0a15e 100644 --- a/src/components/widgets/resources/memory.jsx +++ b/src/components/widgets/resources/memory.jsx @@ -44,7 +44,7 @@ export default function Memory({ expanded }) { ); } - const percent = Math.round((data.memory.usedMemMb / data.memory.totalMemMb) * 100); + const percent = Math.round((data.memory.used / data.memory.total) * 100); return (
@@ -52,7 +52,7 @@ export default function Memory({ expanded }) {
- {t("common.bytes", { value: data.memory.freeMemMb * 1024 * 1024, maximumFractionDigits: 1, binary: true })} + {t("common.bytes", { value: data.memory.free, maximumFractionDigits: 1, binary: true })}
{t("resources.free")}
@@ -60,7 +60,7 @@ export default function Memory({ expanded }) {
{t("common.bytes", { - value: data.memory.totalMemMb * 1024 * 1024, + value: data.memory.total, maximumFractionDigits: 1, binary: true, })} diff --git a/src/components/widgets/resources/resources.jsx b/src/components/widgets/resources/resources.jsx index 0524e39a..4ff0c81c 100644 --- a/src/components/widgets/resources/resources.jsx +++ b/src/components/widgets/resources/resources.jsx @@ -1,9 +1,11 @@ import Disk from "./disk"; import Cpu from "./cpu"; import Memory from "./memory"; +import CpuTemp from "./cputemp"; +import Uptime from "./uptime"; export default function Resources({ options }) { - const { expanded } = options; + const { expanded, units } = options; return (
@@ -12,6 +14,8 @@ export default function Resources({ options }) { {Array.isArray(options.disk) ? options.disk.map((disk) => ) : options.disk && } + {options.cputemp && } + {options.uptime && }
{options.label && (
{options.label}
diff --git a/src/components/widgets/resources/uptime.jsx b/src/components/widgets/resources/uptime.jsx new file mode 100644 index 00000000..2624bef1 --- /dev/null +++ b/src/components/widgets/resources/uptime.jsx @@ -0,0 +1,61 @@ +import useSWR from "swr"; +import { FaRegClock } from "react-icons/fa"; +import { BiError } from "react-icons/bi"; +import { useTranslation } from "next-i18next"; + +export default function Uptime() { + const { t } = useTranslation(); + + const { data, error } = useSWR(`/api/widgets/resources?type=uptime`, { + refreshInterval: 1500, + }); + + if (error || data?.error) { + return ( +
+ +
+ {t("widget.api_error")} +
+
+ ); + } + + if (!data) { + return ( +
+ +
+ +
-
+
{t("resources.temp")}
+
+
+
+ ); + } + + const mo = Math.floor(data.uptime / (3600 * 24 * 31)); + const d = Math.floor(data.uptime % (3600 * 24 * 31) / (3600 * 24)); + const h = Math.floor(data.uptime % (3600 * 24) / 3600); + const m = Math.floor(data.uptime % 3600 / 60); + + let uptime; + if (mo > 0) uptime = `${mo}${t("resources.months")} ${d}${t("resources.days")}`; + else if (d > 0) uptime = `${d}${t("resources.days")} ${h}${t("resources.hours")}`; + else uptime = `${h}${t("resources.hours")} ${m}${t("resources.minutes")}`; + + return ( +
+ +
+ +
+ {uptime} +
+
{t("resources.uptime")}
+
+
+
+ ); +} diff --git a/src/pages/api/widgets/glances.js b/src/pages/api/widgets/glances.js index 5d4622b8..46be14a0 100644 --- a/src/pages/api/widgets/glances.js +++ b/src/pages/api/widgets/glances.js @@ -4,19 +4,16 @@ import { getPrivateWidgetOptions } from "utils/config/widget-helpers"; const logger = createLogger("glances"); -export default async function handler(req, res) { - const { index } = req.query; - - const privateWidgetOptions = await getPrivateWidgetOptions("glances", index); - +async function retrieveFromGlancesAPI(privateWidgetOptions, endpoint) { + let errorMessage; const url = privateWidgetOptions?.url; if (!url) { - const errorMessage = "Missing Glances URL"; + errorMessage = "Missing Glances URL"; logger.error(errorMessage); - return res.status(400).json({ error: errorMessage }); + throw new Error(errorMessage); } - const apiUrl = `${url}/api/3/quicklook`; + const apiUrl = `${url}/api/3/${endpoint}`; const headers = { "Accept-Encoding": "application/json" }; @@ -25,16 +22,41 @@ export default async function handler(req, res) { } const params = { method: "GET", headers }; - const [status, contentType, data] = await httpProxy(apiUrl, params); + const [status, , data] = await httpProxy(apiUrl, params); if (status === 401) { - logger.error("Authorization failure getting data from glances API. Data: %s", data); + errorMessage = `Authorization failure getting data from glances API. Data: ${data.toString()}` + logger.error(errorMessage); + throw new Error(errorMessage); } - + if (status !== 200) { - logger.error("HTTP %d getting data from glances API. Data: %s", status, data); + errorMessage = `HTTP ${status} getting data from glances API. Data: ${data.toString()}` + logger.error(errorMessage); + throw new Error(errorMessage); } - if (contentType) res.setHeader("Content-Type", contentType); - return res.status(status).send(data); + return JSON.parse(Buffer.from(data).toString()); +} + +export default async function handler(req, res) { + const { index } = req.query; + + const privateWidgetOptions = await getPrivateWidgetOptions("glances", index); + + try { + const quicklookData = await retrieveFromGlancesAPI(privateWidgetOptions, "quicklook"); + + const data = { + quicklook: quicklookData + } + + data.uptime = await retrieveFromGlancesAPI(privateWidgetOptions, "uptime"); + + data.sensors = await retrieveFromGlancesAPI(privateWidgetOptions, "sensors"); + + return res.status(200).send(data); + } catch (e) { + return res.status(400).json({ error: e.message }); + } } diff --git a/src/pages/api/widgets/resources.js b/src/pages/api/widgets/resources.js index baa507a4..ae53bf14 100644 --- a/src/pages/api/widgets/resources.js +++ b/src/pages/api/widgets/resources.js @@ -1,15 +1,16 @@ import { existsSync } from "fs"; -import { cpu, drive, mem } from "node-os-utils"; +const si = require('systeminformation'); export default async function handler(req, res) { const { type, target } = req.query; if (type === "cpu") { + const load = await si.currentLoad(); return res.status(200).json({ cpu: { - usage: await cpu.usage(1000), - load: cpu.loadavgTime(5), + usage: load.currentLoad, + load: load.avgLoad, }, }); } @@ -21,14 +22,29 @@ export default async function handler(req, res) { }); } + const fsSize = await si.fsSize(); + return res.status(200).json({ - drive: await drive.info(target || "/"), + drive: fsSize.find(fs => fs.mount === target) ?? fsSize.find(fs => fs.mount === "/") }); } if (type === "memory") { return res.status(200).json({ - memory: await mem.info(), + memory: await si.mem(), + }); + } + + if (type === "cputemp") { + return res.status(200).json({ + cputemp: await si.cpuTemperature(), + }); + } + + if (type === "uptime") { + const timeData = await si.time(); + return res.status(200).json({ + uptime: timeData.uptime }); } diff --git a/src/utils/config/docker.js b/src/utils/config/docker.js index 288e8233..8f658db2 100644 --- a/src/utils/config/docker.js +++ b/src/utils/config/docker.js @@ -27,10 +27,22 @@ export default function getDockerArguments(server) { } if (servers[server].host) { - return { - conn: { host: servers[server].host, port: servers[server].port || null }, + const res ={ + conn: { host: servers[server].host }, swarm: !!servers[server].swarm, - }; + } + + if (servers[server].port){ + res.conn.port = servers[server].port; + } + + if (servers[server].tls){ + res.conn.ca = readFileSync(path.join(process.cwd(), "config", servers[server].tls.caFile)); + res.conn.cert = readFileSync(path.join(process.cwd(), "config", servers[server].tls.certFile)); + res.conn.key = readFileSync(path.join(process.cwd(), "config", servers[server].tls.keyFile)); + } + + return res; } return servers[server];