Merge 47e5e72ec0d16a481fba3939f5a68fcee04ee341 into da7223d4aa42ff9fc680b0951d043dd03cec2d30

This commit is contained in:
ex0rb 2025-03-22 07:14:27 +08:00 committed by GitHub
commit 146110ac12
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 38 additions and 0 deletions

View File

@ -1106,6 +1106,7 @@ from .scte import (
) )
from .seeker import SeekerIE from .seeker import SeekerIE
from .senateisvp import SenateISVPIE from .senateisvp import SenateISVPIE
from .sendfox import SendFoxIE
from .sendtonews import SendtoNewsIE from .sendtonews import SendtoNewsIE
from .servus import ServusIE from .servus import ServusIE
from .sevenplus import SevenPlusIE from .sevenplus import SevenPlusIE

View File

@ -0,0 +1,37 @@
# coding: utf-8
from __future__ import unicode_literals
from youtube_dl.utils import decode_packed_codes
from .common import InfoExtractor
class SendFoxIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?sendfox\.org/(?P<id>[0-9a-z]+)'
_TEST = {
'url': 'https://sendfox.org/bsw8k32fezg6/big_buck_bunny_1080p_surround.avi',
'md5': 'a1a3969c928f8c3850d34abc18c33cc6',
'info_dict': {
'id': 'bsw8k32fezg6',
'ext': 'mp4',
'title': 'big buck bunny 1080p surround',
'thumbnail': 'https://img.sendfox.org/bsw8k32fezg6_t.jpg'
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
packed_code = self._search_regex(
r'(eval\(function\(p,a,c,k,e,d\){.+)', webpage, 'obfuscated code')
video_src = self._search_regex(
r'src:"(.+?)"', decode_packed_codes(packed_code), 'src')
return {
'id': video_id,
'title': self._html_search_regex(r'<h6 class="card-title">(.+?)</h6>', webpage, 'title'),
'formats': self._extract_m3u8_formats(video_src, video_id, ext='mp4'),
'thumbnail': 'https://img.sendfox.org/' + video_id + '_t.jpg',
'ext': 'mp4'
}