-
-
Notifications
You must be signed in to change notification settings - Fork 239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What could it be 'InnertubeError: Streaming data not available' only in remote server but working locally? #748
Comments
check |
Same situation |
hey @whiskeycola, thanks for your help. Yes, it seems you are right, below is what I get local vs remote server. So as I am already using BgUtils to get the tokens, what else you suggest I could do to avoid my app recognized as a bot? Thanks again. local
remove
|
i think google updated poToken generation. poToken generated by bgutil does not seem to work. |
There were no major changes to the BotGuard code. Your IPs are likely blocked. PoTokens do not bypass full IP blocks. |
Any way to bypass that @LuanRT? thanks. |
@LuanRT Seems Google/YouTube is closing all their backdoors now. Currently solution is changing the Client to
|
hey @rustynail1984, do you know if this solution may be applied to the code I am using above? thanks. |
yes it should work. The reasson is that it works locallly is, your local ip is not banned by youtube while your seerver ip is banned. This poToken Solution should bypass the ip ban. In other way this bypass is not longer working for the WEB, MWEB and WEM_EXPERIMENTS client. I found today out that the WEB_CREATOR client is still working, but i expect that this will also stop working in the next 2 days. |
So please help me understand something. What I need is a download URL of the video no matter where it is generated. Is using the Web client the best way as the IP of the user using my app wont be blocked as it will do a few requests per days from its own IP. Now if this is true, can the Web be imported and used in the web browser somehow? Apologies if I said any kind of “stupid” questions but this world is new to me, thanks again. |
You can do Client side requests (in Browser) in this way. <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
const postData = async (url = "", data = {}) => {
const response = await fetch(url, {
method: "POST",
mode: "cors",
cache: "no-cache",
credentials: "same-origin",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
redirect: "follow",
referrerPolicy: "no-referrer",
body: JSON.stringify(data),
});
return response.json();
};
const getData = async () => {
const data = await postData(
"https://release-youtubei.sandbox.googleapis.com/youtubei/v1/player",
{
videoId: "2vjPBrBU-TM",
context: {
client: {
userAgent:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
clientName: "ANDROID_TESTSUITE",
clientVersion: "1.9",
},
},
}
);
};
getData();
</script>
</body>
</html> |
Thank you so much! |
Question
Hello, what could it be that my exact code works fine locally but when deploy it in remote servers I got this weird error:
My current related code is as following (compacted):
thanks in advance.
Other details
No response
Checklist
The text was updated successfully, but these errors were encountered: