explaingit

rejetto/hfs

Analysis updated 2026-07-03

3,709TypeScriptAudience · generalComplexity · 2/5Setup · easy

TLDR

A self-hosted file server you run on your own computer so others can browse and download your files in a browser, no cloud, no upload, no storage limits, supports Windows, Mac, Linux, and Android.

Mindmap

mindmap
  root((HFS))
    What it does
      Self-hosted file server
      Browser-based access
      No cloud needed
    Platforms
      Windows
      macOS
      Linux
      Android
    Features
      Resumable downloads
      Folder as ZIP
      User accounts
      Media player
    Security
      HTTPS built-in
      Password protection
      Bandwidth throttling
    How to install
      Single zip download
      Docker image
      Homebrew
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Share a folder of files with friends or colleagues over your local network without uploading anything to the cloud

USE CASE 2

Set up a private media server so family members can stream audio and video from your computer in a browser

USE CASE 3

Create a password-protected file drop zone where clients can upload files directly to your machine

USE CASE 4

Replace a USB drive hand-off by sharing files over the internet with HTTPS and a user account

What is it built with?

TypeScriptNode.jsDocker

How does it compare?

rejetto/hfsjaredpalmer/react-fnsleekhub/leek-fund
Stars3,7093,7083,712
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyeasyeasy
Complexity2/52/51/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
Not specified in the explanation.

In plain English

HFS, short for HTTP File Server, turns your computer into a file-sharing server that other people can reach with a regular web browser. You run it on your machine, choose which files or folders to share, and anyone on your network (or over the internet if you open the right port) can browse and download them without installing anything special. Files are served directly from your disk, so there is no cloud upload, no storage limit, and no ongoing service fee. Setting it up takes a few steps. You download a single zip file for your operating system (Windows, macOS, Linux, FreeBSD, or Android are all supported), unzip it, and run the included file. A web-based admin panel opens automatically in your browser, where you pick what to share and configure the server. If you use Homebrew on a Mac, a single command installs it. There is also a Docker image and an option to run it via Node.js with one command if the pre-built binaries do not work on your platform. The feature list covers most things a file server would need. Downloads are resumable if a connection drops, and entire folders can be downloaded as a ZIP archive on the fly. You can create user accounts to limit who sees what, require passwords, and block access by geographic region. The server handles uploads, lets you rename or delete files through the browser, and includes a built-in media player for audio and video. A plugin system adds extras like anti-brute-force protection, image thumbnails, and custom themes. The front-end can be translated into multiple languages. Security features include HTTPS with a built-in certificate generator, bandwidth throttling to cap transfer speeds, and real-time monitoring of active connections. The admin panel is accessible from localhost without a password by default, which can be changed. Update checks reach out to GitHub but are opt-out, and other outbound connections only happen when the user triggers them.

Copy-paste prompts

Prompt 1
I want to run HFS on my Windows computer to share a folder with people on my local network. Walk me through downloading, setting it up, and sharing my first folder.
Prompt 2
How do I create user accounts in HFS so only specific people can see certain shared folders, and how do I set a password?
Prompt 3
I want to enable HTTPS on my HFS server so file transfers are encrypted. Show me how to generate a certificate inside the HFS admin panel.
Prompt 4
How do I set up HFS so that entire folders can be downloaded as a single ZIP file and uploads are allowed from the browser?
Prompt 5
Show me how to run HFS in Docker and expose it on a specific port so it's reachable from outside my home network.

Frequently asked questions

What is hfs?

A self-hosted file server you run on your own computer so others can browse and download your files in a browser, no cloud, no upload, no storage limits, supports Windows, Mac, Linux, and Android.

What language is hfs written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, Docker.

What license does hfs use?

Not specified in the explanation.

How hard is hfs to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is hfs for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub rejetto on gitmyhub

Verify against the repo before relying on details.