mini-https
Description
mini-https is a self-contained mini HTTPS server in C/CPP built on the crypery HTTPS Library. It needs no OpenSSL or other external dependencies: the TLS stack, the HTTPS server and all utilities are bundled in one project.
The server accepts HTTP/1.1 requests over TCP or TLS (HTTPS), serves static files from the www/ directory, provides a JSON API, WebSocket and Server-Sent Events, accepts file uploads (multipart) and runs a worker thread pool. All configuration lives in config.json; on first start the file is created automatically with default values.
Modules used
- crypery - HTTPS library: HTTP/1.1 server (routing, static, gzip, WebSocket, SSE, multipart), TLS/SSL stack (handshake, encryption, certificates) and HTTP/HTTPS client
- utilery - utilities: JSON parser, logging module, configuration loading, UTF-8 codec and regular expressions
- zlib - gzip compression/decompression for HTTP responses
- compat.h - portability layer: sockets, threads and synchronization primitives for Windows and POSIX
Technologies
- C/CPP, crypery HTTPS Library (built-in TLS 1.2/1.3 stack)
- utilery (JSON parser, logging, configuration, UTF-8 codec, regular expressions), zlib (gzip), compat.h (portability layer)
- Windows (Winsock) and POSIX (Berkeley sockets + pthreads)
- GCC compiler (MinGW-w64 for Windows)