Files
Moku/README.md

4.6 KiB

Moku

A fast, minimal manga reader for Suwayomi-Server.
Built with Tauri v2 and React.


Features

Reader

  • Single, double-page, and longstrip reading modes
  • Infinite longstrip — when Auto mode is enabled, the next chapter's pages are appended directly into the scroll without any re-render or gap; the entire series flows as one seamless ribbon
  • Fit modes: fit width, fit height, fit screen, and 1:1 original
  • Per-series zoom control via Ctrl+scroll or a slider popover
  • RTL / LTR reading direction toggle
  • Configurable page gaps
  • Full keyboard navigation with rebindable keybinds
  • UI auto-hides after 3 seconds of inactivity; reappears on cursor movement near edges
  • Chapter-relative page counter that updates live as you scroll through the infinite strip
  • Auto-mark chapters as read when the last page is reached

Library

  • Grid view of your entire manga collection with lazy-loaded cover art
  • Filter tabs: Saved, Downloaded, and All
  • Genre tag filter chips — multi-select to narrow by any combination of tags
  • In-line search
  • Context menu: open, add/remove from library

Series Detail

  • Cover, author, artist, status badge, genres, and synopsis
  • Read progress bar with percentage
  • Continue / Start / Re-read button that picks up exactly where you left off (including mid-chapter page)
  • Chapter list with scanlator, upload date, and in-progress page indicator
  • Grid view — displays all chapters as numbered tiles; read/unread/in-progress states are visually distinct at a glance; switches between list and grid with a single click
  • Sort by newest or oldest first
  • Jump-to-chapter input
  • Bulk download menu: from current chapter, unread only, or all
  • Per-chapter context menu: mark read/unread, mark all above as read, download, delete, bulk download from here
  • Collapsible source details panel with source ID, language, and source migration
  • Cross-source search running up to 3 concurrent requests
  • Language filter bar (preferred language default, per-language, or all)
  • Results grouped by source with skeleton loading states

Sources & Extensions

  • Browse and search installed sources, grouped by extension with per-language expansion
  • Extension manager: install, update, remove, and install from external APK URL
  • Repo refresh with update count badge

Downloads

  • Download queue with live progress

History

  • Reading history grouped by day with relative timestamps
  • Per-entry thumbnail, chapter name, and last-read page
  • Full-text search across titles and chapter names
  • One-click clear

Requirements

Suwayomi-Server must be running. By default Moku expects it at http://127.0.0.1:4567.

Moku will attempt to launch the server automatically on startup if the suwayomi-server binary is on your PATH.


Installation

Nix (recommended)

nix run github:Youwes09/moku

Add to your flake:

inputs.moku.url = "github:Youwes09/moku";

From source

git clone https://github.com/Youwes09/moku
cd moku
nix build
./result/bin/moku

Development

nix develop
pnpm install
pnpm tauri:dev

tauri:dev uses src-tauri/tauri.dev.conf.json to point at the Vite dev server, keeping the release build config clean for nix build.


Stack

Tauri v2 Native app shell
React + TypeScript UI
Vite Frontend bundler
Zustand State management
Phosphor Icons Icon set
Crane Nix Rust builds

License

Distributed under the Apache 2.0 License.


Disclaimer

Moku does not host or distribute any content. The developers have no affiliation with any content providers accessible through connected sources.