Amit szeretnék:
- van egy TP-Link N600 routerem, amin openwrt fut (https://openwrt.org/toh/tp-link/tl-wdr3600_v1). Ebből a kis koszból akarok NAS-t csinálni egy ráaggatott USB-HDD-vel. Elsősorban nagy, médiafájlok tárolására (zenék, filmek). Semmi privát nem lesz rajta, ez nem arra van.
- Elsősorban linuxos gépeken szeretném felcsatolni a távoli HDD-t. Jó lenne ha ezt valamilyen FUSE modullal meg tudnám oldani, de a GVFS is használható végszükség esetén.
Amibe ütköztem:
- Nem semmi, hogy abba a kicsi 8 MB flash-be össze tudták nyomni, de nekem sajnos kevésnek tűnik.
- Kb. 2 MB-om van szabad felhasználásra az alap telepítésen felül. Ebben már el kell férnie egy openvpn-nek is.
Amit próbáltam:
- FTP szerver. Bár van rengeteg hátránya, de kis helyen elfér és működik. Viszont meg is szenvedek vele, mert kb. semmivel nem integrálódik normálisan. Linux alatt nincs hozzá FUSE modul tudtommal, de GVFS van, csak használhatatlan, mert nem tud seekelni, letölti az egész fájlt, vagy el sem indul pl. egy videó.
- samba. Nyilván túl nagy.
- WebDAV. Szintén túl nagy.
- SSHFS. Ez lenne a favorit, mert SSH van rajta gyárilag, csak abban nincs SFTP szerver. Ha meg openssh-t rakok fel, akkor megint elfogy a hely.
- NFS-t nem vagyok hajlandó használni
Mi lehet megoldás:
- az openwrt képes kiterjeszteni az overlay-t a külső HDD-vel. Kicsit ódzkodok ettől a megoldástól, bár elvileg kezelhető, és a korábbi konfiggal bootol, ha nincs HDD, de valahogy nehezen állnék rá. Viszont ebben az esetben bőven lenne tárhely akár SFTP szervernek, akár samba-nak.
- openwrt fordítás, és a kívánt szolgáltatások beleintegrálása az alap image-be. Ezt egy kicsit szívesebben megteszem, de így sem garancia hogy lesz elég hely.
- esetleg egy hibrid rendszer, mivel a tartalom read-mostly: feltöltés FTP-vel, kiszolgálás HTTP-vel? Ezt meg tudtam csinálni, csak a beépített http szerver directory list-jét nem ette meg nekem egyetlen http-t kezelő FUSE modul sem. Nem tudok annak valamilyen template-et megadni?
- Midnight commander-ből a "shell kapcsolat" működik, és viszonylag kényelmes, de nem csak mc alatt szeretném elérni. Erre nem létezik FUSE modul? Csak SFTP-hez?
- Venni egy másik routert. :) Ez lenne a legutolsó opció, nem is a pénz miatt, csak úgy érzem elég közel vagyok a megoldáshoz ezzel.
- ...egyéb ötlet, amire még nem gondoltram?
Előre is köszönöm a tanácsokat!
- 602 megtekintés
Hozzászólások
Openwrt-n extroot-tal meg tudod csinálni, Samba-t is tehetsz. Régebb játszottam én is ezt, de pl. torrent kliensek annyira megfogták, hogy a hálózati forgalom rovására ment. Extroot-tal ki tudod terjeszteni a root fs-t egy usb-s eszközre, nem sok a rizikója, mert ha eltávolítod az eszközt, akkor is be fog bootolni a router, csak az extroot előtt beállított állapot fog felállni.
Hey! Where'd my terminal go?
- A hozzászóláshoz be kell jelentkezni
Miért nem vagy hajlandó NFS-t használni?
Nekem van egy RPi2 szappantartóm, egy külső USB-s notebook vinyóval. Sokáig Samba volt a fájlmegosztás, de nem volt túl acélos. Lassú volt, akadoztak róla a filmek. Lecseréltem NFS-re, azóta nem tapasztaltam ilyet. Egyszerűbb volt beállítani is. Egy MiBox S-re telepített Kodi-val nézek róla sorozatot, de akár a Windows-os gépről is el lehet érni, vagy tabletről is.
- A hozzászóláshoz be kell jelentkezni
Ez inkább ilyen érzelmi dolog. Nekem valahogy sose jött be, tán mert a kernelben van a szerver, vagy nem látom át a működését rendesen.
Illetve azért windows alatt szívás, amire néha szintén szükség lenne.
- A hozzászóláshoz be kell jelentkezni
Ha több platformra is kell és csak media streamelésére, akkor még a DLNA-ra érdemes talán vetni egy pillantást.
Én ezt használom. Bár én nekem nem openwrt-n van a szerver, de úgy látom, hogy lehet csinálni openwrt-re is. Erről leírás itt.
Nekem eddig bejött, mert megy:
- Androidos telefonon VLC-vel
- OkosTV-n simán a TV gyári szoftverével
- Linuxon VLC-vel vagy "djmount"-tal filerendszerbe felmountolva
- Egyszer teszteltem Windowson, ment azon is
Linux alatt használok egy shell szkriptet tartalom keresésére.
Ez visszaadja közvetlenül a fájlhoz tartozó http linket, ami mplayernek beadható, így mountolni sem kell.
Ez a DLNA read only. Ha írni kell fel új tartalmat a NAS-ra, akkor arra NFS-t használok.
Ennek a DLNA-nak is bonyolult a működése. Nem látom teljesen át, de nem is akarom. Azért választottam ezt, mert a legtöbb eszközömmel ez kompatibilis.
- A hozzászóláshoz be kell jelentkezni
Nem igazán kell semmit fordítgatni:
https://openwrt.org/docs/guide-user/additional-software/imagebuilder
Kiveszed belőle azokat a csomagokat ami neked nem kell belerakod ami kell és legenerálod az imaget.
- A hozzászóláshoz be kell jelentkezni
+1 az extroot-nak. Mivel két USB van rajta, rárakhatsz egy pendrive-ot is a HDD mellé, amin csak az extroot lesz. Így a HDD fájlrendszerét - ha ki van már tömve adattal - nem kell megpiszkálni.
Én audio-t tolok ffmpeg-gel egy Icecast szerverre egy TL-WR842ND-vel. Rajta van egy USB HUB külső táppal, azon egy hangkártya és egy extroot USB2.0 pendrive. Nem állt még meg az elmúlt egy-két év alatt.
TheAdam
- A hozzászóláshoz be kell jelentkezni
Szia!
Használtam régen ilyet, de nem vált be: USB eldobálta, legvégén az USB pendriveot ( extroot) kinyirta.
NAS-nak nem használnék ilyen hardvert, mert finoman szólva is szar benne a CPU teljesítménye, ha ilyenben gondolkodsz vegyél:
- INTEL/ASUS NUC minipc,
- ThinClient minipc (pl: HPE ThinClient T620 Plus)
mivel a végeredményben ugyan ennyit fogsz rákölteni mint a fentieknek az ára, csak a végeredmény nem a "szopás" lesz ( OS upgrade, extra csomagok, stb).
- A hozzászóláshoz be kell jelentkezni
Köszönöm a válaszokat!
Ezek szerint mindenki a router oldali bővítést javasolja. Kliens oldali megoldásra nincs senkinek ötlete?
Elsőnek szerintem az imagebuilderrel fogok próbálkozni, ha túl nagy lesz, utána meglátjuk.
- A hozzászóláshoz be kell jelentkezni
A ksmbd is túl nagy úgy rémlik az egész kb 200k?
- A hozzászóláshoz be kell jelentkezni
Közben tettem egy próbát, hogy a httpdirfs-t módosítom.
A probléma az volt, hogy eléggé az apache dirlist-re van kihegyezve, és *CSAK* ilyen URL-eket fogad el:
<a href="könyvtár1/">
<a href="könyvtár2/">
<a href="fájl1">
...
Viszont az openwrt-be épített uhttpd szerver abszolút hivatkozásokat küld:
<a href="/elérési_út/könyvtár1/">
<a href="/elérési_út/könyvtár2/">
<a href="/elérési_út/fájl1">
...
A HTML parse úgy néz ki, hogy gumbo-val beolvassa, utána értelmezi.
https://github.com/fangfufu/httpdirfs/blob/1e808448313b96b6080cc659a892…
Itt akad el:
https://github.com/fangfufu/httpdirfs/blob/1e808448313b96b6080cc659a892…
Elég faék módon van megcsinálva... ami nem szám/betűvel kezdődik, és nem a végén van benne /, az invalid. Persze apache-nál működik.
Na ahelyett hogy sok munkával széttúrtam volna az egészet, hogy a fájlnevet meg az URL-t külön kezelje (amit amúgy később külön kezel, mert a rel. hivatkozásokból FELÉPÍTI a teljes elérési utat, de ha itt azt kapja, akkor meghal :)) ahelyett a HTML_to_LinkTable-be írtam bele egy olyat, hogy vágja le az URL elejét... elég dirty, de kipróbálni épp jó volt.
Működött is, van dirlist! Szuper. Akkor másoljunk!
NA AZ NEM MENT. Ugyanis:
"This web server does not support HTTP range requests" - és kilép.
Innen bukta, kár is lett volna bele több energiát beleölni. Amúgy is csak read-only elérést tudtam volna csiholni http-vel, de ha nem tud seekelni, akkor mindegy is.
- A hozzászóláshoz be kell jelentkezni
Második próba kliens oldalról: curlftpfs. Sajnos ~12 éves kódról beszélünk, ami egyébként nincs is benne az aktuális debian-ban. A debian 11-re való csomag minden hiszti nélkül felmegy és működik.
Ezzel már nagyon közel járok! Ha az FTP-t el tudom fogadni (egyelőre el tudom), akkor funkcionálisan 99%-ban működik.
Tapasztalatok:
- gyors elérés,
- tud seekelni (a szerver vsftpd),
- átvitel kb. 10 MB/s - egyelőre nekem elég,
- írni is tud,
Viszont van némi nyűgje a fájlnevekkel. A "normális" nevű fájlokkal minden OK, viszont ha van benne akár egy szóköz, akkor permission denied-ot dob... úgy látom viszont az ékezetesek nem zavarják.
Normális FTP klienssel nincs gond ezekkel, úgyhogy egyértelműen a curlftpfs baja. Érdekes módon egyébként a dirlist-ben jók a fájlok, csak megnyitni nem tudom őket.
- A hozzászóláshoz be kell jelentkezni
A probléma: https://github.com/curl/curl/issues/7621
Illetve a megoldás is be van ott linkelve. Van egy minimálisan módosított fork-ja a curlftpfs-nek:
https://github.com/JackSlateur/curlftpfs
Ezt lefordítva minden tökéletesen működik! Viszont ebben az irányban nem megyek tovább, nem az FTP feltámasztása a cél. Fallback-nek jó lesz, ha semmi más nem jönne össze.
- A hozzászóláshoz be kell jelentkezni
Annak idején egy nagyon kis kapacitású szappantartóra kellett felhegesztenem openvpn-t. Ez persze magára rántotta az openssl-t ls innen kezdve a teljes luci komponens törlése után sem volt annyi hely, hogy elég legyen. Külső kapacitás nincs, eszköz fix. A megoldás az volt, hogy az openssl helyett a polarssl-t tettem fel - ami kellett, azt tudta, de méretben a tizede ha volt. Luci így sem játszott, de így azért az openvpn felment. Ez persze nem mai történet, de egy misét tán megér.
- A hozzászóláshoz be kell jelentkezni
Nem semmi. Nekem is volt ehhez hasonló tapasztalatom. Az első openwrt-s routeremet egy TL-WR841N-ből csináltam, amiben csak 4 MB Flash volt. Openssl-t, Openvpn-t erre esélyem sem volt rátenni. Extroot nem játszott, mert USB port nem volt. PPTP szervert is úgy tudtam rá csak feltenni, hogy ki kellett belőle szedjem azokat a modulokat, amelyek a titkosítást végzik, így csak titkosítatlan, unsecure PPTP szervert tudtam csak belőle csinálni. Mivel alatta úgyis SSH-n mentek a dolgok, ideiglenes megoldásnak megfelelt. Mivel 32 MB RAM volt benne, talán azt meg lehetett volna még csinálni, hogy minden boot után a szükséges dolgokat egy külső eszközről a /tmp-be másolni és onnan indítani kézzel. Ehhez viszont már nem volt kedvem. Lecseréltem inkább egy 8 MB-os Flashűre. Köszi, hogy megírtad a polarssl-t. Hátha egyszer még jól jön.
- A hozzászóláshoz be kell jelentkezni
Megpróbálkoztam az image builderrel.
Az aktuális snapshot nem akart menni, de sajnos a most fent lévő release sem... valami baja volt a wolfssl csomaggal (a csomaglistát a most telepítettről szedtem le).
Aztán minden csomagot kivettem, amiben benne volt a wolfssl, így sikerült.
És amikor végre sikerült, akkor vettem észre, hogy végig tévedésben voltam: az openssh-sftp-server NEM dependel az openssh-ra!!! Önmagában meg csak pár 10k, és simán felfér :)
Ami furcsaság: a command line sftp parancs simán működik, az sshfs simán működik, viszont az mc-be integrált SFTP valamiért nem megy (míg ugye a shell kapcsolat meg igen).
Log szerint: "No matching algo hostkey"
Nem egészen értem, hogy az mc miért akar másik hostkey algoritmust, de mindegy, az sshfs a lényeg.
Nyilván az FTP-hez képest elmarad a sebesség, mindössze 40 Mbit körül alakul. Ez tényleg elég kevés, már a Blu-rayhez nagyon határon lesz.
De végül ez a megoldás lesz a befutó. Azért köszönöm mindenkinek a tanácsokat ismételten!
- A hozzászóláshoz be kell jelentkezni