Skip to content

fix(french): rewrite Chireads, repoint Ligh Novel FR, drop dead MassNovel and MTL Novel (FR) - #2404

Open
Balrog57 wants to merge 1 commit into
lnreader:masterfrom
Balrog57:fix/french-plugins-2026
Open

fix(french): rewrite Chireads, repoint Ligh Novel FR, drop dead MassNovel and MTL Novel (FR)#2404
Balrog57 wants to merge 1 commit into
lnreader:masterfrom
Balrog57:fix/french-plugins-2026

Conversation

@Balrog57

@Balrog57 Balrog57 commented Aug 9, 2026

Copy link
Copy Markdown

PR description

Fixes the broken French sources in LNReader, adapting each plugin to the current state of its website. All working sources pass the live check (scripts/live-check-plugin.js) with 4/4 steps.

1. Chireads (plugins/french/chireads.ts) — rewritten for the new site theme

The site was redesigned with a new "chireads-refresh" WordPress theme and the old selectors (.romans-content, .inform-product-*, .chapitre-table) no longer exist, which is why no chapters appeared.

  • popularNovels: parses the new ul.refresh-card-grid li.refresh-card cards (categories /category/translatedtales + /category/original, or /tag/…, paginated via /page/N/).
  • showLatestNovels: parses the homepage "Dernières mises à jour" table (.dernieres-tabel), deduplicated by novel.
  • parseNovel: .refresh-detail-title (name), .refresh-detail-cover img (cover), .refresh-detail-summary-content (synopsis), .refresh-detail-meta (author/status) and .refresh-detail-chapter-list a for the full chapter list (release date extracted from the /YYYY/MM/DD/ segment of the chapter URL).
  • parseChapter: keeps #content (still present on reading pages).
  • searchNovels: uses the WordPress search /?s=… and parses the .news-list li results.
  • Version bumped to 2.0.0.

Live checks: 57 novels, 34 search results, 22 chapters, ~17.9 kB chapter body.

2. Ligh Novel FR (plugins/multisrc/lightnovelwp/sources.json) — site moved

lightnovelfr.com now permanently redirects to novel-fr.net (same WordPress LightNovel theme, same structure), which is what caused the 500/Captcha (hostname changed). Updated sourceSite to https://novel-fr.net/ and bumped the generated plugin version with versionIncrements (recommended by the generator README when the site URL changes). All 4 live checks pass against the new domain (14 novels, 82 chapters).

3. MassNovel (plugins/multisrc/madara/sources.json) — site moved, source removed

massnovel.fr permanently 301-redirects to novelfrance.fr, which is no longer a Madara site (it is now a Next.js app with its own API). The dedicated plugin plugins/french/novelfrance.ts already targets novelfrance.fr and passes all live checks — it is the replacement for MassNovel. Closes #2062.

4. MTL Novel (FR) (plugins/multisrc/mtlnovel/sources.json) — network dead, source removed

The whole mtlnovels.com network (fr, www and all subdomains) no longer serves content: every page returns a JS-boot challenge ("Loading…" page that redirects with a signed token and requires a real browser), including the autosuggest search endpoint. A plugin cannot work against it, hence the "no results" symptoms. Removed the mtlnovel-fr entry. Note: the other variants (EN/ES/ID/PT/RU) point at the same dead network and are equally affected.

5. WorldNovel — kept

Left as-is in the Madara generator. The underlying site (world-novel.fr / victorian-novel-house.fr, now branded "Victorian Novel House × World Novel") is still alive, but it has been rewritten as a client-rendered Next.js app whose data lives in a Firebase backend protected by App Check, fronted by a Cloudflare challenge — so no scraper can currently read its chapters (see #1692, #2090). The source is intentionally kept in place in case a workaround or a public API appears. Its live check reports siteReachability INCONCLUSIVE (HTTP 403 Cloudflare), which never blocks a merge.

Verification

  • node scripts/live-check-plugin.js plugins/french/chireads.ts → 4/4 PASS
  • node scripts/live-check-plugin.js "plugins/french/LighNovelFR[lightnovelwp].ts" → 4/4 PASS (generated from the updated sources.json)
  • node scripts/live-check-plugin.js "plugins/french/WorldNovel[madara].ts" → siteReachability INCONCLUSIVE (HTTP 403 Cloudflare, expected)
  • npx eslint plugins/french/chireads.ts, npx tsc --project tsconfig.production.json --noEmit and prettier all pass.

Generated multisrc plugin files are gitignored.

@Balrog57
Balrog57 force-pushed the fix/french-plugins-2026 branch from 52bd092 to 4c4be32 Compare August 9, 2026 11:37
@Balrog57 Balrog57 changed the title fix(french): repair Chireads & Ligh Novel FR, drop dead MTL Novel FR / MassNovel / WorldNovel fix(french): rewrite Chireads, repoint Ligh Novel FR, drop dead MassNovel and MTL Novel (FR) Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Plug in mass novel obselete

1 participant