La nueva forma de compartir archivos fácilmente desde un iPhone

¡El servidor de archivos Pafera ahora está disponible en iOS!
2024-01-20 16:39:38
👁️ 1026
💬 0

¿Quieres una introducción rápida? ¡Mira el vídeo de arriba!

Contenido

  1. Introducción
  2. La nueva aplicación para compartir archivos de Flutter
  3. Usando la aplicación
  4. Funciones avanzadas
  5. Funciones deshabilitadas en dispositivos móviles
  6. Descargas y código fuente
  7. Solicitar ser un Beta Tester

Introducción

El servidor de archivos Pafera funcionando en Android Termux

El año pasado, lancé una utilidad llamada Servidor de archivos Pafera Es una aplicación de consola escrita en Rust que ejecuta un administrador de archivos basado en la web para sus dispositivos, lo que permite compartir archivos fácilmente con cualquier dispositivo que tenga un navegador web con una práctica función de presentación de diapositivas para mostrar sus fotos e íconos de shiba. Esto significa que puede ir a una fiesta y dejar que 200 amigos vean sus fotos de vacaciones recientes en sus propios teléfonos, a su propio ritmo y en su propio tiempo.

Más tarde, a medida que recibía sugerencias y patrones de uso de amigos y desconocidos de Internet, comencé a agregar más y más funciones. Ahora es capaz de sincronizar árboles de directorios completos, transcodificar archivos multimedia, abrir archivos con aplicaciones nativas del sistema operativo y sincronizar archivos automáticamente en todos tus dispositivos.

Sin embargo, al ser una aplicación de consola, siempre hubo un gran problema que impidió que fuera una solución universal para todos sus dispositivos:

Las aplicaciones de consola no pueden ejecutarse en iOS, lo que significa que no podrás ejecutar el servidor de archivos Pafera en iPhones ni iPads...

Hasta ahora.

La nueva aplicación para compartir archivos de Flutter

Tuve algo de tiempo libre durante las vacaciones de Navidad, ya que Montenegro estaba celebrando las fiestas, así que experimenté con la creación de una aplicación complementaria multiplataforma en Flutter/Dart que permitiera explorar fácilmente los servidores desde el teléfono. De esa manera, mis amigos menos inclinados a la tecnología podrían simplemente presionar dos botones y conectarse a mis servidores.

En el camino, me di cuenta de que realmente podía usar Dart para ejecutar mi propio servidor web en dispositivos iOS y pensé...

¡Oye! ¿Por qué no implemento el servidor de archivos en Dart?

Así que dos semanas después, la aplicación está aquí.

El servidor de archivos Pafera funcionando en el iPhone

Ahora, el rendimiento es terriblemente lento en comparación con la versión de Rust. El servidor de Rust puede atender alrededor de 40.000 solicitudes por segundo...

Mientras que la versión Dart solo puede servir para unos 400...

Pero lo importante es que funciona...

¡Y se instala en iPhones!

Usando la aplicación

Debido a un error en la biblioteca PDFx con versiones recientes de Flutter, tuve que dejar de usar íconos bonitos para todos los botones, ya que aparecían como feas líneas negras.

Sin embargo, el funcionamiento básico sigue siendo el mismo.

Operación básica

Una vez que todos estén conectados a la misma red WiFi o al punto de acceso de su teléfono, simplemente haga clic en el ícono de la aplicación, elija la carpeta que desea compartir y toque "Iniciar servidor".

Luego haz clic en el botón del código QR, deja que tus amigos lo escaneen y luego podrán explorar felizmente tu carpeta en sus teléfonos, incluso transmitir películas desde tu teléfono directamente a sus teléfonos.

Si tu amigo usa una computadora portátil o de escritorio, tampoco hay problema. Solo tienes que escribir la URL que se muestra sobre el código QR en su dispositivo y él podrá hacer exactamente lo mismo.

Si no utilizas iOS o Android, tampoco hay problema. Las aplicaciones Flutter funcionan bien en OSX, Windows y Linux, por lo que obtendrás la misma funcionalidad e incluso más si instalas rsync, FFMpeg e ImageMagick en tu sistema para que la aplicación los use.

Funciones avanzadas

Hay muchas funciones avanzadas además del simple intercambio de archivos, por lo que aquí daré una descripción general rápida.

El nombre de host es lo que se muestra a otros dispositivos cuando hacen clic en "Buscar otros servidores". Puedes usarlo para distinguir rápidamente un dispositivo de otro si estás compartiendo un par de dispositivos al mismo tiempo.

La carpeta es la carpeta del sistema de archivos que estás compartiendo. Puedes hacer clic en "Usar carpeta de documentos" para ver la carpeta predeterminada en Documentos/compartidos, o puedes hacer clic en "Elegir carpeta" para elegir otra carpeta. También es posible que debas hacer clic en "Usar carpeta de documentos" si iOS no actualiza correctamente la configuración de la aplicación al reanudar la aplicación desde el modo de suspensión.

La opción "Usar la IP actual" detecta automáticamente la IP actual de la red WiFi de tu dispositivo. Al igual que con "Usar carpeta de documentos", úsala si iOS no actualiza la aplicación correctamente y sigue usando una IP de una red WiFi anterior.

"Compartir en todas las interfaces" establece la IP pública en 0.0.0.0, lo que significa que todos Cualquier dispositivo al que estés conectado podrá ver tu servidor. Es útil en computadoras de escritorio con más de una conexión, pero ten cuidado al usarlo en lugares públicos.

"Iniciar uso compartido" ejecutará el servidor y abrirá la página de inicio para que puedas administrarla. Si haces clic nuevamente, se detendrá el servidor y tus archivos se mantendrán seguros.

"Cargar la última configuración" y "Guardar la configuración actual" hacen exactamente lo que dicen. Tu configuración se almacenará en Documents/paferafileserver.cfg al igual que la versión de consola de Rust.

Opciones avanzadas

Las distintas opciones de contraseña existen para brindar a diferentes personas distintos niveles de acceso.

Normalmente, todos pueden ver tus archivos simplemente conectándose a tu servidor, pero si marcas "Habilitar archivos privados" debajo de estos, entonces nadie podrá ver tus archivos sin la contraseña de lectura.

La contraseña de escritura se utiliza para cargar, mover, copiar o eliminar archivos. Sin ella, nadie más puede hacer nada en su sistema, excepto ver sus archivos.

La contraseña de shell no sirve para nada en la aplicación móvil, pero es muy útil en los sistemas operativos de escritorio y en Termux en Android. Te permite ejecutar comandos arbitrarios del sistema, lo que la hace muy poderosa y muy peligrosa al mismo tiempo. Esta función está deshabilitada de forma predeterminada y debes ingresar una contraseña de shell. y Marque "Habilitar comandos de shell" a continuación para usarlo.

Las distintas opciones de habilitación y deshabilitación le permiten elegir lo que otras personas pueden hacer en su sistema. Incluso cuando Ya tienen la contraseña correcta. Estas opciones anulan todas las demás, por lo que si desactiva la copia de archivos, nadie, ni siquiera usted, podrá copiar archivos.

La opción especial "Desactivar comprobación de clave SSH" es para personas como yo que constantemente navegan por el sistema mientras sincronizan archivos entre distintos dispositivos. Normalmente, SSH solicitará confirmación al conectarse a un sistema cuya dirección IP ha cambiado, incluso si la identidad de ese sistema ya se conoce. Esta opción le permitirá sincronizar archivos automáticamente en distintas redes sin tener que bajar a la consola para confirmar las conexiones SSH. Úsela con cuidado cuando se encuentre en redes que no controle usted mismo.

Funciones deshabilitadas en dispositivos móviles

A diferencia de la ejecución en Termux o un entorno de escritorio, las aplicaciones de iOS y Android no tienen acceso a un shell, rsync, ImageMagick o FFMpeg, por lo que todas las funciones avanzadas de sincronización y transcodificación están deshabilitadas.

Debido a que los sistemas operativos móviles pueden eliminar aplicaciones en segundo plano en cualquier momento, las tareas automáticas cronometradas también se desactivan.

Hay posibles soluciones para todos estos aspectos, pero el tiempo necesario para integrar estas funciones está más allá de mi intención en este momento. Si alguien está interesado en pagarme para agregarlas, veremos qué sucede. 😁

Descargas y código fuente

Al igual que con todos mis proyectos, el código fuente está alojado en Codeberg y se puede encontrado aquí .

Para binarios precompilados, puede Explora el directorio de lanzamientos aquí ...

O simplemente haga clic en los enlaces a continuación:

Debido a los requisitos de firma de Apple, los usuarios de iOS y OSX deben esperar a que la aplicación esté disponible en la App Store o descargar el código fuente y compilar su propia versión para sus dispositivos.

Solicitar ser un Beta Tester

Como se trata de una nueva versión, estoy seguro de que habrá muchos errores y comportamientos extraños en varios sistemas. Si desea probar la versión beta de esta aplicación, envíeme un correo electrónico con su dispositivo y la versión del sistema operativo y lo configuraré en TestFlight.

Distribuir una aplicación Flutter es mucho más complicado que la versión Rust, donde solo cargo un único ejecutable y listo, así que tengan comprensión cuando Apple tarda tres semanas en revisar mi aplicación y permitir su ingreso a la App Store de iOS. Las cosas deberían ser mucho más fáciles cuando Apple esté obligada a permitir aplicaciones de terceros según la normativa de la UE.

Como siempre, espero que esta aplicación les resulte útil y, si quieren personalizarla para sus propios fines, siempre estoy disponible como consultor técnico. ¡Diviértanse!

Sobre el Autor

Jim ha estado programando desde que compró un IBM PS/2 en los años 90. Hasta el día de hoy, todavía prefiere escribir HTML y SQL a mano y se concentra en la eficiencia y la corrección en su trabajo.