Skip to content

Repository files navigation

FolderHost

A lightweight, single-executable HTTP file server for Windows. Share any folder instantly with a modern retro-terminal web interface.

Features

  • Single EXE - No dependencies, no installation required
  • Modern Retro UI - Terminal-style interface with scanlines, phosphor green on CRT black
  • Directory Navigation - Browse subdirectories, go back with [ .. ] button
  • File Operations - Upload, download, create folders, delete files/folders
  • Drag & Drop - Drop files directly into the browser to upload
  • Password Protection - Optional authentication via settings
  • Network Access - Choose localhost, LAN, or all interfaces
  • Configurable Port - Set custom port via settings
  • Auto Port Discovery - Automatically finds next available port if default is busy

Quick Start

  1. Download FolderHost.exe
  2. Place it in any folder you want to share
  3. Run it
  4. Open the URL shown in the console
  ========================================
         FOLDER HOST SERVER
  ========================================

  Folder: C:\Users\Example\Documents

  URLs:
    http://localhost:8080/Documents/
    http://192.168.1.100:8080/Documents/

  Authentication: Disabled
  Listening: 0.0.0.0:8080

  Open settings.json to configure password and network settings
  Press Ctrl+C to stop
  ========================================

Configuration

Settings are stored in settings.json (created automatically on first run):

{
  "Password": "",
  "ListenIP": "localhost",
  "Port": 8080
}

Listen IP Options:

Value Description
localhost Only accessible from this computer (default)
lan Accessible from local network - shows your LAN IP
0.0.0.0 Accessible from all network interfaces

Password: Leave empty to disable authentication, or set any password string.

Web UI Settings: Click [ SETTINGS ] button in the top-right corner to configure:

  • Password (enable/disable authentication)
  • Listen IP (localhost/lan/all interfaces)
  • Port number

Note: IP and Port changes require restarting the application to take effect.

Building from Source

Requirements:

  • .NET 8 SDK or later
git clone <repository-url>
cd FolderHost
dotnet publish -c Release

The executable will be at:

FolderHost/bin/Release/net8.0/win-x64/publish/FolderHost.exe

Usage

Action Description
Click folder Navigate into directory
[ .. ] Go back to parent directory
[ UPLOAD ] Select file to upload to current directory
[ NEW DIR ] Create new subdirectory
[ REFRESH ] Reload file list
[ SETTINGS ] Configure password and network
[ GET ] Download file
[ DEL ] Delete file/folder
Drag & Drop Upload file to current directory

Interface

+============================================+
| [ FILE BROWSER ]           [ SETTINGS ]    |
| PATH: /subfolder/documents                |
+============================================+
| [ UPLOAD ]  [ NEW DIR ]  [ REFRESH ]      |
+--------------------------------------------+
| [DIR]  folder_name     2024-01-15 10:30   |
| [FILE] document.txt    15 KB | 10:30      |
| [FILE] image.png     2.5 MB | 09:15       |
+--------------------------------------------+

Security Notes

  • Only files within the shared folder (and subdirectories) are accessible
  • Path traversal attacks are blocked
  • Session-based authentication with cookie when password is enabled
  • Files with names starting with . are visible (hidden files included)
  • When using 0.0.0.0 or lan, consider firewall settings

Technical Details

  • Built on .NET 8 with HttpListener
  • Self-contained single-file deployment (~65MB)
  • No external dependencies
  • Port range: 8080-8179 (auto-increments if port busy)
  • Settings persisted in settings.json

License

MIT License - Use freely for personal and commercial purposes.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages