summaryrefslogtreecommitdiff
path: root/README
blob: ce309da32d0cdf1c0c6ff9ea07a482809396a1c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Tool to download Humble Indie Bundle binaries by file name
Author: Eric Anderson <ejona86@gmail.com>
Contributor: Thomas Riccardi <riccardi.thomas@gmail.com>
Contributor: Devin J. Pohly <djpohly@gmail.com>
Contributor: Yaohan Chen <yaohan.chen@gmail.com>

Description
===========

Primarily for use as a DLAGENT in makepkg.conf in Arch Linux, but generally
useful when needing to download a particular Humble Bundle file via a script.

It also manages a storage directory where already downloaded file can be found.

Installation and Usage
======================

This utility currently requires PhantomJS in order to extract links on Humble
Bundle webpages generated by JavaScript. It also uses 'display', part of
ImageMagick, to handle any captchas. (It does not solve captchas for you, but
only displays a screenshot of the web page and asks you to enter the answer.)

To run hib-dlagent without installating it, add parameters '-S. -c.', which tells
it to look for scripts and the configuration file in the current directory.

By default hib-dlagent assumes the .coffee scripts are installed in
/usr/share/hib-dlagent, and the .json configuration file is installed in
/etc/hib-dlagent. If they are installed in other locations, it is necessary
to either run hib-dlagent with the correct -S and -c parameters, or edit the
variables SCRIPT_PATH and CONFIG_PATH in hib-dlagent.

The tool uses curl to download the file, or can simply provide the URL needed to
download the file so a different HTTP downloader such a Wget can be used.

To use as a DLAGENT for the 'hib' scheme, you can modify makepkg.conf:
DLAGENTS=(...
    'hib::/usr/bin/hib-dlagent -k 1a2b3c -o %o %u'
    ...)

Run with the -h argument for more information.

Troubleshooting
===============

Extracting URLs from Humble Bundle's mostly dynamically-generated website can be
error-prone, and time consuming. Currently it can take about 20 seconds for the
script to run. If the script fails or gets stuck, it may help to turn on logging
by setting the LOG environment variable to a non-empty value.