Skip to content

Repository files navigation

Important

Mankai does not provide, host, or distribute any media content. Users are responsible for obtaining media through legal means and complying with their local laws. Any plugins used with the app are unaffiliated with Mankai, and we have no control over them.

Mankai

GitHub License GitHub last commit GitHub stars

Mankai is a powerful, extensible manga reader and manager for iOS and iPadOS. It is primarily built with SwiftUI, featuring a high-performance UIKit-based reader, multi-source plugin support, and cross-device syncing.

Demo

More Screenshots

iPhone

Home Library Details
Home Library Details
History Downloads Reader
History Downloads Reader

iPad

Home Library Details
Home Library Details
History Downloads Reader
History Downloads Reader

Features

  • Extensible Plugin System: Support for JavaScript, File System, and HTTP sources.
  • Local Collections: Read CBZ files and manage local collections stored on your device.
  • Modern UI: A responsive interface built with SwiftUI.
  • High-Performance Readers: Continuous and Paged reading modes built on UIKit.
  • Smart Grouping: Deep learning-powered automatic spread detection.
  • Library & History: Manage your collection and track reading progress.
  • Cross-Device Syncing: Keep your library in sync using HttpEngine or Supabase.
  • Download Manager: Save manga chapters for offline access.

Plugins

Mankai is designed to be extensible. It supports three types of plugins, each serving a distinct function:

JavaScript Plugin (JsPlugin)

This plugin scrapes content from third-party manga websites, allowing you to browse and read manga from various online aggregators directly within the app.

File System Plugin (FsPlugin)

This plugin manages manga stored as local files stored on your device or a connected service.

  • Syncing: Point it to a folder in iCloud Drive or other remote storage solutions (e.g., SMB) to sync your library across devices.

Http Plugin (HttpPlugin)

This plugin is designed for external providers to use Mankai as a reader and, optionally, an editor. It connects to servers implementing the standard API and supports authentication.

Reader

Mankai provides two high-performance reading modes, both implemented in UIKit to ensure smooth scrolling and page transitions:

  • Continuous Reader: A traditional webtoon-style vertical scrolling experience.
  • Paged Reader: A paginated experience supporting both vertical and horizontal reading directions.

Smart Grouping

Mankai features an advanced Smart Grouping system that uses a deep learning model to detect and merge split-page spreads. By analyzing the visual adjacency of images, the app can automatically group two separate files into a single seamless spread, restoring the original artistic intent.

Performance

Metric Value
Base Model mobilenetv3_large_100
Test Accuracy 99.88%
Precision 99.90%
Recall 99.86%
F1 Score 99.88%

Inference

Performance benchmarks on iPhone 15:

Compute Units Prediction (Median) Load (Median) Compilation (Median)
All 0.94 ms 21.77 ms 65.11 ms
CPU Only 2.28 ms 17.94 ms 62.82 ms
CPU + GPU 8.15 ms 21.09 ms 81.25 ms
CPU + Neural Engine 0.91 ms 45.80 ms 64.19 ms

Syncing

Mankai supports syncing your library and reading history across devices using the following sync engines:

HttpEngine

The HttpEngine requires a self-hosted server to function. You can use either of the following:

Once hosted, you can configure the server URL in the app settings to enable syncing.

SupabaseEngine

The SupabaseEngine allows you to sync using Supabase as the backend. You can set up your own Supabase project using the database schema provided in the mankai-supabase repository.

Once configured, you can enter your Supabase URL and Key in the app settings to enable syncing.

Planned Sync Engines

  • iCloud - Pending availability of resources (aka. I have no money)

Parsers

Mankai ships with built-in parsers that read local book files (e.g., CBZ) and extract their metadata and images. Each parser targets a specific file format.

Parser Extensions Description
CbzParser .cbz Parses CBZ (Comic Book Zip) archives, extracting metadata from ComicInfo.xml and images from the archive.

Planned Parsers

  • EPUB - Digital book format.
  • PDF - Portable Document Format.
  • CBR - Comic Book RAR archive.
  • Mankai Custom Format - A dedicated format tailored to Mankai's needs.

Development Notes

Performance with Debugger Attached (e.g., from Xcode):

  • The startup time will be significantly slower than normal.
  • The app may temporarily freeze on the first scroll in the reader screen.

These issues do not occur when running the app without a debugger attached.

About

Mankai is a powerful, extensible manga reader and manager for iOS and iPadOS. It is primarily built with SwiftUI, featuring a high-performance UIKit-based reader, multi-source plugin support, and cross-device syncing.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages