C++ https libraries
Summary
LIBRARY | ab MB/sec | ab pages/sec | SSL LABS SCORE | EASE | WS? | COMMENTS |
apache | A | 3 | N | need to write a module, apache remains in charge of message loop (unacceptable) | ||
libwebsockets | 7 | Y | ||||
proxygen | 7 | only easy on ubuntu 14.04; huge kitchen sink of helpers | ||||
Simple-Web-Server | B | 10 | Y | websockets in a seperate compatible project; may be able to leverage asio to improve score (capped by RC4); no forward secrecy; needed to provide better CRT chain (that's on me) | ||
websocketpp | uses asio, specifies a "modern" mode that only allows TSL1.2 | |||||
mongoose | 3 | messy ton of hand-crafted portability C code scared me off | ||||
onion | looks like a strong C lib | |||||
libmicrohttpd | GNU c lib, not sure it supports modern algos, check score... | |||||
restbed | Check score... |
websocketpp
To install:
# on bitpost m@bitpost ~/development $ git clone --bare --shared --mirror git@github.com:zaphoyd/websocketpp.git
# on melange or other client # Fix up boost if you installed it with my normal install scripts, # because the lib is going to look in hardcoded (boost)/stage/lib cd ~/development/boost_1_61_0/stage ln -s ../lib . cd ~/development git clone bitpost.com:development/websocketpp cd websocketpp sudo apt-get install scons export BOOST_ROOT=/home/m/development/boost_1_61_0 scons -j 4
proxygen
libwebsockets
older notes
c++ websockets with asio, header-only! https://github.com/zaphoyd/websocketpp https://www.zaphoyd.com/websocketpp/manual/building-program-websocket https://github.com/AndriusA/ws-perftester <--- client stress tester that uses wspp
https://github.com/eidheim/Simple-Web-Server <--- up and running and tested in no time https://github.com/eidheim/Simple-WebSocket-Server <--- hard to merge with SWS? shouldn't be
https://libwebsockets.org/ -- works great for ws, does it do https well? I know it well from causam
https://github.com/cesanta/mongoose ----- robust and ugly cross-platform C hackery
this beast from facebook looks good too but no websockets: https://github.com/facebook/proxygen
another https://github.com/uWebSockets/uWebSockets
good old apache will give you everything you need, slowly (mod is fastest way) http://httpd.apache.org/docs/2.4/developer/modguide.html http://stackoverflow.com/a/20921469/717274
https://github.com/davidmoreno/onion looks like a decent C lib
http://www.gnu.org/software/libmicrohttpd/ gnu contribution, doesn't sound modern tho? check score
https://www.chilkatsoft.com/refdoc/vcCkSocketRef.html this is a huge pile not sure how tested or capable or anything