A zero-configuration Rust CLI for instantly serving any local directory over HTTP.
Find a file
2025-06-19 10:38:25 -05:00
src Major rewrite, automatic path, smaller binary 2025-06-19 10:38:25 -05:00
.gitignore Initial Commit 2025-05-29 11:55:29 -05:00
Cargo.lock Major rewrite, automatic path, smaller binary 2025-06-19 10:38:25 -05:00
Cargo.toml Major rewrite, automatic path, smaller binary 2025-06-19 10:38:25 -05:00
README.md Major rewrite, automatic path, smaller binary 2025-06-19 10:38:25 -05:00

quickstart

A zero-configuration Rust CLI for instantly serving any local directory over HTTP.

Features

  • Static file serving with index.html fallback and directory listings
  • Zero-configuration: serve the current directory immediately with sensible defaults
  • Flexible options to override directory, port, and bind address
  • Graceful shutdown on Ctrl+C
  • Tiny release binary (~650KB)

About

quickstart takes any local directory and serves it over HTTP instantly, letting you:

  • Bypass CORS restrictions when loading local files in browsers
  • Easily test static websites or single-page apps without complex server configuration
  • Quickly share files over your local network

Installation

Windows

  • Download the latest executable from the releases page and double-click it to auto-install; then follow the Add to PATH instructions below, and delete the executable from your Downloads folder.

From Source

git clone https://git.caileb.com/Caileb/quickstart.git
cd quickstart
cargo build --release

Auto-Install Command

Use the built-in installer to copy quickstart into your user-local bin:

quickstart install

By default, this installs to:

  • Unix/macOS: $HOME/.quickstart/bin
  • Windows: $env:USERPROFILE\.quickstart\bin (same as double-click)

Add to PATH

quickstart automatically attempts to add itself to your PATH on first run. If this succeeds, you'll see a confirmation message. You may need to restart your terminal/IDE for PATH changes to take effect.

If automatic setup fails, manually ensure your local bin directory is in your PATH:

Windows (PowerShell)

$env:Path += ";$env:USERPROFILE\.quickstart\bin"

Unix/macOS (bash/zsh)

export PATH="$HOME/.quickstart/bin:$PATH"

Usage

quickstart [OPTIONS]

Examples

Serve the current directory on localhost port 8080:

quickstart
# Serving C:\Users\Caileb\Downloads at http://127.0.0.1:8080

Serve the public directory on port 3000:

quickstart -d public -p 3000

Serve on all network interfaces (for LAN sharing):

quickstart -b 0.0.0.0 -p 8080