Your comments

Will be available in 2.0.3 using:


http://YOUR_IP:2202/public-api/preferences


Will return something like:


{
  "isFilesProviderEnabled" : true,
  "isComicsProviderEnabled" : true,
  "isBooksProviderEnabled" : true,
  "isUserManagementEnabled" : false,
  "libraryPortNumber" : 2202,
  "comicWidth" : 170,
  "comicHeight" : 245,
  "comicsPaginationNumber" : 50,
  "bookWidth" : 160,
  "bookHeight" : 230,
  "booksPaginationNumber" : 30,
  "theme" : "default",
  "reverseProxyPrefix" : "",
  "isOpdsProviderEnabled" : true,
  "bypassSingleRootFolder" : true,
  "enableFolderMetadataDisplay" : true
}


I agree, I added this feature to my backlog (as usual, no ETA).


In the meantime, you can add UNC paths by editing directly the Json preferences files after having stopped Ubooquity.


Example of comic section settings containing an UNC path:


"comicsPaths" : [ {
    "pathString" : "C:\\Users\\Tom\\Libraries\\Demo\\Comics",
    "userName" : [ "Tom", "Kim", "William" ]
  },
  {
    "pathString" : "\\\\terebi\\Documents\\Comics",
    "userName" : [ "Tom", "Kim", "William" ]
  }  ],

Note the escaping of the backslahes: 2 for 1, 4 for 2.

Your call.

I don't mind letting it live if you want.

Let me know.

The "bypass single root folder" feature works by sending a HTTP 302 (temporary redirection) that sends your browser directly to your single folder.

Hence the translation from /comics/ to /comics/1/.


I don't understand why the protocol changes due to this redirection (when tested on my side, I kept the HTTPS).

For now, I think the problem is linked to your proxy settings somehow. But let me know if you have any additional info/ideas, we'll keep digging.


(NB: naming your root folder "comics" is not a problem, Ubooquity uses ids for folder (in your case: "1")).

File size will be displayed in version 2.0.3.

I have managed to reproduce the problem.

To work around it, make sure you don't have a slash at the end of your admin page URL.

(and let me know if this worked or not)


Bad:

localhost:2203/admin/

Good:

localhost:2203/admin

I'll try to find a way to prevent that.

Slashes management in HTML/JS code has been a problem for me for a long time. :/


The API is behind the same authentication layer as all the other pages served by Ubooquity, which is not basic auth. Hence the issue.


I added basic auth support when I implemented the OPDS feed, because the OPDS specification requires it. But for everything else, authentication is done the following way:


  1. Ubooquity serves a login pages, wich contains a server "salt" and the server current time
  2. The user enters his crendentials
  3. The browser sends the login and the hashed password (generated with the user's password, the server salt and the server time) to the server
  4. The server returns the home page, with a cookie containg a user token
  5. The token is included by the browser with each subsequent request

This way, the password is never sent in plain text over the network. (the token can still be intercepted and access gained, but it's still better than exposing the paswword)


I prefer to restric basic auth to the OPDS feed, because it's really unsafe when you don't use HTTPS.

So I'll try to quickly add an authentication API that can be used by external clients.

It will require some hashing work on client side to protect the password the way I described earlier, but I can provide code samples for that.