Open-source C++ projects categorized as HTTP

Top 23 C++ HTTP Projects

  • aria2

    aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.

    Project mention: Torrent Download CLI | reddit.com/r/commandline | 2023-02-06

    i don't know about a cli tool you could use to search and download torrent files but aria2 is a CLI tool that's capable of downloading torrents

  • µWebSockets

    Simple, secure & standards compliant web server for the most demanding of applications

    Project mention: Nuklear – A single-header ANSI C immediate mode cross-platform GUI library | news.ycombinator.com | 2022-12-23

    Not exaclty -- it looks like it's pretty overkill for my needs

    I'm looking for something more like websocketpp[0], or even just grpc without a requisite proxy. uWebsockets looks really promising, being header only, but in the fine print requires a runtime library. unfortunately, none of that ecosystem seems to use cmake, making integrating it that much more of a pain.

    why use cpp for this, I'm sure some HNer will ask. the ray tracer itself is using cuda, that's why. I've also debated

    - running it as a grpc server and having some proxy in a more web-accessible language

    - creating python bindings and using python to make a websocket/http server for it

    neither of those are out of the question, but they're not my first choices, because I'd like to keep the build & execution simple. introducing dependencies, especially other executables, is in conflict with that.

    i don't need anything particularly scalable -- a threaded implementation, or one using select() would be fine, if not preferable.

    [0] https://docs.websocketpp.org/

    [1] https://github.com/uNetworking/uWebSockets

  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • C++ Workflow

    C++ Parallel Computing and Asynchronous Networking Engine

    Project mention: Workflow v0.10.3 Released, Add WFRepeaterTask for Repeating Asynchronous Operations and Other New Features. | reddit.com/r/cpp | 2022-08-28

    Reference: https://github.com/sogou/workflow/releases/tag/v0.10.3

  • Apache Thrift

    Apache Thrift

    Project mention: Symfony in microservice architecture - Episode I : Symfony and Golang communication through gRPC | dev.to | 2022-08-20

    There are various notable implementations of RPC like Apache Thrift and gRPC.

  • cpp-httplib

    A C++ header-only HTTP/HTTPS server and client library

    Project mention: PocketPy: A Lightweight(~5000 LOC) Python Implementation in C++17 | reddit.com/r/cpp | 2023-02-06

    Every one of these libraries uses CMake to make it easier for end users to consume their libraries. In fact your example uses CMake as well such that I can consume it the way I describe above.

  • drogon

    Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows

    Project mention: Ask HN: Easiest and cheapest full-stack frameworks that you love? | news.ycombinator.com | 2023-02-09

    talking about C++, there are drogon framework: https://github.com/drogonframework/drogon

    not bells and whistles like on Wt as there are no integrated widgets. But have c++ based template (for HTML) engine and other integrated parts what you expect from framework (routing, controllers, db, authentication handling and so on).

    and boasts high performance design

  • C++ REST SDK

    The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

    Project mention: C++ REST API Framework | reddit.com/r/cpp_questions | 2022-11-26
  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • uWebSockets.js

    μWebSockets for Node.js back-ends :metal:

    Project mention: KitaJs Survey - No runtime code, fast as bare metal and top level framework. | reddit.com/r/typescript | 2022-12-09

    The fastest node framework is uWebSockets (as they claim, I didn't try it yet), so if Kita's goal is to maximize performance - you should check on it.

  • cpr

    C++ Requests: Curl for People, a spiritual port of Python Requests.

    Project mention: Trying to use libcpr, linking errors - newbie... | reddit.com/r/cpp_questions | 2022-12-03

    So I'm very new to C++ and I'm trying to write a C++ version of a tool that I put together in Python. I'm trying to use libcpr for all my HTTP needs. I've spent the day trying to get it set up and working, but I'm getting a bunch of linking errors when I try to run. I really don't know if I did the building of it correctly, I'm trying to use Visual Studio Community 2022 and the Usage section of their docs talks about CMake and a couple package manager methods.

  • Boost.Beast

    HTTP and WebSocket built on Boost.Asio in C++11

    Project mention: Learning to build networking applications using C/C++ from scratch | reddit.com/r/cpp_questions | 2023-01-26
  • Restbed

    Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.

    Project mention: How to use C++ as the backend for web dev? | reddit.com/r/learnprogramming | 2022-03-25

    Use a rest api library like https://github.com/corvusoft/restbed. You can use a json library with this to serialize/deserialize your data into json objects.

  • userver

    The C++ Asynchronous Framework (beta)

    Project mention: Who is using C++ for web development? | reddit.com/r/cpp | 2022-10-04

    Yandex uses a lot for backend. Also released this framework

  • Squid

    Squid Web Proxy Cache

    Project mention: How to get my IP traffic data to an AWS lambda using Darkstat? | reddit.com/r/openwrt | 2023-01-27

    I recommend trying a transparent proxy like Squid. There are many analytics tools for Squid logs. Squid can generate TLS certificates on the fly to inspect secure websites but you'll have to generate and install a CA certificate and key into Squid. You'll also have to import the CA certificate on any machine accessing the internet through the Squid proxy. Squid has the added bonus of caching content to speed up web browsing and reduce data usage.

  • Crow

    A Fast and Easy to use microframework for the web. (by CrowCpp)

    Project mention: Crow – Flask in C++ | news.ycombinator.com | 2023-01-06
  • restclient-cpp

    C++ client for making HTTP/REST requests

    Project mention: How do I connect a REST API with C++? | reddit.com/r/cpp_questions | 2022-07-31

    You just need something to talk to a REST API. There are lots of choices. E.g. https://github.com/mrtazz/restclient-cpp or libcurl if you want something lower level.

  • CppServer

    Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution

  • RESTinio

    Cross-platform, efficient, customizable, and robust asynchronous HTTP/WebSocket server C++14 library with the right balance between performance and ease of use

    Project mention: What code/project you saw was both inspiring and maintainable? | reddit.com/r/cpp | 2022-11-01
  • UBoat

    HTTP Botnet

    Project mention: Own mini “botnet” project | reddit.com/r/HowToHack | 2022-05-05

    https://github.com/UBoat-Botnet/UBoat take a look at this

  • libhttpserver

    C++ library for creating an embedded Rest HTTP server (and more)

  • wfrest

    C++ Web Framework REST API

  • Tufão

    An asynchronous web framework for C++ built on top of Qt

  • IXWebSocket

    websocket and http client and server library, with TLS support and very few dependencies

    Project mention: Request for a websocket library | reddit.com/r/cpp | 2022-03-25
  • kiwix-tools

    Command line Kiwix tools: kiwix-serve, kiwix-manage, ...

    Project mention: How to serve content on website over open WiFi for neighborhood ? | reddit.com/r/computerhelp | 2022-11-08
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-02-09.

C++ HTTP related posts


What are some of the best open-source HTTP projects in C++? This list will help you:

Project Stars
1 aria2 29,085
2 µWebSockets 15,089
3 C++ Workflow 9,950
4 Apache Thrift 9,553
5 cpp-httplib 8,693
6 drogon 8,662
7 C++ REST SDK 7,204
8 uWebSockets.js 5,738
9 cpr 5,246
10 Boost.Beast 3,667
11 Restbed 1,772
12 userver 1,520
13 Squid 1,514
14 Crow 1,456
15 restclient-cpp 1,445
16 CppServer 991
17 RESTinio 931
18 UBoat 741
19 libhttpserver 721
20 wfrest 562
21 Tufão 559
22 IXWebSocket 381
23 kiwix-tools 263
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives