diff --git a/modules/old.js b/modules/old.js new file mode 100644 index 0000000..2777eb5 --- /dev/null +++ b/modules/old.js @@ -0,0 +1,42 @@ +/* ---------------------------------------------------------------------------- + + Question Server + GitLab: + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + ------------------------------------------------------------------------- */ + +const express = require('express') +const app = express() + +const logger = require('../utils/logger.js') + +// -------------------------------------------------------------- + +app.get('/', function (req, res) { + res.redirect('https://qmining.frylabs.net' + req.url) +}) + +app.get('*', function (req, res) { + res.redirect('https://qmining.frylabs.net' + req.url) +}) + +app.post('*', function (req, res) { + res.redirect('https://qmining.frylabs.net' + req.url) +}) + +exports.app = app + +logger.Log('Old module started', logger.GetColor('yellow')) diff --git a/server.js b/server.js index faf39fd..7955cf9 100644 --- a/server.js +++ b/server.js @@ -36,7 +36,7 @@ const qmining = require('./modules/qmining.js').app const main = require('./modules/main.js').app const sio = require('./modules/sio.js').app const stuff = require('./modules/stuff.js').app -const local = require('./modules/local.js').app +const old = require('./modules/old.js').app const locLogFile = './stats/logs' const allLogFile = '/nlogs/log' @@ -107,10 +107,9 @@ app.use(vhost('qmining.frylabs.net', qmining)) app.use(vhost('sio.frylabs.net', sio)) app.use(vhost('stuff.frylabs.net', stuff)) app.use(vhost('frylabs.net', main)) -app.use(vhost('qmining.tk', qmining)) -app.use(vhost('*.*', local)) -app.use(vhost('192.168.0.2', local)) +app.use(vhost('qmining.tk', old)) +app.use(vhost('www.qmining.tk', old)) logger.Log('Node version: ' + process.version) logger.Log('Listening on port: ' + port) diff --git a/utils/logger.js b/utils/logger.js index 76e6b91..0e715fa 100644 --- a/utils/logger.js +++ b/utils/logger.js @@ -62,15 +62,12 @@ function LogReq (req, toFile, sc) { try { let ip = req.headers['cf-connecting-ip'] || req.connection.remoteAddress - let rColor = GetRandomColor(ip) - - let logEntry = C(rColor) + ip + C() - let color = 'green' + let logEntry = C(GetRandomColor(ip)) + ip + C() if (req.url.includes('lred')) { - color = 'red' + logEntry += C('red') } - logEntry += C(color) + DELIM + req.hostname + DELIM + req.headers['user-agent'] + DELIM + req.method + DELIM + logEntry += DELIM + req.hostname + DELIM + req.headers['user-agent'] + DELIM + req.method + DELIM logEntry += req.url @@ -99,6 +96,8 @@ function GetRandomColor (ip) { let res = ip.split('').reduce((res, x) => { if (!isNaN(x)) { return res + parseInt(x) + } else { + return res } }, 0) return colors[res % colors.length] diff --git a/views/qmining/man.ejs b/views/qmining/man.ejs index 22a0c47..01bb8ed 100644 --- a/views/qmining/man.ejs +++ b/views/qmining/man.ejs @@ -35,20 +35,18 @@ sokszor jó viszonyítás, de semmi sem biztos! Bármikor előfordulhat, hogy nem jó a megjelenített válasz! Ezért csak saját felelősségedre használd! Sok kikerülhetetlen hibalehetőség van, amit egyszerű nem lehet scriptben lekezelni (Pl rosszul megadott kérdés - tanár részéről). Kézzel is lehet keresni a elmentett kérdések között. Ezért mindég + tanár részéről). Kézzel is lehet keresni a elmentett kérdések között. Ezért mindig legyen egy letöltött verziód a kérdésekről, mert nem 100% hogy mindég elérhető a szerver! Továbbá ha a moodle oldalán a layout megváltozik, a script nem fog működni! Ez nem annyira gyakori, de bármikor megtörténhet! Érdemes nem kikapcsolni a tampermonkey-ban a userscript frissítést. Ez nem windows update, itt tényleg hibajavítások jönnek ki. Hiba, észrevétel - esetén : Script Feedback (ezt + esetén : Script Feedback (ezt gyakran még aznap megnézem.

- Továbbá ez a userscript HTTP requestekket küldhet egy szerver felé (ha ezt engedélyezed), - ahova az összes megoldott tesztjeid kérdéseit és (helyes)válaszait feltölti! Ezzel garantálja, - hogy neked, és mindenki másnak a legfrissebb adatok állnak rendelkezésre. Ezt letilthatod, ha a - menüben a helyi fájl használatát választod, vagy a userscript kiegészítőknél nem engeded meg - ezeket a kéréseket továbbítani. Ez alapból engedélyezve van, + Továbbá ez a userscript HTTP requestekket küldhet egy szerver felé, ahova az összes megoldott + tesztjeid kérdéseit és (helyes)válaszait feltölti! Ezzel garantálja, hogy neked, és mindenki + másnak a legfrissebb adatok állnak rendelkezésre.
<% include aludni.ejs %> @@ -65,22 +63,11 @@ kérdés-válaszai
  • - Beüzemelés (online) - Beüzemelés, online verzió -
  • -
  • - Beüzemelés (helyi) - Beüzemelés, helyi fájlos verizó -
  • -
  • - Több tárgy hozzáadása - Ez csak helyi fájlos verziónál kell, de akkor - fontos -
  • -
  • - Beolvasott kérdések struktúrája - Ha bármikor (neten, vagy helyi fájlon) -változtatni akarsz, akkor illik tudni + Beüzemelés - Beüzemelés
  • Gyakran előforduló kérdések - Ha itt nincs kérdésed, akkor itt alul tedd fel! + href="http://qmining.frylabs.net">itt alul tedd fel!
  • Adat egyszerűsítés - Ha túl sok egyforma kérdésed van ;) @@ -146,11 +133,11 @@ változtatni akarsz, akkor illik tudni

    TL; DR:

    - Olvasd csak el. Az összes bonyodalom abból adódik, hogy a tampermonkey API-je korlátozott, és - néhány dolgot neked kell megcsinálni, megérteni. Ha az online kérdéseket használod, akkor nagy - eséllyel semmi teendőd, de azért jó ha tudod hogy működik, ha esetleg valami elromlik teszt - közben, tudd hogy lehet megcsinálni gyorsan. Legyen mindég nálad egy másolat az online - kérdésekről, mert bármikor eltűnhet! + Olvasd csak el. Az összes bonyodalom abból adódik, hogy a tampermonkey API-je + korlátozott, és néhány dolgot neked kell megcsinálni, megérteni. Nagy eséllyel semmi + teendőd, de azért jó ha tudod hogy működik, ha esetleg valami elromlik teszt közben, + tudd hogy lehet megcsinálni gyorsan. Legyen mindég nálad egy másolat az online + kérdésekről, mert bármikor eltűnhet! @@ -161,192 +148,50 @@ változtatni akarsz, akkor illik tudni

    Eddigi teszt kérdések:


  • - Eddigi összes kérdés Használat: Ha - régi módszerrel fájlból olvasod be a kérdéseket, akkor abba kell bemásolni az egészet. Továbbá - ez még arra jó, hogy ha valamiért bugos a script, akkor itt tudsz ctrl-f el nézegetni, vagy ha - lemented az összes kérdést, akkor még akkor is biztonságban vagy, ha netán leáll a szerver, vagy - elmegy a neted. Bár úgy nehezen moodlezel, de mind1 + Eddigi összes kérdés + Továbbá ez még arra jó, hogy ha valamiért bugos a script, akkor itt tudsz ctrl-f el nézegetni, + vagy ha lemented az összes kérdést, akkor még akkor is biztonságban vagy, ha netán leáll a + szerver, vagy elmegy a neted. Bár úgy nehezen moodlezel, de mind1 - - - -
    -
    -

    Beüzemelés (helyi adatokkal)

    -
    -
    +
    +

    Beüzemelés (online)

    +
    +
    -

    - Ha netről használod a kérdéseket, akkor ezt a részt kiskippelheted. De csak ezt -

    Ezt minden frissítésnél el kell játszanod, mert az egész script (beleértve az elérési - utadat) felülíródik. Frissítés után a 3. pontot ismételd. -

    Kérdés fájl lehet json vagy saját formátumban (amit később írok le). De vegyes nem lehet! -
      -
    • - 1. : - - Greasyfork-ról - telepítsd a scriptet. Ha ezt látod, akkor ez nagy eséllyel sikerült. -

      - 2. : -
        -
      • a/ Ha van kérdés adatbázisod. Ugorj a 3.-as pontra. -
      • -

        -
      • b/ Ha nincs kérdés adatbázisod. Hozz létre egy üres .txt-filet, vagy - fentebb az Eddigi kérdések pontnál tölts le párat. Indításnál ha üres a file, akkor - hibát jelez, de miután feltöltöd nem kellene. Ha több tárgyat szeretnél használni, - akkor feltétlen olvasd el az ez alatti útmutatót! -
      • -
      -
    • -
    • - 3. : Nyisd meg a tampermonkey-d. Böngésző jobb felesősarkánál nagy eséllyel van - tampermonkey ikon. Katt, majd dashboard. Ott fel lesz sorolva egy pár script. Válaszd ki - az Moodle helper-t. -
      Rögtön az elején látsz csomó cuccot.// ==UserScript== meg @name meg ilyesmi. - Keresd meg a @resource taget. -
      Most jön a .txt-d. Az elérési útját másold be, hogy nagyjából hasonló legyen: -
      - -

      // @resource data file:///D:/OE/Elektronika/Elektro%20All%20ELearning.txt -

      Ide másold be a sima elérési utat, majd convert! Ezután az eredményt - bemásolhatod a @resouce taghoz. Kiterjesztésről (.txt) ne feledkezz meg ;) - -
      Másik jó megoldás, hogy a fájlodat megnyitod böngészöben, és az url-jét - másolod be a script fejlécébe. -
      Ez csak windowson jó, ha netán Mac-et vagy GNU/Linux-ot használsz akkor írj - feedback-et az oldalon, és leírom hogy kell. -
    • -

      -
    • - 4. : Kész! Mentsd el, és hf. Nagy eséllyel először hibával fogsz találkozni. - Dont worry! A Hibák részben pont ezt fogom leírni. -

      - Teszt végén teendők ha helyi fájlban vannak az adataid: Ha egy teszt végére - értél, akkor megjelenik a megoldásos oldal, ahol minden kérdés fel van sorolva. Itt a - script szépen összegyűjti a kérdés/válasz combókat, aztán feldob egy ablakot, amire - kattintva ezt megjeleníti. Az ott megjelenített kérdéseket be kell másolnod a .txt-be, a - megfelelő tárgy után (+tárgynév...). Userscript nem tud fájlba írni. -
    • -
    -
    -

    Több tárgy kérdéseinek használata helyi adatokkal: (1.2)

    -
    -
    -
    Röviden: Kérdések +tárgynév sorral elválasztva külön tárgynak számítanak -

    Hosszabban: Vegyük például, hogy Elektornika, és Jazz kérdésekre szeretnéd használni a - scriptet. Ekkor a .txt-d két részre lesz fel osztva a következő módon: Első sora: "+Elektró - (moodle)". Ez a neve annak a tárgynak, amihez a sor után következő kérdések tartoznak, - mindaddíg, amíg egy másik "+" kezdetű sor nem következik. Ha ez történik, akkor meg kell adnod a - következő tárgy nevét, ez esetben: "+Jazz (kmooc). Ebből tudja a script, hogy ez egy másik - tárgy. Minden kmooc és moodle oldalon megjelenik egy Menü a jobb alsó sarokban, amire kattintva - ki bírod választani, hogy mely tárgy legyen aktív. Ha valamely tárgy aktív, akkor a script a - tárgy kérdései közül fogja keresni a választ az aktuális kérdésre. Ha egy sincs bejelölve, akkor - nem lesz találta soha. -

    - A jobb alsó sarokban 1.2 óta található egy menü gomb. Ha rákattintasz, akkor megjelenik egy - új ablak az oldal közepefele. Ezt be tudod zárni, vagy a listázott tárgyakat tudod - aktiválni/inaktiválni. Ha egy tárgy aktív, akkor annak a kérdés-válaszai között keres a - script választ az aktuális kérdésre. - -
    -

    Beolvasott kérdések struktúrája

    -
    -
    -

    A .txt-ben "?" jelöli a kérdést, "!" a választ, ">" a kérdéshez tartozó képneveket (ez - optimális) és "+" a tárgy nevét. Ami más karakterrel kezdődik, és kérdés előtt van, az - figyelmen kívül van hagyva, egyéb helyen hibát eredményezhet egy ismeretlen sor! Ha új - tárgyat szeretnél hozzáadni, egyszerűen másold be az aljára a kérdéseket sorban, egy új - +[tárgynév]-el kezdődő sor után. Ha online adatokat szerkesztesz, akkor ezt érdemes tudni, - különben elronthatod! -
    -
    -

    Beüzemelés (online)

    -
    -
    - -

    1.5-ben bekerült egy új feature, ez pedig az, hogy szervertől szedi a kérdéseket a script. - Elküldött, és letöltött adatokról lentebb tudsz olvasni. 2 opció elérhető, amit a menüben lehet - állítgatni: -
      -
    • -

      Helyi fájlból: a script a forráskódban általad megadott útvonalon - található fájlból olvassa be a kérdéseket, és ott keres. A tesztek végén mindég be kell - másolnod az új kérdéseket. Erről a következő szekció mesél többet -
    • -
    • - Netről: interneten hostolt adatbázis letöltése, és használata. Azonnal feltölti az - éppen megoldott tesztek kérdés-válaszait, ezért azonnal látnod kell(ene) azokat. -
    • -
    -
    +

    1.5-ben bekerült egy új feature, ez pedig az, hogy szervertől szedi a kérdéseket a script. + Elküldött, és letöltött adatokról lentebb tudsz olvasni. Így azonnal feltölti az éppen megoldott + tesztek kérdés-válaszait, ezért azonnal látnod kell(ene) azokat.

    Gyakran előforduló kérdések



    Jogosultságok: @@ -379,7 +224,7 @@ változtatni akarsz, akkor illik tudni href="https://greasyfork.org/en/scripts/38999-moodle-elearning-kmooc-test-help/feedback">Script Feedback | - Weboldal + Weboldal