2024. március 28., csütörtök

Gyorskeresés

Filebrowser, azaz filemanager böngészőből

Írta: | Kulcsszavak: nas . web . elérés . filebrowser . linux . ssh . böngésző

[ ÚJ BEJEGYZÉS ]

Mivel böngésszem a NAS-t

Van itthon egy NAS, ami persze nem olyan, mint máshol megszokott :D . Alapvetően egy asztali gép, 5x500GB winyó RAID5-ben, Athlon II X2 procival, 4GB RAM-mal, Ubuntu Serverrel. NAS létére alapból ki van kapcsolva, szépen ébreszthető WOL-al, ha kell.

Általában SSH-n át X forwarding-on indított filekezelőn böngészem a tartalmát, ami sokkal használhatóbb egy SMB alapú hozzáférésnél (másoláshoz viszont utóbbit használom). Ugyanakkor lehetne ez egyszerűbb is, ötlött fel a gondolat, hiszen kintről nem elérhető ez a gép sem közvetlenül. Már jó ideje SSH és HTTPS alapú hozzáférés van kintről az itthoni hálózathoz a home szerver/gateway-en keresztül - a NAS-hoz meg végül sosem küldtem be semmilyen portot, mert ugye nem kicsit lett volna rizikós, ha már a személyes cuccaimmal van tele.

Tehát, mi lenne, ha web alapú elérése is lenne a NAS-nak? Csak belső hálón, aztán ha kell, SSH tunnelen át végülis akárhonnan... Na de mi jó erre?

Kicsit körbenézve, a Filebrowser, Filestash, Filerun, és hasonló nevek jöttek szembe. Kettőt nem tudtam ezekről, de mint kiderült, nagy részük elég egyszerűen használható, beépített HTTP szerveres cumó. A Filebrowser-re esett a választás, összedobtam neki egy virtuálgépet (az éles NAS-on mégsem tesztelem), és tényleg szögegyszerű. Meg opensource és ingyenes :)

Telepítés, beüzemelés

A 2x. verzió telepítése Linuxra és Windowsra is ugyanannyi - letöltesz egy telepítőscriptet, és az feltelepíti a binárist (nem sokból áll az egész). Létezik Docker imageként is, ha kicsit jobban elválasztva szeretnénk futtatni.

Linuxon a telepítés pl. ennyi :
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash

És már fent is van. A telepítési leírás egyből el is indítja, de jobb nem.

A Filebrowser futtatható parancssoros konfiggal is, de konfigfile-t is lehet neki adni, ami a filebrowser.db adatbázis. Ezt az aktuális könyvtárban, a $HOME és a /etc/filebrowser útvonalakon fogja keresni, ha más utasítást nem kap.

Kipróbálni konfig nélkül is ki lehet, mert nagyjából azonos dolgokat lehet beállítani (legalábbis az alapvetőeket) mezei paraméterezéssel is. Azaz a
filebrowser --root /melyikkönyvtáratmutassa --address ipcím --port portaminfigyelnifog
( a gyakorlatban : filebrowser -r /store -a 192.168.1.182 -p 8080 )
hatására elindul a Filebrowser, és a http://192.168.1.182:8080 -on egy szép bejelentkezőablak fogad, bejelentkezve meg a /store könyvtár tartalma, persze az alatta levőkbe is be lehet menni. (A --noauth paraméterrel nincs bejelentkezés, csak kapod a könyvtár tartalmát. Az alapértelmezett user és jelszó amúgy admin admin :) )


Így néz ki, amikor működik

A Filebrowser kreál magának egy adatbázist, filebrowser.db néven. Ebben tartja a konfigot, többek között.

Igazából ennyi elég is lenne, mert elindul, használható. Ellenben konfigfile-al kicsit normálisabban működtethető, illetve sokkal kényelmesebb, ha a géppel együtt indul.

Indítás boot közben

Ezt Linuxon lehet a /etc/rc.local-ból (már olyan disztrókon, ahol az értelmesen használható, nekem egyre több vele a macera :D ), vagy szolgáltatásként (systemd-s esetet írok le, Debian-on/Ubuntun ez így működik). Windowson meg a Startup-ban elhelyezni egy .bat file-t pl., ami elindítja.

A Linux service legegyszerűbb esete :

Létrehozunk egy file-t, ami a service-t írja le
touch /etc/systemd/system/filebrowser.service

Aztán ezt elhelyezzük benne a kedvenc szövegszerkesztőnkkel :
[Unit]
Description=filebrowser
After=network-online.target

[Service]
ExecStartPre=/bin/sleep 30
ExecStart=/usr/local/bin/filebrowser -r /könyvtáramitmutasson -a ip.címe.a.gépnek -p port_száma_amin_elérhető -d /db_könyvtára/filebrowser.db

[Install]
WantedBy=multi-user.target

(Az ExecStart nálam így nézett ki :
ExecStart=/usr/local/bin/filebrowser -r /store -a 192.168.1.182 -p 8080 -d /home/testuser/filebrowser.db
Ez a gép 192.168.1.182 címén, a 8080-as porton figyel. Az ExecStartPre pedig egy 30mp-es várakozás. Üdvözöljük Poetteringet, amiért az, hogy a hálózat online, még nem jelenti azt, hogy a hálózat online is, mert olyan hibával halt el a Filebrowser várakozás nélkül, hogy még nem létezik a címe a gépnek. OK, a DHCP-m tetű, de a network-online nekem azt jelentené, hogy teljesen felállt a háló... :W Nyugodtan el lehet azt a sort hagyni, ha amúgy elindul nélküle boot közben a service.)

Az ExecStart sorban persze nem csak direkt megadott címmel-porttal lehet indítani, hanem ha van egy összerakott konfig/db, akkor elég azt megadni a -d paraméterrel, persze a file teljes elérési útjával.

Engedélyezzük a szolgáltatást a gép indulása közben
systemctl enable filebrowser.service

De kézzel is el lehet indítani :
systemctl start filebrowser.service (a 30mp-et ki kell várni... és nyilván stop-ra fog leállni :DDD )

Konfiguráció

A filebrowser.db file tartalmazza a konfigot. Valamiért ez nem egy szövegfile, úgy mondjuk kicsit egyszerűbb lenne, hanem adatbázis. A tartalma a Filebrowser-rel szerkeszthető, részben magából a fileböngészőből, részben parancssorból.

Új konfig készítése az aktuális könyvtárba :
filebrowser config init

Konfigfile exportja, importja
filebrowser config export
filebrowser config import

Opciók beállítása a konfigban
filebrowser config set --mitállítaszbe milyenértékre

Pl. a címet úgy állítod be, hogy
filebrowser config set --address ip.cím.amit.akarsz
A port a --port portszám, a könyvtár a --baseurl /elérési/út

A konfig emberi fogyasztásra alkalmas megnézése pedig
filebrowser config cat

De amúgy a lényeges része a cím, a port, a könyvtár (a --baseurl paraméter). A teljes dokumentáció itt érhető el : https://filebrowser.org/cli/filebrowser-config-set . Amúgy elég részletesen beállítható, usereket lehet létrehozni, stb. Természetesen TLS/SSL kezelés is van, bár közvetlenül net felé nem engedném ki így sem, belső hálón meg elég a HTTP is.

Végszó

Elég sok mindent tud ez a fileböngésző, szóval esélytelen lenne egy személyes bejegyzésben leírni, de ennyivel már el lehet indítani, és próbálgatni a továbbiakban.

Hozzászólások

(#1) Luck Dragon

Megéri fogyasztásban ilyen “NAS-t “ használni ?

A káosszal teremtek rendet. Philips & TPvision primary visitor. Philips Design line.

(#2) UnA


UnA
Korrektor

A sleep 30 helyett van néhány elegánsabb megoldás is, pl: Conditions ...

(#3) hcl válasza UnA (#2) üzenetére


hcl
félisten
LOGOUT blog (1)

Hüm, köszi! :) Megnézem majd, és updatelek :)

@Luck Dragon : Abszolút, mert többet van kikapcsolva, mint be. Tehát ha kell róla adat, benyomom, majd ha leszedtem, kikapcs. Pár évig pörögtem azon, hogy fú, alacsony fogyasztású kell, meg 0-24, csendes, aztán leesett, hogy minek, néha hetekig nincs benyomva a NAS. Pont jó így, olcsóbb is :) A WOL jó dolog :)

[ Szerkesztve ]

Mutogatni való hater díszpinty

(#4) CaNNa3IS


CaNNa3IS
senior tag

Esetleg egy külső usb-s drive ?
Így gyakorlatilag egy backup semmi több.
Egy otthoni NAS-nak pont az a lényege, hogy folyamatosan tud szolgáltatni.
Pl ha egy filmet akarok nézni DLNA-n, képeket nézni, torrent ...

Stay up Stay humble Ride hard Get stoked

(#5) hcl válasza CaNNa3IS (#4) üzenetére


hcl
félisten
LOGOUT blog (1)

A külső USB drive nem érhető el távolról :) (Amúgy van egy példány mentve egy 1T winyóra is, csak arra már ki se fér minden :( )
Ahogy mondtam, hogy ez nem úgy NAS, mint a megszokott. Backup jellege annyiban van, hogy az adat a gépemen nincs meg, csak ezen (a gépemen csak az van, ami kép pl. még nincs feldolgozva).

És ahogy írom is, ha kell róla valami, van WOL, ami működik is. Tehát akárhonnan be tudom kapcsolni, és elérem melóhelyről, anyámtól, stb.
Torrentezni eszembe nem jutna ugyanazon az eszközön, amin a személyes cuccaim vannak :D (Asszonynak van egy letöltőgépe, az fizikailag egy laptop, de nekem közöm nincs semmilyen torrentezéshez.)
Filmet nézni DLNA-n meg pont nem szoktam. Az helyben szokott menni, legtöbbször simán online.

Meg mondjuk a bejegyzés sem arról szól, hogy 0-24-megy-e a NAS, hanem a Filebrowserről :D ;]

Mutogatni való hater díszpinty

(#6) Krugszvele


Krugszvele
aktív tag

MC?

(#7) hcl válasza Krugszvele (#6) üzenetére


hcl
félisten
LOGOUT blog (1)

:F

Mutogatni való hater díszpinty

(#8) aujjobba


aujjobba
addikt

En mar feladtam a privateCloud temat, valahogy egyik eszkoz se volt megfelelo.
Egyszeru fenykepmegosztast/bongeszest akartam megoldani ugy, hogy minden anyagom HEIC, a videok HEIF-ek (h.265 HEVC).
Feltettem kismillio photogallery appot, egyik se volt hajlando normalisan kezelni JPG-tol eltero formatumot, az elofizeteses Plex fenykepgaleria se tudja, szegyen.
Konfiguraltam Nextcloud-ot, minden tuninglehetoseget vegigvertem, PHP PFM modul, http2 eroltetese, Reddit cache, mysql tuning, minden SSD-n, utemezett belyegkep generalas.
Ennek ellenere barmikor bementem egy sok kepet tartalmazo konyvtarba, baromi lassan toltott be mindent.

Most sima SSH van kiengedre a netre (kizarolag egy nemroot user tud csatlakozni, az is csak privat RSA kulccsal, es nem a sztandard porton), ket tabletre feltettem a privatkulcsot, bekonfigoltam az SCP kapcsolatot a Solid Explorer-ben aztan kesz.

[ Szerkesztve ]

(#9) #90088192 válasza aujjobba (#8) üzenetére


#90088192
törölt tag

Ezt a filmek esetében tapasztaltam, én egyszerűen szétszedtem alkonyvtarakra ABC szerint.
Azóta gyorsan működik,mert nem akar Mindent egyszerre betölteni. :R

(#10) hcl válasza aujjobba (#8) üzenetére


hcl
félisten
LOGOUT blog (1)

Szerintem ilyen képméretek és hálózati sebesség mellett, amik ma általánosak, ne is várj gyorsaságot külső hálóról. Az X forwarding amúgy mindent ver sebességben, kb. mintha a helyi gép előtt ülnél (persze LAN-on). És az is lescriptelhető.

A Filebrowsert csak extraként tettem fel. Kintre meg amúgy sem engedném, tehát az itthoni hálóról kifele egy webszerver látszik, amin csak statikus cucc van, meg egy SSH, nem standard porton. És ez egyik sem a NAS-ra megy, hanem egy külön szerverre, onnan lehet továbbmenni SSH-val.

Mutogatni való hater díszpinty

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.