Documentation

Everything from basic installation to building the native C++ core from source.

01Getting Started

Linux

Download the .AppImage or .deb. Make it executable (chmod +x) and run. No dependencies required.

Android

Download the .apk and install it. Ensure you allow “Install from Unknown Sources”.

Windows

Download the .exe installer.

02Security Architecture

Nebula is built to be trustless. Here is how we protect your data:

The Core: A native C++ engine bridging Flutter and TDLib for zero-overhead performance.

Database: SQLite augmented with SQLCipher for full database encryption.

Key Management: AES-GCM encryption keys are generated locally and stored securely using OS-level Keyrings (Linux Secret Service, Android Keystore, Windows Credential Locker).

03Building from Source

Nebula consists of a Dart/Flutter frontend (nebula_client) and a C++ backend (nebula_core).

Prerequisites

Flutter 3.24+CMake 3.20+NinjaAndroid NDK

1.Compiling the C++ Core

Clone the repository and build the nebula_core shared library:

$ cmake -B build && cmake --build build

2.Building the Client

Once the core library is compiled and placed in the appropriate platform folders:

$ flutter build linux --release
$ flutter build apk --release
04Troubleshooting

Linux AppImage not launching

Ensure you have FUSE installed on your system.

Background Sync on Android

If sync stops, check your battery optimization settings and set Nebula to "Unrestricted".