Skip to content

Commit 74342be

Browse files
author
Adrian
committed
Fix signature decoder
1 parent ce83a71 commit 74342be

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

AIMPYouTube.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ FONT 8, "Tahoma", 400, 0, 0
7373
CONTROL "", IDC_YTDLTIMEOUTSPIN, UPDOWN_CLASS, UDS_ARROWKEYS | UDS_AUTOBUDDY | UDS_HOTTRACK | UDS_SETBUDDYINT, 87, 212, 11, 15, WS_EX_LEFT | WS_TABSTOP
7474
AUTOCHECKBOX "Always use youtube-dl", IDC_YTDLFORCE, 15, 183, 250, 8, 0, WS_EX_LEFT | WS_TABSTOP
7575
EDITTEXT IDC_YTDLPARAMS, 58, 195, 137, 14, ES_AUTOHSCROLL, WS_EX_LEFT
76-
LTEXT "aimp_YouTube v1.4", IDC_VERSION, 30, 244, 285, 8, SS_LEFT | SS_NOTIFY, WS_EX_LEFT
76+
LTEXT "aimp_YouTube v1.5", IDC_VERSION, 30, 244, 285, 8, SS_LEFT | SS_NOTIFY, WS_EX_LEFT
7777
}
7878

7979

YouTubeAPI.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ void YouTubeAPI::LoadSignatureDecoder() {
532532

533533
std::wstring ua(L"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36");
534534
AimpHTTP::Get(L"https://www.youtube.com/\r\nUser-Agent: " + ua, [&](unsigned char *data1, int) {
535-
std::string player = Tools::FindBetween((char *)data1, "\"js\":\"", "\"");
535+
std::string player = Tools::FindBetween((char *)data1, "\"jsUrl\":\"", "\"");
536536
if (!player.empty()) {
537537
Tools::ReplaceString("\\/", "/", player);
538538
if (player.find("http") == std::string::npos)
@@ -548,11 +548,11 @@ void YouTubeAPI::LoadSignatureDecoder() {
548548
// Taken from youtube-dl
549549
// https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/youtube.py#L1342
550550
static std::vector<std::regex> patterns {
551-
std::regex(R"PATTERN(\b([a-zA-Z0-9$]{2})\s*=\s*function\(\s*a\s*\)\s*\{\s*a\s*=\s*a\.split\(\s*""\s*\))PATTERN"),
552-
std::regex(R"PATTERN(\b[a-d]\s*&&\s*\([a-d]\s*=\s*([a-zA-Z0-9$]+)\(\s*decodeURIComponent\s*\([a-d]\)\),\s*[a-d]\.set\([^,]+\s*,\s*enc)PATTERN"),
553-
std::regex(R"PATTERN(\b[cs]\s*&&\s*[adf]\.set\([^,]+\s*,\s*encodeURIComponent\s*\(\s*([a-zA-Z0-9$]+)\()PATTERN"),
554-
std::regex(R"PATTERN(\b[a-zA-Z0-9]+\s*&&\s*[a-zA-Z0-9]+\.set\([^,]+\s*,\s*encodeURIComponent\s*\(\s*([a-zA-Z0-9$]+)\()PATTERN"),
555-
std::regex(R"PATTERN(([a-zA-Z0-9$]+)\s*=\s*function\(\s*a\s*\)\s*\{\s*a\s*=\s*a\.split\(\s*""\s*\))PATTERN")
551+
std::regex(R"R(\b([a-zA-Z0-9$]{2})\s*=\s*function\(\s*a\s*\)\s*\{\s*a\s*=\s*a\.split\(\s*""\s*\))R"),
552+
std::regex(R"R(\b[a-d]\s*&&\s*\([a-d]\s*=\s*([a-zA-Z0-9$]+)\(\s*decodeURIComponent\s*\([a-d]\)\),\s*[a-d]\.set\([^,]+\s*,\s*enc)R"),
553+
std::regex(R"R(\b[cs]\s*&&\s*[adf]\.set\([^,]+\s*,\s*encodeURIComponent\s*\(\s*([a-zA-Z0-9$]+)\()R"),
554+
std::regex(R"R(\b[a-zA-Z0-9]+\s*&&\s*[a-zA-Z0-9]+\.set\([^,]+\s*,\s*encodeURIComponent\s*\(\s*([a-zA-Z0-9$]+)\()R"),
555+
std::regex(R"R(([a-zA-Z0-9$]+)\s*=\s*function\(\s*a\s*\)\s*\{\s*a\s*=\s*a\.split\(\s*""\s*\))R")
556556
};
557557
std::smatch m;
558558
std::string funcsig;

0 commit comments

Comments
 (0)