Skip to content

AaronBenDaniel/WattpadDownloader

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

278 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 TheOnlyWayUp#2 and TheOnlyWayUp#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. Metadata and Cover Support 🏷️, Lightweight Frontend πŸ‡, Dockerized 🐳, Rapid Generation ⚑, API Support 🌐

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Svelte 67.9%
  • Python 22.2%
  • CSS 4.7%
  • HTML 3.0%
  • JavaScript 1.6%
  • Dockerfile 0.6%