tonhowtf/omniget
Rust17 / 0
Tauri와 Rust 기반으로 yt-dlp·FFmpeg를 번들해 1,800개 이상 사이트에서 강좌·비디오·음악·전자책을 내려받아 앱 내부에서 재생하고 노트·학습 기능을 제공하는 오픈소스 데스크톱 앱이다.
TL;DR
OmniGet은 Tauri(Rust) 백엔드와 Svelte 프론트엔드를 결합한 크로스플랫폼 오픈소스 데스크톱 앱으로, 번들된 yt-dlp와 FFmpeg를 사용해 1,800개 이상의 사이트에서 온라인 강좌·비디오·오디오·전자책을 다운로드하고 앱 내부에서 재생과 학습 관리를 연속적으로 수행한다. 클립보드 글로벌 단축키로 링크를 즉시 큐에 넣고 품질·구간·자막을 GUI에서 선택할 수 있으며 코스 전체 다운로드, 타임스탬프 노트, PDF 병렬 보기 같은 학습 특화 워크플로를 기본 기능으로 제공한다. 플러그인 SDK는 플랫폼별 추출 로직과 외부 서비스 연동을 모듈화해 유지보수와 확장성을 확보하며 macOS Gatekeeper 처리와 같은 설치 특이점 외에는 터미널 의존 없이 사용 가능한 배포 경험을 제공한다.
핵심 포인트
- yt-dlp를 번들로 포함해 1,800개 이상의 사이트 호환성을 제공하고, GUI에서 품질·자막·부분 클립 선택까지 노출해 단순한 yt-dlp GUI보다 세밀한 제어를 가능하게 한다. 이 접근은 커맨드라인 스크립트 유지보수 부담을 GUI와 플러그인으로 이동시켜 사용자의 설정 부담을 낮춘다. 또한 yt-dlp 결과를 앱 내부 라이브러리와 동기화해 재생과 학습 추적을 통합한다.
- 다운로드 후 재생·타임스탬프 노트·PDF 병렬 열람 같은 학습 기능을 기본으로 제공해 단순 다운로드 도구와 차별화된 학습 플랫폼 역할을 수행한다. 코스 전체를 한 번에 받아서 앱 내에서 진도 관리를 하며 노트를 시간대별로 연동하는 워크플로우는 교육 콘텐츠 소비에 최적화되어 있다. 이로 인해 컨텐츠 수집과 소비 사이의 문맥 전환 비용이 줄어든다.
- 플러그인 시스템은 Rust 동적 라이브러리 형태로 설계되어 플랫폼별 추출 로직이나 외부 서비스 연동을 독립 모듈로 유지할 수 있게 한다. 플러그인은 자동 설치와 자체 업데이트를 지원하므로 플랫폼 변경에 따른 신속한 대응이 가능하며 호스트 코드와의 분리로 안전한 업데이트 경로를 확보한다. 이 구조는 타깃 사이트별 특이 처리와 확장성 관점에서 장점이 있다.
- 클립보드 글로벌 단축키로 링크를 감지해 백그라운드에서 자동으로 다운로드를 시작하며, 드라이브 어디서나 작동하도록 시스템 전역 훅을 사용해 사용성 장벽을 낮췄다. 다운로드는 큐에 들어가며 중단된 항목은 재시도와 백오프로 복구돼 신뢰성 높은 일괄 처리가 가능하다. 프리뷰 UI를 통해 품질과 형식 선택이 가능해 단순한 GUI 이상의 다운로드 제어를 제공한다.
이미지 분석


11.6k
STARS
1k
FORKS
+547
TRENDING
17
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.