Skip to content

πŸ“¦ The missing CLI for downloading your Humble Bundle purchases

License

Notifications You must be signed in to change notification settings

smbl64/humble-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

249 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

humble-cli

The missing command-line interface for downloading your Humble Bundle purchases!

✨ Features

  • List all your Humble Bundle purchases
  • List entries in a bundle, their file formats, and file size
  • Download items in a bundle separately, and optionally filter them with
    • file format (e.g., EPUB, PDF)
    • file size
  • Easily see which of your bundles have unclaimed keys
  • Check your Humble Bundle Choices in current and previous months
  • Search through all your purchases for a specific product

πŸ”§ Install

Option 1: Download Pre-built Binaries

Download the binaries from the Releases page. Windows, macOS, and Linux are supported.

Option 2: Install via Go

go install github.com/smbl64/humble-cli/cmd/humble-cli@latest

Option 3: Build from Source

git clone https://github.com/smbl64/humble-cli.git
cd humble-cli
go build -o humble-cli ./cmd/humble-cli

πŸš€ Usage

To start, go to the Humble Bundle website and log in. Then find the cookie value for _simpleauth_sess. This is required to interact with the Humble Bundle API.

See this guide on how to find the cookie value for your browser: Chrome, Firefox, Safari.

Use humble-cli auth "<YOUR SESSION KEY>" to store the authentication key locally for other subcommands.

After that you will have access to the following sub-commands:

$ humble-cli --help
Command-line tool to interact with Humble Bundle purchases: list bundles, show details, search products, and download items.

Usage:
  humble-cli [command]

Available Commands:
  auth          Set the authentication session key
  bulk-download Download items from multiple bundles
  completion    Generate shell completions
  details       Print details of a certain bundle
  download      Selectively download items from a bundle
  help          Help about any command
  list          List all your purchased bundles
  list-choices  List your current Humble Choices
  search        Search through all bundle products for keywords

Flags:
  -h, --help      help for humble-cli
  -v, --version   version for humble-cli

Use "humble-cli [command] --help" for more information about a command.

πŸ“ Examples

List all bundles

humble-cli list

List bundles with specific fields (CSV output)

humble-cli list --field key --field name

Filter by claimed status

humble-cli list --claimed no

Show bundle details

humble-cli details <BUNDLE-KEY>

Search for products

humble-cli search "civilization" --mode any

Download a bundle

# Download specific formats
humble-cli download <BUNDLE-KEY> -f pdf -f epub

# Download with size limit
humble-cli download <BUNDLE-KEY> -s 100MB

# Download specific items
humble-cli download <BUNDLE-KEY> -i 1,3,5-10

# Download torrents only
humble-cli download <BUNDLE-KEY> -t

Bulk download

# Create a file with bundle keys (one per line)
humble-cli list --field key > bundles.txt

# Download all bundles
humble-cli bulk-download bundles.txt -f pdf

πŸ”‘ Shell Completion

Generate shell completions for your preferred shell:

# Bash
source <(humble-cli completion bash)

# Zsh
humble-cli completion zsh > "${fpath[1]}/_humble-cli"

# Fish
humble-cli completion fish | source

# PowerShell
humble-cli completion powershell | Out-String | Invoke-Expression

πŸ› οΈ Development

Prerequisites

  • Go 1.21 or later

Building

go build -o humble-cli ./cmd/humble-cli

Running Tests

go test ./...

About

πŸ“¦ The missing CLI for downloading your Humble Bundle purchases

Topics

Resources

License

Stars

Watchers

Forks

Contributors 8