Files
2026-06-09 18:40:21 +02:00

5.2 KiB


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é)

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

Pages Liées