# classicoldsong/apollo

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/classicoldsong-apollo).**

9,866 stars · 332 forks · C++ · GPL-3.0

## Links

- GitHub: https://github.com/ClassicOldSong/Apollo
- awesome-repositories: https://awesome-repositories.com/repository/classicoldsong-apollo.md

## Topics

`gaming` `remote-control` `remote-desktop` `streaming`

## Description

Apollo is a remote desktop streaming server designed to transmit a low-latency video feed of a host screen to remote clients using hardware-accelerated encoding. It functions as a remote input controller and virtual display manager, allowing the host to match the resolution and framerate of connected devices.

The system includes a gamepad input emulator that simulates controller hardware on the host machine to translate remote inputs into local events. Server configurations and client pairing are managed through a web-based remote access interface.

The project also covers bidirectional clipboard synchronization for sharing text between devices and client permission management to restrict input authority. Additionally, it supports the execution of custom scripts triggered by client connection and disconnection events.

## Tags

### Graphics & Multimedia

- [Desktop Content Streaming](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/stream-content-distribution/desktop-content-streaming.md) — Provides hardware-accelerated, low-latency streaming of the host desktop screen to remote clients. ([source](https://cdn.jsdelivr.net/gh/classicoldsong/apollo@master/README.md))
- [Hardware-Accelerated Video Pipelines](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing/video-analysis-processing/hardware-accelerated-video-pipelines.md) — Utilizes GPU acceleration to capture and encode desktop frames for low-latency video delivery to remote clients.

### Networking & Communication

- [Remote Desktop Streaming](https://awesome-repositories.com/f/networking-communication/remote-desktop-streaming.md) — Provides a low-latency, hardware-accelerated video stream of the host desktop to remote clients.
- [Web-Based Remote Clients](https://awesome-repositories.com/f/networking-communication/web-based-remote-clients.md) — Provides a browser-based interface for managing server settings, pairing clients, and controlling sessions.

### Development Tools & Productivity

- [Remote Input Controllers](https://awesome-repositories.com/f/development-tools-productivity/input-pointer-automation/input-automation/remote-input-simulation/remote-input-controllers.md) — Manages remote keyboard and mouse inputs with configurable permissions for paired client devices.

### Operating Systems & Systems Programming

- [Remote Desktop Streaming Servers](https://awesome-repositories.com/f/operating-systems-systems-programming/remote-desktop-streaming-servers.md) — Functions as a hardware-accelerated server that streams a low-latency video feed of the host desktop to remote clients.

### System Administration & Monitoring

- [Remote Gamepad Emulators](https://awesome-repositories.com/f/system-administration-monitoring/remote-hardware-controls/remote-gamepad-emulators.md) — Simulates controller hardware on the host machine so remote clients can use their own gamepads.
- [Input Device Emulators](https://awesome-repositories.com/f/system-administration-monitoring/virtual-device-drivers/input-device-emulators.md) — Emulates gamepad hardware to inject remote controller events into the host system's input stream.
- [Gamepad Emulators](https://awesome-repositories.com/f/system-administration-monitoring/virtual-device-drivers/input-device-emulators/gamepad-emulators.md) — Implements a gamepad input emulator that simulates controller hardware to translate remote inputs into local events. ([source](https://docs.lizardbyte.dev/projects/sunshine/master/))
- [Virtual Display Management](https://awesome-repositories.com/f/system-administration-monitoring/virtual-display-management.md) — Creates software-defined monitors that automatically match the resolution and refresh rate of connected remote devices.
- [Remote Administration Interfaces](https://awesome-repositories.com/f/system-administration-monitoring/remote-administration-interfaces.md) — Offers a web-based interface for administrative tasks, server configuration, and client pairing.

### User Interface & Experience

- [OS-Level Input Emulators](https://awesome-repositories.com/f/user-interface-experience/text-input-managers/input-injection-utilities/process-level-input-injectors/os-level-input-emulators.md) — Simulates keyboard, mouse, and gamepad hardware events at the OS level to control local applications from a remote device.
- [Browser-Based Interfaces](https://awesome-repositories.com/f/user-interface-experience/browser-based-interfaces.md) — Includes a browser-based interface to manage server settings and coordinate the pairing of remote clients. ([source](https://cdn.jsdelivr.net/gh/classicoldsong/apollo@master/README.md))

### Security & Cryptography

- [Client Input Permissions](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/device-connection-authorization/device-group-permissions/client-input-permissions.md) — Manages client permissions to restrict application launching and remote keyboard or mouse input authority. ([source](https://cdn.jsdelivr.net/gh/classicoldsong/apollo@master/README.md))

### Software Engineering & Architecture

- [Web-Based Configuration Dashboards](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-interfaces-and-editors/web-based-configuration-generators/web-based-configuration-dashboards.md) — Provides a browser-accessible dashboard for managing server configurations and pairing remote clients via HTTP.
