Commit Graph

785 Commits

Author SHA1 Message Date
Noah Verburg 56757e96d2 fix(novelbuddy): Update Domain from .com to .me (#2302) 2026-07-15 01:33:10 +05:30
Trần Duy Toàn 3609f4f5b0 fix(hako): Fix Chapter Path Parsing, Decrypt Protected Content, Format Notes, and Remove Suggestion Banners (#2270)
* fix(vi/Hako): fix chapter path parsing and decrypt protected chapter content

- Fix `parseNovel` extracting full URL instead of relative path for chapters.
- Implement decryption logic for protected chapter content (`#chapter-c-protected`) using XOR shuffle, base64 reverse, and plain base64 decoding.

* fix(vi/hako): format note tags, suggestion banners, and bump version to 1.1.1

- Format `[note(\d+)]` tags into HTML span/anchor tags for proper rendering (following the original website's logic)
- Remove recommendation/suggestion banners at the end of chapters
- Bump plugin version to 1.1.1
2026-07-15 01:32:24 +05:30
Rafou376 a14df52bee fix(ranobehub): Clean Summary HTML Tags (#2259) 2026-07-15 01:31:29 +05:30
7ui77 fc1663c5cb fix(novelarrow): Fetch Complete Summary (#2256) 2026-07-15 01:30:43 +05:30
Luigi 144c4216ed feat(rezerowebnovelfr): Add Scanlator Support (#2251) 2026-07-15 01:29:35 +05:30
protoneutrotipo-wq 0c775e38c4 refactor: NovelMania Plugin for API Updates (#2250)
* Refactor NovelMania plugin for API updates

Well, the Novel Mania website updated and revamped everything, so I tried to fix it manually, until I gave up and used Replit's AI to discover the new APIs. I first tested it with a fork of the repository using my own app, and so far it's working well here; everything is functioning perfectly, from the filters to the search system and content recognition.

Note: Translated from Portuguese to English using Google Translate because my English version is unusable lol

* Fixes after using "npm run lint"
2026-07-15 01:28:00 +05:30
K1ngfish3r 891ecf897d refactor(fucknovelpia): make more precise and add more filters (#2300)
* refactor(fucknovelpia): make more precise and add more filters

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

* dont make seen global

* add has_images

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

* fix search using advanced search

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

---------

Signed-off-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-07-13 10:54:18 +05:00
K1ngfish3r 995825490b fix(readnovelfull): remove multipage and fix pageAsPath (#2299)
* fix(readnovelfull): remove multipage and fix pageAsPath

reverted previous commit, pagination not required for FWN/Libread but
kinda tricky to obtain chapter path (not fully resolved yet) PageAsPath
cannot accept multiple genres TODO, confirm behaviour, reverted for now

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

* chapter response is a json

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

---------

Signed-off-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-07-12 02:15:52 +05:00
isrealhamumu-star c4545b0780 feat: add fucknovelpia (#2294)
* feat: add fucknovelpia

* Update plugins/english/fucknovelpia.ts

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

* Apply reviewer feedback: merge genres into ExcludableCheckboxGroup

* Fix: add missing encodeURIComponent

---------

Co-authored-by: notnsas <ramapanjinararendra@gmail.com>
Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-07-11 23:44:23 +05:00
Mohammed Lokhandwala cf37cb6464 fix(readnovelfull): fix chapter pagination and bypass cloudflare for FWN & LibRead (#2295) 2026-07-11 21:17:23 +05:00
tumblr-misuser c6197337bc feat: add Hyacinth in Bloom (#2244) 2026-06-15 10:48:49 +05:00
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
github-actions[bot] ff4f313275 chore: Update Issue Template Plugin Options [skip ci] (#2252)
Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-06-13 18:33:09 +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
github-actions[bot] b6e4b90d28 chore: Update Issue Template Plugin Options [skip ci] (#2219)
Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-05-24 19:32:05 +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
K1ngfish3r b418dd974b fix(proxy): place keys in correct place (#2209) 2026-05-19 20:36:09 +05:00
7ui77 86de999a00 fix(proxy): propagate origin status code and handle 304 correctly (#2197)
* 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

* fix(proxy): propagate origin status code and handle 304 Not Modified correctly

* Add API call for fetching manga chapters

Fetch chapters from API if available, otherwise use initial data.

* revert(novelbuddy): revert novelbuddy to version 2.1.1 and simple watermark removal

* fix(proxy): improve redirect handling, status propagation, and 304 handling

Restored verbose logging and implemented robust internal redirect following with infinite loop protection. Verified via web debugger.

* fix: type errors for buffer and redact sensitive logs

* fix: replace any with strictly typed separate variables

* chore(proxy): revert log redaction and run prettier
2026-05-19 14:24:14 +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
github-actions[bot] 71910a7b7c chore: Update Issue Template Plugin Options [skip ci] (#2204)
Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-05-19 00:22:33 +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
github-actions[bot] 6c10d00161 chore: Update Issue Template Plugin Options [skip ci] (#2202)
Co-authored-by: K1ngfish3r <26593485+K1ngfish3r@users.noreply.github.com>
2026-05-18 19:53:55 +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 ccaa56cce2 chore: Update Issue Template Plugin Options [skip ci]
chore: Update Issue Template Plugin Options [skip ci]
2026-05-18 10:46:46 +05:00
K1ngfish3r 872bc909fd chore: Update Issue Template Plugin Options [skip ci] 2026-05-18 05:42:16 +00:00
K1ngfish3r c9d62b4598 refactor: linter issues
refactor: linter issues
2026-05-18 10:41:32 +05:00
K1ngfish3r 2396df38bb fix: linter issues 2026-05-18 10:39:07 +05:00
7ui77 5e195b7f53 docs: Update Documentation (#2194) 2026-05-18 10:22:43 +05:30
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
github-actions[bot] 011b1ac948 chore: Update Issue Template Plugin Options [skip ci] (#2137)
Co-authored-by: rajarsheechatterjee <57822170+rajarsheechatterjee@users.noreply.github.com>
2026-04-22 09:02:09 +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