3P by GN⁺ 15일전 | ★ favorite | 댓글 1개
  • CineCLI는 터미널 환경에서 영화 정보를 검색하고 토렌트를 직접 실행할 수 있는 크로스플랫폼 CLI 도구
  • YTS API를 통해 영화 데이터를 불러오며, 최고 품질과 건강한 시드를 자동으로 선택
  • Python 3.11+ 기반으로 제작되었으며, TyperRich를 사용해 직관적인 인터페이스 제공
  • Nix/NixOS 환경에서는 별도 설치 없이 실행 가능하며, magnet 링크를 OS 기본 토렌트 클라이언트로 전달
  • 단순한 명령형 검색부터 대화형 모드까지 지원해, 개발자와 영화 애호가 모두에게 유용한 도구

CineCLI 개요

  • CineCLI는 터미널에서 영화 토렌트를 탐색, 확인, 실행할 수 있는 빠르고 미니멀한 CLI 애플리케이션
    • Linux, macOS, Windows에서 모두 작동
    • rich 기반의 시각적으로 깔끔한 터미널 UI 제공
  • YTS API를 사용해 영화 정보를 검색하고, 결과를 ID·제목·연도·평점 형태로 표시
  • 사용자는 영화 ID를 선택해 세부 정보를 확인하고, 원하는 토렌트를 선택하거나 자동 선택 기능을 이용 가능

주요 기능

  • 영화 검색: cinecli search <제목> 명령으로 YTS에서 영화 검색
  • 세부 정보 보기: 선택한 영화의 상세 정보와 이용 가능한 토렌트 목록 표시
  • 자동 토렌트 선택: 최고 화질과 건강한 시드를 기준으로 자동 선택
  • 토렌트 실행: magnet 링크를 OS에 등록된 기본 클라이언트(qBittorrent, Transmission 등)로 전달
  • .torrent 파일 다운로드 옵션 제공
  • 대화형 모드(interactive) 지원으로, 검색→선택→다운로드 과정을 단계적으로 수행

설치 및 실행

  • pip 설치:
    pip install cinecli
    
    • Python 3.11 이상 필요
  • Nix/NixOS 지원:
    • flake 기반으로 Python이나 pip 설치 없이 실행 가능
    • nix run github:eyeblech/cinecli 명령으로 바로 실행
    • nix profile add github:eyeblech/cinecli로 프로필에 추가 가능
  • 소스 코드 설치(개발자용) :
    git clone https://github.com/eyeblech/cinecli.git
    cd cinecli
    pip install -e .
    

사용 예시

  • 검색 예시
    cinecli search matrix
    
    결과 예시:
    ID     Title                 Year   Rating
    3525   The Matrix            1999   8.7
    3526   The Matrix Reloaded   2003   7.2
    
  • 영화 시청 명령
    cinecli watch 3525
    
    • 영화 세부 정보 표시
    • 이용 가능한 토렌트 목록 출력
    • 자동 또는 수동 선택 후 magnet 실행 또는 .torrent 다운로드

기술 스택

  • Python 기반
  • Typer: CLI 프레임워크
  • Rich: 터미널 UI 구성
  • Requests: API 통신
  • YTS API: 영화 데이터 소스

기타 정보

  • MIT 라이선스로 공개되어 자유로운 사용 및 수정 가능
  • YTS API 상태는 15분마다 자동 모니터링되며, 정상(🟢) 또는 장애(🔴) 상태로 표시
  • 오픈소스 프로젝트로, PR과 별표(⭐) 참여를 환영
  • 제작자: eyeblech (이메일: 0x1123@proton.me)
Hacker News 의견들
  • Android TV에서 Stremio(stremio.com)와 Torrentio(torrentio.org) 플러그인을 이용해 비슷한 결과를 얻었음
    Linux에서도 터미널로 스트리밍할 수 있다면 좋겠고, 다운로드 전에 악성 파일 검사 기능이 있으면 더 완벽할 것 같음

    • Torrentio는 메타데이터를 제공하고, Stremio가 UI와 재생을 담당함
      이렇게 하면 저장 공간 요구량을 최소화할 수 있음
      문득 Jellyfin에서도 비슷한 구성이 가능한지 궁금해서 찾아보니 .strm 파일을 지원함
      .strm은 단순히 URL이 들어 있는 텍스트 파일로, 관련 문서이슈 검색을 참고했음
      개인 트래커를 쓰기 때문에 Torrentio 기능을 대체할 커스텀 스크레이퍼를 직접 만들어야 하지만, .strm 파일을 자동 생성하는 건 어렵지 않을 듯함
      다만 성능이나 트랜스코딩 문제는 좀 더 확인이 필요함
    • (짧은 반응) 쉿...
  • Popcorn Time의 메아리가 다시 들리는 듯한 느낌임
    CineCLI가 너무 사용하기 쉬워지면 저작권 경고가 날아올 수도 있겠지만, 직접 재생 기능이 없는 것 같아 그나마 안전할지도 모르겠음

    • Popcorn Time은 정말 전설적인 앱이었음. RIP
  • CLI 도구를 쓸 줄 아는 사람이라면 고품질 릴리스를 직접 다운로드하는 것도 어렵지 않음
    개인 트래커 인터뷰 같은 절차도 필요 없음
    YTS는 품질이 너무 낮아서, 이 프로젝트의 타깃이 누구인지 잘 모르겠음 — 단순히 API 위에 앱을 만들어보는 실험용 프로젝트라면 이해됨

    • 요즘 쓸 만한 곳이 어디인지 궁금함. 예전 Napster 감성이 다시 올라오는 중임
  • 나도 비슷한 걸 만들어봤는데, Jackett이 지원하는 어떤 트래커든 검색해서 브라우저에서 바로 스트리밍할 수 있는 웹앱임
    코드 공개되어 있으니 GitHub - rapidbay에서 볼 수 있음

  • 이걸 uv로 빠르게 설치하거나 실행하려면 어떤 명령을 쓰면 좋을지 궁금함

    • uvx cinecli search "star wars" 명령으로 바로 실행 가능함
  • 내가 원하는 건 특정 타임스탬프 구간만 스트리밍하고, 그 구간을 로컬 파일로 저장할 수 있는 도구임
    이런 기능이 있으면 여러 작업 흐름이 훨씬 효율적일 것 같음

    • 만약 사람들이 전체 스트림 대신 특정 구간만 다운로드하는 데이터를 모을 수 있다면, 토렌트의 공정 이용(fair use) 근거로도 활용될 수 있을 것 같음
    • 타임스탬프를 어떻게 스트리밍하는지 궁금함
    • 나도 같은 질문임 — 타임스탬프 스트리밍이 가능한가?
  • Terrarium TV가 원조였고, 이후 Corn Time, Cinema APK, TeaTV, BeeTV 같은 포크들이 나왔음

  • 이건 단순히 YTS API 래퍼에 불과함

  • 꽤 멋져 보임. 테스트 목록에 추가해둘 예정임

  • GIF가 버벅이는 건지, 아니면 실제 타이핑 속도가 그런 건지 구분이 안 됐음
    원한다면 WPM 두 자릿수로 올리는 타이핑 레슨도 가능함

    • 이런 건 조금만 준비하면 훨씬 매끄럽게 만들 수 있을 것 같음
      프로젝트 자체는 훌륭하지만, 데모 영상은 미리 어떤 걸 보여줄지 정하고 몇 번 연습해서 자연스러운 흐름으로 녹화하는 게 좋음
      시청자가 따라가기 쉽게 잠깐 멈추는 건 괜찮지만, 느린 타이핑은 보기 힘듦
    • 아이러니하게도 작성자의 GitHub 프로필에 monkeytype 링크가 있음
      사실 기본적인 ffmpeg 편집만 배워도 훨씬 나아질 듯함
    • 나도 그 느린 영상 때문에 댓글 보러 왔음
      끝까지 볼 수 없었고, 참고로 pip 업데이트도 필요해 보였음