Come condividere file dal tuo PC di casa senza cloud e percussioni
Immaginiamo che tu debba inviare a un amico una cartella di foto da 50 GB o un'immagine disco grande quanto metà del tuo SSD. Caricarla su Telegram? Lento e scomodo. Google Drive o Yandex.Disk? Non avrai spazio sufficiente, dovrai pagare un abbonamento. Configurare un server FTP completo o armeggiare con le impostazioni di Nginx? Troppo complicato per un'operazione occasionale.
È qui che entra in gioco HFS (HTTP File Server). Questo progetto trasforma il tuo computer in un server web completo per la condivisione di file in letteralmente un click. E non si tratta di un nuovo progetto amatoriale: l'HFS originale in Delphi era una leggenda di internet degli anni 2000. Ora il progetto è stato riproposto in TypeScript e Node.js, diventando multipiattaforma e moderno.
Cos'è
HFS è un server web compatto che consente di esporre i tuoi file locali tramite browser. Esegui il binario, aggiungi le cartelle che ti servono, e chiunque con il link può scaricarli.
La differenza principale rispetto a qualcosa come il modulo Python http.server è che ottieni un pannello admin completo, gestione utenti, download riprendibili, e persino la possibilità di caricare file sul tuo PC. E tutto funziona out of the box senza configurazioni complesse.
A cosa serve in pratica
Spesso ho bisogno di visualizzare rapidamente video o ascoltare musica dal mio server di casa sul telefono. HFS risolve questo in modo elegante.
File System Virtuale
Non c'è bisogno di copiare i file in una cartella speciale www. Nell'interfaccia HFS, crei una struttura virtuale. Per esempio, un file C:\Work\Project\final_report.pdf può essere condiviso tramite il link ваш-айпи/report.pdf. Il file originale rimane al suo posto, gli dai solo uno "pseudonimo" per il web.
Elaborazione Istantanea di Dati Pesanti
Se devi condividere una cartella da 100 GB, HFS non ti fa aspettare mentre crea un archivio. Non appena l'utente clicca "Scarica come ZIP", il server inizia a generare l'archivio al volo e immediatamente trasmette i dati al browser. Questo risparmia tempo e spazio su disco.
Controllo Accessi e Limiti
Se stai condividendo file in una rete pubblica, puoi limitare la velocità di upload (throttling) così che HFS non consumi tutta la tua larghezza di banda. È anche facile creare account: per esempio, permetti agli amici solo di scaricare, mentre un collega può anche caricare file in una cartella specifica.
Firewall Geografico e Sicurezza
nelle impostazioni, puoi bloccare l'accesso da determinati paesi o configurare HTTPS. La generazione dei certificati è integrata, quindi non dovrai armeggiare manualmente con OpenSSL.
Il Lato Tecnico
Il progetto è scritto in TypeScript. Se non vuoi scaricare i binari precompilati, puoi eseguirlo tramite npx hfs@latest. È comodo per un controllo rapido su un server che ha già Node.js installato.
HFS funziona praticamente ovunque: Windows (dalla versione 10), Linux, macOS e persino FreeBSD. Per gli appassionati di containerizzazione, c'è un'immagine Docker ufficiale.
Un dettaglio interessante: il pannello admin e il frontend sono completamente separati. Puoi personalizzare l'aspetto con HTML e CSS o scrivere il tuo plugin. Attualmente ci sono plugin per la generazione di miniature, autenticazione LDAP e protezione da attacchi brute-force.
Come Iniziare
Il modo più semplice per la maggior parte delle persone è scaricare l'archivio dalla pagina delle releases per il tuo OS. Dopo l'avvio, il server apre il pannello admin a localhost per impostazione predefinita.
Se stai lavorando in console o tramite SSH, puoi creare rapidamente un admin con questo comando:
echo "create-admin: ВАШ_ПАРОЛЬ" > config.yaml
Dopo di che, HFS raccoglierà le impostazioni, e sarai in grado di accedere al pannello di controllo da un altro dispositivo tramite browser.
A Chi È Rivolto
HFS è uno strumento per chi apprezza l'auto-hosting. È perfetto per:
- Trasferire rapidamente file di grandi dimensioni sulla rete locale o su internet.
- Creare uno scambio di file temporaneo per un team.
- Organizzare una libreria multimediale domestica (HFS ha un player integrato per audio e video).
- Raccogliere file da altri utenti (la funzione Upload).
Il progetto convince per la sua semplicità. Non hai bisogno di essere un amministratore di sistema per avviare un server in 2 minuti che funziona e appare professionale. Se sei stanco di dipendere dalle limitazioni dei servizi cloud, HFS è uno dei modi meno dolorosi per riottenere il controllo sui tuoi dati.
Puoi provare il progetto su GitHub. C'è anche una Wiki dettagliata con documentazione API e gemme nascoste come parametri URL per il login automatico o la ricerca.
Progetti correlati