Novi način za jednostavno deljenje datoteka sa iPhone-a

Pafera File Server je sada dostupan na iOS-u!
2024-01-20 16:39:38
👁️ 1050
💬 0

Želite brz uvod? Samo pogledajte video iznad!

Sadržaj

  1. Uvod
  2. Nova aplikacija za deljenje datoteka Flutter
  3. Korišćenje aplikacije
  4. Napredne funkcije
  5. Onemogućene funkcije na mobilnom uređaju
  6. Preuzimanja i izvorni kod
  7. Prijavite se da budete beta tester

Uvod

Pafera fajl server radi u Android Termuk-u

Prošle godine sam objavio uslužni program pod nazivom Pafera File Server . To je konzolna aplikacija napisana u Rustu koja pokreće veb-bazirani menadžer datoteka za vaše uređaje, omogućavajući lako deljenje datoteka sa bilo čim što ima veb pregledač sa zgodnom funkcijom projekcije slajdova za prikazivanje vaših fotografija i shiba ikona. To znači da možete otići na zabavu i pustiti 200 prijatelja da pregledaju vaše nedavne fotografije sa odmora na svojim telefonima, u svoje vreme i tempom.

Kasnije, kako su različiti predlozi i obrasci korišćenja dolazili od prijatelja i nasumičnih internet stranaca, počeo sam da dodajem sve više i više funkcija. Sada je sposoban da sinhronizuje čitava stabla direktorijuma, transkodira medijske datoteke, otvara datoteke sa izvornim aplikacijama operativnog sistema i automatski sinhronizuje datoteke na vašim uređajima.

Međutim, budući da je aplikacija za konzolu, uvek je postojao jedan veliki problem koji je sprečavao da bude univerzalno rešenje za sve vaše uređaje:

Konzolne aplikacije ne mogu da se pokreću na iOS-u, što znači da ne možete da pokrenete Pafera File Server na iPhone ili iPad uređajima...

Do sada.

Nova aplikacija za deljenje datoteka Flutter

Imao sam malo slobodnog vremena tokom božićnog raspusta dok je Crna Gora slavila praznike, pa sam eksperimentisao sa pisanjem prateće aplikacije za više platformi u Flutter/Dart-u koja bi vam omogućila da lako pretražujete servere sa svog telefona. Na taj način, moji prijatelji manje skloni tehnologiji mogli bi samo da pritisnu dva dugmeta i povežu se na moje servere.

Usput sam shvatio da zapravo možete koristiti Dart za pokretanje sopstvenog veb servera na iOS uređajima, i pomislio sam...

Hej! Zašto ne bih umesto toga implementirao fajl server u Dart!

Dakle, dve nedelje kasnije, aplikacija je ovde.

Pafera File Server radi na iPhone-u

Sada su performanse užasno spore u poređenju sa Rust verzijom. Rust server može da posluži oko 40.000 zahteva u sekundi...

Dok verzija Dart može poslužiti samo oko 400....

Ali važno je da radi...

i instalira se na iPhone!

Korišćenje aplikacije

Zbog greške u PDFk biblioteci sa nedavnim verzijama Flutter-a, morao sam da prestanem da koristim lepe ikone za sva dugmad pošto su se prikazivale kao ružne crne linije.

Međutim, osnovna operacija ostaje ista.

Osnovna operacija

Kada se svi povežu na istu ViFi mrežu ili pristupnu tačku vašeg telefona, samo kliknite na ikonu aplikacije, izaberite fasciklu koju želite da delite i dodirnite &kuot;Pokreni server&kuot;.

Zatim kliknite na dugme KR kod, pustite prijateljima da ga skeniraju, a zatim mogu sa zadovoljstvom da pretražuju vašu fasciklu na svojim telefonima, čak i da strimuju filmove sa vašeg telefona direktno na svoje telefone.

Ako vaš prijatelj koristi laptop ili desktop računar, ni to nije problem. Samo unesite URL prikazan iznad KR koda na njihovom uređaju i oni mogu da urade potpuno istu stvar.

Ako ne koristite iOS ili Android, ni to nije problem. Flutter aplikacije rade na OSKS-u, Vindovs-u i Linuk-u sasvim dobro, tako da ćete dobiti istu funkcionalnost, pa čak i više ako instalirate rsinc, FFMpeg i ImageMagick na svoj sistem da bi aplikacija koristila.

Napredne funkcije

Postoji dosta naprednih funkcija osim jednostavnog deljenja datoteka, tako da ću ovde dati kratak pregled.

Ime hosta je ono što se prikazuje drugim uređajima kada kliknu na &kuot;Traži druge servere&kuot;. Možete ga koristiti da brzo razlikujete jedan uređaj od drugog ako delite nekoliko uređaja istovremeno.

Folder je fascikla sistema datoteka koju zapravo delite. Možete da kliknete na &kuot;Koristi fasciklu dokumenata&kuot; za podrazumevanu vrednost u Dokumenti/deljeno, ili možete da kliknete na &kuot;Odaberi fasciklu&kuot; da izaberete drugu fasciklu. Možda ćete takođe morati da kliknete na &kuot;Koristi fasciklu dokumenata&kuot; ako iOS ne osveži pravilno podešavanja aplikacije kada se vraća iz stanja spavanja.

Korišćenje trenutne IP adrese automatski otkriva trenutni ViFi IP vašeg uređaja. Kao i kod &kuot;Koristi fasciklu dokumenata,&kuot; koristite ga ako iOS ne osveži aplikaciju kako treba i još uvek koristi IP sa prethodne ViFi mreže.

&kuot;Deli na svim interfejsima&kuot; postavlja javni IP na 0.0.0.0, što znači da svima na bilo čemu sa čim ste povezani moći će da vidi vaš server. Praktično na stonim računarima sa više od jedne veze, ali budite oprezni kada ga koristite na javnim mestima.

&kuot;Započni deljenje&kuot; će pokrenuti server i otvoriti početnu stranicu kojom možete upravljati. Ponovnim klikom zaustaviće se server i sačuvati vaše datoteke.

&kuot;Učitaj poslednja podešavanja&kuot; i &kuot;Sačuvaj trenutna podešavanja&kuot; rade tačno ono što kažu. Vaša podešavanja će biti sačuvana u Documents/paferafileserver.cfg baš kao i verzija Rust konzole.

Napredne opcije

Različite opcije lozinke su tu da različitim ljudima daju različite nivoe pristupa.

Obično svako može da vidi vaše datoteke samo povezivanjem na vaš server, ali ako označite &kuot;Omogući privatne datoteke&kuot; ispod njih, niko neće moći da vidi vaše datoteke bez pročitane lozinke.

Lozinka za pisanje se koristi za otpremanje, premeštanje, kopiranje ili brisanje datoteka. Bez ovoga, niko drugi ne može učiniti ništa vašem sistemu osim pregleda vaših datoteka.

Shell lozinka je beskorisna u mobilnoj aplikaciji, ali je veoma korisna na desktop operativnim sistemima i Termuk-u na Android-u. Omogućava vam da pokrenete proizvoljne sistemske komande, što ga čini veoma moćnim i veoma opasnim u isto vreme. Ova funkcija je podrazumevano onemogućena i oboje morate da unesete lozinku za ljusku i označite &kuot;Omogući komande ljuske&kuot; ispod da ga koristite.

Različite opcije omogućavanja i onemogućavanja vam omogućavaju da izaberete šta drugi ljudi mogu da urade vašem sistemu čak i kada već imaju pravu lozinku. One zamenjuju sve druge opcije, tako da ako onemogućite kopiranje datoteka, niko - čak ni vi sami - neće moći da kopira datoteke.

Posebna opcija &kuot;Onemogući SSH proveru ključa&kuot; je za ljude poput mene koji stalno lutaju dok sinhronizuju datoteke napred-nazad između različitih uređaja. Obično će SSH tražiti potvrdu kada se povezuje sa sistemom čija je IP adresa promenjena, čak i ako je identitet tog sistema već poznat. Ova opcija će vam omogućiti da automatski sinhronizujete datoteke na različitim mrežama bez padanja u konzolu da biste potvrdili SSH veze. Koristite ga pažljivo kada ste na mrežama koje sami ne kontrolišete.

Onemogućene funkcije na mobilnom uređaju

Za razliku od pokretanja u Termuk-u ili desktop okruženju, aplikacije za iOS i Android nemaju pristup ljusci, rsinc-u, ImageMagick-u ili FFMpeg-u, tako da su sve napredne funkcije sinhronizacije i transkodiranja onemogućene.

Pošto mobilni operativni sistemi mogu da ubiju pozadinske aplikacije u bilo kom trenutku, vremenski automatski zadaci su takođe onemogućeni.

Postoje moguća rešenja za sve ove aspekte, ali vreme koje je potrebno za integraciju ovih funkcija u ovom trenutku prevazilazi moje namere. Ako je neko zainteresovan da mi plati da ih dodam, videćemo šta će se desiti. 😁

Preuzimanja i izvorni kod

Kao i kod svih mojih projekata, izvorni kod se nalazi na Codebergu i može biti nalazi ovde .

Za unapred kompajlirane binarne datoteke, možete pregledajte direktorijum izdanja ovde ...

Ili jednostavno kliknite na linkove ispod:

Zbog Appleovih zahteva za potpisivanje, korisnici iOS-a i OSKS-a moraju da sačekaju da aplikacija bude dostupna u App Store-u ili da preuzmu izvorni kod i kompajliraju sopstvenu verziju za svoje uređaje.

Prijavite se da budete beta tester

Pošto je ovo novo izdanje, siguran sam da će biti dosta grešaka i čudnog ponašanja na različitim sistemima. Ako želite da testirate ovu aplikaciju u beta verziji za mene, pošaljite mi e-poštu sa verzijom vašeg uređaja i operativnog sistema i ja ću vam obezbediti podešavanje na TestFlight-u.

Distribucija Flutter aplikacije je zapravo mnogo komplikovanija od verzije Rust, gde samo otpremim jednu izvršnu datoteku i završim sa čitavom stvari, pa vas molim da imate razumevanja kada će Appleu trebati tri nedelje da proveri moju aplikaciju i dozvoli je u iOS App Store. Stvari bi trebalo da budu mnogo lakše kada se od Apple-a zahteva da dozvoli aplikacije trećih strana prema presudi EU.

Kao i uvek, nadam se da će vam ova aplikacija biti korisna, a ako želite da je prilagodite za svoje potrebe, uvek sam dostupan kao tehnički konsultant. Zabavite se!

O autoru

Jim se bavi programiranjem otkako je vratio IBM PS/2 tokom 90-ih. Do danas, on i dalje preferira pisanje HTML-a i SKL-a ručno, i fokusira se na efikasnost i korektnost u svom radu.