TeamPiped / Piped

An alternative privacy-friendly YouTube frontend which is efficient by design.
https://piped.video
GNU Affero General Public License v3.0
8.43k stars 694 forks source link

/videoplayback 403 - Piped not playing videos #2809

Open probatschool2 opened 1 year ago

probatschool2 commented 1 year ago

Official Instance

Describe the bug

For some reason the videos dont load and I cant watch piped. I primarily use piped cause youtube is blocked and this piped link is just about one of the only ones not blocked. If someone can please help me with this it would be much appriciated! Screenshot 2023-08-14 11 17 01 PM

To Reproduce

i honestly dont know how to reproduce this bug

Expected behavior

I expected to be able to watch the youtube videos I want to.

Logs/Errors

No response

Browser, and OS with Version.

I use google and i think I may use chrome os beacuse Im on my school chrome book and use it.

Additional context

No response

alejandro-alzate commented 1 year ago

same issue here; mine is reproducible on the lastest libretube client of fdroid with the instance piped.yt my suspicious is that instances are being bot-blocked correct me if the case. Unrelated to the bug, how can i run an instance for my people if theres an article for this please link it to me.

Edit: changing instance seems fruitless , does load thumbnails cover art and personalized feed (A.k.a. subscriptions), selecting a video loads description title and comments, No playback whatsoever. i'm running libretube v0.16.1 on a modified samsung s9 running lineageOS 20 (Android 13), no gapps installed, still, if i'm somewhat usefull, tell me.

Edit 2: I take the changing instance seems fruitless back, instance whatever.social fuctions normally, However If you try my solution please spread out so we don't acidentally DDoS the working instances.

DarkCat09 commented 1 year ago

The same issue with my ytapi.dc09.ru instance.

Proxy returns 403 Forbidden on every video stream request. I mean previews and channel avatars are succesfully loaded, but URLs from videoStreams and audioStreams are not.

I'll update API and proxy, and then edit this comment if anything changed.
Upd: bug still exists in the latest version.

DarkCat09 commented 1 year ago

Found the same issue in Invidious repo, and it have been already fixed: https://github.com/iv-org/invidious/issues/4045#issuecomment-1674373088

DarkCat09 commented 1 year ago

Fix in NewPipeExtractor: https://github.com/TeamNewPipe/NewPipeExtractor/pull/1084

DarkCat09 commented 1 year ago

This bug still exists even on the latest Piped-Backend commit.

fahim44 commented 1 year ago

no instance work right now. For example: GET https://watchproxy-nl.whatever.social/videoplayback returns 403.

probatschool2 commented 1 year ago

I dont know all these terms yall use like instances and stuff like that i m only in 9th grade just trying to find a unblocked youtube to use

ReduxFlakes commented 1 year ago

@probatschool2 To put it simply, YouTube has blocked access to Piped proxy from connecting to YouTube and thus not being able to play videos as far as I know.

Qaz-6 commented 1 year ago

https://api.piped.projectsegfau.lt It works

alejandro-alzate commented 1 year ago

instance whatever.social broke, i migrated to [REDACTED] but broke as well WHILE writing this down

DarkCat09 commented 1 year ago

@FireMasterK, could you update your Extractor fork? https://github.com/TeamNewPipe/NewPipeExtractor/pull/1084

probatschool2 commented 1 year ago

sadly the website https://api.piped.projectsegfau.lt/ is blocked and not working for me they have it blocked by category on my computer. Btw if yall can please give me links to any other fake youtubes for things that may be unblocked it would be much appriciated thank you

FireMasterK commented 1 year ago

@FireMasterK, could you update your Extractor fork? TeamNewPipe/NewPipeExtractor#1084

This is unrelated and we already have this commit.

Qaz-6 commented 1 year ago

Now all instances are working.Sometimes it still doesn't work.

smol-loli commented 1 year ago

Cannot confirm this. Tested the offical, piped.adminforge.de and piped.smnz.de and they all don't work.

lmenale commented 1 year ago

Still doesn't work

Dominion0815 commented 1 year ago

yes still broken. I think google blocked again. piped.adminforge.de is now running with privoxy/wireguard vpn and it works but the performance is realy bad.

DarkCat09 commented 1 year ago

piped.mha.fi and project segfault work.

I don't know how, but if Google actually banned proxy IPs, I can request other address from my hoster for dc09.ru instance. Will it help?

LavellanDWR commented 1 year ago

The official libre instance works

blacklight commented 1 year ago

@n-ce if Google is straight away banning IP addresses of ytproxy servers is it really worth? It may just be a matter of time before those servers get banned too, if they use static addresses (unless this was a one-off stunt from their side). Maybe it'd be more helpful to compile a list of instances that will start adopting rotating IP addresses, if it really turns out that Google is blacklisting requests on an IP basis.

As a Piped instance admin I think I'm pretty much done from my side - I've played this cat-and-mouse game with Google for too long and I don't want to invest time to give my server a dynamic IP because that server is also used for other stuff. But I'm happy to support anyone who embarks into this new challenge.

DarkCat09 commented 1 year ago

@BlackLight, if I understood everything correctly, Google detected IPs by the deprecated API requests. Your IP address will be blocked only if something like #2487 or #2809 happen again.

giselle-campos commented 1 year ago

This is informative and unfortunate...

gamer191 commented 1 year ago

YouTube has blocked access to Piped proxy from connecting to YouTube

Have they though? Do youtube videos work in a browser on the same server, or is there something more to it? (EDIT: there is something more to it, at least according to https://github.com/yt-dlp/yt-dlp/issues/7860#issuecomment-1681243045 nevermind, they were using an outdated version of yt-dlp)

Flywall commented 1 year ago

Hello, For me, no video is readable, I saw those messages in console on video page (e.g. https://piped.kavin.rocks/watch?v=S-OgkNgxm3k) :

Uncaught (in promise) TypeError: NetworkError when attempting to fetch resource.
Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur https://static.cloudflareinsights.com/beacon.min.js/v8b253dfea2ab4077af8c6f58422dfbfd1689876627854. Raison : échec de la requête CORS. Code d’état : (null).
Aucun des hachages « sha512 » de l’attribut « integrity » ne correspond au contenu de la sous-ressource. Le hachage calculé est « z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg== ». watch
XHRGET
https://pipedapi.kavin.rocks/streams/S-OgkNgxm3k
[HTTP/3 502 Bad Gateway 51ms]

EmeEncryptionSchemePolyfill: Waiting to detect encryptionScheme support. shaka-player.ui-f6360940.js:1:431327
McEncryptionSchemePolyfill: Waiting to detect encryptionScheme support. shaka-player.ui-f6360940.js:1:433039
Blocage d’une requête multiorigines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur https://pipedapi.kavin.rocks/streams/S-OgkNgxm3k. Raison : l’en-tête CORS « Access-Control-Allow-Origin » est manquant. Code d’état : 502.
Uncaught (in promise) TypeError: NetworkError when attempting to fetch resource.
Uncaught (in promise) TypeError: e is undefined
    fetchSponsors https://piped.kavin.rocks/assets/WatchVideo-312c8ba7.js:1
    fetchSponsors https://piped.kavin.rocks/assets/WatchVideo-312c8ba7.js:1
    getSponsors https://piped.kavin.rocks/assets/WatchVideo-312c8ba7.js:1
    mounted https://piped.kavin.rocks/assets/WatchVideo-312c8ba7.js:1
    Mt https://piped.kavin.rocks/assets/index-9fbaa647.js:1
    Qt https://piped.kavin.rocks/assets/index-9fbaa647.js:1
    rt https://piped.kavin.rocks/assets/index-9fbaa647.js:1
    __weh https://piped.kavin.rocks/assets/index-9fbaa647.js:1
    ku https://piped.kavin.rocks/assets/index-9fbaa647.js:1
    Cu https://piped.kavin.rocks/assets/index-9fbaa647.js:1
WatchVideo-312c8ba7.js:1:29312
n-ce commented 1 year ago

Issue seems to be fixed. Tested on :

d4rklynk commented 1 year ago

Hi, is changing the server IP the only solution rn ?

r1klz commented 1 year ago

Issue seems to be fixed. Tested on :

* piped.video

* garudalinux.org (edit : [failing with authorisation errors](https://piped-proxy.garudalinux.org/videoplayback?expire=1692527517&ei=PZfhZICQN7KH6dsPsayZmA4&ip=116.202.208.112&id=o-AE9-zwDnCVqb7n7bf_8dcOorKLOYAE7VnPGOkWTzZSfe&itag=249&source=youtube&requiressl=yes&mh=BW&mm=31%2C26&mn=sn-4g5ednz7%2Csn-h0jeenl6&ms=au%2Conr&mv=m&mvi=4&pl=17&initcwndbps=520000&spc=UWF9f_N1Jb5brb9vJHaIqmRVXlew_n8&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=2704356&dur=408.381&lmt=1574756811747966&mt=1692505501&fvip=3&keepalive=yes&fexp=24007246%2C24362685%2C51000023&beids=24350017&c=ANDROID&txp=5531432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgZiP4wUo7xEbUpqPbCgYNV5rzkOQz0BXBf7c3xxRj2AMCIQCrdEIg_Bu2bv_oKtUAWmZYKGpk9wH0aR8j-BrMRnRnFw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgPaoRwPCLvFKbHArgyzRJnFNk1VQPUQB5D9-eKoV8AEICIQCwThDeP1iNTpUto6-oYIxSLPua-sQ0S6zyFgy_K5hyeA%3D%3D&cpn=PVKoetfzkY2YJIOh&host=rr4---sn-4g5ednz7.googlevideo.com))

* privacydev.net

* adminforge.de

Moreover

proxies; are working and connecting too!

drgns-wtd commented 1 year ago

Piped proxy just stoped working for drgns.space :( For now I put piped-proxy behind a VPN to get it working :+1:

FireMasterK commented 1 year ago

Hi, is changing the server IP the only solution rn ?

You can use a VPN. That's what the official instance currently does.

d4rklynk commented 1 year ago

I can install a VPN on my instance if needed yeah. But it always will be the same IP, I'm not sure I can change servers.

Moonstone3010 commented 1 year ago

You can change servers, but there are a limited number of them.

drgns-wtd commented 1 year ago

Piped proxy just stoped working for drgns.space :( For now I put piped-proxy behind a VPN to get it working 👍

yes still broken. I think google blocked again. piped.adminforge.de is now running with privoxy/wireguard vpn and it works but the performance is realy bad.

I'm getting really bad performance too. Using the same VPN on my device and disabling the proxy works flawless though, I'm not sure why

EDIT: I was using rootless docker, and saw that the slirp4netns was constantly at 100%, it was a internet bottleneck

d4rklynk commented 1 year ago

If a VPN is really the solution in the long run, it's not good. Hope you can fix it somehow :/

DarkCat09 commented 1 year ago

dc09.ru Piped and Invidious instances work now, I've set up a socks5 proxy.

drgns-wtd commented 1 year ago

For instance maintainers who use docker but don't want to put the whole system behind a VPN, you can use gluetun as such: (truncated)

version: "3"

services:
    vpn:
      image: qmcgaw/gluetun
      cap_add:
        - NET_ADMIN
      environment:
        - VPN_SERVICE_PROVIDER=mullvad
        - VPN_TYPE=openvpn 
        - OPENVPN_USER= # Account code
        - SERVER_COUNTRIES=USA
      privileged: true
      restart: unless-stopped
    piped-proxy:
      image: 1337kavin/piped-proxy:latest
      network_mode: "service:vpn" # IMPORTTANT
      restart: unless-stopped
      environment:
          - UDS=1
      volumes:
          - piped-proxy:/app/socket

If you use a different provider, gluetun supports anything including custom configs: https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers

DarkCat09 commented 1 year ago

For instance maintainers who run a VPN/proxy client supporting connection over HTTP or SOCKS (like Xray), you can tell piped-proxy to use it with this env var:

piped-proxy:
  ...
  environment:
    PROXY=socks5://127.0.0.1:2080

Or in OpenRC config file instead of Docker in my case:

#!/sbin/openrc-run

export PROXY=socks5://127.0.0.1:2080
...

Piped-proxy uses reqwest library under the hood, so the format is the same as here.
http://address:port or socks[4/5]://address:port

d4rklynk commented 1 year ago

For instance maintainers who use docker but don't want to put the whole system behind a VPN, you can use gluetun as such: (truncated)

version: "3"

services:
    vpn:
      image: qmcgaw/gluetun
      cap_add:
        - NET_ADMIN
      environment:
        - VPN_SERVICE_PROVIDER=mullvad
        - VPN_TYPE=openvpn 
        - OPENVPN_USER= # Account code
        - SERVER_COUNTRIES=USA
      privileged: true
      restart: unless-stopped
    piped-proxy:
      image: 1337kavin/piped-proxy:latest
      network_mode: "service:vpn" # IMPORTTANT
      restart: unless-stopped
      environment:
          - UDS=1
      volumes:
          - piped-proxy:/app/socket

If you use a different provider, gluetun supports anything including custom configs: https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers

Omg man, thanks, it's way easier than setup a VPN. That's actually a good solution rn.

Qaz-6 commented 1 year ago

https://github.com/TeamNewPipe/NewPipe/issues/10352#issue-1854180200

MuubNito commented 1 year ago

Piped somehow stopped working again, but it still loads thumbnails and titles.

d4rklynk commented 1 year ago

It works for me though Which instance are you referring to ? https://piped.simpleprivacy.fr works fine

DarkCat09 commented 1 year ago

@MuubNito, yt.dc09.ru and piped.projectsegfau.lt work.
If you meant the official instance piped.video, looks like it overloaded with requests (or maybe it's my ISP issues).

hugoghx commented 1 year ago

I've also just had this happen today after a frontend update. It's happening in piped.video too when playing a livestream. From the looks of it, it's some frontend problem as the proxy is replying with data but no playback occurs, and also I can watch the livestreams on the phone through Yattee.

Update: I built the frontend from source, version master @ cc478fd5 and it now works. I suspect the shaka player update broke something

FireMasterK commented 1 year ago

I've also just had this happen today after a frontend update. It's happening in piped.video too when playing a livestream. From the looks of it, it's some frontend problem as the proxy is replying with data but no playback occurs, and also I can watch the livestreams on the phone through Yattee.

Update: I built the frontend from source, version master @ cc478fd5 and it now works. I suspect the shaka player update broke something

This appears to be a different issue, please open a new issue for this! This issue is for the Google 403 issue

d4rklynk commented 1 year ago

Any update for this issue ? Do we still need to use VPN or so ?

FireMasterK commented 1 year ago

Any update for this issue ? Do we still need to use VPN or so ?

It looks like you still need to. I checked with of my IPs that was affected, and it still appears to be affected by this issue.

Qaz-6 commented 1 year ago

I don't use VPN. I closed Piped proxy. Videos open easily.

d4rklynk commented 1 year ago

What are the consequences of disabling proxy ? Google will see IP of users ? And what ?

If it's IP, I totally don't care.

But if for example, using Piped w/o proxy or LibreTube with proxy-bypass feature will show my IP users to Google, can they potentially block account that are used from the same IP ?

I had similar problem when using Aurora Store months ago. My account Google has been irrevocably blocked. Aurora does not respect ToS. I don't know if Piped does though.

ghost commented 1 year ago

pretty much all instances just take a million years to load videos if they load at all. very frustrating. as I've mentioned in some other issue, NewPipe works much better. What does NewPipe have that the desktop instances don't?

absidue commented 1 year ago

@cyberhardt NewPipe does everything on your device and talks directly to YouTube, so your IP address, search queries etc are exposed to them. Piped does everything through the server, including the video streaming, so YouTube has no idea what comes from you and what comes from other users on the same instance. The downside of Piped's approach, is that YouTube is not a fan of the same IP address streaming 100s of terabytes of video and audio every month, so the do waves of IP bans for streaming, all the API endpoints still work fine.

The only solution, without sacrificing your privacy, is for the server to get a new IP address.

ghost commented 1 year ago

@cyberhardt NewPipe does everything on your device and talks directly to YouTube, so your IP address, search queries etc are exposed to them. Piped does everything through the server, including the video streaming, so YouTube has no idea what comes from you and what comes from other users on the same instance. The downside of Piped's approach, is that YouTube is not a fan of the same IP address streaming 100s of terabytes of video and audio every month, so the do waves of IP bans for streaming, all the API endpoints still work fine.

The only solution, without sacrificing your privacy, is for the server to get a new IP address.

I see, thanks for the explanation