catacomb/docs/src/introduction.md
Luna e06c2ef826 Documentation site: mdBook user + contributor guide (2.2)
An mdBook under docs/ rendering eight pages: introduction,
installation, first-run/config, downloading, an anti-bot guide that
captures the hard-won cookies/curl_cffi/POT/player-client knowledge,
troubleshooting (the nine error classes + non-download issues),
architecture (the two-front-ends/one-engine design, settings flow,
layout invariant, persistence), and packaging.

- .forgejo/workflows/docs.yml builds the book and publishes docs/book/
  to the `pages` branch for Codeberg Pages on docs/ changes.
- docs/book/ is gitignored (rendered output).
- README: fix the stale backup.directory comment — every platform nests
  under the one library root, not a channels/ sibling split.
- Add CLAUDE.md (repo guidance for Claude Code).

Builds clean with mdbook 0.5; intra-doc anchor links verified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 02:56:14 -07:00

1.6 KiB

yt-offline

A self-hosted media archive for YouTube and friends. Paste any URL, it routes the download to the right folder by source, tracks what you've watched, and plays everything back from a desktop GUI or a browser — even offline, or after the source video is taken down.

Built on yt-dlp; written in Rust as a single binary that is both a desktop app and a headless web server.

What it backs up

Platform Channels Playlists Single videos
YouTube
TikTok
Twitch (VODs + clips)
Vimeo
Bandcamp (artist) (albums) (tracks)
SoundCloud (sets)
Odysee
Anything else yt-dlp accepts other/ other/ other/

Why it exists

Tartube is the mature open-source yt-dlp GUI and the benchmark in this space. yt-offline matches its feature set while adding things Tartube doesn't have: a real web UI reachable from any device, a single-binary distribution with a bundled toolchain, a modern security model (password-gated UI, Argon2, rate-limited login), a built-in anti-bot stack (TLS impersonation + Proof-of-Origin tokens), and one-click post-download format conversion.

How to read these docs