Compartir fitxers amb un amic ha de ser tan difícil?

Us presentem Pafera File Server, el petit servidor d'Android que es va convertir en un gestor de fitxers complet, un visualitzador de diapositives i un servidor multimèdia.
2023-04-17 22:41:37
👁️ 840
💬 0

Continguts

  1. Introducció
  2. Els Candidats
  3. La Solució
  4. Així que com funciona això?
  5. Instal·lant el servidor
  6. Navegant per arxius
  7. El Menú del Sistema
  8. El Menú d'Arxiu
  9. Ús de la Presentació
  10. Configuració
  11. Plans futurs

Introducció

Wow! Això és realment genial. Pots compartir-ho amb mi?

Sent un noi de tecnologia que constantment té nous gadgets i aplicacions, no puc recordar quantes vegades algunes variants de la frase anterior m'han estat dites a festes, reunions, o fins i tot esperant el metro.

Tanmateix, evidentment puc recordar quantes vegades hem acabat amb l'intercanvi següent:

Jo Clar! Què utilitzes?
Amic Bé, tinc l'aplicació A.
Jo Hmm... No la tinc. Tens l'aplicació B?
Amic No, tampoc la tinc. Tens el mètode C?
Jo D'acord. Provem això. Hmm... no s'està connectant. Què tal si utilitzem el mètode D?
Amic Això tampoc funciona.

Compartir un arxiu ha estat una tasca comuna des que els ordinadors van aparèixer en l'era fosca. Primer, programadors entusiastes miraven contentament les impressores dels altres, després va passar a copiar targetes perforades. Després, els disks magnètics es van convertir en la nova tendència, i després la tecnologia es va moure cap a disks òptics, unitats USB i transferències sense fils.

Tanmateix, sembla que encara estem en una etapa on, després de 70 anys, no podem compartir fàcilment vídeos de shiba adorables sense haver de fer esforços, descarregar aplicacions estranyes o recórrer a transferències sense fils lentes.

Què tal si provem alguna cosa diferent?

Els Candidats

Però Jim, comparteixo arxius cada dia sense problemes, dius?

Bé, mirem els mètodes comuns que la gent utilitza per transferir arxius.

Mètode Falla
1. AirDrop Pots fer AirDrop a un telèfon Android? D'acord!
2. Compartició Próxima Pots compartir arxius pròximament a un iPhone? Hmm...
3. AirDroid, SHAREit, Resilio Sync, Send Anywhere, etc... Vas a dir a algú a una parada d'autobús que instal·li ràpidament la mateixa aplicació que tu just per poder rebre un arxiu? D'acord!
4. Programa de xat Molts programes de xat limiten quins tipus d'arxius pots enviar, recompressen els teus vídeos HD, i has d'esperar que l'arxiu s'uploadi lentament i després es descargui al dispositiu del teu amic. També ens trobem amb el problema del mètode 3 on has de tenir el mateix programa de xat instal·lat per poder transferir arxius.
5. Bluetooth Fins i tot amb Bluetooth 5, transferir un vídeo HD de 700MiB és com mirar com s'asseca la pintura en el clima humit de Florida.
6. Correu electrònic La majoria dels serveis de correu electrònic limiten la mida dels adjunts, i és fins i tot més lent que transferir a través de programes de xat. Tanmateix, sempre he trobat les històries d'usuaris d'iPhone enviant-se arxius per correu només per poder imprimir un document força divertides. ;)
7. DropBox, OneDrive, etc... Troba els mateixos problemes d'upload/download que els mètodes 3 i 4.
8. Unitats Flash USB De fet, és força viable i ràpid, però has de recordar portar-ne una i també tenir l'adaptador correcte per interficiar amb el dispositiu del teu amic. Jo mateix en porto una a la butxaca en tot moment, però és una mica aleatori si el dispositiu de la persona amb qui comparteixes suportarà la teva unitat.
9. Demana al teu amic que faci una foto/video de la pantalla del teu telèfon amb la seva càmera del telèfon! 100% taxa de successos en la transferència de dades de mala qualitat!
Què passa quan compartir no funciona?

Les coses no semblen gaire bé per nosaltres en aquest moment, oi?

La Solució

Així que en resum, per ser una solució eficaç i universal, necessitem alguna cosa que

  1. Es pugui utilitzar en tots els dispositius
  2. Suporti transferències WiFi directes sense pujar a un servidor i tornar
  3. No recompressi el nostre vídeo 4K a 480p.
  4. Funcioni on fins i tot no podem aconseguir senyal de telèfon

Ara, si només hi hagués alguna cosa que vingués preinstal·lada en tots els dispositius, estigués dissenyada per accedir a altres ordinadors amb un protocol acceptat comunament i tingués la capacitat de pujar/descarregar fitxers...

Alguna cosa...

com...

un...

navegador web!

Windows CE suport HTML 5? Genial!

Com Funciona Això?

Com funciona un navegador web per transferir fitxers?

Hi ha tres passos bàsics.

  1. Fer que ambdós dispositius es connectin a la mateixa xarxa/hotspot sense fils
  2. Deixa que el teu amic escrigui l'adreça del teu dispositiu al seu navegador
  3. Navega, visualitza, descarrega i puja tant com vulguis
Fins i tot el 2023, usar el hotspot del teu telèfon segueix sent la manera més ràpida de transferir fitxers, especialment si estàs fent senderisme a la muntanya!

Els avantatges d'aquesta aproximació són

  1. Funciona en qualsevol dispositiu que tingui un navegador web (és a dir, pràcticament tot avui dia)
  2. No has de fer clic en cada fitxer individualment, prémer enviar i esperar que el teu amic accepti. El teu amic pot mirar el que vol i descarregar fitxers per si mateix.
  3. Pots tenir un grup de persones navegant al mateix temps en lloc d'un a un.

Per descomptat, aquest servidor no funcionarà en iPhones i iPads, perquè no només Apple restringeix l'accés al sistema de fitxers en dispositius iOS, sinó que no pots executar programes de Linux llevat que estiguis arrelat amb Cydia.

Afortunadament, només necessites *un* dispositiu per executar el servidor, de manera que els teus amics d'Apple encara poden conectar-se al teu telèfon Android sense cap problema i continuar descarregant i pujant fitxers. A més, ja estan acostumats a no poder utilitzar altres sistemes ja que AirDrop només funciona per a dispositius Apple. ;)

Instal·lant el Servidor

Per velocitat i eficiència, el Servidor de Fitxers Pafera és una aplicació de Linux/Windows escrita en Rust, així que, malauradament, no la pots només descarregar de l'app store. Podria fer una versió de l'app store en Kotlin més tard si algú està disposat a pagar-me per això, però a menys que siguis Jerry Maguire, hauràs de conformar-te amb la versió en Rust per ara.

Afortunadament, molts programadors de codi obert molt més intel·ligents que jo s'han unit per crear aplicacions que et permeten executar programes de Linux al teu telèfon Android amb nivells de èxit variables.

Per tant, tot el que has de fer és instal·lar Termux al teu telèfon, copiar i enganxar dos comandaments, i prémer Enter unes quantes vegades. No és una instal·lació de un clic, però tampoc no és SpaceX construint StarShip, i guanyaràs accés a un altre ecosistema sencer de programes interessants amb els quals jugar.

Això és el teu cervell amb drogues... err... telèfon en Termux.

La instal·lació és, per tant, la següent:

  1. Descarrega l'aplicació Termux des de F-Droid o des de Codeberg
  2. Inicia l'aplicació
  3. Copia i enganxa el següent al terminal i prem enter.

    curl -O https://pafera.com/installfileserver.sh
    
  4. Copia i enganxa un comandament més al terminal i prem enter.

    bash installfileserver.sh
    
  5. Prem Enter al teu teclat per a qualsevol avís que aparegui durant el procés de millora del paquet.
  6. Fes que el teu amic escrigui la URL mostrada a la pantalla.

    Trobar la URL entre la visualització

Ara, un cop hagis instal·lat el servidor, pots sortir en qualsevol moment simplement tancant la sessió de Termux.

I si vols tornar a iniciar el servidor amb una contrasenya que permeti canvis, llavors escriu

./paferafileserver password=yourpasswordhere

a Termux, o simplement prem la fletxa amunt per triar els teus comandaments escrits anteriorment.

No és tan fàcil com simplement baixar les teves notificacions i tocar "NearBy Share," però també no executaràs accidentalment el servidor, i obtindràs molta més funcionalitat pel teu esforç.

Si casualment ets un programador de Rust, llavors la instal·lació és molt més fàcil per a tu.

Tot el que has de fer és escriure

cargo install paferafileserver

Espera que el càrrec faci la seva feina, i voilà! Ho has aconseguit!

Si vols executar Pafera File Server a Windows o Linux, hi ha binaris precompilats disponibles més avall a 7-Zip arxius.

  1. Linux (amd64)
  2. Termux a Android 7+
  3. Linux (armv7h per Debian a Userland - Android 5 i 6)
  4. Windows exe autònom
  5. Windows complet (incloent FFMpeg i ImageMagick)

Navegant Fitxers

Un cop el teu amic aconsegueix escriure la URL del teu servidor al seu navegador, el seu mòbil hauria de semblar-se a això.

Pafera File Server Homepage

Si no veus cap fitxer, assegura't que el teu amic ha habilitat JavaScript, ja que utilitzem scripts per ordenar i mostrar fitxers.

Com a primeres nocions, començant des de la part superior esquerra hi ha el botó del menú del sistema, el botó de fitxers recents i el botó del directori d'inici.

Fent clic en fitxers

Fent clic a qualsevol miniatura d'imatge començarà un passi de diapositives, mentre que fent clic al nom del fitxer es descarregarà el fitxer.

Fent clic al botó del menú per a un fitxer s'obrirà el menú d'accions per a aquell fitxer, mentre que fent clic al quadrat al seu sota seleccionarà el fitxer.

Per seleccionar ràpidament un rang de fitxers, fes clic al botó de seleccionar per al primer fitxer, després fes clic al botó del menú per al darrer fitxer i tria "Seleccionar fins aquí".

El Menú del Sistema

El Popup del Menú del Sistema

Cerca i Cerca Profunda (Tecles d'accés t i f) et permeten escriure unes quantes lletres i veure tots els fitxers que contenen aquestes lletres.

La diferència és que la cerca normal només mira els fitxers a la carpeta actual mentre que la cerca profunda busca en totes les carpetes dins d'aquesta carpeta també.

Passi de Diapositives i Passeig de Diapositives Profund (Tecles d'accés z i x) segueixen la mateixa lògica. Escull la que vulguis segons si vols incloure imatges a totes les carpetes dins d'aquesta carpeta o no.

Alternar Vista (Tecla d'accés v) canvia de la vista de detalls normal a una vista d'icones de totes les imatges i vídeos dins d'aquesta carpeta.

Ordenar (Tecla d'accés s) et permet escollir com es fan les ordenacions dels fitxers. Pots elegir entre utilitzar el nom del fitxer, la mida, la data, i la diferència d'hora per ordenar els fitxers. Personalment, prefereixo la vista de diferència d'hora, ja que "Fa cinc minuts" és molt més útil per a mi que "14:55".

La vista de Fitxers Recents (Tecla d'accés e) et mostrarà els 512 fitxers que més recentment han canviat dins de la carpeta actual i totes les carpetes dins d'aquesta. Tingues cura d'utilitzar aquesta vista per a la teva carpeta d'inici, ja que pot trigar un temps a revisar tots els fitxers si tens centenars de milers de fitxers petits per inspeccionar.

Establir Contrasenya (Tecla d'accés w) permetrà al teu amic escriure la contrasenya per modificar, pujar i esborrar fitxers. Sense aquesta contrasenya, ningú pot canviar res al teu mòbil, així que mantingues-la segura. La pots establir tant des de la línia de comandes escrivint password=yaddayaddayadda o en paferafileserver.cfg utilitzant el format

{
  "password":"yaddayaddayadda"
}

Nova Carpeta (Tecla d'accés o) et demanarà el nom de la nova carpeta a crear dins de la carpeta actual.

Mostrar Fitxers Ocults (Tecla d'accés i) alternarà la visualització de fitxers i carpetes que comencen amb punts, que és el que Unix utilitza per indicar que aquests fitxers no haurien de ser visibles normalment per a l'usuari.

Activar Descarrega Amb Un Clic (Tecla d'accés k) et permetrà descarregar instantàniament un fitxer simplement fent-hi clic en lloc de mostrar-lo al teu navegador.

Mostrar Tecles d'Accés (Tecla d'accés h) et mostrarà quines tecles es poden utilitzar tant en la vista de carpetes com en la vista de passi de diapositives.

Augmentar Zoom (Tecla d'accés .) i Reduir Zoom (Tecla d'accés ,) canvien la mida de tot al pantalla. Utilitza aquestes per personalitzar la teva pàgina si les mides per defecte del teu sistema no et satisfan.

El Menú de Fitxer

El Popup del Menú de Fitxer

Seleccionar fins aquí et permet seleccionar tots els fitxers entre aquells que has seleccionat anteriorment i aquesta vegada. És força útil com a substitut per evitar reemplaçar el menú del clic dret per copiar enllaços tant a l'escriptori com a mòbil.

Seleccionar Tot (Tecla d'accés a) i Seleccionar Cap (Tecla d'accés n) són autoexplicatius. Només tingues cura quan els utilitzis per esborrar tots els fitxers que realment vols esborrar tots els fitxers.

Enviar (Tecla d'accés g) obrirà una finestra d'escanneig on podràs veure tots els altres dispositius que executen Pafera File Server a la teva xarxa.

Enviant fitxers a un altre servidor

Tingues en compte que tots els dispositius han d'estar a la mateixa subnet i funcionant al mateix port, així que si estàs a 192.168.0.100 i el dispositiu al qual estàs intentant enviar-ho és a 192.168.1.100, llavors l'escanneig no detectarà l'altre dispositiu. Clarament, sempre pots iniciar sessió al servidor d'aquest dispositiu i pujar fitxers utilitzant el teu navegador en canvi.

Per simplicitat, tots els fitxers que enviïs a un altre dispositiu es recopilen en una carpeta anomenada "Reunits" sota l'arrel del servidor. Potser canviaré això més endavant, però per ara, és útil que tots els fitxers nous apareguin a la mateixa carpeta on pots moure'ls a llocs apropiats més tard.

El nou fitxer a la carpeta Reunits

Descarregar (Tecla d'accés l), Canviar Nom (Tecla d'accés r), Moure (Tecla d'accés m), Copiar (Tecla d'accés c), Esborrar (Tecla d'accés d), i Esborrar Permanentment (p) tots poden treballar en múltiples fitxers al mateix temps excepte per la descarrega en navegadors mòbils on només pots descarregar un fitxer a la vegada. Només tingues cura, perquè Esborrar Permanentment realment significa Permanent Esborrar. Sempre emmagatzema una còpia dels teus fitxers importants en un altre dispositiu abans de tocar el botó d'esborrar.

Restaurar (Tecla d'accés u) s'utilitza només per a fitxers que han estat esborrats una vegada i per tant tenen l'extensió ".deleted". No pot restaurar fitxers esborrats permanentment. Aquells no estan morint. Han passat. Aquells fitxers ja no existeixen. Són fitxers ex.

Utilitzant el Passi de Diapositives

La interfície de la presentació. Tot el que hi ha a la part inferior és clicable.

Entre les característiques més destacades que la gent sempre demana en un navegador de fitxers hi ha una bona presentació. Quan portes 6,000 imatges del teu fill al telèfon per presumir davant desconeguts, no és difícil entendre per què. ;) La majoria dels clients SMB no tenen previsualitzacions d'imatges ni presentacions, així que intentar trobar una certa imatge amb l'aplicació Fitxers de l'iPhone és força frustrant d'utilitzar.

La funció de Presentació a Pafera File Server es pot activar de diverses maneres:

  1. Fes clic a la miniatura d'una imatge.
  2. Selecciona "Presentació" del menú del sistema.
  3. Selecciona "Presentació profunda" del menú del sistema.
  4. Fes una cerca o cerca profunda per escollir els fitxers que vols mostrar, i llavors fes clic a la miniatura de la primera imatge.

Independentment de com comencis la presentació, hi haurà un botó de suprimir a la part superior amb el nom de la imatge actual, i una barra d'eines a la part inferior que contindrà funcions d'aleatorització, rotació, sortida, avançar i retrocedir.

Si vols anar a un cert número d'imatge, només cal que facis clic en la posició de la imatge a la barra d'eines, escriguis el número que vulguis i vagis des d'allà.

Escollir un número per anar

La presentació suporta gestos de lliscament, que són en realitat el meu mètode preferit per navegar al telèfon. Només has de lliscar lleugerament el dit polze cap a l'esquerra per anar a la imatge anterior, a la dreta per anar a la imatge següent, amunt per suprimir la imatge actual, o avall per sortir de la presentació.

Si estàs en un portàtil o tens un teclat bluetooth connectat al teu telèfon, utilitzar la presentació esdevé encara més fàcil.

Fletxa esquerra Imatge anterior
Fletxa dreta Imatge següent
Fletxa amunt Suprimir imatge
Fletxa avall/Escape Sortir de la presentació
r Imatge aleatòria
g Anar a número d'imatge
q Rotar 90 graus en sentit antihorari
e Rotar 90 graus en sentit horari

Configuració

Pafera File Server es pot configurar des d'un fitxer JSON anomenat paferafileserver.cfg a la mateixa carpeta, o des d'arguments de línia de comandes en la forma clau=valor. Si s'especifica ambdues coses, els arguments de línia de comandes substituiran les configuracions del fitxer.

Una comanda de línia comuna és

paferafileserver [hostname=localhost] [serverroot=/home/jim] [password=password] [ip=0.0.0.0] [port=9999]

Així, si volguessis servir el directori de Fotos de Jim a tots els visitants al port 5000, faries servir

paferafileserver serverroot=/home/jim/Pictures port=5000

Si no especifiques serverroot, es configurarà pel teu directori personal.

Si no especifiques ip i port, es configurarà per defecte a 0.0.0.0:9999.

A més, les següents opcions es poden escriure a la línia de comandes per desactivar determinades funcionalitats encara que l'usuari tingui la contrasenya correcta.

disabledelete
disablerename
disablemove
disablecopy
disablenewfolder
disabledelete
disablepermanentdelete
disablesend
disableupload

Tots els arguments de línia de comandes també es poden especificar en un fitxer JSON anomenat paferafileserver.cfg a la carpeta actual com ara

{
  "hostname":               "JimsLaptop",
  "password":               "SecretPassword12345",
  "disabledelete":          1,
  "disablepermanentdelete": 1
}

Pots elegir qualsevol mètode que millor et funcioni.

Per a Windows, sovint és més fàcil crear un drecera a l'executable i especificar els teus arguments a la drecera.

Per a Termux a Android, la manera més senzilla de llançar l'executable és instal·lar l'aplicació Termux Widget des de F-Droid i configurar la teva línia de comandes dins del guió del widget.

Plans futurs

No s'han planejat altres canvis en aquest moment ja que aquest va ser només un projecte introductori divertit per jugar amb Rust, però si algú més volgués

  1. Escriure versions en Kotlin/Swift per llançar a les botigues d'aplicacions
  2. Traduir aquesta aplicació a múltiples idiomes
  3. Crear diversos temes CSS
  4. Implementar un algorisme similar a rsync per a còpies de seguretat i restauració
  5. O qualsevol altra cosa que puguis pensar

Donaria la benvinguda a qualsevol addició a aquest projecte senzill.

Com sempre, espero que us sigui útil aquesta aplicació, i si voleu personalitzar-la per als vostres propòsits, sempre estic disponible com a consultant tècnic. Gaudiu!

Sobre l'autor

Jim ha estat programant des que va recuperar un IBM PS/2 durant els anys 90. A dia d'avui, encara prefereix escriure HTML i SQL a mà, i se centra en l'eficiència i la correcció en el seu treball.