Fonctionnement et découverte réseau

Snapdrop se présente comme une page web accessible depuis n’importe quel navigateur moderne. Aucun compte n’est requis ; l’utilisateur ouvre simplement l’URL https://snapdrop.me et le service le rend immédiatement visible pour tous les appareils connectés au même réseau local. La découverte repose sur un mécanisme de broadcast WebRTC : chaque instance crée une connexion peer‑to‑peer et s’annonce via un serveur de signalisation public. Ainsi, chaque appareil peut être « discovered by everyone on this network », comme l’indique l’interface.

Transfert de fichiers via WebRTC

Le cœur du transfert repose sur les DataChannels de WebRTC, qui permettent d’échanger des blobs binaires sans passer par le serveur après l’établissement de la connexion. L’interface propose les actions « Save » ou « Ignore » pour chaque fichier reçu, garantissant que l’utilisateur contrôle explicitement le stockage local. Lorsqu’un fichier est sélectionné, le navigateur le segmente en paquets, les envoie via le canal sécurisé, puis l’autre côté reconstruit le fichier et déclenche la boîte de dialogue de sauvegarde.

Une particularité de Snapsnap est la demande d’accès au microphone sur Chrome. Cette permission active temporairement le microphone afin d’améliorer la collecte d’ICE candidates, notamment les candidates de type host et srflx, qui sont essentielles pour établir une liaison directe dans un réseau local. Snapdrop précise que le microphone est désactivé immédiatement après la négociation et qu’aucun son n’est enregistré ni transmis.

Limites et considérations de sécurité

Le modèle peer‑to‑peer implique que le trafic ne transite pas par les serveurs de Snapdrop, ce qui réduit l’exposition aux interceptions externes. Cependant, la dépendance à un serveur de signalisation public introduit un point de confiance : si ce serveur est compromis, un acteur malveillant pourrait injecter des identifiants falsifiés et tenter un man‑in‑the‑middle avant l’établissement du canal chiffré. De plus, la requête d’accès au microphone, bien que justifiée techniquement, peut être perçue comme une faille de confidentialité, surtout sur des appareils partagés.

Snapdrop ne supporte que les navigateurs implémentant pleinement WebRTC (Chrome, Edge, Firefox, Safari). Les appareils qui ne disposent pas de cette pile ne peuvent pas participer, limitant l’adoption aux environnements modernes. Enfin, aucune indication de limite de taille de fichier n’est fournie dans l’interface ; en pratique, les navigateurs imposent des restrictions de mémoire qui peuvent entraîner des échecs pour des fichiers très volumineux.