mirror of
https://github.com/CyberMind-FR/secubox-deb.git
synced 2026-07-30 00:19:30 +00:00
Build System: - Add image/lib/common.sh with shared build functions - Add profiles for vm-x64, x64-live, rpi400, espressobin-v7 - Add BUILD-SYSTEM.md documentation - Add splash screens (boot.png, tui-splash.sh, kiosk-loading.sh) - Add Plymouth theme for boot splash Package Dependencies: - Fix python3-uvicorn -> python3-uvicorn | python3-pip - Fix python3-fastapi -> python3-fastapi | python3-pip - Fix python3-httpx -> python3-httpx | python3-pip - Allows packages to install when pip-provided deps are used Documentation: - Add Build-System.md wiki page - Update _Sidebar.md with build system links - Add VM-Testing.md improvements Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| debian | ||
| menu.d | ||
| nginx | ||
| www/simplex | ||
| README.md | ||
SecuBox SimpleX
Privacy-focused SimpleX Chat SMP/XFTP server module for SecuBox-DEB.
Overview
SimpleX Chat is a decentralized messaging protocol that provides strong privacy guarantees:
- No user identifiers: Unlike other messaging apps, SimpleX does not assign user IDs
- Zero-knowledge: Server operators cannot see message content or metadata
- Decentralized: Users can run their own servers or use multiple servers
- End-to-end encrypted: All messages are encrypted client-side
This module manages a SimpleX SMP (Simple Messaging Protocol) relay server using Docker or Podman containers.
Features
- SimpleX Chat SMP relay server deployment
- Docker/Podman container management
- TLS certificate generation and management
- Backup and restore functionality
- Connection and queue statistics
- Server configuration via web UI
- Real-time logs viewer
Requirements
- Docker or Podman (container runtime)
- secubox-core
- nginx
Installation
apt install secubox-simplex
API Endpoints
Health & Status
GET /health- Health checkGET /status- Server status
Server Management
GET /server/info- Detailed server informationGET /server/config- Get configurationPOST /server/config- Update configuration
Statistics
GET /stats- Overall statisticsGET /stats/queues- Queue statisticsGET /stats/connections- Active connections
Container Management
GET /container/status- Container statusPOST /container/install- Install serverPOST /container/start- Start containerPOST /container/stop- Stop containerPOST /container/restart- Restart containerDELETE /container- Remove container
TLS Management
GET /tls/status- TLS certificate statusPOST /tls/renew- Generate/renew certificate
Backup & Restore
GET /backup- List backupsPOST /backup/create- Create backupPOST /backup/restore- Restore from backupDELETE /backup/{name}- Delete backup
Utilities
GET /connection-string- Get client connection stringGET /fingerprint- Get server fingerprintGET /logs- View server logsPOST /maintenance/cleanup- Clean old queues
Web Interface
Access the web UI at: https://your-secubox/simplex/
Features:
- Status Tab: Server info, connection string for clients
- Statistics Tab: Queue and connection monitoring
- Configuration Tab: Server settings
- TLS Tab: Certificate management
- Backup Tab: Create and restore backups
- Logs Tab: Real-time log viewer
Usage
Initial Setup
- Navigate to the SimpleX page in SecuBox dashboard
- Enter your server's public address (or leave empty for auto-detect)
- Click "Install SMP Server"
- Wait for container deployment
- Copy the connection string and add to SimpleX Chat app
Adding to SimpleX Chat App
- Open SimpleX Chat app
- Go to Settings -> Network & Servers -> SMP Servers
- Tap "Add Server"
- Paste your server's connection string
- Verify the server fingerprint
Configuration
{
"server_address": "your-domain.com",
"enable_xftp": false,
"log_level": "info",
"max_connections": 10000,
"require_auth": false
}
Files
/usr/lib/secubox/simplex/api/main.py- API backend/usr/share/secubox/www/simplex/- Web interface/etc/secubox/simplex/- Configuration/etc/secubox/simplex/tls/- TLS certificates/var/lib/secubox/simplex/- Data directory/var/lib/secubox/simplex/backups/- Backup storage
Security Considerations
- The SMP server runs in an isolated container
- TLS certificates are stored with restricted permissions (600)
- Server runs as root to manage Docker/Podman (required for container operations)
- All client-server communication is encrypted
- No user data or message content is stored on the server
Ports
- 5223: SMP protocol (SimpleX Messaging Protocol)
- 443: XFTP protocol (optional, for file transfers)
Troubleshooting
Container won't start
# Check Docker/Podman status
systemctl status docker
systemctl status podman
# Check container logs
docker logs simplex-smp
podman logs simplex-smp
Connection issues
# Verify port is listening
ss -tlnp | grep 5223
# Check firewall
nft list ruleset | grep 5223
Reset installation
# Stop and remove container
docker rm -f simplex-smp
# Clear data (warning: removes all server data)
rm -rf /var/lib/secubox/simplex/smp/*
# Reinstall via web UI
License
Proprietary - CyberMind / ANSSI CSPN candidate
Author
Gerald Kerma gandalf@gk2.net CyberMind - https://cybermind.fr