프로젝트 소개

yt-dlp-downloader는 Go와 Gin으로 구축된 도구로, URL을 통해 비디오를 비동기적이고 확장 가능한 방식으로 다운로드할 수 있게 해줍니다. 이 시스템은 다운로드 엔진으로 yt-dlp를 사용하며, 작업 큐 관리를 위해 Redis와 Asynq를 활용합니다. 주요 기능: - 멀티플랫폼 다운로드: 링크 출처 자동 식별 및 다양한 사이트 지원. - 품질 관리: 파일 크기 추정치와 함께 비디오 품질 선택 가능. - 실시간 모니터링: Server-Sent Events (SSE)를 통해 진행률(백분율, 속도 및 ETA) 추적. - 확장 가능한 아키텍처: 독립적인 워커를 통한 분산 처리 및 Cloudflare R2에 파일 저장. - 보안 및 견고함: 부적절한 접근을 방지하기 위한 URL 정규화, 도메인 오류 처리 및 TLS 차단 방지를 위한 브라우저 사칭(curl-cffi 사용) 지원. - 관리자 패널: 사용자 제어, 글로벌 다운로드 기록, 저장소 모니터링 및 플랫폼 계정 관리가 가능한 슈퍼 관리자 전용 관리 영역. - 프록시 최적화: 메타데이터 추출 단계에 전용 프록시를 구현하여 주거용 프록시의 대역폭 소비 감소.