• v0.3.1 e8c1bec01f

    v0.3.1
    All checks were successful
    Build and publish Docker image / build-and-push (push) Successful in 2m4s
    Stable

    patillacode released this 2026-08-19 13:53:07 +02:00 | 7 commits to main since this release

    • Added COOKIES_FILE support: mount a Netscape-format cookies.txt from a logged-in session for authenticated extraction.
    • Fixed compose docs: the cookie mount must be writable, not read-only — yt-dlp rewrites rotating session cookies on use.
    • Known limitation carried over from v0.3.0: SABR-only clients (web, web_safari, mweb) still can't download — no fix possible on our side until yt-dlp
      ships a SABR downloader (yt-dlp#12482 (https://github.com/yt-dlp/yt-dlp/issues/12482)).
      Non-token clients (android_vr, tv_embedded) can still hit CDN throttling — under investigation.
    Downloads
  • v0.3.0 b300259a17

    v0.3.0
    All checks were successful
    Build and publish Docker image / build-and-push (push) Successful in 2m4s
    Stable

    patillacode released this 2026-08-19 13:27:52 +02:00 | 8 commits to main since this release

    v0.3.0

    Added

    • Guest password management — admin panel to create/revoke guest access passwords (label → bcrypt
      hash), stored in a persisted passwords.json.
    • PO Token provider support for yt-dlp, via a bgutil-ytdlp-pot-provider sidecar. YouTube now requires
      a GVS PO Token for several player clients; this wires yt-dlp up to fetch one.

    Changed

    • yt-dlp 2026.3.172026.7.4.

    Upgrading

    This release adds a new service to docker-compose.yml:

    bgutil:
      image: brainicism/bgutil-ytdlp-pot-provider:latest
      init: true
      restart: unless-stopped
    

    And a new env var:
    POT_PROVIDER_URL=http://bgutil:4416

    Run docker compose pull && docker compose up -d --force-recreate after updating.

    Known issue

    Some downloads may still fail with HTTP 403 Forbidden after a few MB, independent of this fix — suspected
    CDN-level throttling on the deploying host's IP rather than a token problem. Under investigation.

    Downloads
  • v0.2.0 af9582ff6a

    v0.2.0
    All checks were successful
    Build and publish Docker image / build-and-push (push) Successful in 2m0s
    Stable

    patillacode released this 2026-04-03 18:03:16 +02:00 | 6 commits to main since this release

    Multi-password support with admin UI

    You can now create and revoke individual guest passwords without restarting the service.

    What's new:

    • /admin page to add and revoke labeled guest passwords (e.g. "alice", "bob")
    • ADMIN_PASSWORD replaces APP_PASSWORD — logging in with it grants admin access
    • Guest passwords are stored as bcrypt hashes in data/passwords.json, read dynamically on every login attempt
    • Built-in password generator (equivalent to openssl rand -hex 16)
    • data/ directory must be mounted as a volume to persist passwords across restarts

    Migration from v0.1.0:
    Rename APP_PASSWORD to ADMIN_PASSWORD in your .env file.
    Add a ./data:/app/data volume mount (see updated docker-compose.yml).
    On Linux:

    mkdir -p data && chown 1000:1000 data
    
    Downloads
  • v0.1.0 6e1a7ecde4

    v0.1.0
    All checks were successful
    Build and publish Docker image / build-and-push (push) Successful in 1m55s
    Stable

    patillacode released this 2026-04-03 04:33:03 +02:00 | 11 commits to main since this release

    Initial release.

    • Self-hosted web UI for downloading videos and audio via yt-dlp
    • Video (H.264/AAC MP4), audio (MP3 192kbps), and clip modes
    • Session dashboard with TTL countdown and deduplication
    • Optional password protection
    • Auto-cleanup of temporary files (configurable TTL)
    • Non-root Docker container
    • Docker Compose setup
    Downloads