# OrbitHub OrbitHub is a cross-platform native desktop app for managing and launching remote sessions from one place. It is implemented in C++17 with Qt6 Widgets and built with CMake. Supported target platforms: - Windows - Linux - macOS ## Current Status OrbitHub is in active development. - Milestones completed: M0-M5 and M8 - Current milestone: Milestone 9 (Packaging and Distribution) - Deferred milestone: Milestone 6 (VNC Fully Working) - Latest checkpoint tag: `v0-m8-wip1` - VNC implementation milestone (M6) is currently deferred Progress and milestone details: - [docs/PROGRESS.md](docs/PROGRESS.md) ## Implemented Features ### Profile Management - SQLite-backed profile storage - Create, edit, delete profiles - Protocol-aware profile validation (SSH/RDP/VNC) - Profile search and sorting - Tags support - Folder/subfolder support - `List` and `Folders` profile views - Right-click profile tree actions: - New Folder - New Connection - Drag-and-drop profile moves between folders with persistence ### Session Experience - Multi-tab session window - Auto-connect on tab open - Disconnect on tab close - Session state indicators on tabs - Timestamped event log with filtering and export ### SSH - Embedded interactive terminal (in-app typing) - Theme support (`Dark`, `Light`, `Solarized Dark`) - Password and private-key auth flows - Known-hosts policy support ### RDP - Embedded in-window RDP rendering surface (no external launcher) - Keyboard/mouse input forwarding - Resize handling and resolution renegotiation - Domain-aware authentication support - RDP security/performance profile options ### App UX - App icon and themed About dialog - `File` menu: - New Profile - New Folder - Quit - `Help` menu: - About OrbitHub ## Build and Run Detailed platform instructions: - [docs/BUILDING.md](docs/BUILDING.md) Quick start (Linux/macOS with Ninja): ```bash cmake -S . -B build -G Ninja cmake --build build ./build/orbithub ``` ## Dependencies Core dependencies: - Qt 6 (Widgets, SQL) - CMake 3.21+ - C++17 toolchain Protocol/runtime dependencies: - SSH client (`ssh`) available on `PATH` for SSH sessions Bundled/vendored third-party components: - KodoTerm - libvterm - FreeRDP/WinPR ## Licensing Project license: - MIT (see [LICENSE](LICENSE)) License links: - MIT License: - GNU LGPLv3: - Apache License 2.0: Important third-party license notes: - Qt6 is dynamically linked in this project build setup. - Qt6 is used under LGPLv3 terms in this project build setup. - KodoTerm and libvterm are MIT-licensed. - FreeRDP/WinPR is Apache-2.0 licensed. Repository license files: - Project: [LICENSE](LICENSE) - KodoTerm: [third_party/KodoTerm/LICENSE](third_party/KodoTerm/LICENSE) - FreeRDP: [third_party/FreeRDP/LICENSE](third_party/FreeRDP/LICENSE) See in-app `Help -> About OrbitHub` for license links and third-party inventory. ## Repository Structure - `src/` - application source code - `docs/` - build guide, spec, and progress tracking - `third_party/` - vendored third-party dependencies - `build/` - local build output (generated) ## Notes - Passwords are requested at connect time and are not stored in the profile database. - This repository currently prioritizes integrated SSH and RDP workflows while VNC implementation is pending.