This project is read-only.

Trying 2.0

Jan 22, 2014 at 4:48 PM
Thank you very much for this wonderful sw!
Much more simple than any other alternative i have seen. Works like a charm.

I am using the following combination:
  • book library in
  • Webdab to using Windows 7, so I see book library in L:
  • Local PC files for TinyOPDS (thinking about moving that also to ...)
  • Ipad as reader, reaching the PC using Windows 7 wireless hosted network (I use virtual router manager to setup the virtual wifi lan; this is a private local lan). Stanza reader. Opera web browser.
Issues ...
  • documentation has to explain that if [ ] use of UPnP is changed the server has to be killed and re-run. Not enough with stop/start server ...
  • while I can reach "local opds url" both from local PC and as well from routable local lans, and I am able to read the "local web url" from local PC, I am not able to reach the web part from routable local lans (that is, from the IPAD); no firewall blocks, but perhaps TinyOPDS is not answering?
  • cannot configure what ip addresses will be used as "external"; in my case, UPnP does not select anything and without UPnP it is assigned the 3G model public ip, where the 3G dongle answers with the administration of the dongle ... I would like to assing a local lan network address ... (such as the one corresponding to my LAN default gateway or to the virtual wifi lan default gateway ...).
Requests ...
  • could be put an option to allow the user to bind the "external" server IPs to his choice ips?
  • could be extended to read calibre library book metadata.opf and covers?
  • could be extended to manage also pdfs?
Big Thanks!
Jan 23, 2014 at 1:55 AM
Edited Jan 23, 2014 at 1:56 AM
Hi. Thanks for trying and reviewing!

As for the issues:
  • there is no documentation about version 2. I don't have time for the project (and docs) now; project's teammates isn't currently "alive" - didn't hear anything from 'em for a long time :( So, as soon as I get a time, I'll update the docs, of course. But the first goal is to release official ver 2.0
  • looks like UPnP isn't working properly with your router (btw, what is the manufacturer & model?) May be, you need to enable UPnP on the router first. But you may also forward port by yourself, it's very easy (try to google first).
As for your requests:
  • no (or I don't understand your question). "External IP" - it's your PC's (or router's) public IP address (assigned by your ISP DHCP server). You can not assign it yourself.
  • no, no Calibre anymore, sorry! I respect Kovid Goyal as an open source developer but I really hate his software :)
  • definitely no
Jan 23, 2014 at 11:19 AM
Hi here, thanks for your reply also!

A) IP things ... sorry for a long topic ... (by the way, when I had finished I had an idea and found a workaround ...)

TinyOPDS is in a PC that sometimes is conected using wifi to the home lan through a proxy; other times to internet using a wireless 3G dongle (name HAME), UPnP not an option, this HAME behaves like wifi/AP and router - LAN connection via wifi, internet via 3G internet mobile provider; sometimes PC it is not connected to internet nor a LAN. My intention is to use TinyOPDS from Stanza in my Ipad.

When the PC is at home lan, the Ipad also connects to the LAN, and TinyOPDS righly binds its web server to the wifi IP address of the PC (it is a fixed ip, not DHCP), so the IPad sees TinyOPDS. (I saw that TinyOPDS ties itself to the network card that is configured with a gateway ...). PC IP address is then

When I use the wireless 3G dongle, the PC has to be configured as using DCHP, and its wifi netword card receives its IP from the wireless 3G Dongle. TinyOPDS (no UPnP) binds the internal web to the received IP address while the external is the public wireless-3G-dongle address (that is also dynamic as it is provided each time by the mobile internet provider). I can use TinyOPDS with the internal one, but the external corresponds to the management interface of the dongle. So, the way to use it is to set up a hosted network shared internet conection with the received IP address.

But I am trying to set up TinyOPDS without being connected to home lan neither to internet throug the 3G dongle. I switch on the wifi on the PC but the wireless 3G dongle is switched off (as a consequence, main wifi adaptor cannot be linked to the "virtual" wireless hosted network, read later on). How would the Ipad reach the PC? Answer: using the "virtual" wireless hosted network (I use Virtual Router Manager to manage it). So, Microsoft Virtual WiFi Miniport Adapter is on (and virtually "linked" to the wifi transmitter but not to the "logical" wifi network adaptor), minport IP address set to (default when miniport not using shared connection), no default gateway, this adaptor servers as internal router ..., and provides ip to the IPAD (default gateway is PC and Ipad see each other. But ... TinyOPDS binds itself to ... the wifi adaptor if stored configuration had default gateway (even if the network is not alive as it happens when not connected to a valid SSID), or (if the wifi adaptor stored configuration had no default gateway and no DNS) ... It does not bind to (minport) as it has no default gatewey set ... (it is set only when shared connection is on, but to be able to do that the wifi has to be linked to a SSID). So, I wish to be able to bind TinyOPDS to (or better said, to the "miniport adapter", whatever ip address has ... see later).
[I found a workaround ... having off the virtual hosted network, open properties of the miniport, then ip properties, then advanced options ... add default gateway - in my case - that will stick when the virtual hosted network is activated, and TinyOPDS then recognizes the miniport!!!] [note: web browsing from PC to goes perfect; I continue not browsing the web server from the ipad, perhaps the web server, internal, is only answering if client has same ip address as server?] [by the way, I am unsure of how the miniport will react if default gateway is not deleted and it is used for shared connections ...]

How did I before the workaround? Have to have the wifi connected to a network (SSID) (so I need to have the wireless 3G dongle on); Configure the PC wifi adaptor to whatever IP address and default gateway (it is not relevant which ones, better to ones that are not compatible with the dongle). I use and default GW (so that TinyOPDS picks this as internal server address). Then run Virtual Router Manager, so that hosted network shares connection with the wifi adaptor, then the miniport receives IP= (YES, when shared connection is on, network is 137 instead of 173 !!!, not a typo). Now, the IPad receives an IP from the .137 range and .137.1 as gateway, and .137.1 routes to 136.0 .... So the IPad sees the TinyOPDS server (opds protocol, I have not been able to see the web server, I do not know why, I can only imagine that TinyOPDS will not serve web clients out of the internal server address ... There is no firewall between, as I have all those networks configured as not public ...).

So, in relation to internal serving, solution is to be able to bind TinyOPDS to the miniport, without having to recourse to workaround tricks with the miniport ... (perhaps it is better not to "offer" to freely input an IP address, I cannot see any other scenario where current binding rules would not be perfect ...)

In relation to external serving, I have not made other tests. My own configuration at home lan would be to make port forwarding, so client should use my public ip address and router will forward to internal server. TinyOPDS with no use of UPnP (not sure here, cannot test). But in this case, internal server has to be able to answer to clients with not the server ip. So, the best solution here seens to add a box implying ... use as external url same as internal url !!

B) metadata.opf / PDF

The world if full of people using calibre. Keeping its libraries under it. And many people are privately sharing calibre supported libraries (some countries law allow it, some others not). So, people is not always skilled to manage the library but to use it. In this case, I am just a user. So, I run TinyOPDS in two of those. First one, almost 21000 fb2 books; 18000 where processed by right. 3000 where considered as having bad metadata, so they are out of OPDS. Second one, almost 600 mixed epub and pdf books; no bad metadata here but some 300 pdf ones out ot OPDS.

Of course you are free to dislike calibre. I do not care why you are not "in love" with calibre (could be its internal coding, the character of its developer or whatever). Same goes with PDF (not the perfect ebook format). But, it would be a nice service that TinyOPDS would be able to read the calibre created metadata.opf companion to the files that have inside wrong metadata, or to use them for PDF files. In my humble opinion this will only benefit TinyOPDS users by a big bunch, and that would be a good thing to promote TinyOPDS itself. Really, TinyOPDS is marvellous, I decided to try it as seemed so user simply ... I looked to COPS, Calibre2OPDS and Callibre OPDS extractor ... did not went to far as all seemed quite complex ... but seem to be complete ....

Thanks again,
Jan 23, 2014 at 3:19 PM
caspertone2003 , looks like you have a (I can say) kinda very unusual internet connection. I'm sorry but TinyOPDS will not have an "advanced" routing abilities (as Skype for example), it's not a purpose of this app. I've added UPnP support to simplify TinyOPDS usage for inexperienced customers only. I don't have plans (and test facilities - I do have a broadband cable connection) to extend these features.

As for Calibre: first of all, Calibre has own OPDS server (read the docs) so you don't need to use TinyOPDS if you already have Calibre and database. Second, I wrote TinyOPDS especially 'cause I've tried Calibre first - it was unbelievable slow to scan my books archive in huge zip-file.

As for PDFs: this format isn't good for e-reading. I always print PDFs (if I really need it - for example, documentation) on the standard letter paper. My preferable format is fb2 because it very well formalized.
Jan 23, 2014 at 4:25 PM
Thank you for answering.