JNCEP WebUI is a Flask-based web application designed to generate EPUB files for J-Novel Club pre-pub novels. It provides a user-friendly interface for the jncep tool, enabling seamless EPUB creation.
This app is perfect for readers who want to enjoy new pre-pubs on their e-reader immediately after release, even when a computer isn't accessible. If hosted on a server, it allows you to download pre-pubs directly to your phone and transfer them to an e-reader via a USB cable.
- This tool supports J-Novel Club novels onlyβmanga is not supported.
jncep_webuiis unaffiliated with J-Novel Club and jncep.
For issues related to this tool, please file a bug report on this project's repository, not with jncep.
To set up JNCEP WebUI, you have two installation options: native installation or Docker.
- A J-Novel Club account with an active membership.
- Configure the following environment variables:
| Variable Name | Required | Description |
|---|---|---|
JNCEP_EMAIL |
Yes | Your J-Novel Club account login email. |
JNCEP_PASSWORD |
Yes | Your J-Novel Club account login password. |
- Install Python 3 (tested with Python 3.13).
- Install the package:
pip install jncep_webui
- Run the application:
python jncep_webui
- Install Python 3 (tested with Python 3.13).
- Clone the repository:
git clone https://github.com/NaruZosa/jncep_webui.git
- Install the Python dependencies:
pip install uv uv sync --locked
- Run the application:
uv run src\jncep_webui\app.py
- Download the latest
compose.ymlfile from this repository and (optionally) modify thelogspath - Run
docker compose upin the same path as thecompose.yml
- Pull the Docker container from GitHub Container Registry (GHCR).
- (Optional) Mount the
/logscontainer path for logging:- Logs will automatically compress when they reach 50MB.
- Logs older than one week will be deleted when new logs are created.
- Start the container.
JNCEP WebUI uses jncep to create the epub. If you want to know more about how the part specification works, check out the documentation for it here.
JNCEP WebUI runs on port 5000. Access the interface at http://localhost:5000.
| Field | Required | Description |
|---|---|---|
J-Novel Club URL |
Yes | The URL for the J-Novel Club series, volume, or part. |
Prepub Parts |
No | Range of parts to download (e.g., <vol>[.part]:<vol>[.part]). Defaults to all parts for the specified URL. |
- Enter the J-Novel Club URL.
- (Optional) Specify the Prepub Parts.
- Click Submit to generate the EPUB.
If the parts span multiple volumes, each volume will be compiled into a separate EPUB, and all files will be bundled into a ZIP. The generated file will be served for download, typically within a few seconds.
JNCEP WebUI can also function as a web API. Send a GET or POST request to http://<host>:5000/epub with the following headers:
| Header | Required | Description |
|---|---|---|
jnovelclub_url |
Yes | Maps to the J-Novel Club URL field. |
prepub_parts |
No | Maps to the Prepub Parts field. |
JNCEP_EMAIL |
No | Overrides the JNCEP_EMAIL environment variable. |
JNCEP_PASSWORD |
No | Overrides the JNCEP_PASSWORD environment variable. |
- With parts specified:
http://localhost:5000/epub?jnovelclub_url=<series_url>&prepub_parts=4.1 - To download all parts:
http://localhost:5000/epub?jnovelclub_url=<series_url>
The response will include the generated EPUB or ZIP file.
- Add to PyPi
- Add an Unraid Community Applications template.
- Create an installable application using PyInstaller and Inno Setup.
- Send a notification when a new prepub part is available, with a direct download link
For more details, check out the open issues.
Contributions are always welcome! Hereβs how you can help:
- Fork the repository.
- Create a new branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to your branch (
git push origin feature/AmazingFeature). - Open a pull request.
Remember to star the repository if you find it helpful! π
This project is distributed under the GNU General Public License (GPL) v3. See LICENSE.txt for details.
- gvellut for creating
jncep, which does all the heavy lifting, thank you! - Delgan for
Loguru, it makes logging dead-simple. - othneildrew for the readme template.
- J-Novel Club for their translations and public API.
Project Repository: JNCEP WebUI

