All Projects → Feuerhamster → wattpad-downloader

Feuerhamster / wattpad-downloader

Licence: AGPL-3.0 license
A website to convert and download Wattpad stories into e-book reader formats.

Programming Languages

javascript
184084 projects - #8 most used programming language
Pug
443 projects
CSS
56736 projects
Dockerfile
14818 projects
HTML
75241 projects

Projects that are alternatives of or similar to wattpad-downloader

Duofolio
A simple ebook reader to help you learn languages 📖
Stars: ✭ 233 (+323.64%)
Mutual labels:  epub
Reader
高仿多看阅读器apk,支持PDF解析.文档支持搜索,高亮文字,墨迹等功能
Stars: ✭ 98 (+78.18%)
Mutual labels:  epub
calibre-kindle-comics
A calibre plugin that converts your comics into a readable format for kindle.
Stars: ✭ 32 (-41.82%)
Mutual labels:  epub
Open Publisher
Using Jekyll to create outputs that can be used as Pandoc inputs. In short - input markdown, output mobi, epub, pdf, and print-ready pdf. With a focus on fiction.
Stars: ✭ 242 (+340%)
Mutual labels:  epub
R2D2BC
https://d-i-t-a.github.io/R2D2BC/
Stars: ✭ 27 (-50.91%)
Mutual labels:  epub
scopy
Python script for searching through your digital books and cataloguing them in an easy-to-share list of files.
Stars: ✭ 28 (-49.09%)
Mutual labels:  epub
Safaribooks
Download and generate EPUB of your favorite books from O'Reilly Learning (aka Safari Books Online) library.
Stars: ✭ 3,208 (+5732.73%)
Mutual labels:  epub
SDKLauncher-Android
Launcher app for Readium SDK on Android
Stars: ✭ 77 (+40%)
Mutual labels:  epub
nuber
terminal epub reader with inline images
Stars: ✭ 73 (+32.73%)
Mutual labels:  epub
infinite-electron
An Electron-based cross-platform desktop reader for free ebooks
Stars: ✭ 39 (-29.09%)
Mutual labels:  epub
onesync-reader-app
Cross-platform ebook reader built using Xamarin.Forms
Stars: ✭ 33 (-40%)
Mutual labels:  epub
ship-it
Wattpad's tool for continuously deploying code to Kubernetes quickly, safely, and observably.
Stars: ✭ 14 (-74.55%)
Mutual labels:  wattpad
novelsave
This is a tool to download and convert novels from popular sites to e-books.
Stars: ✭ 25 (-54.55%)
Mutual labels:  epub
Foliate
A simple and modern GTK eBook reader
Stars: ✭ 3,150 (+5627.27%)
Mutual labels:  epub
Wuxiaworld-2-eBook
This Python script will download chapters from novels availaible on wuxiaworld.com saves then into the .epub format
Stars: ✭ 90 (+63.64%)
Mutual labels:  epub
Laravel Book
Up to date Epub, Mobi and PDF versions from the official Laravel Docs
Stars: ✭ 221 (+301.82%)
Mutual labels:  epub
dslibris
An ebook reader for the Nintendo DS, DS Lite, and DSi.
Stars: ✭ 31 (-43.64%)
Mutual labels:  epub
bash-pubkit
Book template and EPUB compiler
Stars: ✭ 27 (-50.91%)
Mutual labels:  epub
bitcoin-development-with-go
[Work in Progress] A little book on Bitcoin Development with Go (golang)
Stars: ✭ 19 (-65.45%)
Mutual labels:  epub
react-viewer
Online EPUB/Comics viewer
Stars: ✭ 52 (-5.45%)
Mutual labels:  epub

Wattpad Downloader

Codacy Badge Website Badge

Download Wattpad stories for e-book readers, smartphones, desktop and more for free!

This software based on Node.js and Express.js can fetch stories from Wattpad and convert it into an EPUB file or a full functional HTML reader for offline availability.

Important information
Due to high user numbers and legal reasons, we had to shut down our official public instance of this project (https://wattpad.ml).
But we're not gone! You can quickly set up your own instance with the instructions below.

Prerequisites and information

This is a server software and NOT a simple app!
It means that this software is meant to be installed on a server by a system administrator and then hooked into a network (for example, the Internet) so that other people can access the website through a browser.
The Wattpad Downloader is not a program or an app that everyone downloads individually and then simply executes.

However, you can install it for local use on a PC with Windows, Mac or Linux. For that, you need to install the Node.js Framework. Then follow the installation steps below.

If you have set it up properly, your terminal should output the URL that you can open in a web browser.

Why is this all so complicated for end users?

Because it is a server software meant to be hosted on the internet by system administrators, so others can easily access it over the internet with a browser (like our public instance that we had to shut down. https://wattpad.ml was exactly this software set up on our server).

Third party instances

These are instances hosted by others, which we list here so that honest users can continue using this software.
We are not responsible for these instances and do not provide any guarantee or assume any liability.

Installation

  1. Clone / download the repository
  2. Go to the root directory of the project
  3. (optional) Make sure to set up the environment variables properly
  4. Run npm install in your terminal
  5. Then run npm start in your terminal

Environment variables

For the node app, to work properly, an .env file with the following values should be created in the project root, or they should be included in the environment variables. The app will start and work without, but it's recommended to set those variables.

TLDR: All env variables are optional, but for full functionality, we recommend setting them.

# Default port is 2200
PORT = 2200

# Required if the app is running behind a reverse proxy like NGINX
PROXY = true

# Ackee configuration
ACKEE_TRACKER = your_ackee_tracker_script_url
ACKEE_SERVER = your_ackee_url
ACKEE_DOMAIN_ID = your_ackee_domain_id
ACKEE_DETAILED = true

# Rate limiter configuration (duration in seconds)
RATE_LIMIT_POINTS = 5
RATE_LIMIT_DURATION = 86400

# Caching ttl in seconds for the wattpad api
CACHE_TTL = 86400

# Redis connection string (uses NodeCache if not set)
REDIS_URI = redis://192.168.144.128:6379

# Google ReCaptcha configuration
RECAPTCHA_SITEKEY = your_site_key
RECAPTCHA_SECRET = your_captcha_secret

Redis

The Wattpad Downloader works completely without Redis, but it is recommended to have a central redis server running if you are clustering and scaling the software.

Docker

⚠️ Notice
The docker image is now hosted as git.bluemedia.dev/bluemedia/wattpad-downloader. The old registry name will continue to point to the current image for now, but may stop working at some point in the future.

You can deploy the Wattpad Downloader with docker:

docker run -d --name wattpad-dl -p 2200:2200 git.bluemedia.dev/bluemedia/wattpad-downloader

Project structure

  • /lang Contains JSON files with language translations. The file name corresponds to the 2-3 letters language tag from the Accept-Language http header.
  • /routes Contains js files with express routers.
  • /services Contains js files with static classes that provides some functionalities.
  • /static Contains multiple files that will be hostet as static assets by express.
  • /templates Contains the templates to convert the wattpad stories to the specific formats.
  • /views Contains Pug template files that will be rendered by express.

API Endpoints

Important: Do not use this automated! The endpoint have a high response time because the backend have to fetch all data and texts from the wattpad books.

/api/:id/download/:format

Params:

  • id The id of a wattpad story
  • format The format for a download epub|html

Querystring:

  • token A user response from ReCaptcha

Returns:

  • .epub file download (Content-disposition: attachment)
  • .html file download (Content-disposition: attachment)
  • { "error": "book_not_found" }

File formats for story conversion

EPUB

EPUB is an e-book file format that uses the ". epub" file extension. The term is short for electronic publication and is sometimes styled ePub. EPUB is supported by many e-readers, and compatible software is available for most smartphones, tablets, and computers.

HTML

The HTML file features an entire reader including the story (so people can read it offline).

Main developers

We are not associated with Wattpad Corp. in any way.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].