89 lines
3.9 KiB

# muse-dl ![Travis (.org)]( ![GitHub issues]( ![GitHub issues by-label]( ![GitHub]( ![GitHub top language]( [![PRs Welcome](]( ![Docker Cloud Automated build]( ![Docker Cloud Build Status]( ![Docker Image Size (latest semver)](
Download PDFs from Project MUSE and stitch them together into a single-file using [`pdftk`](
# :warning: WARNING :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
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: <>. 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
# 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
Replace edge with the latest version number if you'd like to run a tagged release.
### Docker Images
The following images are available:
- `edge`: Run `muse-dl` against latest master.
- `edge-static`: Get the pre-built static-binary against latest master.
- `v1.3.1`: Run `muse-dl` against the specific release.
- `v1.3.1-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
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
--clobber Overwrite the output file, if it already exists.
--dont-strip-first-page Disables first page from being stripped. Use carefully
--cookie COOKIE Cookie-header
-h, --help Show this help
## Sample Run
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.