No description
  • TypeScript 91.4%
  • JavaScript 6.8%
  • Dockerfile 1.8%
Find a file
2025-02-22 07:11:35 +05:30
.idea/codeStyles Initial commit 2025-02-08 18:54:55 +05:30
docs Documentation 2025-02-08 21:15:16 +05:30
src Revert "Try the Android client type" 2025-02-21 02:56:52 +05:30
.dockerignore Initial commit 2025-02-08 18:54:55 +05:30
.gitignore Initial commit 2025-02-08 18:54:55 +05:30
Dockerfile Initial commit 2025-02-08 18:54:55 +05:30
eslint.config.js Initial commit 2025-02-08 18:54:55 +05:30
LICENCE Initial commit 2025-02-08 18:54:55 +05:30
package-lock.json Dependency upgrades 2025-02-22 07:11:35 +05:30
package.json Dependency upgrades 2025-02-22 07:11:35 +05:30
README.md Documentation 2025-02-08 21:15:16 +05:30
tsconfig.json Initial commit 2025-02-08 18:54:55 +05:30
webpack.config.js Initial commit 2025-02-08 18:54:55 +05:30

This is an alternative mechanism to access YouTube video stream data through usage of the InnerTube API with OAuth 2 authentication. That is the only thing it does, and it doesn't handle anything else, so use this in conjunction with Piped.

Requirements

  1. Node.js (LTS recommended)
  2. NPM
  3. A Google account

Set-up

  1. First create an OAuth 2 client, this should be exclusively dedicated to YouTube. You can follow the RClone documentation on how to create an OAuth 2 client.
    1. Do everything except step 11.
    2. Do NOT add any of the scopes mentioned for Google Drive. Don't add any scopes at all.
    3. Add http://localhost:3000/oauth2/login as a redirect URL.
  2. Setup dependencies
    1. For local execution:
      git clone … yootoob && cd yootoob
      npm install
      npm run build
      cp docs/config.example.toml config.toml
      
    2. If using the Dockerfile:
      git clone … yootoob
      cp yootoob/docs/config.example.toml yootoob.toml
      # rm -rv yootoob
      
      You can then run the YooToob service (see here for an example Docker Compose service definition).
  3. Change config.toml to specify your parameters.
  4. Once you run the service (node dist/bundle.js if running locally, using Docker if using Docker, etc.), check the logs. The logs will have an authorization URL that you have to open through your browser.
    1. Once you go through the Google OAuth process, you will be redirected to http://localhost:3000/oauth2/login?…, replace http://localhost:3000 with your YooToob instance URL (keeping the rest of the URL as is). It should return a plain text message saying Success.
    2. Your YooToob instance should be usable freely.

Licence

Licensed under the AGPLv3 licence, see the LICENCE file.