Go to file
AudricV c82317e318
[YouTube] Spoof more mobile clients
Additional parameters have been added to the player requests of ANDROID and IOS
clients:

- for both clients: osName and osVersion: their respective values are:
  - for the ANDROID one: Android and 12;
  - for the IOS one: iOS and 15.6.0.19G71.
- for the ANDROID client: androidTargetSdkVersion, with the Android SDK version
  corresponding to the Android version used in the player requests of this
  client. This parameter is now required with this client to be sure to get a
  correct player response, otherwise, the one of a video saying that this
  content is not available in this app and to watch it with the latest version
  of YouTube can be returned instead;
- for the IOS client: deviceMake, with Apple as its value.

The iOS version sent in the IOS client player requests has been also updated to
the version 15.6 of the OS.

Finally, a comment about the requirement to use the signature timestamp from
the player JavaScript base file for HTML5 player requests on videos with
obfuscated URLs has been added and replaces a previous one which may be not
true.
2022-08-12 19:20:31 +02:00
.github Merge pull request #869 from mhmdanas/add-workflow-permissions 2022-07-13 18:58:32 +02:00
checkstyle Remove Checkstyle suppressions file and fix Checkstyle issues introduced in 24e8399 and 8c1041d 2022-05-02 21:51:25 +02:00
extractor [YouTube] Spoof more mobile clients 2022-08-12 19:20:31 +02:00
gradle/wrapper Update gradle wrapper to 7.1.1 2021-08-07 17:51:18 -04:00
timeago-parser Updated to JUnit 5 2021-12-27 21:08:08 +01:00
.gitignore ignore workspace and folder configs 2020-05-11 21:23:50 +02:00
LICENSE Update the license to the latest version of https://www.gnu.org/licenses/gpl-3.0.txt 2022-03-19 17:59:27 +01:00
README.md Update README.md 2021-12-11 16:06:29 +01:00
build.gradle Bump junit-bom from 5.8.2 to 5.9.0 2022-07-27 09:20:12 +00:00
gradlew Update gradle wrapper to 7.1.1 2021-08-07 17:51:18 -04:00
gradlew.bat Update gradle wrapper to 7.1.1 2021-08-07 17:51:18 -04:00
settings.gradle Created gradle module and moved existing code to new one 2018-03-14 00:44:02 -03:00

README.md

NewPipe Extractor

CI JIT Pack Badge JDocDocumentation

NewPipe Extractor is a library for extracting things from streaming sites. It is a core component of NewPipe, but could be used independently.

Usage

NewPipe Extractor is available at JitPack's Maven repo.

If you're using Gradle, you could add NewPipe Extractor as a dependency with the following steps:

  1. Add maven { url 'https://jitpack.io' } to the repositories in your build.gradle.
  2. Add implementation 'com.github.TeamNewPipe:NewPipeExtractor:INSERT_VERSION_HERE' to the dependencies in your build.gradle. Replace INSERT_VERSION_HERE with the latest release.

Note: To use NewPipe Extractor in projects with a minSdkVersion below 26, API desugaring is required.

Testing changes

To test changes quickly you can build the library locally. A good approach would be to add something like the following to your settings.gradle:

includeBuild('../NewPipeExtractor') {
    dependencySubstitution {
        substitute module('com.github.TeamNewPipe:NewPipeExtractor') with project(':extractor')
    }
}

Another approach would be to use the local Maven repository, here's a gist of how to use it:

  1. Add mavenLocal() in your project repositories list (usually as the first entry to give priority above the others).
  2. It's recommended that you change the version of this library (e.g. LOCAL_SNAPSHOT).
  3. Run gradle's ìnstall task to deploy this library to your local repository (using the wrapper, present in the root of this project: ./gradlew install)
  4. Change the dependency version used in your project to match the one you chose in step 2 (implementation 'com.github.TeamNewPipe:NewPipeExtractor:LOCAL_SNAPSHOT')

Tip for Android Studio users: After you make changes and run the install task, use the menu option File → "Sync with File System" to refresh the library in your project.

Supported sites

The following sites are currently supported:

  • YouTube
  • SoundCloud
  • media.ccc.de
  • PeerTube (no P2P)
  • Bandcamp

License

GNU GPLv3 Image

NewPipe is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.