Open-source project
Luoyacheng/legado-E avatar
Luoyacheng/legado-E

legado-E continues an Android reading app where the content comes from rules

Yuedu Sigma (Reading Sigma) is a successor to Legado, keeping it open-source and free, continuing its open-source spirit.

2,866 stars674 forksKotlinGPL-3.0

At a glance

What is it?
A Kotlin fork of the Legado reading app that keeps the book source rule system and adds audio with lyrics, video with danmaku, plus a beta and a coexisting stable package.
Who is it for?
legado-E is worth considering if you already understand Legado's book source rules and want the audio, video and editing improvements on top, because the fork keeps the original rule model rather than replacing it, which means existing sources carry over. It is the wrong starting point if you want a reading app that works immediately, since it ships with no content and expects you to import sources yourself.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 72 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 11, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A continuation, not a rewrite, of an existing Android app

This repository is a fork of Legado, the open source Android reading app maintained at gedoor/legado, and it introduces itself by name as a successor that continues the open source reading project rather than starting something new. That framing matters for evaluation, because everything distinctive about it is an addition to code that already worked.

The original app's model is worth restating because it is unusual and frequently misunderstood. The application ships with no content. It provides no books, no catalogue and no bundled sources. What it provides is a rule engine: you supply book sources, each one describing how to scrape and parse a particular website, and the app renders whatever those rules return. The README states this to new users directly and points them at a help wiki.

The additions listed under the continuation category are audio playback with lyrics, video playback with danmaku comments, easier book source editing, a wider set of book source capabilities, and a more complete subscription source system. None of these replace the rule model. They extend it, which is why existing sources remain the unit of value.

Downloads are not distributed from this repository's own releases. The README points to a Gitee releases page instead, which is a meaningful detail for anyone who goes looking for an APK in the GitHub releases list and concludes the project is unfinished.

Two package variants that decide whether it replaces Legado

The README documents two release channels and the difference between them is not cosmetic, it is about what happens to an existing installation.

The beta channel uses the same package name as the original Legado app. That means it can install over an existing Legado installation as an update, and it updates frequently. The stable channel, called plus, uses a new package name, so installing it creates a separate application on your phone rather than replacing Legado, and it is updated once each time a stable stage is reached.

That distinction decides the install question before anything else. If you want to follow development closely and are willing to accept churn, the beta slot is the one that upgrades in place. If you want a settled build and want to keep the original app side by side to compare, plus gives you both. Running both is possible only on the plus channel, which is the practical reason to prefer it if you are migrating.

The two channels also have different update rhythms, which affects how you maintain them. Frequent beta updates mean you will be pulling often; stable means you set it and forget it.

Book source rules, replace rules and the subscription system

The inherited feature set is built around rules, and it is worth naming each one because they are the parts people actually configure.

Custom book sources let you define how a site is scraped and parsed, with rule explanations inside the app. Search and discovery are both driven by source rules, so finding books is as customisable as reading them. Replace and cleanup rules strip advertising and substitute content, which is the feature that makes scraped text tolerable. Subscriptions let you follow content of any kind rather than only books. Local TXT and EPUB files are supported with manual browsing and intelligent scanning.

The additions extend each of those. Book source editing is described as more convenient, book source functionality richer, and the subscription source system more complete. A separate mention of a workflow file appears in the most recent release notes, which suggests automation is being added on top of the rule model.

The read side is unusually thorough for a phone reader, and it is inherited rather than new: font, colour, background, line spacing, paragraph spacing, bold and simplified to traditional conversion are all adjustable, and there are several page turn modes including cover, simulation, swipe and scroll.

A deep linking scheme for importing sources from a URL

Because book sources are shared objects rather than built-in data, moving them between devices matters, and the app has a URL scheme for it. The documented format is `legado://import/{path}?src={url}`, which launches the reader and imports from a remote address in one step.

The path segment selects what kind of object is being imported, and the documented types cover a wide range: book source, RSS source, replace rule, local text table of contents rule, online text to speech engine, theme, reading configuration and dictionary rule, plus a path type that adds the item directly to the bookshelf.

That list is a good map of what this app treats as a portable, shareable object. Anything you can import from a URL is something the community can share, and the breadth of the list tells you what sharing looks like in practice: not just source files but themes, reading settings and replacement rules.

There is also a documented API surface with two access methods, a web method and a content provider method, described in a separate api.md file in the repository. That is the path to look at if you want to drive the app from a script rather than tapping through it.

Kotlin, Gradle and the dependency list tells you the platform

The project is an Android application written in Kotlin, and the repository reflects a standard modern Android layout: `app/` for the application module, `modules/` for the rest, a root `build.gradle`, `settings.gradle`, `gradle.properties` and both `gradlew` and `gradlew.bat` wrapper scripts. There are `avd.sh` and `avd.bat` scripts, which are emulator launchers, so developing against a virtual device is expected rather than optional. A `package.json` at the root carries Commitizen configuration for conventional commits and a changelog generator.

The acknowledgements section doubles as a dependency map, and it is a useful one. jsoup and JsoupXpath do the HTML parsing, json-path handles JSON rule responses, okhttp does networking, glide loads images, Rhino is the JavaScript engine used for cleanup rules that run JavaScript, Markwon renders markdown content, hanlp does Chinese language processing, epublib handles EPUB, nanohttpd serves the local API, LyricViewX renders lyrics, and a code editor component is used for editing rules.

Two of those deserve a note. Rhino being present confirms that replacement rules can execute JavaScript, which is a power and a risk in the same feature. hanlp being present confirms the Chinese text processing is first class rather than bolted on.

WebView carries the actual page fetching, which the disclaimer states plainly: the app depends on the system WebView for web access and takes no responsibility for what third-party sources return.

Licence metadata disagrees with itself, and releases come from Gitee

There is a real inconsistency in the licensing files and it is worth knowing about before you build on this. The repository itself is reported under GPL-3.0 and ships a GPL LICENSE file. The root `package.json` in the same tree declares its name as `legado`, points its repository, homepage and bugs URLs at the upstream gedoor/legado project, and records its licence as ISC.

Those two statements are not reconcilable, and the more likely explanation is that the package.json was inherited from the upstream repository and not updated when the fork was created. It is not a sign of a licensing dispute so much as an artefact of forking. If licence terms matter to your situation, GPL-3.0 on the repository is the document to read, and the ISC string in a build tool file is not a grant you should rely on.

The release history has a similar shape. Three releases are published on GitHub, the newest tagged `beta` with a build name of 3.26.080113 published on 2026-08-01, alongside tagged builds from March 2026. The bodies are short, in the project's own language, and describe optimising the workflow file, fixing code issues, adding system media notifications during floating window video playback, supporting `java.log` calls from JavaScript cleanup rules, supporting the dollar sign in code editor search and replace, remembering shelf scroll position, judging book category information when sorting search results, and adding automatic app update checks.

The last push was on 2026-08-01 and the repository is not archived.

Editorial conclusion

legado-E is worth considering if you already understand Legado's book source rules and want the audio, video and editing improvements on top, because the fork keeps the original rule model rather than replacing it, which means existing sources carry over. It is the wrong starting point if you want a reading app that works immediately, since it ships with no content and expects you to import sources yourself. Two things to check before switching: which of the two variants you want, because the beta shares Legado's package name and will overwrite it while the stable plus uses a separate package that installs alongside, and whether the sources you rely on still resolve, since third-party rule quality is outside the project's control. Start from the documentation wiki rather than the README, because the README is a feature list and the wiki is where the rule syntax lives.

Frequently asked questions

What is legado-E?

It is a Kotlin fork that continues Legado, the Android reading app, keeping its book source rule system and adding audio playback with lyrics, video playback with danmaku, easier source editing, richer source features and a more complete subscription source system.

Does legado-E come with any books or content?

No. The app ships empty and you add content yourself, typically by importing book sources that describe how to scrape a site. The README tells new users this directly and points them to a help wiki for the rule syntax.

What is the difference between the beta and plus versions?

The beta channel uses the same package name as the original Legado app, so it updates in place over an existing install and updates frequently. The stable plus channel uses a new package name, installs as a separate application alongside Legado, and is updated once per stable stage.

Where do I download legado-E?

The README sends you to a Gitee releases page rather than to the GitHub releases of this repository. If you looked at the GitHub releases and saw only short build-tagged entries, that is why.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. Luoyacheng/legado-E on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/luoyacheng-legado-e.svg)](https://hysenlabs.com/projects/luoyacheng-legado-e)