CLI proxy server
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ci
src
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
LICENSE
README.md
appveyor.yml

README.md

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

Pre-compiled executables

See releases

Build from crates.io

cargo install cli-proxy

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
  • If you've downloaded a binary release, you can update to latest GitHub release via: 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 .