Files
ytplayer/app.zon
Jonathan Sykes a171cae417 Add ad-free YouTube player built on zero-native
Desktop YouTube player with no login and no ads. Extracts direct
video/audio streams with yt-dlp and plays them in a native window via
zero-native (Zig + system WebView) for a tiny footprint vs Electron.

- Dual-stream engine: muted video synced with separate audio track for
  high quality without ffmpeg muxing; progressive fallback
- On-device playlists, watch history, audio-only mode
- Full custom controls: seek, volume, speed, quality, fullscreen, queue
- Zig bridge handlers spawn yt-dlp and return slimmed JSON to the web UI
- Cinematic dark UI: Bricolage/Hanken/JetBrains Mono, vermilion accent
2026-06-13 23:33:16 +08:00

26 lines
833 B
Plaintext

.{
.id = "com.ytplayer.app",
.name = "ytplayer",
.display_name = "YT Player",
.version = "1.0.0",
// System WebView (WKWebView / WebKitGTK) keeps the binary tiny vs. Electron.
.web_engine = "system",
.permissions = .{"window"},
.capabilities = .{ "webview", "js_bridge" },
.security = .{
.navigation = .{
// Local packaged UI + dev server. Media/images load from https at runtime.
.allowed_origins = .{ "zero://app", "http://127.0.0.1:5173" },
},
},
.windows = .{
.{ .label = "main", .title = "YT Player", .width = 1280, .height = 820 },
},
// Static web UI lives in ./frontend (no build step — plain HTML/CSS/JS).
.frontend = .{
.source = "packaged",
.dir = "frontend",
.entry = "index.html",
},
}