Web novel reader

Overview

NovelDokusha

Android web novel reader

Features:

  • Two databases to search for web novels (by title or categories)
  • Multiple sources from where to read
  • Reader
    • Infinite scroll
    • Custom font
    • Custom font size
  • Light and dark themes
  • Epubs importer (format won't be preserved)
  • Easy backup and restore (zip file of a database + images folder)
Comments
  • v1.7.0: size increase by factor 10 and a bunch of non-free components added

    v1.7.0: size increase by factor 10 and a bunch of non-free components added

    No idea if this was intentional, but the APK size jumped from about 4M to over 50M with v1.7.0. Further, the app is no longer FOSS as a couple of non-free components have been added:

    Offending libs:
    ---------------
    * Firebase Data Transport (/com/google/android/datatransport): NonFreeNet
    * Google Mobile Services (/com/google/android/gms): NonFreeDep
    * Firebase (/com/google/firebase): NonFreeNet,NonFreeDep
    * ML Kit (/com/google/mlkit): NonFreeDep,Tracking
    
    4 offenders.
    

    My guess is you added Google's ML Kit, which dragged in the other dependencies.

    If this was intentional: Will you offer a FOSS flavor (and APK) without those? If it was not intended: Will you revert that? Thanks in advance!

    enhancement 
    opened by IzzySoft 9
  • The ability to read out the novel

    The ability to read out the novel

    Firstly I'd like to thank your effort on this app, it's very well done for what seems to be a two person effort.

    I understand this is a large request that will probably need a lot of refinement, but in future I'd like a feature where you could have a text to speech reader read out the novel while highlighting what line it is currently on, I am new to reading novels on a phone so this could be of use. Some other features that could accompany this could be the ability to change the tone voice if the novel has dialogue (indicated by a set of "") and the ability to change the reading pace or set it to change lines as one scrolls (instead of scrolling on its own).

    If needed I could expand on this, but I just wanted to make this "issue" as more of a feature suggestion for when the app is more mature.

    Feature request 
    opened by antaxiom 5
  • New Source: WuxiaWorld

    New Source: WuxiaWorld

    Works fine with novel but doesn't get manga. Example:- https://wuxiaworld.site/novel/national-school-prince-is-a-girl-comics-wuxia-dao-novel/ https://wuxiaworld.site/novel/national-school-prince-is-a-girl-comics-wuxia-dao-novel/chapter-79-identity-revealed/

    opened by Nabeelshar 4
  • Reload button

    Reload button

    Need reload/retry button on chapter reading place.(error like internet connection problem) Because if there is error I need to revisit the page/chapter. IMG_20220512_201241.jpg

    enhancement 
    opened by Nabeelshar 3
  • adding download all chapters

    adding download all chapters

    I think it will be interesting if it is added with the download all chapters feature. so it can be read offline at leisure, without requiring an internet connection.

    opened by AhmadNaruto 3
  • Change package name

    Change package name

    How can I change the package name because sometimes I test this on my mobile and it destroy my old data. So I wanna change the package name so it can't conflict with my main app which I use for personal reading.

    opened by Nabeelshar 3
  • Megre Novelupdates db source NU source.

    Megre Novelupdates db source NU source.

    Can you merge db NU and Source Nu because then there is no need for db(as baka is not working) optional(. and added that to menu)

    It will look something like this

    opened by Nabeelshar 3
  • Requesting mtlnovels

    Requesting mtlnovels

    can you add mtlnovels, mtlnovel.com its the only mtl site with large amount of mtl novels. I tired but got error , you have been blocked You are unable to access mtlnovel.com

    Edited:- lol 😂 Edited 2:- WebView cookie bypass doesn't work.

    opened by Nabeelshar 3
  • Page Reading instead of Endless Scroll

    Page Reading instead of Endless Scroll

    I was wondering if it would be possible to decide between endless scroll and a page setup for reading. I've gotten far too use to reading and clicking on volume buttons at this point

    Feature request 
    opened by Volen-M 3
  • Requesting source ReadWn

    Requesting source ReadWn

    Here is code for fasting the process `​package​ ​grabber​.​sources​;

    ​import​ ​grabber​.​Chapter​; ​import​ ​grabber​.​GrabberUtils​; ​import​ ​grabber​.​Novel​; ​import​ ​grabber​.​NovelMetadata​; ​import​ ​org​.​jsoup​.​HttpStatusException​; ​import​ ​org​.​jsoup​.​Jsoup​; ​import​ ​org​.​jsoup​.​nodes​.​Document​; ​import​ ​org​.​jsoup​.​nodes​.​Element​; ​import​ ​org​.​jsoup​.​select​.​Elements​;

    ​import​ ​java​.​io​.​IOException​; ​import​ ​java​.​util​.​ArrayList​; ​import​ ​java​.​util​.​List​;

    ​public​ ​class​ ​readwn_com​ ​implements​ ​Source​ { ​    ​private​ ​final​ ​String​ ​name​ = ​"Readwn.com"​; ​    ​private​ ​final​ ​String​ ​url​ = ​"https://www.readwn.com/"​; ​    ​private​ ​final​ ​boolean​ ​canHeadless​ = ​false​; ​    ​private​ ​Novel​ ​novel​; ​    ​private​ ​Document​ ​toc​;

    ​    ​public​ ​readwn_com​() { ​    }

    ​    ​public​ ​readwn_com​(​Novel​ ​novel​) { ​        ​this​.​novel​ = ​novel​; ​    }

    ​    ​public​ ​String​ ​getName​() { ​        ​return​ ​name​; ​    }

    ​    ​public​ ​boolean​ ​canHeadless​() { ​        ​return​ ​canHeadless​; ​    }

    ​    ​public​ ​String​ ​toString​() { ​        ​return​ ​name​; ​    }

    ​    ​public​ ​String​ ​getUrl​() { ​        ​return​ ​url​; ​    }

    ​    ​public​ ​List​<​Chapter​> ​getChapterList​() { ​        ​List​<​Chapter​> ​chapterList​ = ​new​ ​ArrayList​(); ​        ​try​ { ​            ​toc​ = ​Jsoup​.​connect​(​novel​.​novelLink​) ​                    .​cookies​(​novel​.​cookies​) ​                    .​userAgent​(​"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0"​) ​                    .​get​(); ​            ​// Travers pagination ​            ​Document​ ​chapterListPage​ = ​toc​; ​            ​while​ (​true​) { ​                ​// Add chapters from current page ​                ​Elements​ ​chapterLinks​ = ​chapterListPage​.​select​(​".chapter-list a"​); ​                ​for​ (​Element​ ​chapterLink​ : ​chapterLinks​) { ​                    ​chapterList​.​add​(​new​ ​Chapter​(​chapterLink​.​selectFirst​(​"strong"​).​text​(), ​chapterLink​.​attr​(​"abs:href"​))); ​                } ​                ​// Go to next page ​                ​Element​ ​nextPageLink​ = ​chapterListPage​.​selectFirst​(​".pagination li:contains(>) a"​); ​                ​// Is last page ​                ​if​ (​nextPageLink​ == ​null​) ​break​; ​                ​chapterListPage​ = ​Jsoup​.​connect​(​nextPageLink​.​attr​(​"abs:href"​)) ​                        .​cookies​(​novel​.​cookies​) ​                        .​userAgent​(​"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0"​) ​                        .​get​(); ​            } ​        } ​catch​ (​HttpStatusException​ ​httpEr​) { ​            ​GrabberUtils​.​err​(​novel​.​window​, ​GrabberUtils​.​getHTMLErrMsg​(​httpEr​)); ​        } ​catch​ (​IOException​ ​e​) { ​            ​GrabberUtils​.​err​(​novel​.​window​, ​"Could not connect to webpage!"​, ​e​); ​        } ​catch​ (​NullPointerException​ ​e​) { ​            ​GrabberUtils​.​err​(​novel​.​window​, ​"Could not find expected selectors. Correct novel link?"​, ​e​); ​        } ​        ​return​ ​chapterList​; ​    }

    ​    ​public​ ​Element​ ​getChapterContent​(​Chapter​ ​chapter​) { ​        ​Element​ ​chapterBody​ = ​null​; ​        ​try​ { ​            ​Document​ ​doc​ = ​Jsoup​.​connect​(​chapter​.​chapterURL​) ​                    .​cookies​(​novel​.​cookies​) ​                    .​userAgent​(​"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0"​) ​                    .​get​(); ​            ​chapterBody​ = ​doc​.​selectFirst​(​".chapter-content"​); ​        } ​catch​ (​HttpStatusException​ ​httpEr​) { ​            ​GrabberUtils​.​err​(​novel​.​window​, ​GrabberUtils​.​getHTMLErrMsg​(​httpEr​)); ​        } ​catch​ (​IOException​ ​e​) { ​            ​GrabberUtils​.​err​(​novel​.​window​, ​"Could not connect to webpage!"​, ​e​); ​        } ​        ​return​ ​chapterBody​; ​    }

    ​    ​public​ ​NovelMetadata​ ​getMetadata​() { ​        ​NovelMetadata​ ​metadata​ = ​new​ ​NovelMetadata​();

    ​        ​if​ (​toc​ != ​null​) { ​            ​Element​ ​title​ = ​toc​.​selectFirst​(​".novel-title"​); ​            ​Element​ ​author​ = ​toc​.​selectFirst​(​".author span[itemprop=author]"​); ​            ​Element​ ​desc​ = ​toc​.​selectFirst​(​".summary div"​); ​            ​Element​ ​cover​ = ​toc​.​selectFirst​(​".lazy"​);

    ​            ​metadata​.​setTitle​(​title​ != ​null​ ? ​title​.​text​() : ​""​); ​            ​metadata​.​setAuthor​(​author​ != ​null​ ? ​author​.​text​() : ​""​); ​            ​metadata​.​setDescription​(​desc​ != ​null​ ? ​desc​.​text​() : ​""​); ​            ​metadata​.​setBufferedCover​(​cover​ != ​null​ ? ​cover​.​attr​(​"abs:data-src"​) : ​""​);

    ​            ​Elements​ ​tags​ = ​toc​.​select​(​".categories a"​); ​            ​List​<​String​> ​subjects​ = ​new​ ​ArrayList​<>(); ​            ​for​ (​Element​ ​tag​ : ​tags​) { ​                ​subjects​.​add​(​tag​.​text​()); ​            } ​            ​metadata​.​setSubjects​(​subjects​); ​        }

    ​        ​return​ ​metadata​; ​    }

    ​    ​public​ ​List​<​String​> ​getBlacklistedTags​() { ​        ​List​ ​blacklistedTags​ = ​new​ ​ArrayList​(); ​        ​return​ ​blacklistedTags​; ​    }

    ​}`

    invalid Source request 
    opened by Nabeelshar 3
  • User can Login to read locked chapters.

    User can Login to read locked chapters.

    Can you add where user can login to read locked chapter. like webnovellight i locked a chapter and user A has access to that chapter, when he signin we store that cookie and when he visit that chapter because we have the cookie he can read the chapter.

    opened by Nabeelshar 3
  • [F-R] APP Translation on Weblate

    [F-R] APP Translation on Weblate

    I think it will be really nice to have this app on Weblate. It can able the community to translate the app and help it to be bigger and better.

    I think this Weblate Documentation can help you to implemwnt this on the project.

    Thank you very much for this amazing project!

    enhancement 
    opened by RickyM7 0
  • Request source: https://toc.qidianunderground.org

    Request source: https://toc.qidianunderground.org

    Request source https://toc.qidianunderground.org

    Reasons:- it doesn't have copyright text from pirate sites like read at wuxiaworld etc and is updated chapters.

    Source request 
    opened by Nabeelshar 2
Releases(v1.8.0)
Owner
nani
nani
Flym News Reader is a light Android feed reader (RSS/Atom)

BEWARE: Google added some restrictions to news app and I don't see how Flym (and other RSS aggregators) could comply to that. For instance, Flym canno

Frédéric Julian 938 Jan 1, 2023
Flym News Reader is a light Android feed reader (RSS/Atom)

BEWARE: The original developer stopped the development of the app so I'm starting to work on it to improve it and maintain it. Flym News Reader Light

null 0 Jul 26, 2022
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Nextcloud 589 Dec 31, 2022
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Nextcloud 591 Jan 8, 2023
Anxiety free news reader for Android - developed using Kotlin

Android River is a modern Android 2.2 news app. It's now version 1.15. Android River has the following features: Read RSS 1.0, RSS 2.0 and ATOM 1.0. C

Dody Gunawinata 319 Nov 10, 2022
Free and open source manga reader for Android.

Build Stable Weekly Preview Contribute Support Server Tachiyomi Tachiyomi is a free and open source manga reader for Android 5.0 and above. Features F

Tachiyomi 20.4k Jan 9, 2023
Android News Reader app. Kotlin Coroutines, Retrofit and Realm

News Reader Android News Reader app Code that follows Packt Publishing Kotlin in Practice Video Course Example of Kotlin Coroutine usage, with Realm a

Marko Devcic 22 Oct 3, 2022
Tachiyomi 20.4k Jan 9, 2023
A manga reader app that can be used save / search / find and read latest manga / manhwa

A manga reader app that can be used save / search / find and read latest manga / manhwa

Sebin P Johnson 3 Nov 20, 2021
An Android RSS reader

BinoculaRSS This is an Android RSS reader application. Installation Install Android Studio, clone the project, and open the project. Follow any prompt

tminions 12 Oct 9, 2022
HackerNews reader app for Wear OS

HNReader Install by importing to Android Studio, building the apk, and Google the official Android documentation for loading the apps to Wear OS and f

Hikmat Jafarli 2 Sep 4, 2022
Not so deep text reader inspired by BORIS, written in Kotlin

Barnable Reader Prototype Deep text reader library that generates a semantic model from a short input text. At the moment it is very primitive and is

David Jones 0 Dec 28, 2021
Readow - Readow RSS Reader application. It’s fast and clean, giving you the freedom to enjoy your favorite news

Readow Readow RSS Reader application. It’s fast and clean, giving you the freedo

Pradeep Hr 7 Sep 20, 2022
A Free, Open source unofficial manga reader for MangaDex

Neko A Free, Open source unofficial manga reader for MangaDex About: This is a MangaDex specific fork of Tachiyomi and TachiyomiJ2K. This contains fea

Carlos 1.4k Jan 3, 2023
CoolReader 3 - cross platform open source e-book reader

CoolReader 3 - cross platform open source e-book reader (c) Vadim Lopatin, 1998-2018 Development is moved to GitHub https://github.com/buggins/coo

Vadim Lopatin 302 Jan 4, 2023
A Reeder copycat, in order to give Android an RSS reader similar to Reeder

A Reeder copycat, in order to give Android an RSS reader similar to Reeder, combines the interaction logic of Reeder with the design style of Material Design 3 (You).

Ashinch 1.5k Dec 31, 2022
A secure, open source web browser for Android.

SmartCookieWeb A secure, free and open source WebView-based web browser for Android. Beta Releases • Docs • Website Important note: Google recently an

null 224 Jan 1, 2023
Proof of concept of custom widgets and apps running on the Z Flip3 cover screen. Adds a widget to Z Flip3 cover screen that lets you launch a web browser-like app on the cover.

SubUI-browser Proof of concept of custom widgets and apps running on the Z Flip3 cover screen. Adds a widget to Z Flip3 cover screen that lets you lau

null 35 Dec 24, 2022
A secure, open source web browser for Android.

README Styx Browser Help to Translate To help us translate Styx, press the image below. We would be very happy if you help us with the translation. In

Jamal 39 Dec 19, 2021