Skip to content

Simple http server in Rust (Windows/Mac/Linux)

License

Notifications You must be signed in to change notification settings

dalioer/simple-http-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How it looks like?

Screenshot

Command Line Arguments

Simple HTTP(s) Server 0.4.5

USAGE:
    simple-http-server [FLAGS] [OPTIONS] [--] [root]

FLAGS:
        --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)
    -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]
    -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]

ARGS:
    <root>    Root directory

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, modfiled 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
  • (default disabled) HTTP Basic Authentication (by username:password)
  • Sort by: filename, filesize, modifled
  • HTTPS support
  • Content-Encoding: gzip/deflate
  • Added CORS headers support
  • Silent mode

About

Simple http server in Rust (Windows/Mac/Linux)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Rust 98.1%
  • Shell 1.9%