zeekay fdb3dd5d18 Add Lux Network configuration support
- Add environment variable support for custom network endpoints
  (LUX_FILE_SERVER, LUX_NETWORK_SERVER, LUX_PRO_SERVER)
- Create .env.lux example configuration file
- Update README with Lux Messenger branding and configuration docs
- Document how to connect to custom SessionVM
2026-01-29 11:14:35 -08:00
2026-01-29 11:14:35 -08:00
2022-12-08 10:42:48 +11:00
2026-01-29 11:14:35 -08:00
2026-01-09 14:37:58 +11:00
2025-03-12 14:08:42 +11:00
2022-08-22 16:40:14 +10:00
2026-01-09 14:37:58 +11:00
2021-06-01 17:18:46 +10:00
2017-10-20 09:36:49 -07:00
2026-01-16 14:45:34 +11:00
2025-03-11 10:51:04 +11:00
2026-01-22 11:38:57 +11:00

Lux Messenger Desktop

Private messaging on the Lux Network - A fork of Session Desktop

Summary

Lux Messenger is a privacy-focused messaging application built on the Lux Network, leveraging post-quantum cryptography and decentralized storage nodes. This fork connects to the Lux SessionVM instead of the Oxen network.

Architecture

┌──────────────────┐     ┌──────────────────┐     ┌──────────────────┐
│  Lux Messenger   │     │   luxfi/session  │     │ luxcpp/session   │
│    (Desktop)     │────>│   Go VM + API    │────>│  C++ Storage     │
│  TypeScript/     │     │                  │     │  (GPU-accel)     │
│    Electron      │     │ Post-Quantum     │     │                  │
└──────────────────┘     │ Crypto (FIPS)    │     │  ML-KEM-768      │
                         └──────────────────┘     │  ML-DSA-65       │
                                                  └──────────────────┘

Quick Start

1. Configure for Lux Network

Copy the example configuration:

cp .env.lux .env

Or set environment variables directly:

# Point to your Lux seed node
export LOCAL_DEVNET_SEED_URL=http://localhost:22023/

# Optional: custom file server
export LUX_FILE_SERVER=files.lux.network

2. Install Dependencies

npm install

3. Run Development Server

npm run dev

4. Build for Production

npm run build

Configuration

Environment Variables

Variable Description Default
LOCAL_DEVNET_SEED_URL Seed node URL for custom network (none - uses Session mainnet)
LUX_FILE_SERVER File server hostname filev2.getsession.org
LUX_NETWORK_SERVER Network status server networkv1.getsession.org
NODE_APP_INSTANCE testnet for testnet mode (production)
SESSION_DEBUG Enable debug logging (disabled)

Running Against Local SessionVM

  1. Start the Lux SessionVM node:
cd ~/work/lux/session
go run ./cmd/node
  1. Configure desktop to connect:
export LOCAL_DEVNET_SEED_URL=http://localhost:22023/
npm run dev
Repository Description
luxfi/session Go implementation - VM + API layer
luxcpp/session C++ storage server (GPU-accelerated)
luxfi/crypto Post-quantum cryptography (ML-KEM, ML-DSA)
lux-tel/session-ios iOS mobile client
lux-tel/session-android Android mobile client
lux-tel/libsession-util Shared native library

Cryptography

Lux Messenger uses FIPS-compliant post-quantum cryptography:

  • ML-KEM-768 (FIPS 203) - Key encapsulation mechanism
  • ML-DSA-65 (FIPS 204) - Digital signatures
  • XChaCha20-Poly1305 - Symmetric encryption (AEAD)
  • Blake2b-256 - Session ID derivation

Session ID format: 07 + hex(Blake2b-256(KEM_pk || DSA_pk)) = 66 characters

Key Differences from Session

Feature Session Lux Messenger
Network Oxen Service Nodes Lux SessionVM
Cryptography X25519/Ed25519 ML-KEM-768/ML-DSA-65 (post-quantum)
Storage Oxen snodes Lux storage nodes (GPU-accelerated)
Configuration Hardcoded Environment-configurable

Development

Project Structure

ts/
├── session/
│   ├── apis/
│   │   ├── seed_node_api/    # Seed node discovery
│   │   ├── snode_api/        # Storage node API
│   │   └── file_server_api/  # File uploads
│   ├── crypto/               # Cryptographic operations
│   └── onions/               # Onion routing
├── state/
│   └── ducks/types/          # Feature flags
└── preload.js                # Network configuration

Debug Logging

Enable verbose logging for troubleshooting:

export SESSION_DEBUG=1
export SESSION_DEBUG_SWARM_POLLING=1
export SESSION_DEBUG_SNODE_POOL=1
npm run dev

Contributing

  1. Fork this repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

GPL-3.0 - Same as upstream Session Desktop

Upstream

This project is a fork of Session Desktop by the Session Technology Foundation.

S
Description
Session Desktop - A Decentralized, Onion Routed, Private Messenger
Readme
216 MiB
Languages
TypeScript 98.2%
JavaScript 1.1%
SCSS 0.5%