TeamNewPipe / NewPipe

A libre lightweight streaming front-end for Android.
https://newpipe.net
GNU General Public License v3.0
31.08k stars 3.02k forks source link

[Request] Plugin Support #2807

Open seniorm0ment opened 4 years ago

seniorm0ment commented 4 years ago

Requesting support for community plugins, where users can develop plugins that users can choose to install to customize their experience. Such as SponsorBlocker for example, themes, modifications, etc. (Obviously requiring some kind of set developing guidelines to not stray from the base ideaology of the app and to avoid breakimg stuff.)

So people who want these features can get them quicker without having to resort to implementation directly into the app. They will be choice installed instead of bloating for people who don't want them.

pawlosck commented 4 years ago

Referring to issue https://github.com/TeamNewPipe/NewPipe/issues/3171, I think, NewPipe should support plugins. Except some controversial reasons (e.g request to stream porn websites) , plugin support should give a lot of benefits.

Advantages:

Disadvantages:

Zehra commented 3 years ago

The following issues opened appear to related: #2803, #1321

In most cases with plug-ins, the following advantages would be provided:

aaferrari commented 3 months ago

As far as adding/supporting new sites is concerned, Mihon (Tachiyomi fork) has an extension system for downloading manga from different sites as well as Cloudstream for different streaming sites. Perhaps the source code of these applications could be used as a basis or reference to implement a plugin system.

Although to avoid potential problems, maybe the ideal would be, at most, to maintain a repository of "approved/verified plugins" (where there would only be conventional sites such as Odysee, Dailymotion, Vimeo, among others) but at the same time leaving the possibility of that the user installs plugins from repositories maintained by third parties.

That way the developers of NewPipe could wash their hands since they would not have control over what users do or don't do with external plugins and the problems they have with them, in addition to avoiding/dismissing eventual complaints like the one Invidious received a year ago.