Commit Graph

247 Commits

Author SHA1 Message Date
Luigi d4ac1ec327 feat: add rezerowebnovelfr (#2248)
chore: reorder plugins alphabetically
2026-06-13 20:04:46 +05:00
7ui77 2680752467 feat: Add novelarrow (#2239)
* Add NovelArrow plugin

* Update plugins/english/novelarrow.ts

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

* Update plugins/english/novelarrow.ts

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

* Update plugins/english/novelarrow.ts

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

* Update plugins/english/novelarrow.ts

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

* Update plugins/english/novelarrow.ts

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

* Fix novelarrow plugin based on reviewer feedback

* Remove all custom headers from novelarrow plugin

---------

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-06-13 20:03:34 +05:00
7ui77 da99ef9f88 fix(novelbin): fix missing summary and remove NB Reader advertisements (#2247)
* fix(novelbin): fix missing summary due to multiple classes

* Add case for 'desc-text desc-text-collapsed' in parser

* Add version increments to Novel Bin source options

* feat(novelbin): remove NB Reader app advertisements
2026-06-13 18:58:00 +05:00
Shrey e471b54166 feat: add LNORI (#2235)
* feat: add LNORI plugin ("https://lnori.com/")

* chore: update lnori plugin icon to 96x96

* refactor: encapsulate library novel parsing into a private getLibraryNovels method

* refactor: update lnori plugin to improve TOC parsing and support multi-section content loading
2026-06-13 18:31:34 +05:00
K1ngfish3r 3fd8351a75 fix(wtr-lab): add headers and fix json reponse for chapters (#2224) 2026-05-28 01:27:31 +05:00
K1ngfish3r e265277383 fix(novelfire): fix changing filters causing results to disappear (#2220)
* fix(novelfire): fix changing filters causing results to disappear

Signed-off-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

* Update index.ts

Signed-off-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

---------

Signed-off-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-05-26 04:51:04 +05:00
K1ngfish3r 59ce8079ca fix(wtr-lab): add headers when fetching chapters (#2222)
Signed-off-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-05-26 04:47:22 +05:00
Elfing 99771b7708 feat: add novelfrance.fr (#2217)
* feat(novelfrance): add plugin for novelfrance.fr

- popularNovels: /api/search?skip&take (backend ordre par défaut ≈ vues)
- latest mode (showLatestNovels): /api/chapters/latest-home?offset&limit
- searchNovels: /api/search?q&skip&take
- parseNovel: /api/novels/{slug} (metadata) + paginated chapter list
- fetchChapterList: /api/chapters/{slug}?skip&take=100&order=asc (paginé JSON)
- parseChapter: /api/chapters/{slug}/{chapter} avec dédup du paragraphe-titre (index 0)
- Filtres genre (param 'genres' pluriel) et status
- Icône 96x96 PNG depuis NF.png officiel sur fond sombre

* fix
2026-05-24 19:30:43 +05:00
Shrey a502c41887 fix(faqwikius): update url (#2212)
* fix(faqwikius): update site URL to include '/novel' for correct navigation

* chore: bumped version of faqwiki

* fix(faqwikius): remove script tags from parsed HTML to clean up novel data

* fix(faqwikius): move the remove script tags from parseNovels method to parseNovel method

* chore(faqwikius): rename parseNovels method to parseNovelList and parseNovel to parseNovelDetails for clarity

* fix(faqwikius): reversion of previous commit
2026-05-21 05:32:36 +05:00
Shrey cd30512417 Fix(Boxnovel): Website migrated to newlink with new ui (#2205)
* fix: update BoxNovel source configuration

* feat: add filter configuration for boxnovel plugin

* chore: remove redundant boxnovel filter file from readnovelfull multiscr

* fix: boxnovel uses newchapterendpoint

Chapter list was not working

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

* chore(madara): bump template base version to 2.2.0, set boxnovel to increment 2

* chore(madara): reset other plugin version increments in sources.json

---------

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-05-19 22:12:32 +05:00
7ui77 05a804621c feat(novelbuddy): optimize performance and improve watermark removal (#2198)
* fix(novelbuddy): fix watermark regex and bump version to 2.1.2

* fix(novelbuddy): fix watermark regex, remove chapter api fetch and bump version to 2.1.2

* Update novelbuddy.ts

* feat(novelbuddy): optimize performance and improve watermark removal

* feat(novelbuddy): optimize performance and improve watermark removal (v2.1.2)

* chore: restore original index.ts to ensure clean PR

* refactor: address reviewer feedback and update watermark regex

- Replace regex-based URL path manipulation with startsWith and slice.
- Update fwnRegex with a more comprehensive pattern.
- Run npm run format.

* refactor: update watermark regex to latest comprehensive pattern

- Integrate the newest provided fwnRegex pattern.
- Ensure non-capturing groups and special characters are correctly handled.
- Maintain addressing of reviewer feedback regarding URL manipulation.
- Run npm run format.
2026-05-19 14:22:01 +05:00
Binh Lam 76d60d0443 feat: Add TruyenSS (#2192)
* Add TruyenSS Vietnamese source for truyenss.com

Implements novel pages, hash-style chapter list, POST chapter loader
(/layout/xem-chuong.php), genre filters for popular listings, and
multi-pattern search. Includes saved HTML fixtures used for selectors.

* fix(truyenss): fetch chapter HTML via GET like the site

TruyenSS loads chapters with jQuery $.ajax, which defaults to GET.
POST to xem-chuong.php returns an empty body, causing empty chapter
errors in the app while WebView (GET + hash) still worked.

Bump plugin version to 1.0.1.

* fix(truyenss): address PR review — version 1.0.0, defaultCover, cleanup

Remove README note and truyenss HTML fixtures. Drop unused resolveUrl and
full-URL handling in parseNovel. Use defaultCover for listing items and when
novel page has no cover image.

* fix(truyenss): browse list covers — scrape thumbs, stable placeholder URL

LNReader applies plugin Referer headers to browse tiles; external blob
placeholders can fail. List layout omits defaultCover when cover is unset.
Prefer real listing images; use raw GitHub placeholder URL aligned with the app.

* fix(truyenss): resolve listing covers (.card sibling img, ../ URLs)

Genre/search cards put the thumbnail in col-2 beside the stretched link,
not inside the anchor. Image src uses ../user-upload/... which must be
resolved against the list page URL. Use the site no_avatar.jpg placeholder
so browse tiles load with the plugin Referer.

* fix(playground): readable novel summary + TruyenSS paragraph breaks

- Parse playground: normalize CR/LF and stray spaces; use whitespace-pre-line,
  max-w-prose, leading-7, break-words, explicit font-sans for robust wrapping
  when webfonts misbehave.
- TruyenSS: preserve <br>/<p> structure like novelfire (join with newlines)
  instead of collapsing the whole intro to one line.

* fix(proxy): avoid static zstd import so Vite starts on older Node

zstdDecompressSync is not exported from zlib on Node versions before it was
added. Importing it at load time broke vite.config (and the dev server)
with SyntaxError. Only call zstd at runtime when content-encoding is zstd
and throw a clear error if the runtime lacks support.

* fix(proxy): correct decompress error message for zstd

* Revert "fix(proxy): correct decompress error message for zstd"

This reverts commit ab5c4f0f6b0059589956693da534294a49500be0.

* Revert "fix(proxy): avoid static zstd import so Vite starts on older Node"

This reverts commit 58ddf6c6003fa3828a5a6627f77b4ea3aa3cfca4.

* fix(dev): proxy URL for https targets + disable auto-open by default

- Reconstruct target URL when the dev server path is /https://... (from
  window.fetch prefixing localhost); the old  + path form produced
  an invalid URL and broke all proxied plugin requests.
- Only open a browser when VITE_OPEN=true so missing xdg-open does not error.

* Revert "fix(dev): proxy URL for https targets + disable auto-open by default"

This reverts commit b0de564fca75e756ef11899e77038fc594f18f97.

* revert: drop out-of-scope parse-novel playground summary changes

Restore src/components/parse-novel.tsx to pre-093668b state; TruyenSS
summary parsing in the plugin is unchanged.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-05-19 00:20:59 +05:00
K1ngfish3r 6e4ea4495d fix(novelhi): chapter transform (#2201) 2026-05-18 13:17:23 +05:00
K1ngfish3r c199459feb feat: Add Cherry Mist Cafe (#2200) 2026-05-18 11:02:26 +05:00
K1ngfish3r 2396df38bb fix: linter issues 2026-05-18 10:39:07 +05:00
Batorian 16b0dd5bf7 feat: Add MythoriaTales to Novel Updates (#2177)
* added mythoriatales

* update

Co-authored-by: Copilot <copilot@github.com>

* remove chapterText

Co-authored-by: Copilot <copilot@github.com>

* Claude rewrite

* fix metadata included

* update chapterContent detection

* fix

* Gemini chapterContent rework

* optimize chapterContent extraction

* revert versions

* get action hash via regex

Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>

* title extraction from meta

* fix

* chapterContent cleanup

* revert versions

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-05-18 10:19:36 +05:30
Straekz d161170582 fix: Quanben Plugin (#2174)
* Quanben missing chapters fix

* Renaming chapter list with a mirror

* Version number
2026-05-18 10:18:48 +05:30
Jhoendry B. d7ab8385ea feat(tunovelaligera): Add New Chapter Scraping Method, Paragraph Rendering, and Update Filters for New API (#2167)
Co-authored-by: JhoendryB <jhoendryblanco@htmail.com>
2026-05-04 14:44:22 +05:30
Ahmed Mohamed 0b1c2c2404 fix(novelbuddy): Wrap Summary in <div> to Ensure HTML Parsing with Cheerio (#2166)
`$()` only treats the input as HTML when it starts with `<`; otherwise it
parses as a CSS selector. The novelbuddy API returns `initialManga.summary`
as plain text for many novels (e.g. "When I opened my eyes, I was inside
a novel."), and cheerio's selector parser then chokes on the first `.`
in the punctuation with `Expected name, found .` — `parseNovel` throws
and the novel page fails to load entirely.

Wrap the summary in a `<div>` before passing it to `$()` so cheerio always
takes the HTML branch. Plain text becomes `<div>plain text</div>` (parses
fine, `.text()` still returns the original string), HTML stays HTML, and
the existing `.find('br').replaceWith('\n')` / `.find('p').before/after`
behavior is preserved either way.

Bumps version 2.1.0 → 2.1.1.

Repro:
- Open the source, search/browse to "Trash of the Count's Family" (or any
  novel where the API returns a plain-text summary)
- Tap the entry; details fail with `QuickJsException: Expected name, found .`
2026-05-04 14:43:41 +05:30
7ui77 b23a4a9a92 fix(inoveltranslation): Move Icon to Static Path and Update Lexical JSON Extraction Algorithm (#2160)
* fix(inoveltranslation): move icon to correct static path

* bump: inoveltranslation version to 1.0.1

* fix(inoveltranslation): robust lexical extraction and html fallback

---------

Co-authored-by: 7ui77 <root@localhost.localdomain>
2026-05-04 14:41:11 +05:30
K1ngfish3r 1a7107840f fix(novelbuddy): Resolve Issues and Add Filters (#2140) 2026-04-22 17:32:37 +05:30
Jhoendry B. a95e32591f feat(skynovels): Add Filters, Pagination, and Fix Search (#2136)
* SkyNovels[ES] feat: add filters, pagination and resolve fix search

* SkyNovels[ES] Fix: minors correction

* SkyNovels[ES] Fix: minors correction

---------

Co-authored-by: JhoendryB <jhoendryblanco@htmail.com>
2026-04-22 09:00:28 +05:30
7ui77 d483a6413d fix: Update NovelBuddy URL and Fix Scraping Logic (#2135)
* fix(novelbuddy): update site URL and fix scraping logic

* feat(novelbuddy): filter webnovel watermark and bump version to 2.0.1

* feat(novelbuddy): simplify search, fix summary formatting, version 2.0.0

* chore: restore package-lock.json libc platform constraints

Reverts lockfile pruning from commit 18ca477 to recover deleted glibc and musl entries for cross-platform compatibility.

* update imports

---------

Co-authored-by: root <root@localhost.localdomain>
2026-04-22 08:59:18 +05:30
K1ngfish3r ecf871ed0d feat: Add customJs Option to ReadNovelFull multiSrc (#2132) 2026-04-22 08:58:17 +05:30
K1ngfish3r 068d71c357 fix: Novel Fire Chapter Parsing (#2131)
* fix: convert page mode to switch

* fix: remove unicode spacing from chapter names
2026-04-22 08:56:32 +05:30
Vladyslav e97519ec67 fix: Handle Rich Text Summary Field Change in RanobeLib parseNovel (#2130) 2026-04-22 08:55:44 +05:30
K1ngfish3r a37ddf6c4c fix: Novelfire Defaults for Paged Mode (#2127) 2026-04-17 08:55:10 +05:30
Ahmed Mohamed 85065b9372 fix: Update NovelBuddy parseNovel to Include Rating and Fix Genres (#2123)
* Refactor parseNovel method, include rating and fix genres parsing

* Bump version from 1.0.3 to 1.0.4
2026-04-17 00:08:34 +05:30
K1ngfish3r 2c4d45b68c refactor: Update Novelfire parsePage to Use Correct Fetch Request (#2120)
pluginSettings
2026-04-17 00:07:32 +05:30
K1ngfish3r e1f3cafe24 refactor: Update Read From Net to Use Desktop UA, URL Method, and Inline Tags in parseChapter (#2117) 2026-04-17 00:06:34 +05:30
Aran Leite eb992eb988 feat: Add Witch Cult Translations (#2115)
* feat: add Witch Cult Translation (WCT) plugin

* perf: avoid doing unnecessary requests in Witch Cult Translations (EN)

* chore: change summary of WCT novel
2026-04-14 06:58:51 +05:30
Imangali 1774bd8288 fix: RanobeLib Headers (#2114) 2026-04-14 06:57:00 +05:30
Jhoendry B. e4a964504f feat: Add Novelyra (#2105)
* add new plugin spanish Novelyra

* fix index.ts add novelyra

* [ES]Novelyra: refactor popular Novels and improve paragraph logic

* [ES]Novelyra: fix changed of type

---------

Co-authored-by: JhoendryB <jhoendryblanco@htmail.com>
2026-04-10 08:30:39 +05:30
7ui77 95a04250fa feat: Add iNovelTranslation (#2096)
* feat(english): add iNovelTranslation plugin

* feat(english): add iNovelTranslation plugin

* Delete plugins/index.ts

* Initialize plugins index with multiple imports
2026-04-10 08:27:25 +05:30
K1ngfish3r a3cf99996a refactor: Novelfire popularNovels and Fix Summary (#2100)
* fix: change novel.totalPages calculation to divide by 50 instead of 100

* update version number

* fix: refactor novelfire popular,search and summary

---------

Co-authored-by: G0yp <goupsoup2@gmail.com>
2026-04-07 08:14:46 +05:30
Mustofa b63a6355a7 fix: Vanovel (#2104)
* Vanovel fix

You forgot the "/" at the end of url.

* Update sources.json
2026-04-07 08:13:03 +05:30
K1ngfish3r 86be929e7f fix: Clean Riwyat Chapters (#2101) 2026-04-07 08:10:19 +05:30
Samuel 429e979535 fix: Illusia Bug Fixes (#2095)
- Fixed the 'Popular' and 'Latest' novel lists.

- Removed chapter.reverse() to align with the source's natural chapter order.

- Improved novel details extraction (author, genres, and status).

- Optimized chapter parsing by bypassing CSS pseudo-selectors for better performance.

- Injected User-Agent header to prevent basic bot blocking.
2026-04-07 08:05:59 +05:30
K1ngfish3r 7aef598dcd feat: Add Patreon Support in Novel Updates (#2103) 2026-04-07 08:04:33 +05:30
7ui77 37313f5ffa fix: Handle Fenrir Realm API Change (#2086)
* Update fenrirrealm.ts

* Update fenrirrealm.ts

* Update fenrirrealm.ts

* Improve novel status extraction and clean summary

Enhanced status parsing logic and cleaned up summary HTML.

* Enhance parseNovelFromApi for better data handling

Update parseNovelFromApi to clean HTML tags and set default status.

* feat: add Fenrir Realm plugin for novel fetching and parsing.

* feat: add Fenrir Realm plugin for novel fetching and parsing.

* feat: add Fenrir Realm plugin for fetching and parsing novels and chapters.

* feat: add Fenrir Realm plugin for novel browsing and reading

* feat: Add Fenrir Realm plugin for fetching and parsing novels and chapters.

* feat: add Fenrir Realm plugin for novel fetching and parsing.

* feat: Add Fenrir Realm plugin for fetching and parsing novels.

* feat: add Fenrir Realm plugin

* feat: add Fenrir Realm plugin

* Update auto-generated plugins index

* chore: delete file.

* feat: Add new Fenrir Realm plugin.

* feat: Add Fenrir Realm plugin and establish a new centralized plugin index.

* Delete a file.

* Fix Fenrir Realm plugin fallback slug for old library entries

* Enhance fenrirrealm plugin fallback to auto-heal renamed slugs using search API

* feat: Add Fenrir Realm plugin, Gunslinger novel data, and a related HTML parsing test script.

* Implement fuzzy search backoff to handle misspelled user queries in searchNovels

* Refactor Fenrir Realm plugin to fetch novel details directly from the undocumented JSON API, bypassing HTML scraping and Cloudflare rate-limiting issues

* Fix fenrirrealm plugin falling back to clean slug and migrating parseNovel to JSON API

* Fix fetching empty chapters by adopting exact novel slug formatting dictated by the fenrir realm JSON chapter payload instead of statically building chapter-{{id}}

* Auto-heal legacy broken chapter URLs in user libraries by dynamically resolving slugs via API fallback during parseChapter

* Enhance parseChapter auto-heal with exhaustive search-fallback to natively resolve heavily outdated overarching novel slugs

* Optimize search fallback heuristic to prevent Cloudflare 403 network request rate limits

* Intercept generic fetchApi crashes caused by Cloudflare 403 blocks with localized WebView Captcha-prompt error responses

* feat: add new gunslinger and fenrirrealm plugins, along with associated test and utility files.

* feat: Add Fenrir Realm plugin with associated test and support files.

* feat: Add Fenrir Realm plugin with associated test files and data.

* Distribute explicitly defined anti-Cloudflare fetch Headers globally to all internal APIs throughout the legacy auto-heal fallback routing

* Silence HTTP 500 SvelteKit crash exceptions in parseChapter to allow robust legacy URL auto-healing to trigger

* Add inline catch guards to ALL async calls in parseChapter auto-heal to prevent React Native fetch exceptions from aborting legacy URL recovery

* feat: Add Fenrir Realm plugin for 'Surviving as a Gunslinger in Wild West' novel, including associated data and test files.

* Refactor chapter parsing logic to improve reliability and handle potential changes in website structure.

* Refactor chapter parsing logic to improve error handling and fallback mechanism, utilizing .content-area class for HTML extraction.

* Update version number to 1.0.13 in FenrirRealmPlugin

* Refactor Fenrir Realm plugin for improved API calls

* Update Fenrir Realm version to 1.0.13

* feat(fenrir): rewrite parseChapter with sveltekit fallback and path healing

* feat(fenrir): robust parseChapter with prosemirror json fallback and path healing

* feat(fenrir): restore to official commit ef55446 (v1.0.16) [no-verify]

* feat: Add Fenrir Realm plugin and settings component, and remove various configuration files.

* feat: Introduce settings management UI and API, establish a plugin system, and remove obsolete configuration files.

* feat: Introduce a new plugin indexing system, add Fenrir Realm plugin and settings component, and remove various configuration files.

* feat: Add Fenrir Realm plugin and settings component, remove old configuration files, and update proxy.

* feat: Introduce a settings UI and plugin system, removing old configuration files and updating the proxy.

* Add missing file

Add missing file

* Add plugins index file with multiple language imports

This file imports various plugins from different languages and creates a PLUGINS array that exports them for use in the application.

* Delete index.ts

* feat: add Indra Translations and NovelRest plugins.
2026-03-31 01:34:18 +05:30
fuyu-hub d53258657e feat: Add Illusia (#2091) 2026-03-31 01:31:55 +05:30
AinsOoalGon86 42644e712e fix: Update BakaInUa (#2089)
* BakaInUa Plugin Update

The plugin was completely rewritten because version 2.0.0 didn't work at all.

* test

* 3.1.5 Baka

* 3.1.6 Baka
2026-03-31 01:31:25 +05:30
K1ngfish3r 22a2c7f0e4 fix: Adjust Summary Spacing in Novel Fire (#2077) 2026-03-31 01:29:51 +05:30
K1ngfish3r c9db08c21f feat: Add NovelHi (#2082) 2026-03-31 01:29:12 +05:30
K1ngfish3r 75ab563dd4 fix: Add Setting to Disable Volumes and Pagination in Royal Road (#2073) 2026-03-31 01:28:33 +05:30
Batorian 993b177fea fix: Novel Updates: Add Support for RAPID (#2074)
* add RAPID

* case debug

* test new case

* remove test error

* resolve path

* refactor code

* add p elements

* revert versions
2026-03-31 01:27:41 +05:30
Hiirbaf f1ce6a4b3b feat: Add NOVA (#2064)
* Add files via upload

* Rename public/static/src/es/icon.png to public/static/src/es/NOVA/icon.png

* Rename icon.png to icon.png

* Create NOVA.ts
2026-03-31 01:24:15 +05:30
chloeaubert6769 5be7a598d4 feat: Add IndraTranslations (#2050) 2026-03-12 07:56:42 +05:30
Rojikku ccab7422d4 fix: wtr-lab (#1942)
* Fix (wtrlab): Novel parsing

* Fix (wtrlab): Stop latest repeating

* Fix (wtrlab): Fix browse covers

* Fix (wtrlab): Fix search repeating

* Fix (wtrlab): Fix chapter parsing

* Version bump

* Remove comment

* Fix (wtrlab): Initial web usage

* Fix (wtrlab): Basic decryption

* Fix (wtrlab): Compact code

* Fix (wtrlab): Compact decryption code

* Fix (wtrlab): Fetch decryption key and decrypt chapter

* Fix (wtrlab): Translate chapters

* Fix (wtrlab): Prevent bugging ai translations

* Fix (wtrlab): Prevent errors with dictionary substitution

* Fix (wtrlab): Show error on device

* Fix (wtrlab): Convert to noble for app; ADD LIBRARY NOBLE

* Fix (wtrlab): Better search, better latest, search filters

Co-authored-by: oussama <mrissaoussama@gmail.com>

* feat: Fallback rawId/slug, pass errors

* fix: Better key finding

* fix: Use TextEncoder + bump

* fix: Match lib paths

---------

Co-authored-by: oussama <mrissaoussama@gmail.com>
2026-03-12 07:55:34 +05:30
Rider21 b68a513353 fix jaomix (#2035)
* fix

* o kak

* path

* update

* adblock
2026-03-05 17:59:25 +07:00