All Projects → shemanaev → DotOPDS

shemanaev / DotOPDS

Licence: MIT license
Lightweight .NET OPDS server

Programming Languages

C#
18002 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to DotOPDS

Koreader
An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
Stars: ✭ 9,467 (+47235%)
Mutual labels:  opds, fb2
fb2reader
FB2 Reader Firefox Addon
Stars: ✭ 17 (-15%)
Mutual labels:  fb2
fb2-reader
Emacs plugin to read .fb2 and .fb2.zip ebooks.
Stars: ✭ 18 (-10%)
Mutual labels:  fb2
fb2parser
fb2 parser java
Stars: ✭ 26 (+30%)
Mutual labels:  fb2
bookshelf
Ebook management system with S3 compatible storage which provides OPDS feed.
Stars: ✭ 29 (+45%)
Mutual labels:  opds
Foliate
A simple and modern GTK eBook reader
Stars: ✭ 3,150 (+15650%)
Mutual labels:  fb2
Koodo Reader
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux and Web
Stars: ✭ 2,938 (+14590%)
Mutual labels:  fb2
bookr-mod-vita
A book reader for the Vita and Switch. Still a work in progress.
Stars: ✭ 51 (+155%)
Mutual labels:  fb2
habr to fb2
Экспорт избранного хабрахабра в fb2
Stars: ✭ 36 (+80%)
Mutual labels:  fb2
Wedge
可配置的小说下载及电子书生成工具
Stars: ✭ 62 (+210%)
Mutual labels:  fb2
FB2Library
Cross-Platform .NET library for read .FB2 ebook files.
Stars: ✭ 23 (+15%)
Mutual labels:  fb2

DotOPDS: the lightweight OPDS server

DotOPDS is an OPDS server designed for large libraries like full archive of lib.rus.ec or Flibusta.

Features

  • Full-text search through Lucene.net
  • Plugins support
  • Support for external converters
  • OPDS catalog localization
  • Cover and annotation extraction (experimental)
  • Web interface

Getting started

Download latest release and extract somewhere. Copy appsettings.json to appsettings.Production.json and customize it or use any other method to configure ASP.NET Core Application

Settings description:

{
  "Presentation": {
    "DefaultLanguage": "en", // language used to index texts
    "PageSize": 10, // how many items per page to show
    "Title": "DotOPDS Library", // OPDS title
    "LazyInfoExtract": false, // try to extract cover and annotation from book before displaying
    "Converters": [
      {
        "From": "fb2", // file extension
        "To": "epub", // file extension
        "Command": "fb2epub.exe", // path to converter
        "Arguments": "{0} {1}" // {0} - from, {1} - to
      }
    ],
  },
  "IndexStorage": {
    "Path": "./database" // path to database storage
  }
}

Import library index from .inpx file:

DotOPDS import inpx C:\library C:\lib.inpx

To see available import plugins type:

DotOPDS import help
DotOPDS import help inpx # plugin help

Now just start server:

DotOPDS.Server

and OPDS will be available at http://localhost:5000/opds

You always can use help command to get more info.

Docker

Build the image

docker build . -t dotopds

Run the image

docker run -it -p 5000:80 -v databasePath:/app/database dotopds

Manage data in docker

Find container id with docker ps and get into it

docker exec -it CONTAINER_ID /bin/bash

Included plugins

  • BookProvider.Inpx - import .inpx files
  • FileFormat.Fb2 - extract annotation and cover from fb2 books

Preparing release

  • Make tag with version number
  • Wait for ci build completed and edit draft description
  • Publish
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].