LocalSend : open source cross-platform pour le partage de fichiers entre appareils à proximité
(localsend.org)- LocalSend permet d’échanger des fichiers entre appareils sur le même réseau local, sans cloud ni serveur relais, ce qui le rend utile pour les utilisateurs qui veulent une alternative de type AirDrop sur plusieurs plateformes
- Compatible avec Windows, macOS, Linux, Android et iOS, il permet de démarrer le transfert de fichiers à proximité immédiatement après l’installation, sans compte ni connexion
- Les données transférées ne quittent pas le réseau Wi-Fi local, et tous les transferts utilisent le chiffrement HTTPS
- Il n’y a aucune restriction de format de fichier pour les photos, vidéos, documents, texte, etc. ; l’emplacement d’enregistrement par défaut est le dossier Downloads de l’appareil, mais il peut être modifié dans les paramètres
- Projet gratuit et open source avec plus de 70k étoiles sur GitHub, plus de 5M téléchargements et plus de 100 contributeurs, sans publicité, traqueurs ni coûts cachés
Partage de fichiers sur réseau local
- LocalSend est un outil open source cross-platform pour partager des fichiers sans passer par le cloud
- Plateformes prises en charge : Windows, macOS, Linux, Android, iOS
- Le fonctionnement est simple
- Installer et lancer LocalSend sur chaque appareil
- Sélectionner des photos, vidéos, documents, texte ou tout autre type de fichier
- Appuyer sur un appareil à proximité pour lancer le transfert via le réseau local
- Aucun compte, aucune connexion, aucun serveur requis
- Fonctionne sans connexion Internet, et les données ne quittent pas le réseau Wi-Fi local
- Les transferts utilisent la vitesse maximale du réseau Wi-Fi, sans limitation de bande passante
- Tous les transferts sont chiffrés en HTTPS
- Si une sécurité supplémentaire est nécessaire, il est possible d’activer la vérification par PIN
- Par défaut, les fichiers sont enregistrés dans le dossier Downloads de l’appareil, et l’emplacement peut être modifié dans les paramètres
État du projet et canaux de support
- LocalSend est 100 % gratuit et open source, sans publicité, sans suivi ni coûts cachés
- Les indicateurs publics sont de plus de 70k étoiles sur GitHub, plus de 5M téléchargements et plus de 100 contributeurs
- Une version web est disponible sur web.localsend.org
- Communauté et canaux de support
- Les bugs peuvent être signalés via GitHub Issues
1 commentaires
Commentaires sur Hacker News
Le mieux, c’est que ça fonctionne sur la plupart des grandes plateformes et que l’interface graphique est facile à utiliser
L’app iOS est aussi excellente
Il faut quand même faire attention à quelques bugs : sous Windows, si LocalSend tourne avec sa fenêtre ouverte (après une réception ?), la mise en veille du système est bloquée, et sous Linux il se passe la même chose même si la fenêtre n’est pas visible
Sous Linux, si la fenêtre de LocalSend reste visible au repos, le gestionnaire de fenêtres du bureau continue de rafraîchir les zones endommagées, ce qui entraîne une utilisation anormalement élevée du CPU
Sous Windows, même avec l’option « startup minimized » activée et un lancement au démarrage, la fenêtre apparaît souvent quand même, et vu le problème de veille, l’exécution en arrière-plan n’est pas très attirante
Mon seul reproche, c’est que l’appareil qui reçoit doit être réveillé et que l’app doit être au premier plan pour que ça fonctionne. En tout cas sur Android, c’était le cas même avec l’option d’enregistrement rapide activée
Ce serait bien si Quick Share (ex-Nearby Share) pouvait aussi être utilisé sur Linux. Même via Chrome, ça m’irait
Il y a peu, je parlais téléphones avec mon petit frère, qui doit utiliser un iPhone pour le travail
Il est pompier forestier fédéral aux États-Unis et a passé tout l’été dernier comme hotshot ; dans les zones isolées sans réseau mobile ni routeur Wi‑Fi central, les membres de l’équipe s’échangent des fichiers comme des cartes via AirDrop avant de se disperser
C’est assez intéressant, mais cet outil peut-il aussi gérer des cas comme un envoi d’Android vers iPhone ?
La politique de confidentialité est excellente : https://localsend.org/#/privacy
On y lit : « Vous déclarez avoir au moins 18 ans, et la société n’autorise pas l’utilisation du service par des personnes de moins de 18 ans »
Je voulais l’utiliser en famille, surtout avec les enfants, donc c’est un frein
C’est surprenant qu’en 2024 AirDrop reste un gros avantage de l’écosystème Apple
Techniquement, c’est l’une des fonctionnalités les plus simples qu’on puisse imaginer ; l’innovation ne vient pas de la technique, mais d’un alignement des intérêts qu’Apple a et que ses concurrents n’ont pas
Les concurrents sont en concurrence entre eux tout en étant aussi en concurrence avec Apple
Après avoir rejeté pendant des années les critiques sur ses câbles propriétaires, Apple a présenté ainsi le port USB-C de l’iPhone 15 après l’obligation imposée par l’UE :
« Le nouveau connecteur USB‑C vous permet de recharger votre Mac ou votre iPad avec le même câble que celui que vous utilisez pour recharger l’iPhone 15. Vous pouvez même utiliser l’iPhone 15 pour recharger l’Apple Watch ou les AirPods. Dites adieu au fouillis de câbles. »
https://www.apple.com/ca/iphone-15/
Si ce genre de chose se répète, c’est parce qu’Apple et Google continuent d’élargir l’écart fonctionnel entre ordinateurs et téléphones. Côté mobile, les consommateurs ont bien moins de choix quand ils veulent utiliser des apps tierces et des périphériques
Pour ce logiciel, je recommande la vidéo d’explication de Techno Tim
Il y présente les cas d’usage et fait une démo sur les principales plateformes : https://youtu.be/2ITezMkbAqE?si=-YVJq8iqwFYQ9gMr
Tous les quelques mois, un nouvel outil comme celui-ci apparaît, mais aucun ne parvient à être largement adopté
Si cet angle mort existe, ce n’est pas seulement parce qu’il n’y a pas d’argent à gagner à le résoudre et que les solutions ouvertes sont, comme toujours, difficiles à utiliser
Dans ce cas précis, il y a de l’argent à ne pas le résoudre. S’il existait une solution excellente, simple et universelle, la demande pour de gros systèmes complexes de stockage cloud, qui permettent de faire du data mining sur tous les fichiers ou imposent des abonnements, diminuerait
Ce serait sans doute une question d’implémenter le même protocole dans autant d’apps que possible
Au final, il faudrait qu’un protocole suffisamment commun soit adopté pour que la plupart des apps puissent communiquer entre elles, afin de créer un effet de réseau
Cela dit, je ne sais pas si j’aurai vraiment le temps ou les compétences pour aller aussi loin
J’utilise avec satisfaction un autre projet open source appelé LANDrop
Ce qui me gêne avec LocalSend, c’est que la vitesse de transfert est faible. Pour une raison quelconque, c’est encore plus lent que LANDrop, et bien plus lent que SMB ou Croc
Il y a aussi un problème très étrange avec la détection. Depuis mon iPad, je ne peux pas envoyer vers mon PC Windows, mais depuis le PC, je peux envoyer vers l’iPad
Redémarrer le serveur, désactiver le pare-feu, etc. n’a servi à rien. Mon LAN est un peu complexe avec des VLAN, donc cela vient peut-être seulement de chez moi, et je n’ai pas ouvert d’issue
Pourtant, LANDrop n’a pas le même problème, ce qui est encore plus étrange
Si on compare les deux dépôts GitHub, LANDrop semble être dans un état assez stagnant, tandis que LocalSend est très actif
https://github.com/LANDrop/LANDrop
https://github.com/localsend/localsend
Je ne sais pas à quel point c’est important en pratique, mais c’est à prendre en compte
D’après mon expérience à vouloir envoyer des fichiers d’un iPhone vers un écran de voiture basé sur Android, LocalSend et LANDrop étaient ce qu’il y avait de mieux
Les autres, comme Sharedrop, Snapdrop, Pairdrop ou Arc, nécessitaient Internet ou ne fonctionnaient pas correctement
Le Bluetooth me manque pour la découverte, et il me manque aussi pour les petits transferts de fichiers
On n’a alors plus besoin d’être sur le même réseau, la détection des appareils à proximité est possible, et aujourd’hui c’est aussi très pratique pour les transferts ordinateur portable ↔ smartphone
Pour les gros fichiers, on peut aussi imaginer créer un point d’accès en Wi‑Fi
La découverte basée sur le Bluetooth est la force d’AirDrop. Je n’en suis pas certain, mais Apple semble créer un Wi‑Fi temporaire pour les gros transferts, auquel l’autre appareil se connecte brièvement
L’application Teleport [1] utilise Zeroconf pour la découverte, mais son support cross-platform est insuffisant
La configuration d’Avahi est complexe, provoque aussi des conflits et nécessite un démon, donc il vaudrait peut-être mieux utiliser directement le multicast
J’ajoute qu’on oublie souvent que le Bluetooth intègre déjà des fonctions de transfert de fichiers (vCard, etc.)
Dans mon souvenir, seul GNOME l’affichait, et encore, pas dans Nautilus
WebDAV est un peu similaire, et chez moi cela fonctionne bien mieux que SMB. Mais la plupart des gens ignorent que WebDAV est intégré
Hier, un ami a essayé d’envoyer des photos depuis son iPhone 11 Pro vers mon iPhone 15 Pro avec AirDrop
Quand nous avons rapproché le haut des téléphones, il y a bien eu une animation amusante de secousse, mais les fichiers ne se sont pas transférés
Ensuite, il a appuyé sur mes photos dans AirDrop, et de son côté il voyait « En attente de confirmation », mais de mon côté aucune fenêtre pop-up n’apparaissait
Après plusieurs tentatives et même un redémarrage, nous avons abandonné, puis nous les avons envoyées via WhatsApp, et ironiquement, ça a simplement marché
Apple doit corriger ce genre de bug. C’est dommage de voir qu’ils se concentrent moins sur le logiciel que sur le matériel
Existe-t-il un outil équivalent avec un frontend HTTP pour que le client n’ait rien à installer ?
J’ai déjà utilisé des applis de ce genre auparavant, mais leur maintenance semble avoir été abandonnée et elles ne fonctionnent plus.
python -m http.server.Si configurer Python sur l’hôte source est pénible, ou si le réseau est compliqué, lancer uploadserver[1] sur l’hôte de destination fonctionne bien.
Je me méfie des outils tape-à-l’œil avec « magic » dans le nom qui dépendent de serveurs relais externes.
Même quand ce n’est pas le cas, je préfère le bon vieux HTTP simple. Je n’ai pas besoin de quelque chose de plus complexe et, dans la plupart des cas, le chiffrement n’est pas nécessaire.
netcat/socat peuvent aussi être une solution, mais ils ne sont pas aussi omniprésents que Python et HTTP. Et je n’arrive jamais à me souvenir de la formule exacte.
[1]: https://pypi.org/project/uploadserver/
https://github.com/localsend/protocol?tab=readme-ov-file#51-browser-url
Ou bien voulais-tu dire uploader via un frontend HTTP ?
python -m http.server 8000.Il suffit d’abord de lancer un serveur sur un desktop ou un laptop qui dispose du logiciel, puis n’importe quel client avec un navigateur web (Android, iOS, PlayStation, Kindle, etc.) peut envoyer ou télécharger des fichiers via une GUI web sans installer de logiciel côté client.
Des binaires précompilés pour x86-64 Linux, Windows et Mac OS sont disponibles sur https://github.com/akovacs/uploadserver/releases/.
Il n’y a pas encore de binaire précompilé pour Apple Silicon, mais il pourrait être ajouté s’il y a suffisamment de demande ; sinon, tu peux aussi le compiler depuis les sources avec la toolchain nightly Rust si tu le souhaites.
Par rapport à un service cloud ou à
python -m http.server 8000, le serveur est écrit en Rust, donc très rapide, assez simple (le binaire compilé puis passé àstripfait généralement moins de 3 Mo) et tout transite sur le LAN local.Il semble assez bien gérer les gros fichiers de plus de 4 Go, et il suffit d’installer le logiciel sur une seule machine.
Voir https://news.ycombinator.com/item?id=39665095 pour plus de détails.