opds_plus.koplugin

greywolf1499AGPL-3.0更新放缓

给 KOReader 加装增强版 OPDS 目录浏览器,支持封面网格/列表视图和大量自定义选项,方便从 Calibre 等数字图书馆直接找书、下书。

Enhanced OPDS catalog browser for KOReader with visual cover display, grid/list views, and extensive customization options

v1.3.1发布于 2026-11-09 19:23 UTC208star20fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
cd ~/.config/koreader/plugins/  # 按系统调整路径
git clone https://github.com/greywolf1499/opds_plus.koplugin.git
硬件要求按 README 说明

README 未说明;仅要求 KOReader v2025.10 及以上版本,并需联网访问在线目录

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

KOReader 的增强版 OPDS 目录浏览器插件,用封面图和网格视图让在线书库更好逛

给 KOReader 加装增强版 OPDS 目录浏览器,支持封面网格/列表视图和大量自定义选项,方便从 Calibre 等数字图书馆直接找书、下书。

核心能力

  • 在列表和网格两种视图间切换浏览目录
  • 列表视图显示封面并支持 5-25% 自定义封面尺寸
  • 网格视图支持 2-4 列与三种边框样式
  • 封面磁盘缓存可调容量、TTL 并支持清空
  • 标题与详情字体可分别设置字号、粗细和颜色

容易踩的坑

插件目录必须严格命名为 opds_plus.koplugin,否则不会被加载;KOReader 版本需不低于 v2025.10;封面能否显示取决于目录源是否提供图片 URL,部分 OPDS 源没有封面

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.3.1
  1. v1.3.1最新正式版2026-11-09 · 2026-11-09 19:23 UTC

    OPDS Plus v1.3.1

    A bug-fix release: you can now reach the rest of a long feed after jumping to the last page, downloads get a proper file extension and a sensible default folder, and each catalog page takes one request instead of two.

    Changed

    • One Request per Catalog Page: Opening a catalog page used to ask the server for its headers and then for the page, so a server that builds the whole feed both times, like Calibre-Web, did the work twice. Each page is now a single request. A server that tags or dates its feeds answers "not modified" when the copy on the device is still current.

    Fixed

    • Rest of a Long Feed Unreachable: Jumping to the last page with the end chevron or the page number dialog left the next page button greyed out, so the rest of a long feed, such as a Calibre-Web shelf, could only be reached by swiping. The next part of the feed is now fetched when you land there (Issue #100).
    • Downloads Without a File Extension: A book whose download address had no extension, such as /download/7, or one KOReader can't open, such as get.php, was saved under that name and could not be opened. The extension of the chosen format is now added.
    • Download Folder When None Is Set: Without a download folder chosen, books were saved to the last folder opened in the file browser, which on a first start is KOReader's hidden help folder. They now go to the home folder, as in KOReader's own OPDS browser.
    • Where to Set the Sync Folder: Syncing without a sync folder now tells you where to set one: the menu at the top left of the list of catalogs, under Set sync folder.
    • Duplicate PDF Download Buttons: A PDF link was sometimes added to a book twice, so the format list read "EPUB, PDF, PDF" and a book with a single PDF asked which format to download. This happened with arXiv's feeds.

    Notes

    • If you never chose a download folder, new downloads now go to your home folder instead of the last folder you browsed. Tap Choose folder in the download dialog to pick another.

    Full changelog: https://github.com/greywolf1499/opds_plus.koplugin/blob/main/CHANGELOG.md

  2. v1.3.02026-11-09 · 2026-11-09 18:02 UTC
    查看更新说明

    OPDS Plus v1.3.0

    A feature release: custom HTTP headers for catalogs behind a gateway, series info, a default catalog, parallel cover downloads, keyboard and D-pad navigation and more, with fixes for covers after switching views and for books with several authors.

    Added

    • Custom HTTP Headers: A catalog can send extra headers with its requests, such as the CF-Access-Client-Id and CF-Access-Client-Secret headers that a server behind Cloudflare Access (Zero Trust) asks for. Tap Headers when adding or editing a catalog and write one Name: value per line. They go with the catalog's feeds, covers, downloads and sync, and only to that catalog's own server. They are saved as plain text, like the password (Issue #94).
    • Series Info: Books show their series and their number in it, such as "❖ Dune Chronicles #2", in list view and in the book info dialog. Read from the SERIES: line that Calibre and Calibre-Web put in the description, from dc:series, and from the collection metadata that Grimmory sends (Issue #70).
    • Description Saved with Downloads: The description a catalog gives for a book is saved with the downloaded file as KOReader custom book metadata, so it shows in Book information. This covers single downloads, the download queue and sync. A description the book already has, or one you edited yourself, is never replaced (Issue #85).
    • Thumbnails on Navigation Entries: Entries that only open a sub-catalog, such as a series in a comic server's feed, show their thumbnail in list and grid view when the server provides one (Issue #24).
    • Default Catalog: Settings > Default Catalog picks the catalog that opens as soon as you browse catalogs. Back returns to the list of catalogs (Issue #89).
    • Parallel Cover Downloads: Covers are downloaded in background processes, two at a time, so pages of covers fill in faster and a slow server no longer freezes the screen. Where a background process can't be started, covers are downloaded one at a time as before (PR #98).
    • Keyboard and D-pad Navigation: Devices with hardware keys can browse without the touchscreen. Back walks up one catalog level, Home closes the browser, the D-pad moves the focus item by item (cell by cell in the grid), and Enter opens the focused item (PR #93).

    Changed

    • Switching between list and grid view keeps you on the same item instead of reloading the catalog (PR #93).
    • The page counter in the footer is KOReader's own button again (PR #93).
    • Paging forward no longer asks the server for another page on every tap. The next page is requested when you are one screen from the end of what has been loaded (PR #92).

    Fixed

    • Covers no longer turn into coloured noise after you switch between list and grid view and then page through or switch back.
    • A book with more than one author lists all of them, such as "Robert Louis Stevenson, Lloyd Osbourne", in the list, the book info dialog and the file name, instead of only the last.

    Notes

    • Parallel Cover Downloads, Thumbnails on Navigation Entries and Save Description with Downloads are on by default. Each can be turned off under Settings.
    • A Force sync downloads books with several authors once more, under their new file names.

    Thanks

    Special thanks to these contributors for their work in this release cycle:

    • @iav (keyboard and D-pad navigation, switching views and fetching ahead, #92 and #93)
    • @demrom (parallel cover downloads, #98)

    Full changelog: https://github.com/greywolf1499/opds_plus.koplugin/blob/main/CHANGELOG.md

  3. v1.2.12026-11-09 · 2026-11-09 13:47 UTC
    查看更新说明

    OPDS Plus v1.2.1

    A bug-fix release with cover cache, catalog compatibility and sync fixes since v1.2.0.

    Fixed

    • Covers are cached on Kindle and other devices where KOReader runs from a relative directory (Issue #86, PR #87).
    • Cached covers no longer miss and download again after LuaJIT switches from interpreted to compiled code (PR #97).
    • Cover cache robustness: falls back to KOReader's data directory on versions without getFullDataDir(), creates relative cache directories in place, and writes covers atomically so an interrupted write cannot leave a truncated cover.
    • Catalog URLs with a local hostname, such as http://booktrove:8083/opds, can be added (Issue #91, PR #95).
    • Entries linked with the OPDS crawlable relation, like the Standard Ebooks "All Ebooks" feed, open instead of failing with "Cannot get catalog info from nil" (Issue #83).
    • Listings no longer lose the entries after one with an empty <content/> tag (Issue #100).
    • "Sync all catalogs" and "Force sync all catalogs" say when no catalog has "Sync catalog" ticked instead of reporting "Up to date!", and the gesture versions wait for the network like the menu entries (Issue #96).
    • A sync that fails shows the error instead of leaving "Synchronizing lists…" on screen. Feeds with a link-less entry and Project Gutenberg style catalogs with a single-book sub-feed now sync (Issue #96).
    • KOReader's plugin manager can delete OPDS Plus's settings and cover cache with "Disable plugin and delete settings" and "Delete plugin and settings". Downloaded books are kept (Issue #82).

    Changed

    • Updated GitHub Actions dependencies for checkout and release publishing.

    Notes

    • Covers cached by earlier versions are downloaded once more after updating, because the cache file naming changed.

    Thanks

    Special thanks to these contributors for their work in this release cycle:

    • @cardoso42 (Kindle cover cache, #87)
    • @demrom (stable cover cache keys, #97)
    • @439qi (local hostnames, #95)

    Full changelog: https://github.com/greywolf1499/opds_plus.koplugin/blob/main/CHANGELOG.md

  4. v1.2.02026-03-19 · 2026-03-19 14:10 UTC
    查看更新说明

    OPDS Plus v1.2.0

    This release includes merged PRs, issue resolutions, and new user-facing settings since v1.1.0.

    [!IMPORTANT] Upgrade method for existing users: This release is based on a complete plugin rewrite. To avoid stale files and update issues, remove the old opds_plus.koplugin directory entirely, then install the new release fresh.

    Added

    • Book Info Dialog for at-a-glance book metadata with improved cover handling.
    • Direct dispatcher actions for:
      • OPDS Plus: Sync all catalogs
      • OPDS Plus: Force sync all catalogs
    • Cover pipeline improvements with disk-backed cache and lifecycle-safe image loading.
    • New Cover Settings:
      • Prefer Large Covers (quality-first source selection)
      • Enable Cover Cache toggle
      • Advanced cache controls: max size, TTL, and manual cache clear

    Changed

    • Refactored debug architecture to standardize logging through shared utilities.
    • Extended state-manager usage across UI menu components.
    • Removed obsolete/dead code and simplified some loader internals.
    • Updated GitHub Actions dependencies for checkout and artifact workflows.

    Fixed

    • Gesture registration failures (Issue #58).
    • Duplicate PDF entries in results (Issue #57).
    • Book info dialog stability issues, including filename capture timing and cover widget behavior.

    Thanks

    Special thanks to these contributors for their work in this release cycle:

    • Michael Cummings (@kodermike)
    • Gavin Mogan (@halkeye)

    Documentation

    Full changelog: https://github.com/greywolf1499/opds_plus.koplugin/blob/main/CHANGELOG.md

  5. v1.1.02025-11-18 · 2025-11-18 17:32 UTC
    查看更新说明

    OPDS Plus v1.1.0 - Polish & Performance Release

    This release focuses on polishing the user experience, fixing bugs discovered during real-world testing, and optimizing space utilization across all device sizes.

    🎯 Highlights

    ✨ Better Text Display

    • Titles and authors now show ellipsis (…) when truncated
    • Smart word-aware truncation for cleaner breaks
    • UTF-8 safe for international characters

    📐 Optimized Layouts

    • List View: Dynamically fits maximum items with minimal whitespace
    • Grid View: Automatically maximizes rows based on screen height
    • Works perfectly on small e-readers, tablets, and large desktop displays
    • No more wasted space at the bottom of pages!

    🐛 Bug Fixes

    • Fixed release package containing nested directories
    • Fixed crashes in Grid Layout and Border settings menus
    • Fixed %% appearing in confirmation messages
    • Fixed version display in About dialog
    • Fixed text truncation crashes

    🔧 Developer Features

    • Debug Mode Toggle: Enable verbose logging when troubleshooting
    • Version Display: Now shown in settings menu
    • Cleaned up excessive logging for better performance

    📦 Installation

    1. Download opds_plus.koplugin.zip from assets below
    2. Extract to your KOReader plugins directory:
      • Linux/Mac: ~/.config/koreader/plugins/
      • Android: /sdcard/koreader/plugins/
      • Kindle: /mnt/us/koreader/plugins/
    3. Restart KOReader
    4. Access via: File Manager → Menu → OPDS Plus Catalog

    ⚙️ Settings

    All settings accessible via: OPDS Plus Catalog → Settings

    • Display Mode: Switch between List and Grid views
    • List View Settings: Cover size presets (Compact/Regular/Large/Extra Large)
    • Grid View Settings: Layout presets, borders, and styling
    • Font & Text: Customize fonts, sizes, colors
    • Developer: Toggle debug mode for troubleshooting

    🔄 Upgrading from v1.0.0

    Simply replace the plugin directory with the new version. All your settings and catalogs will be preserved.

    🙏 Acknowledgments

    Thanks to everyone (myself, so far) who tested v1.0.0 and provided feedback! This release addresses all reported issues and includes several UX improvements based on real-world usage.


    Full Changelog: https://github.com/greywolf1499/opds_plus.koplugin/blob/main/CHANGELOG.md

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    OPDS Plus Banner

    GitHub release (latest by date) GitHub all releases GitHub Platform

    OPDS Plus - Enhanced OPDS Browser for KOReader

    Version: 1.2.0

    OPDS Plus is a feature-rich enhancement of KOReader's built-in OPDS catalog browser, providing visual book cover displays, multiple viewing modes, and extensive customization options for browsing online book catalogs.

    ✨ Features

    📚 Enhanced Catalog Browsing

    • Visual Book Covers: Browse catalogs with book cover images displayed alongside titles
    • Dual View Modes: Switch between List View and Grid View layouts
    • Multiple Display Options: Customize how books are presented
    • Book Info Dialog: Open an at-a-glance details dialog with improved cover handling
    • Sync Gesture Actions: Trigger sync-related actions directly from configured gestures
    • Cover Quality + Cache: Improved cover rendering pipeline with disk-backed caching

    🖼️ List View

    • Book covers displayed alongside title and author information
    • Adjustable cover sizes with presets (Compact, Regular, Large, Extra Large)
    • Custom size option (5-25% of screen height)
    • Clean, readable layout optimized for e-readers

    📊 Grid View

    • Display books in a grid layout for visual browsing
    • Flexible column options (2-4 columns)
    • Layout presets: Compact (4 cols), Balanced (3 cols), Spacious (2 cols)
    • Customizable grid borders:
      • No Borders: Clean, borderless grid
      • Hash Grid: Shared borders in a # pattern
      • Individual Tiles: Each book has its own border
    • Adjustable border thickness (1-5px) and color (Light Gray, Dark Gray, Black)

    🎨 Customization Options

    • Font Selection: Choose from KOReader's built-in fonts or your custom fonts
    • Independent Font Settings: Separate customization for titles and details
      • Font family selection
      • Font size adjustment
      • Bold/regular weight toggle
      • Color options (Dark Gray, Black)
    • Same Font Mode: Option to use matching fonts for consistent appearance
    • Persistent Settings: All preferences are saved between sessions

    📖 Default Catalogs Included

    • Project Gutenberg
    • Standard Ebooks
    • ManyBooks
    • Internet Archive
    • textos.info (Spanish)
    • Gallica (French)

    📸 Screenshots

    List ViewGrid View
    List View with CoversGrid View with Covers
    Classic list view with cover thumbnailsImmersive grid layout for browsing
    View OptionsCustomization
    View Toggle MenuSettings Menu
    Switch views instantly via the menuExtensive customization options

    📥 Installation

    Method 1: Manual Installation (Recommended)

    1. Download the latest release:

      • Go to the Releases page
      • Download the opds_plus.koplugin.zip file from the latest release
    2. Extract to KOReader plugins directory:

      The location depends on your device:

      • Kindle/Kobo/Android: Extract to /koreader/plugins/
      • Linux: Extract to ~/.config/koreader/plugins/
      • Windows: Extract to %APPDATA%/koreader/plugins/
      • macOS: Extract to ~/Library/Application Support/koreader/plugins/

    For complete platform-specific install/upgrade paths, see the KOReader wiki: KOReader Installation/Upgrading

    The archive should extract to create an opds_plus.koplugin directory containing all plugin files.

    1. Restart KOReader: Close and reopen KOReader to load the plugin

    2. Verify installation:

      • Open KOReader's File Browser
      • Tap the menu icon (⋮ or ≡)
      • You should see "OPDS Plus Catalog" in the menu

    Method 2: Git Clone (For Developers)

    # Navigate to KOReader plugins directory
    cd ~/.config/koreader/plugins/  # Adjust path for your system
    
    # Clone the repository
    git clone https://github.com/greywolf1499/opds_plus.koplugin.git
    
    # Restart KOReader
    

    Troubleshooting Installation

    • Ensure the directory is named exactly opds_plus.koplugin
    • Verify all .lua files are present in the plugin directory
    • Check that you have write permissions to the plugins directory
    • If the plugin doesn't appear, check KOReader's crash.log for errors

    🚀 Usage

    Accessing OPDS Plus

    1. Open KOReader's File Browser
    2. Tap the menu icon (⋮ or ≡)
    3. Select OPDS Plus Catalog

    Browsing Catalogs

    First Time Setup
    • The plugin comes with several default catalogs pre-configured
    • Simply select a catalog to start browsing
    Browsing Books
    1. Select a catalog from the list
    2. Navigate through categories and books
    3. Tap a book to view details and download options
    4. Downloaded books are saved to your configured download directory

    Customizing Settings

    Access settings from: OPDS Plus Catalog → Settings

    Display Mode
    • List View: Traditional list with covers on the left
    • Grid View: Visual grid layout with larger covers
    List View Settings
    • Cover Size: Choose from presets or set custom size
      • Compact (8%): More books per page
      • Regular (10%): Default balanced view
      • Large (15%): Easier to see cover details
      • Extra Large (20%): Maximum cover visibility
      • Custom: Fine-tune between 5-25%
    Cover Settings (New in 1.2.0)
    • Prefer Large Covers:
      • Enabled: prioritizes higher-quality cover sources when available.
      • Disabled: prefers faster thumbnail sources.
    • Enable Cover Cache:
      • Enabled: reuses previously downloaded covers.
      • Disabled: fetches covers from the server each time.
    • Advanced Cache Controls:
      • Cache Size (MB)
      • Cache TTL (minutes)
      • Clear Cover Cache
    Grid View Settings
    • Grid Layout:

      • Compact: 4 columns, more books visible
      • Balanced: 3 columns, good middle ground (default)
      • Spacious: 2 columns, larger covers
      • Custom: Manual column selection (2-4)
    • Grid Borders:

      • Style: None, Hash Grid, or Individual Tiles
      • Thickness: 1-5 pixels
      • Color: Light Gray, Dark Gray, or Black
    Font & Text Settings
    • Use Same Font for All: Match title and detail fonts
    • Title Settings:
      • Font family
      • Font size (12-24pt)
      • Bold/regular weight
    • Information Settings:
      • Font family (independent if same font disabled)
      • Font size (10-20pt)
      • Bold/regular weight
      • Color: Dark Gray or Black

    Sync Actions & Settings (New in 1.2.0)

    • Direct Sync Actions:
      • Sync all catalogs
      • Force sync all catalogs
    • Gesture Integration:
      • Actions are registered in KOReader's dispatcher as:
        • OPDS Plus: Sync all catalogs
        • OPDS Plus: Force sync all catalogs
      • These can be assigned in KOReader's gesture/action configuration.
    • Catalog Sync Controls:
      • Per-catalog sync and force-sync via catalog long-press actions.
      • Sync folder selection.
      • Maximum sync download count.
      • Filetype filtering for sync downloads.

    Book Info Dialog (New in 1.2.0)

    • Tapping a book now opens a book info dialog before download.
    • Dialog includes cover preview and at-a-glance metadata for faster decisions.
    • Download actions are available directly from the dialog flow.

    Adding Your Own Catalogs

    1. Go to OPDS Plus Catalog → Settings → Manage Catalogs
    2. Select Add Catalog
    3. Enter:
      • Catalog name
      • OPDS feed URL
    4. The new catalog will appear in your catalog list

    🔧 Technical Details

    Requirements

    • KOReader v2025.10, minimum
    • Network connectivity for browsing online catalogs

    File Structure

    opds_plus.koplugin/
    ├── _meta.lua
    ├── main.lua
    ├── opds_plus_version.lua
    ├── config/
    │   ├── settings.lua
    │   └── settings_menu.lua
    ├── core/
    │   ├── browser_context.lua
    │   ├── catalog_manager.lua
    │   ├── download_manager.lua
    │   ├── feed_fetcher.lua
    │   ├── navigation_handler.lua
    │   ├── parser.lua
    │   ├── state_manager.lua
    │   └── sync_manager.lua
    ├── models/
    │   └── constants.lua
    ├── services/
    │   ├── cover_cache.lua
    │   ├── cover_loader.lua
    │   ├── http_client.lua
    │   ├── image_loader.lua
    │   └── kavita.lua
    ├── ui/
    │   ├── browser.lua
    │   ├── utils.lua
    │   ├── dialogs/
    │   │   ├── book_info_dialog.lua
    │   │   ├── download_builder.lua
    │   │   ├── menu_builder.lua
    │   │   └── settings_dialogs.lua
    │   └── menus/
    │       ├── cover_menu.lua
    │       ├── grid_menu.lua
    │       └── list_menu.lua
    └── utils/
        ├── button_dialog_builder.lua
        ├── catalog_utils.lua
        ├── debug.lua
        ├── file_utils.lua
        ├── result.lua
        └── url_utils.lua
    

    Settings Storage

    Settings are stored in: <KOReader data dir>/settings/opdsplus.lua

    This file contains:

    • Catalog list
    • Download history
    • Display preferences
    • Font settings
    • Grid layout configuration

    🤝 Contributing

    Contributions are welcome! Here's how you can help:

    1. Report Bugs: Open an issue describing the problem
    2. Suggest Features: Share your ideas via GitHub issues
    3. Submit Pull Requests:
      • Fork the repository
      • Create a feature branch
      • Make your changes
      • Submit a PR with a clear description

    Development Guidelines

    • Follow KOReader's Lua coding conventions
    • Test on multiple screen sizes if possible
    • Ensure compatibility with existing OPDS catalogs
    • Document new features in the README

    📝 Known Issues & Limitations

    • Cover loading depends on catalog providing image URLs
    • Some OPDS feeds may not include cover images
    • Large catalogs may take time to load initially
    • Grid view performance varies with device capabilities

    🙏 Credits

    • Original OPDS Plugin: KOReader development team
    • Enhancement Development: greywolf1499
    • Built upon the excellent KOReader e-reader software

    📜 License

    This plugin is released under the same license as KOReader: GNU Affero General Public License v3.0 (AGPL-3.0)

    See the LICENSE file for details.

    📞 Support

    🔄 Version History

    See CHANGELOG.md for detailed version history.


    Enjoy enhanced OPDS browsing with OPDS Plus! 📚✨