LuanRT / YouTube.js

A JavaScript client for YouTube's private API, known as InnerTube.
https://ytjs.dev
MIT License
3.57k stars 227 forks source link

youtube rate limited my server #607

Closed nikunjmishra1998 closed 5 months ago

nikunjmishra1998 commented 8 months ago

Question

Sometimes youtube stops to give a response to my server, I mean youtube blocking my server (by ip address), So is there any option to avoid server blocking by youtube.

Other details

I am using ubuntu 22.01 with node version 20.11.1

Checklist

gnosticdev commented 8 months ago

you have to use your own solution, here are a few ideas:

hope it helps!

nikunjmishra1998 commented 8 months ago

@gnosticdev can you please provide any examples or reference to use debouncing functions?

nikunjmishra1998 commented 8 months ago

@gnosticdev can we use proxies with GetBasicInfo() function?

Or any examples to use proxies while creating InnnerTube Client without fetch in node Js?

gnosticdev commented 8 months ago

Yes you can proxy anything. Go to the link I provided to see an example.

Denouncing could be just a simple setTimeout to add some delay to each request, but depends how many you have and might need more detailed approach.

If you don't know how these work, then just use a vpn on your host machine.

There's a lot of useful stuff in the examples folder in this repo. I would start there.

nikunjmishra1998 commented 8 months ago

@gnosticdev I see that title='Video Not Available' and author= 'YouTube Viewers' in the result of GetBasicInfo() for every youtube video, So is there any specific reason for this issue?

strange thing is the same code on my local system giving perfect data with original title and author but on the server I am receiving below data.

VideoInfo { streaming_data: { expires: 2024-03-01T12:04:27.810Z, formats: [ [Format], [Format] ], adaptive_formats: [ [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format], [Format] ], dash_manifest_url: null, hls_manifest_url: null }, playability_status: { status: 'OK', reason: '', embeddable: true, audio_only_playablility: null, error_screen: null }, player_config: { audio_config: { loudness_db: -9986, perceptual_loudness_db: -10000, enable_per_format_loudness: true }, stream_selection_config: { max_bitrate: '0' }, media_common_config: { dynamic_readahead_config: [Object] } }, basic_info: { id: 'M5t4UHllkUM', channel_id: 'UCMDQxm7cUx3yXkfeHa5zJIQ', title: 'Video Not Available', duration: 93, keywords: [ 'tips', 'tricks', 'help', 'tutorial', 'youtube', 'youtubehelp', 'support', 'how to' ], is_owner_viewing: false, short_description: '', thumbnail: [ [Thumbnail], [Thumbnail], [Thumbnail], [Thumbnail], [Thumbnail] ], allow_ratings: false, view_count: NaN, author: 'YouTube Viewers', is_private: false, is_live: false, is_live_content: false, is_live_dvr_enabled: false, is_low_latency_live_stream: false, is_upcoming: false, is_post_live_dvr: false, is_crawlable: false, live_chunk_readahead: undefined, embed: null, channel: null, is_unlisted: undefined, is_family_safe: undefined, category: null, has_ypc_metadata: null, start_timestamp: null, end_timestamp: null, like_count: undefined, is_liked: undefined, is_disliked: undefined }, annotations: undefined, storyboards: undefined, endscreen: undefined, captions: undefined, cards: undefined }

absidue commented 8 months ago

@nikunjmishra1998 That means your server is blocked by YouTube for making too many requests in a short space of time, so they return that video instead of the one you actually requested.

nikunjmishra1998 commented 8 months ago

Okay, So @absidue is there any way to unblock or any other way without changing my current server?

nikunjmishra1998 commented 8 months ago

@gnosticdev Do we have any example of proxy implemented with GetBasicInfo() method? Can you please provide any example?

github-actions[bot] commented 6 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.