docs: clarify Qt6 LGPLv3 licensing links in README
This commit is contained in:
134
README.md
Normal file
134
README.md
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
# 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: `v0-m0-done` through `v0-m5-done`
|
||||||
|
- Current milestone: Milestone 8 (Profile and Session UX Completion)
|
||||||
|
- 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: <https://opensource.org/licenses/MIT>
|
||||||
|
- GNU LGPLv3: <https://www.gnu.org/licenses/lgpl-3.0.html>
|
||||||
|
- Apache License 2.0: <https://www.apache.org/licenses/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.
|
||||||
Reference in New Issue
Block a user