From 7c9b1ec830cdb002e23df7b272603d7425b8c2b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sat, 28 Jan 2023 15:27:08 +0100 Subject: [PATCH] [hotleak] optimize decoding video URLs - use binascii module - combine slice and reverse step --- gallery_dl/extractor/hotleak.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gallery_dl/extractor/hotleak.py b/gallery_dl/extractor/hotleak.py index d12c4125..7c656be0 100644 --- a/gallery_dl/extractor/hotleak.py +++ b/gallery_dl/extractor/hotleak.py @@ -8,7 +8,7 @@ from .common import Extractor, Message from .. import text, exception -import base64 +import binascii BASE_PATTERN = r"(?:https?://)?(?:www\.)?hotleak\.vip" @@ -50,10 +50,9 @@ class HotleakExtractor(Extractor): params["page"] += 1 -def decode_video_url(encoded_url): - sliced_url = encoded_url[16:-16] - reversed_url = sliced_url[::-1] - return base64.b64decode(reversed_url).decode('utf-8') +def decode_video_url(url): + # cut first and last 16 characters, reverse, base64 decode + return binascii.a2b_base64(url[-17:15:-1]).decode() class HotleakPostExtractor(HotleakExtractor):