github MertJSX/folderhost v26.10.0
Release v26.10.0

3 hours ago

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, while example.com requires
      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 both upload_files and delete permissions.
  • 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-icons updated 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 in default_config.yml embedded 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) — where dest was the extraction target directory. If the ZIP was located at the root of the scope, dest equaled 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 -d

Important: 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-amd64

Windows

# Download, extract, and run
# Edit config.yml as needed
folderhost.exe # Or just double click

Docker

# 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.0

Manual Configuration

  1. Extract the downloaded archive (for binary installations)
  2. Run the application once to generate config.yml
  3. Edit config.yml to customize settings (especially the port if needed)
  4. For Docker: Update the port mapping in docker-compose.prod.yml if you changed the port in config.yml
  5. Restart the application

For issues and questions, please visit the GitHub Issues page.

Don't miss a new folderhost release

NewReleases is sending notifications on new releases.