1 puntos por GN⁺ 1 일 전 | 2 comentarios | Compartir por WhatsApp

Repository: https://github.com/localsend/localsend

  • App gratuita y de código abierto que permite enviar y recibir archivos y mensajes de forma segura con dispositivos cercanos dentro de una red local, sin conexión a Internet
  • Sin depender de servidores externos ni de terceros, gestiona la comunicación entre dispositivos mediante REST API y cifrado HTTPS, lo que permite una comunicación local rápida y confiable
  • Todos los datos transferidos están protegidos con HTTPS, y los certificados TLS/SSL se generan al instante en cada dispositivo para reforzar la seguridad
  • Se distribuye para Windows, macOS, Linux, Android, iOS y Fire OS, y se recomienda priorizar la instalación a través de tiendas de apps o gestores de paquetes
  • La app no tiene función de actualización automática, por lo que el README recomienda usar la vía de la tienda de apps o del gestor de paquetes
  • Los canales de distribución incluyen Winget, Scoop, Chocolatey, EXE y Portable ZIP en Windows; App Store y Homebrew en macOS; Flathub, Nixpkgs, Snap, AUR, DEB, AppImage y TAR en Linux; Play Store, F-Droid y APK en Android; y Amazon en Fire OS
  • Las versiones mínimas compatibles son Android 5.0, iOS 12.0, macOS 11 Big Sur y Windows 10; la última versión compatible con Windows 7 es la v1.15.4
  • En Linux, según el entorno de escritorio, se requieren dependencias de la familia xdg-desktop-portal: Gnome necesita xdg-desktop-portal y xdg-desktop-portal-gtk, mientras que KDE requiere xdg-desktop-portal y xdg-desktop-portal-kde
  • En la mayoría de los casos funciona sin configuración adicional, pero si hay problemas de envío o recepción, se debe permitir el tráfico entrante de TCP/UDP 53317 en el firewall y también permitir el tráfico saliente TCP/UDP
  • Si la opción AP isolation del router está activada, se bloquea la conexión entre dispositivos, por lo que debe desactivarse cuando haya problemas al detectar dispositivos
  • El modo portable se activa colocando un archivo settings.json, aunque esté vacío, en el mismo directorio del ejecutable; esto cambia la ubicación de guardado de la configuración a ese archivo en lugar de la ruta predeterminada
  • Para iniciar oculto solo en la bandeja del sistema, se puede usar la bandera --hidden
  • Si la velocidad es lenta, se recomienda usar 5 Ghz y desactivar el cifrado en ambos dispositivos; la baja velocidad de recepción en Android sigue siendo un problema conocido
  • Para compilar el código fuente se necesitan Flutter y Rust, y como el proyecto usa una versión antigua de Flutter especificada en .fvmrc, se recomienda usar fvm flutter

2 comentarios

 
xguru 1 일 전

Solía usarlo mucho para compartir timelapses que tomaba en reuniones de juegos de mesa.
Últimamente, como Galaxy y Pixel comparten AirDrop entre sí, su utilidad quedó un poco ambigua.
Claro, para enviar cosas a una desktop, todavía está muy bien.

 
GN⁺ 1 일 전
Comentarios en Hacker News
  • El problema es que todas estas alternativas requieren estar en la misma red local
    Según entiendo, lo bueno de Airdrop es que crea y gestiona esa red local automáticamente por detrás
    Por eso podías enviar algo de inmediato incluso cuando estabas de excursión con amigos
    Desde que me cambié a Android, conecto por tethering al dispositivo de un amigo para crear una LAN y luego uso Localsend, pero la experiencia es mucho menos fluida

    • https://mbarlow.github.io/thinair/
      Es una herramienta de transferencia entre dispositivos que funciona simplemente como una página estática de GitHub
      repo de gh: https://github.com/mbarlow/thinair
      Cada dispositivo genera un código QR para escanear y establece una conexión WebRTC
      Entre Androids también usa un chirp de audio que les indica que cambien del modo QR al modo de escaneo con cámara
      También lo probé entre Android↔Apple y sí funciona, pero Apple no detecta ese chirp de audio
      En ese caso, si esperas un poco, el código QR desaparece y puedes pasar a la etapa de escaneo
      Lo hice rápido, y originalmente estaba experimentando con handshakes de audio entre smartphones usando chirps tipo canto de pájaro o estilo módem antiguo
      Era divertido juntar los teléfonos e intercambiar tramas de audio para confirmar el inicio de la transferencia, pero el handshake era lento y poco confiable
      Quiero pulir más el flujo, y por ahora ya lo uso para enviar archivos entre iPhone/Android/PC sin apps, correo ni cuentas
    • Lo más cercano a un verdadero P2P multiplataforma fue FlyingCarpet
      Aunque no era especialmente estable ni amigable
      https://github.com/spieglt/FlyingCarpet
    • También vale la pena probar esto: https://github.com/nuwainfo/ffl
      Es una app de Android y dice que no necesita LAN para compartir
      https://play.google.com/store/apps/details?id=com.fastfilelink.wrapper
    • Airdrop también a veces funciona raro
      A veces no encuentra el otro teléfono, y sospecho que pasa cuando una transferencia anterior falla silenciosamente en segundo plano
      Si no había conectividad móvil/Wi‑Fi, también había problemas para buscar contactos; me pasó cuando intentaba enviar fotos a otro teléfono en la montaña
      A veces simplemente se queda colgado y no funciona, así que esa magia de Apple no ayuda mucho
    • En realidad, Localsend solo hace el último paso de lo que hace Airdrop
      Para usar Localsend, primero tienes que crear una Wi‑Fi ad-hoc en un dispositivo, luego conectar los demás a esa red, y recién entonces abrir Localsend
      Esos dos pasos previos son bastante engorrosos, y como Airdrop los resuelve solo, se siente con mucha menos fricción
  • Empecé a usarlo hace poco y funciona muy bien, además me resultó mucho más confiable que Airdrop
    Aun así, el UX todavía tiene margen para mejorar
    De todos modos, ojalá Apple arreglara un poco Airdrop
    Cada vez que lo uso me inspira muy poca confianza; a veces no ve los dispositivos, o si hay varios usuarios de Mac, me muestra la misma Mac dos veces sin decir cuál usuario es, y eso confunde

    • Me da curiosidad saber para qué usa esto la gente
      No termino de entender qué tipo de archivos grandes producen y mueven como para necesitar tanto una app así
      En mi caso, los archivos del teléfono son solo fotos y videos; los respaldo con Immich y luego comparto el enlace
      Supongo que la mayoría usa algo parecido con iCloud o Google Photos
      Para sincronizar otros archivos como documentos uso ownCloud OCIS, y creo que para la mayoría basta con DropBox o iCloud, o incluso correo o WhatsApp
      Si es para mover algo como una ISO en una red local, puedes copiarlo por SMB, y eso funciona prácticamente en cualquier lado sin necesitar otra app
      Si es para backup, simplemente puedes conectar un disco duro
      Por eso no termino de ver por qué usar esto
    • Me pregunto si ya intentaste solucionar esos problemas
      Antes yo también tenía problemas de visibilidad, pero últimamente casi siempre me funciona bien
    • En mi caso sí aparecen los dispositivos, pero cuando inicio la transferencia, como la mitad de las veces ni siquiera aparece en el otro dispositivo
      Todavía no encontré una forma segura de arreglarlo; lo mejor ha sido apagar y encender Airdrop en ambos lados, pero incluso eso solo funciona como un 70% de las veces
  • Vale la pena mirar Sendme https://github.com/n0-computer/sendme y AltSendme https://github.com/tonyantony300/alt-sendme
    Ambos usan Iroh https://github.com/n0-computer/iroh, un servicio relay P2P cifrado de código abierto que envía datos sin servidor central, así que en la práctica no hay límite de tamaño para los archivos enviados y recibidos
    También lo había recomendado en un hilo similar donde se hablaba de apps para compartir archivos
    https://news.ycombinator.com/item?id=47906587

    • Los servicios que te piden compartir una seed/código de esta manera siempre se sienten medio incómodos
      El código no suele ser tan corto ni tan simple como para dictarlo en voz alta, y si ya puedes enviar ese código, normalmente también podrías enviar el archivo directamente
  • https://github.com/schlagmichdoch/pairdrop
    Es un proyecto parecido, pero este funciona completamente en el navegador y puede usar salas "public" para conectarse con clientes fuera de la red local

    • Esto sí tengo que probarlo
      Tengo Localsend instalado para transferencias entre iPhone y mi escritorio Linux, pero no siempre funciona bien
      Incluso abriendo el puerto de Localsend en Firewalld, a veces tarda más de 10 minutos en que los dispositivos se vean entre sí
      Si está basado en navegador, al menos parecería que el discovery debería ser más rápido
    • Pairdrop es realmente bueno
      La documentación está algo escondida, pero el FAQ está en https://github.com/schlagmichdoch/pairdrop/blob/master/docs/faq.md, y
      la integración con el menú de compartir de Android, iOS y Windows está en https://github.com/schlagmichdoch/PairDrop/blob/master/docs/how-to.md
      Es un fork de sharedrop y snapdrop, que se arruinaron después de que LimeWire los comprara
    • El nombre debió haber sido PearDrop
  • Siento que para las cosas que se venden como reemplazo de Airdrop hace falta algo como spamsolutions.txt
    Esto no supera el criterio de que los dos pares no deberían necesitar estar conectados a una red Wi‑Fi existente
    https://craphound.com/spamsolutions.txt

  • Una vez publiqué algo parecido usando Tauri
    El instalador pesaba unos 27 MB en Mac, 45 MB en Linux .deb y 53 MB en Windows; Electron arrancaba desde unos 150 MB
    La única excepción era .AppImage, que rondaba los 110 MB porque incluye el runtime
    Esa reducción de tamaño viene de reutilizar el webview del sistema operativo, pero ese también es el costo
    En Linux, WebKitGTK se comporta muy distinto de WebKit en Mac o de Edge WebView en Windows, así que terminas dedicando tiempo a debugging multiplataforma en vez de beneficiarte de lo que Chromium normalmente te resuelve
    Curiosamente, lo que más me sorprendió fue más el empaquetado en Linux que el framework
    AppImage funciona en cualquier lado, pero para la mayoría de los usuarios se siente como un ciudadano de segunda; .deb cubre las distros principales, pero tienes que seguirle el ritmo a las versiones cambiantes de glibc
    Snap/Flatpak parecen la respuesta oficial cross-distro, pero por el sandboxing y el manejo de permisos un desarrollador indie puede perder semanas ahí
    Al final distribuí .deb y .AppImage, y a las pocas horas ya me estaban llegando correos preguntando "¿por qué no está en AUR?"

  • También funciona en el navegador
    https://web.localsend.org/
    Se puede transferir desde Windows hacia Android e iOS

    • A mí eso no me funcionó
      Probé enviar y recibir con Firefox, Chrome, teléfono y laptop
      En la consola salía WebRTC: ICE failed, add a TURN server and see about:webrtc for more details., y no me quedaba claro cómo se supone que un usuario deba resolver eso
      Si buscas, casi todo lo que aparece son consejos para desarrolladores
      Al final descubrí que funciona si apagas Tailscale
    • Me pregunto cómo hacen el descubrimiento en LAN desde el navegador
    • Está bien
      Solo que v1.18.0 todavía no aparece en F-droid
  • Yo también estuve haciendo algo en este espacio el año pasado
    Básicamente hice keibidrop, un filesystem peer-to-peer: https://keibidrop.com/
    Lo publiqué la semana pasada, y además de lo que hace local send, también funciona por WAN
    La app móvil todavía no sale
    Un paso más allá es que incluso tiene un filesystem virtual que se sincroniza en ambas direcciones
    El repositorio está aquí: https://github.com/KeibiSoft/KeibiDrop
    El código, salvo la UI, es open source, e incluso hice benchmarks contra localsend en loopback, y local send fue más rápido
    https://keibisoft.com/blog/keibidrop-benchmarks-vs-competition.html
    Ayer incluso intenté abrir un hilo de comentarios en /r/golang
    Internamente usa PQC, gRPC y FUSE

  • Esta fue una de las primeras apps que instalé después de pasarme a Linux
    Me hizo notar claramente lo buenos que pueden ser las apps de código abierto

  • Parece que Localsend no funciona de forma estable por ahora si Tailscale está activado
    Es una lástima
    Sería genial que también soportara transferencias de archivos entre clientes dentro de la misma tailnet