Den nye måten å enkelt dele filer fra en iPhone

Pafera-filserveren er nå tilgjengelig på iOS!
2024-01-20 16:39:38
👁️ 1027
💬 0

Vil du ha en rask introduksjon? Bare se videoen over!

Innhold

  1. Introduksjon
  2. Den nye Flutter File Share-appen
  3. Bruke appen
  4. Avanserte funksjoner
  5. Deaktiverte funksjoner på mobilen
  6. Nedlastinger og kildekode
  7. Søk om å bli betatester

Innledning

Pafera File Server kjører i Android Termux

I fjor lanserte jeg et verktøy kalt Pafera filserver . Det er en konsollapp skrevet i Rust som kjører en nettbasert filbehandler for enhetene dine, slik at du enkelt kan dele filer med alt som har en nettleser, med en praktisk lysbildefremvisningsfunksjon for å vise frem bildene og shiba-ikonene dine. Det betyr at du kan dra på fest og la 200 venner se på feriebildene dine på sine egne telefoner, i sitt eget tempo.

Senere, etter hvert som jeg fikk ulike forslag og bruksmønstre fra venner og tilfeldige internettfremmede, begynte jeg å legge til flere og flere funksjoner. Nå kan den rsynce hele katalogtrær, transkode mediefiler, åpne filer med innebygde operativsystemapper og automatisk synkronisere filer på tvers av enhetene dine.

Men siden det er en konsollapp, var det alltid et stort problem som hindret den i å være en universell løsning for alle enhetene dine:

Konsollapper kan ikke kjøres på iOS, noe som betyr at du ikke kan kjøre Pafera File Server på iPhones eller iPads...

Inntil nå.

Den nye Flutter File Share-appen

Jeg hadde litt tid til overs i juleferien mens Montenegro feiret høytid, så jeg eksperimenterte med å skrive en app i Flutter/Dart for flere plattformer, slik at du enkelt kunne bla gjennom servere fra telefonen. På den måten kunne mine mindre teknisk interesserte venner bare trykke på to knapper og koble seg til serverne mine.

Underveis fant jeg ut at man faktisk kan bruke Dart til å kjøre sin egen webserver på iOS-enheter, og jeg tenkte ...

Hei! Hvorfor implementerer jeg ikke bare filserveren i Dart i stedet!

Så to uker senere er appen her.

Pafera File Server kjører på iPhone

Nå er ytelsen fryktelig treg sammenlignet med Rust-versjonen. Rust-serveren kan betjene rundt 40 000 forespørsler i sekundet...

Mens Dart-versjonen bare kan servere rundt 400 ....

Men det viktigste er at det fungerer...

og det installeres på iPhones!

Bruke appen

På grunn av en feil i PDFx-biblioteket med nyere versjoner av Flutter, har jeg måttet slutte å bruke pene ikoner for alle knappene, siden de ble vist som stygge, svarte linjer.

Den grunnleggende operasjonen forblir imidlertid den samme.

Grunnleggende drift

Når alle er koblet til det samme WiFi-nettverket eller telefonens hotspot, klikker du bare på appikonet, velger mappen du vil dele, og trykker på "Start server".

Klikk deretter på QR-koden, la vennene dine skanne den, og så kan de med glede bla gjennom mappen din på telefonene sine, og til og med strømme filmer fra telefonen din direkte til telefonene sine.

Hvis vennen din bruker en bærbar eller stasjonær datamaskin, er det heller ikke noe problem. Bare skriv inn URL-en som vises over QR-koden på enheten deres, så kan de gjøre nøyaktig det samme.

Hvis du ikke kjører på iOS eller Android, er det heller ikke noe problem. Flutter-apper fungerer fint på OSX, Windows og Linux, så du vil få den samme funksjonaliteten, og enda mer hvis du installerer rsync, FFMpeg og ImageMagick på systemet ditt slik at appen kan bruke dem.

Avanserte funksjoner

Det finnes en rekke avanserte funksjoner i tillegg til enkel fildeling, så jeg skal gi en rask oversikt her.

Vertsnavnet er det som vises for andre enheter når de klikker på "Søk etter andre servere". Du kan bruke det til å raskt skille en enhet fra en annen hvis du deler et par enheter samtidig.

Mappe er den mappen i filsystemet som du faktisk deler. Du kan klikke på "Bruk dokumentmappe" for å velge standardmappen i Dokumenter/delt, eller du kan klikke på "Velg mappe" for å velge en annen mappe. Det kan også hende du må klikke på "Bruk dokumentmappe" hvis iOS ikke oppdaterer appens innstillinger når du gjenopptar den fra dvale.

Bruk nåværende IP oppdager automatisk enhetens nåværende WiFi-IP. Som med "Bruk dokumentmappe", bruk den hvis iOS ikke oppdaterer appen ordentlig og den fremdeles bruker en IP fra et tidligere WiFi-nettverk.

Del på alle grensesnitt" setter den offentlige IP-en til 0.0.0.0.0, noe som betyr at alle på alt du er koblet til, vil kunne se serveren din. Praktisk på datamaskiner med mer enn én tilkobling, men vær forsiktig med å bruke det på offentlige steder.

Start Sharing vil kjøre serveren og åpne hjemmesiden slik at du kan administrere den. Hvis du klikker på den igjen, stoppes serveren og filene dine er trygge.

"Last inn siste innstillinger" og "Lagre gjeldende innstillinger" gjør akkurat det de sier. Innstillingene lagres i Documents/paferafileserver.cfg, akkurat som i Rust-konsollversjonen.

Avanserte alternativer

De ulike passordalternativene er der for å gi ulike personer ulike nivåer av tilgang.

Normalt kan alle se filene dine bare ved å koble seg til serveren din, men hvis du merker av for "Aktiver private filer" under disse, vil ingen kunne se filene dine uten lesepassordet.

Skrivepassordet brukes til å laste opp, flytte, kopiere eller slette filer. Uten dette passordet kan ingen andre gjøre noe med systemet ditt enn å se filene dine.

Skallpassordet er ubrukelig på mobilappen, men er svært nyttig på stasjonære operativsystemer og Termux på Android. Det lar deg kjøre vilkårlige systemkommandoer, noe som gjør det veldig kraftig og veldig farlig på samme tid. Denne funksjonen er deaktivert som standard, og du må både angi et skallpassord og Merk av for "Aktiver skallkommandoer" nedenfor for å bruke den.

De ulike aktiverings- og deaktiveringsalternativene lar deg velge hva andre kan gjøre med systemet ditt. selv når de allerede har det riktige passordet. Disse overstyrer alle andre alternativer, så hvis du deaktiverer kopiering av filer, vil ingen - ikke engang du selv - kunne kopiere filer.

Det spesielle alternativet "Deaktiver SSH-nøkkelkontroll" er for folk som meg, som stadig vandrer rundt mens de synkroniserer filer frem og tilbake mellom forskjellige enheter. Normalt vil SSH be om bekreftelse når du kobler deg til et system som har endret IP-adresse, selv om systemets identitet allerede er kjent. Med dette alternativet kan du automatisk synkronisere filer på forskjellige nettverk uten å gå ned i konsollen for å bekrefte SSH-tilkoblinger. Bruk den med forsiktighet på nettverk som du ikke kontrollerer selv.

Deaktiverte funksjoner på mobilen

I motsetning til å kjøre i Termux eller et skrivebordsmiljø har iOS- og Android-appene ikke tilgang til et skall, rsync, ImageMagick eller FFMpeg, så alle de avanserte synkroniserings- og transkodingsfunksjonene er deaktivert.

Fordi mobiloperativsystemer kan avslutte bakgrunnsapper når som helst, deaktiveres også tidsbestemte automatiske oppgaver.

Det finnes mulige løsninger for alle disse aspektene, men tiden som kreves for å integrere disse funksjonene er utenfor min intensjon for øyeblikket. Hvis noen er interessert i å betale meg for å legge dem til, så får vi se hva som skjer. 😁

Nedlastinger og kildekode

Som med alle prosjektene mine, ligger kildekoden på Codeberg og kan hentes fra funnet her .

For forhåndskompilerte binærfiler kan du Bla gjennom katalogen over utgivelser her ...

Eller bare klikk på lenkene nedenfor:

På grunn av Apples krav til signering må iOS- og OSX-brukere vente på at appen blir tilgjengelig i App Store, eller laste ned kildekoden og kompilere din egen versjon for enhetene dine.

Søk om å bli betatester

Siden dette er en ny versjon, er jeg sikker på at det vil være mange feil og merkelig oppførsel på forskjellige systemer. Hvis du ønsker å betateste denne appen for meg, kan du sende meg en e-post med din enhet og operativsystemversjon, så skal jeg få deg satt opp på TestFlight.

Å distribuere en Flutter-app er faktisk mye mer komplisert enn Rust-versjonen, der jeg bare laster opp en enkelt kjørbar fil og er ferdig med det hele, så vær så snill å ha forståelse når det tar tre uker før Apple sjekker appen min og tillater den i iOS App Store. Det burde bli mye enklere når Apple blir pålagt å tillate tredjepartsapper i henhold til EU-dommen.

Som alltid håper jeg at dere finner denne appen nyttig, og hvis dere ønsker å tilpasse den til deres egne formål, er jeg alltid tilgjengelig som teknisk konsulent. Ha det gøy!

Om forfatteren

Jim har programmert siden han fikk en IBM PS/2 på 90-tallet. Den dag i dag foretrekker han fortsatt å skrive HTML og SQL for hånd, og fokuserer på effektivitet og korrekthet i arbeidet sitt.