Cobalt est un outil de téléchargement multimédia open-source, gratuit et sans publicité, permettant de récupérer des vidéos et de l'audio depuis de nombreuses plateformes (YouTube, TikTok, Twitter, etc.).
Contrairement aux sites de téléchargement classiques, Cobalt fonctionne comme un proxy « pass-through » :
- Aucun stockage ni cache : les fichiers ne transitent jamais par les serveurs de Cobalt. L'outil extrait l'URL directe du média sur la plateforme cible et redirige l'utilisateur ou tunnelise les données.
- Confidentialité : aucun tracker, aucune publicité, aucun paywall. Le tunneling peut masquer l'IP de l'utilisateur face à la plateforme source.
- Traitement local : il utilise des technologies modernes (WebCodecs, LibAV WASM) pour effectuer le remuxing directement sur l'appareil de l'utilisateur, réduisant la charge serveur.
Plateformes supportées
Cobalt prend en charge plus de 20 plateformes, notamment :
-
YouTube, TikTok, Instagram, Twitter/X, Reddit, SoundCloud, Vimeo, VK, etc.
-
Formats : Vidéo (jusqu'à 8K avec AV1, 1080p avec H.264, 4K avec VP9), Audio (MP3 avec choix du bitrate), et GIF.
Point important : le blocage de YouTube sur l'instance publique
L'instance publique officielle cobalt.tools a été bloquée par YouTube depuis 2025 et ne fonctionne plus pour cette plateforme en 2026. C'est précisément pour cette raison que l'auto-hébergement via Docker est fortement recommandé : une instance auto-hébergée contourne ce blocage, car elle opère de manière indépendante.
Démo et instance publique
Si vous souhaitez tester ou utiliser l'instance publique, cliquez sur ce lien :
cobalt.tools
1. Configuration Console
1.1. Composition de la pile
Cette pile docker se compose de deux images :
Cobalt (fonction logicielle principale) : https://github.com/imputnet/cobalt
Cobalt Web (frontend page d'atterrissage web) : https://github.com/spotdemo4/cobalt-web-docker
1.2. Boutique communautaire
Ouvrez sur ZimaOS la Boutique d'applications. Descendez sur la colonne de gauche jusqu'à l'étagère Boutique communautaire. Et, sélectionnez Hira's App Store.
Si le dépôt proposé par ce développeur n'est pas actif, consultez cet article.
1.3. Application personnalisée
Cliquez à présent sut l'icône de l'application Cobalt. Attention : ne pas cliquer sur le bouton "Installer".
Puis sur la page de présentation de l'application, cliquez sur le bouton (en haut à droite) Installation personnalisée.
YAML (pour info)
Cobalt
services:
cobalt:
command: null
container_name: cobalt
deploy:
resources:
limits:
memory: 1GB
cpus: "2.00"
reservations:
memory: 128MB
cpus: "0.00"
placement: {}
entrypoint: null
environment:
API_URL: http://ip-locale:8417/
image: ghcr.io/imputnet/cobalt:latest
labels:
icon: https://Zimaos.hsinghhira.me/apps/com.hiraappstore.cobalt/assets/icon.png
network_mode: bridge
ports:
- target: 9000
published: "8417"
protocol: tcp
restart: unless-stopped
stop_grace_period: 40s
volumes: []
cobalt-web:
command: null
container_name: cobalt-web
depends_on:
cobalt:
condition: service_started
required: true
deploy:
resources:
limits:
memory: 2GB
cpus: "1.00"
reservations:
memory: 256MB
cpus: "0.00"
placement: {}
entrypoint: null
environment:
WEB_DEFAULT_API: http://ip-locale:8417/
WEB_HOST: ip-locale
image: ghcr.io/spotdemo4/cobalt-web:latest
labels:
icon: https://Zimaos.hsinghhira.me/apps/com.hiraappstore.cobalt/assets/icon.png
network_mode: bridge
ports:
- target: 8787
published: "8418"
protocol: tcp
restart: unless-stopped
stop_grace_period: 40s
volumes: []
x-casaos:
hostname: ""
icon: https://Zimaos.hsinghhira.me/apps/com.hiraappstore.cobalt/assets/icon.png
id: com.hiraappstore.cobalt
index: /
is_uncontrolled: false
main: cobalt-web
port_map: "8418"
repo_id: com.hiraappstore.zimaos
scheme: http
store_app_id: cobalt
title:
custom: Cobalt
en_US: Cobalt
version: 11.7.11.4. Paramètres de Cobalt
Le formulaire s'ouvre sur l'onglet cobalt
1. Au niveau d'Environnement ⇾ Variables sur la fenêtre :
API_URL=IP locale du serveur + port d'écoute de cobalt suivi de /
Exemple : API_URL=http://192.168.1.9:8417/
2. Sur l'onglet cobalt-web
WEB_DEFAULT_API=IP locale du serveur + port d'écoute de cobalt suivi de /
WEB_HOST=Ip locale de votre serveur
Exemple : WEB_DEFAULT_API=http://192.168.1.9:8417/ et WEB_HOST=192.168.1.9
1.5. Installer
Cliquez sur Installer et patientez le temps de l’installation.
Vous pouvez suivre la progression sur la page de présentation du développeur ou la fermer pour un suivi sur ZimaOS.
Puis, cliquez sur la nouvelle tuile créée pour ouvrir une nouvelle page web.
Si vous avez installé et activé ZFW, créez une règle pour les ports 8417, 8418
2. Interface Web
2.1. Page d’atterrissage
Lors de la première ouverture un pop-up vous informe des configurations nécessaires et optionnelles. Puis cliquez sur Ouvrir cobalt.
L'interface se veut des plus simple et épurée. Juste une fenêtre, pour déposer le lien d'une plate-forme publique.
Faites un premier test avec un copier-coller d'un lien YouTube (contrôle du blocage ?). Et, cliquez au bout de la fenêtre sur l'icône >>
Pour YouTube, il est conseillé de désactiver dans 'Settings' sur l'interface "Local processing" (en cas de blocage). Le fichier se télécharge directement sur machine cliente.
Pour Facebook, la vidéo s'ouvre sur un nouvel onglet. Cliquez sur les trois points verticaux et télécharger.
NB, je n'ai pas testé d'autres sites.
Pour les sites nécessitant d'une authentification, vous devez créer un fichier `cookies.json' (voir 3. Configuration avancée).
Profitez de Cobalt!
3. Configuration avancée
Pour une configuration avancée (Exposer l'application sur le web, matériel spécifié, authentification...), consultez les docs de Cobalt :
Indications (conf avancés) du pop-up à la première ouverture (traduction Google) :
- Facultatif : si vous devez télécharger des applications depuis des sources nécessitant une authentification, créez un fichier `cookies.json`, décommentez la variable d’environnement `COOKIE_PATH` et la section `volumes` du service Cobalt, puis redémarrez-le. Le fichier doit exister sur l’hôte avant le démarrage du conteneur, sinon Docker créera un répertoire vide à sa place.
- Facultatif : si cette instance est accessible depuis Internet, configurez Cloudflare Turnstile (`TURNSTILE_SITEKEY`, `TURNSTILE_SECRET`, `JWT_SECRET`) et/ou l’authentification par clé API (`API_KEY_URL`, `API_AUTH_REQUIRED`) via des variables d’environnement supplémentaires du service Cobalt.
- Consultez la documentation « Protéger une instance » de Cobalt. Ces variables ne sont pas pré-remplies ici, car vous devez les générer vous-même.
- Important : si vous modifiez l’URL de l’API après l’installation (par exemple, en passant d’une adresse IP locale à un domaine), vous devez mettre à jour la variable WEB_DEFAULT_API sur cobalt-web pour qu’elle corresponde et redémarrer les deux services ; une paire désynchronisée interrompt silencieusement les téléchargements au lieu de générer une erreur bruyante.








