diff --git a/package.json b/package.json index f37949fb..44de9d8d 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "uptime-kuma", - "version": "0.0.0", + "version": "1.0.0", "scripts": { - "dev": "vite", + "dev": "vite --host", "dev-server": "node server/server.js", "build": "vite build", - "serve": "vite preview" + "serve": "vite preview --host" }, "dependencies": { "@popperjs/core": "^2.9.2", diff --git a/server/model/monitor.js b/server/model/monitor.js index 919b8362..5e694f3b 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -80,10 +80,12 @@ class Monitor extends BeanModel { } else if (this.type === "port") { bean.ping = await tcping(this.hostname, this.port); + bean.msg = "" bean.status = 1; } else if (this.type === "ping") { bean.ping = await ping(this.hostname); + bean.msg = "" bean.status = 1; } @@ -166,11 +168,8 @@ class Monitor extends BeanModel { if (value <= sec) { downtime += value; } else { - console.log("Now: " + dayjs.utc()); - console.log("Time: " + dayjs(time)) - let trim = dayjs.utc().diff(dayjs(time), 'second'); - console.log("trim: " + trim); + value = sec - trim; if (value < 0) { diff --git a/server/server.js b/server/server.js index 2f15b68c..3dd93389 100644 --- a/server/server.js +++ b/server/server.js @@ -10,11 +10,8 @@ const passwordHash = require('password-hash'); const jwt = require('jsonwebtoken'); const Monitor = require("./model/monitor"); -let stop = false; -let interval = 6000; let totalClient = 0; let jwtSecret = null; -let loadFromDatabase = true; let monitorList = {}; (async () => { diff --git a/server/util.js b/server/util.js index 63555a52..c6f61dfa 100644 --- a/server/util.js +++ b/server/util.js @@ -2,6 +2,9 @@ * Common functions - can be used in frontend or backend */ + + + export function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } @@ -11,370 +14,3 @@ export function ucfirst(str) { return firstLetter.toUpperCase() + str.substr(1); } -// From: https://stackoverflow.com/questions/38399465/how-to-get-list-of-all-timezones-in-javascript -const aryIannaTimeZones = [ - 'Europe/Andorra', - 'Asia/Dubai', - 'Asia/Kabul', - 'Europe/Tirane', - 'Asia/Yerevan', - 'Antarctica/Casey', - 'Antarctica/Davis', - 'Antarctica/DumontDUrville', // https://bugs.chromium.org/p/chromium/issues/detail?id=928068 - 'Antarctica/Mawson', - 'Antarctica/Palmer', - 'Antarctica/Rothera', - 'Antarctica/Syowa', - 'Antarctica/Troll', - 'Antarctica/Vostok', - 'America/Argentina/Buenos_Aires', - 'America/Argentina/Cordoba', - 'America/Argentina/Salta', - 'America/Argentina/Jujuy', - 'America/Argentina/Tucuman', - 'America/Argentina/Catamarca', - 'America/Argentina/La_Rioja', - 'America/Argentina/San_Juan', - 'America/Argentina/Mendoza', - 'America/Argentina/San_Luis', - 'America/Argentina/Rio_Gallegos', - 'America/Argentina/Ushuaia', - 'Pacific/Pago_Pago', - 'Europe/Vienna', - 'Australia/Lord_Howe', - 'Antarctica/Macquarie', - 'Australia/Hobart', - 'Australia/Currie', - 'Australia/Melbourne', - 'Australia/Sydney', - 'Australia/Broken_Hill', - 'Australia/Brisbane', - 'Australia/Lindeman', - 'Australia/Adelaide', - 'Australia/Darwin', - 'Australia/Perth', - 'Australia/Eucla', - 'Asia/Baku', - 'America/Barbados', - 'Asia/Dhaka', - 'Europe/Brussels', - 'Europe/Sofia', - 'Atlantic/Bermuda', - 'Asia/Brunei', - 'America/La_Paz', - 'America/Noronha', - 'America/Belem', - 'America/Fortaleza', - 'America/Recife', - 'America/Araguaina', - 'America/Maceio', - 'America/Bahia', - 'America/Sao_Paulo', - 'America/Campo_Grande', - 'America/Cuiaba', - 'America/Santarem', - 'America/Porto_Velho', - 'America/Boa_Vista', - 'America/Manaus', - 'America/Eirunepe', - 'America/Rio_Branco', - 'America/Nassau', - 'Asia/Thimphu', - 'Europe/Minsk', - 'America/Belize', - 'America/St_Johns', - 'America/Halifax', - 'America/Glace_Bay', - 'America/Moncton', - 'America/Goose_Bay', - 'America/Blanc-Sablon', - 'America/Toronto', - 'America/Nipigon', - 'America/Thunder_Bay', - 'America/Iqaluit', - 'America/Pangnirtung', - 'America/Atikokan', - 'America/Winnipeg', - 'America/Rainy_River', - 'America/Resolute', - 'America/Rankin_Inlet', - 'America/Regina', - 'America/Swift_Current', - 'America/Edmonton', - 'America/Cambridge_Bay', - 'America/Yellowknife', - 'America/Inuvik', - 'America/Creston', - 'America/Dawson_Creek', - 'America/Fort_Nelson', - 'America/Vancouver', - 'America/Whitehorse', - 'America/Dawson', - 'Indian/Cocos', - 'Europe/Zurich', - 'Africa/Abidjan', - 'Pacific/Rarotonga', - 'America/Santiago', - 'America/Punta_Arenas', - 'Pacific/Easter', - 'Asia/Shanghai', - 'Asia/Urumqi', - 'America/Bogota', - 'America/Costa_Rica', - 'America/Havana', - 'Atlantic/Cape_Verde', - 'America/Curacao', - 'Indian/Christmas', - 'Asia/Nicosia', - 'Asia/Famagusta', - 'Europe/Prague', - 'Europe/Berlin', - 'Europe/Copenhagen', - 'America/Santo_Domingo', - 'Africa/Algiers', - 'America/Guayaquil', - 'Pacific/Galapagos', - 'Europe/Tallinn', - 'Africa/Cairo', - 'Africa/El_Aaiun', - 'Europe/Madrid', - 'Africa/Ceuta', - 'Atlantic/Canary', - 'Europe/Helsinki', - 'Pacific/Fiji', - 'Atlantic/Stanley', - 'Pacific/Chuuk', - 'Pacific/Pohnpei', - 'Pacific/Kosrae', - 'Atlantic/Faroe', - 'Europe/Paris', - 'Europe/London', - 'Asia/Tbilisi', - 'America/Cayenne', - 'Africa/Accra', - 'Europe/Gibraltar', - 'America/Godthab', - 'America/Danmarkshavn', - 'America/Scoresbysund', - 'America/Thule', - 'Europe/Athens', - 'Atlantic/South_Georgia', - 'America/Guatemala', - 'Pacific/Guam', - 'Africa/Bissau', - 'America/Guyana', - 'Asia/Hong_Kong', - 'America/Tegucigalpa', - 'America/Port-au-Prince', - 'Europe/Budapest', - 'Asia/Jakarta', - 'Asia/Pontianak', - 'Asia/Makassar', - 'Asia/Jayapura', - 'Europe/Dublin', - 'Asia/Jerusalem', - 'Asia/Kolkata', - 'Indian/Chagos', - 'Asia/Baghdad', - 'Asia/Tehran', - 'Atlantic/Reykjavik', - 'Europe/Rome', - 'America/Jamaica', - 'Asia/Amman', - 'Asia/Tokyo', - 'Africa/Nairobi', - 'Asia/Bishkek', - 'Pacific/Tarawa', - 'Pacific/Enderbury', - 'Pacific/Kiritimati', - 'Asia/Pyongyang', - 'Asia/Seoul', - 'Asia/Almaty', - 'Asia/Qyzylorda', - 'Asia/Qostanay', // https://bugs.chromium.org/p/chromium/issues/detail?id=928068 - 'Asia/Aqtobe', - 'Asia/Aqtau', - 'Asia/Atyrau', - 'Asia/Oral', - 'Asia/Beirut', - 'Asia/Colombo', - 'Africa/Monrovia', - 'Europe/Vilnius', - 'Europe/Luxembourg', - 'Europe/Riga', - 'Africa/Tripoli', - 'Africa/Casablanca', - 'Europe/Monaco', - 'Europe/Chisinau', - 'Pacific/Majuro', - 'Pacific/Kwajalein', - 'Asia/Yangon', - 'Asia/Ulaanbaatar', - 'Asia/Hovd', - 'Asia/Choibalsan', - 'Asia/Macau', - 'America/Martinique', - 'Europe/Malta', - 'Indian/Mauritius', - 'Indian/Maldives', - 'America/Mexico_City', - 'America/Cancun', - 'America/Merida', - 'America/Monterrey', - 'America/Matamoros', - 'America/Mazatlan', - 'America/Chihuahua', - 'America/Ojinaga', - 'America/Hermosillo', - 'America/Tijuana', - 'America/Bahia_Banderas', - 'Asia/Kuala_Lumpur', - 'Asia/Kuching', - 'Africa/Maputo', - 'Africa/Windhoek', - 'Pacific/Noumea', - 'Pacific/Norfolk', - 'Africa/Lagos', - 'America/Managua', - 'Europe/Amsterdam', - 'Europe/Oslo', - 'Asia/Kathmandu', - 'Pacific/Nauru', - 'Pacific/Niue', - 'Pacific/Auckland', - 'Pacific/Chatham', - 'America/Panama', - 'America/Lima', - 'Pacific/Tahiti', - 'Pacific/Marquesas', - 'Pacific/Gambier', - 'Pacific/Port_Moresby', - 'Pacific/Bougainville', - 'Asia/Manila', - 'Asia/Karachi', - 'Europe/Warsaw', - 'America/Miquelon', - 'Pacific/Pitcairn', - 'America/Puerto_Rico', - 'Asia/Gaza', - 'Asia/Hebron', - 'Europe/Lisbon', - 'Atlantic/Madeira', - 'Atlantic/Azores', - 'Pacific/Palau', - 'America/Asuncion', - 'Asia/Qatar', - 'Indian/Reunion', - 'Europe/Bucharest', - 'Europe/Belgrade', - 'Europe/Kaliningrad', - 'Europe/Moscow', - 'Europe/Simferopol', - 'Europe/Kirov', - 'Europe/Astrakhan', - 'Europe/Volgograd', - 'Europe/Saratov', - 'Europe/Ulyanovsk', - 'Europe/Samara', - 'Asia/Yekaterinburg', - 'Asia/Omsk', - 'Asia/Novosibirsk', - 'Asia/Barnaul', - 'Asia/Tomsk', - 'Asia/Novokuznetsk', - 'Asia/Krasnoyarsk', - 'Asia/Irkutsk', - 'Asia/Chita', - 'Asia/Yakutsk', - 'Asia/Khandyga', - 'Asia/Vladivostok', - 'Asia/Ust-Nera', - 'Asia/Magadan', - 'Asia/Sakhalin', - 'Asia/Srednekolymsk', - 'Asia/Kamchatka', - 'Asia/Anadyr', - 'Asia/Riyadh', - 'Pacific/Guadalcanal', - 'Indian/Mahe', - 'Africa/Khartoum', - 'Europe/Stockholm', - 'Asia/Singapore', - 'America/Paramaribo', - 'Africa/Juba', - 'Africa/Sao_Tome', - 'America/El_Salvador', - 'Asia/Damascus', - 'America/Grand_Turk', - 'Africa/Ndjamena', - 'Indian/Kerguelen', - 'Asia/Bangkok', - 'Asia/Dushanbe', - 'Pacific/Fakaofo', - 'Asia/Dili', - 'Asia/Ashgabat', - 'Africa/Tunis', - 'Pacific/Tongatapu', - 'Europe/Istanbul', - 'America/Port_of_Spain', - 'Pacific/Funafuti', - 'Asia/Taipei', - 'Europe/Kiev', - 'Europe/Uzhgorod', - 'Europe/Zaporozhye', - 'Pacific/Wake', - 'America/New_York', - 'America/Detroit', - 'America/Kentucky/Louisville', - 'America/Kentucky/Monticello', - 'America/Indiana/Indianapolis', - 'America/Indiana/Vincennes', - 'America/Indiana/Winamac', - 'America/Indiana/Marengo', - 'America/Indiana/Petersburg', - 'America/Indiana/Vevay', - 'America/Chicago', - 'America/Indiana/Tell_City', - 'America/Indiana/Knox', - 'America/Menominee', - 'America/North_Dakota/Center', - 'America/North_Dakota/New_Salem', - 'America/North_Dakota/Beulah', - 'America/Denver', - 'America/Boise', - 'America/Phoenix', - 'America/Los_Angeles', - 'America/Anchorage', - 'America/Juneau', - 'America/Sitka', - 'America/Metlakatla', - 'America/Yakutat', - 'America/Nome', - 'America/Adak', - 'Pacific/Honolulu', - 'America/Montevideo', - 'Asia/Samarkand', - 'Asia/Tashkent', - 'America/Caracas', - 'Asia/Ho_Chi_Minh', - 'Pacific/Efate', - 'Pacific/Wallis', - 'Pacific/Apia', - 'Africa/Johannesburg' -]; - - -export function timezoneList() { - let result = []; - - for (let timezone of aryIannaTimeZones) { - result.push({ - name: timezone, - value: timezone, - }) - } - - return result; -}; - - diff --git a/src/components/Datetime.vue b/src/components/Datetime.vue index b362ea23..47702236 100644 --- a/src/components/Datetime.vue +++ b/src/components/Datetime.vue @@ -18,7 +18,8 @@ export default { computed: { displayText() { - return this.value + let format = "YYYY-MM-DD HH:mm:ss"; + return dayjs.utc(this.value).tz(this.$root.timezone).format(format) }, } } diff --git a/src/components/Login.vue b/src/components/Login.vue index 5907f616..29f70b40 100644 --- a/src/components/Login.vue +++ b/src/components/Login.vue @@ -15,7 +15,7 @@ -
+