/GenHTTP

Lightweight web server written in pure C# with few dependencies to 3rd-party libraries.

Primary LanguageC#MIT LicenseMIT

GenHTTP Webserver

GenHTTP is a lightweight web server written in pure C# with few dependencies to 3rd-party libraries. The main purpose of this project is to serve small web applications written in .NET, allowing developers to concentrate on the functionality rather than on the infrastructure.

As an example, the website of this project is hosted on a Raspberry Pi behind a GenHTTP-based reverse proxy: genhttp.org

CI Coverage nuget Package

Getting Started

To create a simple hello world project, follow the official starting guide.

Building the Server

To build the server from source, clone this repository and run the playground project launcher for .NET Core:

git clone https://github.com/Kaliumhexacyanoferrat/GenHTTP.git
cd ./GenHTTP/Playground
dotnet run

This will build the playground project launcher for .NET Core with all the server dependencies and launch the server process on port 8080. You can access the playground in the browser via http://localhost:8080.

History

The web server was originally developed in 2008 to run on a netbook with an Intel Atom processor. Both IIS and Apache failed to render dynamic pages on such a slow CPU back then. The original project description can still be found on archive.org. In 2019, the source code has been moved to GitHub with the goal to rework the project to be able to run dockerized web applications written in C#.

Related Projects

Thanks