explaingit

freeok/so-novel

6,751JavaAudience · generalComplexity · 2/5Setup · easy

TLDR

A Java tool that downloads web fiction from online sources and converts it into EPUB, TXT, or PDF ebook files for offline reading, with a web UI, desktop app, and Docker support.

Mindmap

mindmap
  root((so-novel))
    What it does
      Download web fiction
      Convert to EPUB
      Export TXT and PDF
    Run modes
      Terminal interface
      Web browser UI
      Command-line CLI
    Install options
      Scoop Windows
      Homebrew macOS
      Docker server
    Features
      Offline reading
      Bundled Java runtime
      Server mode
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Download a serialized web novel and save it as a single EPUB file for reading on a Kindle or Kobo.

USE CASE 2

Run as a self-hosted web service on a home server so multiple people can queue fiction downloads through a browser.

USE CASE 3

Convert web fiction chapters to TXT or PDF for offline archiving.

Tech stack

JavaDocker

Getting it running

Difficulty · easy Time to first run · 5min

Prebuilt releases available for Windows, macOS, and Linux with a bundled Java runtime, Docker image available for server use.

In plain English

So Novel is a Java-based tool for downloading web fiction and converting it into standard ebook file formats. The README is written in Chinese. The tool fetches content from web pages and exports it as EPUB, TXT, or PDF files, which can then be opened in any ebook reader. The stated use cases include saving online content for offline reading, converting between formats, and creating ebook files from serialized web fiction. The tool can be run in three modes: a text-based terminal interface (TUI), a minimal command-line interface (CLI), and a web interface (WebUI) that runs in a browser. The mode is selected by a startup parameter. For people who want to run it as a background service on a server, Docker is supported with several installation options including a Docker Compose configuration and a prebuilt container image. Installation is available through several package managers for convenience: Scoop for Windows, Homebrew for macOS, and a shell script for Linux. Prebuilt releases are also available for direct download from the GitHub releases page. The tool bundles its own Java runtime, though the README notes that users who prefer their own local JDK or JRE can point the startup scripts at it instead. The README includes a disclaimer section noting that users should read the project's legal terms before using the tool, which is a common practice for projects that interact with web content. Donation options for the project are also listed, using Chinese payment platforms. The README recommends a set of ebook reader apps for different platforms to use with the downloaded files, and points to a discussion thread explaining a known compatibility issue with certain office software that cannot open the EPUB files the tool produces. The project is open-source under a license linked from the repository.

Copy-paste prompts

Prompt 1
Help me set up so-novel with Docker Compose to run it as a home server and access the web UI from my browser.
Prompt 2
Using so-novel's CLI mode, show me the command to download a novel from a specific URL and export it as an EPUB file.
Prompt 3
Walk me through installing so-novel on macOS using Homebrew and using it to download and convert a web serial to PDF.
Open on GitHub → Explain another repo

← freeok on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.