FreeTube icon indicating copy to clipboard operation
FreeTube copied to clipboard

[Bug]: (PiHole misconfiguration) Videos not playing, Error: Error invoking remote method 'generate-po-token': Error: Failed to fetch

Open AndyShade opened this issue 1 year ago • 17 comments

Maintainer edit

If you are getting this error make sure your PiHole isn't erroneously blocking YouTube's integrity check domain jnn-pa.googleapis.com.

Guidelines

  • [x] I have encountered this bug in the latest release of FreeTube.
  • [x] I have encountered this bug in the official downloads of FreeTube.
  • [x] I have searched the issue tracker for open and closed issues that are similar to the bug report I want to file, without success.
  • [x] I have searched the documentation for information that matches the description of the bug I want to file, without success.
  • [x] This issue contains only one bug.

Describe the bug

  1. Open freetube
  2. Try to play a video
  3. Video will not play
  4. Presented with a popup error
  5. Error: Error invoking remote method 'generate-po-token': Error: Failed to fetch

Console output

Details

renderer.js:2 using static file for invidious instances fetchInvidiousInstances @ renderer.js:2 renderer.js:2 Local API, poToken generation failed Error: Error invoking remote method 'generate-po-token': Error: Failed to fetch at IpcRenderer.invoke (node:electron/js2c/renderer_init:2:7076) at async ZY (renderer.js:2:1826697) at async r.getVideoInformationLocal (renderer.js:2:2290381) ZY @ renderer.js:2 renderer.js:2 Error: Error invoking remote method 'generate-po-token': Error: Failed to fetch at IpcRenderer.invoke (node:electron/js2c/renderer_init:2:7076) at async ZY (renderer.js:2:1826697) at async r.getVideoInformationLocal (renderer.js:2:2290381) getVideoInformationLocal @ renderer.js:2 renderer.js:2 MediaImage src can only be of http/https/data/blob scheme: app://bundle/index.html mounted @ renderer.js:2 renderer.js:2 Player Error (category and code explainations here: https://shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html) Video ID: "hfgllf1L9_4" FreeTube player context: "loading dash/audio manifest and setting default quality in mounted"

Severity: CRITICAL (2) Category: NETWORK (1) Code: UNSUPPORTED_SCHEME (1000) Stack trace: Error: Shaka Error 1000 at new Ee (app://bundle/renderer.js:2:24640) at la (app://bundle/renderer.js:2:97084) at app://bundle/renderer.js:2:101205 at app://bundle/renderer.js:2:99035 at app://bundle/renderer.js:2:99276

shaka-player Data: Array(1) VQ @ renderer.js:2 renderer.js:2 Unable to play DASH formats. Reverting to legacy formats... handlePlayerError @ renderer.js:2 9Chrome is moving towards a new experience that allows users to choose to browse without third-party cookies.

example link: https://youtu.be/hfgllf1L9_4

Expected Behavior

Open freetube and play a video without issues.

Issue Labels

API issue

FreeTube Version

v0.23.1 Beta

Operating System Version

Microsoft Windows [Version 10.0.19045.4046]

Installation Method

.zip / .7z

Issue occurs for:

Local API Invidious API

Issue occurs for:

Proxy Videos Through Invidious off Proxy Videos Through Invidious on

Last Known Working FreeTube Version (If Any)

v0.22.0 Beta Portable is the last known working version

Additional Information

No response

Nightly Build

I have encountered this bug in the latest [nightly build]

AndyShade avatar Feb 01 '25 07:02 AndyShade

I am also seeing this. For me it seems to be every video. Some example videos that do not play. https://youtu.be/JAxzbk7CrkQ https://youtu.be/JgkJ4e6C9QI I have tried this on two different machines, one a Fedora 41 system and the other a W10 22H2 system. Both display the same errors.

CharAznableLoNZ avatar Feb 01 '25 08:02 CharAznableLoNZ

I am also seeing this, these are all the popups I am getting:

Error: Error invoking remote method 'generate-po-token': Error: Failed to fetch Falling back to Invidious API SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON Legacy formats are not available for this video

I have removed the installed version (0.22.1), downloaded the latest .deb from the website, and have the same issue still.

Freetube version: v0.23.1 Beta OS: Zorin OS 17.2 (Ubuntu Debian) Connection: Direct

I am running Adguard Home on a Raspberry Pi as my DNS server, up until this error first popped up (overnight, the night before no problems) everything ran fine.

ErikSchulp avatar Feb 01 '25 08:02 ErikSchulp

For me that problem was started from 0.22.1 nightly build 5364. Freetube 0.22.1 nightly build 5363 is working fine.

FreeTube linux portable x64 OS: Debian 12.9

Lucky00Snake avatar Feb 01 '25 08:02 Lucky00Snake

@Lucky00Snake Yes that is expected to be that commit, as that is what added the potokens to fix the 403 errors. The more interesting question is why only a small subset of users, such as yourself, are getting these errors while it it working fine for everyone else.

Can you please confirm if you are connecting to YouTube directly or using a VPN, proxy or tor? It would also be good to know if you have some kind of ad or tracker blocker in your VPN or on your network (e.g. a PiHole).

absidue avatar Feb 01 '25 09:02 absidue

Local API Proxy Videos Through Invidious OFF Format Dash

No proxy, VPN, or tor in use.

I do have a pihole and I did see this request blocked when clicking a video. When I whitelist this domain on my pihole the video does play.

Feb 1 09:37:41: gravity blocked jnn-pa.googleapis.com is 0.0.0.0

It appears on this list. Match found in https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts: jnn-pa.googleapis.com

This does appear to be the cause.

Small update, on my fedora machine, after whitelisting this all videos played. On my HTPC, W10, I received the 403 error the first time then went back and forward then the video played.

CharAznableLoNZ avatar Feb 01 '25 09:02 CharAznableLoNZ

Yep, that it Google's BotGuard domain needed for the integrity checks, there is no reason for that to be on a block list unless someone was just blocking everything possible without checking whether it impacted functionality.

absidue avatar Feb 01 '25 09:02 absidue

This was the issue for me too, whitelisting jnn-pa.googleapis.com solved it.

ErikSchulp avatar Feb 01 '25 10:02 ErikSchulp

same here, whitelisting jnn-pa.googleapis.com fixed it.

kobbra avatar Feb 01 '25 10:02 kobbra

Match found in https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts:

Seems there's an issue against his repo for this. It's gone unanswered, and both the repo and its maintainer haven't had contributions/contributed in years. Dead bad blocklist is dead and bad.

If the domain's in any other blocklists, it should probably be reported to their maintainers.

rehashedsalt avatar Feb 01 '25 10:02 rehashedsalt

As the cause for most people seems to be broken PiHole configurations, we can leave this issue open for a while just for information but we can't fix problems caused by external software on the FreeTube side.

absidue avatar Feb 01 '25 11:02 absidue

In my case I'm using a nightly build of 0.22.0 and so far videos have been playing normally. I assume this is maybe a bug in 0.23.0.

Update: Some videos such as game longplays are playing for a second, then giving a 403 error. Others play normally. I think this corresponds with the problems some others have been having.

rjdg14 avatar Feb 01 '25 11:02 rjdg14

@rjdg14 It is not a bug with FreeTube (which you would know if you had read the thread), if you are using older FreeTube versions and it is working okay for you, you are just one of the few lucky people who haven't had YouTube's integrity checks turned on for them yet (YouTube is rolling them out in their usual A/B test fashion), but it is only a matter of time before you get the 403 errors like everyone else. So unless you have a very good reason to stay on an older version such as your version of macOS being too old to run newer versions of FreeTube I would highly recommend that you update.

absidue avatar Feb 01 '25 11:02 absidue

@rjdg14 It is not a bug with FreeTube (which you would know if you had read the thread), if you are using older FreeTube versions and it is working okay for you, you are just one of the few lucky people who haven't had YouTube's integrity checks turned on for them yet (YouTube is rolling them out in their usual A/B test fashion), but it is only a matter of time before you get the 403 errors like everyone else. So unless you have a very good reason to stay on an older version such as your version of macOS being too old to run newer versions of FreeTube I would highly recommend that you update.

I've received the 403 errors just now on a couple of video game longplay videos, then checked a couple of vlog videos and they played fine.

I know NewPipe has begun having another occurance of the error "IOS player response is not valid" in the past day or two, which it had a week or two ago but was patched, and wondered if this could be related. I think prior to the initial patch (which fixed an issue that did not affect FreeTube), NewPipe could not generate po tokens while FreeTube could. It's possible that YouTube have modified their token generation algorithm. The error in NewPipe seems very random, affecting some video requests but not others (and often clicking retry a couple of times will then load the content).

rjdg14 avatar Feb 01 '25 11:02 rjdg14

@rjdg14 The 403s were fixed in 0.23.0 so unless you have upgraded to 0.23.1 and are still getting them, the fact that you are getting 403s in older versions of FreeTube is entirely expected. Please don't use this thread to discuss other problems unrelated to the original post.

absidue avatar Feb 01 '25 11:02 absidue

@rjdg14 The 403s were fixed in 0.23.0 so unless you have upgraded to 0.23.1 and are still getting them, the fact that you are getting 403s in older versions of FreeTube is entirely expected. Please don't use this thread to discuss other problems unrelated to the original post.

I've just installed 0.23.1 and the problem has occured on one video so far, though it hasn't on any of the other few I've tested.

From what others are saying in this thread, it may be being caused by jnn-pa.googleapis.com being incorrectly listed on a blocklist used by FreeTube.

rjdg14 avatar Feb 01 '25 11:02 rjdg14

From what others are saying in this thread, it may be being caused by jnn-pa.googleapis.com being incorrectly listed on a blocklist used by FreeTube.

You are misreading the other messages, FreeTube is trying to use that domain for YouTube's BotGuard stuff but people were wrongly blocking it with their PiHoles breaking FreeTube. FreeTube doesn't have any blocklists.

absidue avatar Feb 01 '25 11:02 absidue

used by FreeTube

We dont use blocklists

#6931 fixed this