Dateien vom Handy auf einen Server, ein NAS oder einen Raspberry Pi senden
Zuletzt geprüft
Bei den meisten Browser-Tools für den Dateiaustausch muss auf der Empfangsseite ein Browser-Tab offen sein. Ein Heimserver, ein NAS, ein Raspberry Pi oder eine Cloud-VM hat weder Bildschirm noch Browser. Der Eingang von tosstome auf der Kommandozeile ist genau für solche Rechner gebaut.
Den Eingang einrichten
Auf dem Server (Node.js 22 oder neuer):
tosstome listen --dir /srv/inbox
Der Befehl gibt im Terminal einen Link und einen QR-Code aus:
- Scanne den QR-Code mit dem Handy oder kopiere den Link dorthin.
- Füge die Seite zum Startbildschirm deines Handys hinzu.
- Öffne sie, wähle Dateien aus und drücke Senden. Sie werden nach
/srv/inboxgeschrieben.
Ist das Handy im selben Netzwerk wie der Server, gehen die Dateien direkt über dieses Netzwerk an den Server und verlassen es nie. Von anderswo gehen sie direkt, wenn die beiden Netzwerke es zulassen, oder über ein Relay, das nichts behält.
Der Link des Eingangs bleibt über Neustarts hinweg gleich, deshalb funktioniert das Symbol auf dem Startbildschirm weiter. Um ihn später erneut auszugeben, führe tosstome url aus. Um den alten Link zu verwerfen und einen neuen zu erzeugen, führe tosstome listen --new aus.
So ist der Eingang geschützt
- Der Link enthält nach dem
#einen geheimen Sendeschlüssel. Browser schicken diesen Teil eines Links nie in der Seitenanfrage an den Server, der Schlüssel wird erst später innerhalb der WebSocket-Verbindung übergeben. - Der Server speichert nur SHA-256-Hashes der Schlüssel.
- Die Serverseite nutzt einen separaten Agent-Schlüssel, der
~/.config/tosstome/inbox.jsonnie verlässt. - Falsche Sendeschlüssel sperren Absender aus, nie die eigene Verbindung des Servers.
- Dateinamen von Absendern werden auf einen einfachen Namen im Zielordner reduziert. Dateien werden als
.partgeschrieben und nach dem Abschluss umbenannt, sodass ein Skript, das den Ordner überwacht, nie eine halbe Datei sieht.
Auch im lokalen Netzwerk sichtbar
tosstome listen --nearby
Mit --nearby erscheint der Server außerdem in der Liste „In diesem Netzwerk“ der Browser im selben Netzwerk, sodass jeder zu Hause ohne den Link an ihn senden kann. Diese Dateien landen in einem separaten Unterordner nearby/, weil jeder in diesem Netzwerk sie senden kann.
Als Dienst betreiben
Für einen Rechner, der immer Dateien annehmen soll, führst du den Befehl unter dem aus, was auch deine anderen Dienste am Laufen hält, etwa eine systemd-Unit, ein Docker-Container oder tmux. Mit --json bekommst du pro Zeile ein JSON-Ereignis (ready, offer, file, error) für Logs oder Skripte.
[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
Vom Terminal eines anderen Computers senden
tosstome send report.pdf photos.zip --to "INBOX_LINK"
Setze den Link in Anführungszeichen, denn er enthält ein #, das die Shell als Kommentar behandelt.
Fragen
Braucht der Server eine öffentliche IP oder offene Ports?
Nein. Der Eingang baut eine ausgehende WebSocket-Verbindung zu toss2.me auf und wartet dort. Er funktioniert also hinter Heimroutern, NAT und Firewalls, die ausgehendes HTTPS erlauben.
Laufen die Dateien zu Hause übers Internet?
Nein. Nur der kurze Verbindungsaufbau läuft über toss2.me. Sind Handy und Server im selben Netzwerk, gehen die Dateien per WebRTC direkt zwischen ihnen, die Geschwindigkeit wird also von deinem WLAN oder Ethernet begrenzt. Die Seite zeigt an, ob eine Übertragung direkt oder über das Relay lief.
Was passiert, wenn der Server beim Senden offline ist?
Es wird nichts gesendet und nichts gespeichert. Die Seite auf dem Handy meldet, dass der Eingang offline ist.
Können andere Leute an meinen Eingang senden?
Nur Leute, die den Link haben. Wenn er in falsche Hände gerät, ersetze ihn mit tosstome listen --new. Der alte Link funktioniert dann nicht mehr.
Gibt es eine Größenbeschränkung für Dateien?
tosstome setzt kein Limit. Ein empfangender Browser hält die Datei im Arbeitsspeicher, bis du sie speicherst. Bei Dateien von mehreren Gigabyte ist deshalb der Eingang auf der Kommandozeile der bessere Empfänger, weil er direkt auf die Festplatte schreibt.
Verwandt
- Das Kommandozeilen-Tool von tosstome
- Dateien vom Handy an den Computer senden
- PairDrop vs. tosstome
- So funktioniert tosstome
Jetzt ausprobieren
Öffne toss2.me auf zwei Geräten. Ohne App, ohne Konto, ohne Speicherung.
Jetzt eine Datei senden