A native Swift/SwiftUI Plex client for Apple platforms, with AI upscaling for lower-resolution video.
Warning: This project is under very active development. Expect bugs and unexpected behavior. If you run into issues, please submit an issue.
- Direct Play
- Manual Transcoding
- Library browsing & Search
- Subtitle & audio track selection
- Continuous Playback
- Picture in Picture
- Skip Intro & Credits
- Passout Protection (Are you still watching?)
- macOS App
- Select which version to play
- tvOS App
- App Store Release
- Offline playback (Downloads)
- AI Upscaling
- Plex Home Integration
- SharePlay Integration
- Live TV Support
- Translation of the UI
- Seerr Integration
- Jellyfin Support
- Apple Vision Pro App
# 1. Generate the Xcode project if needed
brew install xcodegen # if not already installed
xcodegen generate
# 2. Open in Xcode
open Dusk.xcodeprojVLCKit is vendored but not committed to git: the Frameworks/MobileVLCKit.xcframework (iOS/iPadOS) and Frameworks/TVVLCKit.xcframework (tvOS) binaries are downloaded on demand. After cloning, fetch them (this also refreshes the pinned version):
./ci_scripts/install_vlckit.shCI does this automatically via ci_scripts/ci_post_clone.sh, so no binaries live in the repo.
Dusk is released under the MIT License.
Playback is powered by VLCKit (MobileVLCKit/TVVLCKit), which is licensed separately under the LGPL v2.1.
