11 releases
Uses old Rust 2015
0.3.5 | Feb 5, 2018 |
---|---|
0.3.4 | Feb 4, 2018 |
0.3.2 | Dec 5, 2017 |
0.3.1 | Oct 24, 2017 |
0.1.4 | Oct 15, 2017 |
#91 in #file-server
24KB
412 lines
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 theupdate
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 .
Dependencies
~13–28MB
~450K SLoC