question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Could not find signature decipherer definition body again today

See original GitHub issue

This afternoon, we get the issue again, our version is 5.1.2 the exception is: Exception download https://www.youtube.com/watch?v=5bAgZLUIgZ8 at Monday, July 27, 2020 7:45:48 PM YoutubeExplode.Exceptions.TransientFailureException: Could not find signature decipherer definition body. In most cases, this error indicates that YouTube most likely changed something, which broke the library. If this issue persists, please report it on the project’s GitHub page. at YoutubeExplode.ReverseEngineering.Responses.PlayerSource.<GetCipherOperations>d__3.MoveNext() at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) at YoutubeExplode.Videos.Streams.StreamsClient.<GetStreamContextFromWatchPageAsync>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at YoutubeExplode.Videos.Streams.StreamsClient.<GetManifestAsync>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:14
  • Comments:25 (6 by maintainers)

github_iconTop GitHub Comments

4reactions
omansakcommented, Jul 29, 2020
           string? TryGetDeciphererFuncBody()
            {
                var funcName = Regex.Match(_root, @"(\w+)=function\(\w+\){(\w+)=\2\.split\(\x22{2}\);.*?return\s+\2\.join\(\x22{2}\)}")
                    .Groups[0]
                    .Value;

                return funcName;

                var escapedFuncName = Regex.Escape(funcName);

                return Regex.Match(_root, $@"(?!h\.){escapedFuncName}=function\(\w+\)\{{(.*?)\}}", RegexOptions.Singleline)
                    .Groups[1]
                    .Value
                    .NullIfWhiteSpace();
            }

instead of https://github.com/Tyrrrz/YoutubeExplode/blob/7a1ce6a8e50e7df513a2dc226e66d691421ef1ca/YoutubeExplode/ReverseEngineering/Responses/PlayerSource.cs#L24 Can anyone try this ?

2reactions
ali-golcommented, Jul 29, 2020
           string? TryGetDeciphererFuncBody()
            {
                var funcName = Regex.Match(_root, @"(\w+)=function\(\w+\){(\w+)=\2\.split\(\x22{2}\);.*?return\s+\2\.join\(\x22{2}\)}")
                    .Groups[0]
                    .Value;

                return funcName;

                var escapedFuncName = Regex.Escape(funcName);

                return Regex.Match(_root, $@"(?!h\.){escapedFuncName}=function\(\w+\)\{{(.*?)\}}", RegexOptions.Singleline)
                    .Groups[1]
                    .Value
                    .NullIfWhiteSpace();
            }

instead of https://github.com/Tyrrrz/YoutubeExplode/blob/7a1ce6a8e50e7df513a2dc226e66d691421ef1ca/YoutubeExplode/ReverseEngineering/Responses/PlayerSource.cs#L24

Can anyone try this ?

This is working 😃 👍

Definetely working. Thanks 👍👍

Read more comments on GitHub >

github_iconTop Results From Across the Web

I need help deciphering a windows error log
I'm trying to run a program that will sync my outlook data with my android phone. When I try to launch the program...
Read more >
If you can decode JWT, how are they secure?
This means if she changes something, the signature won't match anymore, and Bob will simply not accept the JWT anymore.
Read more >
Decode a JWT Token in Java
First, let's understand the structure of a JWT: header; payload (often referred to as body); signature. The signature is optional. A valid JWT ......
Read more >
How to Decipher an Artist Signature
I want to show you how I decipher a difficult artist signature on a work. I'll use a work I found at a...
Read more >
Signature Analysis: What Your Signature Says About You
Your signature analysis might have a lot to say about your personality. We explore the 5 clues about your personality your signature gives...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found