Skip to content
kalyugwasi edited this page Apr 25, 2026 · 2 revisions

Fortrx-Client Wiki

Welcome to the Fortrx-Client wiki! This wiki provides detailed information and guides for using and developing the Fortrx-Client.

Table of Contents

Overview

The Fortrx-Client is an encrypted terminal interface for the Fortrx messaging system. It focuses on end-to-end encrypted messaging with X3DH / PQXDH-style session bootstrap, local-first chat history stored in an encrypted client database (SQLCipher), and a background daemon for inbox sync, live delivery, and presence updates.

Installation

To install the Fortrx-Client, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Fortrx/Fortrx-Client.git
    cd Fortrx-Client
  2. Install dependencies:

    pip install -r requirements.txt
  3. Ensure a Fortrx-Server is running: The client requires a running Fortrx-Server instance. Refer to the Fortrx-Server README for server setup instructions.

Usage

Quick Start

  1. Log in:

    py run.py login <username> --password <account_password> --storage-password <local_storage_password>
  2. Initialize keys once:

    py run.py init --password <local_storage_password>
  3. Start the background daemon:

    py run.py daemon start --password <local_storage_password>
  4. Send a message:

    py run.py send <recipient_id> "hello" --password <local_storage_password>
  5. View conversations:

    py run.py contacts --password <local_storage_password>
    py run.py inbox --password <local_storage_password>
    py run.py chat <contact_id> --password <local_storage_password>

Common Commands

  • Authentication and setup: register, login, init, verify
  • Messaging: send, inbox, contacts, chat
  • Daemon and sync: daemon start, daemon run, daemon status, daemon stop
  • Offline usage: Use --no-sync with contacts, inbox, chat

Development

Running Tests

pytest

Code Structure

  • CLI entrypoint: run.py
  • Main application logic: client/main.py
  • Local database layer: client/storage/db.py
  • Messaging flow: client/services/messaging.py
  • Daemon service: client/services/daemon.py

Troubleshooting

If you encounter issues, please check the following:

  • Ensure your Fortrx-Server is running and accessible.
  • Verify all dependencies are correctly installed.
  • Check the client logs for error messages.
  • Consult the Fortrx-Client GitHub Issues for known issues or to report a new one.