Skip to content

bohdaq/rust-web-server

Repository files navigation

rws

rws — fast, reliable and secure webserver.

Fast. Compiled to native binary for maximum performance.

Reliable. Does not rely on garbage collector, no performance degradation.

Secure. Provides read-only access to files, eliminating most of the attacks.

Download

Download binary from Google Drive.

Installation

Open INSTALL for details.

Configuration

Open CONFIGURE for details.

Frequently Asked Questions

Open FAQ for details.

Documentation

Open documentation for details.

Development

Open DEVELOPER for details.

Community

Use GitHub discussions, issues and pull requests.

There is Rust Web Server Discord where you can ask questions and share ideas.

Follow the Rust code of conduct.

Features

  1. Cross-Origin Resource Sharing (CORS). Allowing resources to be used on other domains can be crucial for providing APIs and services. Knowing how cumberstone and difficult is the process to setup the CORS, server ships with CORS enabled to all requests by default.
  2. HTTP Range Requests. Server supports requests for the part of the file, or several different parts of the file.
  3. HTTP Client Hints. Proactively asking client browser for suitable additional information about the system.
  4. X-Content-Type-Options set to nosniff, prevents from MIME type sniffing attacks.
  5. X-Frame-Options. Site is not allowed to be embedded into iframe on other domains.
  6. Symlinks. You can have symlinks in your folder and they will be resolved correctly.
  7. Caching done right. It means no caching and therefore no outdated uncontrollable resources.
  8. Resolving .html files without .html in path. It means if you try to open /some-html-file it will open file some-html-file.html and won't show 404 not found error. Same applies for folders. If you try to open /folder it will open file folder/index.html
  9. Extensive logging. It means server prints the request-response pairs as they are so you can see all the details like request method, path, version and headers.
  10. No third party dependencies.

Donations

PayPal page to send donations, so I can buy some whole plant food, or open vinyl pressing facility or spend my time snowboarding, whatever.

Links

  1. Rust TLS Server
  2. http-to-https-letsencrypt
  3. Rust Web Framework
  4. crypto-ext
  5. file-ext