Nov način za preprosto skupno rabo datotek iz iPhona

Datotečni strežnik Pafera je zdaj na voljo v sistemu iOS!
2024-01-20 16:39:38
👁️ 1037
💬 0

Želite hitro predstavitev? Samo oglejte si zgornji video!

Vsebina

  1. Uvod
  2. Nova aplikacija za skupno rabo datotek Flutter
  3. Uporaba aplikacije
  4. Napredne funkcije
  5. Onemogočene funkcije v mobilni napravi
  6. Prenosi in izvorna koda
  7. Prijavite se za beta preizkuševalca

Uvod

Datotečni strežnik Pafera, ki deluje v sistemu Android Termux

Lansko leto sem izdal pripomoček z imenom Datotečni strežnik Pafera . To je konzolna aplikacija, napisana v Rustu, ki poganja spletni upravitelj datotek za vaše naprave, kar omogoča enostavno skupno rabo datotek s katerim koli, ki ima spletni brskalnik s priročno funkcijo diaprojekcije za prikaz vaših fotografij in ikon shiba. To pomeni, da lahko greste na zabavo in dovolite 200 prijateljem, da brskajo po vaših nedavnih fotografijah s počitnic na svojih telefonih, ob svojem času in v svojem tempu.

Kasneje, ko so od prijateljev in naključnih internetnih neznancev prihajali različni predlogi in vzorci uporabe, sem začel dodajati vedno več funkcij. Zdaj je zmožen sinhronizirati celotna drevesa imenikov, prekodirati predstavnostne datoteke, odpirati datoteke z izvornimi aplikacijami operacijskega sistema in samodejno sinhronizirati datoteke v vaših napravah.

Ker pa je bila konzolna aplikacija, je vedno obstajala ena velika težava, ki ji je preprečila, da bi bila univerzalna rešitev za vse vaše naprave:

Konzolne aplikacije se ne morejo izvajati v sistemu iOS, kar pomeni, da ne morete zagnati datotečnega strežnika Pafera v napravah iPhone ali iPad ...

Do sedaj.

Nova aplikacija za skupno rabo datotek Flutter

Med božičnimi počitnicami sem imel nekaj prostega časa, medtem ko je Črna gora praznovala praznike, zato sem eksperimentiral s pisanjem večplatformske spremljevalne aplikacije v Flutter/Dart, ki bi vam omogočila preprosto brskanje po strežnikih iz vašega telefona. Tako bi moji tehnično manj nagnjeni prijatelji lahko samo pritisnili dva gumba in se povezali z mojimi strežniki.

Med potjo sem ugotovil, da bi lahko dejansko uporabil Dart za zagon lastnega spletnega strežnika v napravah iOS, in mislil sem ...

hej Zakaj namesto tega ne implementiram datotečnega strežnika v Dart!

Dva tedna kasneje je aplikacija tukaj.

Datotečni strežnik Pafera deluje na iPhoneu

Zdaj je zmogljivost v primerjavi z različico Rust strašno počasna. Strežnik Rust lahko postreže približno 40.000 zahtev na sekundo ...

Medtem ko lahko različica Dart služi le približno 400...

Ampak važno je, da deluje...

in se namesti na iPhone!

Uporaba aplikacije

Zaradi napake v knjižnici PDFx z najnovejšimi različicami Flutterja sem moral prenehati uporabljati lepe ikone za vse gumbe, saj so se prikazovali kot grde črne črte.

Vendar osnovna operacija ostaja enaka.

Osnovno delovanje

Ko se vsi povežejo z istim omrežjem WiFi ali dostopno točko vašega telefona, preprosto kliknite ikono aplikacije, izberite mapo, ki jo želite dati v skupno rabo, in tapnite "Zaženi strežnik".

Nato kliknite gumb s kodo QR, pustite, da jo vaši prijatelji skenirajo, nato pa lahko veselo brskajo po vaši mapi na svojih telefonih in celo pretakajo filme iz vašega telefona neposredno na svoje telefone.

Če vaš prijatelj uporablja prenosni ali namizni računalnik, tudi to ni problem. Preprosto vtipkajte URL, ki je prikazan nad kodo QR v njihovi napravi, in lahko storijo popolnoma isto stvar.

Če ne uporabljate sistema iOS ali Android, tudi to ni problem. Aplikacije Flutter dobro delujejo v OS X, Windows in Linux, tako da boste imeli enako funkcionalnost in še več, če v sistem namestite rsync, FFMpeg in ImageMagick, da jih aplikacija uporablja.

Napredne funkcije

Poleg preproste skupne rabe datotek je na voljo še kar nekaj naprednih funkcij, zato bom tukaj podal hiter pregled.

Ime gostitelja je tisto, kar se prikaže drugim napravam, ko kliknejo "Poišči druge strežnike". Z njim lahko hitro ločite eno napravo od druge, če si delite več naprav hkrati.

Mapa je mapa datotečnega sistema, ki jo dejansko delite. Kliknite "Uporabi mapo z dokumenti" za privzeto v Dokumenti/v skupni rabi ali pa kliknete "Izberi mapo" da izberete drugo mapo. Morda boste morali tudi klikniti "Uporabi mapo z dokumenti" če iOS ne osveži pravilno nastavitev aplikacije, ko preklopi iz stanja pripravljenosti.

Uporabi trenutni IP samodejno zazna trenutni IP WiFi vaše naprave. Tako kot pri "Uporabi mapo z dokumenti" uporabite ga, če iOS ne osveži pravilno aplikacije in še vedno uporablja IP iz prejšnjega omrežja WiFi.

"Skupna raba na vseh vmesnikih" nastavi javni IP na 0.0.0.0, kar pomeni, da vsi na vsem, s čimer ste povezani, bo lahko videl vaš strežnik. Priročen na namiznih računalnikih z več kot eno povezavo, vendar bodite previdni pri uporabi na javnih mestih.

"Začni skupno rabo" bo zagnal strežnik in odprl domačo stran, ki jo lahko upravljate. Če ga znova kliknete, boste zaustavili strežnik in ohranili vaše datoteke na varnem.

"Naloži zadnje nastavitve" in "Shrani trenutne nastavitve" naredi točno to, kar rečejo. Vaše nastavitve bodo shranjene v Documents/paferafileserver.cfg tako kot različica Rust za konzolo.

Napredne možnosti

Različne možnosti gesla omogočajo različnim ljudem različne ravni dostopa.

Običajno si lahko vsi ogledajo vaše datoteke, če se povežejo z vašim strežnikom, vendar če označite "Omogoči zasebne datoteke" pod temi, potem nihče ne bo mogel videti vaših datotek brez gesla za branje.

Geslo za pisanje se uporablja za nalaganje, premikanje, kopiranje ali brisanje datotek. Brez tega nihče drug ne more storiti ničesar z vašim sistemom razen ogleda vaših datotek.

Geslo lupine je neuporabno v mobilni aplikaciji, je pa zelo uporabno v namiznih operacijskih sistemih in Termuxu v sistemu Android. Omogoča izvajanje poljubnih sistemskih ukazov, zaradi česar je zelo močan in hkrati zelo nevaren. Ta funkcija je privzeto onemogočena in oba morata vnesti geslo lupine in označite "Omogoči ukaze lupine" spodaj, da ga uporabite.

Različne možnosti omogočanja in onemogočanja vam omogočajo, da izberete, kaj lahko drugi ljudje storijo z vašim sistemom tudi ko že imajo pravo geslo. Te preglasijo vse druge možnosti, tako da, če onemogočite kopiranje datotek, nihče - niti vi sami - ne bo mogel kopirati datotek.

Posebna možnost "Onemogoči SSH Keycheck" je za ljudi, kot sem jaz, ki nenehno tavajo naokoli, medtem ko sinhronizirajo datoteke naprej in nazaj med različnimi napravami. Običajno bo SSH zahteval potrditev pri povezovanju s sistemom, katerega naslov IP se je spremenil, tudi če je identiteta tega sistema že znana. Ta možnost vam bo omogočila samodejno sinhronizacijo datotek v različnih omrežjih, ne da bi se spustili v konzolo za potrditev povezav SSH. Uporabljajte ga previdno, ko ste v omrežjih, ki jih ne nadzirate sami.

Onemogočene funkcije v mobilni napravi

Za razliko od izvajanja v Termuxu ali namiznem okolju aplikacije za iOS in Android nimajo dostopa do lupine, rsync, ImageMagick ali FFMpeg, zato so vse napredne funkcije sinhronizacije in prekodiranja onemogočene.

Ker lahko mobilni operacijski sistemi kadar koli onemogočijo aplikacije v ozadju, so onemogočena tudi časovno omejena samodejna opravila.

Obstajajo možne rešitve za vse te vidike, vendar čas, potreben za integracijo teh funkcij, trenutno presega moj namen. Če mi kdo želi plačati, da ga dodam, bomo videli, kaj se bo zgodilo. 😁

Prenosi in izvorna koda

Kot pri vseh mojih projektih tudi izvorna koda gostuje na Codebergu in je lahko najdete tukaj .

Za vnaprej prevedene binarne datoteke lahko brskajte po imeniku izdaj tukaj ...

Ali preprosto kliknite spodnje povezave:

Zaradi zahtev za podpisovanje Apple morajo uporabniki iOS in OSX počakati, da bo aplikacija na voljo v App Store, ali pa prenesti izvorno kodo in sestaviti svojo različico za svoje naprave.

Prijavite se za beta preizkuševalca

Ker je to nova izdaja, sem prepričan, da bo v različnih sistemih veliko hroščev in nenavadnega vedenja. Če želite zame preizkusiti to aplikacijo v različici beta, mi pošljite e-poštno sporočilo z različico vaše naprave in operacijskega sistema in zagotovil vam bom nastavitev za TestFlight.

Distribucija aplikacije Flutter je pravzaprav veliko bolj zapletena kot različica Rust, kjer samo naložim eno samo izvedljivo datoteko in končam s celotno zadevo, zato bodite razumevni, ko Apple potrebuje tri tedne, da preveri mojo aplikacijo in jo dovoli v iOS App Store. Stvari bi morale biti veliko lažje, ko mora Apple v skladu z razsodbo EU dovoliti aplikacije tretjih oseb.

Kot vedno upam, da vam bo ta aplikacija koristna, in če jo želite prilagoditi za svoje namene, sem vedno na voljo kot tehnični svetovalec. lepo se imejte!

O avtorju

Jim programira, odkar je dobil IBM PS/2 v 90-ih. Še danes najraje ročno piše HTML in SQL, pri svojem delu pa se osredotoča na učinkovitost in korektnost.