Dateien von Ihrem Heim-PC teilen ohne Cloud und großen Aufwand
Stellen Sie sich vor: Sie müssen einem Freund einen 50-GB-Fotoordner oder ein Festplatten-Image schicken, das halb so groß wie Ihre SSD ist. Es auf Telegram hochladen? Langsam und umständlich. Google Drive oder Yandex.Disk? Da reicht der Speicherplatz nicht aus, und Sie müssten ein Abonnement bezahlen. Einen vollständigen FTP-Server einrichten oder sich in Nginx-Einstellungen einarbeiten? Zu viel Aufwand für eine einmalige Aufgabe.
Dafür gibt es HFS (HTTP File Server). Das ist ein Projekt, das Ihren Computer mit nur einem Klick in einen vollwertigen Webserver für Dateifreigabe verwandelt. Und das ist kein neues Hobbyprojekt: Das ursprüngliche HFS in Delphi war eine Internet-Legende der 2000er Jahre. Jetzt wurde das Projekt in TypeScript und Node.js neu geboren und ist plattformübergreifend und modern geworden.
Was es ist
HFS ist ein kompakter Webserver, mit dem Sie Ihre lokalen Dateien über einen Browser zugänglich machen können. Sie führen die Binary aus, fügen die benötigten Ordner hinzu, und jeder mit dem Link kann sie herunterladen.
Der Hauptunterschied zum Beispiel zum Python-Modul http.server besteht darin, dass Sie ein vollständiges Admin-Panel, Benutzerverwaltung, fortsetzbare Downloads und sogar die Möglichkeit erhalten, Dateien zurück auf Ihren PC hochzuladen. Und alles funktioniert sofort ohne komplexe Konfiguration.
Wofür es in der Praxis nützlich ist
Ich muss oft schnell Videos ansehen oder Musik von meinem Heimserver auf meinem Telefon abspielen. HFS löst das elegant.
Virtuelles Dateisystem
Sie müssen keine Dateien in einen speziellen Ordner kopieren www. In der HFS-Oberfläche erstellen Sie eine virtuelle Struktur. Eine Datei C:\Work\Project\final_report.pdf kann beispielsweise über den Link ваш-айпи/report.pdf geteilt werden. Die Originaldatei bleibt an ihrem Platz, Sie geben ihr nur einen „Spitznamen" für das Web.
Sofortige Verarbeitung großer Datenmengen
Wenn Sie einen 100-GB-Ordner teilen müssen, zwingt HFS Sie nicht zu warten, während es ein Archiv erstellt. Sobald der Benutzer auf „Als ZIP herunterladen" klickt, beginnt der Server, das Archiv dynamisch zu generieren und streamt die Daten sofort an den Browser. Das spart Zeit und Speicherplatz.
Zugriffskontrolle und Limits
Wenn Sie Dateien in einem öffentlichen Netzwerk teilen, können Sie die Upload-Geschwindigkeit (Throttling) begrenzen, damit HFS nicht Ihre gesamte Bandbreite beansprucht. Es ist auch einfach, Konten zu erstellen: Freunde dürfen beispielsweise nur herunterladen, während ein Kollege auch Dateien in einen bestimmten Ordner hochladen kann.
Geografische Firewall und Sicherheit
In den Einstellungen können Sie den Zugriff aus bestimmten Ländern blockieren oder HTTPS konfigurieren. Die Zertifikatgenerierung ist integriert, sodass Sie sich nicht manuell mit OpenSSL auseinandersetzen müssen.
Die technische Seite
Das Projekt ist in TypeScript geschrieben. Wenn Sie keine vorkompilierten Binaries herunterladen möchten, können Sie es über npx hfs@latest ausführen. Das ist praktisch für einen schnellen Test auf einem Server, auf dem bereits Node.js installiert ist.
HFS funktioniert praktisch überall: Windows (ab Version 10), Linux, macOS und sogar FreeBSD. Für Container-Enthusiasten gibt es ein offizielles Docker-Image.
Ein interessantes Detail: Das Admin-Panel und das Frontend sind vollständig getrennt. Sie können das Erscheinungsbild mit HTML und CSS anpassen oder Ihr eigenes Plugin schreiben. Derzeit gibt es Plugins für Thumbnail-Generierung, LDAP-Authentifizierung und Brute-Force-Schutz.
So starten Sie
Der einfachste Weg für die meisten Benutzer ist, das Archiv von der Release-Seite für Ihr Betriebssystem herunterzuladen. Nach dem Start öffnet der Server standardmäßig das Admin-Panel unter localhost.
Wenn Sie in der Konsole oder über SSH arbeiten, können Sie mit diesem Befehl schnell einen Admin erstellen:
echo "create-admin: ВАШ_ПАРОЛЬ" > config.yaml
Anschließend übernimmt HFS die Einstellungen, und Sie können sich von einem anderen Gerät aus über den Browser im Control Panel anmelden.
Für wen ist das gedacht
HFS ist ein Tool für alle, die Self-Hosting schätzen. Es eignet sich perfekt für:
- Schnelle Übertragung großer Dateien über ein lokales Netzwerk oder das Internet.
- Erstellung eines temporären Dateiaustauschs für ein Team.
- Organisation einer Heim-Mediabibliothek (HFS hat einen integrierten Player für Audio und Video).
- Sammeln von Dateien von anderen Benutzern (die Upload-Funktion).
Das Projekt überzeugt durch seine Einfachheit. Sie müssen kein Systemadministrator sein, um in 2 Minuten einen Server hochzufahren, der professionell aussieht und funktioniert. Wenn Sie es leid sind, von den Einschränkungen der Cloud-Dienste abhängig zu sein, ist HFS einer der am wenigsten schmerzhaften Wege, die Kontrolle über Ihre Daten zurückzugewinnen.
Sie können das Projekt auf GitHub ausprobieren. Es gibt auch ein detailliertes Wiki mit API-Dokumentation und versteckten Schätzen wie URL-Parametern für automatische Anmeldung oder Suche.
Ähnliche Projekte