Egyszerű, helyi hálózaton használható fájlfeltöltő: a gép mDNS-en közzétesz egy .local címet, a böngészőben megnyitod, és egy fájlt fel tudsz tölteni.
- mDNS-es cím a helyi hálózaton:
http://handin-xxxx.local - Egyszerű feltöltő oldal (GET
/+ POST/upload) - „Zárolás” feltöltés után (IP vagy cookie alapú), hogy ugyanarról a kliensről ne legyen azonnal újrafeltöltés
- A feltöltött fájlok az
uploads/könyvtárba kerülnek
- Bun telepítve
- Helyi hálózat és mDNS támogatás (Windows-on ez függhet a hálózati beállításoktól)
Megjegyzés: az app alapból a 80-as portra figyel. Windows-on ehhez sokszor admin jog kell, vagy a portot már használja valami.
bun installbun run devInduláskor a konzol kiír egy címet, pl.:
http://handin-abcd.local
Ezt a címet nyisd meg böngészőben ugyanazon a helyi hálózaton.
A beállítások a gyökérben lévő config.json fájlban vannak. Ha nem létezik, a program induláskor létrehozza alapértelmezett értékekkel.
Példa:
{
"lockMode": "IP",
"lockDuration": 300
}lockMode:IPvagyCOOKIEIP: a kliens IP-je alapján „egyszer tölthetsz fel” (amíg fut a program)COOKIE: sütibe tesz egy rövid életű tokent
lockDuration: csakCOOKIEmódban számít, másodpercben (pl.300= 5 perc)
Fontos: a zárolás állapota memóriában van; a program újraindításakor nullázódik.
- A feltöltött fájlok az
uploads/mappába kerülnek. - A fájlnév a kliens IP-jének egy „biztonságosabb” változatával egészül ki, pl.
dolgozat_192_168_1_10.pdf.
GET /– feltöltő oldal (ha már „feltöltöttél”, az „already uploaded” oldal)POST /upload– fájlfeltöltés (multipart/form-data, mezőnév:file)GET /stats– verziók + amit a kliens feltöltött (zárolási módtól függően)GET /health– egyszerű healthcheck (OK)
Windows-on készíthető egy önálló bináris:
bun run bEz egy handin nevű futtathatót generál (ikon: icon.ico). Indításkor ugyanúgy kiírja a .local címet.
- Ha a
.localcím nem nyílik meg:- ellenőrizd, hogy ugyanazon a helyi hálózaton vagytok
- engedélyezd a hálózati forgalmat (Windows tűzfal felugró engedélykérés)
- próbáld meg másik eszközről ugyanazon a hálózaton
- Ha a program nem tud elindulni 80-as porton:
- futtasd emelt jogosultsággal, vagy szabadítsd fel a portot (ami épp használja)