youcci / playport
git clone https://github.com/youcci/playport.git
Wireless CarPlay in your browser β a server-side receiver that turns any screen on your network into a head unit.
+0
stars, 24h Β· #38,725
+~5
stars, 7 days Β· #18,768
+294
stars, 30 days Β· #2,744
294
β
total Β· +2% this week
22
forks Β· 2 open issues
Star history (as recorded here)
LanguageKotlin
LicenseGPL-3.0
Created2026-10-01 (22d ago)
Last push22d ago
Watchers3
OwnerUser
GitHub topics
Links
- GitHub: github.com/youcci/playport
- Releases Β· Issues Β· Hacker News mentions
README excerpt
**Wireless CarPlay in your browser.** A server-side CarPlay receiver that turns any screen on your network into a head unit. PlayPort runs the **car** side of CarPlay on a Mac. Your iPhone connects wirelessly (Bluetooth bootstrap, then Wi-Fi), and every browser on the network can watch and control CarPlay β touch, rotary knob, media keys, Siri and phone calls. No dongle, no head unit, no app install: open a URL and drive. > **Port notice.** PlayPort's AirPlay, iAP2 and accessory-authentication code is ported from > DiPlay by shihabal3amri, itself based on > xcertplay by shilapi (both GPL-3.0). PlayPort replaces the > Android head-unit app with a JVM server and a WebCodecs browser client. It is an independent > project, not affiliated with or endorsed by the DiPlay or xcertplay authors. --- ## Table of contents - How it works - Features - Screenshots - Requirements - Quick start - Accessory identity (required) - Display, orientation and quality - Audio and microphone - Controls - Configuration - Troubleshooting - Security and privacy - Project layout - Development - Status and limitations - Credits and license --- ## How it works [code] The iPhone thinks it is talking to a car head unit: PlayPort advertises itself over Bonjour, authenticates with an MFi identity, receives the encrypted H.264/HEVC screen and RTP audio, and sends touch/knob/media HID reports back. The server **passes the phone's encoded media straight to the browser** (no server-side decoding or re-encoding), and the browser decodes it with WebCodecs. ## Features - **Wireless CarPlay** β Bluetooth iAP2 bootstrap + Wi-Fi handoff, with a connection supervisor that re-invites the phone whenever the link drops. - **Any browser is the screen** β laptop, tablet, wall panel, another Mac. Multiple viewers at once. - **Responsive viewer** β grouped controls, dedicated display/audio panels, a connection guide, and focus mode for a larger CarPlay screen. - **Touch and knob input** β up to two touch contacts, keyboard as rotary knob, toolbar buttons for Home/Back/Select, media transport and Siri. - **Calls and Siri** β when the phone opens its speech/telephony stream, the browser asks for the microphone and streams audio back (PCM, or Opus when requested). - **Display control** β live resolution, portrait/landscape, frame rate, CarPlay UI size and H.264/HEVC selection, with presets from 800Γ480 up to 4K. - **Quality tuning** β "Match this window" advertises your display's physical pixels for 1:1 sharpness; a stats HUD shows resolution, fps, bitrate, drops, decode queue and latency. - **Audio mixer** β master plus per-stream volumes (media, navigation, Siri/calls). - **Persistent settings** β display settings are saved to `~/.playport/config.json`; audio levels are saved in your browser. - **No cloud, no account** β everything runs on your machine and your LAN. ## Screenshots | Display and quality | Audio mixer (no active streams) | |---|---| | | | | **Focus mode** | **Mobile viewer** |