Private messaging on the Lux Network - A fork of Session iOS
Lux Messenger iOS is a fork of Session iOS, intended to connect to the Lux Network's SessionVM instead of the Oxen network. This app provides end-to-end encrypted messaging with post-quantum cryptographic protection.
Integration Status: In Progress
The iOS app currently uses libsession-util for networking, which has hardcoded network endpoints. Full integration with the Lux SessionVM requires modifications to the underlying C++ library.
- Building and running the app
- Core messaging functionality (against Session mainnet)
- Network configuration to connect to Lux SessionVM
- libsession-util modifications for custom network support
- Branding updates (Lux Messenger)
- Xcode 15.0+
- iOS 15.0+ deployment target
- CocoaPods
- Clone the repository:
git clone https://github.com/lux-tel/session-ios
cd session-ios- Install dependencies:
pod install- Open the workspace:
open Session.xcworkspace- Build and run in Xcode.
Session (iOS App)
├── SessionMessagingKit # Message handling, encryption
├── SessionNetworkingKit # Network layer (uses LibSession)
├── SessionUtilitiesKit # Shared utilities
└── SessionUIKit # UI components
SessionNetworkingKit
└── LibSession+Networking.swift
└── libsession-util (C++ native library)
└── Hardcoded network endpoints
The network configuration in iOS is handled by libsession-util, a C++ library with hardcoded endpoints:
// In libsession-util/src/session_network.cpp
constexpr auto file_server = "filev2.getsession.org"sv;To enable Lux network connectivity:
-
Modify libsession-util (
lux-tel/libsession-util)- Add environment-based configuration
- Support custom seed node URLs
- Support custom file server URLs
-
Update iOS integration
- Pass Lux network configuration to LibSession
- Update UI branding
| Repository | Description |
|---|---|
| luxfi/session | Go SessionVM + API layer |
| luxcpp/session | C++ storage server |
| lux-tel/libsession-util | Native library (needs modification) |
| lux-tel/session-desktop | Desktop client (configured) |
| lux-tel/session-android | Android client |
| File | Description |
|---|---|
SessionNetworkingKit/SessionNetwork/SessionNetwork.swift |
Network API server config |
SessionNetworkingKit/LibSession/LibSession+Networking.swift |
LibSession integration |
SessionUtilitiesKit/General/Feature.swift |
Feature flags |
Session/Meta/SessionApp.swift |
App entry point |
Feature flags can be enabled in developer settings for debugging:
forceOffline- Test offline behaviortruncatePubkeysInLogs- Privacy in debug logs
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
GPL-3.0 - Same as upstream Session iOS
This project is a fork of Session iOS by the Session Technology Foundation.