Initial commit: project documentation and progress logs
This commit is contained in:
81
doc/architecture.md
Normal file
81
doc/architecture.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# HELIOS Remote System Architecture
|
||||
|
||||
## 1. High-Level Architecture
|
||||
|
||||
The system follows a Client-Server-Relay model to ensure scalability and bypass NAT restrictions.
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph "Cloud/Data Center (Mini PC Server)"
|
||||
API[API Server - Axum]
|
||||
Relay[Relay Server - Rust]
|
||||
DB[(PostgreSQL)]
|
||||
Cache[(Redis)]
|
||||
end
|
||||
|
||||
subgraph "Remote Target (Office/Home PC)"
|
||||
Agent[Helios Agent]
|
||||
DXGI[DXGI Capture]
|
||||
H264[H264 Encoder]
|
||||
end
|
||||
|
||||
subgraph "Client (Viewer)"
|
||||
Viewer[Helios Viewer - Tauri]
|
||||
end
|
||||
|
||||
Agent <-->|TLS 1.3 / H264| Relay
|
||||
Viewer <-->|TLS 1.3 / H264| Relay
|
||||
Agent <-->|Heartbeat / Control| API
|
||||
Viewer <-->|Auth / Management| API
|
||||
API <--> DB
|
||||
API <--> Cache
|
||||
Relay <--> Cache
|
||||
```
|
||||
|
||||
## 2. Component Details
|
||||
|
||||
### 2.1 API Server (Control Plane)
|
||||
- **Framework:** Rust (Axum)
|
||||
- **Responsibilities:**
|
||||
- User authentication (JWT, OTP)
|
||||
- PC registration and management
|
||||
- Connection logging and auditing
|
||||
- File transfer metadata management
|
||||
|
||||
### 2.2 Relay Server (Data Plane)
|
||||
- **Framework:** Rust (Tokio)
|
||||
- **Responsibilities:**
|
||||
- High-speed packet relay (Screen, Input, File)
|
||||
- NAT Traversal / P2P assistance
|
||||
- Secure TLS 1.3 termination
|
||||
|
||||
### 2.3 Helios Agent (Target)
|
||||
- **Platform:** Windows (WinAPI)
|
||||
- **Responsibilities:**
|
||||
- **Screen Capture:** DXGI Desktop Duplication API for low-latency frames.
|
||||
- **Encoding:** H.264 hardware-accelerated encoding.
|
||||
- **Input Injection:** Simulating mouse/keyboard via WinAPI.
|
||||
- **Service:** Running as a background Windows service.
|
||||
|
||||
### 2.4 Helios Viewer (Client)
|
||||
- **Framework:** Rust + Tauri (Webview/WGPU)
|
||||
- **Responsibilities:**
|
||||
- Remote desktop viewing (H.264 decoding)
|
||||
- Input command transmission
|
||||
- Multi-device management dashboard
|
||||
|
||||
## 3. Data Flow (Screen Sharing)
|
||||
|
||||
1. **Capture:** Agent captures frame via **DXGI**.
|
||||
2. **Encode:** Frame is encoded to **H.264** (Hardware Accelerated).
|
||||
3. **Encrypt:** Encrypted via **TLS 1.3**.
|
||||
4. **Relay:** Sent to **Relay Server** via WebSocket or TCP.
|
||||
5. **Forward:** Relay Server forwards stream to **Viewer**.
|
||||
6. **Render:** Viewer decodes H.264 and displays on screen.
|
||||
|
||||
## 4. Security Model
|
||||
|
||||
- **Transport Security:** All data in transit is protected by TLS 1.3.
|
||||
- **Identity:** JWT-based stateless authentication for APIs.
|
||||
- **Access Control:** Granular permissions (User -> PC -> Feature).
|
||||
- **Audit Trail:** Every connection and file transfer is logged in PostgreSQL.
|
||||
41
doc/development_roadmap.md
Normal file
41
doc/development_roadmap.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# HELIOS Remote v1.0 Development Roadmap
|
||||
|
||||
## 1. Project Overview
|
||||
* **Project Name:** HELIOS Remote
|
||||
* **Core Values:** Low-latency, High-security (TLS 1.3), AI-Ready Scalability
|
||||
* **Tech Stack:** Rust (Backend/Agent/Viewer), Tauri (UI), Docker, PostgreSQL, Redis
|
||||
|
||||
## 2. Development Milestones
|
||||
|
||||
### Phase 1: Foundation (Infrastructure & Scaffolding)
|
||||
- [ ] **Workspace Setup:** Initialize Rust Workspace (`server`, `relay`, `agent`, `viewer`, `common`).
|
||||
- [ ] **Common Library:** Define shared packet structures, serialization (Serde), and error types.
|
||||
- [ ] **Infrastructure:** Deploy Docker environment (PostgreSQL, Redis, Nginx).
|
||||
- [ ] **API Server Core:** Implement Axum-based REST API with JWT authentication.
|
||||
|
||||
### Phase 2: Core Connectivity (Networking)
|
||||
- [ ] **Relay Server:** Implement TLS 1.3-based data relay and NAT Traversal logic.
|
||||
- [ ] **Authentication System:** Implement JWT, OTP, and User/PC management APIs.
|
||||
- [ ] **Agent Heartbeat:** Implement background service for connectivity monitoring.
|
||||
|
||||
### Phase 3: Media & Control (MVP - High Performance)
|
||||
- [ ] **DXGI Capture (Agent):** Implement low-latency screen capture using DXGI.
|
||||
- [ ] **H.264 Encoding (Agent):** Integrate hardware-accelerated H.264 encoding.
|
||||
- [ ] **Remote Input (Agent):** Implement WinAPI-based mouse and keyboard control.
|
||||
- [ ] **Streaming Viewer (Viewer):** Build Tauri-based UI with H.264 video decoding and rendering.
|
||||
|
||||
### Phase 4: Feature Expansion
|
||||
- [ ] **File Transfer:** Implement chunked file transfer with checksum verification.
|
||||
- [ ] **Clipboard Sync:** Implement bidirectional clipboard synchronization.
|
||||
- [ ] **Multi-PC Management:** Develop dashboard for managing multiple remote agents.
|
||||
|
||||
### Phase 5: Hardening & Deployment
|
||||
- [ ] **Security Audit:** Verify TLS 1.3 encryption and authorization logic.
|
||||
- [ ] **CI/CD Pipeline:** Set up automated builds for Windows binaries.
|
||||
- [ ] **Packaging:** Create Windows installers (MSI/EXE).
|
||||
|
||||
## 3. Future Roadmap (v2.0+)
|
||||
- **v2:** Android/iOS support, Multi-monitor, Audio streaming.
|
||||
- **v3:** Linux support, Wake on LAN, SSH Agent.
|
||||
- **v4:** MCP integration, Docker/GPU management.
|
||||
- **v5:** HELIOS AI integration (Autonomous system analysis & reporting).
|
||||
Reference in New Issue
Block a user