ac3cebc9aeacbdfded48bbe414340acbef1b63b2
Same root cause as the earlier Windows exe icon fix: add_executable() never set MACOSX_BUNDLE, so on macOS this produced a bare Mach-O binary rather than a proper .app bundle -- and without a bundle there's no Info.plist/.icns mechanism for Finder to show a custom icon at all. Added packaging/macos/orbithub.icns, rendered at up to 1024px directly from the same createOrbitHubAppIcon() logic used at runtime (via a one-off export tool, not committed) so it matches what the app actually looks like. CMake's MACOSX_BUNDLE keyword and MACOSX_BUNDLE_ICON_FILE wire it into an auto-generated Info.plist; both keywords are no-ops on other platforms. The profile database uses QStandardPaths::AppDataLocation, not the executable's own path, so this doesn't affect where existing profiles are found. Build output on macOS changes from build/orbithub to build/orbithub.app (launch with `open build/orbithub.app`); docs/BUILDING.md updated to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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-done - VNC implementation milestone (M6) is currently deferred
Progress and milestone details:
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
ListandFoldersprofile 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
Filemenu:- New Profile
- New Folder
- Quit
Helpmenu:- About OrbitHub
Build and Run
Detailed platform instructions:
Quick start (Linux/macOS with Ninja):
cmake -S . -B build -G Ninja
cmake --build build
./build/orbithub
Packaging (Linux)
./packaging/linux/build-deb.sh
Optional Flatpak bundle:
./packaging/flatpak/build-flatpak.sh
Dependencies
Core dependencies:
- Qt 6 (Widgets, SQL)
- CMake 3.21+
- C++17 toolchain
Protocol/runtime dependencies:
- SSH client (
ssh) available onPATHfor SSH sessions
Bundled/vendored third-party components:
- KodoTerm
- libvterm
- FreeRDP/WinPR
Licensing
Project license:
- MIT (see 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
- KodoTerm: third_party/KodoTerm/LICENSE
- FreeRDP: third_party/FreeRDP/LICENSE
See in-app Help -> About OrbitHub for license links and third-party inventory.
Repository Structure
src/- application source codedocs/- build guide, spec, and progress trackingthird_party/- vendored third-party dependenciesbuild/- 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.
Releases
6
OrbitHub v2026.9.15
Latest
Languages
C++
93.6%
CMake
3.4%
Shell
2.1%
Inno Setup
0.5%
PowerShell
0.4%