LocalSend - una app open source multiplataforma para compartir archivos localmente que reemplaza AirDrop
(github.com/localsend)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-portalyxdg-desktop-portal-gtk, mientras que KDE requierexdg-desktop-portalyxdg-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 usarfvm flutter
2 comentarios
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.
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
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
Aunque no era especialmente estable ni amigable
https://github.com/spieglt/FlyingCarpet
Es una app de Android y dice que no necesita LAN para compartir
https://play.google.com/store/apps/details?id=com.fastfilelink.wrapper
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
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
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
Antes yo también tenía problemas de visibilidad, pero últimamente casi siempre me funciona bien
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
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
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
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
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
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 esoSi buscas, casi todo lo que aparece son consejos para desarrolladores
Al final descubrí que funciona si apagas Tailscale
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