프로젝트 소개
OpenAver는 무료 오픈소스 데스크톱 애플리케이션으로, "커버로 둘러보고 배우로 찾는다"는 컬렉션 탐색 방식을 내세우며, 선택적으로 Jellyfin/Emby/Kodi에 필요한 NFO와 커버 이미지를 출력할 수 있습니다. 프로젝트는 MIT 라이선스로 배포되며, 100% 로컬 실행, 계정 등록 불필요, 파일 정보 업로드 없음을 강조합니다. 네트워크 요청은 공개 메타데이터 스크래핑에만 사용됩니다.
설치 및 플랫폼
Windows 10/11과 macOS(Apple 실리콘 M1 이후)를 지원합니다. 한 줄 명령 설치 스크립트(macOS는 curl, Windows는 PowerShell)를 제공하며, Releases에서 ZIP 또는 Windows용 .bat 설치 파일을 다운로드할 수도 있습니다. 설치 후에는 전부 그래픽 인터페이스로 조작하며, Docker도 필요 없고 명령어를 입력할 필요도 없습니다. Linux는 공식 설치 프로그램이 없지만, 문서에 따르면 직접 LAN 서버로 구축해 브라우저로 조작할 수 있습니다.
세 가지 주요 페이지
1. Scanner(스캔): 동영상이 있는 폴더를 추가하고 "웹페이지 생성"을 누르면 라이브러리에 들어갑니다. 동영상 옆에 NFO와 커버 이미지가 이미 있으면 기존 데이터를 그대로 읽으며, 스캔 과정은 읽기만 하고 쓰지 않습니다. 스캔 후 NFO나 커버가 없는 항목을 나열하고, 한 번의 클릭으로 네트워크에서 보완할 수 있습니다. 보완 시 빈 필드만 채우고 기존 데이터는 덮어쓰지 않습니다.
2. Showcase(탐색): 커버 월로 컬렉션을 표시하며 필터 조건을 겹쳐 적용할 수 있습니다. 배우는 별도의 월로 제공되며 키, 컵 사이즈, 쓰리 사이즈, 나이, 별명 이력 등의 데이터 카드를 제공하고 컵 사이즈, 나이, 키, 작품 수로 정렬할 수 있습니다. 또한 규칙 기반 유사 작품 추천(태그, 시리즈, 제작사, 배우)이 있으며, 로컬 비교로 오프라인에서 즉시 작동합니다.
3. Search(검색): 새로 다운로드한 동영상을 처리하며, 파일이나 폴더를 끌어다 놓으면 품번을 자동 인식하고, 일괄 조회, 커버와 스틸 이미지 다운로드 후 확인하고 "정리"를 누르면 이름 변경, 폴더 생성, NFO 작성이 이루어집니다. 북마크 기능과 선택적 정기 정리(12시간마다 지정 폴더 자동 처리)도 있습니다.
스크래핑 소스
8개 소스 내장: JavBus, Jav321, JavDB, DMM, D2Pass, HEYZO, FC2, AVSOX. 동시에 조회하고 라이브러리와 대조하며 이미 소장 중임을 표시할 수 있습니다. 또한 JavLibrary와 FC2-javten 두 백업 사이트가 있으나 Cloudflare 인간 인증 뒤에 있어 데스크톱 버전에서만 수동 정확 품번 조회를 지원합니다. 고급 사용자는 Metatube를 직접 구축해 페더레이션에 연결할 수 있으며, 소스는 총 30여 개의 커뮤니티 유지 provider에 달할 수 있습니다.
재생 소프트웨어와의 통합
정리 시 Jellyfin/Emby/Kodi가 인식하는 poster, fanart 파일명과 NFO를 출력하도록 선택할 수 있으며, 동영상은 원래 위치에 남습니다. NAS나 클라우드 마운트 등 변경하고 싶지 않은 컬렉션은 "읽기 전용" 소스로 설정할 수 있습니다. 원본 파일은 전혀 쓰지 않고, 가져온 데이터와 커버는 로컬 지정 폴더에 출력하며, .strm 파일을 생성해 재생 소프트웨어가 원본을 직접 스트리밍할 수 있게 합니다. 또한 머신 간 경로 치환 규칙도 지원합니다.
기타 기능
- 배우 및 태그 별명: 인터페이스에서 별명을 추가할 수 있으며, 검색 시 중일영 동의어가 자동 확장되고, 같은 사람의 예명과 은퇴명이 하나의 카드로 합쳐집니다.
- AI 번역: Ollama(로컬 무료), Gemini Flash, OpenAI 호환 엔드포인트를 지원하며, 일본어 작품명을 인터페이스 언어로 번역할 수 있습니다.
- 모바일 기기 탐색: 설정에서 "서버" 모드로 전환하면 같은 Wi-Fi의 스마트폰이나 태블릿에서 브라우저로 탐색할 수 있습니다. 기본적으로 외부에 공개되지 않으며 비밀번호를 설정할 수 있습니다.
- 정적 HTML 내보내기: 독립 HTML 파일을 생성해 오프라인으로 탐색할 수 있습니다.
- 네 가지 인터페이스 언어 실시간 전환: 번체 중국어, 간체 중국어, 일본어, 영어.
AI 조작 API
로컬에서 REST API와 capabilities manifest를 제공하며, AI 도구(Claude Code, Cursor 등)가 한 줄 curl로 엔드포인트 설명을 읽고 스스로 다단계 조작을 연결할 수 있습니다. 예를 들어 배우 일괄 즐겨찾기, 별명 생성, 태그 일괄 추가, 커버 포함 HTML 페이지 생성 등입니다. 엔드포인트 정의는 web/routers/capabilities.py에 집중되어 있습니다.
기술 아키텍처
백엔드는 FastAPI(Python 3.12), 프런트엔드는 Jinja2, DaisyUI, Tailwind CSS, Alpine.js를 사용하며, 데스크톱 패키징은 PyWebView, 데이터베이스는 SQLite(WAL 모드), 테스트는 Pytest로 작성되었습니다. 프로젝트 문서에는 소스 코드에서 개발 모드와 데스크톱 모드를 실행하는 방법과 Windows 및 macOS 패키징 스크립트가 설명되어 있습니다.
개인정보 및 파일 안전
프로젝트는 동영상이나 라이브러리 목록을 업로드하지 않으며 계정과 원격 측정도 없다고 선언합니다. 검색, 탐색, 스캔은 모두 순수 읽기이며, 데이터 보완은 동영상 옆에 NFO와 커버를 추가할 뿐입니다. 사용자가 직접 "정리"를 눌렀을 때만 규칙에 따라 동영상을 이동하거나 이름을 바꾸며, 파일을 삭제하지 않고 대상 위치에 같은 이름의 파일이 있으면 먼저 알립니다.
라이선스 및 커뮤니티
MIT 라이선스로 배포되며, GitHub Issues와 Telegram 그룹을 보고 및 교류 채널로 제공합니다. 프로젝트에는 면책 조항도 포함되어 있어 사용자가 웹사이트 서비스 약관을 존중하고 요청 빈도를 합리적으로 조절하며 개인 학습 연구용으로만 사용할 것을 상기시킵니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.