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 :

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

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

Essayez maintenant

Ouvrez toss2.me sur deux appareils. Sans appli, sans compte, rien n'est stocké.

Envoyer un fichier maintenant