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
This commit is contained in:
25
app.zon
Normal file
25
app.zon
Normal file
@@ -0,0 +1,25 @@
|
||||
.{
|
||||
.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",
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user