Write the protocol. Run the messages. Ship it signed.
SNodeC builds event-driven networking in C++. At its centre is SNode.C, a C++20 framework for Linux; around it are MQTT and AI suites, a coding-agent workspace and signed packages for six Linux distributions.
| Project | What it is for | Status |
|---|---|---|
| SNode.C | Write networked programs and your own protocols in C++: event-driven, with HTTP, WebSocket, SSE and MQTT Quick start · Install · Releases |
|
| MQTTSuite | Run an MQTT broker, translate topics, bridge brokers and store messages Quick start · Install · Releases |
|
| AISuite | Connect applications to coding agents: asynchronous C++ and TypeScript Quick start · Install |
|
| Codex(W)UI | Follow a coding agent's work in a native Qt or browser workspace Quick start · Install |
|
| SNode.C-idp | SNode.C Identity Provider: OAuth2 and OpenID Connect with TOTP multi-factor authentication |
SNode.C and MQTTSuite are available as signed packages from Packages. Pick the guide for your installed distribution; each covers quick and custom installation, manual repository setup and updates.
| Distribution | Install guide |
|---|---|
| OpenWrt | OpenWrt guide |
| Raspberry Pi OS | Raspberry Pi OS guide |
| Debian | Debian guide |
| Ubuntu | Ubuntu guide |
| Rocky Linux | Rocky Linux guide |
| Fedora | Fedora guide |
Supported releases, architectures and current builds: package status.
| Project | Purpose |
|---|---|
| SNode.C-Book-Companion | Examples, exercises and solutions for the book Layered Network Programming with SNode.C |
| Echo | TCP echo server and client demonstrating SNode.C socket contexts |
| Websocket-echo | WebSocket echo server, client and browser demo built on SNode.C |
| Talks | Talks and slides about SNode.C |
Further example programs are listed under More from SNodeC.
Examples — small programs built on SNode.C
| Project | Purpose |
|---|---|
| tiktaktoe | Browser tic-tac-toe game with a SNode.C WebSocket subprotocol |
| ServerClient | Interactive chat server and client built on SNode.C |
| MiniGateway | Simulated measurement gateway with HTTP, server-sent events and MQTT |
| INJA-Templatebuilder | Web interface for rendering Inja templates with JSON data through SNode.C |
Student projects — built in courses and projects
| Project | Purpose |
|---|---|
| IM510-Project | Course forum web application with users, topics, threads and posts |
| snodec-forum-webapp | SNode.C forum web application with a MariaDB backend |
| SnodeCWebForum | SNode.C web forum with users, topics, posts and comments |
| simple-form-snodec | Vue frontend and SNode.C REST backend for a discussion forum |
| mqtt-open-hue | Headless C++ gateway connecting a Philips Hue Bridge with MQTT |
| IOTApplicationDesigner | Visual editor for IoT topics and mappings with import and export |
| mqtt-bridge-config-ui | Graphical editor for MQTTBridge configurations |
| mqttsuite-integrator-rest-api | MQTTIntegrator with a REST admin API for mapping drafts, validation, deployment, rollback and history |
| snode.c-idp | SNode.C Identity Provider: OAuth2 and OpenID Connect with TOTP multi-factor authentication |
Standalone applications — not built on SNode.C
| Project | Purpose |
|---|---|
| AutoTalk | Qt desktop app for timed PDF presentations with narration |
| GpsdOsmViewer | Android app showing gpsd positions on OpenStreetMap |
Infrastructure — package pipeline and organization control
| Project | Purpose |
|---|---|
| DistributionPackages | Build recipes, release CI and signing for distribution packages |
| .github | Organization catalog, profile, brand tokens and reusable CI workflows |
Upstream forks — kept for future work
Archive — retiring and retired
| Project | Purpose |
|---|---|
| SNode.C-Landingpages | Shared landing-page and technical-figure sources · retiring |
| snode.c-doc | Published Doxygen reference for SNode.C · retiring |
| mqttsuite-doc | Published Doxygen reference for MQTTSuite · retiring |
| OpenWRT | Retired predecessor of the distribution package pipeline · retired |
Issues and pull requests are welcome in each project's repository. Read the contribution guidelines first, and report security issues privately as described in the security policy.
Copyright © Volker Christian and contributors. Each project states its own license.
Maintainer: Volker Christian. Contributing · Security