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:
@@ -3,6 +3,10 @@
|
|||||||
FlaskFarm용 범용 다운로드 매니저 플러그인입니다.
|
FlaskFarm용 범용 다운로드 매니저 플러그인입니다.
|
||||||
여러 다운로더 플러그인(YouTube, Anime 등)의 다운로드 요청을 통합 관리하고 큐(Queue)를 제공합니다.
|
여러 다운로더 플러그인(YouTube, Anime 등)의 다운로드 요청을 통합 관리하고 큐(Queue)를 제공합니다.
|
||||||
|
|
||||||
|
## v0.2.17 변경사항 (2026-01-08)
|
||||||
|
- **yt-dlp HTTP 헤더 지원**: `options.headers` 딕셔너리에서 `--add-header` 인자를 생성하여 Referer/User-Agent 등 커스텀 헤더를 yt-dlp에 전달합니다.
|
||||||
|
- **Linkkf CDN 리다이렉트 해결**: Referer 헤더 없이 m3u8 URL 접근 시 Google Cloud로 리다이렉트되던 문제 수정.
|
||||||
|
|
||||||
## v0.2.15 변경사항 (2026-01-08)
|
## v0.2.15 변경사항 (2026-01-08)
|
||||||
- **삭제 로직 버그 수정**: 메모리에 실시간으로 로드된 다운로드 항목을 삭제할 때, 메모리에서 먼저 제거되어 DB 데이터가 남던 순서 오류를 수정했습니다.
|
- **삭제 로직 버그 수정**: 메모리에 실시간으로 로드된 다운로드 항목을 삭제할 때, 메모리에서 먼저 제거되어 DB 데이터가 남던 순서 오류를 수정했습니다.
|
||||||
|
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ from .base import BaseDownloader
|
|||||||
def get_downloader(source_type: str) -> Optional[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
|
from .ytdlp_aria2 import YtdlpAria2Downloader
|
||||||
return YtdlpAria2Downloader()
|
return YtdlpAria2Downloader()
|
||||||
|
|
||||||
elif source_type in ('ani24', 'linkkf', 'hls'):
|
elif source_type in ('ani24', 'hls'):
|
||||||
from .ffmpeg_hls import FfmpegHlsDownloader
|
from .ffmpeg_hls import FfmpegHlsDownloader
|
||||||
return FfmpegHlsDownloader()
|
return FfmpegHlsDownloader()
|
||||||
|
|
||||||
|
|||||||
@@ -99,6 +99,11 @@ class YtdlpAria2Downloader(BaseDownloader):
|
|||||||
if options.get('proxy'):
|
if options.get('proxy'):
|
||||||
cmd.extend(['--proxy', options['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 경로 자동 감지 및 설정
|
||||||
ffmpeg_path = options.get('ffmpeg_path') or P.ModelSetting.get('ffmpeg_path')
|
ffmpeg_path = options.get('ffmpeg_path') or P.ModelSetting.get('ffmpeg_path')
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
title: "GDM"
|
title: "GDM"
|
||||||
package_name: gommi_downloader_manager
|
package_name: gommi_downloader_manager
|
||||||
version: '0.2.16'
|
version: '0.2.18'
|
||||||
description: FlaskFarm 범용 다운로더 큐 - YouTube, 애니24, 링크애니, Anilife 지원
|
description: FlaskFarm 범용 다운로더 큐 - YouTube, 애니24, 링크애니, Anilife 지원
|
||||||
developer: projectdx
|
developer: projectdx
|
||||||
home: https://gitea.yommi.duckdns.org/projectdx/gommi_downloader_manager
|
home: https://gitea.yommi.duckdns.org/projectdx/gommi_downloader_manager
|
||||||
|
|||||||
Reference in New Issue
Block a user