DotOPDS is an OPDS server designed for large libraries like full archive of lib.rus.ec or Flibusta.
- Full-text search through Lucene.net
- Plugins support
- Support for external converters
- OPDS catalog localization
- Basic authentication support
- Works on Windows (.NET 4.5.2) and Linux (mono 4.2.3) (not tested on OS X)
- Cover and annotation extraction (experimental)
- Web interface support (not included, see example here)
BookProvider.Inpx
- import.inpx
filesFileFormat.Fb2
- extracts annotation and cover from fb2 books
- Pdf tree import - import
.pdf
files with genres tree from filesystem
Download latest release and extract somewhere. Now create default configuration file:
DotOPDS init -c path/to/config
-c
parameter is optional and can be used with any command.
By default configuration stored in
%APPDATA%\DotOPDS\default.json
on Windows
and in $HOME/.config/DotOPDS/default.json
on Linux.
Now edit configuration file if needed:
{
"port": 8080,
"title": "DotOPDS Library", // OPDS title
"language": "en", // OPDS language
"lazyInfoExtract": false, // should server try to extract cover and annotation from book?
"database": "%APPDATA%/DotOPDS/database", // path to database storage
"web": "", // path to web interface files
"log": {
"level": "info", // log level
"enabled": true, // should server write log to files?
"path": "%APPDATA%/DotOPDS/logs"
},
"authentication": {
"enabled": false, // enable basic authentication
"attempts": 3, // how many wrong auth attempts before ban. Banned ips stored in banned.json near config file
"users": {
"user": "pass"
}
},
"pagination": 10, // how many books per page
"converters": [
{
"from": "fb2", // file extension
"to": "epub",
"command": "Fb2ePub",
"arguments": "{0} {1}" // {0} - from, {1} - to
}
]
}
Import library index from .inpx
file:
DotOPDS import inpx D:\library D:\lib.inpx
To see available import plugins type:
DotOPDS import help
DotOPDS import help inpx # plugin help
Now just start server:
DotOPDS serve
and OPDS will be available at http://localhost:8080/opds
You always can use help
command to get more info.
Use NSSM, Luke!
- support for more file formats (epub)
- Bump version in
appveyor.yml
- Make tag with version number
- Wait for ci build completed and edit draft description
- Publish