Envoyer des fichiers de votre téléphone vers un serveur, un NAS ou un Raspberry Pi
Dernière vérification
La plupart des outils d'échange de fichiers dans le navigateur demandent un onglet ouvert côté réception. Un serveur domestique, un NAS, un Raspberry Pi ou une VM dans le cloud n'a ni écran ni navigateur. La boîte de réception en ligne de commande de tosstome est faite pour ce type de machine.
Mettre en place la boîte de réception
Sur le serveur (Node.js 22 ou plus récent) :
tosstome listen --dir /srv/inbox
Elle affiche un lien et un QR code dans le terminal :
- Scannez le QR code avec votre téléphone, ou copiez-y le lien.
- Ajoutez la page à l'écran d'accueil de votre téléphone.
- Ouvrez-la, choisissez des fichiers, appuyez sur Envoyer. Ils sont écrits dans
/srv/inbox.
Quand le téléphone est sur le même réseau que le serveur, les fichiers lui parviennent directement par ce réseau et n'en sortent jamais. De partout ailleurs, ils passent en direct si les deux réseaux le permettent, ou par un relais qui ne conserve rien.
Le lien de la boîte de réception reste le même après un redémarrage, donc l'icône de l'écran d'accueil continue de fonctionner. Pour l'afficher de nouveau plus tard, lancez tosstome url. Pour abandonner l'ancien lien et en créer un nouveau, lancez tosstome listen --new.
Comment la boîte de réception est protégée
- Le lien contient une clé d'envoi secrète après le
#. Les navigateurs n'envoient jamais cette partie d'un lien au serveur dans la requête de la page ; la clé est transmise plus tard, dans la connexion WebSocket. - Le serveur ne stocke que des empreintes SHA-256 des clés.
- Le côté serveur utilise une clé d'agent distincte qui ne quitte jamais
~/.config/tosstome/inbox.json. - Les mauvaises clés d'envoi bloquent les expéditeurs, jamais la connexion propre du serveur.
- Les noms de fichiers fournis par les expéditeurs sont réduits à un simple nom dans le dossier cible. Les fichiers sont écrits en
.partpuis renommés une fois complets, de sorte qu'un script qui surveille le dossier ne voit jamais la moitié d'un fichier.
Visible aussi sur le réseau local
tosstome listen --nearby
Avec --nearby, le serveur apparaît aussi dans la liste Sur ce réseau des navigateurs du même réseau : toute personne à la maison peut alors lui envoyer des fichiers sans le lien. Ces fichiers vont dans un sous-dossier nearby/ distinct, car n'importe qui sur ce réseau peut les envoyer.
L'exécuter comme un service
Pour une machine qui doit toujours accepter des fichiers, lancez la commande avec ce qui maintient vos autres services en vie, comme une unité systemd, un conteneur Docker ou tmux. Ajoutez --json pour obtenir un événement JSON par ligne (ready, offer, file, error), utile pour les journaux ou les scripts.
[Unit]
Description=tosstome inbox
After=network-online.target
[Service]
ExecStart=/usr/bin/env tosstome listen --dir /srv/inbox --json
Restart=always
User=media
[Install]
WantedBy=multi-user.target
Envoyer depuis le terminal d'un autre ordinateur
tosstome send report.pdf photos.zip --to "INBOX_LINK"
Mettez le lien entre guillemets, car il contient un # que les shells traitent comme un commentaire.
Questions
Le serveur a-t-il besoin d'une IP publique ou de ports ouverts ?
Non. La boîte de réception établit une connexion WebSocket sortante vers toss2.me et attend là, donc elle fonctionne derrière les box domestiques, le NAT et les pare-feu qui autorisent le HTTPS sortant.
À la maison, les fichiers passent-ils par internet ?
Non. Seule la courte mise en relation passe par toss2.me. Quand le téléphone et le serveur sont sur le même réseau, les fichiers circulent directement entre eux via WebRTC, donc la vitesse est limitée par votre Wi-Fi ou votre Ethernet. La page indique si un transfert est passé en direct ou par le relais.
Que se passe-t-il si le serveur est hors ligne quand j'envoie ?
Rien n'est envoyé et rien n'est stocké. La page du téléphone indique que la boîte de réception est hors ligne.
D'autres personnes peuvent-elles envoyer vers ma boîte de réception ?
Seulement celles qui ont le lien. S'il fuit, lancez tosstome listen --new pour le remplacer ; l'ancien lien cesse de fonctionner.
Y a-t-il une limite de taille de fichier ?
tosstome n'en fixe aucune. Un navigateur qui reçoit garde le fichier en mémoire jusqu'à ce que vous l'enregistriez ; pour des fichiers de plusieurs gigaoctets, la boîte de réception en ligne de commande est donc le meilleur récepteur, car elle écrit directement sur le disque.
À lire aussi
- L'outil en ligne de commande tosstome
- Envoyer des fichiers de votre téléphone à votre ordinateur
- PairDrop vs tosstome
- Comment fonctionne tosstome
Essayez maintenant
Ouvrez toss2.me sur deux appareils. Sans appli, sans compte, rien n'est stocké.
Envoyer un fichier maintenant