MatrixSSL is an embedded SSL and TLS implementation designed for small footprint devices and applications requiring low overhead per connection. The library is less than 50Kb on disk with cipher suites. It includes client and server support through TLS 1.2, mutual authentication, session resumption, and implementations of RSA, ECC, AES, 3DES, ARC4, SHA2, SHA1, and MD5. The source is well documented and contains portability layers for additional operating systems, cipher suites, and cryptography providers.
The Noble Ape Simulation is a collection of a number of autonomous simulation components including a landscape simulation, biological simulation, weather simulation, sentient creature (Noble Ape) simulation, and a simple intelligent-agent scripting language (ApeScript). Noble Ape also contains a social simulation where the Noble Apes can be tracked in terms of social groups and also over many generations to explain social phenomenon to users looking to study this kind of interaction. It has been in development for more than a fifteen years.
baresip is a bare-bones SIP user agent. It supports SIP, SDP, RTP/RTCP, and STUN/TURN/ICE, and IPv4 and IPv6, and is RFC-compliant and has portable C89 and C99 source code. A modular plugin architecture provides stdio, cons, and evdev user interfaces, celt, g711, g722, gsm, ilbc, l16, and speex audio codecs, alsa, coreaudio, gst, portaudio, oss, winwav, and mda audio drivers, speex_pp, speex_aec, speex_resamp, and sndfile audio filters, the avcodec video codec, avformat, quicktime, qtcapture, v4l, and v4l2 video sources, sdl, opengl, and x11 video display drivers, and srtp media encoding.
libre is a generic library for real-time communications with asynchronous I/O support. It is written in portable POSIX source code that conforms to the ANSI C89 and ISO C99 standards. It is robust and fast, with a low memory footprint. It also features RFC compliance and support for IPv4 and IPv6. Protocol implementations include SIP, SDP, RTP/RTCP, BFCP, DNS, STUN/TURN/ICE, HTTP, and WebSockets.
Libzdb is a database library with thread-safe connection pooling. The library can connect transparently to multiple database systems. It has zero runtime configuration and connections are specified via a URL scheme. A modern object-oriented API is provided. Libzdb supports MySQL, PostgreSQL, SQLite, and Oracle.
libnode is a C++ implementation of Node.js. Just like Node.js, libnode provides non-blocking I/O, which enables you to develop scalable Web applications in C++. The memory management of libnode is automatic, based on either shared_ptr or bdw-gc. libnode is good to use on embedded devices because its system resource consumption is lower than Node.js.
The dyncall library project provides a clean and portable C interface to dynamically issue foreign function calls using small call kernels written in assembly. Instead of providing code for every bridged function call, which unnecessarily results in code bloat, only a modest number of instructions are used to invoke all calls.
The Open-Transactions project is a collaborative effort to develop a robust, commercial-grade, fully-featured, free-software toolkit implementing a full-strength financial cryptography library, API, CLI, and prototype server. Open-Transactions democratizes financial and monetary actions. You can use it for issuing currencies/stock, paying dividends, creating asset accounts, sending/receiving digital cash, writing/depositing cheques, cashier's cheques, creating basket currencies, trading on markets, scripting custom agreements, recurring payments, escrow, etc. Strong crypto is used. Balances are unchangeable (even by a malicious server). Receipts are destructible and redundant. The transactions are unforgeable. The cash is untraceable. The cheques are non-repudiable.
dnscrypt-proxy acts as a DNS proxy between a regular client, like a DNS cache or an operating system stub resolver, and a DNSCrypt-aware resolver, like OpenDNS. The DNSCrypt protocol focuses on securing communications between a client and its first-level resolver. While not providing end-to-end security, it protects the local network (which is often the weakest link in the chain) against man-in-the-middle attacks. It also provides some confidentiality to DNS queries.