gutenberg

gutenberg is a Perl program that provides a command-line interface for fetching ebook files from Project Gutenberg, a project dedicated to cataloging and archiving public-domain ebooks.

Building

gutenberg should be able to run on most Unix-like operating systems, as long as they support the dependencies listed below. It should also be able to run on Windows, although I have not extensively tested it.

gutenberg depends on the following:

Once the aforementioned dependencies are installed, gutenberg can built and installed via the following commands:

perl Makefile.PL
make
make test
make install

Please consult the documentation for ExtUtils::MakeMaker for more information on configuring the build process.

Usage

Before you can use gutenberg, you must first fetch a local copy of the Project Gutenberg ebook catalog. This is done via the update command.

gutenberg update

Once the catalog is obtained, you can begin searching for ebooks and downloading them from Project Gutenberg.

gutenberg performs operations by being given commands. gutenberg currently implements the following commands:

This section was meant to be a quick overview of gutenberg's capabilities. For more detailed documentation, you should consult the gutenberg manual.

gutenberg -h
man 1 gutenberg

Caveats/Restrictions

This program was NOT designed to scrape or bulk download files from Project Gutenberg. Attempting to use this program to do so may result in Project Gutenberg banning you from using their services. Download responsibly!

This program does not currently support fetching non-text ebooks, like audio books. Support for non-text formats may be implemented in the future if there is demand.

Author

This program was written by Samuel Young, <samyoung12788 at gmail dot com>.

This project's source can be found on its Codeberg page. Comments and pull requests are welcome!

Copyright (C) 2025 Samuel Young

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.