Added informations and screenshots to wiki

Ozzieisaacs 2019-02-03 16:29:03 +01:00
parent 1789e3dec0
commit 08314bebd5
55 changed files with 488 additions and 1 deletions

@ -0,0 +1,9 @@
## Command line options
Starting the script with `-h` lists all supported command line options.\
Currently supported are 4 options, which are useful for running multiple instances of Calibre-Web.
`-p path` allows to specify the location of the settings database\
`-g path` allows to specify the location of the google-drive database\
`-c path` allows to specify the location of SSL certfile, works only in combination with keyfile\
`-k path` allows to specify the location of SSL keyfile, works only in combination with certfile

9
Command Line.md Normal file

@ -0,0 +1,9 @@
## Command line options
Starting the script with `-h` lists all supported command line options
Currently supported are 2 options, which are both useful for running multiple instances of Calibre-Web
`"-p path"` allows to specify the location of the settings database
`"-g path"` allows to specify the location of the google-drive database
`"-c path"` allows to specify the location of SSL certfile, works only in combination with keyfile
`"-k path"` allows to specify the location of SSL keyfile, works only in combination with certfile

177
Configuration.md Normal file

@ -0,0 +1,177 @@
# Runtime Configuration Options
The configuration can be changed as admin in the admin panel under "Basic Configuration" and "UI Configuration"
## Basic Configuration:
Location of Calibre database:\
The location of a valid metadata.db file as created by the Calibre program. The File has to be on a mounted drive of the server running calibre-Web (for setup with Google Drive please take a look in the corresponding chapter). You only enter the path, no special care has to be taken about spaces or Non-ASCII characters. The must not be included in apostrophes. "/" or "\" work as seperators. The name metadata.db is not allowed as part of the path.
Example: /folder with space
Server Port:\
Changes the port Calibre-Web is listening, changes take effect after pressing submit button. To reach the Calibre-Web instance afterwards you have to change the port manually in your browser
### (Optional) SSL Configuration
For configuration of calibre-web as SSL Server go to the Config page in the Admin section. Enter the certfile- and keyfile-location, optionally change port to 443 and press submit.
Afterwards the server can only be accessed via SSL. In case of a misconfiguration (wrong/invalid files) both files can be overridden via command line options
-c [certfile location] -k [keyfile location]
By using "" as certfile/keyfile locations the server runs as non SSL server again. The correct file path can be entered on the Config page afterards. After the next restart without command line options the changed file paths are applied.
### Update Channel
Calibre-Web provides 2 types of update. The Stable channel updates you less frequent from stable release to stable release. All releases are tested on a good base and are made for nromal day use. The stable channel is the default setting *)\
The nightly mode includes new features latest bugfixes, and of course newset bugs. It's only recommended to use the nightly channel if you suffer from a certain bug fixed or if you want to be on the leading edge of technology.
**\*) Due to a unexpected renaming of downloaded Zip-Files the release tag will be published later, to give everybody time to update to an updater which can handle with the naming convention of Github.**
### Logfile Configuration
You can set the loglevel of the integrated logfiles. Default is INFO, which is recommende for normal day use. DEBUG gives you more informations, especially during converting books and sending e-mails. WARNING and ERROR are less noisy as all other settings and create almost now entries. The logfiles are rotating automatically after 10kbytes of logged informations are reached. The 2 old versions are backuped.\
You can specifiy a different name and different location for the logfile. logfile.log creates a logfile with this name in the Calibre-Web folder, where c:\bücher\log.log creates a logfile with the name log.log in the "bücher" folder on drive "c:". Please make sure Calibre-Web has write access to the folder you specify.
### Feature Configuration
Enable public registration:\
Tick to enable public user registration. Users can then register with the Calibre-Web instance on their on with a valid email adress. In the SMTP Server section valid domains for registrations can be limited.
Prerequisites: The SMTP Server setup has to be completed.
Enable anonymous browsing:\
Tick to allow not logged in users to browse the catalog, anonymous user permissions can be set as admin ("Guest" user)
Enable uploading:\
Tick to enable uploading of PDF, epub, FB2, TXT, Mobi, AZW, AZW3, HTML, RTF, ODT, DJVU, PRC, DOC, DOCX, CBR, CBZ, and CBT files. If imagemagick library is be installed covers can be extracted from some of the uploaded file formats.
Enable remote login ("magic link"):\
Tick to enable remote login, i.e. a link that allows user to log in via a different device.
### External binaries
You can choose to use calibre's ebook converter to convert ebooks from one format to another. Please choose the corresponding option. In path to convertertool the path and name of the file ebook-converter (part of calibre) has to be entered. (On Linux usualy /opt/calibre/ebook-convert, for windows it's usually c:\program files\calibre\ebook-convert.exe). Calibre offers a lot of options to modify the behavior of the ebook-converter, the options can be entered in the E-Book converter settings.\
The Kindlegen converter is *\***DEPRECATED**\**, will be removed in a later version and is no longer recommended for usage.
Please enter the path and filename in the field "Path to convertertool", if you wan to use it anyway (e.g. /opt/kindlegen). Please make sure that kindlegen has the excecution flag set.
### Using Google Drive integration
Calibre Calibre library (metadata.db) can be located on a Google Drive. Additional optional dependencys are necessary to get this work. Please install all optional requirements by executing `pip install --target vendor -r optional-requirements.txt`
To use google drive integration, you have to use the google developer console to create a new app. https://console.developers.google.com.
1. After login create a project:
![Dashboard](images/gdrive/dashboard.png)
2. Choose a name and save the project:
![Create project](images/gdrive/create_project.png)
3. Activate the API for the created project by clicking on enable APIs and services or API library
![Activate API](images/gdrive/activate_api.png)
4. Choose Google Drive API from the listed Apps
![API Library](images/gdrive/library.png)
5. Enable the Google Drive API by clicking on enable
![Enable Gdrive](images/gdrive/gdrive_enable.png)
6. Create credentials for the API
![API enabled Dashboard](images/gdrive/api_enabled_dashboard.png)
7. Click on create credentials in the following screen:
![API enabled Dashboard](images/gdrive/create_credentials.png)
8. First you need to enter a domain (this is the adress, if you want to access your server from the internet) for the gdrive callbacks:
![Domain verification](images/gdrive/verify_domain.png)
9. Optional:If you want to use the "watch metadata.db function" you have to verify your domain with google. In this case, please press the search console link first, finish this procedure and enter the domain in this popup afterwards and save\
9. Otherwise please enter your domain name and click on enter
![Domain verification](images/gdrive/domain_verify_screen.png)
10. Go to the Credentials tab and choose OAuth Client ID
![credentials](images/gdrive/credentials.png)
11. Click on Configure consent screen:
![Configure Consent screen](images/gdrive/consent_screen.png)
12. Enter\
your e-mail adress,\
the applications name,\
the domain you entered in the verify domain section\
and add scope for '../auth/drive':
![Setup Credentials](images/gdrive/setup_credentials_oauth.png)
13. Choose the app type: Web-application, enter in the field 'Authorized redirect URIs' the complete domain adress with the callback path: CALIBRE_WEB_URL/gdrive/callback\
E.g.: For A https connection to example.com where Calibre-Web is located in the folder 'test' you have to enter:\
https://example.com/test//gdrive/callback
![Web application](images/gdrive/web_app.png)
14. Google is now presenting your client ID and your client secret. We just close the popup, we download the informations.
![Setup Finished](images/gdrive/setup_finished.png)
15. Now we download the informations in json format by clicking on the download button on the overview page
![Download credentials](images/gdrive/finished_overview.png)
16. Download json file and place it in `calibre-web` directory, with the name `client_secrets.json`
The Drive API should now be setup and ready to use, so we need to integrate it into Calibre-Web. This is done as described below:\
1. Open config page (here shown during initial setup, can also be done later)
2. Enter the location that will be used to store the metadata.db file locally, and to temporary store uploaded books and other temporary files for upload ("Location of Calibre database"). The metadata.db file has to exist and should be consitent with the books stored on Google Drive.
2. Tick Use Google Drive\
![Inital config](images/gdrive/inital_config.png)
3. Click the "Submit" button. If done during inital config, please login to Calibre-Web and go to admin section, Basic config. Login should be done to the outside adress of your instance, because you are redirected from Google to this address during authentication process.
4. Now select Authenticate Google Drive
![Authenticate Google](images/gdrive/authenticate_gdrive.png)
5. This should redirect you to Google. You are warned the app isn't verified and you have to show advanced options and click on the "Go to ... unsafe" button. After allowing it to use your Drive, it redirects you back to the previous config page of your Calibre-Web instance.
![Google login](images/gdrive/google_login.png)
![Allow authenticate](images/gdrive/google_allow.png)
6. Select the folder that is the root of your calibre library on Gdrive ("Google drive Calibre folder")
![Select Google Drive folder](images/gdrive/google_return.png)
7. Click the "Submit" button
8. Google Drive should now be connected and be used to get images and download Epubs. The metadata.db is stored in the calibre library location. Upon Upload of new books the calibre library folder acts as temporary folder before the final upload to Google Drive.
#### Google Drive Optional configuration
If your Calibre-Web is using https, it is possible to add a "watch" to the drive. This will inform us if the metadata.db file is updated from outside and allows us to update our calibre library accordingly.
Additionally the public adress your server uses (e.g.https://example.com) has to be verified in the Google developer console. After this is done, please wait a few minutes, then
9. Open config page
10. Click enable watch of metadata.db
11. Note that this expires after a week, so you need manually refresh it
## UI Configuration:
Title:\
The title of the instance of Calibre-Web can be changed (usefull if you are having more than on instance running). The name is shown in the upper left corner of the webpage.
Books per page:\
Limits the number of book covers shown on one page (and the number of books loading during the infinite scrolling mode). To prevent the infinite scrolling mode set the "Books per page" to a number displayed on one page in your browser. In this case you will see pagination informations on the bootom of the page (only valid for the Standard Theme)
No. of random books:\
Limits the number of books showning up in the random books section. To deactivate the feature untick the "Show random books in detail view" on the user's settings page.
Theme:\
Currently Calibre-Web supports two theme, the Standard ligh one, and the dark Caliblur! plex like theme.
Regular expression for ignoring columns and Link read/unread status to Calibre column:\
If you having a bool custom column in Calibre you can use it as a "global" read/unread status (only usefull in single user environments) In this case you can select this column in the Link read status. After saving the Read/Unread selection on each book is read from this column and also saved to thi field in the calibre-database. Furthermore you should Enter this column name to the "Regular expression for ignoring columns", so the column isn't showing up twice in Calibre-Web.\
Example: ".\*" would exclude all custom columns, "Read" only the column with the name column, "^My\scol.\*" all Columns starting with "My col"
Regular expression for title sorting:\
Calibre stores internally the title and a "sorted title". Title often starting with articles like "A" in english, or "Die/Der/Das" in german, which make no sense to sort after, therfore all of the listed words in these field are ignored for sorting the title. The default is taken from a german Calibre program. For french it should be something like "^(Le|La)\s"
Tags for Mature Content:\
Sometimes you want to hide certain books from some users (like your kids). In this case you have to add certain categories to this books, afterwards you can this categories in the field here (comma seperated if more than one). Calibre-Web then prevents access to books having these categories for useres not having the "show mature content" option ticked (Users role settings).
### Default settings and visibilitys for new users
The options selected in this section define the access rights and visibilitys new users having upon registering, and the default settings for newly created users by the admin (can be changed during initial creation, or later by admins).
The visibilitys (except mature content settings) can be changed by the users themselves later on. The Guest user (User for anonymous access) is an except from this, only admins can change the visibilities for the Guest user.
### Using Goodreads integration
This menu is only chowing up if the optional dependencies "goodreads" and "python-Levenshtein" are installed. You need to create an API key with goodreads to use the feature. Currently showing authors informations are supported (view books by author)
![Goodreads](images/goodreads.png)

34
FAQ.md Normal file

@ -0,0 +1,34 @@
Installations problems
Lost Admin password
Invalid SSL configuration
Mass add books
Arrange and fill Shelfs
Backup Settings
Link Read Status to calibre custom column
Working OPDS-Reader
Download File / Cover not found problems
Epubs not working in reader
Virtual Libs
How to handle Multiple calibre-libs
Login Kobo
Non ASCII Filename
Concurrent access (calibre and calibre-web)
Malicious code in epub reader
Registering

37
Home.md

@ -1 +1,36 @@
Welcome to the Calibre-Web wiki!
## Screenshots
Full graphic setup - showing initial setup page on first startup
![Initial config page](images/initial_config.png)
Main page of Calibre-Web
![Main page](images/main_screen.png)
Main page of Calibre-Web in alternative Caliblur! Theme
![Main page in Caliblur! theme](images/caliblur_main_screen.png)
Detailed book view:
![Book details](images/Book_details.png)
Unique capabliltiy to edit books's metadata:
![Edit books](images/Book_edit.png)
Advanced search for finding exactly the books you are searching for:
![Advanced search](images/advanced_search.png)
Clear Admin section:
![User settings](images/admin_page.png)
Users can modify their Calibre-Web experience:
![User settings](images/User_settings.png)
4 diffrent ebook readers are available
* Epub:
![Epub reader](images/Reader_epub.png)
* Comics (cbr, cbz cbt are supported):
![Comic reader](images/Reader_comic.png)
* Txt file reader and pdf reader
OPDS Viewer are supported:
![Marvin list](images/opds_marvin3_list.png)
![Chunky list](images/opds_chunky.png)

57
ReverseProxy.md Normal file

@ -0,0 +1,57 @@
## Reverse Proxy
Reverse proxy configuration examples for apache and nginx to use Calibre-Web:
nginx configuration for a local server listening on port 8080, mapping Calibre-Web to /calibre:
```
http {
upstream calibre {
server 127.0.0.1:8083;
}
server {
client_max_body_size 20M;
location /calibre {
proxy_bind $server_adress;
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /calibre;
}
}
}
```
*Note: If using SSL in your reverse proxy on a non-standard port (e.g.12345), the following proxy_redirect line may be required:*
```
proxy_redirect http://$host/ https://$host:12345/;
```
Apache 2.4 configuration for a local server listening on port 443, mapping Calibre-Web to /calibre-web:
The following modules have to be activated: headers, proxy, rewrite.
```
Listen 443
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "C:\Apache24\conf\ssl\test.crt"
SSLCertificateKeyFile "C:\Apache24\conf\ssl\test.key"
<Location "/calibre-web" >
RequestHeader set X-SCRIPT-NAME /calibre-web
RequestHeader set X-SCHEME https
ProxyPass http://localhost:8083/
ProxyPassReverse http://localhost:8083/
</Location>
</VirtualHost>
```
## (Optional) SSL Configuration
For configuration of calibre-web as SSL Server go to the Config page in the Admin section. Enter the certfile- and keyfile-location, optionally change port to 443 and press submit.
Afterwards the server can only be accessed via SSL. In case of a misconfiguration (wrong/invalid files) both files can be overridden via command line options
-c [certfile location] -k [keyfile location]
By using "" as file locations the server runs as non SSL server again. The correct file path can than be entered on the Config page. After the next restart without command line options the changed file paths are applied.

22
Service.md Normal file

@ -0,0 +1,22 @@
## Start Calibre-Web as service under Linux with systemd
Create a file "cps.service" as root in the folder /etc/systemd/system with the following content:
```[Unit]
Description=Calibre-Web
[Service]
Type=simple
User=[Username]
ExecStart=[path to python] [/PATH/TO/cps.py]
WorkingDirectory=[/PATH/TO/cps.py]
[Install]
WantedBy=multi-user.target
```
Replace the user and ExecStart with your user and foldernames.
`sudo systemctl enable cps.service`
enables the service.

12
Setup Mailserver.md Normal file

@ -0,0 +1,12 @@
# Mailserver Setup
For sending E-Mails to your Kindle, Pocketbook, Smartphone or Tablet you need to setup a e-mailserver in Calibre-Web. The corresponding settings are found in the admin section "Change SMTP settings".\
SMTP hostname is the mail-sending server, normally something like smtp.xxx.com. For correct setting of Port and Encryption, please look at the manual of your mail provider. SMTP login and SMTP password are the credentials you are using for sending e-mails. In the from e-mail please enter whatever you want to be shown in the "from field" on the receiver side (Some servers seem to be a bt pitty about what is entered here, you plain email-address should always work).
After finishing the settings you can check if the configuration is correct by hitting "Save setings and send Test E-Mail". Please check afterwards in the task section if the e-mail could be send successfully. If not you can change the loglevel to DEBUG and take a deeper look in the communication-packets and error messages exchanged (logfile calibre-web.log in the root folder of your installation).
The admin user has per default no Kindle-Email address entered, please enter a valid receiving E-Mail address into the corresponding field (admin section user admin, user's own profile settings page).
## Allowed domains for registering
If public registration is enabled you can limit the domains of e-mail adresses which are allowed for registering. Per default all domains (\*.\*) are allowed. You can use "\*" for limiting to any number of characters and "?" for limiting to exact one character. If you want to limit the domains, please make sure to delete/edit the "\*.\*" entry. Entries can be deleted by clicking on the trashcan symbol and edited by clicking on the entry.

110
Setup Reverse Proxy.md Normal file

@ -0,0 +1,110 @@
## Reverse Proxy
Reverse proxy configuration examples for apache, nginx and IIS (on Windows) to use Calibre-Web:
### nginx
nginx configuration for a local server listening on port 8080, mapping Calibre-Web to /calibre:
```
http {
upstream calibre {
server 127.0.0.1:8083;
}
server {
client_max_body_size 20M;
location /calibre {
proxy_bind $server_adress;
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /calibre;
}
}
}
```
*Note: If using SSL in your reverse proxy on a non-standard port (e.g.12345), the following proxy_redirect line may be required:*
```
proxy_redirect http://$host/ https://$host:12345/;
```
### Apache 2.4
Apache 2.4 configuration for a local server listening on port 443, mapping Calibre-Web to /calibre-web:
The following modules have to be activated: headers, proxy, rewrite.
```
Listen 443
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "C:\Apache24\conf\ssl\test.crt"
SSLCertificateKeyFile "C:\Apache24\conf\ssl\test.key"
<Location "/calibre-web" >
RequestHeader set X-SCRIPT-NAME /calibre-web
RequestHeader set X-SCHEME https
ProxyPass http://localhost:8083/
ProxyPassReverse http://localhost:8083/
</Location>
</VirtualHost>
```
### Internet Information Service (IIS) 10
First you need to install:
The URL rewrite extension:\
http://www.iis.net/downloads/microsoft/url-rewrite
and the application request routing:\
https://www.iis.net/downloads/microsoft/application-request-routing
Enable the proxy stuff:\
![Enable Proxy step1](images/iis_1.png)
![Enable Proxy step2](images/iis_2.png)
![Enable Proxy step3](images/iis_3.png)
Go to your site and start URL-Rewriting:
![url rewrite step1](images/iis_4.png)
![url rewrite step1](images/iis_5.png)
Add the server variable:
![server variable](images/iis_6.png)
(The local is comming on it's own) with UNDERSCORE and excact Name:
"HTTP_X-SCRIPT_NAME"
Then add Reverse Proxy Rules:
![proxy rules step1variable](images/iis_7.png)
![proxy rules step2](images/iis_8.png)
Add the ip address and port of your calibre-web instance: e.g. http://127.0.0.1:8083
Change the rule afterwards:
![proxy rules step2](images/iis_9.png)
Enter the folder you want to have calibre-web in (/calibre-web instead of ^might also works). End the name without a slash, otherwise a call to /calibre-web would go to nowhere. And Add the servervariable to the request and give it the same name as the folder above with starting slash (/calibre-web in my example, again without trailing slash)
![proxy rules step2](images/iis_10.png)
The rewrite rule should look like this:
![proxy rules step2](images/iis_11.png)
My web.config file looks like this:
![proxy rules step2](images/iis_12.png)
The crossed out sections aren't needed, they are leftovers from my experiments.

22
Setup Service on Linux.md Normal file

@ -0,0 +1,22 @@
## Start Calibre-Web as service under Linux with systemd
Create a file "cps.service" as root in the folder /etc/systemd/system with the following content:
```[Unit]
Description=Calibre-Web
[Service]
Type=simple
User=[Username]
ExecStart=[path to python] [/PATH/TO/cps.py]
WorkingDirectory=[/PATH/TO/cps.py]
[Install]
WantedBy=multi-user.target
```
Replace the user and ExecStart with your user and foldernames.
`sudo systemctl enable cps.service`
enables the service.

BIN
images/Book_details.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

BIN
images/Book_edit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

BIN
images/Reader_comic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1005 KiB

BIN
images/Reader_epub.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

BIN
images/User_settings.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
images/admin_page.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
images/advanced_search.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
images/gdrive/dashboard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
images/gdrive/library.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
images/gdrive/web_app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

BIN
images/goodreads.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

BIN
images/iis_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
images/iis_10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
images/iis_11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
images/iis_12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
images/iis_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
images/iis_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
images/iis_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
images/iis_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
images/iis_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
images/iis_7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
images/iis_8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
images/iis_9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
images/initial_config.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
images/main_screen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB

BIN
images/opds_chunky.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
images/opds_marvin3_list.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 KiB