newpipe-documentation/docs/00_Prepare_everything.md

4.7 KiB

Prepare everything

Welcome to the NewPipeExtractor documentation. This tutorial will guide you through the process of creating your own Extractor service with which NewPipe will gain support for a dedicated streaming service like YouTube, Vimeo or SoundCloud. The whole documentation consists of this page, which explains the general concept of the NewPipeExtractor, as well as our Jdoc setup.

IMPORTANT!!! this is likely to be the worst documentation you have ever read, so do not hesitate to report if you find any spelling errors, incomplete parts or you simply don't understand something. We are an open community and are open for everyone to help :)

Setup your dev environment

First and foremost you need to meet certain conditions in order to write your own service.

What you need to know

What you need to have

After making sure all these conditions are provided fork the NewPipeExtractor, using the fork button. This way you have your own working repository. Now clone this repository into your local folder in which you want to work in. Next import the cloned project into your IDE and run it. If all the checks are green you did everything right, and you are good to go to move on to the next chapter.

Importing the NewPipe Extractor in IntelliJ IDEA

If you use IntelliJ IDEA you might want to know how to import the NewPipe extractor painlessly. This is what you want to do.

  1. git clone the extractor onto your computer locally.
  2. Start IntelliJ Idea, and click on Import Project.
  3. Select the root directory of the NewPipe Extractor
  4. Now it's important to select "Import Project form external Model" and then choose Gradle. import from gradle image
  5. In the next window make sure "Use grale 'wrapper' task configuration" is selected. use gradle 'wrapper' task configuration checkbox

Running test in Android Studio/IntelliJ IDEA

Go to run > edit configurations > add new configuration and select "Gradle". As Gradle Project, select NewPipeExtractor. As task add "test". Now save and you should be able to run.

tests passed on idea

Inclusion criteria for services

After creating you own service you will need to submit it to our NewPipeExtractor repository. However in order to include your changes you need to follow these rules:

  1. Stick to our Code contribution guidelines
  2. Do not send services that present content we don't allow on NewPipe.
  3. You need to be willing to keep on maintaining your service after submission.
  4. Be patient and do the requested changes when one of our maintainers rejects your code.

Allowed Content

  • Basically anything except NOT allowed content.
  • Any kind of porn/NSFW that is allowed according to the US Porn act.
  • Advertisement (may be handled specially though)

NOT allowed Content

  • NSFL (Not Safe For Life)
  • Porn that is not allowed according to US Porn act.
  • Any form of violence
  • Child pornography
  • Media that harms others
  • Media that violates human rights
  • Copyright infringement/pirated media