Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

TheWaWaR/simple-http-server

Repository files navigation

How it looks like?

Screenshot

Command Line Arguments

Simple HTTP(s) Server 0.6.3
USAGE:
 simple-http-server [FLAGS] [OPTIONS] [--] [root]
FLAGS:
 --coep Add "Cross-Origin-Embedder-Policy" HTTP header and set it to "require-corp"
 --coop Add "Cross-Origin-Opener-Policy" HTTP header and set it to "same-origin"
 --cors Enable CORS via the "Access-Control-Allow-Origin" header
 -h, --help Prints help information
 -i, --index Enable automatic render index page [index.html, index.htm]
 --nocache Disable http cache
 --norange Disable header::Range support (partial request)
 --nosort Disable directory entries sort (by: name, modified, size)
 -s, --silent Disable all outputs
 -u, --upload Enable upload files (multiple select) (CSRF token required)
 -V, --version Prints version information
OPTIONS:
 -a, --auth <auth> HTTP Basic Auth (username:password)
 --cert <cert> TLS/SSL certificate (pkcs#12 format)
 --certpass <certpass> TLS/SSL certificate password
 -c, --compress <compress>...
 Enable file compression: gzip/deflate
 Example: -c=js,d.ts
 Note: disabled on partial request!
 --ip <ip> IP address to bind [default: 0.0.0.0]
 -p, --port <port> Port number [default: 8000]
 --redirect <redirect> takes a URL to redirect to using HTTP 301 Moved Permanently
 -t, --threads <threads> How many worker threads [default: 3]
 --try-file <PATH>
 serve this file (server root relative) in place of missing files (useful for single page apps) [aliases:
 try-file-404]
 -l, --upload-size-limit <upload_size_limit> Upload file size limit [bytes] [default: 8000000]

Website hosting example

  • Point the program to the website folder
  • The Home page of the website should be available on the root of the folder
  • The Home page should be named as index.html
simple-http-server -i -p 80 folder-name

This command will use the port 80 (the certified port for HTTP servers), you can change as you wish.

Installation

Download binary

Goto Download

  • windows-64bit
  • osx-64bit
  • linux-64bit

Install by cargo

# Install Rust
curl https://sh.rustup.rs -sSf | sh
# Install simple-http-server
cargo install simple-http-server
rehash
simple-http-server -h

Features

  • Windows support (with colored log)
  • Specify listen address (ip, port)
  • Specify running threads
  • Specify root directory
  • Pretty log
  • Nginx like directory view (directory entries, link, filesize, modified date)
  • Breadcrumb navigation
  • (default enabled) Guess mime type
  • (default enabled) HTTP cache control
    • Sending Last-Modified / ETag
    • Replying 304 to If-Modified-Since
  • (default enabled) Partial request
    • Accept-Ranges: bytes([ByteRangeSpec; length=1])
    • [Range, If-Range, If-Match] => [Content-Range, 206, 416]
  • (default disabled) Automatic render index page [index.html, index.htm]
  • (default disabled) Upload file
    • A CSRF token is generated when upload is enabled and must be sent as a parameter when uploading a file
  • (default disabled) HTTP Basic Authentication (by username:password)
  • Sort by: filename, filesize, modified date
  • HTTPS support
  • Content-Encoding: gzip/deflate
  • Added CORS headers support
  • Silent mode

AltStyle によって変換されたページ (->オリジナル) /