3 puntos por GN⁺ 2025-12-25 | 1 comentarios | Compartir por WhatsApp
  • CineCLI es una herramienta CLI multiplataforma que permite buscar información de películas y ejecutar torrents directamente desde la terminal
  • Obtiene los datos de películas mediante la API de YTS y selecciona automáticamente la mejor calidad y seeds saludables
  • Está desarrollado sobre Python 3.11+ y ofrece una interfaz intuitiva usando Typer y Rich
  • En entornos Nix/NixOS puede ejecutarse sin instalación adicional, y envía los enlaces magnet al cliente de torrents predeterminado del sistema
  • Soporta desde búsquedas simples por comandos hasta modo interactivo, por lo que es una herramienta útil tanto para desarrolladores como para aficionados al cine

Resumen de CineCLI

  • CineCLI es una aplicación CLI rápida y minimalista para explorar, revisar y ejecutar torrents de películas desde la terminal
    • Funciona en Linux, macOS y Windows
    • Ofrece una interfaz de terminal visualmente limpia basada en rich
  • Usa la API de YTS para buscar información de películas y muestra los resultados en formato de ID, título, año y calificación
  • El usuario puede elegir el ID de una película para ver los detalles y seleccionar el torrent deseado, o usar la función de selección automática

Funciones principales

  • Búsqueda de películas: buscar películas en YTS con el comando cinecli search <título>
  • Ver detalles: muestra la información detallada de la película seleccionada y la lista de torrents disponibles
  • Selección automática de torrent: elige automáticamente según la mejor calidad y seeds saludables
  • Ejecución de torrents: envía los enlaces magnet al cliente predeterminado registrado en el sistema (qBittorrent, Transmission, etc.)
  • Opción para descargar archivos .torrent
  • Compatibilidad con modo interactivo (interactive) para realizar paso a paso el proceso de búsqueda → selección → descarga

Instalación y ejecución

  • Instalación con pip:
    pip install cinecli
    
    • Requiere Python 3.11 o superior
  • Compatibilidad con Nix/NixOS:
    • Basado en flake, puede ejecutarse sin instalar Python ni pip
    • Se ejecuta directamente con el comando nix run github:eyeblech/cinecli
    • Puede agregarse al perfil con nix profile add github:eyeblech/cinecli
  • Instalación desde el código fuente (para desarrolladores):
    git clone https://github.com/eyeblech/cinecli.git
    cd cinecli
    pip install -e .
    

Ejemplos de uso

  • Ejemplo de búsqueda
    cinecli search matrix
    
    Ejemplo de resultado:
    ID     Title                 Year   Rating
    3525   The Matrix            1999   8.7
    3526   The Matrix Reloaded   2003   7.2
    
  • Comando para ver la película
    cinecli watch 3525
    
    • Muestra los detalles de la película
    • Imprime la lista de torrents disponibles
    • Tras una selección automática o manual, ejecuta el magnet o descarga el .torrent

Stack tecnológico

  • Basado en Python
  • Typer: framework de CLI
  • Rich: construcción de la UI de terminal
  • Requests: comunicación con la API
  • API de YTS: fuente de datos de películas

Información adicional

  • Publicado bajo licencia MIT, lo que permite uso y modificación libremente
  • El estado de la API de YTS se monitorea automáticamente cada 15 minutos y se muestra como estado normal (🟢) o con fallas (🔴)
  • Como proyecto de código abierto, da la bienvenida a PR y estrellas (⭐)
  • Creador: eyeblech (correo: 0x1123@proton.me)

1 comentarios

 
GN⁺ 2025-12-25
Comentarios en Hacker News
  • En Android TV he logrado un resultado similar usando Stremio(stremio.com) y el plugin Torrentio(torrentio.org)
    Estaría bueno poder hacer streaming también desde la terminal en Linux, y sería aún más completo si tuviera una función de escaneo de archivos maliciosos antes de descargar

    • Torrentio proporciona los metadatos y Stremio se encarga de la UI y la reproducción
      Así se pueden minimizar los requisitos de almacenamiento
      Me dio curiosidad si algo parecido era posible también en Jellyfin, y al buscar vi que soporta archivos .strm
      .strm es simplemente un archivo de texto que contiene una URL; consulté la documentación relacionada y una búsqueda de issues
      Como uso trackers privados, tendría que crear yo mismo un scraper personalizado para reemplazar la funcionalidad de Torrentio, pero no parece difícil generar archivos .strm automáticamente
      Aun así, habría que revisar un poco más los temas de rendimiento o transcodificación
    • (reacción breve) Shhh...
  • Da la sensación de que se vuelven a escuchar los ecos de Popcorn Time
    Si CineCLI se vuelve demasiado fácil de usar, podrían empezar a llegar advertencias de copyright, aunque tal vez sea un poco más seguro porque no parece tener reproducción directa

    • Popcorn Time de verdad fue una app legendaria. RIP
  • Para alguien que sabe usar herramientas CLI, tampoco es tan difícil descargar por su cuenta lanzamientos de alta calidad
    Ni siquiera hace falta pasar por procesos como entrevistas para trackers privados
    YTS tiene una calidad demasiado baja, así que no tengo muy claro quién sería el público objetivo de este proyecto; si solo es un proyecto experimental para probar hacer una app sobre una API, se entiende

    • Me pregunto qué lugares valen la pena hoy en día. Me está volviendo la nostalgia de Napster
  • Yo también hice algo parecido: una webapp que busca en cualquier tracker compatible con Jackett y permite hacer streaming directo en el navegador
    El código es público, así que se puede ver en GitHub - rapidbay

  • Me pregunto qué comando convendría usar para instalarlo o ejecutarlo rápido con uv

    • Se puede ejecutar directamente con uvx cinecli search "star wars"
  • Lo que yo quiero es una herramienta que permita hacer streaming solo de un segmento de timestamp específico y guardarlo como archivo local
    Con una función así, varios flujos de trabajo serían mucho más eficientes

    • Si se pudiera recopilar datos de gente que descarga solo segmentos concretos en vez del stream completo, quizá también podría servir como base para argumentar uso justo (fair use) en torrents
    • Me pregunto cómo sería hacer streaming por timestamp
    • Tengo la misma duda: ¿se puede hacer streaming por timestamp?
  • Terrarium TV fue el original, y luego salieron forks como Corn Time, Cinema APK, TeaTV y BeeTV

  • Esto no es más que un wrapper de la API de YTS

  • Se ve bastante bien. Lo voy a agregar a mi lista de pruebas

  • No pude distinguir si el GIF se trababa o si esa era realmente la velocidad de escritura
    Si quieres, también puedo dar clases de mecanografía para subir eso a dos dígitos de WPM

    • Con un poco de preparación, algo así podría verse mucho más fluido
      El proyecto en sí es excelente, pero para el video de demo conviene definir de antemano qué se va a mostrar y practicarlo un par de veces para grabarlo con un flujo natural
      Está bien hacer una pausa breve para que el espectador pueda seguirlo, pero ver escritura lenta se hace pesado
    • Irónicamente, en el perfil de GitHub del autor hay un enlace a monkeytype
      La verdad, con solo aprender algo básico de edición con ffmpeg ya mejoraría bastante
    • Yo también vine a los comentarios por ese video lento
      No pude terminarlo y, de paso, parece que también hacía falta actualizar pip