Initial vault setup
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
---
|
||||
title: YTPTube
|
||||
created: 2026-06-07
|
||||
updated: 202-06-07
|
||||
type: app
|
||||
tags: [catalogue, downloads, youtube, yt-dlp, python, web-ui, frontend]
|
||||
confidence: medium
|
||||
contested: false
|
||||
sources:
|
||||
- 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é)
|
||||
|
||||
```yaml
|
||||
# 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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
- Repository : https://github.com/arabcoders/ytptube
|
||||
- Annonce Reddit : https://www.reddit.com/r/selfhosted/comments/1l1p76w/
|
||||
- MeTube (projet parent) : https://github.com/alexta69/metube
|
||||
- yt-dlp : https://github.com/yt-dlp/yt-dlp
|
||||
- Sponsorblock : https://sponsor.ajay.app/
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-downloads]] — catégorie parente
|
||||
- [[app-yt-dlp-web-player]] — alternative
|
||||
- [[app-yubal]] — focus musique YT
|
||||
- [[app-spotizerr]] — focus Spotify
|
||||
- [[app-jellyfin]] — peut ingérer les vidéos
|
||||
- [[app-traefik]] — reverse proxy
|
||||
- [[app-authentik]] — SSO
|
||||
- [[recettes-docker-compose]] — templates
|
||||
- [[securisation-home-lab]] — bonnes pratiques
|
||||
Reference in New Issue
Block a user