4 puntos por GN⁺ 2024-03-11 | 1 comentarios | Compartir por WhatsApp
  • LocalSend es útil para quienes quieren una función tipo AirDrop en varias plataformas, ya que permite intercambiar archivos entre dispositivos en la misma red local sin nube ni servidor intermediario
  • Es compatible con Windows, macOS, Linux, Android e iOS, y permite iniciar la transferencia de archivos de proximidad justo después de instalarlo, sin cuenta ni inicio de sesión
  • Los datos transferidos no salen de la red WiFi local y todas las transferencias usan cifrado HTTPS
  • No hay restricciones por tipo de archivo: fotos, videos, documentos, texto y más; la ubicación de guardado predeterminada es la carpeta Downloads del dispositivo, aunque puede cambiarse en la configuración
  • Es un proyecto gratuito y de código abierto con 70k+ estrellas en GitHub, 5M+ descargas y 100+ colaboradores, sin anuncios, rastreadores ni costos ocultos

Compartir archivos basado en red local

  • LocalSend es una herramienta multiplataforma y de código abierto para compartir archivos sin usar la nube
  • Las plataformas compatibles son Windows, macOS, Linux, Android e iOS
  • El flujo de uso es simple
    • Instalar y ejecutar LocalSend en cada dispositivo
    • Elegir fotos, videos, documentos, texto u otros tipos de archivo
    • Tocar un dispositivo cercano para transferirlos por la red local
  • No se necesitan cuentas, inicio de sesión ni servidores
  • Funciona sin conexión a internet y los datos no salen de la red WiFi local
  • Transfiere a la velocidad máxima de la red WiFi y no tiene límite de ancho de banda
  • Todas las transferencias están cifradas con HTTPS
  • Si se necesita seguridad adicional, se puede activar la verificación por PIN
  • Los archivos se guardan de forma predeterminada en la carpeta Downloads del dispositivo, y la ubicación puede cambiarse en la configuración

Estado del proyecto y canales de soporte

  • LocalSend es 100% gratuito y de código abierto, sin anuncios, seguimiento ni costos ocultos
  • Sus métricas públicas son 70k+ estrellas en GitHub, 5M+ descargas y 100+ colaboradores
  • La versión web está disponible en web.localsend.org
  • Comunidad y canales de soporte
    • Discord
    • Reddit
    • Mastodon
    • Debates por idioma en GitHub Discussions: English, Deutsch, Español, Français, Italiano, 简体中文
  • Los errores se pueden reportar en GitHub Issues

1 comentarios

 
GN⁺ 2024-03-11
Opiniones de Hacker News
  • Lo mejor es que se puede usar en la mayoría de las plataformas principales y que la GUI es fácil de usar.
    La app para iOS también es excelente.
    Eso sí, hay algunos bugs a tener en cuenta: en Windows, si LocalSend está ejecutándose con la ventana abierta (¿después de recibir algo?), impide que el sistema entre en suspensión; en Linux pasa lo mismo aunque la ventana no sea visible.
    En Linux, si la ventana de LocalSend queda visible estando inactiva, el gestor de ventanas del escritorio sigue actualizando las áreas dañadas y usa una cantidad anormalmente alta de CPU.
    En Windows, aunque actives la opción “startup minimized” y hagas que se ejecute al inicio, a menudo la ventana aparece igual; y considerando el problema de suspensión, tampoco dan muchas ganas de dejarlo corriendo en segundo plano.

    • Que “si la ventana de LocalSend queda visible estando inactiva, el gestor de ventanas del escritorio usa muchísimo CPU” suena muy propio de Flutter.
    • Lo acabo de instalar y, entre las apps de este tipo, fue la experiencia con menos fricción que he tenido.
      Mi única queja es que el dispositivo receptor tiene que estar despierto y con la app en primer plano para que funcione. Al menos en Android, incluso con la opción de guardado rápido activada, fue así.
      Ojalá Quick Share (antes Nearby Share) también se pudiera usar en Linux. Aunque fuera vía Chrome.
    • ¿Podrías abrir un issue?
    • Este tipo de software multiplataforma no propietario para compartir archivos localmente es realmente genial.
    • Basta con desactivar las animaciones. Con las animaciones activadas, el CPU anda por 4~7~14%, pero al desactivarlas queda alrededor de 0~2~3%.
  • Hace poco hablé con mi hermano sobre teléfonos; él tiene que usar iPhone por trabajo.
    Es bombero forestal federal en EE. UU. y pasó todo el verano pasado trabajando en cuadrillas hotshot; me contó que en zonas remotas sin señal celular ni router Wi‑Fi central, antes de que los miembros del equipo se dispersen se pasan archivos como mapas por AirDrop.
    Es bastante interesante; ¿esta herramienta también podría soportar casos como enviar de Android a iPhone?

    • Sí, se puede.
  • La política de privacidad es excelente: https://localsend.org/#/privacy

    • La frase “La política de privacidad puede actualizarse de vez en cuando, y los cambios entran en vigor en cuanto se publique la nueva política de privacidad en esta página” en realidad parece una cláusula bastante mala.
    • Los términos de servicio (https://localsend.org/#/terms-of-service) no son tan buenos.
      Dicen: “usted declara que tiene 18 años o más, y la compañía no permite el uso del servicio a menores de 18 años”.
      Quería usarlo con mi familia, especialmente con los niños, pero eso se vuelve un obstáculo.
    • Fuera de decir que no recopilan datos personales, no hay información sobre qué se comparte.
  • Es sorprendente que, incluso en 2024, AirDrop siga siendo una gran ventaja del ecosistema Apple.
    Técnicamente es una de las funciones más simples de entre lo posible; la innovación no viene de la tecnología, sino de la alineación de intereses que Apple tiene y sus competidores no.
    Porque los competidores compiten entre ellos y, al mismo tiempo, también contra Apple.

    • Si todos usaran Samsung, todos podrían usar algo como Quick Share. El lock-in no es algo para aplaudir.
    • Si “técnicamente es de lo más simple posible”, ¿por qué no existe ningún “reemplazo de AirDrop” libre y de código abierto que cree sin problemas una red inalámbrica temporal entre dos dispositivos y soporte transferencias P2P realmente rápidas?
    • Un enfoque de lock-in propietario quizá te ponga en la portada de algo como CEO Magazine, si existiera, pero eso no es innovación.
      Después de rechazar durante años las críticas a sus cables propietarios, Apple, tras la obligación impuesta por la UE, describió así el puerto USB-C del iPhone 15:
      “Con el nuevo conector USB-C, puedes cargar tu Mac o iPad con el mismo cable que usas para cargar el iPhone 15. También puedes usar el iPhone 15 para cargar tu Apple Watch o tus AirPods. Dile adiós al enredo de cables.”
      https://www.apple.com/ca/iphone-15/
      Esto se repite porque Apple y Google siguen ampliando la brecha de capacidades entre computadoras y teléfonos. En el lado de los teléfonos, los consumidores tienen muchas menos opciones al usar apps y periféricos de terceros.
    • Saqué un feature phone Samsung de 2011 y me sorprendió descubrir que puede enviar y recibir archivos directamente con una PC por Bluetooth.
  • Para este software recomiendo el video tutorial de Techno Tim.
    Explica casos de uso y hace una demostración en las principales plataformas: https://youtu.be/2ITezMkbAqE?si=-YVJq8iqwFYQ9gMr

  • Cada pocos meses aparece una herramienta nueva de este tipo, pero ninguna de ellas logra uso masivo.

    • Estamos en 2024 y todavía no hay una buena forma general de enviar archivos entre sistemas dentro de la misma LAN. Ni hablar de hacerlo a través de internet.
      Estos puntos ciegos no existen solo porque resolverlos no dé dinero y porque las soluciones abiertas, como siempre, sean difíciles de usar.
      En este caso, hay dinero en no resolverlo. Si hubiera una solución excelente, simple y universal, disminuiría la demanda de grandes y complejos sistemas de almacenamiento en la nube que permiten hacer data mining de todos los archivos o exigen suscripciones.
    • https://wormhole.app/ es bastante bueno.
    • Alguna vez pensé que sería útil enviar todos los parches posibles a estos proyectos para que tuvieran interoperabilidad.
      Probablemente sería algo como implementar el mismo protocolo en tantas apps como sea posible.
      Al final, para que aparezca el efecto de red, tendría que usarse un protocolo común lo bastante extendido como para que la mayoría de las apps puedan comunicarse entre sí.
      Claro que no sé si realmente tengo el tiempo o la capacidad para meterme tan a fondo.
    • No sé qué significa “masivo”. Yo uso https://www.sharedrop.io/ todo el tiempo, aunque soy el único que lo usa.
  • Uso con satisfacción otro proyecto open source llamado LANDrop.
    Lo que me preocupa de LocalSend es que la velocidad de transferencia es baja. Por alguna razón es más lento que LANDrop, y mucho más lento que SMB o Croc.
    La detección también tiene un problema muy raro. Desde mi iPad no puedo enviar a una PC con Windows, pero desde la PC sí puedo enviar al iPad.
    Reiniciar el servidor, desactivar el firewall y cosas así no sirvieron de nada. Como mi LAN es un poco compleja por las VLAN, podría ser un problema solo mío, así que no lo reporté como issue.
    Pero LANDrop no tiene el mismo problema, lo cual lo hace aún más raro.

  • Por mi experiencia intentando enviar archivos desde un iPhone a la pantalla de un auto basada en Android, LocalSend y LANDrop fueron las mejores opciones.
    Las demás, como Sharedrop, Snapdrop, Pairdrop y Arc, requerían Internet o no funcionaban bien.

  • Extraño Bluetooth para el descubrimiento, y también extraño Bluetooth para transferir archivos pequeños.
    Elimina la necesidad de estar de alguna forma en la misma red, permite detectar dispositivos cercanos y hoy en día también sirve bien para transferencias entre laptop ↔ smartphone.
    Para archivos grandes, también existe la posibilidad de crear un punto de acceso con Wi-Fi.
    El descubrimiento basado en Bluetooth es la fortaleza de AirDrop. No estoy seguro, pero parece que Apple crea una Wi-Fi temporal para transferencias grandes y la otra persona se conecta ahí por un momento.
    La app Teleport [1] usa Zeroconf para el descubrimiento, pero le falta soporte multiplataforma.
    Configurar Avahi es complicado, genera conflictos y requiere un daemon, así que quizá sea mejor usar multicast directamente.
    Dicho sea de paso, a menudo olvidamos que Bluetooth ya trae integrada una función de transferencia de archivos (vCard, etc.).
    Recuerdo que solo GNOME la mostraba, y aun así no era dentro de Nautilus.
    WebDAV es parecido: a mí me funciona mucho mejor que SMB. Pero la mayoría no sabe que WebDAV viene integrado.

    • Las capturas de pantalla de la landing page parecen pegarle a Apple con justa razón.
      Ayer un amigo intentó pasar por AirDrop una foto desde su iPhone 11 Pro a mi iPhone 15 Pro.
      Al juntar la parte superior de los teléfonos apareció una divertida animación de vibración, pero el archivo no se transfirió.
      Después tocó mi foto en AirDrop, y del lado de mi amigo aparecía “esperando confirmación”, pero de mi lado nunca apareció ningún popup.
      Lo intentamos varias veces e incluso reiniciamos, pero nos rendimos; al final lo envió por WhatsApp y, irónicamente, eso simplemente funcionó.
      Apple debería corregir este tipo de bugs. Es una pena que en la práctica se enfoque menos en el software que en el hardware.
  • ¿Existe alguna herramienta equivalente con frontend HTTP para que el cliente no tenga que instalar nada?
    Antes usé apps de ese tipo, pero parece que dejaron de recibir mantenimiento y ya no funcionan

    • Normalmente uso Snapdrop(https://snapdrop.net) o PairDrop(https://pairdrop.net)
    • En una LAN suelo usar python -m http.server
      Si da flojera configurar Python en el host de origen o la red es complicada, funciona bien ejecutar uploadserver[1] en el host de destino
      Me dan algo de desconfianza las herramientas vistosas con “magic” en el nombre que dependen de servidores de retransmisión externos
      Incluso si no es así, me gusta el HTTP simple de toda la vida. No necesito nada más complejo y, en la mayoría de los casos, tampoco cifrado
      netcat/socat también pueden ser una solución, pero no están tan presentes en todas partes como Python y HTTP. Además, nunca recuerdo bien el conjuro de comandos
      [1]: [https://pypi.org/project/uploadserver/](https://pypi.org/project/uploadserver/
    • LocalSend soporta esto
      https://github.com/localsend/protocol?tab=readme-ov-file#51-browser-url
      ¿O te referías a subir archivos mediante un frontend HTTP?
    • Una opción es https://github.com/akovacs/uploadserver. Básicamente es una mejor versión de python -m http.server 8000
      Primero levantas un servidor en una desktop o laptop que tenga el software, y luego cualquier cliente con navegador web (Android, iOS, PlayStation, Kindle, etc.) puede subir o descargar archivos desde una GUI web sin instalar software de cliente
      Los binarios precompilados para x86-64 Linux, Windows y Mac OS se pueden obtener en https://github.com/akovacs/uploadserver/releases/
      Todavía no hay binarios precompilados para Apple Silicon, pero podrían agregarse si hay suficiente demanda; si quieres, también puedes compilar desde el código fuente con el toolchain nightly de Rust
      Comparado con servicios en la nube o con python -m http.server 8000, el servidor está escrito en Rust, por lo que es muy rápido, bastante simple (el binario compilado y con strip normalmente pesa menos de 3 MB) y transfiere todo por la LAN local
      Parece manejar bastante bien archivos grandes de más de 4 GB, y solo hace falta instalar el software en una máquina
      Para más detalles, ver https://news.ycombinator.com/item?id=39665095
    • Estoy creando esto: https://github.com/pvik/simple-file-server/releases