Adding Channel Privacy Feature with plugin?


Problem Statement: Create a Channel Privacy setting.

Problem Definition: PeerTube currently does not support the channel privacy setting and this feature won’t be available in the near future looking at issue #4744.

Requirement Description: Our company and many partner companies use the same PeerTube instance. Since we want to limit our content to ourselves, we require a channel privacy setting to limit access to our content. We haven’t used the federated because it increases our cost.

Solution: We are thinking of solving this issue of channel privacy setting using the plugin as it does not affect the source code of PeerTube. We are planning to add the channel privacy feature from the plugin. The plugin will create a channel_privacy table in the database that tracks privacy of a channel. Each time channel related requests are made to the database the work of verifying the privacy of the channel will be done by our plugin. Our plugin will work as a proxy between request and response cycle of front end and core API.

Complication: The complication we are facing is that we have not yet found a way to capture the response sent by Core API to Front end. By capturing the Core API we could modify the Response and create our own requests for Channel Privacy. There is no way for our plugin to capture the Request from front-end or the Response from Core API.