v0.2.17: Add yt-dlp HTTP headers support (--add-header)
- Pass headers dict to yt-dlp as --add-header arguments - Move 'linkkf' from ffmpeg_hls to ytdlp_aria2 downloader mapping - Fix Linkkf CDN redirect issue (Referer header required)
This commit is contained in:
@@ -8,11 +8,11 @@ from .base import BaseDownloader
|
||||
def get_downloader(source_type: str) -> Optional[BaseDownloader]:
|
||||
"""소스 타입에 맞는 다운로더 인스턴스 반환"""
|
||||
|
||||
if source_type in ('youtube', 'general'):
|
||||
if source_type in ('youtube', 'general', 'linkkf'):
|
||||
from .ytdlp_aria2 import YtdlpAria2Downloader
|
||||
return YtdlpAria2Downloader()
|
||||
|
||||
elif source_type in ('ani24', 'linkkf', 'hls'):
|
||||
elif source_type in ('ani24', 'hls'):
|
||||
from .ffmpeg_hls import FfmpegHlsDownloader
|
||||
return FfmpegHlsDownloader()
|
||||
|
||||
|
||||
@@ -98,6 +98,11 @@ class YtdlpAria2Downloader(BaseDownloader):
|
||||
# 프록시
|
||||
if options.get('proxy'):
|
||||
cmd.extend(['--proxy', options['proxy']])
|
||||
|
||||
# HTTP 헤더 추가 (Referer 등 - Linkkf 등 리다이렉트 방지용)
|
||||
if options.get('headers'):
|
||||
for key, value in options['headers'].items():
|
||||
cmd.extend(['--add-header', f'{key}:{value}'])
|
||||
|
||||
# FFmpeg 경로 자동 감지 및 설정
|
||||
ffmpeg_path = options.get('ffmpeg_path') or P.ModelSetting.get('ffmpeg_path')
|
||||
|
||||
Reference in New Issue
Block a user