C++ https libraries

From Bitpost wiki
Jump to: navigation, search

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