diff --git a/deno/package.json b/deno/package.json index 76e0bc6c..1f7a0707 100644 --- a/deno/package.json +++ b/deno/package.json @@ -1,6 +1,6 @@ { "name": "youtubei.js", - "version": "5.0.0", + "version": "5.0.1", "description": "A wrapper around YouTube's private API. Supports YouTube, YouTube Music, YouTube Kids and YouTube Studio (WIP).", "type": "module", "types": "./dist/src/platform/lib.d.ts", diff --git a/deno/src/core/Session.ts b/deno/src/core/Session.ts index 40bd1db4..a56fd045 100644 --- a/deno/src/core/Session.ts +++ b/deno/src/core/Session.ts @@ -7,8 +7,8 @@ import Proto from '../proto/index.ts'; import type { ICache } from '../types/Cache.ts'; import type { FetchFunction } from '../types/PlatformShim.ts'; import HTTPClient from '../utils/HTTPClient.ts'; -import type { DeviceCategory} from '../utils/Utils.ts'; -import { getRandomUserAgent, InnertubeError, Platform, SessionError } from '../utils/Utils.ts'; +import type { DeviceCategory } from '../utils/Utils.ts'; +import { generateRandomString, getRandomUserAgent, InnertubeError, Platform, SessionError } from '../utils/Utils.ts'; import type { Credentials, OAuthAuthErrorEventHandler, OAuthAuthEventHandler, OAuthAuthPendingEventHandler } from './OAuth.ts'; import OAuth from './OAuth.ts'; @@ -236,7 +236,7 @@ export default class Session extends EventEmitterLike { }, fetch: FetchFunction = Platform.shim.fetch): Promise { const url = new URL('/sw.js_data', Constants.URLS.YT_BASE); - let visitor_id = Constants.CLIENTS.WEB.STATIC_VISITOR_ID; + let visitor_id = generateRandomString(11); if (options.visitor_data) { const decoded_visitor_data = Proto.decodeVisitorData(options.visitor_data); @@ -308,7 +308,7 @@ export default class Session extends EventEmitterLike { enable_safety_mode: boolean; visitor_data: string; }): SessionData { - let visitor_id = Constants.CLIENTS.WEB.STATIC_VISITOR_ID; + let visitor_id = generateRandomString(11); if (options.visitor_data) { const decoded_visitor_data = Proto.decodeVisitorData(options.visitor_data); diff --git a/deno/src/core/endpoints/PlayerEndpoint.ts b/deno/src/core/endpoints/PlayerEndpoint.ts index b72083a1..76deff4a 100644 --- a/deno/src/core/endpoints/PlayerEndpoint.ts +++ b/deno/src/core/endpoints/PlayerEndpoint.ts @@ -8,11 +8,6 @@ export const PATH = '/player'; * @returns The payload. */ export function build(opts: PlayerEndpointOptions): IPlayerRequest { - const is_android = - opts.client === 'ANDROID' || - opts.client === 'YTMUSIC_ANDROID' || - opts.client === 'YTSTUDIO_ANDROID'; - return { playbackContext: { contentPlaybackContext: { @@ -39,8 +34,8 @@ export function build(opts: PlayerEndpointOptions): IPlayerRequest { ...{ client: opts.client, playlistId: opts.playlist_id, - // Workaround streaming URLs returning 403 when using Android clients. - params: is_android ? '8AEB' : opts.params + // Workaround streaming URLs returning 403 when using Android clients and throttling in web clients. + params: '8AEB' } }; } \ No newline at end of file