fython / wheelplay
git clone https://github.com/fython/wheelplay.git
Android-hosted CarPlay server for local networks (based on DiPlay/xcertplay)
—
stars, 24h
—
stars, 7 days
+221
stars, 30 days · #1,172
221
★ total
43
forks · 6 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageKotlin
LicenseGPL-3.0
Created2026-10-01 (19d ago)
Last push1d ago
Watchers1
OwnerUser
Links
README excerpt
# WheelPlay **EN** | CN WheelPlay is an Android-hosted CarPlay server for local networks. It streams your iPhone's CarPlay display to your car's browser and lets you control it through the car's touchscreen. Install the app on an Android device and open the displayed address in your car's browser. No browser-side client installation or additional server is required. ## Features - **Browser display and touch control**: CarPlay streaming, touch input, and fullscreen display. - **Selectable streaming modes**: Choose WebRTC video passthrough (H.264 / HEVC) or JPEG compatibility mode in settings. If passthrough fails, video automatically falls back to JPEG while audio and touch keep their existing routes. - **Optional browser audio**: After pairing, the browser can play CarPlay audio. The browser microphone can provide CarPlay voice input through a trusted HTTPS page; Android handles audio and microphone input by default. - **Easy pairing**: Scan the QR code or enter a code once. Remembered browsers restore pairing automatically and retain a launch button for selecting options before streaming. - **iPhone connection management**: USB and wireless connections, connection status, and session management. - **Local network access**: Automatically detects available network addresses for browser access. - **Background service**: Background operation and automatic connection. - **Display and audio settings**: Adjustable display size, resolution, frame rate, and audio buffering. - **CarPlay preferences**: Follow Android's day/night mode or force day/night; select Android/browser audio output and Android/browser/disabled microphone input. Preview custom 0–40% safe margins on each edge; microphone and safe-area changes reconnect the iPhone. Keep CarPlay when browsers go offline, or disconnect the iPhone after 1/5 minutes; browser reconnection cancels the timer. - **Custom car branding**: In **Settings → Vehicle & location → OEM car name and icon**, rename CarPlay's return-to-car entry, select and crop a square image, or restore the default NIO name and icon. Changes apply on the next iPhone connection. Images are stored privately in the app, so the original file is no longer needed. - **Location source**: **Settings → Vehicle & location → Location source** defaults to the iPhone's own location, with no external location advertised or reported by WheelPlay. Select the Android device to provide its position when requested by the iPhone, after reconnecting and granting precise location permission. iOS and the navigation app determine location fusion; wireless connections on older Android versions can still require location permission. - **Diagnostic export**: Save diagnostic reports locally for troubleshooting. ## Getting started 1. Install and launch WheelPlay on the Android server device. 2. Connect the Android device and your car to the same local network, then open the address shown in the app in your car's browser. 3. On first use, scan the QR code with Wheel