The README still described yt-offline as a YouTube-only desktop app. Rewrite it to reflect what actually exists today: - Multi-platform support (YouTube, TikTok, Twitch, Vimeo, Bandcamp, SoundCloud, Odysee, and yt-dlp's full fallback list) with a table of what each platform supports. - Library, playback, downloads, web server, Plex integration, themes, and misc sections — each grouping the relevant features so a reader can spot what matters to them. - Bundled-yt-dlp install walkthrough (venv + curl_cffi + deno). - Updated config.toml example with every field the app reads. - Library layout diagram showing the new platform sibling folders and the `.source-url` sidecar. - Usage section split between desktop GUI and web UI. - Troubleshooting now lists the impersonation error path, missing python3-venv, the transcoding-seek caveat, and rate-limit recovery. - Pointer to SECURITY_AUDIT.md. - AGPL §13 obligations spelled out. Also expand the Cargo.toml description so `cargo metadata` and crates.io listings convey the multi-platform / web UI scope at a glance. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
1.1 KiB
TOML
27 lines
1.1 KiB
TOML
[package]
|
|
name = "yt-offline"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Self-hosted archive for YouTube, TikTok, Twitch, Vimeo, Bandcamp, SoundCloud, Odysee and more. Desktop GUI + web UI, bundled yt-dlp with curl_cffi impersonation, Plex export, SQLite-backed resume tracking. AGPL-3.0."
|
|
|
|
[dependencies]
|
|
eframe = "0.29"
|
|
image = { version = "0.25", default-features = false, features = ["webp", "jpeg", "png"] }
|
|
toml = "0.8"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
rusqlite = { version = "0.31", features = ["bundled"] }
|
|
notify-rust = { version = "4", default-features = false, features = ["z"] }
|
|
axum = { version = "0.7", features = ["macros"] }
|
|
tokio = { version = "1", features = ["full"] }
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
tokio-stream = "0.1"
|
|
tower-http = { version = "0.5", features = ["cors", "fs"] }
|
|
argon2 = "0.5"
|
|
rand = "0.8"
|
|
# File-picker dialog for the desktop GUI. xdg-portal backend keeps it pure-Rust
|
|
# (zbus, no GTK/libdbus build dep), consistent with notify-rust above.
|
|
rfd = { version = "0.15", default-features = false, features = ["xdg-portal", "tokio"] }
|
|
|
|
[profile.release]
|
|
opt-level = 2
|