• Stars
    star
    550
  • Rank 80,860 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Download you Humble Bundle Library

Humble Bundle Downloader

PyPI PyPI

Download all of your content from your Humble Bundle Library!

The first time this runs it may take a while because it will download everything. After that it will only download the content that has been updated or is missing.

Features

  • support for Humble Trove (--trove flag)
  • downloads new and updated content from your Humble Bundle Library on each run (only check for updates if using --update)
  • cli command for easy use (downloading will also work on a headless system)
  • works for SSO and 2FA accounts
  • optional progress bar for each item downloaded (--progress flag)
  • optional filter by file types using an include or exclude list (--include/--exclude flag)
  • optional filter by platform types like video, ebook, etc... (--platform flag)

Install

pip install humblebundle-downloader

Instructions

1. Getting cookies

First thing to do is get your account cookies. This can be done by getting a browser extension that lets you see or export your cookies.

  • Method 1 (recommended)

    • Get the value of the cookie called _simpleauth_sess and pass that value using -s "COOKIE_VALUE"
  • Method 2

    • Export the cookies in the Netscape format using an extension.
      If your exported cookie file is not working, it may be a formatting issue, this can be fixed by running the command curl -b cookies.orig.txt --cookie-jar cookies.txt http://bogus

2. Downloading your library

Use the following command to download your Humble Bundle Library:
hbd --cookie-file cookies.txt --library-path "Downloaded Library" --progress

This directory structure will be used:
Downloaded Library/Purchase Name/Item Name/downloaded_file.ext

Notes

  • Inside your library folder a file named .cache.json is saved and keeps track of the files that have been downloaded. This way running the download command again pointing to the same directory will only download new or updated files.
  • Use --help with all hbd commands to see available options
  • Find supported platforms for the --platform flag by visiting your Humble Bundle Library and look under the Platform dropdown
  • Download select bundles by using the -k or --keys flag. Find these keys by going to your Purchases section, click on a products and there should be a downloads?key=XXXX in the url.

More Repositories

1

scraperx

Library for scraping websites or apis at any scale
Python
53
star
2

scrape-itebooks

Site does not have downloads anymore, repo is not kept up to date atm.
Python
51
star
3

s3-concat

Concat multiple files in s3
Python
39
star
4

it-ebooks-dl

Depreciated, use project scrape-itebooks
Python
32
star
5

s3-tar

Stream s3 data into a tar file in s3
Python
25
star
6

MinecraftArchive

Downloads all of the Jar files (client/server) from Alpha, Beta, Snapshots, and Stable builds
Python
14
star
7

mirror-to-gitlab

Mirror repos to a gitlab server
Shell
9
star
8

regex-decorator

Apply a decorator to a function that is triggered by a regex
Python
8
star
9

web-scraper

scrape web sites
Python
7
star
10

cutil

A collection of functions & classes that I reuse a lot
Python
6
star
11

github-backup

Backup/mirror all github repos of a user
Python
5
star
12

break-room-bot

Play connect 4 in slack
Python
4
star
13

data-converter

Convert any data file to any other
Python
3
star
14

qrcode-xcolor

Python
3
star
15

logredactor

Redact data from python logs
Python
3
star
16

django-react-boilerplate

Boilerplate repo for starting a project with a Django rest framework backend and React frontend
TypeScript
1
star
17

slackbot-queue

Easy to use slackbot that can run large jobs using celery
Python
1
star
18

scraper-lib

Scraper library for my scrapers
Python
1
star
19

bash-archive-weekly

Shell
1
star
20

base_django

Django base template
CSS
1
star
21

slack-actions

Make it simple to have a single slackbot that can have different commands in different slack channels.
Python
1
star
22

scrape-wallhaven

Python
1
star
23

scrape-questionablecontent

Python
1
star