|
||
---|---|---|
spec | ||
src | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
shard.lock | ||
shard.yml | ||
static.Dockerfile |
muse-dl
![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/captn3m0/muse-dl)
Download PDFs from Project MUSE and stitch them together into a single-file using pdftk
.
⚠️ WARNING ⚠️
Any downloads you perform with this tool are for your own usage. I personally hate reading PDFs on a browser, this lets me read them much more easily offline. This is just for personal use.
Installation
Linux / Build
git clone https://github.com/captn3m0/muse-dl.git
cd muse-dl
shards install
shards build
./bin/muse-dl --help
Linux / Download
A linux x86_64 static build is available in the latest release: https://github.com/captn3m0/muse-dl/releases/latest. Save the file as muse-dl
and remember to mark it as executable (chmod +x
).
Docker
A docker image is available at captn3m0/muse-dl
on Docker Hub. The working directory for the image is set as /data
, so you'll need to mount your output-directory as /data
for it to work. Sample invocations;
# Download the book, and put it in your Downloads directory
docker run -it /home/nemo/Downloads:/data captn3m0/muse-dl:edge https://muse.jhu.edu/book/875
# If you have a list.txt file in your Downloads directory, then you can run
docker run -it /home/nemo/Downloads:/data captn3m0/muse-dl:edge /data/list.txt
# If you want to keep the temporary files with your host, and not delete them
docker run -it /home/nemo/Downloads:/data /tmp:/musetmp captn3m0/muse-dl:edge --tmp-dir /musetmp --no-cleanup https://muse.jhu.edu/book/875
Replace edge with the latest version number if you'd like to run a tagged release.
Docker Images
The following images are available:
edge
: Runmuse-dl
against latest master.edge-static
: Get the pre-built static-binary against latest master.v1.0.2
: Runmuse-dl
against the specific release.v1.0.2-static
: Get the pre-built static binary against the specific release.
Requirements
Please ensure you have pdftk
installed, unless you're running via docker.
Usage
Usage: muse-dl [--flags] [URL|INPUT_FILE]
URL: A link to a book on the Project MUSE website, eg https://muse.jhu.edu/book/875
INPUT_FILE: Path to a file containing a list of links
--no-cleanup Don't cleanup temporary files
--tmp-dir PATH Temporary Directory to use
--output FILE Output Filename
--no-bookmarks Don't add bookmarks in the PDF
--input-pdf INPUT Input Stitched PDF. Will not download anything
--clobber Overwrite the output file, if it already exists. Not compatible with input-pdf
--cookie COOKIE Cookie-header
-h, --help Show this help
Sample Run
muse-dl https://muse.jhu.edu/book/875
Saved final output to Accommodating Revolutions- Virginia's Northern Neck in an Era of Transformations, 1760-1810.pdf
Alternatively, if you pass a input-file.txt
(sample), you can pass it as the sole parameter.
muse-dl input.txt
And it will download all the links in that file.
License
Licensed under the MIT License. See LICENSE file for details.