- Guided onboarding & unlimited servers: First launch drops straight into Komga login, stores unlimited instances with custom names/roles, records authentication history (IP, user-agent, API key), and clears cached credentials or downloads when removing a server.
- Adaptive browse & dashboards: Series, Books, Collections, and Read Lists share one browse surface with search, filters, orientation-aware grid/list layouts, a quick layout picker, infinite scroll, and customizable dashboard sections (Keep Reading, On Deck, Recently Added/Read/Released/Updated) per library.
- Deep metadata & inline editing: Rich series and collection pages expose release timelines, directions, publishers, genres, tags, alternate titles, creators, and related collections alongside actions for edit, analyze, refresh metadata, mark read/unread, add/remove collections, and delete with confirmations.
- Two optimized readers: DIVINA covers LTR/RTL/vertical/Webtoon on iOS/iPadOS/macOS/tvOS with dual-page spreads, pinch zoom, configurable tap zones (including new macOS tap-to-toggle controls), quick page jumps, exports, tvOS remote gestures, and a macOS reader window. EPUB reader (iOS/iPadOS/macOS) keeps titles offline or incognito with custom fonts, themes, pagination, column layouts, TOC navigation, optional image-first mode, auto page layout, and refreshed progress indicators that stay in sync after every session.
- Live admin & monitoring: Edit metadata, manage collections/read lists, trigger scans or analyses per library or globally, cancel outstanding tasks, and inspect disk usage plus per-library metrics while SSE pushes live updates for dashboards, task queues, thumbnails, and session expirations with opt-in notifications.
- Smart caching & native polish: Three-tier caches for pages, book files, and thumbnails expose adjustable budgets, live size/file counts, one-tap clearing, and automatic cleanup so recently viewed pages and EPUB downloads reopen offline. Accent colors, Webtoon width controls, tap-zone hints, keyboard shortcuts, focus-friendly tvOS navigation, incognito reading, and steadier dashboard refreshes keep everything feeling native and responsive.
- Scenes for browsing, readers, dashboard, and admin tasks keep navigation predictable across iPhone, iPad, Mac, and Apple TV.
- SwiftData stores Komga instances, libraries, and custom fonts so every server profile, cache budget, and dashboard preference stays local to the device.
- Shared services handle API access, authentication, caching, SSE subscriptions, and error surfaces for consistent behavior on every platform.
- Local storage remembers each Komga profile, last activity, and cached downloads so switching servers never means losing state.
- Install the prerequisites (iOS 17.0+/macOS 14.0+/tvOS 17.0+ and Xcode 15.0+).
- Clone and open the project:
git clone https://github.com/everpcpc/KMReader.git cd KMReader open KMReader.xcodeproj - Build and run on your target device or simulator, then enter your Komga server URL plus credentials.
tvOS currently supports DIVINA reading; EPUB and Webtoon modes are available on iOS/iPadOS/macOS.
- 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.
- Verbose API logging is available in Xcode Console or Console.app (process
Komga, subsystemKomga, categoryAPI). - Sample entry:
📡 GET https://your-server.com/api/v2/users/me ✅ 200 GET https://your-server.com/api/v2/users/me (45.67ms)
- Handoff support
- Offline reading enhancements
- Live Text / automatic page translation
Released under the terms of the LICENSE file.
Join the discussion on Discord.
Made with ❤️ for the Komga community ⭐ Star this repo if it helps you keep your library in sync!