Lipwig
Lipwig is the reference implementation of SSMP,
the Stupid-Simple Messaging Protocol, which aims to be a minimalist alternative
to XMPP, STOMP and similar protocols.
License
BSD 3-clause, see accompanying LICENSE file.
Dependencies
Required:
Optional:
- gockerize
to build a minimal docker container
Package layout
aerofs.com/lipwig/ standalone server
ssmp common code shared by client and server libraries
server server library
client client library
Protocol support
The following optional SSMP features are supported:
- anonymous login
- client certificate authentication, w/ arbitrary path suffix
- shared secret authentication
- open login (i.e. unauthenticated)
Usage
Usage of ./lipwig:
-cacert="" Path to CA certificate
-cert="" Path to server certificate
-host="" TLS hostname
-insecure=false Disable TLS
-key="" Path to server private key
-listen="0.0.0.0:8787" Listening address
-open=false Enable open login
-secret="" Path to shared secret
Although correctness and simplicity are the primary concerns in a reference
implementation, lipwig is designed to scale. The amount of memory per active
connection is very low (a few kilobytes) and given enough network bandwidth
the server can handle upwards of 1 million messages per second on a laptop.
Don't take our word for it: run ssmperf
on your own machine and see for yourself.