From 7beb536ca0b49580dfa4d79156522fca18e2cffa Mon Sep 17 00:00:00 2001 From: projectdx Date: Thu, 8 Jan 2026 21:11:08 +0900 Subject: [PATCH] docs: Update README with v0.2.25 changelog --- README.md | 2 ++ downloader/__init__.py | 2 +- downloader/ffmpeg_hls.py | 9 +++++---- info.yaml | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 474372a..e521c1a 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ FlaskFarm용 범용 다운로드 매니저 플러그인입니다. - **카드 상태별 색상**: 완료(초록), 에러(빨강), 다운로드 중(파랑) 배경 구분 - **부분 DOM 업데이트**: 이미지 깜빡임 방지, 성능 최적화 - **소스 타입 수정**: ani24 → ohli24로 통일 +- **FFmpeg HLS 안정성**: 비표준 m3u8 확장자(`.txt`) 지원 및 호환성 옵션 최적화 +- **썸네일 버그 수정**: 외부 플러그인 위임 시 썸네일 누락 현상 수정 ## v0.2.17 변경사항 (2026-01-08) - **yt-dlp HTTP 헤더 지원**: `options.headers` 딕셔너리에서 `--add-header` 인자를 생성하여 Referer/User-Agent 등 커스텀 헤더를 yt-dlp에 전달합니다. diff --git a/downloader/__init__.py b/downloader/__init__.py index 09deafa..67021e5 100644 --- a/downloader/__init__.py +++ b/downloader/__init__.py @@ -12,7 +12,7 @@ def get_downloader(source_type: str) -> Optional[BaseDownloader]: from .ytdlp_aria2 import YtdlpAria2Downloader return YtdlpAria2Downloader() - elif source_type in ('ohli24', 'hls'): + elif source_type in ('ohli24', 'ani24', 'hls'): from .ffmpeg_hls import FfmpegHlsDownloader return FfmpegHlsDownloader() diff --git a/downloader/ffmpeg_hls.py b/downloader/ffmpeg_hls.py index 64f05e5..80a93a5 100644 --- a/downloader/ffmpeg_hls.py +++ b/downloader/ffmpeg_hls.py @@ -80,13 +80,13 @@ class FfmpegHlsDownloader(BaseDownloader): except Exception as ce: logger.error(f"Failed to read cookies_file: {ce}") - # 입력 전 설정 (Reconnection & HTTP persistence fix) + # 입력 전 설정 (Reconnection & Allowed extensions for non-standard m3u8 like .txt) cmd.extend([ + '-allowed_extensions', 'ALL', '-reconnect', '1', '-reconnect_at_eof', '1', '-reconnect_streamed', '1', - '-reconnect_delay_max', '5', - '-http_persistent', '0' + '-reconnect_delay_max', '5' ]) # 입력 URL @@ -178,7 +178,8 @@ class FfmpegHlsDownloader(BaseDownloader): def _get_duration(self, url: str, ffprobe_path: str, headers: Dict) -> float: """ffprobe로 영상 길이 획득""" try: - cmd = [ffprobe_path, '-v', 'error', '-show_entries', 'format=duration', + cmd = [ffprobe_path, '-v', 'error', '-allowed_extensions', 'ALL', + '-show_entries', 'format=duration', '-of', 'default=noprint_wrappers=1:nokey=1'] if headers: diff --git a/info.yaml b/info.yaml index bfd708e..dac9142 100644 --- a/info.yaml +++ b/info.yaml @@ -1,6 +1,6 @@ title: "GDM" package_name: gommi_downloader_manager -version: '0.2.25' +version: '0.2.26' description: FlaskFarm 범용 다운로더 큐 - YouTube, 애니24, 링크애니, Anilife 지원 developer: projectdx home: https://gitea.yommi.duckdns.org/projectdx/gommi_downloader_manager