cli-proxy

Crates.iocli-proxy
lib.rscli-proxy
version0.3.5
sourcesrc
created_at2017-10-14 02:53:41.643327
updated_at2018-02-05 05:49:31.406799
descriptioncli proxy server
homepage
repositoryhttps://github.com/jaemk/proxy
max_upload_size
id35567
size29,468
James Kominick (jaemk)

documentation

README

proxy

Build status Build Status crates.io:cli-proxy

command-line proxy server

This tool is intended for:

  • A quick stand-in for a real proxy server (For development purposes only).

  • A very simple static site/file server

Installation

See releases,

cargo install cli-proxy,

Or build from source:

  • clone this repo
  • cargo build --release

Updates:

  • Self update functionality (from github releases) is available behind --features update
  • Binary releases are compiled with the update feature
  • proxy self update

Usage

Development proxy

# - listen on `localhost:3000`
# - serve requests starting with `/static/` from the relative path `static/`
# - serve requests starting with `/media/`  from the absolute path `/abs/path/to/media
# - serve requests starting with `/assets/` from the relative path `assets`
# - proxy requests starting with `/api/`    to  `localhost:4001`
# - proxy requests starting with `/status/` to  `localhost:4002`
# - proxy remaining requests to `localhost:3002`
proxy serve \
    --port 3000 \
    --static /static/,static/ \
    --static /media/,/abs/path/to/media \
    -s /assets/,assets \
    --sub-proxy /api/,localhost:4001 \
    -P /status/,localhost:4002 \
    localhost:3002

Static site server

# - generate crate documentation
cargo doc

# - serve / request with target/doc/<crate>/index.html
# - serve static files starting with "/" from target/doc
# - serve static files starting with "/" from target/doc/<crate>
proxy serve . \
    --file /,target/doc/<crate>/index.html,text/html \
    --static /,target/doc \
    --static /,target/doc/<crate>

Static file server

# - serve static files from the current directory
proxy fs .
Commit count: 47

cargo fmt