mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-03 18:47:06 -05:00 
			
		
		
		
	[openload] Fix extraction (closes #10408)
Thanks to @makgun02 Ref: http://pastebin.com/raw/JX9gHFUz
This commit is contained in:
		@@ -1,3 +1,9 @@
 | 
			
		||||
version <unreleased>
 | 
			
		||||
 | 
			
		||||
Extractors
 | 
			
		||||
* [openload] Fix extraction (#10408)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
version 2017.03.16
 | 
			
		||||
 | 
			
		||||
Core
 | 
			
		||||
 
 | 
			
		||||
@@ -78,34 +78,45 @@ class OpenloadIE(InfoExtractor):
 | 
			
		||||
        video_url_chars = []
 | 
			
		||||
 | 
			
		||||
        first_char = ord(ol_id[0])
 | 
			
		||||
        key = first_char - 50
 | 
			
		||||
        key = first_char - 55
 | 
			
		||||
        maxKey = max(2, key)
 | 
			
		||||
        key = min(maxKey, len(ol_id) - 22)
 | 
			
		||||
        t = ol_id[key:key + 20]
 | 
			
		||||
        key = min(maxKey, len(ol_id) - 26)
 | 
			
		||||
        t = ol_id[key:key + 24]
 | 
			
		||||
 | 
			
		||||
        hashMap = {}
 | 
			
		||||
        v = ol_id.replace(t, "")
 | 
			
		||||
        v = ol_id.replace(t, '')
 | 
			
		||||
        h = 0
 | 
			
		||||
 | 
			
		||||
        while h < len(t):
 | 
			
		||||
            f = t[h:h + 2]
 | 
			
		||||
            i = int(f, 16)
 | 
			
		||||
            hashMap[h / 2] = i
 | 
			
		||||
            h += 2
 | 
			
		||||
            f = t[h:h + 3]
 | 
			
		||||
            i = int(f, 8)
 | 
			
		||||
            hashMap[h / 3] = i
 | 
			
		||||
            h += 3
 | 
			
		||||
 | 
			
		||||
        h = 0
 | 
			
		||||
 | 
			
		||||
        H = 0
 | 
			
		||||
        while h < len(v):
 | 
			
		||||
            B = v[h:h + 3]
 | 
			
		||||
            B = ''
 | 
			
		||||
            C = ''
 | 
			
		||||
            if len(v) >= h + 2:
 | 
			
		||||
                B = v[h:h + 2]
 | 
			
		||||
            if len(v) >= h + 3:
 | 
			
		||||
                C = v[h:h + 3]
 | 
			
		||||
            i = int(B, 16)
 | 
			
		||||
            if (h / 3) % 3 == 0:
 | 
			
		||||
                i = int(B, 8)
 | 
			
		||||
            index = (h / 3) % 10
 | 
			
		||||
            h += 2
 | 
			
		||||
            if H % 3 == 0:
 | 
			
		||||
                i = int(C, 8)
 | 
			
		||||
                h += 1
 | 
			
		||||
            elif H % 2 == 0 and H != 0 and ord(v[H - 1]) < 60:
 | 
			
		||||
                i = int(C, 10)
 | 
			
		||||
                h += 1
 | 
			
		||||
            index = H % 8
 | 
			
		||||
 | 
			
		||||
            A = hashMap[index]
 | 
			
		||||
            i = i ^ 47
 | 
			
		||||
            i = i ^ A
 | 
			
		||||
            i ^= 213
 | 
			
		||||
            i ^= A
 | 
			
		||||
            video_url_chars.append(compat_chr(i))
 | 
			
		||||
            h += 3
 | 
			
		||||
            H += 1
 | 
			
		||||
 | 
			
		||||
        video_url = 'https://openload.co/stream/%s?mime=true'
 | 
			
		||||
        video_url = video_url % (''.join(video_url_chars))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user