24 Punkte von xguru 2024-10-11 | 2 Kommentare | Auf WhatsApp teilen
  • Ein leichtgewichtiger Server zum Teilen von Dateien, die nach einer festgelegten Anzahl von Downloads oder Tagen ablaufen
  • Ähnlich wie das eingestellte Firefox Send, aber nur Administratoren können Dateien hochladen
  • Unternehmen oder Privatpersonen können Dateien sehr einfach teilen und später löschen, um Speicherplatz zu sparen; es ist möglich zu steuern, wer Dateien vom Server herunterlädt
  • Bietet eine API, und identische Dateien werden dedupliziert
  • Kann statt lokalem Speicher AWS S3 und Backblaze B2 verwenden
  • Lässt sich mit Kenntnissen in HTML/CSS anpassen
  • Inklusive Ende-zu-Ende-(E2E)-Verschlüsselung

2 Kommentare

 
kunggom 2024-10-11

Vor Kurzem musste ich Dateien im Gigabyte-Bereich, die sich auf einer VM in der Cloud befanden, an einen anderen Ort übertragen.
Wäre das Ziel mein PC gewesen, hätte ich einfach ein Tool wie croc verwendet, aber in diesem Fall war es etwas schwierig, am Empfangsort ein anderes Tool als den Webbrowser zu nutzen. Deshalb habe ich zunächst einige browserbasierte Dateiübertragungslösungen ausprobiert, doch entweder waren sie langsam oder die Übertragung wurde aus unbekannten Gründen kurz vor Abschluss nicht sauber beendet.

Letztlich habe ich daher mit dufs die VM als temporären Dateiserver eingerichtet. Ich habe in der Firewall einen passenden Port geöffnet, mit mkcert grob ein selbstsigniertes Zertifikat erstellt und per Startoption ein temporäres Benutzerkonto eingerichtet, das nur Download-Rechte für die Dateien hatte.
Im Ergebnis ließ sich das Problem gut lösen, aber es wäre noch etwas bequemer gewesen, wenn der Dateiserver sogar das selbstsignierte Zertifikat direkt mit erstellt hätte.

Das hier vorgestellte Tool habe ich zwar selbst noch nicht ausprobiert, aber es scheint sogar eine integrierte Funktion zum Erstellen selbstsignierter Zertifikate zu haben. Dafür wirkt der erste Installationsprozess etwas komplizierter; vermutlich liegt das daran, dass es eher dafür gedacht ist, einmal aufgesetzt und dann dauerhaft weiterverwendet zu werden. Wie auch immer: Wenn man große Dateien übergeben oder Dateien austauschen muss und es schwierig ist, etwas anderes als einen Webbrowser zu verwenden, dann ist es durchaus eine gute Option, einen File-Sharing-Server selbst zu hosten.

 
kunggom 2024-10-11

Nachdem ich Feierabend hatte, habe ich geschaut, ob es noch mehr ähnliche Tools gibt, und dabei Simple Web Server sowie HFS(https://www.rejetto.com/hfs/) gefunden. Diese Tools unterstützen alle die Erstellung eigener HTTPS-Zertifikate.

Simple Web Server ist ein plattformübergreifendes Tool mit eigener GUI; besonders hervorzuheben ist, dass sich mehrere Webserver gleichzeitig starten lassen. Insgesamt wirkt es jedoch eher wie ein Tool für die Entwicklung von Web-Frontends als speziell für das Bereitstellen von Dateien.
Man kann zum Beispiel Datei-Uploads erlauben, muss dafür aber die HTTP-PUT-Methode direkt aufrufen, und die standardmäßig bereitgestellte Index-Seite hat keinerlei eingebaute Upload-Funktion. Außerdem wird zwar HTTP Basic Auth unterstützt, jedoch nur ein einziges Benutzerkonto. Und das ist vielleicht nur ein kleiner Nachteil, aber da es auf Electron basiert, ist die Installationsdatei größer als 100 MiB.

HFS scheint ein Tool zu sein, das stärker auf Dateifreigabe über das Web spezialisiert ist. Nach dem Start erscheint über den Standardbrowser eine Admin-Benutzeroberfläche, und es gibt Funktionen wie das Anlegen mehrerer Konten mit jeweils unterschiedlichen Detailberechtigungen, Begrenzung der Upload-/Download-Geschwindigkeit, Logging sowie sogar Features wie GeoIP oder Dynamic DNS. Es kann nicht nur selbstsignierte Zertifikate erstellen, sondern bietet sogar eine Option zur automatischen Erneuerung von Let's Encrypt-Zertifikaten.
Übrigens enthalten die veröffentlichten ausführbaren Dateien die Node.js-Laufzeit bereits, und ihre Größe liegt bei etwas über 40 MiB. Wenn einem das nicht gefällt und Node.js bereits installiert ist, reicht npx hfs@latest aus.
Wenn ich künftig in einer Situation bin, in der es schwierig ist, am empfangenden Ende andere Tools zu verwenden und ich deshalb einen eigenen Dateiserver starten muss, würde ich mich wohl erst einmal dafür entscheiden.