|
1 | | -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). |
| 1 | +# BookGrab |
| 2 | + |
| 3 | +> **Disclaimer:** BookGrab is a personal project I built for myself. Support is limited to MyAnonyMouse (MAM) and Transmission. Use at your own risk. |
| 4 | +
|
| 5 | +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. |
| 6 | + |
| 7 | +## Why BookGrab? |
| 8 | + |
| 9 | +Most people looking for book automation probably want [Readarr](https://readarr.com/). However, I built BookGrab because: |
| 10 | + |
| 11 | +1. Readarr requires separate instances for audiobooks and ebooks, which is cumbersome |
| 12 | +2. Readarr's author-based interface is too complicated to share with friends and family |
| 13 | +3. I wanted a simpler, more direct search-and-download experience without the complexity of a full media management system |
| 14 | + |
| 15 | +BookGrab focuses on doing one thing well: making it easy to search MAM and download books with a single click. |
| 16 | + |
| 17 | +## Features |
| 18 | + |
| 19 | +- Simple search interface for MyAnonyMouse's extensive book collection |
| 20 | +- Display search results with book details (title, author, format, length for audiobooks) |
| 21 | +- Download books directly to your Transmission client with a single click |
| 22 | +- 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) |
| 23 | +- Light and dark mode support |
| 24 | +- Minimal setup and configuration |
2 | 25 |
|
3 | 26 | ## Getting Started |
4 | 27 |
|
5 | | -First, run the development server: |
| 28 | +### Prerequisites |
6 | 29 |
|
7 | | -```bash |
8 | | -npm run dev |
9 | | -# or |
10 | | -yarn dev |
11 | | -# or |
12 | | -pnpm dev |
13 | | -# or |
14 | | -bun dev |
| 30 | +- Node.js 18+ and npm |
| 31 | +- A MyAnonyMouse account and session token |
| 32 | +- A running Transmission client |
| 33 | + |
| 34 | +### Environment Variables |
| 35 | + |
| 36 | +Create a `.env.local` file in the root directory with the following variables: |
| 37 | + |
| 38 | +``` |
| 39 | +MAM_TOKEN=your_mam_token_here |
| 40 | +TRANSMISSION_URL=http://your-transmission-server:9091/transmission/rpc |
| 41 | +AUDIOBOOK_DESTINATION_PATH=/path/to/audiobooks |
| 42 | +EBOOK_DESTINATION_PATH=/path/to/ebooks |
15 | 43 | ``` |
16 | 44 |
|
17 | | -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. |
| 45 | +### Installation |
18 | 46 |
|
19 | | -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. |
| 47 | +1. Clone the repository |
| 48 | +2. Install dependencies: |
20 | 49 |
|
21 | | -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. |
| 50 | +```bash |
| 51 | +npm install |
| 52 | +``` |
22 | 53 |
|
23 | | -## Learn More |
| 54 | +3. Run the development server: |
24 | 55 |
|
25 | | -To learn more about Next.js, take a look at the following resources: |
| 56 | +```bash |
| 57 | +npm run dev |
| 58 | +``` |
| 59 | + |
| 60 | +4. Open [http://localhost:3000](http://localhost:3000) with your browser to see the application. |
| 61 | + |
| 62 | +## Building for Production |
26 | 63 |
|
27 | | -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. |
28 | | -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. |
| 64 | +```bash |
| 65 | +npm run build |
| 66 | +npm start |
| 67 | +``` |
29 | 68 |
|
30 | | -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! |
| 69 | +## Technologies Used |
31 | 70 |
|
32 | | -## Deploy on Vercel |
| 71 | +- Next.js |
| 72 | +- TypeScript |
| 73 | +- AWS Amplify UI |
| 74 | +- MyAnonyMouse RSS API |
| 75 | +- Transmission RPC API |
33 | 76 |
|
34 | | -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. |
| 77 | +## Limitations |
35 | 78 |
|
36 | | -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. |
| 79 | +- Only works with MyAnonyMouse as the content source |
| 80 | +- Requires a Transmission client for downloads |
| 81 | +- No library management features - just search and download |
| 82 | +- No automatic organization of downloaded content beyond basic path separation |
0 commit comments