WattpadDownloader (Demo)
Straightforward, Extendable WebApp to download Wattpad Books as EPUB Files.
Stars ⭐ are appreciated. Thanks!
- ⚡ Lightweight Frontend and Minimal Javascript.
- 🪙 Supports Authentication (Download paid stories from your account!)
- 🌐 API Support (Visit the
/docs
path on your instance for more.) - 🐇 Fast Generation, Ratelimit Handling.
- 🐳 Docker Support
- 🏷️ Generated EPUB File includes Metadata. (Dublin Core Spec)
- 📖 Plays well with E-Readers. (Kindle Support with Send2Kindle, ReMarkable, KOBO, KOReader...)
- 💻 Easily Hackable. Extend with ease.
- Clone the repository:
git clone https://github.com/TheOnlyWayUp/WattpadDownloader/ && cd WattpadDownloader
- Build the image:
docker build . -t 'wp_downloader'
(This takes about 2 Minutes) - Run the Container:
docker run -d -p 5042:80 wp_downloader
That's it! You can use your instance at http://localhost:5042
. API Documentation is available at http://localhost:5042/docs
.
The file-based cache struggles with concurrent requests (discussed in #2 and #22). If you're downloading a large number of books concurrently, switch to the Redis cache. Assuming you've built the image already:
- Fill the .env file. Localhost will not work in a docker container unless
host.docker.internal
or a platform-specific variant is provided.
USE_CACHE=true
CACHE_TYPE=redis
REDIS_CONNECTION_URL=redis://username:password@host:port
- Run the container and supply the .env file,
docker run -d -p 5042:80 --env-file .env wp_downloader
Alternatively, if Redis is running on localhost - Modify your
.env
file, replacinglocalhost
withhost.docker.internal
.redis://localhost:6379
should becomeredis://host.docker.internal:6379
. Then, start the container,docker run -d -p 5042:80 --env-file .env --add-host host.docker.internal:host-gateway wp_downloader
My thanks to aerkalov/ebooklib for a fast and well-documented package.
TheOnlyWayUp © 2024