From e618c3f52c1c4ae161650679cda24eecbba579bb Mon Sep 17 00:00:00 2001 From: Minteck Date: Sat, 4 Dec 2021 10:58:59 +0100 Subject: Code is now more cute! --- TODO | 20 +++ archives/minteck-autouptime-v1.json | 9 -- archives/minteck-autouptime-v2.json | 9 -- archives/minteck-bettersearch.json | 9 -- archives/minteck-future.json | 9 -- archives/minteck-game-launcher.json | 9 -- archives/minteck-horizon.json | 9 -- archives/minteck-mpnotes.json | 9 -- archives/minteck-mprjnet1.json | 9 -- archives/minteck-mprjnet3.json | 9 -- archives/minteck-mprjnet5.json | 9 -- archives/minteck-neutron2.json | 9 -- archives/minteck-neutronstore.json | 9 -- archives/minteck-plasmawalls.json | 9 -- archives/minteck-polymer3.json | 9 -- archives/minteck-pwrite.json | 9 -- archives/minteck-ttshell.json | 9 -- archives/minteck-tysonbots.json | 9 -- archives/minteck-tysonfans.json | 9 -- archives/minteck-webserver.json | 9 -- archives/minteck-webspace.json | 9 -- data/archives/minteck-autouptime-v1.json | 9 ++ data/archives/minteck-autouptime-v2.json | 9 ++ data/archives/minteck-bettersearch.json | 9 ++ data/archives/minteck-future.json | 9 ++ data/archives/minteck-game-launcher.json | 9 ++ data/archives/minteck-horizon.json | 9 ++ data/archives/minteck-mpnotes.json | 9 ++ data/archives/minteck-mprjnet1.json | 9 ++ data/archives/minteck-mprjnet3.json | 9 ++ data/archives/minteck-mprjnet5.json | 9 ++ data/archives/minteck-neutron2.json | 9 ++ data/archives/minteck-neutronstore.json | 9 ++ data/archives/minteck-plasmawalls.json | 9 ++ data/archives/minteck-polymer3.json | 9 ++ data/archives/minteck-pwrite.json | 9 ++ data/archives/minteck-ttshell.json | 9 ++ data/archives/minteck-tysonbots.json | 9 ++ data/archives/minteck-tysonfans.json | 9 ++ data/archives/minteck-webserver.json | 9 ++ data/archives/minteck-webspace.json | 9 ++ data/lang/en.json | 57 +++++++- htdocs/private/version.txt | 2 +- htdocs/public/TODO/index.ejs | 1 + htdocs/public/archive/index.ejs | 23 ++-- htdocs/public/index.ejs | 8 +- htdocs/public/legal/index.ejs | 223 ++++++------------------------- htdocs/public/metranslator/api/index.ejs | 33 +++++ htdocs/public/metranslator/index.ejs | 194 +++++++++++++++++++++++++++ htdocs/public/projects/index.ejs | 35 ----- index.js | 2 - package.json | 2 +- server/gitea.js | 115 ---------------- server/http.js | 9 +- 54 files changed, 549 insertions(+), 535 deletions(-) create mode 100644 TODO delete mode 100644 archives/minteck-autouptime-v1.json delete mode 100644 archives/minteck-autouptime-v2.json delete mode 100644 archives/minteck-bettersearch.json delete mode 100644 archives/minteck-future.json delete mode 100644 archives/minteck-game-launcher.json delete mode 100644 archives/minteck-horizon.json delete mode 100644 archives/minteck-mpnotes.json delete mode 100644 archives/minteck-mprjnet1.json delete mode 100644 archives/minteck-mprjnet3.json delete mode 100644 archives/minteck-mprjnet5.json delete mode 100644 archives/minteck-neutron2.json delete mode 100644 archives/minteck-neutronstore.json delete mode 100644 archives/minteck-plasmawalls.json delete mode 100644 archives/minteck-polymer3.json delete mode 100644 archives/minteck-pwrite.json delete mode 100644 archives/minteck-ttshell.json delete mode 100644 archives/minteck-tysonbots.json delete mode 100644 archives/minteck-tysonfans.json delete mode 100644 archives/minteck-webserver.json delete mode 100644 archives/minteck-webspace.json create mode 100644 data/archives/minteck-autouptime-v1.json create mode 100644 data/archives/minteck-autouptime-v2.json create mode 100644 data/archives/minteck-bettersearch.json create mode 100644 data/archives/minteck-future.json create mode 100644 data/archives/minteck-game-launcher.json create mode 100644 data/archives/minteck-horizon.json create mode 100644 data/archives/minteck-mpnotes.json create mode 100644 data/archives/minteck-mprjnet1.json create mode 100644 data/archives/minteck-mprjnet3.json create mode 100644 data/archives/minteck-mprjnet5.json create mode 100644 data/archives/minteck-neutron2.json create mode 100644 data/archives/minteck-neutronstore.json create mode 100644 data/archives/minteck-plasmawalls.json create mode 100644 data/archives/minteck-polymer3.json create mode 100644 data/archives/minteck-pwrite.json create mode 100644 data/archives/minteck-ttshell.json create mode 100644 data/archives/minteck-tysonbots.json create mode 100644 data/archives/minteck-tysonfans.json create mode 100644 data/archives/minteck-webserver.json create mode 100644 data/archives/minteck-webspace.json create mode 100644 htdocs/public/TODO/index.ejs create mode 100644 htdocs/public/metranslator/api/index.ejs create mode 100644 htdocs/public/metranslator/index.ejs delete mode 100644 htdocs/public/projects/index.ejs delete mode 100644 server/gitea.js diff --git a/TODO b/TODO new file mode 100644 index 0000000..da080c3 --- /dev/null +++ b/TODO @@ -0,0 +1,20 @@ +- Migrate pages from v8 + - Contents Pages + - /code-of-conduct + - /metranslator + - Redirects + - /contact -> /#/contact + - /creations -> https://gitlab.minteck.org/minteck + - /creations/dev -> /creations + - /creations/dev -> /creations + - /creations/electrode -> https://gitlab.minteck.org/minteck/electrode + - /creations/kartik -> https://kartik.minteck.org + - /creations/neutron -> https://gitlab.minteck.org/minteck/neutron + - /creations/unchained -> https://unchained.minteck.org/home + - /furry -> /#/about + - /oworadio -> / + - /oworadio/credits -> / + - /oworadio/dmca -> / + - /oworadio/along -> / + - /oworadio/source -> / + - /oworadio/vlc -> / \ No newline at end of file diff --git a/archives/minteck-autouptime-v1.json b/archives/minteck-autouptime-v1.json deleted file mode 100644 index 309c8a9..0000000 --- a/archives/minteck-autouptime-v1.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Auto-uptime", - "date": "11/2019", - "unreleased": false, - "description": { - "en": "Website pinging service", - "fr": "Service de questionnement de site Web" - } -} \ No newline at end of file diff --git a/archives/minteck-autouptime-v2.json b/archives/minteck-autouptime-v2.json deleted file mode 100644 index ac3dcd7..0000000 --- a/archives/minteck-autouptime-v2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Auto-uptime Second Edition", - "date": "03/2020", - "unreleased": false, - "description": { - "en": "Website pinging service, new generation", - "fr": "Service de questionnement de site Web, nouvelle génération" - } -} \ No newline at end of file diff --git a/archives/minteck-bettersearch.json b/archives/minteck-bettersearch.json deleted file mode 100644 index a247ba7..0000000 --- a/archives/minteck-bettersearch.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "BetterSearch", - "date": "12/2019", - "unreleased": false, - "description": { - "en": "Meta-search engine with AI-powered analysis", - "fr": "Méta-moteur de recherche avec une analyse par IA" - } -} \ No newline at end of file diff --git a/archives/minteck-future.json b/archives/minteck-future.json deleted file mode 100644 index f8b4691..0000000 --- a/archives/minteck-future.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Future Desktop", - "date": "04/2020", - "unreleased": true, - "description": { - "en": "A desktop environment for Linux systems using Web technologies", - "fr": "Un environnement de bureau pour les systèmes Linux qui utilise les technologies Web" - } -} diff --git a/archives/minteck-game-launcher.json b/archives/minteck-game-launcher.json deleted file mode 100644 index 5377e6e..0000000 --- a/archives/minteck-game-launcher.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Game Launcher", - "date": "07/2020", - "unreleased": false, - "description": { - "en": "Simple game and app launcher for Linux", - "fr": "Lanceur de jeu et d'application simple pour Linux" - } -} \ No newline at end of file diff --git a/archives/minteck-horizon.json b/archives/minteck-horizon.json deleted file mode 100644 index 77853e0..0000000 --- a/archives/minteck-horizon.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Horizon", - "date": "02/2019", - "unreleased": false, - "description": { - "en": "General-purpose Discord bot", - "fr": "Le couteau suisse des robots Discord" - } -} \ No newline at end of file diff --git a/archives/minteck-mpnotes.json b/archives/minteck-mpnotes.json deleted file mode 100644 index 5346d09..0000000 --- a/archives/minteck-mpnotes.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Minteck Projects Account/Notes", - "date": "04/2019", - "unreleased": false, - "description": { - "en": "Online notes syncing service", - "fr": "Service de synchronisation en ligne de notes" - } -} \ No newline at end of file diff --git a/archives/minteck-mprjnet1.json b/archives/minteck-mprjnet1.json deleted file mode 100644 index 7f81392..0000000 --- a/archives/minteck-mprjnet1.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Minteck Projects.net 1", - "date": "12/2018", - "unreleased": false, - "description": { - "en": "The first Minteck Projects website", - "fr": "Le premier site Web de Minteck Projects" - } -} \ No newline at end of file diff --git a/archives/minteck-mprjnet3.json b/archives/minteck-mprjnet3.json deleted file mode 100644 index bbf35d6..0000000 --- a/archives/minteck-mprjnet3.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Minteck Projects.net 3", - "date": "05/2019", - "unreleased": false, - "description": { - "en": "The third Minteck Projects website, introducing a new rock-solid rendering engine", - "fr": "Le troisième site Web de Minteck Projects, apportant un nouveau moteur de rendu très fiable" - } -} \ No newline at end of file diff --git a/archives/minteck-mprjnet5.json b/archives/minteck-mprjnet5.json deleted file mode 100644 index 60565a6..0000000 --- a/archives/minteck-mprjnet5.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Minteck Projects.net 5", - "date": "12/2019", - "unreleased": false, - "description": { - "en": "Last Minteck Projects website to use the v3 rendering engine", - "fr": "Dernier site de Minteck Projects à utiliser le moteur de rendu v3" - } -} \ No newline at end of file diff --git a/archives/minteck-neutron2.json b/archives/minteck-neutron2.json deleted file mode 100644 index 868e3f2..0000000 --- a/archives/minteck-neutron2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Neutron 2", - "date": "09/2019", - "unreleased": false, - "description": { - "en": "Second stable Neutron release", - "fr": "Deuxième version stable de Neutron" - } -} \ No newline at end of file diff --git a/archives/minteck-neutronstore.json b/archives/minteck-neutronstore.json deleted file mode 100644 index 51e2b0b..0000000 --- a/archives/minteck-neutronstore.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Neutron Store (CMS Store)", - "date": "10/2019", - "unreleased": false, - "description": { - "en": "Optional features store for legacy versions of Neutron", - "fr": "Boutique de fonctionnalités optionnelles pour les anciennes versions de Neutron" - } -} \ No newline at end of file diff --git a/archives/minteck-plasmawalls.json b/archives/minteck-plasmawalls.json deleted file mode 100644 index b5ed74e..0000000 --- a/archives/minteck-plasmawalls.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "PlasmaWalls", - "date": "02/2021", - "unreleased": false, - "description": { - "en": "Synced with Git, website that helps download KDE Plasma's wallpapers", - "fr": "Synchronisé avec Git, site Web qui permet de télécharger les fonds d'écran de KDE Plasma" - } -} \ No newline at end of file diff --git a/archives/minteck-polymer3.json b/archives/minteck-polymer3.json deleted file mode 100644 index ee967c6..0000000 --- a/archives/minteck-polymer3.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Minteck Projects.net 6 (Project Polymer 3)", - "date": "04/2020", - "unreleased": true, - "description": { - "en": "New Minteck Projects website project, featuring a new modular rendering engine", - "fr": "Projet de nouveau site de Minteck Projects, constitué d'un nouveau moteur de rendu modulaire" - } -} \ No newline at end of file diff --git a/archives/minteck-pwrite.json b/archives/minteck-pwrite.json deleted file mode 100644 index a00ea7e..0000000 --- a/archives/minteck-pwrite.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "pWrite Text Editor", - "date": "11/2019", - "unreleased": false, - "description": { - "en": "Open-source word processor powered by Web technologies", - "fr": "Traitement de texte libre de droits propulsé par des technologies Web" - } -} \ No newline at end of file diff --git a/archives/minteck-ttshell.json b/archives/minteck-ttshell.json deleted file mode 100644 index 4b8cf38..0000000 --- a/archives/minteck-ttshell.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Titou Shell", - "date": "07/2018", - "unreleased": false, - "description": { - "en": "Alternative shell simulator for Windows Vista and newer", - "fr": "Simulateur de shell alternatif pour Windows Vista et suivant" - } -} \ No newline at end of file diff --git a/archives/minteck-tysonbots.json b/archives/minteck-tysonbots.json deleted file mode 100644 index f524edd..0000000 --- a/archives/minteck-tysonbots.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Tyson Bots", - "date": "02/2020", - "unreleased": false, - "description": { - "en": "Discord and Web-based chatbot powered by Google Dialogflow", - "fr": "Robot de discussion sur le Web et pour Discord propulsé par Google Dialogflow" - } -} \ No newline at end of file diff --git a/archives/minteck-tysonfans.json b/archives/minteck-tysonfans.json deleted file mode 100644 index dc73b03..0000000 --- a/archives/minteck-tysonfans.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Tyson Fans", - "date": "02/2020", - "unreleased": false, - "description": { - "en": "Sub-group from Minteck Projects that tributes to Tyson Tan", - "fr": "Sous-groupe de Minteck Projects qui rend hommage à Tyson Tan" - } -} \ No newline at end of file diff --git a/archives/minteck-webserver.json b/archives/minteck-webserver.json deleted file mode 100644 index 48423d0..0000000 --- a/archives/minteck-webserver.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Minteck Projects Web Server", - "date": "04/2019", - "unreleased": true, - "description": { - "en": "JavaScript-powered lightweight Web server. Served as a base for Sattelite Server.", - "fr": "Serveur Web léger propulsé par JavaScript" - } -} \ No newline at end of file diff --git a/archives/minteck-webspace.json b/archives/minteck-webspace.json deleted file mode 100644 index 1b866b3..0000000 --- a/archives/minteck-webspace.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "Minteck Projects WebSpace", - "date": "06/2020", - "unreleased": true, - "description": { - "en": "Desktop application for Minteck Projects websites", - "fr": "Application de bureau pour les sites de Minteck Projects" - } -} \ No newline at end of file diff --git a/data/archives/minteck-autouptime-v1.json b/data/archives/minteck-autouptime-v1.json new file mode 100644 index 0000000..309c8a9 --- /dev/null +++ b/data/archives/minteck-autouptime-v1.json @@ -0,0 +1,9 @@ +{ + "title": "Auto-uptime", + "date": "11/2019", + "unreleased": false, + "description": { + "en": "Website pinging service", + "fr": "Service de questionnement de site Web" + } +} \ No newline at end of file diff --git a/data/archives/minteck-autouptime-v2.json b/data/archives/minteck-autouptime-v2.json new file mode 100644 index 0000000..ac3dcd7 --- /dev/null +++ b/data/archives/minteck-autouptime-v2.json @@ -0,0 +1,9 @@ +{ + "title": "Auto-uptime Second Edition", + "date": "03/2020", + "unreleased": false, + "description": { + "en": "Website pinging service, new generation", + "fr": "Service de questionnement de site Web, nouvelle génération" + } +} \ No newline at end of file diff --git a/data/archives/minteck-bettersearch.json b/data/archives/minteck-bettersearch.json new file mode 100644 index 0000000..a247ba7 --- /dev/null +++ b/data/archives/minteck-bettersearch.json @@ -0,0 +1,9 @@ +{ + "title": "BetterSearch", + "date": "12/2019", + "unreleased": false, + "description": { + "en": "Meta-search engine with AI-powered analysis", + "fr": "Méta-moteur de recherche avec une analyse par IA" + } +} \ No newline at end of file diff --git a/data/archives/minteck-future.json b/data/archives/minteck-future.json new file mode 100644 index 0000000..f8b4691 --- /dev/null +++ b/data/archives/minteck-future.json @@ -0,0 +1,9 @@ +{ + "title": "Future Desktop", + "date": "04/2020", + "unreleased": true, + "description": { + "en": "A desktop environment for Linux systems using Web technologies", + "fr": "Un environnement de bureau pour les systèmes Linux qui utilise les technologies Web" + } +} diff --git a/data/archives/minteck-game-launcher.json b/data/archives/minteck-game-launcher.json new file mode 100644 index 0000000..5377e6e --- /dev/null +++ b/data/archives/minteck-game-launcher.json @@ -0,0 +1,9 @@ +{ + "title": "Game Launcher", + "date": "07/2020", + "unreleased": false, + "description": { + "en": "Simple game and app launcher for Linux", + "fr": "Lanceur de jeu et d'application simple pour Linux" + } +} \ No newline at end of file diff --git a/data/archives/minteck-horizon.json b/data/archives/minteck-horizon.json new file mode 100644 index 0000000..77853e0 --- /dev/null +++ b/data/archives/minteck-horizon.json @@ -0,0 +1,9 @@ +{ + "title": "Horizon", + "date": "02/2019", + "unreleased": false, + "description": { + "en": "General-purpose Discord bot", + "fr": "Le couteau suisse des robots Discord" + } +} \ No newline at end of file diff --git a/data/archives/minteck-mpnotes.json b/data/archives/minteck-mpnotes.json new file mode 100644 index 0000000..5346d09 --- /dev/null +++ b/data/archives/minteck-mpnotes.json @@ -0,0 +1,9 @@ +{ + "title": "Minteck Projects Account/Notes", + "date": "04/2019", + "unreleased": false, + "description": { + "en": "Online notes syncing service", + "fr": "Service de synchronisation en ligne de notes" + } +} \ No newline at end of file diff --git a/data/archives/minteck-mprjnet1.json b/data/archives/minteck-mprjnet1.json new file mode 100644 index 0000000..7f81392 --- /dev/null +++ b/data/archives/minteck-mprjnet1.json @@ -0,0 +1,9 @@ +{ + "title": "Minteck Projects.net 1", + "date": "12/2018", + "unreleased": false, + "description": { + "en": "The first Minteck Projects website", + "fr": "Le premier site Web de Minteck Projects" + } +} \ No newline at end of file diff --git a/data/archives/minteck-mprjnet3.json b/data/archives/minteck-mprjnet3.json new file mode 100644 index 0000000..bbf35d6 --- /dev/null +++ b/data/archives/minteck-mprjnet3.json @@ -0,0 +1,9 @@ +{ + "title": "Minteck Projects.net 3", + "date": "05/2019", + "unreleased": false, + "description": { + "en": "The third Minteck Projects website, introducing a new rock-solid rendering engine", + "fr": "Le troisième site Web de Minteck Projects, apportant un nouveau moteur de rendu très fiable" + } +} \ No newline at end of file diff --git a/data/archives/minteck-mprjnet5.json b/data/archives/minteck-mprjnet5.json new file mode 100644 index 0000000..60565a6 --- /dev/null +++ b/data/archives/minteck-mprjnet5.json @@ -0,0 +1,9 @@ +{ + "title": "Minteck Projects.net 5", + "date": "12/2019", + "unreleased": false, + "description": { + "en": "Last Minteck Projects website to use the v3 rendering engine", + "fr": "Dernier site de Minteck Projects à utiliser le moteur de rendu v3" + } +} \ No newline at end of file diff --git a/data/archives/minteck-neutron2.json b/data/archives/minteck-neutron2.json new file mode 100644 index 0000000..868e3f2 --- /dev/null +++ b/data/archives/minteck-neutron2.json @@ -0,0 +1,9 @@ +{ + "title": "Neutron 2", + "date": "09/2019", + "unreleased": false, + "description": { + "en": "Second stable Neutron release", + "fr": "Deuxième version stable de Neutron" + } +} \ No newline at end of file diff --git a/data/archives/minteck-neutronstore.json b/data/archives/minteck-neutronstore.json new file mode 100644 index 0000000..51e2b0b --- /dev/null +++ b/data/archives/minteck-neutronstore.json @@ -0,0 +1,9 @@ +{ + "title": "Neutron Store (CMS Store)", + "date": "10/2019", + "unreleased": false, + "description": { + "en": "Optional features store for legacy versions of Neutron", + "fr": "Boutique de fonctionnalités optionnelles pour les anciennes versions de Neutron" + } +} \ No newline at end of file diff --git a/data/archives/minteck-plasmawalls.json b/data/archives/minteck-plasmawalls.json new file mode 100644 index 0000000..b5ed74e --- /dev/null +++ b/data/archives/minteck-plasmawalls.json @@ -0,0 +1,9 @@ +{ + "title": "PlasmaWalls", + "date": "02/2021", + "unreleased": false, + "description": { + "en": "Synced with Git, website that helps download KDE Plasma's wallpapers", + "fr": "Synchronisé avec Git, site Web qui permet de télécharger les fonds d'écran de KDE Plasma" + } +} \ No newline at end of file diff --git a/data/archives/minteck-polymer3.json b/data/archives/minteck-polymer3.json new file mode 100644 index 0000000..ee967c6 --- /dev/null +++ b/data/archives/minteck-polymer3.json @@ -0,0 +1,9 @@ +{ + "title": "Minteck Projects.net 6 (Project Polymer 3)", + "date": "04/2020", + "unreleased": true, + "description": { + "en": "New Minteck Projects website project, featuring a new modular rendering engine", + "fr": "Projet de nouveau site de Minteck Projects, constitué d'un nouveau moteur de rendu modulaire" + } +} \ No newline at end of file diff --git a/data/archives/minteck-pwrite.json b/data/archives/minteck-pwrite.json new file mode 100644 index 0000000..a00ea7e --- /dev/null +++ b/data/archives/minteck-pwrite.json @@ -0,0 +1,9 @@ +{ + "title": "pWrite Text Editor", + "date": "11/2019", + "unreleased": false, + "description": { + "en": "Open-source word processor powered by Web technologies", + "fr": "Traitement de texte libre de droits propulsé par des technologies Web" + } +} \ No newline at end of file diff --git a/data/archives/minteck-ttshell.json b/data/archives/minteck-ttshell.json new file mode 100644 index 0000000..4b8cf38 --- /dev/null +++ b/data/archives/minteck-ttshell.json @@ -0,0 +1,9 @@ +{ + "title": "Titou Shell", + "date": "07/2018", + "unreleased": false, + "description": { + "en": "Alternative shell simulator for Windows Vista and newer", + "fr": "Simulateur de shell alternatif pour Windows Vista et suivant" + } +} \ No newline at end of file diff --git a/data/archives/minteck-tysonbots.json b/data/archives/minteck-tysonbots.json new file mode 100644 index 0000000..f524edd --- /dev/null +++ b/data/archives/minteck-tysonbots.json @@ -0,0 +1,9 @@ +{ + "title": "Tyson Bots", + "date": "02/2020", + "unreleased": false, + "description": { + "en": "Discord and Web-based chatbot powered by Google Dialogflow", + "fr": "Robot de discussion sur le Web et pour Discord propulsé par Google Dialogflow" + } +} \ No newline at end of file diff --git a/data/archives/minteck-tysonfans.json b/data/archives/minteck-tysonfans.json new file mode 100644 index 0000000..dc73b03 --- /dev/null +++ b/data/archives/minteck-tysonfans.json @@ -0,0 +1,9 @@ +{ + "title": "Tyson Fans", + "date": "02/2020", + "unreleased": false, + "description": { + "en": "Sub-group from Minteck Projects that tributes to Tyson Tan", + "fr": "Sous-groupe de Minteck Projects qui rend hommage à Tyson Tan" + } +} \ No newline at end of file diff --git a/data/archives/minteck-webserver.json b/data/archives/minteck-webserver.json new file mode 100644 index 0000000..48423d0 --- /dev/null +++ b/data/archives/minteck-webserver.json @@ -0,0 +1,9 @@ +{ + "title": "Minteck Projects Web Server", + "date": "04/2019", + "unreleased": true, + "description": { + "en": "JavaScript-powered lightweight Web server. Served as a base for Sattelite Server.", + "fr": "Serveur Web léger propulsé par JavaScript" + } +} \ No newline at end of file diff --git a/data/archives/minteck-webspace.json b/data/archives/minteck-webspace.json new file mode 100644 index 0000000..1b866b3 --- /dev/null +++ b/data/archives/minteck-webspace.json @@ -0,0 +1,9 @@ +{ + "title": "Minteck Projects WebSpace", + "date": "06/2020", + "unreleased": true, + "description": { + "en": "Desktop application for Minteck Projects websites", + "fr": "Application de bureau pour les sites de Minteck Projects" + } +} \ No newline at end of file diff --git a/data/lang/en.json b/data/lang/en.json index cb55ffa..8ccbe8b 100644 --- a/data/lang/en.json +++ b/data/lang/en.json @@ -3,7 +3,8 @@ "copyright": "All rights reserved", "source": "Source Code", "legal": "Legal", - "account": "Minteck Account" + "account": "Minteck Account", + "back": "Go back home" }, "main": { "page": "Main page", @@ -125,5 +126,59 @@ "description": "I strive to respect people's privacy, and try not to use services or applications that violate your privacy." } } + }, + "legal": { + "page": "Legal portal", + "intro": { + "title": "Legal Portal", + "description": "This is the page where all legal documents are posted. The warrant canary (at the bottom) is signed using a GPG key, it's very important that you check for the validity of it, as it may have been compromised.", + "pubkey": { + "text": "Click here to view my GPG public key", + "other": "also get it from:", + "fingerprint": "Fingerprint:" + } + }, + "notices": { + "title": "Legal Notices", + "content": { + "intro": "This website is developed, managed and hosted by:", + "developer": "Developed and edited by Minteck", + "management": "Server managed, hosted and installed by Minteck", + "isp": "Internet access managed by" + } + }, + "tos": { + "title": "Terms and Conditions", + "content": [ + "The following Terms and Conditions apply to the following services:", + "Minteck Account", + "UnchainedTech Comments", + "The Minteck services are made of an online authentication service delivered by Minteck that can extend the features of their projects (such as Kartik Online). The Minteck Account service is submitted to the following terms of use:", + "You must not use Minteck Account and any connected application for the following purposes:", + "activity that is illegal in France", + "prevent other users from accessing parts of the service or all the service", + "try to circumvent security systems and escalate privileges", + "publish private information of another user", + "achieve a commercial or professional goal" + ] + }, + "privacy": { + "title": "Privacy Policy", + "content": [ + "We don't use your data other than to strictly provide the service you want. Period.", + "The data we collect is only the data you explicitly give us access to (e.g. via a registration form) is kept for as long as you choose to keep the data on our servers. Upon deletion by the user, we ensure this data is removed from all of our servers.", + "To enforce laws, we may collect additional data (IP address, URL, timestamps, operating system, browser version) upon identification of suspicious activity. This data is deleted every year near January. You can require early deletion of this data if we think there hasn't been any dangerous activity by sending an email to %1legal@minteck.org%2." + ] + }, + "warrant": { + "title": "Warrant Canary" + } + }, + "archives": { + "title": "Archives", + "months": [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], + "never": "Never released", + "released": "Officially released", + "download": "Download" } } \ No newline at end of file diff --git a/htdocs/private/version.txt b/htdocs/private/version.txt index e977f5e..80af6f9 100644 --- a/htdocs/private/version.txt +++ b/htdocs/private/version.txt @@ -1 +1 @@ -9.1.0 \ No newline at end of file +9.1.2 \ No newline at end of file diff --git a/htdocs/public/TODO/index.ejs b/htdocs/public/TODO/index.ejs new file mode 100644 index 0000000..2e2dcaa --- /dev/null +++ b/htdocs/public/TODO/index.ejs @@ -0,0 +1 @@ +<%- fs.readFileSync(serverRoot + "/TODO") %> \ No newline at end of file diff --git a/htdocs/public/archive/index.ejs b/htdocs/public/archive/index.ejs index 3fdda40..24af393 100644 --- a/htdocs/public/archive/index.ejs +++ b/htdocs/public/archive/index.ejs @@ -1,37 +1,32 @@ -<% global.title = "Archives"; %> +<% global.title = lang.archives.title; %> <%- include(`${private}/header.ejs`) %> ← Go back home
-

Archives

- - - +

<%- lang.archives.title %>

<% - const monthNames = ["January", "February", "March", "April", "May", "June", - "July", "August", "September", "October", "November", "December" - ]; + const monthNames = lang.archives.months; archives = []; - for (let archive of fs.readdirSync(serverRoot + "/archives")) { + for (let archive of fs.readdirSync(serverRoot + "/data/archives")) { data = {}; if (archive.endsWith(".json")) { - json = JSON.parse(fs.readFileSync(serverRoot + "/archives/" + archive).toString()) + json = JSON.parse(fs.readFileSync(serverRoot + "/data/archives/" + archive).toString()) data.id = archive.substr(0, archive.length - 5); data.name = json.title; - data.description = json.description.en; + data.description = json.description[slang] ?? json.description.en; data.date = (json.date.substr(3) + json.date.substr(0, 2)) - 1 + 1; if (json.unreleased) { let date = new Date(json.date.substr(3) + "-" + json.date.substr(0, 2) + "-01"); - data.info = "Never released · " + monthNames[date.getMonth()] + " " + date.getFullYear(); + data.info = "" + lang.archives.never + " · " + monthNames[date.getMonth()] + " " + date.getFullYear(); } else { let date = new Date(json.date.substr(3) + "-" + json.date.substr(0, 2) + "-01"); - data.info = "Officially released · " + monthNames[date.getMonth()] + " " + date.getFullYear(); + data.info = lang.archives.released + " · " + monthNames[date.getMonth()] + " " + date.getFullYear(); } archives.push(data); @@ -49,7 +44,7 @@ Download + class="big-button big-button-bg3"><%- lang.archives.download %>

<%- archive.info %>

diff --git a/htdocs/public/index.ejs b/htdocs/public/index.ejs index 59b21cd..a004f52 100644 --- a/htdocs/public/index.ejs +++ b/htdocs/public/index.ejs @@ -1,6 +1,8 @@ <% global.title = lang.main.page; %> <%- include(`${private}/header.ejs`) %> +TODO +
@@ -28,7 +30,7 @@

<%- lang.main.elements.projects.title %>

<%- lang.main.elements.projects.description %>

- <%- lang.main.elements.projects.action %> → + <%- lang.main.elements.projects.action %> →
@@ -44,7 +46,7 @@
- <%- lang.main.elements.projects.action %> → + <%- lang.main.elements.projects.action %> →
<%- lang.main.elements.contact.action %> ↓ @@ -210,7 +212,7 @@

<%- lang.main.about.archives.title %>

<%- lang.main.about.archives.description %>

- <%- lang.main.about.archives.action %> → + <%- lang.main.about.archives.action %> →

<%- lang.main.about.general.title %>

diff --git a/htdocs/public/legal/index.ejs b/htdocs/public/legal/index.ejs index db9c215..6888391 100644 --- a/htdocs/public/legal/index.ejs +++ b/htdocs/public/legal/index.ejs @@ -1,20 +1,19 @@ -<% global.title = "Legal portal"; %> +<% global.title = lang.legal.page; %> <%- include(`${private}/header.ejs`) %> -← Go back home +← <%- lang.global.back %>
-

Legal Portal

-

This is the page where all legal documents are posted. All the content is signed using a GPG key, it's very important - that you check for the validity of the legal content you see on this website, as it may have been compromised.

+

<%- lang.legal.intro.title %>

+

<%- lang.legal.intro.description %>

- Click here to view my GPG public key (also get it from: Git, <%- lang.legal.intro.pubkey.text %> (<%- lang.legal.intro.pubkey.other %> Git, CDN) - Fingerprint: AEA7 73DB 0620 C57C FFB0 7A91 EFBD C684 35A5 + <%- lang.legal.intro.pubkey.fingerprint %> AEA7 73DB 0620 C57C FFB0 7A91 EFBD C684 35A5 74B7
 -----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -94,11 +93,11 @@ t57Xl7Bb4NLwkD8v+gZillka+3NaYKbaQc9arUMiOWVrKKbAL+60YzlQKe2uHArX
 
 
-

Legal Notices

-

This website is developed, managed and hosted by:

+

<%- lang.legal.notices.title %>

+

<%- lang.legal.notices.content.intro %>

    -
  • Developed and edited by Minteck
  • -
  • Server managed by Minteck +
  • <%- lang.legal.notices.content.developer %>
  • +
  • <%- lang.legal.notices.content.management %>
    • Loiret
      Centre Val-de-Loire
      @@ -106,7 +105,7 @@ t57Xl7Bb4NLwkD8v+gZillka+3NaYKbaQc9arUMiOWVrKKbAL+60YzlQKe2uHArX
  • -
  • Internet access managed by Orange SAS (RCS Nanterre 380 129 866) +
  • <%- lang.legal.notices.content.isp %> Orange SAS (RCS Nanterre 380 129 866)
    • 111, quai du Président Roosevelt
      92130 ISSY-LES-MOULINEAUX
      @@ -119,184 +118,45 @@ t57Xl7Bb4NLwkD8v+gZillka+3NaYKbaQc9arUMiOWVrKKbAL+60YzlQKe2uHArX
    -
    - GPG signed: Legal Notices -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA256
    -
    -Minteck.org Legal Notices
    -=========================
    -
    -This website is developed, managed and hosted by:
    -
    -* Developed and edited by Minteck
    -* Server managed by Minteck
    -    * Loiret
    -      Centre Val-de-Loire
    -      France
    -* Internet access managed by Orange SAS (RCS Nanterre 380 129 866)
    -    * 111, quai du Président Roosevelt
    -      92130 ISSY-LES-MOULINEAUX
    -      and domiciled for the purposes hereof
    -      1 avenue Nelson Mandela
    -      94745 ARCUEIL
    -    * +33 1 44 44 22 22
    -
    -This message is signed using a GPG key of which you can find the public key on:
    -https://minteck.org/legal/#/pubkey
    ------BEGIN PGP SIGNATURE-----
    -
    -iQGzBAEBCAAdFiEErqdz2wYgxXz/sHqR773GhDWldLcFAmF+1I4ACgkQ773GhDWl
    -dLfi/QwApgJnlscqUbYDeolQjVC++RHlhjYvELHLLCku0S0O20McbRTTMvo+ZRxB
    -ubk5S8zr9Q9/1wBQ4CCqUpRzTLSioIu3tdN7uJp4WVF6YkWofCAih+tRF4NwVNDp
    -pSi7MTzrRH226GRfyb/G6YXcuRXJniJPibt7P7GST2BKyv+lLhIQUaMSwcwWZKzu
    -3i1Hc9tD1r0wLaZdaQivTaO4aLXYpKNW76qCH2hXerKsGArB+SEkC3Ul+AztiQkJ
    -S9BGoVgHUaAA2FUzaw/mFWVeQNu3N1dWw+p+tsnrDulsQwf29601Y1G6scc2A/El
    -GWq3hwWXvJYHG+WXqrw3i3pJN9EGAozV8lc9PicahNd3m/5h2PHdxrRtz+bzeKc0
    -SIwfdsypoMkW1zKMtSki/MAvucg6X6tpLQdGova59bK/1UaKuA0KCVFTIuFc9HA4
    -fQXxQ1KPZBrw0vJ2nTjnOCZOVIt0ikUhHHkvLZ3tsU8cSXOJOwCvacNV42wckCLt
    -SajcnPKI
    -=osNf
    ------END PGP SIGNATURE-----
    -    
    -
    -
    -

    Terms and Conditions

    -

    The following Terms and Conditions apply to the following services:

    +

    <%- lang.legal.tos.title %>

    +

    <%- lang.legal.tos.content[0] %>

      -
    • Minteck Account
    • +
    • <%- lang.legal.tos.content[1] %>
    • Minteck Trunk
    • Kartik Online
    • -
    • UnchainedTech Comments
    • +
    • <%- lang.legal.tos.content[2] %>
    -

    The Minteck services are made of an online authentication service delivered by Minteck that can extend the features - of their - projects (such as Kartik Online). The Minteck Account service is submitted to the following terms of use:

    +

    <%- lang.legal.tos.content[3] %>

    -

    You must not use Minteck Account and any connected application for the following purposes:

    +

    <%- lang.legal.tos.content[4] %>

      -
    • activity that is illegal in France
    • -
    • prevent other users from accessing parts of the service or all the service
    • -
    • try to circumvent security systems and escalate privileges
    • -
    • publish private information of another user
    • -
    • achieve a commercial or professional goal
    • +
    • <%- lang.legal.tos.content[5] %>
    • +
    • <%- lang.legal.tos.content[6] %>
    • +
    • <%- lang.legal.tos.content[7] %>
    • +
    • <%- lang.legal.tos.content[8] %>
    • +
    • <%- lang.legal.tos.content[9] %>
    -
    - GPG signed: Terms and Conditions -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA256
    -
    -Minteck.org Terms and Conditions
    -================================
    -
    -The following Terms and Conditions apply to the following services:
    -
    -* Minteck Account
    -* Minteck Trunk
    -* Kartik Online
    -* UnchainedTech Comments
    -
    -The Minteck services are made of an online authentication service
    -delivered by Minteck that can extend the features of their
    -projects (such as Kartik Online). The Minteck Account service is
    -submitted to the following terms of use:
    -
    -You must not use Minteck Account and any connected application for the
    -following purposes:
    -
    -* activity that is illegal in France
    -* prevent other users from accessing parts of the service or all the service
    -* try to circumvent security systems and escalate privileges
    -* publish private information of another user
    -* achieve a commercial or professional goal
    -
    -This message is signed using a GPG key of which you can find the public key on:
    -https://minteck.org/legal/#/pubkey
    ------BEGIN PGP SIGNATURE-----
    -
    -iQGzBAEBCAAdFiEErqdz2wYgxXz/sHqR773GhDWldLcFAmF+1t4ACgkQ773GhDWl
    -dLdYJgwAnyt2y9B0Wm4MOvRKlalS1BGyvCS3mxVOTLiOoatZn6ZVZjzzi2e3hm/k
    -lWU1p3W2j3ZthWoI3oF+6Jvx4TTfIrRbN22162faBw6HB+KUKyZvOZen32tel/yX
    -+w3Hrre1UsO7C2TnIp2Z/t4NPY21P8a+NFYDHwDVRrneC6hjwi1URkn+2H5q4jdw
    -aYPHeg+ewxHNMedW6+hfb5b1Jsx9xMYu0qA4ObOQhtpKoeTtfYh2IsoNSomTIuTg
    -ZRlcDVmbZ+BS+f2J0LmcNPkSf51q8JtcM3Ksd7iCY3OqvV7LVjqXLYd8mPRbjBIa
    -6IMc0f+IKsmxiKvp8I3FRyCLwgW3pW8i5yitlK35YtyJ+SyTnerGtwNjYlkYCZyu
    -KKCIQ92+FrET1tBccDA0wM9Z/CBEdGOrtl01vmlKCjCnhQXN0YwhFaGRil0rrxXZ
    -BnFt6reXJbSS3hTpwtVbWJ/Ygjp9JpVofssXuVhVatWd8gVo3V9YOur7ye0Zuo6H
    -2Qr15MLe
    -=dBYz
    ------END PGP SIGNATURE-----
    -    
    -
    -
    -

    Privacy Policy

    -

    We don't use your data other than to strictly provide the service you want. Period.

    -

    The data we collect is only the data you explicitly give us access to (e.g. via a registration form) is kept for as - long as you choose to keep the data on our servers. Upon deletion by the user, we ensure this data is - removed from all of our servers.

    -

    To enforce laws, we may collect additional data (IP address, URL, timestamps, operating system, browser version) upon - identification of suspicious activity. This data is deleted every year near January. You can require early deletion - of this data if we think there hasn't been any dangerous activity by sending an email to legal@minteck.org

    - -
    - GPG signed: Privacy Policy -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA256
    -
    -Minteck.org Privacy Policy
    -==========================
    -
    -We don't use your data other than to strictly provide the service you want. Period.
    -
    -The data we collect is only the data you explicitly give us access to (e.g. via a
    -registration form) is kept for as long as you choose to keep the data on our
    -servers. Upon deletion by the user, we ensure this data is removed from all of our
    -servers.
    -
    -To enforce laws, we may collect additional data (IP address, URL, timestamps,
    -operating system, browser version) upon identification of suspicious activity. This
    -data is deleted every year near January. You can require early deletion of this data
    -if we think there hasn't been any dangerous activity by sending an email to:
    -legal@minteck.org
    ------BEGIN PGP SIGNATURE-----
    -
    -iQGzBAEBCAAdFiEErqdz2wYgxXz/sHqR773GhDWldLcFAmF+9UsACgkQ773GhDWl
    -dLfjvgv/Q5ZvxcnPfQ6Hr/CTD2BgLq8yd2zRn8/f/zuloNZWNuuUqV9kgbe3GVT5
    -7Bj8nP/XvHW8i7KQOt2ZuMPUEZDpQDrdOjEP79GnGYvq+YpkATk+rKOgS/656GMr
    -mT5o78CFdVptscKqmyq+O4B82W2RmvovTNe4yyDmDeRDNno3XuAuBiS6OK4QMf7d
    -/K4W4LkHmxBaMypimHAqO7UCalTjeRBPPgC/h7/c7c9a/7F+PzAZbtuU8LGNKC4n
    -mzZZhn12Vc8L80DWFPIrXw/FhR9MFqFd8FZ9xVC/g5ann6PUqp+DqXOTTt+rW6BK
    -C9p5lidQBb5Tsb3mn3RZQIpumbuy5WkTQp2goUn/3DQXGj/wLP15oGMcExKoK73J
    -xePZ60AAypxIy01bIxZ6OP5n2evJsqMs2QY+RPbBzZmhtUMFwWMporzfwcCHB6Qx
    -j5jQhAxfCvrbS9RJbN8AQ//Gs+CgW4pIlTn8f0QCYvNS+L3vususfokLRxeTYQFC
    -LjxKOq2a
    -=HIPo
    ------END PGP SIGNATURE-----
    -    
    -
    +

    <%- lang.legal.privacy.title %>

    +

    <%- lang.legal.privacy.content[0] %>

    +

    <%- lang.legal.privacy.content[1] %>

    +

    <%- lang.legal.privacy.content[2].replace("%1", "").replace("%2", "") %>


    -

    Warrant Canary

    -
    - Show warrant canary -
    +

    <%- lang.legal.warrant.title %>

    +
     -----BEGIN PGP SIGNED MESSAGE-----
     Hash: SHA256
     
     Minteck.org Warrant Canary
     ==========================
     
    -As of 2021-11-01, Minteck (minteck.org) <legal@minteck.org>
    +As of 2021-12-01, Minteck (minteck.org) <legal@minteck.org>
     has received no requests from any government agencies.
     
     This message is updated every month between the 1st and 7th
    @@ -306,18 +166,17 @@ This message is signed using a GPG key of which you can find the public key on:
     https://minteck.org/legal/#/pubkey
     -----BEGIN PGP SIGNATURE-----
     
    -iQGzBAEBCAAdFiEErqdz2wYgxXz/sHqR773GhDWldLcFAmF+3J4ACgkQ773GhDWl
    -dLe5Mwv9Exai8UC9N8/6c6yylch2AF6qC1uVDsk1vrzemuIgpbSKffh53p9tdy5E
    -wh6OQr51+F/8c6DW45RkmjR1q6W07n9HIMnYOp/LdhVR+iemRopJ5DF5ppmkIR9T
    -uU++XZ8Sxo/TVdjUo2rCIhk/55Dgg+ZtdR96XqeE4y5VBgYTuQzcjYNHDvVEEiNB
    -k2WmxtUU1aLPrR1E5e+Nt335Kkr3yUTWj2nK793gmAjr2haHC6Xqm3tSTcUBo9qc
    -1Vv7sjoPGgTcd/sDwQPzW7RQXlh5ipuPvnmDY5CGLEvlalME4JDeOQF5IFCDqsh6
    -RWO118Pp/YLjBFh5lpwkwwePIfPnakNA1QlnfVw/25w63es3JZ8TQ6j7W2iGJCjZ
    -SY/iwxOdxypfDQzL8d1mtK1QHPUqwgJSGZdDoXHHpsMwFAvPhgB9T6pFHFGNombK
    -RsSq7z80WAXn2SAZCYLO1tvdUdfxBSOvZadAcjP/PX4Mvy5Lokr0uRp92iCImxLZ
    -9Try1VLC
    -=+ld4
    +iQGzBAEBCAAdFiEErqdz2wYgxXz/sHqR773GhDWldLcFAmGn6UoACgkQ773GhDWl
    +dLfQJwv+NJhVqG/76EQEukj1i/roC4FCXWEYnQEWpS09NjnE9sFXF6F69TLpilJU
    +iJO8P8gSRlMAxFXYNrW/vscGqNfCru+DQyzaqYAijTk+aY429hZgm6t6R+c28Mn3
    +jjRE+wBHisE3cvWUqUt5rxKdgMmzTK/aVDUsoYp6IxDCmtpRajhVaylgHZ9iSVgh
    +DxfpYCEWD4kTKMcUUJz5ytIMHphQHDA9/L0D4ixQrqil/38nbrjFrNP0i7puXxMg
    +sZ0FXd+gsvg03BHWzJzJNuLJJ1+kv1gt3Ng7X36uF0gtzF4xUvv8SU4o6Jsv6xjy
    +Vs38e+c9DWn4BPlZH7Y2z1i1/tZPEADJysC3yCRnbYZ461mehGtbQkAsIpWyG0n2
    +kOmxOAB18MKNzdcxbssLgJge5l4bu3NnFYw08+Wm4YPJEU85uQJ/b9rlYY35qq8+
    +iQJ0/WHIR7vyMlizI75E+rEoJ3UvpbUgKD4qDlynD46SiMMawv1gNZ6Vh3B6Hdo3
    +ADIB0mxm
    +=CJH7
     -----END PGP SIGNATURE-----
     
    -
    <%- include(`${private}/footer.ejs`) %> \ No newline at end of file diff --git a/htdocs/public/metranslator/api/index.ejs b/htdocs/public/metranslator/api/index.ejs new file mode 100644 index 0000000..47800bd --- /dev/null +++ b/htdocs/public/metranslator/api/index.ejs @@ -0,0 +1,33 @@ +<% + + res.writeHead(200, {'Content-Type': "application/json"}); + + if (get['t']) { + if (get['t'] === "en") { + target = "en"; + } else { + target = "mt"; + } + } else { + res.end(); + } + + if (get['u']) { + text = get['u']; + + if (text.length > 500) { + res.end(); + } + + text = text.split("\"").join("''"); + } else { + res.end(); + } + + aw = JSON.parse(child_process.execSync(`cd /mnt/metranslator-api && node index.js api ${target} "${text}"`).toString()); + last = child_process.execSync("cd /mnt/metranslator-api && git log -1 --pretty=format:'%an'") + aw["system"]["version"] = aw["system"]["version"] + "-" + fs.readFileSync("/mnt/metranslator-api/.git/refs/heads/trunk").toString().substr(0, 8); + aw["system"]["last_author"] = last; + aw["call"] = "cd /mnt/metranslator-api && node index.js api {$target} \"{$text}\""; + + %><%- JSON.stringify(aw); %> \ No newline at end of file diff --git a/htdocs/public/metranslator/index.ejs b/htdocs/public/metranslator/index.ejs new file mode 100644 index 0000000..943d772 --- /dev/null +++ b/htdocs/public/metranslator/index.ejs @@ -0,0 +1,194 @@ +<% global.title = "MeTranslator"; %> +<%- include(`${private}/header.ejs`) %> + +← <%- lang.global.back %> + +
    + +
    + + +

    Metroz Translate

    +

    💡 Click one of the languages to invert

    +
    +
    +

    + English

    + + +
    +
    +

    + Metroz

    +
    + +
    +
    +
    + No facts available about this text +
    + +
    + Translator Insights +
      +
    • Database Name: n/a
    • +
    • Database Version: n/a
    • +
    • Database Size: n/a
    • +
    • Processing Time: n/a
    • +
    +
    +
    + + +<%- include(`${private}/footer.ejs`) %> \ No newline at end of file diff --git a/htdocs/public/projects/index.ejs b/htdocs/public/projects/index.ejs deleted file mode 100644 index 88749f9..0000000 --- a/htdocs/public/projects/index.ejs +++ /dev/null @@ -1,35 +0,0 @@ -<% global.title = "Projects"; %> -<%- include(`${private}/header.ejs`) %> - -← Go back home - -
    - -

    Projects

    -

    This is the page where all my active projects are, it is regularly updated from the projects I created on source.minteck.org. For projects I don't maintain - anymore, refer to the Archives page.

    - -
    - <% for (let project of JSON.parse(fs.readFileSync(serverRoot + "/global/gitea.json").toString()).sort((a, b) => a.update - b.update).reverse()) { %> -
    - "> -

    <%- project.name %>

    -

    <%- project.description %>

    -

    - <% if (project.website !== null) { %> - Website - View - <% } else { %> - View - <% } %> -

    -
    - <% } %> -
    - -<%- include(`${private}/footer.ejs`) %> \ No newline at end of file diff --git a/index.js b/index.js index adc931c..1bd5184 100644 --- a/index.js +++ b/index.js @@ -10,8 +10,6 @@ if (cluster.isMaster) { console.log("All Rights Reserved"); console.log(""); - require('child_process').spawn("node", ["gitea.js"], {cwd: "./server", stdio: "inherit"}) - for (let i = 0; i < require('os').cpus().length; i++) { cluster.fork(); } diff --git a/package.json b/package.json index 1d92093..a590f4a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "satellite", - "version": "2.2.1", + "version": "2.3.0", "description": "Minteck Sattelite Server, a fork of the Minteck Projects Web Server", "main": "server/core.js", "scripts": { diff --git a/server/gitea.js b/server/gitea.js deleted file mode 100644 index 6b52b72..0000000 --- a/server/gitea.js +++ /dev/null @@ -1,115 +0,0 @@ -global.log = require('./log') -global.serverRoot = __dirname + "/.."; -global.fs = require('fs') -log.info("Reading configuration...") -global.config = require('../global/config.json') -global.mpws = require('./version'); - -log.verbose("Initializing Gitea projects refresh...") - -function get(url) { - return { - stdout: require('child_process').execSync("curl -s -A \"Sattelite/" + mpws.version + "\" -X GET \"https://source.minteck.org/" + url + "\" -H \"accept: application/json\" -H \"authorization: Basic " + fs.readFileSync(serverRoot + "/auth.txt").toString().trim() + "\"") - }; -} - -function giteaRefresh() { - giteaDataTmp = []; - repos = []; - - log.info("Refreshing Gitea cache...") - - orgs_raw = JSON.parse(get("/api/v1/orgs").stdout.toString()); - - let orgs = []; - for (let org of orgs_raw) { - orgs.push(org.username); - } - - log.verbose("Found " + orgs.length + " orgs"); - - let orgs_mtk = []; - for (let org of orgs) { - log.verbose("Gathering members of '" + org + "'..."); - members_raw = JSON.parse(get("/api/v1/orgs/" + org + "/members").stdout.toString()); - - let members = []; - for (let member of members_raw) { - members.push(member.login); - } - - log.verbose("Has " + members.length + " members"); - - if (members.includes("minteck")) { - log.verbose("Includes Minteck, adding to list"); - orgs_mtk.push(org); - } else { - log.verbose("Doesn't include Minteck, not adding to list"); - } - } - - log.verbose("Minteck part of " + orgs_mtk.length + "/" + orgs.length + " orgs, exclusing themself"); - - log.verbose("Gathering personal projects"); - personal_raw = JSON.parse(get("/api/v1/users/minteck/repos").stdout.toString()); - - for (let repo of personal_raw) { - repos.push(repo.full_name); - } - - for (let org of orgs_mtk) { - log.verbose("Gathering projects from '" + org + "'"); - - org_projects_raw = JSON.parse(get("/api/v1/users/" + org + "/repos").stdout.toString()); - - for (let repo of org_projects_raw) { - repos.push(repo.full_name); - } - } - - log.verbose("Found " + repos.length + " projects: " + repos.join(", ")); - - for (let repo of repos) { - thisRepo = {}; - - log.verbose("Gathering info about " + repo); - repo_data = JSON.parse(get('/api/v1/repos/' + repo).stdout.toString()); - - if (!repo_data.empty && !repo_data.private && !repo_data.internal && !repo_data.archived && repo_data.full_name !== "minteck/minteck") { - thisRepo.name = repo_data.full_name.trim() !== "" ? repo_data.full_name : null; - thisRepo.id = repo_data.full_name.trim() !== "" ? repo_data.full_name : null; - thisRepo.icon = repo_data.avatar_url.trim() !== "" ? repo_data.avatar_url : null; - thisRepo.description = repo_data.description.trim() !== "" ? repo_data.description : null; - thisRepo.size = repo_data.size; - thisRepo.website = repo_data.website.trim() !== "" ? repo_data.website : null; - thisRepo.update = new Date(repo_data.updated_at) - 1 + 1; - - sattelite_data = JSON.parse(get("/api/v1/repos/" + repo + "/contents/SatteliteGiteaData.txt").stdout.toString()); - - if (!sattelite_data.documentation_url) { - thisRepo.name = Buffer.from(sattelite_data.content, "base64").toString(); - } - - giteaDataTmp.push(thisRepo); - } - } - - fs.writeFileSync("../global/gitea.json", JSON.stringify(giteaDataTmp, null, 4)); - log.info("Gitea cache successfully refreshed"); -} - -setInterval(() => { - try { - giteaRefresh() - } catch (e) { - log.error("Gitea projects refresh failed: " + e.message) - } -}, 3600000) - -setTimeout(() => { - try { - giteaRefresh() - } catch (e) { - log.error("Gitea projects refresh failed: " + e.message) - } -}, 1000) \ No newline at end of file diff --git a/server/http.js b/server/http.js index c679d95..465b726 100644 --- a/server/http.js +++ b/server/http.js @@ -14,6 +14,8 @@ module.exports.start = function () { http.createServer(function (req, res) { global.res = res; req.url_orig = req.url; + req.url_arg = req.url.split("?")[1]; + req.url = req.url.split("?")[0]; if (req.headers["x-forwarded-for"]) { global.address = req.headers["x-forwarded-for"]; @@ -140,7 +142,12 @@ module.exports.start = function () { 'Set-Cookie': '__mpws_request=' + year + month + day + hour + min + sec }); try { - require('ejs').renderFile(wwwdata + req.url, {wwwdata, private, req, res, slang, lang}, (err, str) => { + if (typeof req.url_arg === "string") { + get = require('querystring').parse(require('url').parse(req.url_orig).query); + } else { + get = {}; + } + require('ejs').renderFile(wwwdata + req.url, {wwwdata, private, req, res, slang, lang, get, fs: require('fs'), child_process: require('child_process')}, (err, str) => { if (err) throw err; res.write(str); res.end(); -- cgit