HFS (HTTP File Server) is a web-based file server that runs on your own computer. It makes selected files and folders reachable through a web browser. Instead of uploading content to a cloud service, HFS serves files straight from your disk. Someone on a phone or another computer opens an address in their browser and sees a listing they can browse and download from. It runs on Windows, Linux, macOS, FreeBSD and Android, and is free, open-source software released under the GPL.
Virtual file system
HFS organizes a share as a virtual file system: a tree you arrange independently of where the files actually sit on disk. Each entry, or node, is either a folder or a file, and a node’s source points to the real path on the drive. You can expose a whole folder, publish a single file, or combine content from different locations under one layout.
You can rename entries for visitors without changing their names on disk. You can also give entries a fixed display order or turn them into links to another address. A folder can serve a default file such as index.html instead of showing its listing, which lets HFS double as a small website host. Masks apply settings to files matching a pattern, for example all images. This lets you handle a group of files the same way at once.
Accounts and permissions
By default a share is open to anyone, but HFS can create user accounts and control what each one reaches. An account has a username and password. Accounts can also act as groups: an account with no password holds a set of permissions. Other accounts inherit those permissions through a list of groups they belong to. You can disable accounts or set them to expire on a date or after a number of days. You can also restrict accounts to a network range or exempt them from speed limits.
Permissions are attached to virtual file system entries. Reading controls downloading, while listing controls viewing a folder’s contents. A separate visibility setting controls whether an entry appears in listings at all, so a file can be downloadable yet hidden. Archive permission governs zip downloads, while upload and delete permissions govern writing and default to admins only. Each permission takes a target: everyone, no one, any logged-in user, admins, or a named list of accounts. Permissions inherit down the tree, and a setting on an inner folder overrides the one above it.
Uploads and management
Where an account has upload rights, visitors can send files into a folder from the browser. Uploads and downloads are resumable, so an interrupted transfer continues rather than starting over. Users with the right permissions can delete, move and rename files through the interface. Comments can be attached to files and stored in descript.ion files kept alongside them. A whole folder, including a very large one, can be downloaded as a single zip archive.
Admin panel
You configure HFS from a web-based admin panel. It opens in the browser the first time the server runs. From there you build the virtual file system, manage accounts, install languages and adjust server settings. By default, you can reach the panel without logging in from the same machine. You can limit access to particular addresses. A configuration file holds the settings and reloads automatically when saved. You can also change settings through command-line options, environment variables or console commands. One console command creates an admin account when no browser is available.
Web interface
Visitors get a mobile-friendly listing with a built-in search that can be narrowed to files or folders. An integrated media player shows and plays files in the browser. You can install translations for the interface in several languages from the admin panel. HFS serves a simpler fallback layout to older browsers. You can reshape the front end with custom HTML, CSS and JavaScript. Themes distributed as plugins change its appearance.
Plugins
A plugin system extends HFS beyond plain file serving. HFS handles plugins as folders: copy one in to install it, delete it to remove it, and rename it to disable it. Available plugins add capabilities such as image thumbnails, anti-brute-force protection against password guessing, LDAP authentication and alternative themes.
Network and security
HFS serves over HTTPS and can generate a certificate for encrypted connections. A geographic firewall allows or blocks visitors by country, and a speed throttler caps transfer rates so sharing does not saturate the connection. Real-time monitoring shows active connections as they happen. For wider reach, HFS supports virtual hosting of more than one site and running behind a reverse proxy. Its built-in dynamic-DNS updater keeps a hostname pointed at a changing home address.





