From 8cf658151fc4e4266fadfb7e53dd5db3db693355 Mon Sep 17 00:00:00 2001 From: Luan Date: Sun, 8 Jun 2025 09:51:06 -0300 Subject: [PATCH] feat: Add `TV_SIMPLY` client --- src/core/Session.ts | 3 ++- src/utils/Constants.ts | 6 +++++- src/utils/HTTPClient.ts | 7 +++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/core/Session.ts b/src/core/Session.ts index c6d4963f..cbe292ea 100644 --- a/src/core/Session.ts +++ b/src/core/Session.ts @@ -29,6 +29,7 @@ export enum ClientType { ANDROID_MUSIC = 'ANDROID_MUSIC', ANDROID_CREATOR = 'ANDROID_CREATOR', TV = 'TVHTML5', + TV_SIMPLY = 'TVHTML5_SIMPLY', TV_EMBEDDED = 'TVHTML5_SIMPLY_EMBEDDED_PLAYER', WEB_EMBEDDED = 'WEB_EMBEDDED_PLAYER', WEB_CREATOR = 'WEB_CREATOR' @@ -357,7 +358,7 @@ export default class Session extends EventEmitter { result.context.client.clientVersion = Constants.CLIENTS.WEB.VERSION; } } - + result.context.client.timeZone = session_args.time_zone; result.context.client.platform = session_args.device_category.toUpperCase(); result.context.user.enableSafetyMode = session_args.enable_safety_mode; diff --git a/src/utils/Constants.ts b/src/utils/Constants.ts index 3750cea1..2a96b2a4 100644 --- a/src/utils/Constants.ts +++ b/src/utils/Constants.ts @@ -71,6 +71,10 @@ export const CLIENTS = { VERSION: '7.20250219.14.00', USER_AGENT: 'Mozilla/5.0 (ChromiumStylePlatform) Cobalt/Version' }, + TV_SIMPLY: { + NAME: 'TVHTML5_SIMPLY', + VERSION: '1.0' + }, TV_EMBEDDED: { NAME: 'TVHTML5_SIMPLY_EMBEDDED_PLAYER', VERSION: '2.0' @@ -119,4 +123,4 @@ export const INNERTUBE_HEADERS_BASE = { 'content-type': 'application/json' } as const; -export const SUPPORTED_CLIENTS = [ 'IOS', 'WEB', 'MWEB', 'YTKIDS', 'YTMUSIC', 'ANDROID', 'YTSTUDIO_ANDROID', 'YTMUSIC_ANDROID', 'TV', 'TV_EMBEDDED', 'WEB_EMBEDDED', 'WEB_CREATOR' ]; +export const SUPPORTED_CLIENTS = [ 'IOS', 'WEB', 'MWEB', 'YTKIDS', 'YTMUSIC', 'ANDROID', 'YTSTUDIO_ANDROID', 'YTMUSIC_ANDROID', 'TV', 'TV_SIMPLY', 'TV_EMBEDDED', 'WEB_EMBEDDED', 'WEB_CREATOR' ]; diff --git a/src/utils/HTTPClient.ts b/src/utils/HTTPClient.ts index 8040ea3f..d6708e07 100644 --- a/src/utils/HTTPClient.ts +++ b/src/utils/HTTPClient.ts @@ -225,12 +225,15 @@ export default class HTTPClient { ctx.client.clientFormFactor = 'SMALL_FORM_FACTOR'; ctx.client.clientName = Constants.CLIENTS.YTSTUDIO_ANDROID.NAME; break; - case 'TV': { + case 'TV': ctx.client.clientVersion = Constants.CLIENTS.TV.VERSION; ctx.client.clientName = Constants.CLIENTS.TV.NAME; ctx.client.userAgent = Constants.CLIENTS.TV.USER_AGENT; break; - } + case 'TV_SIMPLY': + ctx.client.clientVersion = Constants.CLIENTS.TV_SIMPLY.VERSION; + ctx.client.clientName = Constants.CLIENTS.TV_SIMPLY.NAME; + break; case 'TV_EMBEDDED': ctx.client.clientName = Constants.CLIENTS.TV_EMBEDDED.NAME; ctx.client.clientVersion = Constants.CLIENTS.TV_EMBEDDED.VERSION;