: null}
-
- );
+ )
}
function MenuIcon({ setSidebarOpen, sidebarOpen }) {
diff --git a/src/components/newsEntry.jsx b/src/components/newsEntry.jsx
index 85f2a4b..e3e4503 100644
--- a/src/components/newsEntry.jsx
+++ b/src/components/newsEntry.jsx
@@ -4,7 +4,7 @@ import ReactButton from './reactButton'
import Comments from './comments'
import Link from 'next/link'
-import constants from '../constants.json'
+import constants from '../constants'
import styles from './newsEntry.module.css'
@@ -95,9 +95,9 @@ export default function NewsEntry({
+ className={'userId'}
+ >
User #{user}
-
@
@@ -145,5 +145,5 @@ export default function NewsEntry({
/>
- );
+ )
}
diff --git a/src/components/sleep.jsx b/src/components/sleep.jsx
index effa908..2134160 100644
--- a/src/components/sleep.jsx
+++ b/src/components/sleep.jsx
@@ -1,5 +1,5 @@
import React from 'react'
-import constants from '../constants.json'
+import constants from '../constants'
export default function Sleep() {
const hours = new Date().getHours()
diff --git a/src/constants.js b/src/constants.js
new file mode 100644
index 0000000..ae47948
--- /dev/null
+++ b/src/constants.js
@@ -0,0 +1,15 @@
+// eslint-disable-next-line no-undef
+const useLocalhost = process && process.env.NODE_ENV === 'development'
+
+const constants = {
+ siteUrl: !useLocalhost ? 'http://frylabs.net/' : 'http://localhost:8080/',
+ apiUrl: !useLocalhost
+ ? 'http://frylabs.net/api/'
+ : 'http://localhost:8080/api/',
+ chatUrl: !useLocalhost ? 'http://frylabs.net/' : 'http://localhost:8080/',
+ mobileWindowWidth: 700,
+ maxQuestionsToRender: 250,
+ imageExts: ['gif', 'png', 'jpeg', 'jpg'],
+ videoExts: ['mp4', 'mkv', 'webm'],
+}
+export default constants
diff --git a/src/constants.json b/src/constants.json
deleted file mode 100644
index 60884de..0000000
--- a/src/constants.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "siteUrl": "http://localhost:8080/",
- "apiUrl": "http://localhost:8080/",
- "mobileWindowWidth": 700,
- "maxQuestionsToRender": 250,
- "imageExts": ["gif", "png", "jpeg", "jpg"],
- "videoExts": ["mp4", "mkv", "webm"]
-}
diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx
index 60869d0..f04bd83 100644
--- a/src/pages/_app.jsx
+++ b/src/pages/_app.jsx
@@ -5,7 +5,7 @@ import Head from 'next/head'
import Layout from '../components/layout'
import '../defaultStyles.css'
-import constants from '../constants.json'
+import constants from '../constants'
export const queryClient = new QueryClient({
defaultOptions: {
diff --git a/src/pages/allQuestions.jsx b/src/pages/allQuestions.jsx
index ea36d19..ab24250 100644
--- a/src/pages/allQuestions.jsx
+++ b/src/pages/allQuestions.jsx
@@ -10,7 +10,7 @@ import SearchBar from '../components/searchBar'
import styles from './allQuestions.module.css'
-import constants from '../constants.json'
+import constants from '../constants'
const countReducer = (acc, subj) => {
return acc + subj.Questions.length
diff --git a/src/pages/chat.jsx b/src/pages/chat.jsx
index 87036a3..4e6e5b5 100644
--- a/src/pages/chat.jsx
+++ b/src/pages/chat.jsx
@@ -2,7 +2,7 @@ import React from 'react'
import io from 'socket.io-client'
import linkifyString from 'linkify-string'
-import constants from '../constants.json'
+import constants from '../constants'
import LoadingIndicator from '../components/LoadingIndicator'
import { queryClient } from '../pages/_app'
import Header from '../components/header'
@@ -202,7 +202,7 @@ export default class Chat extends React.Component {
return
}
// https://socket.io/docs/v4/handling-cors/#Configuration
- const socket = io(`${constants.apiUrl}`, {
+ const socket = io(`${constants.chatUrl}`, {
withCredentials: true,
extraHeaders: {
'qmining-chat': 'qmining-chat',
diff --git a/src/pages/contact.jsx b/src/pages/contact.jsx
index 6cbb9df..abc629f 100644
--- a/src/pages/contact.jsx
+++ b/src/pages/contact.jsx
@@ -3,7 +3,7 @@ import Link from 'next/link'
import Header from '../components/header'
import FeedbackArea from '../components/feedbackArea'
-import constants from '../constants.json'
+import constants from '../constants'
import LoadingIndicator from '../components/LoadingIndicator'
import styles from './contact.module.css'
@@ -62,13 +62,10 @@ export default function Contact({ globalState, setGlobalState }) {
{contacts ? (
<>
-
-
Alternatív módok
-
- TODO: remove this Az alábbi módokat is nyugodtan használhatod, a
- nevedet, e-mail címedet, illetve semmilyen egyéb adatot nem adok
- ki harmadik fél számára. (egyedül én fogom látni)
-
+
+ Figyelem! A szerver üzemeltetőjének kontaktját a
+ {'"P2P infó"'}
+ részlegen találod!
diff --git a/src/pages/faq.jsx b/src/pages/faq.jsx
index dc5d74e..59849dd 100644
--- a/src/pages/faq.jsx
+++ b/src/pages/faq.jsx
@@ -3,7 +3,7 @@ import Link from 'next/link'
import Header from '../components/header'
-import constants from '../constants.json'
+import constants from '../constants'
import styles from './faq.module.css'
function PasswordSection() {
@@ -90,11 +90,7 @@ function FAQSection() {
(így nicknevek sem kellenek), és még IP cím sincs sehol letárolva
szerver oldalon.
- Több infó a{' '}
-
- kockázatok résznél
-
- .
+ Több infó a kockázatok résznél.
Ki és miért csinálja ezt a weboldalt?
@@ -108,130 +104,130 @@ function FAQSection() {
- );
+ )
}
function RiskSection() {
- return <>
- Itt {'"én"'} 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:{' '}
- #1
-
-
- Beküldött fájlok kezeléseA 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.
-
-
-
- Ha esetleg {'"'}lebukik{'"'} a szerver, és tárolt személyes infók
-
- Semmi személyes információ nincs eltárolva szerveren. Egyedüli
- információ amit egyáltalán ki tudnék deríteni az amúgy is az IP címed,
- de az nincs letárolva. Ha nagyon gonosz lennék, akkor a script el
- tudná küldeni a neved és talán még 1-2 adatot a szervernek, de ezt nem
- teszi.
-
- Bizonyíték? A script, weboldal és szerver teljesen nyílt forráskódú,{' '}
-
- ezek repository-ja publikus
- {' '}
- (contribute oldal alja), és akármikor felülvizsgálható. A script a te
- böngésződben fut, tampermonkey bővítmény menüjében megtekinthető
- milyen kód fut pontosan.
-
-
- Bármikor észrevehetik hogy használod a scriptetA weboldalt már
- kevésbé, de úgy nem menti el a kérdéseket a script, mert nem fut.{' '}
-
- Manuálisan is be lehet küldeni kérdés-válaszokat.
-
-
- 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.
-
- Aztán ki tudja ténylegesen hogy lehet
-
-
- Bármikor leállhat a szerver
- És akkor nem bírod megnézni a válaszokat. Erre van az{' '}
-
- összes kérdés TXT
-
-
-
- Akármelyik válasz rossz lehet
- Pl.: ha a script rosszul menti le, vagy rossz kérdésre ad választ
-
-
- >;
+ return (
+ <>
+ Itt {'"én"'} 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:{' '}
+ #1
+
+
+ Beküldött fájlok kezeléseA 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.
+
+
+
+ Ha esetleg {'"'}lebukik{'"'} a szerver, és tárolt személyes infók
+
+ Semmi személyes információ nincs eltárolva szerveren. Egyedüli
+ információ amit egyáltalán ki tudnék deríteni az amúgy is az IP címed,
+ de az nincs letárolva. Ha nagyon gonosz lennék, akkor a script el
+ tudná küldeni a neved és talán még 1-2 adatot a szervernek, de ezt nem
+ teszi.
+
+ Bizonyíték? A script, weboldal és szerver teljesen nyílt forráskódú,{' '}
+
+ ezek repository-ja publikus
+ {' '}
+ (contribute oldal alja), és akármikor felülvizsgálható. A script a te
+ böngésződben fut, tampermonkey bővítmény menüjében megtekinthető
+ milyen kód fut pontosan.
+
+
+ Bármikor észrevehetik hogy használod a scriptetA weboldalt már
+ kevésbé, de úgy nem menti el a kérdéseket a script, mert nem fut.{' '}
+
+ Manuálisan is be lehet küldeni kérdés-válaszokat.
+
+
+ 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.
+
+ Aztán ki tudja ténylegesen hogy lehet
+
+
+ Bármikor leállhat a szerver
+ És akkor nem bírod megnézni a válaszokat. Erre van az{' '}
+
+ összes kérdés TXT
+
+
+
+ Akármelyik válasz rossz lehet
+ Pl.: ha a script rosszul menti le, vagy rossz kérdésre ad választ
+
- Ha hibát találsz, kérlek jelents. Hogy a hibákat a saját gépemen
- reprodukálni tudjam, és könnyen ki bírjam javítani, sokszor jól jön, ha
- egy lementett weboldalt megkapok, amin a hiba történik. Így lehet
- menteni egy oldalt:
-
-
-
- Lementett oldalon jobb klikk, oldal mentése
-
-
-
-
- A lementett oldal egy fájlból és mappából áll.
-
-
-
-
- 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.{' '}
-
- Több infó itt
- {' '}
-
-
-
- Ide tudod feltölteni
- {' '}
-
-
-
- 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.
-
- >;
+ return (
+ <>
+
+ Ha hibát találsz, kérlek jelents. Hogy a hibákat a saját gépemen
+ reprodukálni tudjam, és könnyen ki bírjam javítani, sokszor jól jön, ha
+ egy lementett weboldalt megkapok, amin a hiba történik. Így lehet
+ menteni egy oldalt:
+
+
+
+ Lementett oldalon jobb klikk, oldal mentése
+
+
+
+
+ A lementett oldal egy fájlból és mappából áll.
+
+
+
+
+ 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.{' '}
+ Több infó itt{' '}
+
+
+ Ide tudod feltölteni{' '}
+
+
+
+ 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.
+
+ >
+ )
}
function ScriptSection() {
@@ -240,9 +236,7 @@ function ScriptSection() {
Hogy kell a scriptet telepíteni, és milyen oldalakon működik?
-
- Ezen az oldalon van leírva
- {' '}
+ Ezen az oldalon van leírva{' '}
Hogyan működik a script?
@@ -258,10 +252,7 @@ function ScriptSection() {
Más felhasználóknak köszönhetően már valószínűleg lesznek
- megoldások a tesztjeidhez.{' '}
-
- Itt
- {' '}
+ megoldások a tesztjeidhez. Itt{' '}
meg tudod tekinteni, hogy vannak-e válaszok a tárgyadhoz.
@@ -378,77 +369,74 @@ function ScriptSection() {
- );
+ )
}
function AddSite() {
- return <>
- Jelenleg az, hogy a script melyik oldalakon fut bele van égetve a script
- forráskódjába. Ez itt látható:{' '}
-
- stable.user.js#L52
-
- {'. '}
- Ez azért van így, hogy biztos csak olyan oldalakon fusson a script amit
- támogat is.
-
- Ehhez persze kézzel hozzá lehet adni ideiglenesen bármilyen oldalt, hogy
- kipróbáld ott működik-e. Akár működik, akár nem kérlek szólj, és frissítem
- a scriptet hogy azon a domainen is fusson és működjön alapból.
-
- Egyetem moodle oldalának hozzáadása a scripthez kézzel:
-
-
-
- Először telepítsd a scriptet rendesen
- {' '}
-
-
- Böngészőben nyisd meg a Tampermonkey bővítményt
-
-
- Itt kattints a Dashboard-ra.
-
-
- Keresd meg a scriptet, majd kattints rá:
-
-
-
-
- A felugró szerkesztőben keresd meg a következő sorokat:
-
-
-
-
- Itt az egyik @match ... sor után egy új sorban írd be az
- egyetemed moodle oldalának címét. Ha ez a cím pl.:{' '}
- https://moodle.egyetem.hu/main/akármi, akkor a következőre írd
- át: https://moodle.egyetem.hu/*. Fenti képen látsz néhány
- példát. A {'"*"'} a végén fontos!
-
-
- Ezután mentsd el (ctrl + s, vagy file {'->'} save). Ha minden jól
- ment, akkor elég frissíteni a moodle oldalát, és a script futni fog
- rajta. Ezek után azon az oldalon amit beírtál meg kell jelennie a
- Tampermonkey menüjében is:
-
-
-
-
- Ha a tesztek közben mégsem megy, akkor ellenőrizd, hogy a beírt moodle
- cím egyezik-e a teszt közbenivel. Ha kell egy kis segítség, kérdésed
- van, nem működik valami, vagy éppen működik, de alapból nincs
- hozzáadva:{' '}
-
- írj a kapcsolat oldalon!
-
-
-
- >;
+ return (
+ <>
+ Jelenleg az, hogy a script melyik oldalakon fut bele van égetve a script
+ forráskódjába. Ez itt látható:{' '}
+
+ stable.user.js#L52
+
+ {'. '}
+ Ez azért van így, hogy biztos csak olyan oldalakon fusson a script amit
+ támogat is.
+
+ Ehhez persze kézzel hozzá lehet adni ideiglenesen bármilyen oldalt, hogy
+ kipróbáld ott működik-e. Akár működik, akár nem kérlek szólj, és frissítem
+ a scriptet hogy azon a domainen is fusson és működjön alapból.
+
+ Egyetem moodle oldalának hozzáadása a scripthez kézzel:
+
+
+ Először telepítsd a scriptet rendesen{' '}
+
+
+ Böngészőben nyisd meg a Tampermonkey bővítményt
+
+
+ Itt kattints a Dashboard-ra.
+
+
+ Keresd meg a scriptet, majd kattints rá:
+
+
+
+
+ A felugró szerkesztőben keresd meg a következő sorokat:
+
+
+
+
+ Itt az egyik @match ... sor után egy új sorban írd be az
+ egyetemed moodle oldalának címét. Ha ez a cím pl.:{' '}
+ https://moodle.egyetem.hu/main/akármi, akkor a következőre írd
+ át: https://moodle.egyetem.hu/*. Fenti képen látsz néhány
+ példát. A {'"*"'} a végén fontos!
+
+
+ Ezután mentsd el (ctrl + s, vagy file {'->'} save). Ha minden jól
+ ment, akkor elég frissíteni a moodle oldalát, és a script futni fog
+ rajta. Ezek után azon az oldalon amit beírtál meg kell jelennie a
+ Tampermonkey menüjében is:
+
+
+
+
+ Ha a tesztek közben mégsem megy, akkor ellenőrizd, hogy a beírt moodle
+ cím egyezik-e a teszt közbenivel. Ha kell egy kis segítség, kérdésed
+ van, nem működik valami, vagy éppen működik, de alapból nincs
+ hozzáadva: írj a kapcsolat oldalon!
+
- A weboldal peer to peer (p2p) megoldást implementál, így több szerverrel
- együtt tud működni, és a más szerveren hozzáadott adatokat időközönként
- elkéri, és hozzáadja a helyileg tárolt adatokhoz. Vagy valami ilyesmi
- TODO: normális duma
+
+ A weboldal peer to peer (p2p) megoldást implementál, folyamatosan
+ megosztja az új kérdéseket a lent megadott regisztrált szerverekkel,
+ és hozzáadja a kapott új kérdéseket a helyi adatbázishoz.
+
+ Ha az egyik szerver kiesne, a script a megadott szerverek közül
+ választ egy újat. A felhasználók is szinkronizálva vannak, így a
+ jelenlegi jelszavaddal bármelyik másik oldalra be tudsz lépni
+ A szervert akár te is hostolhatod, érdeklődj a lentebb megadott
+ kontakton
+
+ Ennél a szervernél jelenleg nincs peer regisztrálva
+
+ )}
>
)
diff --git a/src/pages/pwRequest.jsx b/src/pages/pwRequest.jsx
index 8d1ec3c..cef696b 100644
--- a/src/pages/pwRequest.jsx
+++ b/src/pages/pwRequest.jsx
@@ -4,7 +4,7 @@ import Link from 'next/link'
import Header from '../components/header'
import styles from './pwRequest.module.css'
-import constants from '../constants.json'
+import constants from '../constants'
function fetchAvailablePWS() {
return new Promise((resolve) => {
@@ -107,10 +107,7 @@ export default function PwRequest({ globalData, globalState, setGlobalState }) {
Minden felhasználó egyedi jelszót kap. Ne használjatok többen egy
jelszót, mert egy idő után -biztonsági okokból- kidob a rendszer,
ha ugyan az a felhasználó több helyen is belépve marad. A
- jelszavakról bővebben a{' '}
-
- GYIK
- {' '}
+ jelszavakról bővebben a GYIK{' '}
vonatkozó részében olvashatsz.
@@ -191,5 +188,5 @@ export default function PwRequest({ globalData, globalState, setGlobalState }) {
- );
+ )
}
diff --git a/src/pages/ranklist.jsx b/src/pages/ranklist.jsx
index f56bf98..b5cbf36 100644
--- a/src/pages/ranklist.jsx
+++ b/src/pages/ranklist.jsx
@@ -4,7 +4,7 @@ import Header from '../components/header'
import LoadingIndicator from '../components/LoadingIndicator'
import styles from './ranklist.module.css'
-import constants from '../constants.json'
+import constants from '../constants'
const selectOptions = {
newQuestions: { name: 'Beküldött új kérdések' },
diff --git a/src/pages/script.jsx b/src/pages/script.jsx
index 7135ca0..26172e7 100644
--- a/src/pages/script.jsx
+++ b/src/pages/script.jsx
@@ -4,7 +4,7 @@ import { useQuery } from 'react-query'
import Header from '../components/header'
import Link from 'next/link'
-import constants from '../constants.json'
+import constants from '../constants'
import ExternalLinkIcon from '../components/externalLinkIcon'
import styles from './script.module.css'
@@ -102,13 +102,9 @@ export default function Script() {
Ha be vagy jelentkezve, akkor a teszt oldalakon a megoldásokat
kellene látnod egy felugró ablakban felül. Ha nem, akkor{' '}
-
- GYIK
-
+ GYIK
-be olvass bele, vagy{' '}
-
- írj üzenetet mi nem működik
-
+ írj üzenetet mi nem működik
Példa felugró ablakokra:
@@ -161,5 +157,5 @@ export default function Script() {
- );
+ )
}
diff --git a/src/pages/thanks.jsx b/src/pages/thanks.jsx
index 1e19253..38c0dd1 100644
--- a/src/pages/thanks.jsx
+++ b/src/pages/thanks.jsx
@@ -1,6 +1,6 @@
import React from 'react'
import styles from './thanks.module.css'
-import constants from '../constants.json'
+import constants from '../constants'
import Head from 'next/head'
export default function Thanks() {
diff --git a/src/pages/userfiles.jsx b/src/pages/userfiles.jsx
index a7f610e..b82fc94 100644
--- a/src/pages/userfiles.jsx
+++ b/src/pages/userfiles.jsx
@@ -8,7 +8,7 @@ import UpDownVote from '../components/upDownVote'
import Header from '../components/header'
import styles from './userfiles.module.css'
-import constants from '../constants.json'
+import constants from '../constants'
function vote(to, item) {
return new Promise((resolve, reject) => {
@@ -382,7 +382,11 @@ export default function UserFiles({
- );
+ )
})}
>
) : (
@@ -513,7 +518,7 @@ export default function UserFiles({
)}
- );
+ )
}
return (
@@ -535,10 +540,8 @@ export default function UserFiles({
vállalás nincs.
{' '}
Ha valami nem idevalót látsz, azt a{' '}
-
- Kapcsolat
- {' '}
- oldalon jelezd kérlek. Tudatos károkozásért ban jár.
+ Kapcsolat oldalon jelezd kérlek. Tudatos
+ károkozásért ban jár.
)}
@@ -602,5 +605,5 @@ export default function UserFiles({
)}
- );
+ )
}
diff --git a/src/pages/validation.jsx b/src/pages/validation.jsx
index 852a193..d47dc9e 100644
--- a/src/pages/validation.jsx
+++ b/src/pages/validation.jsx
@@ -3,7 +3,7 @@ import React, { useState, useEffect } from 'react'
import Header from '../components/header'
import styles from './validation.module.css'
-import constants from '../constants.json'
+import constants from '../constants'
function fetchValidation() {
return new Promise((resolve) => {
@@ -37,8 +37,7 @@ export default function Validation() {
Különböző okokból kellhet, hogy bizonyítsd hogy az oldalhoz van
- hozzáférésed. Ebben az esetben ezzel a tokennel tudod: TODO: normális
- duma
+ hozzáférésed. Ebben az esetben ezzel a tokennel tudod: