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 (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
- 1. Mindent megcsináltam, mégsem hajlandó beolvasni a fájlt
- Ha netről szeded a kérdéseket, akkor nem online a webszerver, vagy éppen nem aktív
- a tárgyad a menüben. Jobb alsó sarokban lévő 'M' gombra kattintva fel kell ugorjon egy
- menü, és ott az éppen megoldani kívánt tárgy mellett ki kell hogy legyen pipálva a
- tickbox.
- Helyi fájl használata: Ha (tényleg) rendesen bemásoltad a @resource-hoz az elérési
- utat, és még mindég nem működik: A böngésződ nem éri el a file-t. Chrome/Opera:
- bővítményeknél engedélyezni kell a fájlelérést. (Allow acces to file URLs
- bővítményeknél) Firefoxnál csak a tampermonkey-nél kell állítgatni más böngészőt
- meg nem ismerek. Ezután Tampermonkey beállítása, hogy használja a @resource-ot: Klikk az
- ikonra böngésződnél, majd dashboard -> Settings tab -> "Config mode: " Advanced. Ezután
- meg kell jelennie egy olyan részlegnek, hogy "Security" (ha nem frissítsd az oldalt).
- Ott : "Allow scripts to access local files" -> "Externals (@require and @resource) Ha
- üres a txt-d, akkor még hibát fog jelezni, de amint első kérdésekkel feltöltöd jónak
- kellene lennie. Ha mégsem, akkor F12-> console -> és ott van egy pár log, ami hátha
- segít.
-
-
-
- 2. Egyik kérdésre sincs válasz / előző fix után sem olvassa be a fájlt
- UTF-8-as kódolással mentsd a txt-det! Ha frissítés volt, akkor újra be kell írnod
- a txt elérési útját. Ha a beírt elérési utat a böngésző címsorába bemáslva nem nyílik
- meg, akkor elírtad, ha igen, akkor próbálkozz másik böngészővel
-
-
-
- 3. Az első tárgy nevét NONAME-nek írja, pedig megadtam +-al a nevét
- A szöveges fájlod első sorába írj be valamit. Vagy csak rakj egy entert. Script
- minden sort figyelmen kívül hagy, ami nem a következő karakterekkel kezdődik: + ? ! >.
- Néha ha olyan kedve van nem sokszor olvassa be az első sort.
-
-
-
- 4. Olyan helyeken fut le a script, ahol nem kellene, vagy zavar
+ 1. Olyan helyeken fut le a script, ahol nem kellene, vagy zavar
Tampermonkey bővitmény ikon -> click -> scriptet kapcsold ki. Csak ne felejtsd
visszakapcsolni ;) Meg passzív módot is bekapcsolhatod a menü gomb alatt.
- 5. Túl nagy a kérdést és a választ megjelenítő ablak, nem tudok a válaszra kattintani
+ 2. Túl nagy a kérdést és a választ megjelenítő ablak, nem tudok a válaszra kattintani
Zommolj ki egy kicsit, vagy kapcsold ki addig a scriptet. Továbbá középső
egérgombra kattintva rá el bírod tüntetni az ablakot, amíg újra nem töltöd az oldalt,
vagy másikra ugrasz.
- 6. Online adatokat használok, de a script hibát jelez
+ 3. Online adatokat használok, de a script hibát jelez
Ennek több oka is lehet:
Nem engedélyezted az http requestek küldését a usercript menedzselő
programodnál. Ez nélkül nem működik.