Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yomira logo

Yomira

A considered space for browsing and reading.

English · 简体中文 · 日本語

CI · Downloads · Roadmap · Contributing

Yomira is an unofficial E-Hentai / ExHentai client for Android and desktop, built with Rust, Tauri 2 and React. Inspired by Ehviewer_CN_SXJ, it brings familiar gallery workflows to a minimal interface that adapts to touch, keyboard and mouse.

This project is under active development. It is not affiliated with E-Hentai or the EhViewer maintainers. The services it accesses contain adult material; use is restricted to adults of legal age in their jurisdiction.

Browse, read, keep

  • Find your next read. Home, Popular, Watched and Toplist browsing; thumbnail and detailed list layouts; category, rating and page-count filters; image search, multi-tag autocomplete and saved keywords.
  • Explore the details. Tags and Chinese tag translations, gallery previews, ratings, comments, online favorites and favorite notes.
  • Read comfortably. Paged and continuous modes, swipe navigation, right-to-left reading, zoom and pan, adjustable preloading and saved position.
  • Take galleries offline. A persistent download queue with pause, resume, retry and labels. Read saved pages, including partially downloaded galleries, without fetching the gallery again.
  • Make it yours. Light and dark themes, English and Chinese, display scaling, desktop back/forward and zoom shortcuts, and Android back navigation.
  • Control the connection. Proxy, DNS over HTTPS, built-in and custom hosts, image resolution preferences and a bounded disk image cache.

Yomira does not yet cover every EhViewer feature. Local favorites, MyTags editing, backup/import, native Android background-download services and iOS support remain on the roadmap. Performance measurements and their limits are documented in Performance.

A closer look

These screenshots use synthetic Non-H demo galleries with original, safe-for-work illustrations. No account data or images from the service are included.

Desktop gallery browsing

Gallery browsing on a narrow screen Settings in the light theme

Get Yomira

Download installable packages from GitHub Releases.

Platform Package Build coverage
Android 7.0+ Universal APK: ARM64 and ARMv7 CI build; signed releases
Windows x64 .exe installer CI build; unsigned
Linux x64 .deb, .AppImage Ubuntu 22.04 build baseline
macOS .dmg for Apple Silicon and Intel CI build; unsigned and not notarized

Build coverage does not replace testing on real devices. See Building and signing for prerequisites and platform limitations.

Develop locally

Install Tauri's platform prerequisites, Rust (the repository pins 1.92.0), Node.js 24.10+ in the 24.x series, and Bun 1.2.18.

git clone https://github.com/Nya-Foundation/Yomira.git
cd Yomira
bun install --frozen-lockfile
bun run tauri dev

For frontend work, bun run dev opens a browser demo with synthetic data. Native networking and filesystem behavior require the Tauri application.

bun run build                 # TypeScript checks and production frontend
bun run test:unit             # Frontend unit tests
bunx playwright install chromium
bun run test:e2e              # Browser regressions
cargo test --locked --manifest-path src-tauri/Cargo.toml

Desktop packaging: bun run tauri build. Android instructions and release automation are in BUILDS.md and RELEASING.md.

Inside the project

src/                    React interface, routes, typed IPC wrappers and state
src-tauri/src/          Rust networking, parsers, persistence and downloads
src-tauri/gen/android/  Maintained Android project and native integration
design/branding/        Canonical logo and icon-generation notes
tests/ + e2e/           Unit, release-tooling and browser regression tests
scripts/               Branding, profiling and release utilities

The interface calls Rust through domain wrappers in src/lib/api/. Browser fixtures load only outside Tauri. Rust owns network access, SQLite persistence, downloads and the image cache. See Architecture and maintenance, Design system and Offline reading.

App data is stored in platform application directories. Session cookies are stored locally in cookies.json; downloaded galleries and caches are separate from the source checkout. Legacy application identifiers and exviewer.db are intentionally retained so existing installations keep their data. Never include cookies or personal galleries in issue reports.

Credits and license

Yomira builds on the work of xiaojieonly and the Ehviewer_CN_SXJ contributors, and Hippo Seven and the original EhViewer contributors. The gallery parsers, URL construction, client behavior and portions of download and tag handling were adapted into Rust from that work. Chinese tag lookup uses the translation distribution maintained by Mapaler/EhViewer.

The application is distributed under GPL-3.0-only. Upstream Apache-2.0 portions retain their original terms and attribution. See LICENSE, NOTICE and Third-party notices, including the licensing details of the exact upstream revision used for the port.

Thank you to the Rust, Tauri, React and wider open-source communities whose libraries make this project possible.

About

A minimal cross-platform E-Hentai / ExHentai client built with Rust, Tauri and React.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages