Turn your computer into a file-sharing server in seconds.
Runs on: Windows, Linux, macOS, FreeBSD, Android
For Docker, see https://github.com/rejetto/hfs/wiki/Docker .
For service installation, see https://github.com/rejetto/hfs/wiki/Service-installation.
For Homebrew, just brew install rejetto/hfs/hfs
The minimum Windows version required is 10 or Server 2019.
hfs file.control key while clicking, then click open.localhost, so you can configure the rest in the Admin-panel.Troubleshooting
- If a browser cannot be opened on the computer where you are installing HFS,
you should enter this command in the HFS console: create-admin <PASSWORD>
- If you cannot access the console (like when you are running as a service),
you can edit the config file to add your admin account
- If you don't want to use an editor, you can create the file with this command:
`echo "create-admin: PASSWORD" > config.yaml`
By default, HFS does not require a login when you access the Admin-panel from localhost.
If you don't like this behavior, disable it in the Admin-panel or enter this console command config localhost_admin false.
To uninstall, remove the files you unzipped and the configuration/data directory (see config.md for the location).
If you can't or don't want to run our binary versions, you can try this:
npx hfs@latestThe @latest part is optional, and ensures that you are always up to date.
If this procedure fails, it may be that you are missing one of these requirements.
Configuration and other files will be stored in %HOME%/.vfs
For configuration please see config.md; it explains also where all configurations are stored.
It is possible to show the Front-end in other languages. Translation for some languages is already provided. If you find an error, consider reporting it or editing the source file.
In the Languages section of the Admin-panel you can install additional language files.
If your language is missing, please consider translating yourself.
#LOGIN to the URL to open the login dialog?lang=CODE to the URL to force a specific languageRight-click on toggle-all checkbox to invert the state of all checkboxes?login=USER:PASSWORD to automatically log in to the browser?search=PATTERN to trigger a search on startup?onlyFiles or ?onlyFolders to limit the type of results?get=basic to display a basic web interface, intended for older/simpler browsers ?autoplay=shuffle to trigger show & play; ?autoplay will not shuffle, but also will not start until the list is complete Right-click on "check for updates" to enter a URL of a version to installShift+click on a file to show and playCtrl+backspace to navigate to the parent folder--consoleFile PATH to also output all stdout/stderr to a fileDISABLE_UPDATE=1 (for containers)--debug or env.var. HFS_DEBUG=1 to generate additional console logs --no-central to skip fetching updated info from GitHub (uses built-in data only)There are several ways to contribute
It's very important to report bugs, and if you are not so sure about it, don't worry, we'll discuss it. If you find important security problems, please contact us privately so that we can publish a fix before the problem is disclosed, for the safety of other users.
While betas have more problems, you'll get more features and give a huge help to the project.
While the project should not become too complex, yours may be an idea for a plugin.
Write guides or make videos for other users. We got a wiki!
Submit your code
If you'd like to make a change yourself in the code, please first open an "issue" or "discussion" about it, so we'll try to cooperate and understand what's the best path for it.
A plugin can change the look (a theme), and/or introduce a new functionality.
Free code signing 🙏 provided by SignPath.io, certificate by SignPath Foundation.
Author/Reviewer/Approver: Massimo Melina.
Privacy: Update checks are opt-out; other outbound connections are user-triggered.
Flag images under MIT license from https://www.freakflagsprite.com