Skip to content

TheOnlyWayUp/WattpadDownloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

271 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WattpadDownloader (Demo)

Straightforward, Extendable WebApp to download Wattpad Books as EPUB Files.

image

Stars ⭐ are appreciated. Thanks!

Features

  • ⚡ Lightweight Frontend.
  • 🪙 Supports Authentication (Download paid stories from your account!)
  • 🌐 API Support (Visit the /docs path on your instance for more.)
  • 🐇 Fast Generation
  • 🗃️ Caching, Ratelimit handling
  • 🐳 Docker Support
  • 🏷️ Generated books contain metadata, supported by Calibre and other E-Book Software.
  • 📖 Plays well with E-Readers. (Send2Kindle, KOReader, ReMarkable, KOBO, Calibre Reader...)
  • 💻 Easily Hackable. Extend with ease.

Still not convinced? Take a look some sample downloads.

Set Up

  1. Clone the repository: git clone https://github.com/TheOnlyWayUp/WattpadDownloader/ && cd WattpadDownloader
  2. Build the image: docker build . -t 'wp_downloader' (This takes about 2 Minutes)
  3. 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.

Concurrent Requests

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:

  1. 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
  1. 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
  2. Modify your .env file, replacing localhost with host.docker.internal. redis://localhost:6379 should become redis://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

Development

  • Developers, ensure you have wkhtmltopdf available on your PATH.
  • Run wkhtmltopdf on your terminal, if you see "Reduced Functionality", run this script to install a fully featured compilation of `wkhtmltopdf.

My thanks to aerkalov/ebooklib for a fast and well-documented package.


TheOnlyWayUp © 2026

About

Wattpad Books to EPUB Files. 🪙Download Paid Stories! Metadata and Cover Support 🏷️, Lightweight Frontend 🐇, Dockerized 🐳, Rapid Generation ⚡, API Support 🌐

Topics

Resources

Stars

Watchers

Forks

Contributors