TITLE=FTP-szerver ROUTE=/infrastructure/ftp-server LOCALE=hu MODIFIED=1792417593 URL=https://wiki.teletypegames.org/hu/infrastructure/ftp-server L=1 https://git.teletypegames.org/infra/ftp-server L=2 #16 L=3 #18 L=4 #15 L=5 #49 L=6 #22 L=7 https://github.com/giampaolo/pyftpdlib q│ A DOS-os és Windows 9x-es eszközök nem tudnak HTTPS-t, ezért FTP-t olvasnak. q│ Egyetlen szerver kínál nekik mindent: anonim, csak olvasható, csak passzív q│ mód, a 21-es porton. Bármely FTP-kliensnek a portál WarpEngine-játékfájljait q│ is kínálja. Önálló stackként fut. Akik írnak bele, máshol futnak. • bRepó:0 1git.teletypegames.org/infra/ftp-server • bCím:0 cftp://ftp.teletypegames.org0 (21-es port, passzív adat: 30000–30019) 1A mappák 1════════ p / p APPS/ a DOSINST programtára: programonként egy mappa, mindegyikb» p en INFO.INI p WARP/ a teletypegames.org WarpEngine-fájljai: minden játék minde» p n buildje p WIKI/ a TTGWIKI exportja: WIKI.INI, FILES.LST, EN/, HU/ t┌───────┬─────────────────────────────────┬──────────────────────────────────┐ t│h Mappa t│h Ki olvassa t│h Ki írja t│ t├───────┼─────────────────────────────────┼──────────────────────────────────┤ t│0 cAPPS0 t│0 2DOSINST (cPATH=/APPS0) t│0 a DOSINST, a 3GMENU, a 4BMAGIC és t│ t│0 t│0 t│0 a 5TTGWIKI tag-pipeline-jának t│ t│0 t│0 t│0 cstore0 lépése t│ t├───────┼─────────────────────────────────┼──────────────────────────────────┤ t│0 cWARP0 t│0 bármely FTP-kliens (a nevek nem t│0 minden 6WarpEngine-build, ami a t│ t│0 t│0 DOS-os 8.3-as nevek) t│0 teletypegames.org-ra kerül: t│ t│0 t│0 t│0 ugyanazok a fájlok, mint a t│ t│0 t│0 t│0 chttps://teletypegames.org/file/.0 t│ t│0 t│0 t│0 c..0 alatt t│ t├───────┼─────────────────────────────────┼──────────────────────────────────┤ t│0 cWIKI0 t│0 5TTGWIKI (cPATH=/WIKI0) t│0 a cttgwiki0 stack exportere, 15 t│ t│0 t│0 t│0 percenként t│ t└───────┴─────────────────────────────────┴──────────────────────────────────┘ bA cWARPb nem másolat.0 A portál tároló mappája (c/srv/stacks/teletype-games/data/softwares0), csak olvashatóan csatolva, így egy új build azonnal megjelenik benne. A régi verziók is benne vannak, és a katalógusból törölt szoftverek fájljai is, amíg a mappában maradnak. bA gyökérben csak ez a három mappa van.0 A 0.6.0 előtti DOSINST cDOSINST.CFG0-jében cPATH=/0 áll, és a frissítés ezt a fájlt sosem írja át: a gyökérben nem talál programot, ezért kézzel kell cPATH=/APPS0-ra átírni. 2026-10-15-ig a szerver az ilyen DOSINST kedvéért az cAPPS0 mappáit a gyökérben is mutatta. 1A szerver 1═════════ c/srv/stacks/ftp-server0 a vps.teletype.hu-n. A szerver egyetlen konténer: 7pyftpdlib 2.2.0, root nélkül és csak olvasható fájlrendszerrel. • Az aktív módra (cPORT0/cEPRT0) 502 a válasz, így a konténer nem nyit kimenő kapcsolatot. • A feltöltésre és a törlésre 550 a válasz. • Legfeljebb 50 kapcsolat összesen, egy IP-ről 5. • A PASV válasz a c.env0 cFTP_MASQUERADE0-jét jelenti be. A DOS-os kliensek ezt nem használják, a szerver saját címére kapcsolódnak. A stack mappája nem git checkout. A master ágra pusholt, a szervert érintő változást a pipeline telepíti, pontosabban csak megkéri rá a szervert: a cdeploy0 lépés SSH-n hívja a szerver cdeploy0 felhasználóját (cdeploy-ssh0 image, digest szerint), akinek a kulcsa egyetlen rögzített parancshoz, a cci-deploy cftp-server0-hez kötött (cinfra/host-config0). A szerver maga klónozza a mastert a Giteáról, egy szabályzat szerint ellenőrzi a ccompose.yaml0-t (nincs privileged mód, extra capability vagy hoszt-névtér, docker socket; bind mount csak a stacken belül és a csak olvasható WarpEngine-mappára; nyilvános port csak a 21 és a 30000–30019), bemásolja a ccompose.yaml0-t és a cserver/0-t, aztán cdocker ccompose up -d --build0; trusted volume-ok nem kellenek. A teszt lépés a Gitea-registry cpyftpdlib0 image-ében fut (cgit.teletypegames.org/build/pyftpdlib:3.130, a szerver Pythonja a pyftpdlib 2.2.0-val), és csak akkor telepíti a pyftpdlib-et, ha az image-ben más verzió van. A croot/APPS0, a croot/WIKI0 és a c.env0 nem változik. 2026-10-14-ig a DOSINST-nek (21-es port, cdosinst0 stack) és a TTGWIKI-nek (2121-es port) külön FTP-szervere volt.