the simplest cross-platform http server framework for c++
libero is a lightweight, efficient HTTP server designed for simple web application hosting. Built using modern C++ practices, it offers an easy-to-use interface for serving HTML content, with capabilities for request handling and dynamic content rendering.
This project is structured to separate core functionalities such as TCP connection handling, HTTP server implementation, and HTML rendering, making it easily extendable for further development.
To get started with libero, simply clone the repository and build the project using cmake
.
git clone https://github.com/bayernmuller/libero.git
cd libero
mkdir build && cd build
cmake ..
make
And install the framework on your system.
sudo make install
Now you can use libero
in your C++ projects by including the header file and linking the library.
g++ -std=c++11 -o your_project your_project.cpp -llibero
After the installation, You can check out the examples
directory for sample applications built using libero. The hello_world
example demonstrates a simple HTML server, while the introduction
example showcases the use of dynamic content rendering.
Build the examples
using the following commands:
cd examples
./build-examples.sh
And run the introduction
example to see libero in action.
./introduction.out &
open http://localhost:8500
- Cross-Platform: libero is designed to work on all major operating systems, including Windows, MacOS, and Linux.
- Simple Interface: The server is designed to be easy to use, with a simple API for serving HTML content.
- Efficient: The server is built using modern C++ practices, making it efficient and performant.
- Extendable: The project is structured to allow for easy extension and modification, with separate modules for core functionalities.
We welcome contributions from the community! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
This project is developed and maintained by BayernMuller.