Febris delivers training to headsets and desktops, and records what actually happened during the session as xAPI. One node owns everything it needs: identity and accounts, cohorts, curricula and modules, a statement store, usage analytics, and the artifact store that distributes the client software to devices. There is no Febris account, no licence key, and no service the maintainer operates.
Three pieces. A server you run, clients that deliver the training, and an SDK for the people building the simulations.
An ASP.NET Core server you host. It holds your accounts and curricula, ingests xAPI statements from devices, and hands out the client software those devices run.
A Windows suite for desktop simulation, and an Android pair where a Mobile Server distributes modules to headsets over a direct WiFi link and relays their records back.
Drop it into your own simulation to emit conformant statements. C# and C++ produce byte-identical output at the same version, so a mixed estate stays consistent.
All of this is code in the repository rather than a roadmap. Where something is a seam rather than a finished feature, the project says so in its own README.
A Docker Compose stack: Postgres 16, Valkey 8, the API, the portal, and a Caddy reverse proxy that issues its own certificate for local use.
git clone https://github.com/TRget88/Febris_Node.git febris-node && cd febris-node ./selfhost/generate-env.sh docker compose up -d --build
The generated environment file prints your first login. Everything else, including backups, upgrades, TLS and going to production, is in SELF_HOSTING.md.
| Component | Platform | Status |
|---|---|---|
| PC Client Suite | Windows 10 or later, x64 | Not yet published |
| Mobile Server | Android 10 or later, sideloaded | Not yet published |
| Mobile Companion | Android 8 or later, installed onto the headset | Not yet published |
| Simulation SDK for C# | .NET Standard 2.0 | Published |
| Simulation SDK for C++ | Windows x64, MSVC v143, C++17 | Published |
Pre-1.0, and honest about it. Read this before you build on it.
Every version, size and checksum below is read straight from the distribution feed, so this page describes exactly what the feed serves and nothing else. 2 of 5 components are published today, and the rest say so plainly rather than being hidden.
Windows 10 or later, x64
The Windows desktop suite: launcher, module manager, screen recorder, statement manager and progress bar. Runs the simulation session on the learner's machine and reports back to your node.
This client is built but not yet published. It is gated on release signing, and will appear here automatically once the feed carries it.
Android 10 or later, sideloaded
The Android MDM server. Pairs with headsets over WiFi Direct, distributes module archives, and relays learning records back to your node.
This client is built but not yet published. It is gated on release signing, and will appear here automatically once the feed carries it.
Android 8 or later, installed onto the headset
The headset companion. Captures the session on-device and hands statements to the Mobile Server over a direct peer link.
Not a browser download. The Companion is delivered to the headset by your Mobile Server over a direct link, so it installs itself once the Server is paired and pointed at your node.
.NET Standard 2.0
Author conformant xAPI statements from a .NET simulation. Byte-identical output to the C++ SDK at the same minor version.
Add it to a project
dotnet add package Febris.Simulation.XApiSdk --version 0.1.0
Windows x64, MSVC v143, C++17
The native twin of the C# SDK, with a flat C ABI for engines and hosts that cannot consume managed code. Verified byte-identical on every release.
Register the vcpkg registry
vcpkg-configuration.json -> registries -> https://github.com/TRget88/Febris_VcpkgRegistry
Then install
vcpkg install febris-simulation-sdk