FolderHost Release v26.10.0
Release Date: 2026-10-05 12:34:52 UTC
What's New
Added
- Recovery cleaner: Automatically removes old items from the recovery bin. You can set the duration after which a recovery item is permanently removed. The current default is 7 days, but you can change it. New info will appear in the Recovery page showing how much time remains until each file's deletion.
- Keyboard shortcuts: Added a lot of keyboard shortcuts in UI to improve user experience.
- Login: Log in much faster using the Enter key. For example, after typing your username, press Enter to jump to the password input. Previously, you had to click the password field with your mouse — now you don't.
- Creating a file: The plus button in File Explorer opens a menu to create a file
or directory. Previously you had to type the name and click "Create directory" or
"Create file". Now you can press Enter instead. The app checks whether the name has
a file extension:item.txt+ Enter creates a file, whileexample.comrequires
clicking "Create directory" manually. The UI highlights the default action. - Message boxes: Now you can automatically close the error/info boxes by pressing Enter instead of manually clicking with your mouse.
- File types: Added icon support for many new file extensions, categorized below.
- Images: bmp, tiff, tif, heic, heif, avif, raw, cr2, nef, arw, psd, ai, xd, xcf
- Documents: txt, rtf, epub, mobi, tex, xps, odt, ods, odp
- Archives: xz, bz2, lz, lzma, zst, deb, rpm, appimage, snap
- Video: mkv, avi, mov, wmv, flv, webm, m4v, mpg, mpeg, 3gp, ogv
- Audio: acc, m4a, ogg, wma, aiff, mid, midi, ape
- Web: scss, sass, less, styl
- Programming languages:
- Frontend: tsx, jsx, vue, svelte
- Systems: c, h, cpp, cc, cxx, hpp, hh, hxx, asm, s, bin, o, obj
- Scientific: f, f77, f90, f95, f03, f08, for, mat, h5, hdf5, nc, rdata, rds, parquet, arrow
- Legacy: pas, pp, dpr, dpk
- Functional: hs, lhs, fs, fsx, fsi, ex, exs
- Modern: cs, zig, sol, go, mod, sum, gradle, rs, scala, sc, swift, kt, kts, dart
- Scripting: rb, erb, lua, pl, pm, zsh, fish, ksh, csh, ps1, psm1, psd1, ipynb
- Others: vb, vbs, bas
- Config: conf, cfg, properties, env, toml
- Executables & system: exe, dll, msi, cab, msix, sys
- Databases: sqlitedb
- Disk images: iso, img, vhd, vhdx, vmdk, qcow2, vdi
- 3D models: blend, blend1, blend2, fbx, dae, gltf, glb, stl, 3ds, obj3d, step, stp, iges, igs, gcode
- Game engines:
- Godot: godot, tscn, gd, tres
- Blockbench: bbmodel
- Fonts: ttf, otf, woff, woff2, eot
- Certificates & keys: pem, crt, cer, key, pub, p12, pfx, gpg, asc
- Mobile packages: apk, aab, xapk
- Torrent files: torrent, torrentfile
- Logs & temp files: log, bak, tmp, temp, swp
- Markdown: mdx
Changed
- Duplicate file uploads: Uploading a file whose name already exists in the target
directory now fails with an error instead of silently replacing it. This prevents
users with upload-only permissions (but no delete permission) from overwriting files
they shouldn't be able to remove. A future update may allow auto-replace for users
with bothupload_filesanddeletepermissions. - Upload speed: Uploads are now much faster — on par with (and sometimes faster
than) FTP. A ~4 GB file that previously took 14 seconds now takes about 8 seconds.
Tested on localhost; real-world results depend on network speed. - Upload UI: The upload menu now shows more information: elapsed time, remaining
time, upload speed, and transferred bytes. - Dependencies:
react-iconsupdated from 5.5.0 to 5.7.0. - Version fallback: If the program can't determine its version, it falls back to
the version defined indefault_config.ymlembedded in the binary. - Recovery UI colors: Updated the recovery bin to a more bluish color scheme.
- Logs cleaner: Cleanup events now appear in the audit logs as system updates
instead of being printed to the terminal.
Fixed
- Laptop screen layout: On smaller laptops, users previously had to scroll constantly. Many UI elements are now more compact and better sized for smaller screens.
- Critical unzip bug: When extracting a ZIP file that exceeded the remaining logical space, the cleanup logic called
os.RemoveAll(dest)— wheredestwas the extraction target directory. If the ZIP was located at the root of the scope,destequaled the scoped folder itself, causing the entire host directory to be deleted.
Downloads
| Platform | Architecture | Format | Download |
|---|---|---|---|
| Linux | x86_64 | tar.gz | folderhost-linux-amd64.tar.gz |
| Linux | ARMv7 (32-bit) | tar.gz | folderhost-linux-armv7.tar.gz |
| Linux | ARM64 | tar.gz | folderhost-linux-arm64.tar.gz |
| Windows | x86_64 | zip | folderhost-windows-amd64.zip |
| macOS | Intel | tar.gz | folderhost-macos-intel.tar.gz |
| macOS | Apple Silicon (M1/M2/M3) | tar.gz | folderhost-macos-applesilicon.tar.gz |
| FreeBSD | x86_64 | tar.gz | folderhost-freebsd-amd64.tar.gz |
| Docker | Multi-arch | image | docker pull mertjsx/folderhost:v26.10.0 |
Docker Usage
# Pull the image
docker pull mertjsx/folderhost:v26.10.0
# Or use latest
docker pull mertjsx/folderhost:latest
# Run with docker-compose
# Download docker-compose.prod.yml from repository
docker-compose -f docker-compose.prod.yml up -dImportant: The application will use port 5000 by default, but you can change this in config.yml and update the port mapping in docker-compose.prod.yml accordingly.
Quick Start
Linux (x86_64)
# Download and extract
wget https://github.com/MertJSX/folderhost/releases/download/v26.10.0/folderhost-linux-amd64.tar.gz
tar -xzf folderhost-linux-amd64.tar.gz
chmod +x folderhost-linux-amd64
# Run
./folderhost-linux-amd64Windows
# Download, extract, and run
# Edit config.yml as needed
folderhost.exe # Or just double clickDocker
# Run container, you can access the files using docker volumes
docker run -d \
--name folderhost-server \
-p 5000:5000 \
-v folderhost_data:/app \
--restart unless-stopped \
mertjsx/folderhost:v26.10.0Manual Configuration
- Extract the downloaded archive (for binary installations)
- Run the application once to generate
config.yml - Edit
config.ymlto customize settings (especially the port if needed) - For Docker: Update the port mapping in
docker-compose.prod.ymlif you changed the port inconfig.yml - Restart the application
For issues and questions, please visit the GitHub Issues page.