Latest commit

History

497 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

InkBox

About InkBox

InkBox is an open-source, Qt-based eBook reader for Kobo devices. It also comes as an entire native open-source OS and provides support for a number of devices.
InkBox features:

  • Full integrated KoBox X11 subsystem
  • ePUB, PDF, pictures and plain text display support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUBs and PDFs
  • Wi-Fi support and web browser (NetSurf)
  • Encrypted storage with EncFS
  • Fast dictionary & local storage search
  • Dark mode
  • Strict security policy ensuring that only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 10 built-in fonts
  • Enhanced power management
  • Lock screen/passcode option
  • User-friendly experience

How do I install InkBox?

You can download precompiled OS/binaries here and standard Nickel add-ons (outdated, unmaintained) are available here, although support for them has been stopped until further notice. Huge thanks to @fermino for providing free hosting.

On Windows, use balenaEtcher to flash the InkBox image file to the Kobo's SD card.

On Linux and MacOS, balenaEtcher is the easiest option for command-line-reluctant users. Alternatively, you can also open a terminal and check the device node of the Kobo's SD card with fdisk -l. Then dd the image to the SD card like this:

xzcat inkbox.xz | dd of=/dev/mmcblk0

IMPORTANT: InkBox OS does NOT provide ANY WARRANTY at all and we are not responsible if you brick your device with one of the factory images or update bundles available online. See legal information for more details.

How do I upgrade InkBox?

To upgrade InkBox, go to http://23.163.0.39/bundles/inkbox/native/update/ and copy the files for your device onto the .inkbox folder in the USB storage partition.

Note: Prior to version 1.6, InkBox had to be upgraded one version at a time. If your device's factory image ships with version 1.5, you need to closely follow the upgrade instructions here.

If you install the Nickel add-on, unpack the 'base' archive in the root of the onboard storage, not in any subfolder inside it.

I want to learn more about this!

I suggest you visit the wiki. The General information page is a pretty good place to start. Feel free to contribute if you think you have something valuable to add.

How can I contribute?

If you like this project and want to improve it in some way, feel free to fork this repository or one of the subprojects this organization hosts, then make a pull request. I'll be happy to review it when I have time. You can also join the official Matrix space or Discord server if you'd like to chat a bit.

On the other hand, if you don't have the appropriate coding skills or just want to help in some way, feel free to make a donation at my PayPal account or on LiberaPay. I'm a student and motivation has been the only thing that has helped me maintain this project for the last months. Developing an entire operating system on my own was not an easy task. I have time, but I like to spend it wisely.

About

An open-source, Qt-based eBook reader for Kobos (and other devices).

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

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

Latest commit

History

497 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

InkBox

About InkBox

InkBox is an open-source, Qt-based eBook reader for Kobo devices. It also comes as an entire native open-source OS and provides support for a number of devices.
InkBox features:

  • Full integrated KoBox X11 subsystem
  • ePUB, PDF, pictures and plain text display support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUBs and PDFs
  • Wi-Fi support and web browser (NetSurf)
  • Encrypted storage with EncFS
  • Fast dictionary & local storage search
  • Dark mode
  • Strict security policy ensuring that only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 10 built-in fonts
  • Enhanced power management
  • Lock screen/passcode option
  • User-friendly experience

How do I install InkBox?

You can download precompiled OS/binaries here and standard Nickel add-ons (outdated, unmaintained) are available here, although support for them has been stopped until further notice. Huge thanks to @fermino for providing free hosting.

On Windows, use balenaEtcher to flash the InkBox image file to the Kobo's SD card.

On Linux and MacOS, balenaEtcher is the easiest option for command-line-reluctant users. Alternatively, you can also open a terminal and check the device node of the Kobo's SD card with fdisk -l. Then dd the image to the SD card like this:

xzcat inkbox.xz | dd of=/dev/mmcblk0

IMPORTANT: InkBox OS does NOT provide ANY WARRANTY at all and we are not responsible if you brick your device with one of the factory images or update bundles available online. See legal information for more details.

How do I upgrade InkBox?

To upgrade InkBox, go to http://23.163.0.39/bundles/inkbox/native/update/ and copy the files for your device onto the .inkbox folder in the USB storage partition.

Note: Prior to version 1.6, InkBox had to be upgraded one version at a time. If your device's factory image ships with version 1.5, you need to closely follow the upgrade instructions here.

If you install the Nickel add-on, unpack the 'base' archive in the root of the onboard storage, not in any subfolder inside it.

I want to learn more about this!

I suggest you visit the wiki. The General information page is a pretty good place to start. Feel free to contribute if you think you have something valuable to add.

How can I contribute?

If you like this project and want to improve it in some way, feel free to fork this repository or one of the subprojects this organization hosts, then make a pull request. I'll be happy to review it when I have time. You can also join the official Matrix space or Discord server if you'd like to chat a bit.

On the other hand, if you don't have the appropriate coding skills or just want to help in some way, feel free to make a donation at my PayPal account or on LiberaPay. I'm a student and motivation has been the only thing that has helped me maintain this project for the last months. Developing an entire operating system on my own was not an easy task. I have time, but I like to spend it wisely.

About

An open-source, Qt-based eBook reader for Kobos (and other devices).

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

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

Latest commit

History

497 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

InkBox

About InkBox

InkBox is an open-source, Qt-based eBook reader for Kobo devices. It also comes as an entire native open-source OS and provides support for a number of devices.
InkBox features:

  • Full integrated KoBox X11 subsystem
  • ePUB, PDF, pictures and plain text display support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUBs and PDFs
  • Wi-Fi support and web browser (NetSurf)
  • Encrypted storage with EncFS
  • Fast dictionary & local storage search
  • Dark mode
  • Strict security policy ensuring that only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 10 built-in fonts
  • Enhanced power management
  • Lock screen/passcode option
  • User-friendly experience

How do I install InkBox?

You can download precompiled OS/binaries here and standard Nickel add-ons (outdated, unmaintained) are available here, although support for them has been stopped until further notice. Huge thanks to @fermino for providing free hosting.

On Windows, use balenaEtcher to flash the InkBox image file to the Kobo's SD card.

On Linux and MacOS, balenaEtcher is the easiest option for command-line-reluctant users. Alternatively, you can also open a terminal and check the device node of the Kobo's SD card with fdisk -l. Then dd the image to the SD card like this:

xzcat inkbox.xz | dd of=/dev/mmcblk0

IMPORTANT: InkBox OS does NOT provide ANY WARRANTY at all and we are not responsible if you brick your device with one of the factory images or update bundles available online. See legal information for more details.

How do I upgrade InkBox?

To upgrade InkBox, go to http://23.163.0.39/bundles/inkbox/native/update/ and copy the files for your device onto the .inkbox folder in the USB storage partition.

Note: Prior to version 1.6, InkBox had to be upgraded one version at a time. If your device's factory image ships with version 1.5, you need to closely follow the upgrade instructions here.

If you install the Nickel add-on, unpack the 'base' archive in the root of the onboard storage, not in any subfolder inside it.

I want to learn more about this!

I suggest you visit the wiki. The General information page is a pretty good place to start. Feel free to contribute if you think you have something valuable to add.

How can I contribute?

If you like this project and want to improve it in some way, feel free to fork this repository or one of the subprojects this organization hosts, then make a pull request. I'll be happy to review it when I have time. You can also join the official Matrix space or Discord server if you'd like to chat a bit.

On the other hand, if you don't have the appropriate coding skills or just want to help in some way, feel free to make a donation at my PayPal account or on LiberaPay. I'm a student and motivation has been the only thing that has helped me maintain this project for the last months. Developing an entire operating system on my own was not an easy task. I have time, but I like to spend it wisely.

About

An open-source, Qt-based eBook reader for Kobos (and other devices).

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

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

Latest commit

History

497 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

InkBox

About InkBox

InkBox is an open-source, Qt-based eBook reader for Kobo devices. It also comes as an entire native open-source OS and provides support for a number of devices.
InkBox features:

  • Full integrated KoBox X11 subsystem
  • ePUB, PDF, pictures and plain text display support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUBs and PDFs
  • Wi-Fi support and web browser (NetSurf)
  • Encrypted storage with EncFS
  • Fast dictionary & local storage search
  • Dark mode
  • Strict security policy ensuring that only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 10 built-in fonts
  • Enhanced power management
  • Lock screen/passcode option
  • User-friendly experience

How do I install InkBox?

You can download precompiled OS/binaries here and standard Nickel add-ons (outdated, unmaintained) are available here, although support for them has been stopped until further notice. Huge thanks to @fermino for providing free hosting.

On Windows, use balenaEtcher to flash the InkBox image file to the Kobo's SD card.

On Linux and MacOS, balenaEtcher is the easiest option for command-line-reluctant users. Alternatively, you can also open a terminal and check the device node of the Kobo's SD card with fdisk -l. Then dd the image to the SD card like this:

xzcat inkbox.xz | dd of=/dev/mmcblk0

IMPORTANT: InkBox OS does NOT provide ANY WARRANTY at all and we are not responsible if you brick your device with one of the factory images or update bundles available online. See legal information for more details.

How do I upgrade InkBox?

To upgrade InkBox, go to http://23.163.0.39/bundles/inkbox/native/update/ and copy the files for your device onto the .inkbox folder in the USB storage partition.

Note: Prior to version 1.6, InkBox had to be upgraded one version at a time. If your device's factory image ships with version 1.5, you need to closely follow the upgrade instructions here.

If you install the Nickel add-on, unpack the 'base' archive in the root of the onboard storage, not in any subfolder inside it.

I want to learn more about this!

I suggest you visit the wiki. The General information page is a pretty good place to start. Feel free to contribute if you think you have something valuable to add.

How can I contribute?

If you like this project and want to improve it in some way, feel free to fork this repository or one of the subprojects this organization hosts, then make a pull request. I'll be happy to review it when I have time. You can also join the official Matrix space or Discord server if you'd like to chat a bit.

On the other hand, if you don't have the appropriate coding skills or just want to help in some way, feel free to make a donation at my PayPal account or on LiberaPay. I'm a student and motivation has been the only thing that has helped me maintain this project for the last months. Developing an entire operating system on my own was not an easy task. I have time, but I like to spend it wisely.

About

An open-source, Qt-based eBook reader for Kobos (and other devices).

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

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

Latest commit

History

497 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

InkBox

About InkBox

InkBox is an open-source, Qt-based eBook reader for Kobo devices. It also comes as an entire native open-source OS and provides support for a number of devices.
InkBox features:

  • Full integrated KoBox X11 subsystem
  • ePUB, PDF, pictures and plain text display support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUBs and PDFs
  • Wi-Fi support and web browser (NetSurf)
  • Encrypted storage with EncFS
  • Fast dictionary & local storage search
  • Dark mode
  • Strict security policy ensuring that only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 10 built-in fonts
  • Enhanced power management
  • Lock screen/passcode option
  • User-friendly experience

How do I install InkBox?

You can download precompiled OS/binaries here and standard Nickel add-ons (outdated, unmaintained) are available here, although support for them has been stopped until further notice. Huge thanks to @fermino for providing free hosting.

On Windows, use balenaEtcher to flash the InkBox image file to the Kobo's SD card.

On Linux and MacOS, balenaEtcher is the easiest option for command-line-reluctant users. Alternatively, you can also open a terminal and check the device node of the Kobo's SD card with fdisk -l. Then dd the image to the SD card like this:

xzcat inkbox.xz | dd of=/dev/mmcblk0

IMPORTANT: InkBox OS does NOT provide ANY WARRANTY at all and we are not responsible if you brick your device with one of the factory images or update bundles available online. See legal information for more details.

How do I upgrade InkBox?

To upgrade InkBox, go to http://23.163.0.39/bundles/inkbox/native/update/ and copy the files for your device onto the .inkbox folder in the USB storage partition.

Note: Prior to version 1.6, InkBox had to be upgraded one version at a time. If your device's factory image ships with version 1.5, you need to closely follow the upgrade instructions here.

If you install the Nickel add-on, unpack the 'base' archive in the root of the onboard storage, not in any subfolder inside it.

I want to learn more about this!

I suggest you visit the wiki. The General information page is a pretty good place to start. Feel free to contribute if you think you have something valuable to add.

How can I contribute?

If you like this project and want to improve it in some way, feel free to fork this repository or one of the subprojects this organization hosts, then make a pull request. I'll be happy to review it when I have time. You can also join the official Matrix space or Discord server if you'd like to chat a bit.

On the other hand, if you don't have the appropriate coding skills or just want to help in some way, feel free to make a donation at my PayPal account or on LiberaPay. I'm a student and motivation has been the only thing that has helped me maintain this project for the last months. Developing an entire operating system on my own was not an easy task. I have time, but I like to spend it wisely.

About

An open-source, Qt-based eBook reader for Kobos (and other devices).

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

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

Latest commit

History

497 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

InkBox

About InkBox

InkBox is an open-source, Qt-based eBook reader for Kobo devices. It also comes as an entire native open-source OS and provides support for a number of devices.
InkBox features:

  • Full integrated KoBox X11 subsystem
  • ePUB, PDF, pictures and plain text display support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUBs and PDFs
  • Wi-Fi support and web browser (NetSurf)
  • Encrypted storage with EncFS
  • Fast dictionary & local storage search
  • Dark mode
  • Strict security policy ensuring that only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 10 built-in fonts
  • Enhanced power management
  • Lock screen/passcode option
  • User-friendly experience

How do I install InkBox?

You can download precompiled OS/binaries here and standard Nickel add-ons (outdated, unmaintained) are available here, although support for them has been stopped until further notice. Huge thanks to @fermino for providing free hosting.

On Windows, use balenaEtcher to flash the InkBox image file to the Kobo's SD card.

On Linux and MacOS, balenaEtcher is the easiest option for command-line-reluctant users. Alternatively, you can also open a terminal and check the device node of the Kobo's SD card with fdisk -l. Then dd the image to the SD card like this:

xzcat inkbox.xz | dd of=/dev/mmcblk0

IMPORTANT: InkBox OS does NOT provide ANY WARRANTY at all and we are not responsible if you brick your device with one of the factory images or update bundles available online. See legal information for more details.

How do I upgrade InkBox?

To upgrade InkBox, go to http://23.163.0.39/bundles/inkbox/native/update/ and copy the files for your device onto the .inkbox folder in the USB storage partition.

Note: Prior to version 1.6, InkBox had to be upgraded one version at a time. If your device's factory image ships with version 1.5, you need to closely follow the upgrade instructions here.

If you install the Nickel add-on, unpack the 'base' archive in the root of the onboard storage, not in any subfolder inside it.

I want to learn more about this!

I suggest you visit the wiki. The General information page is a pretty good place to start. Feel free to contribute if you think you have something valuable to add.

How can I contribute?

If you like this project and want to improve it in some way, feel free to fork this repository or one of the subprojects this organization hosts, then make a pull request. I'll be happy to review it when I have time. You can also join the official Matrix space or Discord server if you'd like to chat a bit.

On the other hand, if you don't have the appropriate coding skills or just want to help in some way, feel free to make a donation at my PayPal account or on LiberaPay. I'm a student and motivation has been the only thing that has helped me maintain this project for the last months. Developing an entire operating system on my own was not an easy task. I have time, but I like to spend it wisely.

About

An open-source, Qt-based eBook reader for Kobos (and other devices).

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

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

Latest commit

History

497 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

InkBox

About InkBox

InkBox is an open-source, Qt-based eBook reader for Kobo devices. It also comes as an entire native open-source OS and provides support for a number of devices.
InkBox features:

  • Full integrated KoBox X11 subsystem
  • ePUB, PDF, pictures and plain text display support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUBs and PDFs
  • Wi-Fi support and web browser (NetSurf)
  • Encrypted storage with EncFS
  • Fast dictionary & local storage search
  • Dark mode
  • Strict security policy ensuring that only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 10 built-in fonts
  • Enhanced power management
  • Lock screen/passcode option
  • User-friendly experience

How do I install InkBox?

You can download precompiled OS/binaries here and standard Nickel add-ons (outdated, unmaintained) are available here, although support for them has been stopped until further notice. Huge thanks to @fermino for providing free hosting.

On Windows, use balenaEtcher to flash the InkBox image file to the Kobo's SD card.

On Linux and MacOS, balenaEtcher is the easiest option for command-line-reluctant users. Alternatively, you can also open a terminal and check the device node of the Kobo's SD card with fdisk -l. Then dd the image to the SD card like this:

xzcat inkbox.xz | dd of=/dev/mmcblk0

IMPORTANT: InkBox OS does NOT provide ANY WARRANTY at all and we are not responsible if you brick your device with one of the factory images or update bundles available online. See legal information for more details.

How do I upgrade InkBox?

To upgrade InkBox, go to http://23.163.0.39/bundles/inkbox/native/update/ and copy the files for your device onto the .inkbox folder in the USB storage partition.

Note: Prior to version 1.6, InkBox had to be upgraded one version at a time. If your device's factory image ships with version 1.5, you need to closely follow the upgrade instructions here.

If you install the Nickel add-on, unpack the 'base' archive in the root of the onboard storage, not in any subfolder inside it.

I want to learn more about this!

I suggest you visit the wiki. The General information page is a pretty good place to start. Feel free to contribute if you think you have something valuable to add.

How can I contribute?

If you like this project and want to improve it in some way, feel free to fork this repository or one of the subprojects this organization hosts, then make a pull request. I'll be happy to review it when I have time. You can also join the official Matrix space or Discord server if you'd like to chat a bit.

On the other hand, if you don't have the appropriate coding skills or just want to help in some way, feel free to make a donation at my PayPal account or on LiberaPay. I'm a student and motivation has been the only thing that has helped me maintain this project for the last months. Developing an entire operating system on my own was not an easy task. I have time, but I like to spend it wisely.

About

An open-source, Qt-based eBook reader for Kobos (and other devices).

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

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

Latest commit

History

497 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

InkBox

About InkBox

InkBox is an open-source, Qt-based eBook reader for Kobo devices. It also comes as an entire native open-source OS and provides support for a number of devices.
InkBox features:

  • Full integrated KoBox X11 subsystem
  • ePUB, PDF, pictures and plain text display support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUBs and PDFs
  • Wi-Fi support and web browser (NetSurf)
  • Encrypted storage with EncFS
  • Fast dictionary & local storage search
  • Dark mode
  • Strict security policy ensuring that only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 10 built-in fonts
  • Enhanced power management
  • Lock screen/passcode option
  • User-friendly experience

How do I install InkBox?

You can download precompiled OS/binaries here and standard Nickel add-ons (outdated, unmaintained) are available here, although support for them has been stopped until further notice. Huge thanks to @fermino for providing free hosting.

On Windows, use balenaEtcher to flash the InkBox image file to the Kobo's SD card.

On Linux and MacOS, balenaEtcher is the easiest option for command-line-reluctant users. Alternatively, you can also open a terminal and check the device node of the Kobo's SD card with fdisk -l. Then dd the image to the SD card like this:

xzcat inkbox.xz | dd of=/dev/mmcblk0

IMPORTANT: InkBox OS does NOT provide ANY WARRANTY at all and we are not responsible if you brick your device with one of the factory images or update bundles available online. See legal information for more details.

How do I upgrade InkBox?

To upgrade InkBox, go to http://23.163.0.39/bundles/inkbox/native/update/ and copy the files for your device onto the .inkbox folder in the USB storage partition.

Note: Prior to version 1.6, InkBox had to be upgraded one version at a time. If your device's factory image ships with version 1.5, you need to closely follow the upgrade instructions here.

If you install the Nickel add-on, unpack the 'base' archive in the root of the onboard storage, not in any subfolder inside it.

I want to learn more about this!

I suggest you visit the wiki. The General information page is a pretty good place to start. Feel free to contribute if you think you have something valuable to add.

How can I contribute?

If you like this project and want to improve it in some way, feel free to fork this repository or one of the subprojects this organization hosts, then make a pull request. I'll be happy to review it when I have time. You can also join the official Matrix space or Discord server if you'd like to chat a bit.

On the other hand, if you don't have the appropriate coding skills or just want to help in some way, feel free to make a donation at my PayPal account or on LiberaPay. I'm a student and motivation has been the only thing that has helped me maintain this project for the last months. Developing an entire operating system on my own was not an easy task. I have time, but I like to spend it wisely.

About

An open-source, Qt-based eBook reader for Kobos (and other devices).

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages