1,800개 사이트 지원하는 올인원 미디어 다운로드·학습 데스크톱
Tauri와 Rust 기반으로 yt-dlp·FFmpeg를 번들해 1,800개 이상 사이트에서 강좌·비디오·음악·전자책을 내려받아 앱 내부에서 재생하고 노트·학습 기능을 제공하는 오픈소스 데스크톱 앱이다.
TL;DR
OmniGet은 Tauri(Rust) 백엔드와 Svelte 프론트엔드를 결합한 크로스플랫폼 오픈소스 데스크톱 앱으로, 번들된 yt-dlp와 FFmpeg를 사용해 1,800개 이상의 사이트에서 온라인 강좌·비디오·오디오·전자책을 다운로드하고 앱 내부에서 재생과 학습 관리를 연속적으로 수행한다. 클립보드 글로벌 단축키로 링크를 즉시 큐에 넣고 품질·구간·자막을 GUI에서 선택할 수 있으며 코스 전체 다운로드, 타임스탬프 노트, PDF 병렬 보기 같은 학습 특화 워크플로를 기본 기능으로 제공한다. 플러그인 SDK는 플랫폼별 추출 로직과 외부 서비스 연동을 모듈화해 유지보수와 확장성을 확보하며 macOS Gatekeeper 처리와 같은 설치 특이점 외에는 터미널 의존 없이 사용 가능한 배포 경험을 제공한다.
주요 기능
- 클립보드 글로벌 단축키로 링크를 감지해 백그라운드에서 자동으로 다운로드를 시작하며, 드라이브 어디서나 작동하도록 시스템 전역 훅을 사용해 사용성 장벽을 낮췄다. 다운로드는 큐에 들어가며 중단된 항목은 재시도와 백오프로 복구돼 신뢰성 높은 일괄 처리가 가능하다. 프리뷰 UI를 통해 품질과 형식 선택이 가능해 단순한 GUI 이상의 다운로드 제어를 제공한다.
- 내장 플레이어와 리더가 다운로드한 비디오, 오디오, PDF, EPUB, CBZ를 앱 내부에서 직접 재생하고 읽기를 이어가며 타임스탬프 노트를 클릭하면 해당 시점으로 점프하는 워크플로를 제공한다. 코스 전체 다운로드 후 연속 재생·진도 관리·첨부파일 동시 열기 등 학습 흐름을 유지하는 기능이 결합되어 있다. 로컬 라이브러리 관리는 앨범·아티스트·커버 추출을 포함해 기존 미디어 플레이어와 유사한 탐색성을 제공한다.
- 플러그인 아키텍처는 Rust로 작성된 동적 라이브러리와 Plugin SDK를 통해 확장되며, 코스 추출·텔레그램 연동·파일 변환 같은 기능을 모듈로 추가하거나 제거할 수 있다. 플러그인은 첫 실행에 자동 설치되고 자체 업데이트를 수행하므로 플랫폼별 추출 로직을 개별 모듈로 유지할 수 있다. 이 구조는 개별 플랫폼 변경에 대한 유지보수를 플러그인 단위로 국한시키는 효과가 있다.
어떻게 동작하는가
OmniGet은 Svelte 기반의 프론트엔드와 Rust/Tauri 백엔드를 결합해 UI 이벤트를 네이티브 프로세스로 전달하고 파일 I/O 및 번들 실행을 네이티브에서 처리하는 구조이다. 다운로드 엔진으로는 번들된 yt-dlp를 사용해 사이트별 extractor를 실행하고, 필요시 FFmpeg로 포맷 변환이나 클립 추출을 수행해 결과 파일을 라이브러리에 등록한다. 플러그인은 omniget-plugin-sdk 규격의 Rust 동적 라이브러리로 호스트와 ABI로 통신하며 플랫폼 전용 처리나 추가 후처리를 모듈화한다.
해결 문제
여러 개의 커맨드라인 도구와 스크립트를 조합해야 했던 온라인 코스·비디오·오디오 다운로드 과정을 단일 GUI로 통합해 사용자가 터미널이나 Python 환경을 거치지 않고도 다운로드부터 재생·학습까지 이어가게 한다. 사이트별 추출기 유지와 포맷 선택, 재생·노트·PDF 병렬 보기와 같은 학습 워크플로가 분산되어 있던 문제를 하나의 앱에서 연속된 경험으로 연결한다. 또한 번들된 yt-dlp와 FFmpeg, 자동 플러그인 업데이트로 사용자가 개별 도구 설치와 버전 관리를 신경 쓸 필요를 줄였다.
지금 주목받는 이유
오픈소스 기반으로 GUI에서 1,800개 이상의 사이트를 지원하고 강좌 풀 다운로드·내장 재생·학습 보조 기능을 결합한 유니크한 조합이 빠른 인기를 얻어 수천 개의 스타를 확보했다. 번들형 배포와 플러그인 자동 관리, 그리고 '터미널 불필요'라는 사용자 경험이 넓은 사용자층에 매력으로 작용했다. 크로스플랫폼 배포(Tauri + Rust + Svelte)로 데스크톱 사용자 진입 장벽을 낮춘 점도 주목을 받는 이유다.
차별점
- yt-dlp를 번들로 포함해 1,800개 이상의 사이트 호환성을 제공하고, GUI에서 품질·자막·부분 클립 선택까지 노출해 단순한 yt-dlp GUI보다 세밀한 제어를 가능하게 한다. 이 접근은 커맨드라인 스크립트 유지보수 부담을 GUI와 플러그인으로 이동시켜 사용자의 설정 부담을 낮춘다. 또한 yt-dlp 결과를 앱 내부 라이브러리와 동기화해 재생과 학습 추적을 통합한다.
- 다운로드 후 재생·타임스탬프 노트·PDF 병렬 열람 같은 학습 기능을 기본으로 제공해 단순 다운로드 도구와 차별화된 학습 플랫폼 역할을 수행한다. 코스 전체를 한 번에 받아서 앱 내에서 진도 관리를 하며 노트를 시간대별로 연동하는 워크플로우는 교육 콘텐츠 소비에 최적화되어 있다. 이로 인해 컨텐츠 수집과 소비 사이의 문맥 전환 비용이 줄어든다.
- 플러그인 시스템은 Rust 동적 라이브러리 형태로 설계되어 플랫폼별 추출 로직이나 외부 서비스 연동을 독립 모듈로 유지할 수 있게 한다. 플러그인은 자동 설치와 자체 업데이트를 지원하므로 플랫폼 변경에 따른 신속한 대응이 가능하며 호스트 코드와의 분리로 안전한 업데이트 경로를 확보한다. 이 구조는 타깃 사이트별 특이 처리와 확장성 관점에서 장점이 있다.
사용 사례
- 온라인 강좌를 통째로 내려받아 오프라인에서 연속 재생하고 첨부된 PDF를 옆에 두고 학습 진도를 관리하는 학습 보조 도구로 사용할 수 있다. 자동 타임스탬프 노트와 재생 위치 복원 기능은 강의 기반 학습 세션을 효율적으로 만들며 자료 아카이빙과 재참고에 용이하다. 플랫폼 로그인을 통해 유료 콘텐츠의 권한을 유지한 상태로 최대 품질을 확보할 수 있다.
- 유튜브 플레이리스트나 팟캐스트를 대량으로 수집해 로컬 라이브러리로 구성하고 애플리케이션 내에서 재생 목록과 메타데이터를 관리하는 개인 미디어 허브로 활용할 수 있다. 동기화된 가사와 스트리밍 서비스 연동으로 로컬 파일과 온라인 서비스의 공존을 지원하며, 변환 도구로 포맷 통일 및 태그 정리가 가능하다. 채널 팔로우 자동 다운로드 기능은 새 업로드를 놓치지 않게 만든다.
- 특정 구간만 추출해 클립으로 저장하거나 SponsorBlock 연동으로 광고 구간을 건너뛰며 편집된 학습용 클립을 만드는 작업에 적합하다. FFmpeg 기반의 후처리와 부분 다운로드 기능으로 강의 중 핵심 구간만 선별해 저장할 수 있으며 이 파일들을 학습 노트와 연결해 재사용할 수 있다. 배치 다운로드와 텍스트 파일 기반 링크 입력으로 대규모 백업 작업도 가능하다.
시작하기
릴리스 페이지에서 운영체제에 맞는 번들(.exe, .dmg, Flatpak)을 내려받아 열면 설치 과정 없이 바로 실행할 수 있으며 macOS의 경우 Gatekeeper 문제를 해소하기 위한 두 줄의 Terminal 명령을 한 번만 실행하면 정상적으로 첫 실행이 가능하다. Flatpak을 통해 Linux에 설치할 때는 'flatpak install wtf.tonho.omniget' 명령을 사용하거나 Releases의 번들을 직접 받아 실행하면 된다. 최초 실행 시 번들된 yt-dlp와 FFmpeg가 자동으로 설치되며 플러그인도 초기화 시 자동으로 구성된다.
요구사항
- 일반 사용자용 실행에는 별도 런타임 요구사항이 없으며 Windows는 포터블 .exe, macOS는 .dmg, Linux는 Flatpak 또는 번들 형태로 제공되어 추가적인 시스템 종속성이 최소화되어 있다. 개발자 빌드는 Rust 툴체인과 Node.js 18+, pnpm이 필요하며 Tauri 개발을 위해 시스템별 네이티브 라이브러리(예: libwebkit2gtk)가 사전 설치되어야 한다. macOS에서 첫 실행 시 Gatekeeper 경고를 해제하기 위한 로컬 관리자 권한으로의 Terminal 접근이 한 번 필요하다.
- 번들 내부에서 yt-dlp와 FFmpeg가 자동으로 설치되지만 네트워크 접근 권한과 디스크 쓰기 권한이 필요하며 포터블 모드로 사용하려면 실행파일 옆에 portable.txt 파일을 배치해 앱 데이터가 실행 경로에 저장되도록 설정해야 한다. 로그인을 요구하는 일부 플랫폼의 고품질 다운로드(예: Bilibili 大会员 전용)는 해당 플랫폼 계정 정보 입력과 인증이 필요하다. 개인정보와 다운로드 파일은 로컬에만 저장되므로 네트워크 업로드 권한은 요구되지 않는다.
이미지 분석


7.6k
Stars
635
Forks
+212
Trending
12
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.