A fájlok egyszerű megosztásának új módja iPhone-ról

A Pafera fájlszerver már elérhető iOS-en!
2024-01-20 16:39:38
👁️ 1037
💬 0

Gyors bemutatkozásra vágysz? Csak nézze meg a fenti videót!

Tartalom

  1. Bevezetés
  2. Az új Flutter fájlmegosztó alkalmazás
  3. Az App használatával
  4. Speciális funkciók
  5. Letiltott funkciók a mobilon
  6. Letöltések és forráskód
  7. Jelentkezzen béta tesztelőnek

Bevezetés

A Pafera fájlszerver Android Termux alatt fut

Tavaly kiadtam egy segédprogramot, a Pafera fájlszerver . Ez egy Rust nyelven írt konzolalkalmazás, amely webalapú fájlkezelőt futtat az eszközein, lehetővé téve az egyszerű fájlmegosztást minden olyan webböngészővel, amely egy praktikus diavetítés funkcióval rendelkezik a fényképek és a Shiba ikonok megjelenítéséhez. Ez azt jelenti, hogy elmehet egy buliba, és hagyhatja, hogy 200 barátja a saját telefonján, a saját idejében és tempójában böngésszen a legutóbbi nyaralási fotói között.

Később, ahogy különböző javaslatok és használati minták érkeztek barátoktól és véletlenszerű internetes idegenektől, egyre több funkciót kezdtem hozzáadni. Mostantól teljes könyvtárfák szinkronizálására, médiafájlok átkódolására, natív operációs rendszer alkalmazásokkal való megnyitására, valamint fájlok automatikus szinkronizálására az eszközök között.

Konzolalkalmazásként azonban mindig volt egy nagy probléma, amely megakadályozta, hogy univerzális megoldás legyen az összes eszközére:

A konzolalkalmazások nem futhatnak iOS rendszeren, ami azt jelenti, hogy a Pafera File Server nem futhat iPhone-on vagy iPaden...

Egészen mostanáig.

Az új Flutter fájlmegosztó alkalmazás

Volt egy kis szabadidőm a karácsonyi szünetben, miközben Montenegró ünnepelte az ünnepeket, ezért kísérleteztem egy többplatformos kísérőalkalmazás megírásával a Flutter/Dartban, amely lehetővé teszi, hogy telefonjáról könnyedén böngésszen a szerverek között. Így a kevésbé technológiájú barátaim csak két gombot nyomhatnának meg, és csatlakozhatnának a szervereimhez.

Útközben arra jutottam, hogy a Dart segítségével valóban futtathatja saját webszerverét iOS-eszközökön, és arra gondoltam...

Hé! Miért nem valósítom meg inkább a fájlszervert a Dartban!

Tehát két héttel később az alkalmazás itt van.

A Pafera fájlkiszolgáló iPhone-on fut

Most a teljesítmény rettenetesen lassú a Rust verzióhoz képest. A Rust szerver körülbelül 40 000 kérést tud kiszolgálni másodpercenként...

Míg a Dart változat csak körülbelül 400-at tud kiszolgálni....

De a lényeg, hogy működjön...

és iPhone-okra is telepíthető!

Az App használatával

A Flutter legutóbbi verzióit tartalmazó PDFx-könyvtár hibája miatt abba kellett hagynom a szép ikonok használatát az összes gombnál, mivel azok csúnya fekete vonalakként jelentek meg.

Az alapművelet azonban változatlan marad.

Alapvető művelet

Miután mindenki csatlakozik ugyanahhoz a WiFi hálózathoz vagy telefonja hotspotjához, egyszerűen kattintson az alkalmazás ikonjára, válassza ki a megosztani kívánt mappát, majd koppintson a "Szerver indítása" elemre.

Ezután kattintson a QR-kód gombra, hagyja, hogy barátai beolvassák, és boldogan böngészhetik telefonjuk mappáit, akár filmeket is streamelhetnek a telefonról közvetlenül a telefonjukra.

Ha barátja laptopot vagy asztali számítógépet használ, az sem probléma. Csak írja be a QR-kód felett látható URL-t az eszközükön, és ők is megtehetik ugyanezt.

Ha nem iOS vagy Android rendszeren fut, az sem probléma. A Flutter Apps remekül működik OSX, Windows és Linux rendszeren, így ugyanazokat a funkciókat kapja, és még többet, ha az rsync, FFMpeg és ImageMagick programot telepíti a rendszerére az alkalmazás használatához.

Speciális funkciók

Az egyszerű fájlmegosztáson kívül jó néhány speciális funkció létezik, ezért itt egy gyors áttekintést adok.

A gazdagépnév jelenik meg a többi eszköz számára, amikor a "Más szerverek keresése" gombra kattintanak. Segítségével gyorsan megkülönböztetheti az egyik eszközt a másiktól, ha egyszerre több eszközt is megoszt.

A mappa az a fájlrendszer mappa, amelyet valójában megoszt. Kattintson a "Dokumentumok mappa használata" az alapértelmezett Dokumentumok/megosztott mappában, vagy kattintson a "Mappa kiválasztása" hogy válasszon másik mappát. Lehetséges, hogy rá kell kattintania a "Dokumentumok mappa használata" ha az iOS nem frissíti megfelelően az alkalmazás beállításait az alvó állapotból való visszatéréskor.

Az aktuális IP-cím használata automatikusan felismeri az eszköz aktuális WiFi IP-címét. Mint a "Dokumentumok mappa használata" akkor használja, ha az iOS nem frissíti megfelelően az alkalmazást, és továbbra is egy korábbi WiFi hálózat IP-jét használja.

"Megosztás az összes felületen" a nyilvános IP-t 0.0.0.0-ra állítja, ami azt jelenti mindenki bármin, amihez csatlakozik, látni fogja a szerverét. Hasznos asztali számítógépeken több csatlakozással, de legyen óvatos, ha nyilvános helyeken használja.

"Megosztás indítása" futtatja a szervert, és megnyitja a kezdőlapot a kezeléséhez. Ha ismét rákattint, a szerver leáll, és a fájlok biztonságban lesznek.

"Legutóbbi beállítások betöltése" és "Jelenlegi beállítások mentése" pontosan azt tedd, amit mondanak. A beállítások a Documents/paferafileserver.cfg fájlban lesznek tárolva, akárcsak a konzol Rust verziója.

Speciális beállítások

A különféle jelszóbeállítások arra szolgálnak, hogy különböző szintű hozzáférést biztosítsanak a különböző felhasználóknak.

Általában mindenki láthatja fájljait, ha csatlakozik a szerveréhez, de ha bejelöli a "Privát fájlok engedélyezése" ezek alatt senki sem fogja látni a fájljait az olvasási jelszó nélkül.

Az írási jelszó fájlok feltöltésére, áthelyezésére, másolására vagy törlésére szolgál. E nélkül senki más nem tehet mást a rendszerével, csak megtekintheti a fájljait.

A shell jelszó használhatatlan a mobilalkalmazásban, de nagyon hasznos az asztali operációs rendszereken és a Termux Androidon. Lehetővé teszi tetszőleges rendszerparancsok futtatását, amelyek egyszerre nagyon erősek és veszélyesek. Ez a funkció alapértelmezés szerint le van tiltva, és mindkettőhöz meg kell adnia egy shell-jelszót és jelölje be a "héjparancsok engedélyezése" alább a használatához.

A különféle engedélyezési és letiltási opciók segítségével kiválaszthatja, hogy mások mit tehetnek a rendszerével akkor is amikor már megvan a megfelelő jelszó. Ezek felülírják az összes többi lehetőséget, így ha letiltja a fájlok másolását, senki – még Ön sem – nem tudja majd másolni a fájlokat.

Az "SSH-kulcsellenőrzés letiltása" olyan embereknek való, mint én, akik folyamatosan barangolnak, miközben oda-vissza szinkronizálják a fájlokat a különböző eszközök között. Általában az SSH megerősítést kér, amikor olyan rendszerhez csatlakozik, amelynek IP-címe megváltozott, még akkor is, ha a rendszer azonossága már ismert. Ez az opció lehetővé teszi, hogy automatikusan szinkronizálja a fájlokat a különböző hálózatokon anélkül, hogy le kellene ugrania a konzolra az SSH-kapcsolatok megerősítéséhez. Óvatosan használja, ha olyan hálózatokon tartózkodik, amelyeket nem saját maga irányít.

Letiltott funkciók a mobilon

A Termuxban vagy asztali környezetben való futással ellentétben az iOS- és Android-alkalmazások nem férnek hozzá shell-hez, rsync-hez, ImageMagick-hez vagy FFMpeg-hez, így az összes speciális szinkronizálási és átkódolási funkció le van tiltva.

Mivel a mobil operációs rendszerek bármikor megölhetik a háttéralkalmazásokat, az időzített automatikus feladatok is le vannak tiltva.

Mindezekre a szempontokra vannak lehetséges megoldások, de a funkciók integrálásához szükséges idő jelenleg meghaladja a szándékomat. Ha valakit szeretne fizetni, hogy hozzáadjam őket, akkor meglátjuk, mi történik. 😁

Letöltések és forráskód

Mint minden projektem esetében, a forráskód a Codebergen található, és lehet itt található .

Előre lefordított binárisok esetén megteheti böngésszen a kiadási könyvtárban itt ...

Vagy egyszerűen kattintson az alábbi linkekre:

Az Apple aláírási követelményei miatt az iOS és OSX felhasználóknak meg kell várniuk, hogy az alkalmazás elérhető legyen az App Store-ban, vagy le kell tölteniük a forráskódot, és le kell fordítaniuk a saját verziót az eszközeikre.

Jelentkezzen béta tesztelőnek

Mivel ez egy új kiadás, biztos vagyok benne, hogy rengeteg hiba és furcsa viselkedés lesz a különböző rendszereken. Ha szeretné nekem bétatesztelni ezt az alkalmazást, kérjük, küldjön egy e-mailt az eszközével és az operációs rendszer verziójával, és megadom a TestFlight beállítását.

A Flutter alkalmazás terjesztése valójában sokkal bonyolultabb, mint a Rust verzió, ahol csak egyetlen végrehajtható fájlt töltök fel, és kész az egész, ezért kérem, legyen megértő, amikor az Apple-nek három hétbe telik, hogy ellenőrizze az alkalmazásomat, és beengedje az iOS rendszerbe. App Store. A dolgoknak sokkal könnyebbnek kell lenniük, ha az Apple-nek engedélyeznie kell harmadik féltől származó alkalmazásokat az EU-döntés értelmében.

Mint mindig, most is remélem, hogy hasznosnak találja ezt az alkalmazást, és ha saját céljaira szeretné személyre szabni, műszaki tanácsadóként mindig rendelkezésre állok. Jó szórakozást!

A Szerzőről

Jim azóta programoz, amióta a 90-es években kapott egy IBM PS/2-t. A mai napig előszeretettel ír HTML-t és SQL-t kézzel, munkája során a hatékonyságra és a korrektségre helyezi a hangsúlyt.