OPDS Search shows no query

I am working on a lightweight OPDS server, as komga/kavita is too much for my needs.

I have implemented OPDS v1.2 with OPDS PSE 1.1 and both download and streaming is working great.

My only issue is search. When i search in Panels only /opds/v1.2/search.xml is hit and no query is attached.

Originally i used http://HOST:8382/ as OPDS url, then /opds then /opds/v1.2/catalog but no matter what, search wont return anything. Other apps will hit /opds/v1.2/search?searchTerm= but Panels just hits /opds/v1.2/search.xml and then nothing.

Is search only supported using Komga? If i setup Komga it works without issues.

Search should work with any OPDS server implementing OpenSearch.

First, Panels looks for the link with rel="search" and type="application/opensearchdescription+xml", and follows the link to get the search descriptor. Then parses de search descriptor and looks for the tag OpenSearchDescription containing a url with template. It replaces the key {searchTerms} with the user query, and follows the resulting URL.

Is your search.xml correctly formed?

Can you share it?

Thank you for the reply. I looked at my search again and reimplemented the OpenSearch.

Both search, download and streaming is now working for me.
If you are interested, my repo is at ComicOPDS

1 Like

Awesome! Do you have an icon for your server? I’m happy to add it to the known servers on Panels, so when users connect to it, your icon shows up instead of the generic OPDS icon.
Also, just so you know, we have a #developers channel in our Discord Server. Feel free to swing by.

That would be awesome. I do have an icon but I’m not sure what your size requirements are.

I’ll check out the Discord! It’s not really a thing i normally use.

This works perfectly. Thanks!!

Hey @public_fred

I’ve added ComicOPDS to our list of known servers, and it looks like this:

But, unless I’m missing something, your server is not adding the optional author tags to the feed. OPDS Catalog 1.2 | specs
I haven’t installed the server because I don’t have docker on this machine, but I took a look at the code and I saw the template for the XML does not include those tags.

We use the author name and uri to identify the server. So I made some assumptions and Panels will look for the following author tags to determine that the server is ComicOPDS.

<author>
    <name>ComicOPDS</name>
    <uri>https://gitea.baerentsen.space/FrederikBaerentsen/ComicOPDS</uri>
  </author>

We will include these changes in our next release. If you add those tags to your feed (the root feed is enough, that’s the one Panels uses to identify the server), your users will see the icon and server name appear on Panels.

Let me know if you want to use different values.

That’s true! I forgot to add that. I’ve added it to the latest version version on the root page.

When accessing IP:PORT/ or IP:PORT/opds the author tag will be there.

1 Like

Excellent. Thanks for the update! :raised_hands: