Repository files navigation

Libbee

PlatformLicenseStatusliberapay"Buy Me A Coffee"

Libbee is a plugin for KOReader that connects to your Libby / OverDrive account, allowing you to browse your library shelf and download borrowed ebooks directly to your device.


Overview

Libbee brings your public library loans directly into KOReader. With integrated native Adobe ADEPT fulfillment and DRM support, Libbee downloads and decrypts .acsm loan tokens on-device into readable EPUB and PDF files without requiring separate companion plugins or a computer.

Grid ViewList View
Shelf in Grid ViewShelf in List View

Key Features

  • Direct Shelf Access: Browse all active ebook loans from your connected Libby shelf directly within KOReader.
  • On-Device ACSM Fulfillment: Automatically fulfills and decrypts Adobe DRM .acsm loans to standard .epub and .pdf files on the device.
  • In-App Early Returns: Return loans early directly to your library within KOReader to immediately free up loan slots and clean up local files.
  • Automatic Loan Expiration: Automatically removes downloaded book files 1 day after the loan expiration date while preserving reading progress, bookmarks, and highlights.
  • Multi-Library & Multi-Card Support: Seamlessly browse and manage loans across multiple cards and library systems linked to your Libby account.
  • Anonymous Device Activation: Ready to use out of the box with automatic one-time anonymous device activation.
  • Optional ByteBooks Multi-Device Sync: Sign in with a ByteBooks ID to synchronize and read the same loan across multiple authorized devices.
  • Cover and Metadata Display: View book titles, authors, cover art, format badges, and remaining loan duration.
  • Grid and List Views: Flexible shelf presentation tailored for e-ink and high-resolution screens.
  • Offline Shelf Cache: Cached shelf metadata allows offline browsing of currently borrowed titles.
  • In-App Diagnostic Log Viewer: View sync, download, and error logs directly on device without connecting to a computer.
  • Over-The-Air (OTA) Updates: Automatic and manual update checks via GitHub Releases with preservation of user settings.

Documentation

Comprehensive guides, setup instructions, and feature details are available on the Libbee Wiki:


Legal and Privacy

  • Libbee interacts with OverDrive APIs using standard chip identity authentication mechanisms.
  • The plugin accesses only active loans associated with your authorized library cards.
  • Credentials and authentication tokens are stored locally on your device.
  • Use of this plugin is subject to your library system's OverDrive Terms of Service.

Attribution and Credits


This project is licensed under the MIT License. See the LICENSE file for details.

About

A KOReader plugin that gives you access to your Libby bookshelf to download/fullfill loans on your device.

Topics

Resources

Stars

38 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Libbee

PlatformLicenseStatusliberapay"Buy Me A Coffee"

Libbee is a plugin for KOReader that connects to your Libby / OverDrive account, allowing you to browse your library shelf and download borrowed ebooks directly to your device.


Overview

Libbee brings your public library loans directly into KOReader. With integrated native Adobe ADEPT fulfillment and DRM support, Libbee downloads and decrypts .acsm loan tokens on-device into readable EPUB and PDF files without requiring separate companion plugins or a computer.

Grid ViewList View
Shelf in Grid ViewShelf in List View

Key Features

  • Direct Shelf Access: Browse all active ebook loans from your connected Libby shelf directly within KOReader.
  • On-Device ACSM Fulfillment: Automatically fulfills and decrypts Adobe DRM .acsm loans to standard .epub and .pdf files on the device.
  • In-App Early Returns: Return loans early directly to your library within KOReader to immediately free up loan slots and clean up local files.
  • Automatic Loan Expiration: Automatically removes downloaded book files 1 day after the loan expiration date while preserving reading progress, bookmarks, and highlights.
  • Multi-Library & Multi-Card Support: Seamlessly browse and manage loans across multiple cards and library systems linked to your Libby account.
  • Anonymous Device Activation: Ready to use out of the box with automatic one-time anonymous device activation.
  • Optional ByteBooks Multi-Device Sync: Sign in with a ByteBooks ID to synchronize and read the same loan across multiple authorized devices.
  • Cover and Metadata Display: View book titles, authors, cover art, format badges, and remaining loan duration.
  • Grid and List Views: Flexible shelf presentation tailored for e-ink and high-resolution screens.
  • Offline Shelf Cache: Cached shelf metadata allows offline browsing of currently borrowed titles.
  • In-App Diagnostic Log Viewer: View sync, download, and error logs directly on device without connecting to a computer.
  • Over-The-Air (OTA) Updates: Automatic and manual update checks via GitHub Releases with preservation of user settings.

Documentation

Comprehensive guides, setup instructions, and feature details are available on the Libbee Wiki:


Legal and Privacy

  • Libbee interacts with OverDrive APIs using standard chip identity authentication mechanisms.
  • The plugin accesses only active loans associated with your authorized library cards.
  • Credentials and authentication tokens are stored locally on your device.
  • Use of this plugin is subject to your library system's OverDrive Terms of Service.

Attribution and Credits


This project is licensed under the MIT License. See the LICENSE file for details.

About

A KOReader plugin that gives you access to your Libby bookshelf to download/fullfill loans on your device.

Topics

Resources

Stars

38 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Libbee

PlatformLicenseStatusliberapay"Buy Me A Coffee"

Libbee is a plugin for KOReader that connects to your Libby / OverDrive account, allowing you to browse your library shelf and download borrowed ebooks directly to your device.


Overview

Libbee brings your public library loans directly into KOReader. With integrated native Adobe ADEPT fulfillment and DRM support, Libbee downloads and decrypts .acsm loan tokens on-device into readable EPUB and PDF files without requiring separate companion plugins or a computer.

Grid ViewList View
Shelf in Grid ViewShelf in List View

Key Features

  • Direct Shelf Access: Browse all active ebook loans from your connected Libby shelf directly within KOReader.
  • On-Device ACSM Fulfillment: Automatically fulfills and decrypts Adobe DRM .acsm loans to standard .epub and .pdf files on the device.
  • In-App Early Returns: Return loans early directly to your library within KOReader to immediately free up loan slots and clean up local files.
  • Automatic Loan Expiration: Automatically removes downloaded book files 1 day after the loan expiration date while preserving reading progress, bookmarks, and highlights.
  • Multi-Library & Multi-Card Support: Seamlessly browse and manage loans across multiple cards and library systems linked to your Libby account.
  • Anonymous Device Activation: Ready to use out of the box with automatic one-time anonymous device activation.
  • Optional ByteBooks Multi-Device Sync: Sign in with a ByteBooks ID to synchronize and read the same loan across multiple authorized devices.
  • Cover and Metadata Display: View book titles, authors, cover art, format badges, and remaining loan duration.
  • Grid and List Views: Flexible shelf presentation tailored for e-ink and high-resolution screens.
  • Offline Shelf Cache: Cached shelf metadata allows offline browsing of currently borrowed titles.
  • In-App Diagnostic Log Viewer: View sync, download, and error logs directly on device without connecting to a computer.
  • Over-The-Air (OTA) Updates: Automatic and manual update checks via GitHub Releases with preservation of user settings.

Documentation

Comprehensive guides, setup instructions, and feature details are available on the Libbee Wiki:


Legal and Privacy

  • Libbee interacts with OverDrive APIs using standard chip identity authentication mechanisms.
  • The plugin accesses only active loans associated with your authorized library cards.
  • Credentials and authentication tokens are stored locally on your device.
  • Use of this plugin is subject to your library system's OverDrive Terms of Service.

Attribution and Credits


This project is licensed under the MIT License. See the LICENSE file for details.

About

A KOReader plugin that gives you access to your Libby bookshelf to download/fullfill loans on your device.

Topics

Resources

Stars

38 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Libbee

PlatformLicenseStatusliberapay"Buy Me A Coffee"

Libbee is a plugin for KOReader that connects to your Libby / OverDrive account, allowing you to browse your library shelf and download borrowed ebooks directly to your device.


Overview

Libbee brings your public library loans directly into KOReader. With integrated native Adobe ADEPT fulfillment and DRM support, Libbee downloads and decrypts .acsm loan tokens on-device into readable EPUB and PDF files without requiring separate companion plugins or a computer.

Grid ViewList View
Shelf in Grid ViewShelf in List View

Key Features

  • Direct Shelf Access: Browse all active ebook loans from your connected Libby shelf directly within KOReader.
  • On-Device ACSM Fulfillment: Automatically fulfills and decrypts Adobe DRM .acsm loans to standard .epub and .pdf files on the device.
  • In-App Early Returns: Return loans early directly to your library within KOReader to immediately free up loan slots and clean up local files.
  • Automatic Loan Expiration: Automatically removes downloaded book files 1 day after the loan expiration date while preserving reading progress, bookmarks, and highlights.
  • Multi-Library & Multi-Card Support: Seamlessly browse and manage loans across multiple cards and library systems linked to your Libby account.
  • Anonymous Device Activation: Ready to use out of the box with automatic one-time anonymous device activation.
  • Optional ByteBooks Multi-Device Sync: Sign in with a ByteBooks ID to synchronize and read the same loan across multiple authorized devices.
  • Cover and Metadata Display: View book titles, authors, cover art, format badges, and remaining loan duration.
  • Grid and List Views: Flexible shelf presentation tailored for e-ink and high-resolution screens.
  • Offline Shelf Cache: Cached shelf metadata allows offline browsing of currently borrowed titles.
  • In-App Diagnostic Log Viewer: View sync, download, and error logs directly on device without connecting to a computer.
  • Over-The-Air (OTA) Updates: Automatic and manual update checks via GitHub Releases with preservation of user settings.

Documentation

Comprehensive guides, setup instructions, and feature details are available on the Libbee Wiki:


Legal and Privacy

  • Libbee interacts with OverDrive APIs using standard chip identity authentication mechanisms.
  • The plugin accesses only active loans associated with your authorized library cards.
  • Credentials and authentication tokens are stored locally on your device.
  • Use of this plugin is subject to your library system's OverDrive Terms of Service.

Attribution and Credits


This project is licensed under the MIT License. See the LICENSE file for details.

About

A KOReader plugin that gives you access to your Libby bookshelf to download/fullfill loans on your device.

Topics

Resources

Stars

38 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Libbee

PlatformLicenseStatusliberapay"Buy Me A Coffee"

Libbee is a plugin for KOReader that connects to your Libby / OverDrive account, allowing you to browse your library shelf and download borrowed ebooks directly to your device.


Overview

Libbee brings your public library loans directly into KOReader. With integrated native Adobe ADEPT fulfillment and DRM support, Libbee downloads and decrypts .acsm loan tokens on-device into readable EPUB and PDF files without requiring separate companion plugins or a computer.

Grid ViewList View
Shelf in Grid ViewShelf in List View

Key Features

  • Direct Shelf Access: Browse all active ebook loans from your connected Libby shelf directly within KOReader.
  • On-Device ACSM Fulfillment: Automatically fulfills and decrypts Adobe DRM .acsm loans to standard .epub and .pdf files on the device.
  • In-App Early Returns: Return loans early directly to your library within KOReader to immediately free up loan slots and clean up local files.
  • Automatic Loan Expiration: Automatically removes downloaded book files 1 day after the loan expiration date while preserving reading progress, bookmarks, and highlights.
  • Multi-Library & Multi-Card Support: Seamlessly browse and manage loans across multiple cards and library systems linked to your Libby account.
  • Anonymous Device Activation: Ready to use out of the box with automatic one-time anonymous device activation.
  • Optional ByteBooks Multi-Device Sync: Sign in with a ByteBooks ID to synchronize and read the same loan across multiple authorized devices.
  • Cover and Metadata Display: View book titles, authors, cover art, format badges, and remaining loan duration.
  • Grid and List Views: Flexible shelf presentation tailored for e-ink and high-resolution screens.
  • Offline Shelf Cache: Cached shelf metadata allows offline browsing of currently borrowed titles.
  • In-App Diagnostic Log Viewer: View sync, download, and error logs directly on device without connecting to a computer.
  • Over-The-Air (OTA) Updates: Automatic and manual update checks via GitHub Releases with preservation of user settings.

Documentation

Comprehensive guides, setup instructions, and feature details are available on the Libbee Wiki:


Legal and Privacy

  • Libbee interacts with OverDrive APIs using standard chip identity authentication mechanisms.
  • The plugin accesses only active loans associated with your authorized library cards.
  • Credentials and authentication tokens are stored locally on your device.
  • Use of this plugin is subject to your library system's OverDrive Terms of Service.

Attribution and Credits


This project is licensed under the MIT License. See the LICENSE file for details.

About

A KOReader plugin that gives you access to your Libby bookshelf to download/fullfill loans on your device.

Topics

Resources

Stars

38 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Libbee

PlatformLicenseStatusliberapay"Buy Me A Coffee"

Libbee is a plugin for KOReader that connects to your Libby / OverDrive account, allowing you to browse your library shelf and download borrowed ebooks directly to your device.


Overview

Libbee brings your public library loans directly into KOReader. With integrated native Adobe ADEPT fulfillment and DRM support, Libbee downloads and decrypts .acsm loan tokens on-device into readable EPUB and PDF files without requiring separate companion plugins or a computer.

Grid ViewList View
Shelf in Grid ViewShelf in List View

Key Features

  • Direct Shelf Access: Browse all active ebook loans from your connected Libby shelf directly within KOReader.
  • On-Device ACSM Fulfillment: Automatically fulfills and decrypts Adobe DRM .acsm loans to standard .epub and .pdf files on the device.
  • In-App Early Returns: Return loans early directly to your library within KOReader to immediately free up loan slots and clean up local files.
  • Automatic Loan Expiration: Automatically removes downloaded book files 1 day after the loan expiration date while preserving reading progress, bookmarks, and highlights.
  • Multi-Library & Multi-Card Support: Seamlessly browse and manage loans across multiple cards and library systems linked to your Libby account.
  • Anonymous Device Activation: Ready to use out of the box with automatic one-time anonymous device activation.
  • Optional ByteBooks Multi-Device Sync: Sign in with a ByteBooks ID to synchronize and read the same loan across multiple authorized devices.
  • Cover and Metadata Display: View book titles, authors, cover art, format badges, and remaining loan duration.
  • Grid and List Views: Flexible shelf presentation tailored for e-ink and high-resolution screens.
  • Offline Shelf Cache: Cached shelf metadata allows offline browsing of currently borrowed titles.
  • In-App Diagnostic Log Viewer: View sync, download, and error logs directly on device without connecting to a computer.
  • Over-The-Air (OTA) Updates: Automatic and manual update checks via GitHub Releases with preservation of user settings.

Documentation

Comprehensive guides, setup instructions, and feature details are available on the Libbee Wiki:


Legal and Privacy

  • Libbee interacts with OverDrive APIs using standard chip identity authentication mechanisms.
  • The plugin accesses only active loans associated with your authorized library cards.
  • Credentials and authentication tokens are stored locally on your device.
  • Use of this plugin is subject to your library system's OverDrive Terms of Service.

Attribution and Credits


This project is licensed under the MIT License. See the LICENSE file for details.

About

A KOReader plugin that gives you access to your Libby bookshelf to download/fullfill loans on your device.

Topics

Resources

Stars

38 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Libbee

PlatformLicenseStatusliberapay"Buy Me A Coffee"

Libbee is a plugin for KOReader that connects to your Libby / OverDrive account, allowing you to browse your library shelf and download borrowed ebooks directly to your device.


Overview

Libbee brings your public library loans directly into KOReader. With integrated native Adobe ADEPT fulfillment and DRM support, Libbee downloads and decrypts .acsm loan tokens on-device into readable EPUB and PDF files without requiring separate companion plugins or a computer.

Grid ViewList View
Shelf in Grid ViewShelf in List View

Key Features

  • Direct Shelf Access: Browse all active ebook loans from your connected Libby shelf directly within KOReader.
  • On-Device ACSM Fulfillment: Automatically fulfills and decrypts Adobe DRM .acsm loans to standard .epub and .pdf files on the device.
  • In-App Early Returns: Return loans early directly to your library within KOReader to immediately free up loan slots and clean up local files.
  • Automatic Loan Expiration: Automatically removes downloaded book files 1 day after the loan expiration date while preserving reading progress, bookmarks, and highlights.
  • Multi-Library & Multi-Card Support: Seamlessly browse and manage loans across multiple cards and library systems linked to your Libby account.
  • Anonymous Device Activation: Ready to use out of the box with automatic one-time anonymous device activation.
  • Optional ByteBooks Multi-Device Sync: Sign in with a ByteBooks ID to synchronize and read the same loan across multiple authorized devices.
  • Cover and Metadata Display: View book titles, authors, cover art, format badges, and remaining loan duration.
  • Grid and List Views: Flexible shelf presentation tailored for e-ink and high-resolution screens.
  • Offline Shelf Cache: Cached shelf metadata allows offline browsing of currently borrowed titles.
  • In-App Diagnostic Log Viewer: View sync, download, and error logs directly on device without connecting to a computer.
  • Over-The-Air (OTA) Updates: Automatic and manual update checks via GitHub Releases with preservation of user settings.

Documentation

Comprehensive guides, setup instructions, and feature details are available on the Libbee Wiki:


Legal and Privacy

  • Libbee interacts with OverDrive APIs using standard chip identity authentication mechanisms.
  • The plugin accesses only active loans associated with your authorized library cards.
  • Credentials and authentication tokens are stored locally on your device.
  • Use of this plugin is subject to your library system's OverDrive Terms of Service.

Attribution and Credits


This project is licensed under the MIT License. See the LICENSE file for details.

About

A KOReader plugin that gives you access to your Libby bookshelf to download/fullfill loans on your device.

Topics

Resources

Stars

38 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Libbee

PlatformLicenseStatusliberapay"Buy Me A Coffee"

Libbee is a plugin for KOReader that connects to your Libby / OverDrive account, allowing you to browse your library shelf and download borrowed ebooks directly to your device.


Overview

Libbee brings your public library loans directly into KOReader. With integrated native Adobe ADEPT fulfillment and DRM support, Libbee downloads and decrypts .acsm loan tokens on-device into readable EPUB and PDF files without requiring separate companion plugins or a computer.

Grid ViewList View
Shelf in Grid ViewShelf in List View

Key Features

  • Direct Shelf Access: Browse all active ebook loans from your connected Libby shelf directly within KOReader.
  • On-Device ACSM Fulfillment: Automatically fulfills and decrypts Adobe DRM .acsm loans to standard .epub and .pdf files on the device.
  • In-App Early Returns: Return loans early directly to your library within KOReader to immediately free up loan slots and clean up local files.
  • Automatic Loan Expiration: Automatically removes downloaded book files 1 day after the loan expiration date while preserving reading progress, bookmarks, and highlights.
  • Multi-Library & Multi-Card Support: Seamlessly browse and manage loans across multiple cards and library systems linked to your Libby account.
  • Anonymous Device Activation: Ready to use out of the box with automatic one-time anonymous device activation.
  • Optional ByteBooks Multi-Device Sync: Sign in with a ByteBooks ID to synchronize and read the same loan across multiple authorized devices.
  • Cover and Metadata Display: View book titles, authors, cover art, format badges, and remaining loan duration.
  • Grid and List Views: Flexible shelf presentation tailored for e-ink and high-resolution screens.
  • Offline Shelf Cache: Cached shelf metadata allows offline browsing of currently borrowed titles.
  • In-App Diagnostic Log Viewer: View sync, download, and error logs directly on device without connecting to a computer.
  • Over-The-Air (OTA) Updates: Automatic and manual update checks via GitHub Releases with preservation of user settings.

Documentation

Comprehensive guides, setup instructions, and feature details are available on the Libbee Wiki:


Legal and Privacy

  • Libbee interacts with OverDrive APIs using standard chip identity authentication mechanisms.
  • The plugin accesses only active loans associated with your authorized library cards.
  • Credentials and authentication tokens are stored locally on your device.
  • Use of this plugin is subject to your library system's OverDrive Terms of Service.

Attribution and Credits


This project is licensed under the MIT License. See the LICENSE file for details.

About

A KOReader plugin that gives you access to your Libby bookshelf to download/fullfill loans on your device.

Topics

Resources

Stars

38 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages