Skip to content

Feat/novelspl - #238

Merged
Rojikku merged 6 commits into
NovelSourcery:mainfrom
mrissaoussama:feat/novelspl
Sep 1, 2026
Merged

Feat/novelspl#238
Rojikku merged 6 commits into
NovelSourcery:mainfrom
mrissaoussama:feat/novelspl

Conversation

@mrissaoussama

Copy link
Copy Markdown
Contributor

Checklist:

  • Updated versionCode value in build.gradle.kts
  • Updated baseVersionCode in build.gradle.kts (if updated multisrc theme code)
  • Referenced all related issues in the PR body (e.g. "Closes #xyz")
  • Set the contentWarning configuration in build.gradle.kts appropriately
  • Have not changed source names
  • Have explicitly kept the id if a source's name or language were changed
  • Have tested the modifications by compiling and running the extension through Android Studio
  • Have removed web_hi_res_512.png when adding a new extension
  • This PR is AI-assisted, I have reviewed the changes manually and confirmed they are not slop

The site fronts every page with Anubis, a proof-of-work anti-bot
challenge (200 OK, but the body is the challenge shell). Solved once per
session in a real WebView (useOkHttpNetwork so the earned clearance
cookie lands in this source's own cookie jar), mirroring the
Cloudflare-challenge pattern already used in Honeyfeed; plain requests
work normally afterwards. This could not be verified live in this
environment - curl can't execute the challenge's JS - so page markup was
provided by the user from a real solved browser session rather than
scraped directly here.

Chapter lists are paginated server-side (50/chapter page) with no
"show all" mode; every page the "Last" pager link reports is fetched
concurrently and merged. The catalog itself has no dedicated paginated
listing endpoint, only one large /listNovels table, so popular/search
page through a single fetch of it.
…efully on getMangaByUrl

- toSManga()/parseAllChapters() called .toHttpUrl() on attr("href")
  directly, assuming the scraped markup always gives an absolute URL;
  switched to attr("abs:href") like the rest of this repo.
- parseMangaDetails threw on a missing .panel-title instead of
  degrading gracefully.
- getMangaByUrl let a failed request/challenge crash instead of
  returning null, unlike Honeyfeed's equivalent Anubis/Cloudflare
  bypass path.
…date

The itemprop=description <p> is left empty by the site template; real blurb
is the plain-text sibling <p> after it. Alt titles were matched against the
wrong selector (an anchor list that doesn't exist) instead of the plain-text
Associated Names line. Also surface rating/votes, views, date created, and
update frequency in the description since SManga has no dedicated fields
for them.
@Rojikku
Rojikku merged commit c3048f8 into NovelSourcery:main Sep 1, 2026
2 checks passed
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.

2 participants