SMS, MMS and Matrix in one inbox on SouveraineOS.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Source publisher d1fd5e5229 source: advance the checked projection
Source-Sha: e94a3035df11c43e0a89eb558c8160f49c4bf8f7
Policy-Sha: 931e614b3eb4734781ac19a9305b5a058a3fd73a59c33294fe348a05cd4284b7
Tree-Digest: 39d07957f25423dea8332cfb1ad83fa92c2512b32ec5beb3dba824f7d0a1e556
2026-10-25 16:10:58 +00:00
.cargo source: advance the checked projection 2026-10-25 16:10:58 +00:00
crates source: advance the checked projection 2026-10-25 16:10:58 +00:00
data source: advance the checked projection 2026-10-25 16:10:58 +00:00
packaging/arch source: advance the checked projection 2026-10-25 16:10:58 +00:00
public-docs source: advance the checked projection 2026-10-25 16:10:58 +00:00
scripts source: advance the checked projection 2026-10-25 16:10:58 +00:00
vendor/souveraine-networking source: advance the checked projection 2026-10-25 16:10:58 +00:00
.gitignore source: advance the checked projection 2026-10-25 16:10:58 +00:00
Cargo.lock source: advance the checked projection 2026-10-25 16:10:58 +00:00
Cargo.toml source: advance the checked projection 2026-10-25 16:10:58 +00:00
LICENSE source: advance the checked projection 2026-10-25 16:10:58 +00:00
README.md source: advance the checked projection 2026-10-25 16:10:58 +00:00

Culver

Culver brings SMS, MMS and Matrix into one inbox on SouveraineOS. Close the window. The receiver keeps running.

SouveraineOS integration comes first. Full compatibility with other platforms follows.

Features

  • SMS through ModemManager; MMS through mmsdtng.
  • Matrix rooms, threads, reactions, edits and favorites.
  • Local contacts, photos and vCard import/export.
  • Call controls, recent calls and voicemail actions.
  • Message Sync between paired devices over VPN.
  • Song details from Player, added to an unsent draft.

Culver uses Rust and Qt/QML. Contacts and SMS/MMS history live in an encrypted local database.

Build

Use Rust/Cargo, Clang, CMake, Ninja, pkg-config, Qt 6 Base, Declarative and Tools, OpenSSL and SQLite. Tests also need D-Bus. See the Arch recipe for package dependencies.

cargo build --workspace --locked
cargo test --workspace --locked

Run

Culver needs session and system D-Bus and an unlocked Secret Service provider. Contact export uses Souveraine's passphrase-verification service.

SMS needs a supported modem; MMS needs carrier configuration; Matrix needs an account and homeserver. Message Sync uses Souveraine's identity and session services, with pairing and consent on both devices.

The package installs receiver and window services. For development:

cargo run --locked -p culver -- --receiver
# In another terminal:
cargo run --locked -p culver

Rust crates are in crates/; QML is in crates/app/qml/. See the changelog.

License

AGPL-3.0-or-later.