Skip to content

A full-featured, native Komga client for iOS, macOS, and tvOS

License

Notifications You must be signed in to change notification settings

everpcpc/KMReader

Repository files navigation

📚 KMReader

KMReader Icon

A full-featured, native Komga client for iOS, macOS, and tvOS — featuring powerful comic/EPUB readers and live admin tools.

iOS macOS tvOS Swift Xcode

Download on the App Store


✨ Highlights

  • Multi-server vault: Save unlimited Komga servers with password or API key authentication.
  • Cloud-drive-like offline: Background downloads with Live Activity on iOS. Offline policies (manual, latest, all) per series. Read lists and collections stay available offline. Progress syncs when connection restores.
  • Browse + dashboards: Search, advanced metadata filters (all/any logic for authors, genres, tags, etc.), and grid/list layouts. Customizable dashboard sections with native drag-and-drop reordering.
  • Readers: DIVINA (LTR/RTL/vertical/Webtoon) with spreads, zoom, customizable tap zones, and transition styles (including native page curl). High-performance Native EPUB engine with custom font importing (.ttf/.otf), multi-column layouts, theme presets, nested TOC, and chapter navigation gestures. Interactive metadata chips for quick navigation. Live Text support with shake-to-open on iOS.
  • Privacy protection: Optional blur overlay to protect reading content from prying eyes. Toggleable glass effects for thumbnails.
  • Admin tools: Metadata editing, scans, task management, live metrics via SSE, and an in-app log viewer with filtering.
  • Caching: Three-tier caches (pages, books, thumbnails) with adjustable limits and auto-cleanup.

🧭 Overview

  • Shared SwiftUI scenes cover browsing, reading, dashboards, and admin tasks across iPhone, iPad, Mac, and Apple TV.
  • Swift 6 & strict concurrency: Built with the latest Swift language features for safety and performance.
  • SwiftData stores Komga instances, libraries, and custom fonts so server profiles, cache budgets, and dashboard preferences stay local per device.
  • Services centralize API access, authentication, caching, SSE subscriptions, and error handling for consistent behavior on every platform.
  • Local storage keeps profiles, recent activity, and cached downloads so switching servers does not reset your state.

🚀 Getting Started

  1. Prerequisites: iOS 17.0+, macOS 14.0+, tvOS 17.0+, Xcode 15.0+.
  2. Clone and open the project:
    git clone https://github.com/everpcpc/KMReader.git
    cd KMReader
    open KMReader.xcodeproj
  3. Build and run on your target device or simulator, then enter your Komga server URL and credentials.

Build helpers (optional):

  • make build-ios, make build-macos, make build-tvos for device builds.
  • make build-ios-ci, make build-macos-ci, make build-tvos-ci for code-signing-free simulator builds.
  • make release archives/exports all platforms; see Makefile for archive/export targets.

tvOS currently supports DIVINA. EPUB and Webtoon modes are available on iOS/iPadOS/macOS.


🔌 Compatibility

  • Requires Komga 1.19.0 or later.
  • Works with Komga API v1 and v2 (authentication, libraries/series/books, reading progress/pages, collections, and read lists).
  • SSE keeps dashboards and task analytics synchronized with toggles for auto-refresh and connection notifications.

💬 Discuss

Join the discussion on Discord.


Made with ❤️ for the Komga community

⭐ Star this repo if it helps you keep your library in sync!

About

A full-featured, native Komga client for iOS, macOS, and tvOS

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •