github jnracreates/ytfinall v1.0.0
ytfinall v1.0.0

latest release: v1.1
one month ago

ytfinall v1.0.0

First tagged release. ytfinall is a self-hosted YouTube → Jellyfin downloader with per-user libraries, a web UI, and a companion browser extension.

Features

Multi-user

  • Every Jellyfin user gets their own isolated library, sources, and retention rules
  • First user to log in becomes admin
  • Admin-set caps on lookback days and max retention
  • Per-user storage stats in the admin panel

Downloads

  • yt-dlp backend with configurable resolution, container format, sleep intervals, and extra flags
  • Channels, playlists, or single videos
  • One-off video support with no date filter
  • Rate-limit-friendly pacing with Deno-based JS challenge handling
  • Archive-based skip, automatic retries, background scheduling

Jellyfin integration

  • Auto-creates a Jellyfin library per user on first login
  • Channel avatars downloaded as poster.jpg
  • Channel names written as tvshow.nfo (clean display name)
  • Episode NFOs generated from .info.json with description trimming
  • Jellyfin metadata writer disabled so NFOs are never overwritten
  • sYYYYeMMDD filename pattern matches Jellyfin's parser

Web UI

  • Mobile-responsive layout
  • Live log viewer in admin settings
  • Live progress bars for active downloads
  • Cookie upload for age-restricted content
  • Admin controls: clear archive, retrigger scans, per-user stats

Browser extension

Installation

git clone https://github.com/jnracreates/ytfinall.git
cd ytfinall
cp .env.example .env
nano .env   # set MEDIA_PATH, APP_DATA_PATH, CONFIG_PATH, JELLYFIN_CONFIG_PATH
docker compose up -d

Don't miss a new ytfinall release

NewReleases is sending notifications on new releases.