Code Monkey home page Code Monkey logo

rvolz / bicbucstriim Goto Github PK

View Code? Open in Web Editor NEW
410.0 33.0 74.0 10.49 MB

BicBucStriim streams books, digital books. It fills a gap in the functionality of current NAS devices that provide access to music, videos and photos -- but not books. BicBucStriim fills this gap and provides web-based access to your e-book collection.

License: Other

Ruby 2.48% PHP 80.93% JavaScript 2.38% CSS 1.45% HTML 6.33% Gherkin 3.95% Less 0.28% Dockerfile 0.06% Twig 2.13%
digital-books nas calibre ebooks library

bicbucstriim's Introduction

BicBucStriim

BicBucStriim streams books, digital books. It was primarily designed to fill a gap in the functionality of NAS devices that provide access to music, videos and photos -- but not books. BicBucStriim fills this gap and provides web-based access to your e-book collection.

BicBucStriim is a simple PHP application that runs in a PHP environment provided by the NAS. It assumes that you manage your e-book collection with Calibre. The application reads the Calibre data and publishes it in HTML form. To access the e-book catalog you simply point your ebook reader to your NAS, select one of your e-books and download it.

Notice

This repository is not actively developed anymore. Please look at forks like https://github.com/mikespub-org/rvolz-BicBucStriim for more recent versions.

Features & Issues

  • shows the most recent titles of your library on the main page

  • there are sections for browsing through book titles, authors, tags and series

  • individual books can be downloaded

  • information about your favourite authors can be added (links, picture)

  • global search

  • speaks multiple languages, e.g. Dutch, English, French, German, Galician, Italian

  • is ready for mobile clients

  • provides login-based access control

  • users can be restricted by book language and/or tag

  • provides OPDS book catalogs for reading apps like Stanza

  • has an admin GUI for configuration

  • no support for Calibre's virtual libraries

  • only simple custom columns supported

Troubleshooting

If you encounter problems, use the installation test to check your environment. Invoke this test by navigating to http://<NAS address>/bbs/installcheck.php. This test checks for certain problems, which users experienced in the past.

Requirements

BicBucStriim publishes Calibre libraries via a web server, so it requires some modules to be pre-installed on your machine. The required modules are common ones for NAS, however you should check first if your device supports them:

  • PHP >= 7.4
  • Web server with PHP, including support for mcrypt and sqlite3
  • Optional: if PHP module intl (phpX-intl) is installed, book languages will be displayed

License

BicBucStriim itself is licensed under the MIT license, for the licenses of the libraries used see the file NOTICE.

(The MIT License)

Copyright (c) 2012-2020 Rainer Volz

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

bicbucstriim's People

Contributors

alexandregz avatar bitnikrbt avatar blowk avatar chouchen avatar codelingobot avatar cweiske avatar dependabot[bot] avatar draky50110 avatar fbettocchi avatar jampot5000 avatar josefglatz avatar mapero avatar mikespub avatar murdos avatar orthographic-pedant avatar ozzieisaacs avatar ramsnerm avatar rvolz avatar tocamadera avatar xro avatar yanvigdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bicbucstriim's Issues

Enhancement: Epub metadata update like Calibre Content Server

As we know, Calibre only updates the metadata stored in the EPUB files with the metadata from its database when exporting a book via "Send to device" or when downloading from the native Calibre Content Server.
That means that the metadata in the files downloaded from the BicBucStriim app does not replicate the information in the database and might even be incorrect.
It would therefor be nice to implement on the fly metadata update for EPUB downloads.
A PHP class doing just that can be found here:
https://github.com/splitbrain/php-epub-meta

Probably a longshot...:) - Email Books?

Is there any way you could add the ability to email books from the web interface? I usually get books to my kindle by the send to address....Right now I download and then email them but having this built in would be great. It could be fairly easy if you entered the details of your gmail account and just used their smtp relay (could probably limit it to just that). This may be beyond the scope of what you are looking to do, but figured I would throw it out there.

This is a great piece of software that has an excellent user interface. Thank you for all your hard work. Thanks.

Synology Package - Enhancements

A few enhancements before I release a Synology SPK for this cool software please:

  • Fix French translation Acceuil -> Accueil
  • Fix typo Passwort when attempting to download an ebook protected by password
  • Put a clear warning when openbase_dir restriction is in effect so the user will know he has something to do to fix this
  • Tag latest versions or put it in the download section on GitHub so it can be downloaded easily

That's really minor but currently prevents me to release the SPK.

Thanks, hope this will be fixed soon

wrong URL in tagDetailsSlice

To enable paging trough a list of books with the same tag:

In index.php:963 the url should be:

'url' => 'tags/'.$id,

instead of

'url' => 'tag/'.$id,

Error loading page on the /bbs page

Hello to All!
I installed BicBucStriim and everything looks fine so far. Only problem: I need to add " index.php "to the URL. If I just try http:///bbs I can see the nice user interface but clickin on a button only reports "error loading page". Using http:///bbs/index.php does show some text user interface but I can see my books. Any Ideas?
I have added " :/volume1/ebook "to my open_basedir. Calibre database is directly located in /volume1/ebook.

Thank you!

VoRe

Custom Columns

I am using bbs with calibre to run a library of shared (physical) books between a group of parents. I have assigned the books extra columns in calibre to keep track of who owns which book and who currently has it. I know this is outside the initial scope of bbs/calibre but I haven't seen any library software that beats this combo for what I am doing.. So my question is: Will there be any way to display extra info when you have clicked on a book? I don't need these to be sort options but it would be perfect if the info was displayed when looking at the book details page..

Thanks for the amazing work..
-Josh

Downloading on Android

I was trying to download some books (pdf and mobi) on android through chrome and everything seems to work....except when the actual download happens, it just shows the file as and never actually downloads anything. I have tried this in two different devices all running Android Jelly Bean 4.2.1. Any ideas?

Multiple Users

Enhancement:
Let the admin create users with a different password.

For example i host this for my family.
I want some security, so i would like to have a different password for the users.
One password for downloads is not so handy.

Generating thumbnails with one button

I use BicBucStriim on two synology j model's and it takes some time when you browse the books due to creating the thumbnails.

I found this the easies to click on a label and wait for the thumbnails to be created, click on another label and wait again and so on untill BicBucStriim has created all the thumbnails.

It would be perfect if there would be an option to create all the thumbnails from your complete calibre library with one button in the admin menu.

No thumbnails and downloadlink

Maybe I have something setup wrong, but thumbnails are not showing up and there is also no downloadlink available. Titles are shown etc.
I have tried 3 scenario's:
calibre db in root of folder where books are stored; /share/HDA_DATA/Data/EbookBibliotheek
db in separate folder; /share/HDA_DATA/Data/CalibreLibrary
db inside folder which is part of bookfolder; /share/HDA_DATA/Data/EbookBibliotheek/CalibreLibrary,

Can it have to do with rights of a process?

Installation

Make it possible to install with git, thus making updates as simple as a git pull.

Preview of existing formats

Hi Rainer,

Over the weekend, I used BicBucStriim with various devices (incl. iPhone 4S, 5, iPad 2,3 and Kindle 4th gen.), and there is one thing I would like to suggest to you:

As you know, it could be hard to navigate through the books if you have a device with no touch navigation - as I have e.g. with the Kindle 4 (no touch, just buttons).
So it would be great to see, in which formats (epub, mobi...) a book is available. Otherwise you have to navigate through the end, just to see under download that there is no xx fomat, which you'd like to have.

I have made a quick scribble, to show you what I mean.
Preview of available formats (in this case, it's "epub" and "mobi"):

Preview file formats

What do you think about such an enhancement?

feature request

Would it be possible to have the possibility to define multiple passwords to allow download. Then i could grant someone download, without having to change the 'default' download password. after that remove the additional temporary password...

Wrong Redirect after Password-Input

Hi,
Maybe this is a bug?

My settings:

  • bbs folder is in "web"
  • open_basedir on synology added: :/volume1/Books/Calibre Library
  • my book folder is outside "web", here: /volume1/Books/Calibre Library
  • on bbs config, i added this as path to Calibre library: /volume1/Books/Calibre Library
  • password protection of downloads is enabled

The problem:

  • after typing the password, the browser redirects me to "/web"

Is it because of wrong settings, or is it a bug?
thanks for your help.

Greetings,
BuzzDee

by the way: BicBucStriim is the most fantastic synology app, i have seen for years. great work !

Search issue:- An observation

First of all, Thank you for such a wonderful program. It really is impressive.

An observation..

Example: When I type "biography" (without the quotes) I get search results as expected. But if I type "biography " (again without the quotes) -Note the space after the word - I get a different set of search results. Usually fewer results.

Not a problem to me but my wife often uses autocomplete when typing. This means she will usually get a space inserted after each autocompleted word. As such she is likely to get incomplete search results. She prefers to use autocomplete as much as she can. It is easy enough to hit the backspace button once to delete the space , but it is easy to forget to do that as well.

Question: Is there any way I could configure the search to automatically ignore the final space after the last search term? Or, insert a bit of code that will delete a final space if detected? That latter option is beyond my skills at the moment but I intend to start learning a bit of php programming when I get the time.

And thanks again.

Change series details, sort order

Die Funktion "seriesDetails" gibt momentan (0.9.1) die Bücher einer Reihe in der Reihenfolge wieder, wie sie als ID in der Datenbank gespeichert sind. (bicbucstriim.php - Zeilen 521 bis 531).

In meiner Variante werden die Bücher anhand des Indexes der Serie sortiert, was ich bei Buchreihen durchaus für sinnvoll halte.

Returns a series and the related books function
seriesDetails($id) {
$series = $this->findOne('Series', 'select * from series where id='.$id);
if (is_null($series)) return NULL;
$books = $this->find('Book', 'select BSL.book, Books.* from books_series_link BSL, books Books where Books.id=BSL.book and series='.$id.' order by series_index'); return array('series' => $series, 'books' => $books); }

ODPS

It does not seem to be working, I just get an error page when I try to go to server/bbs/odps

Search form in Home view

Please add the search form in the home view, and make it global search (across books, authors etc.)

htaccess file

In your README.md there is a line:
NOTE: If you don't want to use the directory name bbs simply change the included .htaccess file accordingly

What does this mean?
I can't find a reference to the bbs folder in the file

No thumbnails

In the list of books, none of the thumbnails is showing. When I click a book, the picture is there, am I missing something?

Send to email question

I am using a Synology NAS and I am really interested in the send to email feature in 1.1. I have it installed, but I think it may not be possible to enable this on Synology? I think that PHPMail requires sendmail to be configured. Is this accurate? Is anyone using a Synology and be willing to share configuration steps if it is possible. Thanks.

The configured calibre directory cannot be used

Hi,

I installed BicBucstriim on my Synology NAS. I patched the php open_dir variable with the dir '/volume1/books'. But after trying to save the admin paswoord and calibre library path I get
'The configured Calibre directory cannot be used. Is it really a Calibre directory? Is it readable? Does it exist?'

I copied data.db from the data dir to /volume1/books and I even added the data dir of the application to the php open_dir variable.

I also rebooted the NAS.

Still no luck starting the program.

Anyone with a clue ?

Ben

Browse alphabetical

Please add the ability to not only browse by page, but also by choosing a letter (or number) from a list (maybe split the result screen?)

How to: Update BicBucStriim

Hi,

I am looking forward to the next version (0.9.4 ?) of BicBucStriim.
Is there a HowTo or just a brief explanation how to update from a previous version?
e.g. which files changed, and have to be replaced or replace all files or, run update.php or....whatever.
I think this might be helpful...

Greetings,
BuzzDee

Allign Problem

I encountered an align problem.

I searched for a writer. This writer had a lot of books (4 pages)
When I went to the second page of his books I saw this problem.
"Next" and "Back" (e.g. "volgende" and "Terug" in Dutch) are displayed on top of each other.

See image
3

I used an Safari on an IPad with latest iOS.

Password protect certain books based on tag name

Is it possible to password protect certain books that are not suitable for kids based on tag name?
If only books with tag name 'Not for kids' can only be viewed and downloaded by password.

Should this be easy to integrate?

Invalid OPDS XML

OPDS feed does not validate in http://validator.w3.org/feed.

Invalid XML might be the reason Aldiko Ebook-Reader is crashing on me when browsing BicBuc OPDS feed.

I also discovered that the cover image is not displayed on the books detail page (OPDS), because only the thumbnail URL is supplied but not the image URL.
Missing:

 <link (...) rel="http://opds-spec.org/image"/>

Le programme bloque

Bonjour, si la base de donnée est importante, le programme ne répond plus lorsqu'on clique sur livres ou auteurs, il faudrait fractionner en page de 50 titres par exemple.
Sinon, le programme est super.
Hello, if the database is large, the program stops responding when you click on books or authors, should be split into top 50 titles for example.
Otherwise the program is great.
Hallo, wenn die Datenbank sehr groß ist, reagiert das Programm nicht, wenn man auf Bücher oder Autoren, sollten in Top-50-Titeln zum Beispiel gesplittet werden.
Ansonsten ist das Programm toll.

Sorry for the traduction with google, I'm french.
Is you want, I can try to translate te program in french langage
Have a good day

Books in serie, reading order?

I read mainly sf and fantasy books and most of them are serie books. For example a serie with 12 books (book 1 to book 12 for example).

I find it almost impossible now to see which book comes first in the serie. Hope you can combine this with the metadata request here.

Installing on Linkstation Nas - Optware

I apologize for the amateur question, but I'm really looking forward to using this on a Buffalo Linkstation LS-VL NAS with Optware, however I'm having an issue with the install.

The NAS comes with a preloaded webserver, lighttpd I believe. PHP Version 5.2.10-pl0-gentoo with fastcgi enabled. I've followed the installation, but navigating to http://192.168.1.111:81/bbs results in the below error. I believe this may have something to do with the way the webserver was preinstalled, but I'm not sure where to look. Any help or suggestions would be appreciated!

Warning: require_once(DIR/composer/autoload_real.php) [function.require-once]: failed to open stream: No such file or directory in /www/htdocs/bbs/vendor/autoload.php on line 5

Fatal error: require_once() [function.require]: Failed opening required 'DIR/composer/autoload_real.php' (include_path='.:/usr/share/php5:/usr/share/php') in /www/htdocs/bbs/vendor/autoload.php on line 5

Error loading page

  • At first run, I have a nice error message telling me to install again. Would be nice to be redirected to the admin page at first run
  • In the admin page, each time I try to save settings I get an error: "Error loading page"

Admin password

Thank you for this very handy program. I installed it on my Synology (web directory) and it works grea!

The only question I have is that I am not able to secure the admin page. I did enter a password.

But when I connect tot the webpage (on a different computer) and I want to change the settings via the admin page, teh admin password dialog comes on with a filled in paswordt (with asterixs) . If I just click enter, I will enter the admin page, so everybody can change this. What do i wrong ?

withe regards, Bernard (NL)

Adding metadata

Would it be possible to have the user add metadata to book titles. Like rating, read, want to read, comments etc. Maybe adding a small sqlite db for user metadata would make that possible without having to use the original calibre sqlite db.

Show language of an eBook in the overviews / possibly allow Filtering on Language

Hi,

In the overviews it's not always clear what language a book is in.
I have Dutch, English, German and French books in there.

Sometimes the title is clear, but often not:

"Brown, Dan - Inferno" : Is the same in different languages

Could you:

  • Show the language in the books overview
    like you already do with the book Format (EPUB / MOBI / ...)
    So we can pick the right one for download, email, etc...
  • Possibly allow for filtering on the Language
    Preferably as a secondary filter like:
    Searching for Author "Brown"
    Listing books by Brown, Dan
    Have an option to show books in:
    + all Languages or
    + one specific Language
    With a dropdown list of available Languages
    for books of current author.
    o All
    o nl
    o en

Regards, Martin

Errors in Thumbnail creation

Hi,

I encountered an error in the creation process of the thumbnails:
In admin section, the "Clip thumbnails" button is set to "yes":

The Bug:

  • Some thumbnails are not created
  • No image in Detail-View

Here's a screenshot of the different views:

Thumbnails

In the folder "data", no thumbnail for the relevant book (this case ID 335) exists.

The original cover image in the Calibre Library is an ordinary jpeg file.
Even changing the cover image in Calibre, doesnt affect BicBucStriim!
It's just not created....

Did you encounter this behaviour before, or could you give me some hints how to test this further... ?

Thanks,
BuzzDee

Virtual Libraries

Hi,

Calibre just introduced 'Virtual Libraries' in Version: 0.9.28

     See: http://manual.calibre-ebook.com/virtual_libraries.html

It would be nice if in BBS you could choose a Virtual Library too.
And set one (or NONE) that should be used as default.

Regards, Martin

Scalability of BicBucStriim

Hi Rainer,

There's another thing that comes into my mind, when it comes to the scalability of BicBucStriim.
Can BicBucStriim handle thousands of files without any effects on loading speed, memory leaks or whatever? Well, with some hundreds of books it works quite well now - but what happens if you've got e.g. 10.000 books?

Greetings,
BuzzDee

Login-based system

  1. Drop the current download protection system and replace it with a login-based, multi-user system, making the system more secure for Internet use
  2. A valid login implies automatically download of books, no extra passwords necessary
  3. A poor man's version of virtual libraries: logins can have tag and/or language selections that restrict the books they can view

error loading page @ configuration

Hi, I justed 'installed' BicBusStriim on my nas. (it says v 0.9.2 on the bottom of the page)

When I go to http://nas/bbs I get the configuration screen. But I'm not able to save my settings.
It keeps telling me: 'error loading page' after I've filled in the Calibre library path (being /volume1/ebooks) and hitting 'save'. So I didn't change anything else.

My bbs/data dir is set to '777' so it should be writable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.