Initial vault setup
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
---
|
||||
title: Cobalt
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, downloads, video, youtube, tiktok, nodejs, downloader]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=downloads, https://github.com/imputnet/cobalt]
|
||||
---
|
||||
|
||||
# Cobalt
|
||||
|
||||
> Outil minimaliste et multiplateforme pour **télécharger des vidéos, audios et GIF** depuis YouTube, TikTok, Twitter/X, Instagram, SoundCloud, Reddit et +50 plateformes. API REST + WebUI.
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://cobalt.tools/ |
|
||||
| **GitHub** | https://github.com/imputnet/cobalt |
|
||||
| **License** | AGPL-3.0 |
|
||||
| **Langage** | TypeScript / Node.js (Express + Elysia) |
|
||||
| **Étoiles GitHub** | 3 465 ⭐ |
|
||||
| **Dernière MAJ** | 2026-05 |
|
||||
| **Catégorie** | [[cat-downloads]] |
|
||||
|
||||
## Description
|
||||
|
||||
Cobalt est un **downloader média universel** qui s'attaque au problème récurrent des outils type youtube-dl : des **dizaines de forks**, des CLI obscures, des GUIs vieillissantes. Cobalt propose une approche moderne : un **backend unique** (Node.js + FFmpeg) qui supporte plus de **50 plateformes** (YouTube, TikTok, Twitter/X, Instagram, Reddit, SoundCloud, Vimeo, Pinterest, Threads, Bluesky, VK, Twitch, Bilibili, etc.) derrière une **API REST simple** et une **WebUI minimaliste**.
|
||||
|
||||
L'API est exposée sur `/api/` avec deux endpoints principaux : `POST /api/` (lancer un téléchargement) et `GET /api/stream?p=...` (servir le fichier). Chaque requête accepte un JSON avec l'URL source, un format (`auto`, `best`, `audio`, `gif`, `mute`) et des options (qualité, légende, conversion). Cobalt retourne soit un **stream direct** (binary), soit un **tunnel via tunnel.cobalt.tools** pour contourner les restrictions géographiques/IP.
|
||||
|
||||
Le projet est **AGPL-3.0**, ce qui impose la redistribution du code source modifié. Cobalt se distingue aussi par sa **philosophie « pas de pubs, pas de trackers, pas de comptes »** : aucune inscription, aucun cookie, aucun historique. Une **instance publique officielle** existe sur `cobalt.tools` mais l'auto-hébergement est encouragé pour la confidentialité.
|
||||
|
||||
## Installation
|
||||
|
||||
### Option 1 : Docker Compose (recommandé)
|
||||
|
||||
```yaml
|
||||
services:
|
||||
cobalt:
|
||||
image: ghcr.io/imputnet/cobalt:latest
|
||||
container_name: cobalt
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9000:9000/udp" # pour le tunnel UDP
|
||||
environment:
|
||||
- API_PORT=9000
|
||||
- API_LISTEN=0.0.0.0:9000
|
||||
volumes:
|
||||
- ./cookies:/cookies # cookies YouTube pour contourner les restrictions
|
||||
- ./downloads:/downloads
|
||||
```
|
||||
|
||||
UI accessible sur `http://localhost:9000`. L'endpoint API est `/api/`.
|
||||
|
||||
### Option 2 : Installation manuelle
|
||||
|
||||
Cobalt nécessite **Node.js 20+** et **FFmpeg 6+**. Cloner le repo, lancer `pnpm install`, `pnpm build`, `pnpm start`. Pour le développement : `pnpm dev`.
|
||||
|
||||
## Configuration
|
||||
|
||||
1. **Cookies YouTube** : monter un fichier `cookies.txt` (exporté depuis une extension type "Get cookies.txt LOCALLY") dans `/cookies/cookies.txt` pour pouvoir télécharger des vidéos nécessitant une connexion (âges, pays, etc.).
|
||||
2. **Tunnel** : configurer `TUNNEL_ENABLED=true` et un domaine public pour permettre le téléchargement de plateformes qui bloquent les IP de serveurs (TikTok, Instagram).
|
||||
3. **API Key** : si `API_KEY` est défini, toutes les requêtes doivent inclure un header `Api-Key: xxx` (mode privé).
|
||||
4. **Rate limit** : `RATE_LIMIT_WINDOW` et `RATE_LIMIT_MAX` pour limiter les abus.
|
||||
5. **Format / qualité par défaut** : `DOWNLOAD_AUDIO_BITRATE`, `DOWNLOAD_VIDEO_HEIGHT_MAX`, `GIF_QUALITY`.
|
||||
|
||||
## Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-youtubedl-material]] — GUI web pour yt-dlp avec gestion de playlist, abonnements
|
||||
- [[app-metube]] — Interface web simple pour youtube-dl / yt-dlp
|
||||
- **yt-dlp** (CLI) — Le moteur utilisé par la plupart des alternatives, à utiliser seul
|
||||
- **gallery-dl** — Spécialisé dans les galeries d'images (Pixiv, Twitter, Danbooru)
|
||||
|
||||
### Propriétaires
|
||||
- **y2mate.com**, **savefrom.net** — Sites tiers, pistés et bourrés de pubs
|
||||
- **4K Video Downloader** — Application desktop propriétaire (free trial only)
|
||||
- **SnapSave** — Proxy web qui n'est PAS un service self-hosted
|
||||
|
||||
## Sécurité
|
||||
|
||||
- Activer `API_KEY` pour restreindre l'accès en mode privé
|
||||
- Ne **jamais** exposer Cobalt sur Internet sans rate-limiting (risque d'abus)
|
||||
- Les cookies YouTube doivent être **régulièrement renouvelés** (expiration rapide)
|
||||
- Activer HTTPS via un reverse proxy ([[app-caddy]], [[app-nginx]])
|
||||
- Cobalt ne stocke pas les vidéos après téléchargement : vérifier les logs si besoin de conformité RGPD
|
||||
- ⚠️ Télécharger du contenu protégé par le droit d'auteur peut être **illégal** selon la juridiction et l'usage
|
||||
|
||||
## Ressources
|
||||
|
||||
- Site officiel : https://cobalt.tools/
|
||||
- Code source : https://github.com/imputnet/cobalt
|
||||
- Documentation API : https://github.com/imputnet/cobalt/blob/main/docs/protect-an-instance.md
|
||||
- Instances : https://instances.cobalt.best/
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-downloads]] — Vue d'ensemble de la catégorie Downloads
|
||||
- [[app-metube]] — GUI web pour yt-dlp
|
||||
- [[app-youtubedl-material]] — Alternative avec plus de fonctionnalités
|
||||
- [[app-caddy]] / [[app-nginx]] — Reverse proxy pour HTTPS
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
Reference in New Issue
Block a user