Skip to main content

YouTube trusted session generator

This project is tested with BrowserStack.

Description

This script will output two parameters: po_token and visitor_data. Needed for passing YouTube checks in Invidious or the program that use the po_token functionality.

What's po_token

po_token known as Proof of Origin Token. This is an attestation token generated by a complex anti robot verification system created by Google named BotGuard/DroidGuard. It is used to confirm that the request is coming from a genuine device.

These identity tokens (po_token and visitor_data) generated using this tool will make your entire YouTube session more easily traceable by YouTube because it is tied to a unique identifier.

Requirement(s)

  • You have to run this command on the same public IP address as the one blocked by YouTube. Not necessarily the same machine, just the same public IP address.
    Subsequent usage of this same token will work on the same IP range or even the same ASN. The point is to generate this token on a blocked IP as "unblocked" IP addresses seems to not generate a token valid for passing the checks on a blocked IP.

Tutorials for "oneshot" command: run the program and get the po_token and visitor_data values

Tutorial with Docker

  1. Run the script: docker run quay.io/invidious/youtube-trusted-session-generator
  2. Copy paste the values of these the two parameters (po_token and visitor_data) in config.yaml
    po_token: XXX
    visitor_data: XXX
    
  3. Restart Invidious or the program that use the po_token functionality.

Tutorial without Docker

  1. Install Chromium or Google Chrome.
  2. Create a new virtualenv: virtualenv venv
  3. Activate the virtualenv: source venv/bin/activate
  4. Install the dependencies: pip install -r requirements.txt
  5. Run the script: python potoken-generator.py --oneshot
  6. Copy paste the values of these the two parameters (po_token and visitor_data) in config.yaml
    po_token: XXX
    visitor_data: XXX
    
  7. Restart Invidious or the program that use the po_token functionality.

Why running as root for Docker?

In "headless: false", Chromium does not support sanboxing when it is not ran by root user.

Tutorials for "always running" program: Get po_token on demand using HTTP.

Tutorial with Docker

Run the program: docker run -p 8080:8080 quay.io/invidious/youtube-trusted-session-generator:webserver

Tutorial without Docker

  1. Install Chromium or Google Chrome.
  2. Create a new virtualenv: virtualenv venv
  3. Activate the virtualenv: source venv/bin/activate
  4. Install the dependencies: pip install -r requirements.txt
  5. Run the program: python potoken-generator.py

Usage of the HTTP API

Send your requests to http://localhost:8080/token in order to obtain your po_token.

You can also force refresh the po_token in the cache by sending a request to http://localhost:8080/update.

Metadata

Release files for youtube-trusted-session-generator 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for youtube-trusted-session-generator 0.0.4
File Interpreter ABI Platform
youtube_trusted_session_generator-0.0.4-py3-none-any.whl Python 3 none any Details

Release files / youtube_trusted_session_generator-0.0.4-py3-none-any.whl

Download URL youtube_trusted_session_generator-0.0.4-py3-none-any.whl
Size 19.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
481350031880583a82d5add73b9ec7ad37763828a52e77f311acbf2318fa7cfe
BLAKE2b-256 checksum
How to use checksums
cfb06715e4a7a2f9fb8dc28530245fa98ed6dcfeec30ca76805c5c16c026110e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.6

Release history Release notifications | RSS feed

This release

0.0.4 This release

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page