/Librum

The Librum client application

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Librum

Librum is an application designed to make reading enjoyable and straightforward for everyone.

It's not just an e-book reader. With Librum, you can manage your own online library and access it from any device anytime, anywhere. It has features like note-taking, AI tooling, and highlighting, while offering customization to make it as personal as you want!

Librum also provides free access to over 70,000 books and personal reading statistics while being free and completely open source.


Join us on Discord

Preview

Setup and manage your own online library

HomeScreenDark


A simple and modern interface

image


Add your books to collections, tag them, and sort them in any way you want

folders_dark


Customize Librum to make it personal to you

image


Where can I get Librum?

Simply go to https://librumreader.com to download Librum.

If you want to build Librum from source, follow the instructions here.


Contact

For questions, you can reach us under: help@librumreader.com
For business related contact, reach out to us here: contact@librumreader.com


Donations

Donations make it possible for us to cover our server costs and allow us to make investments into new areas of development.
If you would like to support us, check out: https://librumreader.com/contribute/donate or become a Github sponsor!

As a team of opensource developers we rely on donations to continue working on projects like Librum. Your help is greatly appreciated.


Translations

Librum is currently available in:

  • English
  • German
  • Russian
  • Ukrainian
  • Indonesian
  • Italian
  • Korean
  • Portuguese
  • Mandarin

If you want to translate Librum to another language, follow the steps below:

  • Download this file
  • Rename the file to contain your language's suffix, e.g. "librum_ru.ts" for Russian or "librum_de.ts" for German
  • Download the translation software (Qt Linguist) either for Windows from here or using the Qt Installer
  • Now start Qt Linguist, open the downloaded file, set the target language to the language you want to translate to and start translating. (Check out this guide for a quick overview of Qt Linguist)

Once you are done, create a pull request or open up an issue with your new translation file!
If you run into any problems, need guidance or have questions, feel free to reach out to us at: contact@librumreader.com


Notes:

  • Make sure that your translations are approximately the same length as the original text
  • Please carefully check for spelling mistakes (including punctuation and capitalization)

Documentation

For documentation go to Librum's GitHub-wiki


Contributing

If you'd like to contribute, check out: https://librumreader.com/contribute

If you are interested in contributing, feel free to contact us on either:

  1. Discord (m_david#0631)
  2. Email (contact@librumreader.com)

We are following a pull request workflow where every contribution is sent as a pull request and merged into the dev/develop branch for testing.
Please make sure to run clang format, keep to the conventions used throughout the application and ensure that all tests pass, before submitting any pull request.

Self-hosting

To self-host Librum you need to run Librum-Server locally (instructions can be found here) and tell the client to use your self-hosted server by:

  • (Linux) Editing ~/.config/Librum-Reader/Librum.conf and setting selfHosted=true and serverHost to your server's url (e.g. serverHost=https://127.0.0.1:5001)
  • (Windows) Opening the registry editor (Press Win + R and search for regedit), navigating to HKEY_CURRENT_USER\Software\Librum-Reader\Librum and setting selfHosted=true and serverHost to your server's url

Make sure to run the application before following the steps above, to generate the required files.


Details

Supported platforms

Part of Librum's aim is to work on any platform. No matter where you are or which device you use, you can always continue your book with Librum, as it is cross platform.
We support:

  • Windows
  • GNU/Linux
  • MacOS
  • IOS (Coming Soon)
  • Android (Coming Soon)

Supported formats

Librum is the best choice for all kinds of books, since Librum supports all major book formats
including:

  • PDF
  • EPUB
  • CBZ (Comic books)
  • FB2
  • TIFF
  • Mobi
  • XPS
  • Images

And many more!


Features

Librum's objective is to make your reading more productive; to that end, we provide you with a variety of features that you can access via a simple and straightforward interface.
These features include:

  • A modern e-reader
  • A personalized and customizable online library
  • Book meta-data editing
  • A free in-app bookstore with more than 70,000 books
  • Book syncing across all of your devices
  • Highlighting
  • Bookmarking
  • Text search
  • Unlimited customization
  • Fine-grained organization through Librum's folder system
  • Note-taking (Coming Soon)
  • TTS (Coming Soon)
  • Personalized reading statistics (Coming Soon)

Want a new feature? Feel free to leave a feature request ticket!



Build Guide

Follow this guide to build Librum from source.

For GNU/Linux

Prerequisites

Installation

The installation is straight forward, just follow the steps below:


  1. Clone the repository.
    git clone https://github.com/Librum-Reader/Librum.git --recursive
  2. Step into the cloned project folder.
    cd Librum
  3. Create the build folder and step into it.
    mkdir build-Release
    cd build-Release
  4. Run cmake.
    cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=Off -DCMAKE_PREFIX_PATH=<path/to/Qt> ..
    Set CMAKE_PREFIX_PATH to your Qt installation path. Installing Qt via the online installer usually installs it to /home/<name>/Qt/<version>/gcc_64
  5. Build the project
    cmake --build . -j $(nproc)
  6. Install Librum
    cmake --install .

Troubleshooting

Here are solutions to some common errors. If your error is not listed here, please open an issue.

  • Error: Failed to find required Qt component "Quick".

  • Solution: Install the libGL mesa dev package, on ubuntu its sudo apt install libgl1-mesa-dev and on fedora its sudo dnf install mesa-libGL-devel.

  • Error: Could not load the qt platform plugin "xcb" even though it was found

  • Solution: Install the libxcb-cursor-dev, on ubuntu its sudo apt install libxcb-cursor-dev


For Windows

Prerequisites

Installation

To build Librum on windows, run the following commands in the Powershell:


  1. Clone the repository.
    git clone https://github.com/Librum-Reader/Librum.git --recursive
  2. Step into the cloned project folder.
    cd Librum
  3. Create the build folder and step into it.
    mkdir build
    cd build
  4. Run cmake.
    cmake -DBUILD_TESTS=Off -DCMAKE_PREFIX_PATH=<path/to/qt> ..
    Set CMAKE_PREFIX_PATH to your Qt installation path. Installing Qt via the online installer usually installs it to <Drive>\\Qt\\<version>\\msvc2019_64
  5. Build the project
    cmake --build . --config Release
  6. Run the app
    ./librum

Additional Info

Here are some things to keep in mind during the build process.

  • Make sure to add cmake and the Qt binaries to the PATH environment variable
  • You need Visual Studio 2019, newer versions will not work
  • For the Qt installation, you only need to choose "MSVC 2019 64-bit", you can untick everything else to reduce the download size

For MacOS

Prerequisites

Installation

The installation is straight forward, just follow the steps below:


  1. Clone the repository.
    git clone https://github.com/Librum-Reader/Librum.git --recursive
  2. Step into the cloned project folder.
    cd Librum
  3. Create the build folder and step into it.
    mkdir build-Release
    cd build-Release
  4. Run cmake.
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=Off -DCMAKE_PREFIX_PATH=<path/to/Qt> ..
    Set CMAKE_PREFIX_PATH to your Qt installation path. Installing Qt via the online installer usually installs it to /Users/<name>/Qt/<version>/macos
  5. Build the project
    cmake --build . -j $(nproc)
  6. Install Librum
    cmake --install

Note: Make sure to add /usr/local/lib to your DYLIB path, for MacOS to find the installed libraries by exporting DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib.