Kavita and OPDS

Issues with Kavita

I’m trying to connect my Kavita server.

I’ve got a non HTTPS link because Kavita only provides a non HTTPS URL for OPDS which Panels doesn’t seem to support.

It just will not connect to the server, though I can connect just fine.

Any advice/tips please?

Thanks,
Saahil

Are you sure? You can modify the pre-filled https:// to remove the ‘s’ and can also set the port to 80 for unencrypted traffic

Yes very sure, can’t do that on an iOS device since iOS 9. We are on 16.2 now.

That screenshot was taken on an iPhone device running 16.2
What worked for me was copying the url for Kavita and tapping the host entry in Panels a few times quickly to select it, then paste

I agree it’s a bit of a pain and should be more intuitive though

Okay, now try pressing apply.

You can physically type it in but you’ll get an error message telling you that you need to use either an internal ip address or an https connection.

This has been the case since iOS 9.

I fixed it by setting up a reverse proxy and putting an ssl cert on the domain. A lot easier than it sounds with nginx.

Fair enough! My bad! I’m also using Nginx reverse proxy, can confirm it’s frustrating. I’m using cloudflare now which encrypts for you as well as firewalling off all traffic not proxied by Cloudflare. No more let’s encrypt hassles :+1:

1 Like

I’m not that advanced yet. I’ve got a friend who’s going to teach me to firewall when I am back in the UK :grin:

Appreciate you trying to help though mate, thank you.

Hey folks. Sorry for the late reply.

You can remove the s from the URL scheme, but it will only work with IP addresses. Not domains.
TL;DR you can only access your server using an IP address and an insecure connection or a domain name using a secure connection.

On iOS 9, Apple released ATS (App Transport Security) which requires that all connections are made using TLS encryption (HTTPS). Apple Developer Documentation

The system (iOS, not Panels) will reject any non-HTTPS connection.

ATS allows adding specific domains to an allow-list embedded into the app. But given that the users, not us define the OPDS server domains, these can’t be added to the app.
ATS also allows adding an exception for IP addresses in general. No need to provide an allow list. We have enabled this, and it is the only viable option to access it without a secure connection.

Kavita has some guides to configure a reverse proxy with HTTPS.

Komga also has a similar guide, which would work with Kavita without a problem.