Skip to content

johnpc/BookGrab

Repository files navigation

BookGrab

Disclaimer: BookGrab is a personal project I built for myself. Support is limited to MyAnonyMouse (MAM) and Transmission.

BookGrab is a simple, streamlined web application that allows you to search for books on MyAnonyMouse using their RSS API and send downloads directly to your Transmission client. It provides a clean, straightforward interface for finding and downloading both ebooks and audiobooks.

Why BookGrab?

Most people looking for book automation probably want Readarr. However, I built BookGrab because:

  1. Readarr requires separate instances for audiobooks and ebooks, which is cumbersome
  2. Readarr's author-based interface is too complicated to share with friends and family
  3. I wanted a simpler, more direct search-and-download experience without the complexity of a full media management system

BookGrab focuses on doing one thing well: making it easy to search MAM and download books with a single click.

Features

  • Simple search interface for MyAnonyMouse's extensive book collection
  • Display search results with book details (title, author, format, length for audiobooks)
  • Download books directly to your Transmission client with a single click
  • Separate download paths for audiobooks and ebooks (I send my audiobooks to the directory scanned by AudioBookshelf and the ebooks I send to the directory scanned by Calibre-Web)
  • Light and dark mode support
  • Minimal setup and configuration

Getting Started

Prerequisites

  • A MyAnonyMouse account and session token
  • A running Transmission client

Installation Options

Option 1: Docker Compose (Recommended)

  1. Create a docker-compose.yml file:
version: '3'

services:
  bookgrab:
    image: mrorbitman/bookgrab:latest
    container_name: bookgrab
    ports:
      - "3000:3000"
    environment:
      - MAM_TOKEN=your_mam_token_here
      - TRANSMISSION_URL=http://your-transmission-server:9091/transmission/rpc
      - AUDIOBOOK_DESTINATION_PATH=/path/to/audiobooks
      - EBOOK_DESTINATION_PATH=/path/to/ebooks
    restart: unless-stopped
  1. Update the environment variables with your own values
  2. Run the container:
docker-compose up -d
  1. Access BookGrab at http://localhost:3000

Option 2: Docker

Run the container directly:

docker run -d \
  --name bookgrab \
  -p 3000:3000 \
  -e MAM_TOKEN=your_mam_token_here \
  -e TRANSMISSION_URL=http://your-transmission-server:9091/transmission/rpc \
  -e AUDIOBOOK_DESTINATION_PATH=/path/to/audiobooks \
  -e EBOOK_DESTINATION_PATH=/path/to/ebooks \
  mrorbitman/bookgrab:latest

Option 3: Manual Installation

  1. Prerequisites:

    • Node.js 18+ and npm
  2. Clone the repository

  3. Install dependencies:

npm install
  1. Create a .env.local file in the root directory with the following variables:
MAM_TOKEN=your_mam_token_here
TRANSMISSION_URL=http://your-transmission-server:9091/transmission/rpc
AUDIOBOOK_DESTINATION_PATH=/path/to/audiobooks
EBOOK_DESTINATION_PATH=/path/to/ebooks
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 with your browser to see the application.

Building for Production

If you're installing manually, you can build for production:

npm run build
npm start

Technologies Used

  • Next.js
  • TypeScript
  • AWS Amplify UI
  • MyAnonyMouse RSS API
  • Transmission RPC API

Limitations

  • Only works with MyAnonyMouse as the content source
  • Requires a Transmission client for downloads
  • No library management features - just search and download
  • No automatic organization of downloaded content beyond basic path separation

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published