From b8d821542e4add86700fb7bf4c7a03bf78c941aa Mon Sep 17 00:00:00 2001 From: Alexander Eichhorn Date: Fri, 13 Dec 2024 12:28:59 +0100 Subject: [PATCH] slight regex fix for signature function extraction --- Sources/YouTubeKit/Cipher.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/YouTubeKit/Cipher.swift b/Sources/YouTubeKit/Cipher.swift index 41476fb..25cd629 100644 --- a/Sources/YouTubeKit/Cipher.swift +++ b/Sources/YouTubeKit/Cipher.swift @@ -124,9 +124,9 @@ class Cipher { // note: make sure patterns don't contain named groups. Instead the function name should be always in group 1 let functionPatterns = [ - ExtractionRegex(pattern: #"\b([a-zA-Z0-9$]+)&&\(\1=([a-zA-Z0-9$]{2,})\(decodeURIComponent\(\1\)\)"#, group: 2), - ExtractionRegex(pattern: #"([a-zA-Z0-9$]+)\s*=\s*function\(\s*([a-zA-Z0-9$]+)\s*\)\s*\{\s*\2\s*=\s*\2\.split\(\s*\"\"\s*\)\s*;\s*[^}]+;\s*return\s+\2\.join\(\s*\"\"\s*\)"#, group: 1), - ExtractionRegex(pattern: #"(?:\b|[^a-zA-Z0-9$])([a-zA-Z0-9$]{2,})\s*=\s*function\(\s*a\s*\)\s*\{\s*a\s*=\s*a\.split\(\s*\"\"\s*\)(?:;[a-zA-Z0-9$]{2}\.[a-zA-Z0-9$]{2}\(a,\d+\))?"#, group: 1), + ExtractionRegex(pattern: #"\b([a-zA-Z0-9_$]+)&&\(\1=([a-zA-Z0-9_$]{2,})\(decodeURIComponent\(\1\)\)"#, group: 2), + ExtractionRegex(pattern: #"([a-zA-Z0-9_$]+)\s*=\s*function\(\s*([a-zA-Z0-9_$]+)\s*\)\s*\{\s*\2\s*=\s*\2\.split\(\s*\"\"\s*\)\s*;\s*[^}]+;\s*return\s+\2\.join\(\s*\"\"\s*\)"#, group: 1), + ExtractionRegex(pattern: #"(?:\b|[^a-zA-Z0-9_$])([a-zA-Z0-9_$]{2,})\s*=\s*function\(\s*a\s*\)\s*\{\s*a\s*=\s*a\.split\(\s*\"\"\s*\)(?:;[a-zA-Z0-9_$]{2}\.[a-zA-Z0-9_$]{2}\(a,\d+\))?"#, group: 1), // older ExtractionRegex(pattern: #"\b[cs]\s*&&\s*[adf]\.set\([^,]+\s*,\s*encodeURIComponent\s*\(\s*([a-zA-Z0-9$]+)\("#, group: 1), ExtractionRegex(pattern: #"\b[a-zA-Z0-9]+\s*&&\s*[a-zA-Z0-9]+\.set\([^,]+\s*,\s*encodeURIComponent\s*\(\s*([a-zA-Z0-9$]+)\("#, group: 1),