mirror of
https://gitlab.com/MrFry/qmining-page
synced 2025-04-01 20:23:44 +02:00
added p2p faq section, other minor improvements
This commit is contained in:
parent
6eeb83b2e7
commit
075271ca01
5 changed files with 112 additions and 68 deletions
|
@ -88,7 +88,8 @@
|
|||
}
|
||||
|
||||
.content {
|
||||
margin-left: 180px;
|
||||
margin-left: 195px;
|
||||
margin-right: 15px;
|
||||
margin-top: 45px;
|
||||
padding: 1px 0px;
|
||||
width: 100%;
|
||||
|
|
|
@ -10,26 +10,11 @@ function PasswordSection() {
|
|||
return (
|
||||
<>
|
||||
<div className={'manualBody'}>
|
||||
<p>
|
||||
Ha ezt olvasod valszeg már neked is van. Azért lett bevezetve, hogy
|
||||
nagyjából zárt legyen a felhasználók köre.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Minden felhasználónak más jelszava van.</li>
|
||||
<li>Elvileg elég csak egyszer beírnod, és többet nem kell, de </li>
|
||||
<li>
|
||||
Elvileg elég csak 1 szer beírnod, és többet nem kell, de{' '}
|
||||
<i>mentsd le biztos helyre a jelszót, hogy később is meglegyen</i>!
|
||||
Ha többször kell megadnod, akkor az bug lesz. Ilyenkor ezt{' '}
|
||||
<a
|
||||
href={`${constants.siteUrl}contact?man`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
jelentsd
|
||||
</a>
|
||||
.
|
||||
</li>
|
||||
<li>
|
||||
Mentsd le biztos helyre a jelszót, hogy később is meglegyen!
|
||||
<i>
|
||||
Jelenleg nincs elfelejtett jelszó funkció, ha elfelejted, akkor az
|
||||
örökre eltűnik!
|
||||
|
@ -44,17 +29,17 @@ function PasswordSection() {
|
|||
>
|
||||
tudsz generálni
|
||||
</a>{' '}
|
||||
másoknak (ncore style).
|
||||
másoknak.
|
||||
</li>
|
||||
<li>
|
||||
Saját jelszavadat ne oszd meg, mivel egyszerre korlátozott helyen
|
||||
lehetsz belépve, máshol automatikusan ki leszel jelentkeztetve. (meg
|
||||
minek, ha tudsz adni másoknak az előző pont alapján)
|
||||
Saját jelszavadat ne oszd meg, mivel egyszerre korlátozott számú
|
||||
helyen lehetsz belépve, máshol automatikusan ki leszel léptetve.
|
||||
</li>
|
||||
<li>
|
||||
Mivel senkinek sincs felhasználóneve, csak egy UserID (amit bal alul
|
||||
találsz), így az egész teljesen anonim. Emiatt a jelszavakat nem
|
||||
lehet megváltoztatni, hogy a szükséges komplexitás megmaradjon.
|
||||
Mivel senkinek sincs felhasználóneve, csak egy UserID (amit
|
||||
scriptben bal alul, weboldalon jobb felül találsz), így az egész
|
||||
teljesen anonim. Emiatt a jelszavakat nem lehet megváltoztatni, hogy
|
||||
a szükséges komplexitás megmaradjon.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -92,16 +77,6 @@ function FAQSection() {
|
|||
<br />
|
||||
Több infó a <Link href="/faq?tab=risk">kockázatok résznél</Link>.
|
||||
</li>
|
||||
<li>
|
||||
<b>Ki és miért csinálja ezt a weboldalt?</b>
|
||||
Az egész projektet (szerver, weboldal és script) egy személy
|
||||
fejlesztette (oldalon id-ja: #1). A weboldal designját #1677
|
||||
készítette, illetve egy pár apróbb hozzájárulás (fejlesztésben és
|
||||
hardverben) is érkezett a projekthez.
|
||||
<br />
|
||||
Az egész projekt egy hobby, csupán azért csinálom (#1) mert jó
|
||||
időtöltés, és szeretem az ilyen kihívásokat.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
)
|
||||
|
@ -110,18 +85,21 @@ function FAQSection() {
|
|||
function RiskSection() {
|
||||
return (
|
||||
<>
|
||||
Itt {'"én"'} alatt a szerver, weboldal és script egyedüli üzemeltetője
|
||||
Itt {'"admin"'} alatt a szerver, weboldal és script egyedüli üzemeltetője
|
||||
értendő, az egyetlen személy, aki hozzáfér akármilyen szolgáltatással
|
||||
kapcsolatos adathoz, pl.: szerver statisztikák, szerver operációs
|
||||
rendszere, beküldött fájlok. A weboldalon a felhasználó azonosítója:{' '}
|
||||
<i>#1</i>
|
||||
rendszere, beküldött fájlok, chat üzenetek. A weboldalon a felhasználó
|
||||
azonosítója: <i>#1</i>
|
||||
<br />A weboldalt több ember is hostolhatja különböző domaineken, így
|
||||
különböző hostolt szervereken az admin más személyt jelent!
|
||||
<ul>
|
||||
<li>
|
||||
<b>Beküldött fájlok kezelése</b>A beküldött fájlokban szerepelhet
|
||||
személyes adat, pl.: név. Ha ilyen információval találkozok, akkor azt
|
||||
ki szoktam törölni. Ezekhez a fájlokhoz és információkhoz csak én
|
||||
férek hozzá, és sehova sincs kiadva. Ezek az információk nincsenek
|
||||
sehol gyűjtve.
|
||||
<b>Adminnak küldött fájlok kezelése</b>A beküldött fájlokban
|
||||
(adminnnak chat-en küldött, vagy kapcsolat oldalon küldött fájlok)
|
||||
szerepelhet személyes adat, pl.: név. Ha ilyen információval
|
||||
találkozok, akkor azt ki szoktam törölni. Ezekhez a fájlokhoz és
|
||||
információkhoz csak én férek hozzá, és sehova sincs kiadva. Ezek az
|
||||
információk nincsenek sehol gyűjtve.
|
||||
</li>
|
||||
<li>
|
||||
<b>
|
||||
|
@ -134,6 +112,7 @@ function RiskSection() {
|
|||
teszi.
|
||||
<p />
|
||||
Bizonyíték? A script, weboldal és szerver teljesen nyílt forráskódú,{' '}
|
||||
TODO: ADD CONTRIBUTE TAB
|
||||
<Link href="/contribute#gitrepo">
|
||||
ezek repository-ja publikus
|
||||
</Link>{' '}
|
||||
|
@ -142,25 +121,29 @@ function RiskSection() {
|
|||
milyen kód fut pontosan.
|
||||
</li>
|
||||
<li>
|
||||
<b>Bármikor észrevehetik hogy használod a scriptet</b>A weboldalt már
|
||||
kevésbé, de úgy nem menti el a kérdéseket a script, mert nem fut.{' '}
|
||||
<b>Bármikor észrevehetik hogy használod a scriptet</b> Vannak rá
|
||||
módszerek, hogy a weboldalon érzékeljék hogy fut-e userscript, de ez
|
||||
ellen minden ismert módon védekezik a script. <p />
|
||||
A script shadow-root hoz teszi hozzá az összes megjelenített
|
||||
elementet, így ezeket lehetetlen detektálni. A moodle semmiféleképpen
|
||||
nem látja, hogy milyen más oldalak vannak megnyitva a böngésződben.
|
||||
Nem látja az XMLHttp requesteket se, amit a script végez (böngésző
|
||||
kiegészítőn keresztül). Egy Matomo nevű script látja hogy milyen
|
||||
oldalakra navigálsz a moodle-ről, de a script nem linkekkel irányít
|
||||
át, hanem javascript eseménnyel, amit nem tud nyomon követni.
|
||||
<p />
|
||||
Aztán ki tudja ténylegesen hogy lehet, ezért{' '}
|
||||
<b>csak saját felelősségre használd a scriptet!</b>
|
||||
<p />A kérdésekre a válaszokat
|
||||
<a
|
||||
href={`${constants.siteUrl}dataeditor`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
Manuálisan is be lehet küldeni kérdés-válaszokat.
|
||||
manuálisan is be lehet küldeni
|
||||
</a>
|
||||
<p />
|
||||
A script shadow-root hoz teszi hozzá az összes megjelenített
|
||||
elementet, így ezeket szinte lehetetlen detektálni. A moodle
|
||||
semmiféleképpen nem látja, hogy milyen más oldalak vannak megnyitva a
|
||||
böngésződben. Nem látja az XMLHttp requesteket se, amit a script
|
||||
végez. Egy Matomo nevű script látja hogy milyen oldalakra navigálsz a
|
||||
moodle-ről, de a script nem linkekkel irányít át, hanem javascript
|
||||
eseménnyel, amit nem tud nyomon követni.
|
||||
<p />
|
||||
Aztán ki tudja ténylegesen hogy lehet
|
||||
, és teszt kitöltés közben helyes válaszokat a weboldalon is meg lehet
|
||||
keresni.
|
||||
</li>
|
||||
<li>
|
||||
<b>Bármikor leállhat a szerver</b>
|
||||
|
@ -172,10 +155,16 @@ function RiskSection() {
|
|||
>
|
||||
összes kérdés TXT
|
||||
</a>
|
||||
. A szervert több példányban (instance) is lehet futtatni, és az
|
||||
üzemeltetői össze bírják kapcsolni egymással. Így ha az egyik kiesne,
|
||||
a script automatikusan megnézi a többi szervert, hogy él-e
|
||||
</li>
|
||||
<li>
|
||||
<b>Akármelyik válasz rossz lehet</b>
|
||||
Pl.: ha a script rosszul menti le, vagy rossz kérdésre ad választ
|
||||
Pl.: ha a script rosszul menti le, vagy rossz kérdésre ad választ. A
|
||||
script minding a moodle szerint helyesnek vélt választ menti le, így
|
||||
előfordulhat hogy logikailag nem helyes a válasz, de a tanárok azt
|
||||
jelölték be helyesnek.
|
||||
</li>
|
||||
</ul>
|
||||
</>
|
||||
|
@ -212,19 +201,21 @@ function WebsiteSaveSection() {
|
|||
</li>
|
||||
<li>
|
||||
A fájlt nyisd meg szövegszerkesztővel (notepad), és keress rá a
|
||||
nevedre, majd (csak a neved, ne a sort) töröld ki, és mentsd el. Nem
|
||||
szoktam megnézni a neveket, nem is tudok velük mit kezdeni, és nem is
|
||||
adom ki soha. Amit beküldesz, azt csak én látom.{' '}
|
||||
nevedre, majd (csak a neved, ne a sort) töröld ki, és mentsd el. Amit
|
||||
beküldesz, azt csak az admin látja.{' '}
|
||||
<Link href="/faq?tab=risk">Több infó itt</Link>{' '}
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/contact">Ide tudod feltölteni</Link>{' '}
|
||||
Ezután <Link href="/contact">itt</Link> tudsz írni a weboldal
|
||||
adminjának, hogy útba igazítson egy olyan fejlesztő felé, aki ezek a
|
||||
fájlok alapján ki tudja javítani a hibát
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Mivel nincs hozzáférésem semmilyen egyetemi oldalhoz, így csak így tudom
|
||||
hatékonyan tesztelni a scriptet. Ezért hatalmas segítség ha feltöltöd
|
||||
azt az oldalt amin hibával találkozol.
|
||||
Előfordulhat hogy a fejlesztőknek nincs hozzáférése semmilyen egyetemi
|
||||
oldalhoz, így csak lementett weboldallal tudják hatékonyan tesztelni a
|
||||
scriptet. Ezért hatalmas segítség ha felveszed a kapcsolatot adminnal ha
|
||||
hibával találkozol.
|
||||
</p>
|
||||
</>
|
||||
)
|
||||
|
@ -277,12 +268,13 @@ function ScriptSection() {
|
|||
</a>{' '}
|
||||
oldal erre is jó, a <i>Kitöltetlen tesztek</i> részhez a script
|
||||
automatikusan feltölti a kérdéseket még megoldás közben. Ehhez nincs
|
||||
lementve helyes válasz, de ezt te utólag bejelölheted, és beküldheted.
|
||||
lementve helyes válasz, de ezt te utólag bejelölheted, vagy
|
||||
beküldheted.
|
||||
</li>
|
||||
<li>
|
||||
<b>
|
||||
Olyan helyeken fut le a script, ahol nem kellene, vagy ideiglenesen
|
||||
ki akarom kapcsolni
|
||||
ki akarom kapcsolni, el akarom rejteni
|
||||
</b>
|
||||
Tampermonkey bővítmény ikon böngészőben -{'>'} click -{'>'} a scriptet
|
||||
kapcsold ki. Csak ne felejtsd el visszakapcsolni {';)'}
|
||||
|
@ -380,7 +372,7 @@ function AddSite() {
|
|||
<a
|
||||
rel="noreferrer"
|
||||
target="_blank"
|
||||
href="https://gitlab.com/MrFry/moodle-test-userscript/-/blob/master/stable.user.js#L52"
|
||||
href="https://gitlab.com/MrFry/moodle-test-userscript/-/blob/master/user.js"
|
||||
>
|
||||
stable.user.js#L52
|
||||
</a>
|
||||
|
@ -439,6 +431,45 @@ function AddSite() {
|
|||
)
|
||||
}
|
||||
|
||||
function P2PSection() {
|
||||
return (
|
||||
<>
|
||||
<p>
|
||||
A szerverben peer to peer (p2p) funkcionalitás is implementálva van, így
|
||||
ha több szerver fut egyszerre, akkor azok meg tudják osztani egymás
|
||||
között a fontosabb adatokat, így az összes szerveren ugyanazok az adatok
|
||||
érhetőek el.
|
||||
</p>
|
||||
Szinkronizált adatok:
|
||||
<ul>
|
||||
<li>
|
||||
<i>Felhasználók</i>: egy jelszóval az összes oldalra be tudsz lépni
|
||||
</li>
|
||||
<li>
|
||||
<i>Kérdés adatbázisok</i>: Az összes tárgy és kérdés elérhető a
|
||||
szervereken
|
||||
</li>
|
||||
</ul>
|
||||
<i>Nem</i> szinkronizált adatok:
|
||||
<ul>
|
||||
<li>Chat</li>
|
||||
<li>Fórum</li>
|
||||
<li>Motd (Script motto of the day)</li>
|
||||
</ul>
|
||||
A szinkronizált adatok frissessége több mindenen múlik: a szerver adminja
|
||||
szinkronizál-e rendesein, illetve a két szerver között működik-e a
|
||||
felhasználó szinkronizálás (van-e publick key megoszva a kettő között)
|
||||
<p />A szervereknek 1-1 adminja van, akik belelátnak minden szerveren
|
||||
tárolt adatba, a szervereken ők a <i>#1</i> számú felhasználók. Errő
|
||||
többet a <Link href="/faq?tab=risk">kockázatok résznél</Link> tudtok
|
||||
olvasni.
|
||||
<p />
|
||||
További információk a szerver és a peer-ek állapotáról{' '}
|
||||
<Link href="/p2pinfo">itt</Link> találhatóak
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
const pages = {
|
||||
faq: { name: 'Vegyes általános kérdések', component: FAQSection },
|
||||
script: {
|
||||
|
@ -458,6 +489,10 @@ const pages = {
|
|||
name: 'Futtatás (még) nem támogatott oldalon',
|
||||
component: AddSite,
|
||||
},
|
||||
p2p: {
|
||||
name: 'Peer to peer információk',
|
||||
component: P2PSection,
|
||||
},
|
||||
}
|
||||
|
||||
export default function FAQ({ router }) {
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
margin: 5px 0px;
|
||||
}
|
||||
|
||||
.content ul {
|
||||
padding: 0px 20px;
|
||||
}
|
||||
|
||||
.content i {
|
||||
color: #fff;
|
||||
}
|
||||
|
|
|
@ -15,11 +15,15 @@
|
|||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
text-align: end;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.infoRow :last-child {
|
||||
flex: 2;
|
||||
color: var(--text-color);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.peerContainer, .peerHeader {
|
||||
|
|
|
@ -146,7 +146,7 @@ export default function Script() {
|
|||
</li>
|
||||
<li>
|
||||
<a
|
||||
href={`${constants.siteUrl}allqr.txt`}
|
||||
href={`${constants.apiUrl}allqr.txt`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue