This commit is contained in:
tree 2022-10-21 12:02:43 +02:00
rodič 2e8d1fc078
revize df3850f3c7
22 změnil soubory, kde provedl 4201 přidání a 7 odebrání

6
api/ecosystem.config.js Normal file
Zobrazit soubor

@ -0,0 +1,6 @@
module.exports = {
apps : [{
name : "gweicz-sysinfo-api",
script : "./server.js"
}]
}

593
api/package-lock.json vygenerováno Normal file
Zobrazit soubor

@ -0,0 +1,593 @@
{
"name": "gweicz-sysinfo-api",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "gweicz-sysinfo-api",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@hapi/hapi": "^20.2.2"
}
},
"node_modules/@hapi/accept": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-5.0.2.tgz",
"integrity": "sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/ammo": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-5.0.1.tgz",
"integrity": "sha512-FbCNwcTbnQP4VYYhLNGZmA76xb2aHg9AMPiy18NZyWMG310P5KdFGyA9v2rm5ujrIny77dEEIkMOwl0Xv+fSSA==",
"dependencies": {
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/b64": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-5.0.0.tgz",
"integrity": "sha512-ngu0tSEmrezoiIaNGG6rRvKOUkUuDdf4XTPnONHGYfSGRmDqPZX5oJL6HAdKTo1UQHECbdB4OzhWrfgVppjHUw==",
"dependencies": {
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/boom": {
"version": "9.1.4",
"resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-9.1.4.tgz",
"integrity": "sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==",
"dependencies": {
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/bounce": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-2.0.0.tgz",
"integrity": "sha512-JesW92uyzOOyuzJKjoLHM1ThiOvHPOLDHw01YV8yh5nCso7sDwJho1h0Ad2N+E62bZyz46TG3xhAi/78Gsct6A==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/bourne": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-2.1.0.tgz",
"integrity": "sha512-i1BpaNDVLJdRBEKeJWkVO6tYX6DMFBuwMhSuWqLsY4ufeTKGVuV5rBsUhxPayXqnnWHgXUAmWK16H/ykO5Wj4Q=="
},
"node_modules/@hapi/call": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@hapi/call/-/call-8.0.1.tgz",
"integrity": "sha512-bOff6GTdOnoe5b8oXRV3lwkQSb/LAWylvDMae6RgEWWntd0SHtkYbQukDHKlfaYtVnSAgIavJ0kqszF/AIBb6g==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/catbox": {
"version": "11.1.1",
"resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-11.1.1.tgz",
"integrity": "sha512-u/8HvB7dD/6X8hsZIpskSDo4yMKpHxFd7NluoylhGrL6cUfYxdQPnvUp9YU2C6F9hsyBVLGulBd9vBN1ebfXOQ==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x",
"@hapi/podium": "4.x.x",
"@hapi/validate": "1.x.x"
}
},
"node_modules/@hapi/catbox-memory": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-5.0.1.tgz",
"integrity": "sha512-QWw9nOYJq5PlvChLWV8i6hQHJYfvdqiXdvTupJFh0eqLZ64Xir7mKNi96d5/ZMUAqXPursfNDIDxjFgoEDUqeQ==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/content": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@hapi/content/-/content-5.0.2.tgz",
"integrity": "sha512-mre4dl1ygd4ZyOH3tiYBrOUBzV7Pu/EOs8VLGf58vtOEECWed8Uuw6B4iR9AN/8uQt42tB04qpVaMyoMQh0oMw==",
"dependencies": {
"@hapi/boom": "9.x.x"
}
},
"node_modules/@hapi/cryptiles": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-5.1.0.tgz",
"integrity": "sha512-fo9+d1Ba5/FIoMySfMqPBR/7Pa29J2RsiPrl7bkwo5W5o+AN1dAYQRi4SPrPwwVxVGKjgLOEWrsvt1BonJSfLA==",
"dependencies": {
"@hapi/boom": "9.x.x"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@hapi/file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@hapi/file/-/file-2.0.0.tgz",
"integrity": "sha512-WSrlgpvEqgPWkI18kkGELEZfXr0bYLtr16iIN4Krh9sRnzBZN6nnWxHFxtsnP684wueEySBbXPDg/WfA9xJdBQ=="
},
"node_modules/@hapi/hapi": {
"version": "20.2.2",
"resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-20.2.2.tgz",
"integrity": "sha512-crhU6TIKt7QsksWLYctDBAXogk9PYAm7UzdpETyuBHC2pCa6/+B5NykiOVLG/3FCIgHo/raPVtan8bYtByHORQ==",
"dependencies": {
"@hapi/accept": "^5.0.1",
"@hapi/ammo": "^5.0.1",
"@hapi/boom": "^9.1.0",
"@hapi/bounce": "^2.0.0",
"@hapi/call": "^8.0.0",
"@hapi/catbox": "^11.1.1",
"@hapi/catbox-memory": "^5.0.0",
"@hapi/heavy": "^7.0.1",
"@hapi/hoek": "^9.0.4",
"@hapi/mimos": "^6.0.0",
"@hapi/podium": "^4.1.1",
"@hapi/shot": "^5.0.5",
"@hapi/somever": "^3.0.0",
"@hapi/statehood": "^7.0.4",
"@hapi/subtext": "^7.0.3",
"@hapi/teamwork": "^5.1.1",
"@hapi/topo": "^5.0.0",
"@hapi/validate": "^1.1.1"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@hapi/heavy": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-7.0.1.tgz",
"integrity": "sha512-vJ/vzRQ13MtRzz6Qd4zRHWS3FaUc/5uivV2TIuExGTM9Qk+7Zzqj0e2G7EpE6KztO9SalTbiIkTh7qFKj/33cA==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x",
"@hapi/validate": "1.x.x"
}
},
"node_modules/@hapi/hoek": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
"integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
},
"node_modules/@hapi/iron": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-6.0.0.tgz",
"integrity": "sha512-zvGvWDufiTGpTJPG1Y/McN8UqWBu0k/xs/7l++HVU535NLHXsHhy54cfEMdW7EjwKfbBfM9Xy25FmTiobb7Hvw==",
"dependencies": {
"@hapi/b64": "5.x.x",
"@hapi/boom": "9.x.x",
"@hapi/bourne": "2.x.x",
"@hapi/cryptiles": "5.x.x",
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/mimos": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-6.0.0.tgz",
"integrity": "sha512-Op/67tr1I+JafN3R3XN5DucVSxKRT/Tc+tUszDwENoNpolxeXkhrJ2Czt6B6AAqrespHoivhgZBWYSuANN9QXg==",
"dependencies": {
"@hapi/hoek": "9.x.x",
"mime-db": "1.x.x"
}
},
"node_modules/@hapi/nigel": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/@hapi/nigel/-/nigel-4.0.2.tgz",
"integrity": "sha512-ht2KoEsDW22BxQOEkLEJaqfpoKPXxi7tvabXy7B/77eFtOyG5ZEstfZwxHQcqAiZhp58Ae5vkhEqI03kawkYNw==",
"dependencies": {
"@hapi/hoek": "^9.0.4",
"@hapi/vise": "^4.0.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@hapi/pez": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@hapi/pez/-/pez-5.0.3.tgz",
"integrity": "sha512-mpikYRJjtrbJgdDHG/H9ySqYqwJ+QU/D7FXsYciS9P7NYBXE2ayKDAy3H0ou6CohOCaxPuTV4SZ0D936+VomHA==",
"dependencies": {
"@hapi/b64": "5.x.x",
"@hapi/boom": "9.x.x",
"@hapi/content": "^5.0.2",
"@hapi/hoek": "9.x.x",
"@hapi/nigel": "4.x.x"
}
},
"node_modules/@hapi/podium": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-4.1.3.tgz",
"integrity": "sha512-ljsKGQzLkFqnQxE7qeanvgGj4dejnciErYd30dbrYzUOF/FyS/DOF97qcrT3bhoVwCYmxa6PEMhxfCPlnUcD2g==",
"dependencies": {
"@hapi/hoek": "9.x.x",
"@hapi/teamwork": "5.x.x",
"@hapi/validate": "1.x.x"
}
},
"node_modules/@hapi/shot": {
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-5.0.5.tgz",
"integrity": "sha512-x5AMSZ5+j+Paa8KdfCoKh+klB78otxF+vcJR/IoN91Vo2e5ulXIW6HUsFTCU+4W6P/Etaip9nmdAx2zWDimB2A==",
"dependencies": {
"@hapi/hoek": "9.x.x",
"@hapi/validate": "1.x.x"
}
},
"node_modules/@hapi/somever": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-3.0.1.tgz",
"integrity": "sha512-4ZTSN3YAHtgpY/M4GOtHUXgi6uZtG9nEZfNI6QrArhK0XN/RDVgijlb9kOmXwCR5VclDSkBul9FBvhSuKXx9+w==",
"dependencies": {
"@hapi/bounce": "2.x.x",
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/statehood": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-7.0.4.tgz",
"integrity": "sha512-Fia6atroOVmc5+2bNOxF6Zv9vpbNAjEXNcUbWXavDqhnJDlchwUUwKS5LCi5mGtCTxRhUKKHwuxuBZJkmLZ7fw==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/bounce": "2.x.x",
"@hapi/bourne": "2.x.x",
"@hapi/cryptiles": "5.x.x",
"@hapi/hoek": "9.x.x",
"@hapi/iron": "6.x.x",
"@hapi/validate": "1.x.x"
}
},
"node_modules/@hapi/subtext": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-7.0.4.tgz",
"integrity": "sha512-Y72moHhbRuO8kwBHFEnCRw7oOnhNh4Pl+aonxAze18jkyMpE4Gwz4lNID7ei8vd3lpXC2rKdkxXJgtfY+WttRw==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/bourne": "2.x.x",
"@hapi/content": "^5.0.2",
"@hapi/file": "2.x.x",
"@hapi/hoek": "9.x.x",
"@hapi/pez": "^5.0.1",
"@hapi/wreck": "17.x.x"
}
},
"node_modules/@hapi/teamwork": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-5.1.1.tgz",
"integrity": "sha512-1oPx9AE5TIv+V6Ih54RP9lTZBso3rP8j4Xhb6iSVwPXtAM+sDopl5TFMv5Paw73UnpZJ9gjcrTE1BXrWt9eQrg==",
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@hapi/topo": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
"integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
"dependencies": {
"@hapi/hoek": "^9.0.0"
}
},
"node_modules/@hapi/validate": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-1.1.3.tgz",
"integrity": "sha512-/XMR0N0wjw0Twzq2pQOzPBZlDzkekGcoCtzO314BpIEsbXdYGthQUbxgkGDf4nhk1+IPDAsXqWjMohRQYO06UA==",
"dependencies": {
"@hapi/hoek": "^9.0.0",
"@hapi/topo": "^5.0.0"
}
},
"node_modules/@hapi/vise": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-4.0.0.tgz",
"integrity": "sha512-eYyLkuUiFZTer59h+SGy7hUm+qE9p+UemePTHLlIWppEd+wExn3Df5jO04bFQTm7nleF5V8CtuYQYb+VFpZ6Sg==",
"dependencies": {
"@hapi/hoek": "9.x.x"
}
},
"node_modules/@hapi/wreck": {
"version": "17.2.0",
"resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-17.2.0.tgz",
"integrity": "sha512-pJ5kjYoRPYDv+eIuiLQqhGon341fr2bNIYZjuotuPJG/3Ilzr/XtI+JAp0A86E2bYfsS3zBPABuS2ICkaXFT8g==",
"dependencies": {
"@hapi/boom": "9.x.x",
"@hapi/bourne": "2.x.x",
"@hapi/hoek": "9.x.x"
}
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"engines": {
"node": ">= 0.6"
}
}
},
"dependencies": {
"@hapi/accept": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-5.0.2.tgz",
"integrity": "sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x"
}
},
"@hapi/ammo": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-5.0.1.tgz",
"integrity": "sha512-FbCNwcTbnQP4VYYhLNGZmA76xb2aHg9AMPiy18NZyWMG310P5KdFGyA9v2rm5ujrIny77dEEIkMOwl0Xv+fSSA==",
"requires": {
"@hapi/hoek": "9.x.x"
}
},
"@hapi/b64": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-5.0.0.tgz",
"integrity": "sha512-ngu0tSEmrezoiIaNGG6rRvKOUkUuDdf4XTPnONHGYfSGRmDqPZX5oJL6HAdKTo1UQHECbdB4OzhWrfgVppjHUw==",
"requires": {
"@hapi/hoek": "9.x.x"
}
},
"@hapi/boom": {
"version": "9.1.4",
"resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-9.1.4.tgz",
"integrity": "sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==",
"requires": {
"@hapi/hoek": "9.x.x"
}
},
"@hapi/bounce": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-2.0.0.tgz",
"integrity": "sha512-JesW92uyzOOyuzJKjoLHM1ThiOvHPOLDHw01YV8yh5nCso7sDwJho1h0Ad2N+E62bZyz46TG3xhAi/78Gsct6A==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x"
}
},
"@hapi/bourne": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-2.1.0.tgz",
"integrity": "sha512-i1BpaNDVLJdRBEKeJWkVO6tYX6DMFBuwMhSuWqLsY4ufeTKGVuV5rBsUhxPayXqnnWHgXUAmWK16H/ykO5Wj4Q=="
},
"@hapi/call": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@hapi/call/-/call-8.0.1.tgz",
"integrity": "sha512-bOff6GTdOnoe5b8oXRV3lwkQSb/LAWylvDMae6RgEWWntd0SHtkYbQukDHKlfaYtVnSAgIavJ0kqszF/AIBb6g==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x"
}
},
"@hapi/catbox": {
"version": "11.1.1",
"resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-11.1.1.tgz",
"integrity": "sha512-u/8HvB7dD/6X8hsZIpskSDo4yMKpHxFd7NluoylhGrL6cUfYxdQPnvUp9YU2C6F9hsyBVLGulBd9vBN1ebfXOQ==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x",
"@hapi/podium": "4.x.x",
"@hapi/validate": "1.x.x"
}
},
"@hapi/catbox-memory": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-5.0.1.tgz",
"integrity": "sha512-QWw9nOYJq5PlvChLWV8i6hQHJYfvdqiXdvTupJFh0eqLZ64Xir7mKNi96d5/ZMUAqXPursfNDIDxjFgoEDUqeQ==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x"
}
},
"@hapi/content": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@hapi/content/-/content-5.0.2.tgz",
"integrity": "sha512-mre4dl1ygd4ZyOH3tiYBrOUBzV7Pu/EOs8VLGf58vtOEECWed8Uuw6B4iR9AN/8uQt42tB04qpVaMyoMQh0oMw==",
"requires": {
"@hapi/boom": "9.x.x"
}
},
"@hapi/cryptiles": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-5.1.0.tgz",
"integrity": "sha512-fo9+d1Ba5/FIoMySfMqPBR/7Pa29J2RsiPrl7bkwo5W5o+AN1dAYQRi4SPrPwwVxVGKjgLOEWrsvt1BonJSfLA==",
"requires": {
"@hapi/boom": "9.x.x"
}
},
"@hapi/file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@hapi/file/-/file-2.0.0.tgz",
"integrity": "sha512-WSrlgpvEqgPWkI18kkGELEZfXr0bYLtr16iIN4Krh9sRnzBZN6nnWxHFxtsnP684wueEySBbXPDg/WfA9xJdBQ=="
},
"@hapi/hapi": {
"version": "20.2.2",
"resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-20.2.2.tgz",
"integrity": "sha512-crhU6TIKt7QsksWLYctDBAXogk9PYAm7UzdpETyuBHC2pCa6/+B5NykiOVLG/3FCIgHo/raPVtan8bYtByHORQ==",
"requires": {
"@hapi/accept": "^5.0.1",
"@hapi/ammo": "^5.0.1",
"@hapi/boom": "^9.1.0",
"@hapi/bounce": "^2.0.0",
"@hapi/call": "^8.0.0",
"@hapi/catbox": "^11.1.1",
"@hapi/catbox-memory": "^5.0.0",
"@hapi/heavy": "^7.0.1",
"@hapi/hoek": "^9.0.4",
"@hapi/mimos": "^6.0.0",
"@hapi/podium": "^4.1.1",
"@hapi/shot": "^5.0.5",
"@hapi/somever": "^3.0.0",
"@hapi/statehood": "^7.0.4",
"@hapi/subtext": "^7.0.3",
"@hapi/teamwork": "^5.1.1",
"@hapi/topo": "^5.0.0",
"@hapi/validate": "^1.1.1"
}
},
"@hapi/heavy": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-7.0.1.tgz",
"integrity": "sha512-vJ/vzRQ13MtRzz6Qd4zRHWS3FaUc/5uivV2TIuExGTM9Qk+7Zzqj0e2G7EpE6KztO9SalTbiIkTh7qFKj/33cA==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/hoek": "9.x.x",
"@hapi/validate": "1.x.x"
}
},
"@hapi/hoek": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
"integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
},
"@hapi/iron": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-6.0.0.tgz",
"integrity": "sha512-zvGvWDufiTGpTJPG1Y/McN8UqWBu0k/xs/7l++HVU535NLHXsHhy54cfEMdW7EjwKfbBfM9Xy25FmTiobb7Hvw==",
"requires": {
"@hapi/b64": "5.x.x",
"@hapi/boom": "9.x.x",
"@hapi/bourne": "2.x.x",
"@hapi/cryptiles": "5.x.x",
"@hapi/hoek": "9.x.x"
}
},
"@hapi/mimos": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-6.0.0.tgz",
"integrity": "sha512-Op/67tr1I+JafN3R3XN5DucVSxKRT/Tc+tUszDwENoNpolxeXkhrJ2Czt6B6AAqrespHoivhgZBWYSuANN9QXg==",
"requires": {
"@hapi/hoek": "9.x.x",
"mime-db": "1.x.x"
}
},
"@hapi/nigel": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/@hapi/nigel/-/nigel-4.0.2.tgz",
"integrity": "sha512-ht2KoEsDW22BxQOEkLEJaqfpoKPXxi7tvabXy7B/77eFtOyG5ZEstfZwxHQcqAiZhp58Ae5vkhEqI03kawkYNw==",
"requires": {
"@hapi/hoek": "^9.0.4",
"@hapi/vise": "^4.0.0"
}
},
"@hapi/pez": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@hapi/pez/-/pez-5.0.3.tgz",
"integrity": "sha512-mpikYRJjtrbJgdDHG/H9ySqYqwJ+QU/D7FXsYciS9P7NYBXE2ayKDAy3H0ou6CohOCaxPuTV4SZ0D936+VomHA==",
"requires": {
"@hapi/b64": "5.x.x",
"@hapi/boom": "9.x.x",
"@hapi/content": "^5.0.2",
"@hapi/hoek": "9.x.x",
"@hapi/nigel": "4.x.x"
}
},
"@hapi/podium": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-4.1.3.tgz",
"integrity": "sha512-ljsKGQzLkFqnQxE7qeanvgGj4dejnciErYd30dbrYzUOF/FyS/DOF97qcrT3bhoVwCYmxa6PEMhxfCPlnUcD2g==",
"requires": {
"@hapi/hoek": "9.x.x",
"@hapi/teamwork": "5.x.x",
"@hapi/validate": "1.x.x"
}
},
"@hapi/shot": {
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-5.0.5.tgz",
"integrity": "sha512-x5AMSZ5+j+Paa8KdfCoKh+klB78otxF+vcJR/IoN91Vo2e5ulXIW6HUsFTCU+4W6P/Etaip9nmdAx2zWDimB2A==",
"requires": {
"@hapi/hoek": "9.x.x",
"@hapi/validate": "1.x.x"
}
},
"@hapi/somever": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-3.0.1.tgz",
"integrity": "sha512-4ZTSN3YAHtgpY/M4GOtHUXgi6uZtG9nEZfNI6QrArhK0XN/RDVgijlb9kOmXwCR5VclDSkBul9FBvhSuKXx9+w==",
"requires": {
"@hapi/bounce": "2.x.x",
"@hapi/hoek": "9.x.x"
}
},
"@hapi/statehood": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-7.0.4.tgz",
"integrity": "sha512-Fia6atroOVmc5+2bNOxF6Zv9vpbNAjEXNcUbWXavDqhnJDlchwUUwKS5LCi5mGtCTxRhUKKHwuxuBZJkmLZ7fw==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/bounce": "2.x.x",
"@hapi/bourne": "2.x.x",
"@hapi/cryptiles": "5.x.x",
"@hapi/hoek": "9.x.x",
"@hapi/iron": "6.x.x",
"@hapi/validate": "1.x.x"
}
},
"@hapi/subtext": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-7.0.4.tgz",
"integrity": "sha512-Y72moHhbRuO8kwBHFEnCRw7oOnhNh4Pl+aonxAze18jkyMpE4Gwz4lNID7ei8vd3lpXC2rKdkxXJgtfY+WttRw==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/bourne": "2.x.x",
"@hapi/content": "^5.0.2",
"@hapi/file": "2.x.x",
"@hapi/hoek": "9.x.x",
"@hapi/pez": "^5.0.1",
"@hapi/wreck": "17.x.x"
}
},
"@hapi/teamwork": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-5.1.1.tgz",
"integrity": "sha512-1oPx9AE5TIv+V6Ih54RP9lTZBso3rP8j4Xhb6iSVwPXtAM+sDopl5TFMv5Paw73UnpZJ9gjcrTE1BXrWt9eQrg=="
},
"@hapi/topo": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
"integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
"requires": {
"@hapi/hoek": "^9.0.0"
}
},
"@hapi/validate": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-1.1.3.tgz",
"integrity": "sha512-/XMR0N0wjw0Twzq2pQOzPBZlDzkekGcoCtzO314BpIEsbXdYGthQUbxgkGDf4nhk1+IPDAsXqWjMohRQYO06UA==",
"requires": {
"@hapi/hoek": "^9.0.0",
"@hapi/topo": "^5.0.0"
}
},
"@hapi/vise": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-4.0.0.tgz",
"integrity": "sha512-eYyLkuUiFZTer59h+SGy7hUm+qE9p+UemePTHLlIWppEd+wExn3Df5jO04bFQTm7nleF5V8CtuYQYb+VFpZ6Sg==",
"requires": {
"@hapi/hoek": "9.x.x"
}
},
"@hapi/wreck": {
"version": "17.2.0",
"resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-17.2.0.tgz",
"integrity": "sha512-pJ5kjYoRPYDv+eIuiLQqhGon341fr2bNIYZjuotuPJG/3Ilzr/XtI+JAp0A86E2bYfsS3zBPABuS2ICkaXFT8g==",
"requires": {
"@hapi/boom": "9.x.x",
"@hapi/bourne": "2.x.x",
"@hapi/hoek": "9.x.x"
}
},
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
}
}
}

14
api/package.json Normal file
Zobrazit soubor

@ -0,0 +1,14 @@
{
"name": "gweicz-sysinfo-api",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"@hapi/hapi": "^20.2.2"
}
}

32
api/server.js Normal file
Zobrazit soubor

@ -0,0 +1,32 @@
'use strict';
const Hapi = require('@hapi/hapi');
const fs = require('fs')
const init = async () => {
const server = Hapi.server({
port: 8033,
host: 'localhost'
});
server.route({
method: 'GET',
path: '/',
handler: (request, h) => {
const spec = JSON.parse(fs.readFileSync('../build/spec.json'))
return spec
}
});
await server.start();
console.log('Server running on %s', server.info.uri);
};
process.on('unhandledRejection', (err) => {
console.log(err);
process.exit(1);
});
init();

Zobrazit soubor

@ -2,7 +2,7 @@
"name": "gweicz-services",
"module": "index.ts",
"scripts": {
"build": "bun scripts/build.js"
"build": "node ./scripts/build-data.js"
},
"type": "module",
"devDependencies": {
@ -12,4 +12,4 @@
"js-yaml": "^4.1.0",
"jsonata": "^1.8.6"
}
}
}

Zobrazit soubor

@ -1,6 +1,6 @@
const yaml = require('js-yaml')
const fs = require('fs')
const jsonata = require('jsonata')
import yaml from 'js-yaml'
import fs from 'fs'
import jsonata from 'jsonata'
const outputFn = 'build/spec.json'
@ -34,10 +34,14 @@ async function build () {
for (const item of spec.services) {
item.url = item.host ? `https://${item.host}` : item.url
item.versions = await getVersions(item.version_conf, item)
if (item.version_conf) {
item.versions = await getVersions(item.version_conf, item)
}
delete item.version_conf
}
spec.time = new Date
fs.writeFileSync(outputFn, JSON.stringify(spec, null, 2))
console.log(`saved: ${outputFn}`)
console.log('build done')

Zobrazit soubor

@ -1,7 +1,31 @@
servers:
- name: frontier
host: frontier.gwei.cz
provider: Alwyzon
monitor: 23
location: AT 🇦🇹
- name: palatinus
domain: utxo.cz
host: palatinus.utxo.cz
provider: Alwyzon
monitor: 22
location: AT 🇦🇹
- name: hex
host: hex.gwei.cz
provider: self-hosting
monitor: 27
location: CZ 🇨🇿
- name: metropolis
host: metropolis.gwei.cz
provider: Forpsi
monitor: 24
location: CZ 🇨🇿
services:
- name: Gitea
host: git.gwei.cz
repo: go-gitea/gitea
server: frontier
monitor: 6
version_conf:
from:
@ -13,6 +37,7 @@ services:
- name: Mastodon
host: social.gwei.cz
repo: mastodon/mastodon
server: frontier
monitor: 3
version_conf:
from:
@ -23,6 +48,7 @@ services:
- name: Synapse (Matrix)
repo: matrix-org/synapse
server: frontier
monitor: 1
version_conf:
from:
@ -33,6 +59,8 @@ services:
- name: Cinny
repo: cinnyapp/cinny
url: https://cinny.gwei.cz
server: frontier
monitor: 8
version_conf:
from:
@ -42,6 +70,7 @@ services:
strategy: github
- name: Tor Relay (#1) (Exit)
server: hex
monitor: 34
version_conf:
from:
@ -53,6 +82,7 @@ services:
query: "<td>(\\d+\\.\\d+\\.\\d+\\.\\d+)<\/td>"
- name: Tor Relay (#2)
server: palatinus
monitor: 33
version_conf:
from:
@ -66,6 +96,7 @@ services:
- name: Discourse (Gwei.cz)
host: forum.gwei.cz
repo: discourse/discourse
server: frontier
monitor: 2
version_conf:
from:
@ -78,6 +109,7 @@ services:
- name: Discourse (dCZK)
host: forum.dczk.cz
repo: discourse/discourse
server: frontier
monitor: 2
version_conf:
from:
@ -90,6 +122,7 @@ services:
- name: SFTPGo
host: sftpgo.gwei.cz
repo: drakkan/sftpgo
server: frontier
monitor: 37
version_conf:
from:
@ -97,4 +130,33 @@ services:
url: https://sftpgo.gwei.cz/web/admin/login
query: 'WebAdmin - ([^<]+)<\/h1>'
to:
strategy: github
strategy: github
- name: Authentik
host: auth.gwei.cz
repo: goauthentik/authentik
server: palatinus
monitor: 10
version_conf:
from:
url: https://auth.gwei.cz/api/v3/admin/version/
query: 'version_current'
to:
url: https://auth.gwei.cz/api/v3/admin/version/
query: 'version_latest'
- name: Jitsi
host: meet.gwei.cz
url: https://meet.gwei.cz/
server: frontier
monitor: 13
- name: Kubo (IPFS)
host: ipfs.gwei.cz
server: hex
monitor: 5
- name: IPFS Cluster
host: ipfs-cluster.gwei.cz
server: hex
monitor: 39

8
web/.gitignore vendorováno Normal file
Zobrazit soubor

@ -0,0 +1,8 @@
.DS_Store
node_modules
/build
/.svelte-kit
/package
.env
.env.*
!.env.example

1
web/.npmrc Normal file
Zobrazit soubor

@ -0,0 +1 @@
engine-strict=true

38
web/README.md Normal file
Zobrazit soubor

@ -0,0 +1,38 @@
# create-svelte
Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
## Creating a project
If you're seeing this, you've probably already done this step. Congrats!
```bash
# create a new project in the current directory
npm create svelte@latest
# create a new project in my-app
npm create svelte@latest my-app
```
## Developing
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
```bash
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
```
## Building
To create a production version of your app:
```bash
npm run build
```
You can preview the production build with `npm run preview`.
> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.

3268
web/package-lock.json vygenerováno Normal file

Rozdílový obsah nebyl zobrazen, protože je příliš veliký Načíst rozdílové porovnání

21
web/package.json Normal file
Zobrazit soubor

@ -0,0 +1,21 @@
{
"name": "web",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview"
},
"devDependencies": {
"@sveltejs/adapter-static": "^1.0.0-next.45",
"@sveltejs/kit": "next",
"autoprefixer": "^10.4.12",
"postcss": "^8.4.18",
"svelte": "^3.44.0",
"svelte-preprocess": "^4.10.7",
"tailwindcss": "^3.2.0",
"vite": "^3.1.0"
},
"type": "module"
}

6
web/postcss.config.cjs Normal file
Zobrazit soubor

@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}

3
web/src/app.css Normal file
Zobrazit soubor

@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

12
web/src/app.html Normal file
Zobrazit soubor

@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
<meta name="viewport" content="width=device-width" />
%sveltekit.head%
</head>
<body>
<div>%sveltekit.body%</div>
</body>
</html>

1
web/src/lib/spec.json Symbolický odkaz
Zobrazit soubor

@ -0,0 +1 @@
../../../build/spec.json

Zobrazit soubor

@ -0,0 +1,13 @@
<script>
import "../app.css";
</script>
<div class="font-mono flex justify-center">
<div class="w-full xl:w-3/4 p-6 xl:px-0">
<section class="mb-10 mt-4">
<h1 class="text-3xl font-bold"><a href="https://sysinfo.gwei.cz" class="underline hover:no-underline">sysinfo.gwei.cz</a></h1>
</section>
<slot />
</div>
</div>

Zobrazit soubor

@ -0,0 +1,82 @@
<script>
import spec from '$lib/spec.json'
const serverCols = [
{ title: 'Name', key: 'name' },
{ title: 'Hostname', key: (s) => `<a href="https://${s.host}" class="underline hover:no-underline">${s.host}</a>` },
{ title: 'Status', key: (s) => `<a href="https://status.gwei.cz/dashboard/${s.monitor}" target="_blank"><img src="https://status.gwei.cz/api/badge/${s.monitor}/status?style=flat-square" /></a>` },
{ title: 'Location', key: 'location' },
{ title: 'Provider', key: 'provider' },
]
const cols = [
{ title: 'Name', key: 'name' },
{ title: 'Server', key: 'server' },
{ title: 'Endpoint', key: (s) => s.url ? `<a href="${s.url}" class="underline hover:no-underline">${s.url.replace(/^https?:\/\//, '')}</a>` : '' },
{ title: 'Status', key: (s) => `<a href="https://status.gwei.cz/dashboard/${s.monitor}" target="_blank"><img src="https://status.gwei.cz/api/badge/${s.monitor}/status?style=flat-square" /></a>` },
//{ title: 'Uptime', key: (s) => `<img src="https://status.gwei.cz/api/badge/${s.monitor}/uptime/24?style=flat-square" />` },
{ title: 'Version', key: (s) => s.versions ? s.versions.local : '-' },
{ title: 'Latest version', key: (s) => s.versions ? (s.versions.latest || 'n/a') : '-' },
];
</script>
<section class="mb-10">
Overview of Gwei.cz servers and services
</section>
<section class="mb-10">
<h2 class="mb-4 text-xl font-bold">Servers</h2>
<table class="table-auto w-full text-sm">
<thead>
<tr class="">
{#each serverCols as col}
<th class="text-left pb-2">{col.title}</th>
{/each}
</tr>
</thead>
<tbody>
{#each spec.servers as item}
<tr>
{#each serverCols as col}
<td class="">{@html typeof col.key === 'string' ? item[col.key] : col.key(item)}</td>
{/each}
</tr>
{/each}
</tbody>
</table>
</section>
<section>
<h2 class="mb-4 text-xl font-bold">Services</h2>
<table class="table-auto w-full text-sm">
<thead>
<tr class="">
{#each cols as col}
<th class="text-left pb-2">{col.title}</th>
{/each}
</tr>
</thead>
<tbody>
{#each spec.services as service}
<tr>
{#each cols as col}
<td class="">{@html typeof col.key === 'string' ? service[col.key] : col.key(service)}</td>
{/each}
</tr>
{/each}
</tbody>
</table>
</section>
<section class="mt-16 text-base">
Generated {spec.time}
| <a href="https://sysinfo.gwei.cz/spec.json" class="underline hover:no-underline">spec.json</a>
| <a href="https://git.gwei.cz/gweicz/sysinfo" class="underline hover:no-underline">source code</a>
</section>
<!--section class="pt-60">
<code><pre>{JSON.stringify(spec, null, 2)}</pre></code>
</section-->

binární
web/static/favicon.png Normal file

Binární soubor nebyl zobrazen.

Za

Šířka:  |  Výška:  |  Velikost: 1.5 KiB

16
web/svelte.config.js Normal file
Zobrazit soubor

@ -0,0 +1,16 @@
import adapter from '@sveltejs/adapter-static';
import preprocess from "svelte-preprocess";
/** @type {import('@sveltejs/kit').Config} */
const config = {
kit: {
adapter: adapter()
},
preprocess: [
preprocess({
postcss: true,
}),
],
};
export default config;

7
web/tailwind.config.cjs Normal file
Zobrazit soubor

@ -0,0 +1,7 @@
module.exports = {
content: ['./src/**/*.{html,js,svelte,ts}'],
theme: {
extend: {},
},
plugins: [],
}

7
web/vite.config.js Normal file
Zobrazit soubor

@ -0,0 +1,7 @@
import { sveltekit } from '@sveltejs/kit/vite';
const config = {
plugins: [sveltekit()]
};
export default config;