Initial project snapshot
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
|
||||
SYSTEM OVERVIEW
|
||||
|
||||
Client -> Proxy (custom protocol)
|
||||
Proxy -> RDP servers (FreeRDP)
|
||||
|
||||
CORE FEATURES
|
||||
- Persistent sessions
|
||||
- Reconnect / takeover
|
||||
- No direct client-server access
|
||||
- Multi-session
|
||||
- Clipboard + file transfer
|
||||
- Quality profiles
|
||||
|
||||
SESSION RULES
|
||||
- Session lives on server
|
||||
- Client disconnect does NOT terminate session
|
||||
- Reattach allowed from any trusted device
|
||||
- Single active controller per session
|
||||
|
||||
COMPONENTS
|
||||
- API Gateway (Go)
|
||||
- Auth Service
|
||||
- Resource Service
|
||||
- Session Broker
|
||||
- Session Gateway (WebSocket)
|
||||
- RDP Worker (C++ + FreeRDP)
|
||||
|
||||
DATABASE ENTITIES
|
||||
- users
|
||||
- devices
|
||||
- resources
|
||||
- sessions
|
||||
- secrets
|
||||
- audit logs
|
||||
|
||||
PROTOCOL
|
||||
- REST for control
|
||||
- WebSocket for session stream
|
||||
|
||||
SECURITY
|
||||
- MFA
|
||||
- encrypted secrets
|
||||
- no direct RDP exposure
|
||||
- trusted devices
|
||||
|
||||
RENDERING
|
||||
- region updates (NOT full screenshots)
|
||||
- adaptive quality
|
||||
- bandwidth profiles
|
||||
|
||||
GOAL
|
||||
User works as if sitting at remote machine.
|
||||
@@ -0,0 +1,29 @@
|
||||
|
||||
You are building a production-grade remote access system.
|
||||
|
||||
Architecture:
|
||||
- Go backend
|
||||
- C++ RDP worker (FreeRDP)
|
||||
- WebSocket session streaming
|
||||
- PostgreSQL + Redis
|
||||
|
||||
Core rules:
|
||||
- Sessions are persistent
|
||||
- Client disconnect does NOT kill session
|
||||
- Reconnect must work
|
||||
- No direct RDP exposure
|
||||
|
||||
Tasks:
|
||||
1. Create backend structure in Go
|
||||
2. Implement auth (JWT + refresh)
|
||||
3. Implement session broker
|
||||
4. Implement WebSocket gateway
|
||||
5. Define protocol messages
|
||||
6. Prepare worker interface (C++ stub)
|
||||
|
||||
Focus:
|
||||
- Stability
|
||||
- Security
|
||||
- Performance
|
||||
|
||||
Do NOT simplify architecture.
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
WHAT TO DO
|
||||
|
||||
1. Create empty repo
|
||||
2. Copy docs from archive into /docs
|
||||
3. Open Codex
|
||||
4. Paste prompt from:
|
||||
03_codex_prompts/00_master_prompt.md
|
||||
|
||||
Then iterate:
|
||||
- backend
|
||||
- protocol
|
||||
- workers
|
||||
- clients
|
||||
|
||||
IMPORTANT:
|
||||
Do NOT start with UI.
|
||||
Start with backend + session model.
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
TECH STACK (FINAL)
|
||||
|
||||
Backend:
|
||||
- Go (API, Auth, Broker, Gateway)
|
||||
|
||||
RDP Worker:
|
||||
- C++ + FreeRDP
|
||||
|
||||
Clients:
|
||||
- Windows: C# (WPF)
|
||||
- Linux: C++ (Qt 6)
|
||||
|
||||
Admin panel:
|
||||
- TypeScript + React
|
||||
|
||||
Infra:
|
||||
- PostgreSQL
|
||||
- Redis
|
||||
- Docker
|
||||
|
||||
Key principle:
|
||||
One protocol, multiple native clients.
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
START HERE
|
||||
|
||||
1. Read 05_decisions/technology_stack_review_2026.md
|
||||
2. Read 02_specs/technical_specification.md
|
||||
3. Then open 03_codex_prompts/00_master_prompt.md
|
||||
|
||||
This package contains full technical specification and Codex prompts
|
||||
for building a secure RDP proxy system with custom protocol.
|
||||
Reference in New Issue
Block a user