simplewebserver_rs

Crates.iosimplewebserver_rs
lib.rssimplewebserver_rs
version2.2.1
created_at2025-04-16 18:50:59.924968+00
updated_at2025-09-16 20:35:53.409973+00
descriptionA very simple web server for hosting html files.
homepage
repositoryhttps://github.com/Jacoblightning/SimpleWebServer-RS
max_upload_size
id1636819
size47,998
Jacob (Jacoblightning)

documentation

README

SimpleWebServer-RS

A simple web server capable of handling GET requests.

This webserver aims to be performant, secure, and just compliant enough that cURL and web browsers will accept itâ„¢

Installation

From crates.io

cargo install simplewebserver_rs

From GitHub

git clone https://github.com/Jacoblightning/SimpleWebServer-RS
cd SimpleWebServer-RS
cargo install --path .

Then remove the directory if you want

Usage

Host files in current directory:

You can do that:

simplewebserver_rs

Blacklist a file(s) from being hosted:

You can do that:

simplewebserver_rs -b file1 -b file2 -b file3 ...

Implement an extremely strict ratelimit policy but only enforce it for 5 seconds:

You can even do that:

simplewebserver_rs -r 2 -d 5

Implement an even worse ratelimit policy so you can brag that your webserver is set up like R2-D2:

...

simplewebserver_rs -r 2 -d 2

um... anyway

Anything else?

Most other things (and this) that you can do are explained in the help message.

For example, for v1.0.0:

A very simple web server for hosting html files.

Usage: simplewebserver_rs [OPTIONS] [BINDTO] [PORT]

Arguments:
  [BINDTO]  [default: 127.0.0.1]
  [PORT]    [default: 8080]

Options:
  -q, --quiet                  Disable logging.
  -v, --verbose                Use verbose output
      --enablelogfiles         Use log files in addition to logging on stdout/err
  -r, --ratelimit <RATELIMIT>  Maximum requests per minute before rate-limiting. 0 to disable [default: 120]
  -d, --timeout <TIMEOUT>      Timeout in seconds after exceeding ratelimit [default: 180]
  -b, --blacklist <BLACKLIST>  Files to blacklist from serving. (Defaults to log files)
      --testing                Indicates that the program is being in test mode.
  -h, --help                   Print help
  -V, --version                Print version

Upcoming features?

Check TODO.md

Why use this?

See whythis.md

Commit count: 83

cargo fmt