3 COPS stands for Calibre OPDS (and HTML) Php Server.
5 COPS output is valid the unofficial OPDS validator :
6 http://opds-validator.appspot.com/
10 In my opinion Calibre is a marvelous tool but is too big and has too much
11 dependencies to be used for its content server.
13 That's the main reason why I coded this OPDS server. I needed a simple
14 tool to be installed on a small server (Seagate Dockstar in my case).
16 I initially thought of Calibre2OPDS but as it generate static file no
19 Later I added an simple HTML catalog that should be usable on my Kobo.
21 So COPS's main advantages are :
22 * No need for many dependencies.
23 * No need for a lot of CPU or RAM.
25 * Search is available.
26 * With Dropbox / owncloud it's very easy to have an up to date OPDS server.
29 If you want to use the OPDS feed don't forget to specify feed.php at the end of your URL.
33 1. PHP 5.3 or 5.4 with GD image processing & SQLite3 support.
34 2. A web server with PHP support. I only tested with various version of Nginx.
35 Other people reported it working with Apache and Cherokee.
36 3. The path to a calibre library (metadata.db, format, & cover files).
38 On any Debian base Linux you can use :
39 aptitude install php5-gd php5-sqlite
43 1. Extract the zip file to a folder in web space (visible to the web server).
44 2. If a first-time install, copy config_local.php.example to config_local.php
45 3. Edit config_local.php to match your config.
46 4. If needed add other configuration item from config_default.php
48 If you choose to put your Calibre directory inside your web directory then you
49 will have to edit /etc/nginx/mime.types to add this line :
50 application/epub+zip epub;
56 Please see https://github.com/seblucas/cops/issues for open issues
60 Please read https://github.com/seblucas/cops/wiki
64 It's tested by me and many other users but there's still some little bugs around ;)
68 * All localization informations come from Calibre2OPDS (http://calibre2opds.com/)
69 * Locale message handling is inspired of http://www.mind-it.info/2010/02/22/a-simple-approach-to-localization-in-php/
70 * str_format function come from http://tmont.com/blargh/2010/1/string-format-in-php
71 * All icons come from Font Awesome : http://fortawesome.github.io/Font-Awesome/
72 * Thanks to all testers
74 External libraries used :
75 * JQuery : http://jquery.com/
76 * Magnific Popup : http://dimsemenov.com/plugins/magnific-popup/
77 * Php-epub-meta : https://github.com/splitbrain/php-epub-meta with some modification by me
78 https://github.com/seblucas/php-epub-meta
79 * TbsZip : http://www.tinybutstrong.com/apps/tbszip/tbszip_help.html
80 * DoT.js : http://olado.github.io/doT/index.html
81 * PHPMailer : https://github.com/PHPMailer/PHPMailer
82 * js-lru : https://github.com/rsms/js-lru
84 = Copyright & License =
86 COPS - 2012-2013 (c) Sébastien Lucas <sebastien@slucas.fr>
88 See COPYING and file headers for license info