nextcloud / integration_peertube

Peertube integration in Nextcloud
https://apps.nextcloud.com/apps/integration_peertube
GNU Affero General Public License v3.0
9 stars 1 forks source link

Add ability to use Sepia search API #1

Open Booteille opened 1 year ago

Booteille commented 1 year ago

Hi.

First, thanks for this plugin!

Would it be possible to add an option to use Sepia Search API instead of the one from selected instances?

For more flexibility, that would be even better if we could specify a Search Index url and defaulting it to Sepia so we could use our own index instead of the Sepia's one (which is actually based on instances.joinpeertube.org)

Edit: I just saw it's possible to just add sepiasearch.org in the instances list and it searches on it. So, I think it could be nice if we had a tickbox for enabling Sepia Search instead of having to add it manually. The tickbox could be opt out so we wouldn't have to configure anything when we install PeerTube Integration.

Edit²: Also, thumbnails are broken when retrieving content from Sepia Search: image

julien-nc commented 1 year ago

Hi, thanks for the interest and the feedback!

The problem with using a "global" search API is that you don't have a list of trusted domains anymore so we can't allow them in the page CSP. We only know the domains at the moment a NC page wants to display a video. That's kind of a no go, we can't allow all Iframe domains in the CSP.

Any brilliant idea to deal with this restriction? :grin:

julien-nc commented 1 year ago

Also, it's pure coincidence that the search provider works when setting sepiasearch.org as a Peertube instance. The result format is different. The picker then returns an invalid URL anyway.

Booteille commented 1 year ago

Also, it's pure coincidence that the search provider works when setting sepiasearch.org as a Peertube instance. The result format is different. The picker then returns an invalid URL anyway.

Haha, okay!

The problem with using a "global" search API is that you don't have a list of trusted domains anymore so we can't allow them in the page CSP. We only know the domains at the moment a NC page wants to display a video. That's kind of a no go, we can't allow all Iframe domains in the CSP.

Erf, okaaay!

Any brilliant idea to deal with this restriction? grin I don't know enough of CSP to help you on this subject, unfortunately. Maybe someone else would know how to deal with it.

But can't you automatically generate CSP for all domains retrieved from instances.joinpeertube.org (https://instances.joinpeertube.org/api/v1/instances/hosts?count=9999999)?

Edit: instances.joinpeertube.org is the index used by sepiasearch.org