Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

Repository files navigation

Neon Manga Reader

A local-first manga reader with a polished dark UI, manga/book selection, chapter cards, vertical list reading, single-page reading, settings, generated source templates, and browser-based chapter image downloading.

Run locally

npm install
npm start

Open http://localhost:4173.

Build

npm run build

The compiled static app is written to dist/ and can be hosted on any static web server.

Included manga sources

The app now includes generated chapter lists for the two URL formats provided in the prompt:

  • Mushoku Tensei, generated from the Lowee pattern 0001-001.png through chapter 81.
  • UQ Holder, generated from the MangaHere CDN pattern 001.0/compressed/f001.jpg through chapter 192.

Because these hosts do not expose a stable public chapter API from a single image URL, the app creates chapter entries from the discovered URL pattern and auto-detects page counts in the browser when a chapter is opened or downloaded. The first page URL is also used as each manga cover in the menu.

Source templates

Sources are JSON objects. Page URLs are generated by replacing {page} with a padded page number. Generated sources may also use {chapter} internally before being expanded into chapter entries.

{
  "id": "mushoku-tensei",
  "title": "Mushoku Tensei",
  "cover": "https://official.lowee.us/manga/Mushoku-Tensei-Isekai-Ittara-Honki-Dasu/0001-001.png",
  "firstChapter": 1,
  "lastChapter": 81,
  "chapterPadding": 4,
  "pagePadding": 3,
  "extension": "png",
  "urlTemplate": "https://official.lowee.us/manga/Mushoku-Tensei-Isekai-Ittara-Honki-Dasu/{chapter}-{page}.png"
}

You can also paste a single page URL into the Add Source dialog. The app will infer the page-number token, use that page as the menu cover, and create an editable JSON source.

Downloading chapters

The current web build triggers browser downloads for generated page URLs. Some remote hosts may block browser reads or automatic downloading with CORS, referrer checks, hotlink protection, or browser download protections. A future desktop wrapper, such as Tauri or Electron, can save directly to folders and avoid most browser download limitations.

GitHub Action

.github/workflows/compile.yml installs Node.js, checks syntax, builds the static app, and uploads the dist/ folder as an artifact.

Windows signing note

To avoid Microsoft SmartScreen warnings for a packaged Windows version, sign the installer or executable with a trusted code-signing certificate. This project does not fake-sign binaries; development builds should be run only from trusted source checkouts.

Windows desktop app and signed releases

This repository includes a Windows desktop wrapper at windows/NeonMangaReader. It hosts the same static reader in a WebView2 WinForms shell and is published by the GitHub Actions workflow as a win-x64 ZIP.

Release signing supports two modes:

  • Preferred: add WINDOWS_CERTIFICATE_BASE64 and WINDOWS_CERTIFICATE_PASSWORD repository secrets for a real .pfx code-signing certificate.
  • Free fallback: if those secrets are missing, release builds generate a temporary self-signed code-signing certificate that is valid for one year in PowerShell and sign NeonMangaReader.exe with Microsoft SignTool.

Tagged builds such as v0.2.0, or manual workflow runs with create_release=true, sign the executable, package the Windows app, and publish it to a GitHub Release. Pull requests and normal branch pushes still publish an unsigned Windows artifact for testing only. Self-signed releases are technically signed but are not trusted by default; users must import/trust the certificate manually, and SmartScreen reputation will not be established like it would with a trusted commercial certificate.

Trusting the release certificate

Release runs also upload NeonMangaReader-signing-cert.cer next to the Windows ZIP. This is the public certificate that matches the executable signature. A .cer file is safer to distribute than a .pfx because it does not contain the private signing key.

To trust a self-signed release locally on Windows:

  1. Download NeonMangaReader-signing-cert.cer from the GitHub Release.
  2. Open certmgr.msc.
  3. Import the .cer into Trusted Root Certification Authorities -> Certificates for your user or machine.
  4. Run the signed NeonMangaReader.exe from the release ZIP.

Do not publish the generated .pfx private-key file. The workflow only uses the .pfx internally during signing and publishes the public .cer for trust/import.

Getting the private PFX

A .pfx contains the private signing key. For safety, the workflow does not publish it to GitHub Releases. If you need the generated self-signed .pfx for your own private use:

  1. Add a repository secret named SELF_SIGNED_PFX_PASSWORD with the password you want on the exported PFX.
  2. Run the workflow manually with create_release=true and include_private_pfx=true.
  3. Download the neon-manga-reader-private-pfx workflow artifact immediately.

The private PFX artifact is retained for only 1 day and is not attached to the public release. Keep it private; anyone with that .pfx and password can sign files as that self-signed publisher.

Desktop chapter downloads

In the Windows app, chapter downloads are saved directly by the app instead of opening each image in the reader. Files are written under:

%LOCALAPPDATA%\Neon Manga Reader\Downloads\<Manga Title>\<Chapter Title>\

The reader shows an in-app progress bar while pages are saved. Existing files are skipped so repeated downloads do not re-download pages that are already present.

Automatic chapter scanning from one page URL

The Add Source dialog can now build a whole book from a single page URL. Paste a page URL and click Scan chapters online. The app identifies the chapter token and page token, probes first-page images online, and fills the source JSON with every chapter it can find from that pattern. Page counts are still detected when each chapter is opened or downloaded.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages