COBALT-CLI(1)

NAME

cobalt-cliUnofficial cobalt command line client made in go.

SYNOPSIS

$go install github.com/lostdusty/cobalt@latest

INFO

56 stars
2 forks
0 views

DESCRIPTION

Unofficial cobalt command line client made in go.

README

cobalt-cli

GitHub Release Static Badge Static Badge GitHub License

Unofficial cobalt command line client made in go. cobalt-cli uses gobalt library for communication between your machine <-> cobalt servers.

Features

  • Get directly link from the service cdn (if possible);
  • More than 15 services supported;
  • Option to check status of cobalt servers;
  • Use custom cobalt instances (see https://instances.hyper.lol);
  • Download the file directly to your computer.

Download

Platform/OSDownload link
Windowsx64 / x86 / arm
Linuxx64 / x86 / arm64
MacIntel / M1, M2, M3

You can also check the releases page to download the latest version according to your platform.

Alternatively, if you have Go installed, you can use go install github.com/lostdusty/cobalt@latest to install to your machine.

Roadmap

Planned features for cobalt-cli:

  • Option to save file to the current/custom folder, likely -s flag;
    • Display progress bar to track download progress (when supported by cobalt).
    • Hability to use custom downloader program (wget, curl, got, etc);
  • Translations.
  • Benchmarking.

Usage

cobalt-cli is similar to yt-dlp, just use cobalt [url]. If you use cobalt help, it will just show the help message.

By default cobalt-cli saves the request link to the current directory, use the -s flag to change to another directory, like: cobalt https://www.youtube.com/watch?v=n1a7o44WxNo -s ..\Videos

Help

usage: cobalt-cli [-h|--help] [url "<value>"] [-c|--video-codec (av1|vp9|h264)]
                  [-q|--video-quality (144|240|360|480|720|1080|1440|2160)]
                  [-f|--audio-format (opus|ogg|wav|mp3|best)]
                  [-Q|--audio-quality (64|128|192|256|320)]
                  [-p|--filename-pattern (basic|pretty|nerdy|classic)]
                  [-m|--mode (auto|audio|mute)] [-x|--proxy]
                  [-d|--disable-metadata] [-t|--tiktok-h265]
                  [-T|--tiktok-full-audio] [-g|--gif] [-s|--save "<value>"]
                  [-a|--api "<value>"] [-i|--instances] [-v|--verbose]
                  [-k|--key "<value>"] [-b|--benchmark] [-P|--print]
              save what you want, directly from the terminal, no unwanted
              distractions involved. powered by cobalt&#39;s api

Arguments:

-h --help Print help information <url> url to save -c --video-codec Video codec to be used. Applies only to youtube downloads. AV1: 8K/HDR, lower support | VP9: 4K/HDR, best quality | H264: 1080p, works everywhere. Default: h264 -q --video-quality Quality of the video, applies only to youtube downloads. Default: 1080 -f --audio-format Audio format/codec to be used. "best" doesn't re-encodes audio. Default: best -Q --audio-quality Audio quality in kbps. Default: 320 -p --filename-pattern File name pattern. Classic: youtube_yPYZpwSpKmA_1920x1080_h264.mp4 | audio: youtube_yPYZpwSpKmA_audio.mp3 // Basic: Video Title (1080p, h264).mp4 | audio: Audio Title - Audio Author.mp3 // Pretty: Video Title (1080p, h264, youtube).mp4 | audio: Audio Title - Audio Author (soundcloud).mp3 // Nerdy: Video Title (1080p, h264, youtube, yPYZpwSpKmA).mp4 | audio: Audio Title - Audio Author (soundcloud, 1242868615).mp3. Default: pretty -m --mode Mode to download the video. Auto: video with audio | Audio: only audio | Mute: video without audio. Default: auto -x --proxy Tunnel the download through cobalt's servers, bypassing potential restrictions and protecting your identity and privacy. Default: false -d --disable-metadata Disable metadata in the downloaded file. Default: false -t --tiktok-h265 Use H265 codec for TikTok downloads. Default: false -T --tiktok-full-audio Download TikTok videos with the original sound used in a TikTok video. Default: false -g --gif Convert Twitter videos to GIFs. Default: false -s --save What folder to save the file to. If not provided, will use the current directory. Default: D:\Docs\GitHub\cobalt -a --api Which API to use. Default is hyperdefined cobalt's API. If you are hosting a custom API, or want to use a different server, you can use it here. Default: https://cobalt-backend.canine.tools -i --instances Show community instances and exit. Default: false -v --verbose Enable verbose logging. Default: false -k --key API key by the instance owner. You may need to provide one to use download. Can be set with COBALT_API_KEY environment variable. If not provided, will load from keychain. Default: -b --benchmark Run a benchmark to test the download speed and integrity. Default: false -P --print Print the download link only, do not download the file. Default: false

Instances

The command changed, now to view other instances, use cobalt -i

Compiling

Make sure you have the lastest go compiler. Download it here.

Easy as:

  1. Clone this repository.
  2. On the root of this repository, run go mod tidy. This will download this project dependencies.
  3. To run the application, use go run .. To compile, run go build.

To add additional Windows metadata, you'll need:

  • go-winres, follow the install instructions there

Then run go-winres make on the root of this repository, it will create two .syso files.

After that, building with go build will automatically embed these files on the Windows executable.

Other projects

Check out too:

About & Thanks

  • cobalt made by wukko && jj, cool people;
  • argparse, for handling args;
  • Icon made by me;
  • You, for using my application!

SEE ALSO

clihub3/4/2026COBALT-CLI(1)