macOS Remote Desktop Client =========================== Prerequisites: 1. Xcode Command Line Tools: xcode-select --install 2. CMake: brew install cmake Build: chmod +x build.sh ./build.sh Or manually: mkdir build && cd build cmake .. make Run: ./build/bin/ghost Configuration: Server address is configured in main.mm (g_SETTINGS variable). Modify before building if needed. Permissions Required: 1. Screen Recording - System Settings > Privacy & Security > Screen Recording 2. Accessibility - System Settings > Privacy & Security > Accessibility Features: [x] Screen capture (CGDisplayCreateImage) [x] H264 video encoding (VideoToolbox) [x] Mouse control (move, click, drag, scroll) [x] Keyboard control (full VK code mapping) [x] Retina display support (coordinate scaling) [x] Network connection (IOCPClient) [x] LOGIN_INFOR (system info reporting) [x] Heartbeat with RTT estimation [x] Active window tracking [x] Quality level adjustment (FPS/algorithm) Files: CMakeLists.txt - Build configuration Permissions.h/mm - macOS permission handling ScreenHandler.h/mm - Screen capture and H264 encoding InputHandler.h/mm - Mouse/keyboard simulation H264Encoder.h/mm - VideoToolbox H264 encoder SystemManager.h/mm - Process management main.mm - Entry point, LOGIN_INFOR, heartbeat Quality Levels: Level 0: 5 FPS, Grayscale (emergency low bandwidth) Level 1: 10 FPS, RGB565 Level 2: 15 FPS, H264 (default, office work) Level 3: 20 FPS, H264 Level 4: 25 FPS, H264 Level 5: 30 FPS, H264 (smooth) Notes: - First frame is always raw bitmap (TOKEN_FIRSTSCREEN) - Subsequent frames use H264 encoding (TOKEN_NEXTSCREEN) - Coordinates are scaled for Retina displays automatically - Windows VK codes are mapped to macOS key codes