Files
wiki/Catalogue-Self-Hosted/apps/app-ytptube.md
T
2026-06-09 18:40:21 +02:00

5.4 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
YTPTube 2026-06-07 202-06-07 app
catalogue
downloads
youtube
yt-dlp
python
web-ui
frontend
medium false
https://selfh.st/apps/?tag=downloads
https://github.com/arabcoders/ytptube

📺 YTPTube

Interface web moderne pour yt-dlp, fork de MeTube axé sur les téléchargements concurrents, la gestion de presets et la file d'attente persistante.

Métadonnée Valeur
Site web https://github.com/arabcoders/ytptube
GitHub https://github.com/arabcoders/ytptube
License AGPL-3.0
Langage Python (Flask + Celery) + JS
Étoiles 31
Dernière MAJ 2025
Catégorie cat-downloads

Description

YTPTube est né en 2025 comme un fork de MeTube (lui-même fork de YouTube-DL-Material), avec un objectif clair : vrai support des téléchargements concurrents sans verrou de mutex, et une UI plus réactive. Le projet a été initié par la communauté ArabCoders qui trouvait MeTube trop lent pour des playlists de 200+ vidéos.

Concrètement, YTPTube apporte : queue persistante (les téléchargements survivent à un redémarrage du conteneur), presets de format (configurer une fois « 1080p + audio AAC 192 kbps » et l'appliquer en un clic), downloads parallèles paramétrables (par défaut 2, configurable à 8+ selon la machine), notifications webhook (Ntfy, Discord, Telegram) à chaque fin, et import de playlists YouTube via leur URL directe.

L'UI est soignée : thème sombre par défaut, prévisualisation miniature pour les URL YouTube, estimation de durée, et un mini-player intégré qui permet d'écouter un MP3 extrait sans quitter l'interface. Compatible avec l'écosystème yt-dlp : cookies navigateur, sponsorblock, post-processing ffmpeg.

Pour un usage domestique (1-2 utilisateurs), MeTube suffit. YTPTube se justifie dès qu'on lance des gros imports : podcast de 300 épisodes, archive d'une chaîne, playlist de mixes DJ.

Installation

Docker Compose (recommandé)

# docker-compose.yml
services:
  ytptube:
    image: ghcr.io/arabcoders/ytptube:latest
    container_name: ytptube
    restart: unless-stopped
    ports:
      - "8081:8081"
    environment:
      - TZ=Europe/Paris
      - PUID=1000
      - PGID=1000
      - MAX_CONCURRENT=4
      - PRESET=bestvideo+bestaudio/best
      - DOWNLOAD_DIR=/downloads
    volumes:
      - ./config:/app/config
      - /data/ytptube:/downloads
      - ./cookies:/app/cookies  # export cookies.txt si besoin

Installation manuelle

git clone https://github.com/arabcoders/ytptube
cd ytptube
pip install -r requirements.txt
cp .env.example .env
python -m ytptube  # UI sur :8081

Configuration

  • Presets de format : par exemple audio (extraction mp3 320), video_1080 (mp4 1080p), video_best (bestvideo+bestaudio muxé en mkv).
  • Concurrence : MAX_CONCURRENT=4 est un bon défaut pour 4 CPU / 8 Go RAM, ajuster selon charge.
  • Cookies : monter ./cookies/cookies.txt pour bypass les restrictions YouTube sur IP partagées (anti-bot).
  • Notifications : webhook URL Ntfy/Discord/Telegram, déclenché à chaque fin de download.
  • Sponsorblock : peut marquer/extraire les segments sponsor d'une vidéo YouTube (option yt-dlp native).
  • Queue persistante : stockée en SQLite dans ./config, survit aux redémarrages.

Alternatives

Open Source

  • app-yt-dlp-web-player — Go + React, plus moderne, moins orienté « gros batch ».
  • MeTube — projet parent de YTPTube, plus simple, mono-thread pratique.
  • TubeCast — UI minimaliste, pas de queue.
  • Tartube — GUI GTK desktop, pas web.
  • yt-dlp CLI — référence, pas d'UI.
  • Pinchflat — Go, focus chaînes YouTube (s'abonne + auto-télécharge les nouvelles).

Propriétaires (ce que YTPTube remplace)

  • 4K Video Downloader — desktop, payant pour les features avancées.
  • JDownloader — lourd, Java, historique.
  • youtube-dl-gui wrappers — peu maintenus, pas d'incrémental.
  • YouTube Premium offline —只能在应用内读,没用。

Sécurité

  • Cookies navigateur : si exportés pour contourner les restrictions, ils donnent accès à votre compte Google. Chiffrer ./cookies au repos, ne pas versionner.
  • Pas d'auth par défaut : l'UI accepte n'importe quelle URL de n'importe qui sur le réseau, ne pas exposer sans reverse proxy authentifié.
  • Surface web : Flask + Celery = stack classique, peu de CVE connues, garder l'image à jour.
  • AGPL-3.0 : copyleft fort, si vous modifiez et exposez publiquement, vous devez publier vos sources.
  • Bus factor limité : fork de MeTube, la communauté ArabCoders est petite mais le socle (yt-dlp) est solide et indépendant.

Ressources

Pages Liées