venera-miuix rewrites Venera in Kotlin and Jetpack Compose with a HyperOS Miuix look, keeps the original JS comic-source plugin protocol, and adds Booru and Pixiv gallery aggregation.
- v2.1.1-miuix
- Published at
- 5d ago
- 91
- Stars
- 1,468
- Download
- Synced at
- 1d ago
Latest release
v2.1.1-miuixOct 23, 2026, 04:48 PMREADME
Overview
Tearing out Flutter is step one for venera-miuix: the upstream Venera Dart and Rust runtimes are removed entirely, replaced with pure Kotlin and Jetpack Compose, and the full-screen UI is rebuilt on Xiaomi HyperOS's Miuix design system with seamless switching to Material 3 dynamic color. The project stays compatible with the official ComicSource JavaScript plugin protocol and bundles 34 common source scripts, licensed under GPL-3.0 and requiring Android 13 (API 33) or above.
Native rewrite plus gallery aggregation: comics and image boards in one app.
| Item | Detail |
|---|---|
| Platforms | Android 13+ (plus a separate experimental :desktop module) |
| Stack | Kotlin 2.1 + Coroutines/Flow + Compose 1.7 + Miuix KMP |
| Data and images | Room / SQLDelight + Coil 3 + OkHttp 4 |
| Plugin protocol | Official ComicSource JS plugins, 34 bundled source scripts |
| License | GPL-3.0, upstream Venera by wgh136 |
Gallery and Pixiv
- Dual-domain aggregation: a top-bar segmented switch between image boards (yande.re, Gelbooru, Safebooru) and Pixiv, with fully independent state machines from the main wall
- Native Pixiv access: daily, weekly, monthly, rookie, and original rankings, with the official recommendation waterfall after login; the native work page supports multi-page reading, official bookmarks, following artists, and original-image downloads
- Cross-site jumps: board work details auto-detect Pixiv origins and offer jump pills; typing a numeric ID, #ID, or Pixiv link in search opens the work page directly
- Dual-track favorites: Pixiv favorites hit the official API and never pollute the local gallery database; local favorites use a 3-column borderless image waterfall
- Gallery tools: daily popular, recommendations, artist alias normalization, SauceNAO reverse image search, AI masking, and watercolor rendering
Reading and Networking
- All reading modes: webtoon (top-down), Japanese (right-to-left), Western (left-to-right), double-page spread, and vertical continuous; two-finger pinch zoom, 1–10 second auto-page cruise, and volume-key paging
- Image adjustments: night inverse, green filter, contrast boost, sharpening, and level tuning; reaching the last page auto-continues to the next chapter with page-precise resume
- Network engine: dynamic rule compilation and category tree parsing; built-in Cloudflare challenge bypass with Cookie/UA binding, HTTP/SOCKS5 proxy, domain circuit breaking, DNS optimization, and rate limiting
- Deep links: 29+ common comic site URLs open the app directly from external browsers
Downloads and Shelf
- Multi-threaded downloads: 1–16 concurrent threads, chapter-level multi-select, resume support, retry on failure, and live progress notifications
- Integrity checks: fake images, challenge pages, and empty bytes are auto-detected, and incomplete chapters are explicitly flagged as incomplete offline
- Local shelf: auto-scan local comic folders, CBZ import and export; designate follow folders for background polling with system notifications
- Filtering and privacy: three-state content masking (none, cover blur, fully hidden), keyword/tag/artist/work-ID blocking via whole-word or regex, and system-level FLAG_SECURE against screenshots
Build and Known Gaps
Prebuilt APKs ship on Releases in universal, arm64-v8a, armeabi-v7a, and x86_64 variants. Building from source needs JDK 17 or 21 and Android SDK Platform 35:
- ./gradlew :app:assembleDebug for debug builds, :app:assembleRelease for all-arch release, :app:testDebugUnitTest for unit tests
- Known gaps: chapter comments and log viewer UIs are not wired up yet; desktop is a separate experimental module; no biometric lock — use a system-level app lock instead