A simple web server made in C++
Find a file
Nicholas Orlowsky ca05aa1e5a
Some checks failed
Docker Build & Publish / build (push) Has been cancelled
event loop with threadmgr
2025-02-21 14:09:01 -05:00
.forgejo/workflows moving ci/cd over to forgejo 2025-02-04 14:53:51 -05:00
.screenshots update readme 2023-09-06 16:52:18 -04:00
benchmarks version 0.2.0 2023-10-20 12:46:30 -04:00
build_supp split into src and lib and socket changes 2025-02-04 11:37:46 -05:00
default_www moving ci/cd over to forgejo 2025-02-04 13:26:54 -05:00
lib event loop with threadmgr 2025-02-21 14:09:01 -05:00
src event loop with threadmgr 2025-02-21 14:09:01 -05:00
tests request parser speed improvements and test updates 2025-02-05 09:07:21 -05:00
.clang-format split into src and lib and socket changes 2025-02-04 11:37:46 -05:00
.clang-tidy split into src and lib and socket changes 2025-02-04 11:37:46 -05:00
.envrc add shell.nix 2025-02-19 23:54:15 -05:00
.gitignore moving ci/cd over to forgejo 2025-02-04 13:26:54 -05:00
CHANGELOG.md event loop with threadmgr 2025-02-21 14:09:01 -05:00
CMakeLists.txt broken ssl 2025-02-17 18:46:33 -05:00
docker-compose.yml moving ci/cd over to forgejo 2025-02-04 13:26:54 -05:00
Dockerfile moving ci/cd over to forgejo 2025-02-04 13:26:54 -05:00
format.sh format + README 2025-02-04 11:44:34 -05:00
README.md moving ci/cd over to forgejo 2025-02-04 13:26:54 -05:00
shell.nix ssl fix 2025-02-20 13:48:30 -05:00

Anthracite

A simple web server written in C++. Supports HTTP 1.0 & 1.1.

Developing

To build/develop Anthracite, you must have C++23, CMake, Make, and Python3 installed.

Create a build/ directory, run cmake .., and then make to build.

Todo

  • HTTP/1.0
  • Serve HTML Pages
  • Properly parse HTTP requests
  • Add module-based backend system for handling requests
  • Multithreading
  • HTTP/1.1
  • Enhance logging
  • Create library that can be used to implement custom backends (i.e. webapi, fileserver, etc)
  • Faster parsing
  • HTTP/2
  • Improve benchmarking infrastructure
  • Fix glaring security issues
  • Proper error handling
  • User configuration
  • Cleanup (this one will never truly be done)

Screenshots

A picture of the default index.html page used by Anthracite A picture of the Anthracite default 404 not found page


"By industry, we thrive"