C++ https libraries

From Bitpost wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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