Skip to content

Bandcamp CLI & TUI library downloader

License

Notifications You must be signed in to change notification settings

BatteredBunny/bannedcamp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bannedcamp

CLI & TUI Bandcamp library downloader

TUI

Browsing and downloading music from your library in TUI

bannedcamp library

image image

CLI

Downloading music in cli

bannedcamp download url "https://badmathhk.bandcamp.com/album/missing-narrative"
CLI flags reference
Download items from library

Usage: bannedcamp download [OPTIONS] <COMMAND>

Commands:
  all   Download all items from your library
  url   Download items from urls
  help  Print this message or the help of the given subcommand(s)

Options:
      --cookie <COOKIE>
          Bandcamp identity cookie (can also be set via BANDCAMP_COOKIE env vars)

  -f, --format <FORMAT>
          Audio format

          [default: flac]
          [possible values: flac, mp3-v0, mp3-320, aac, ogg, alac, wav, aiff]

  -o, --output <OUTPUT>
          Output directory

          [default: .]

      --parallel <PARALLEL>
          Concurrent downloads

          [default: 3]

  -v, --verbose...
          Increase verbosity (-v, -vv, -vvv)

      --dry-run
          Show what would be downloaded without downloading

  -q, --quiet
          Suppress output

      --skip-existing
          Skip downloads that already exist

      --custom-format <CUSTOM_FORMAT>

               Custom name format for download outputs
               Note! This does not modify the files inside album packages, only the top-level folder/file name.

               Variables:
               - {artist}: Artist name
               - {title}: Item title (track or album name)
               - {ext}: File extension (e.g., .flac, .mp3), only used for single track downloads, will be empty otherwise. Note that the extension includes the dot!
               - {id}: Item ID

               Examples:
               - "{artist} - {title}{ext}" -> "Clark Rainbow - Chainsaw.flac" (when downloading a single track URL https://clarkrainbow.bandcamp.com/track/chainsaw)
               - "{artist} - {title}" -> "Bad Math - Missing Narrative"
               - "{artist}/{title}" -> "Bad Math/Missing Narrative"

               Default:
                 "{artist} - {title}" for albums,
                 "{artist} - {title}{ext}" for tracks

  -h, --help
          Print help (see a summary with '-h')

Finding your identity cookie

  1. Login to your bandcamp account and open the website.
  2. Open inspect element -> network tab
  3. Find bandcamp.com request
  4. Click on the filter headers input and type in "identity"
  5. In the cookie field copy the text after identity=xxxxxxxxxx

Installation

Binary Release

Download the latest release binary from the releases page.

Using with Nix

Quick Run (No Installation)

You can run bannedcamp directly without installing:

nix run github:BatteredBunny/bannedcamp -- library

System Installation via Flakes

NixOS Configuration
# flake.nix
inputs = {
    bannedcamp.url = "github:BatteredBunny/bannedcamp";
};
# configuration.nix
nixpkgs.overlays = [
    inputs.bannedcamp.overlays.default
];

environment.systemPackages = with pkgs; [
    bannedcamp
];

About

Bandcamp CLI & TUI library downloader

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •