3 điểm bởi GN⁺ 2025-12-25 | 1 bình luận | Chia sẻ qua WhatsApp
  • CineCLIcông cụ CLI đa nền tảng cho phép tìm kiếm thông tin phim và chạy torrent trực tiếp trong môi trường terminal
  • Sử dụng YTS API để tải dữ liệu phim, đồng thời tự động chọn chất lượng cao nhất và seed khỏe
  • Được xây dựng trên Python 3.11+, dùng TyperRich để cung cấp giao diện trực quan
  • Trên môi trường Nix/NixOS, có thể chạy mà không cần cài đặt riêng, và chuyển liên kết magnet tới trình khách torrent mặc định của hệ điều hành
  • Hỗ trợ từ tìm kiếm theo lệnh đơn giản đến chế độ tương tác, là công cụ hữu ích cho cả lập trình viên lẫn người yêu điện ảnh

Tổng quan về CineCLI

  • CineCLIứng dụng CLI nhanh và tối giản để khám phá, xem thông tin và chạy torrent phim ngay trong terminal
    • Hoạt động trên Linux, macOS và Windows
    • Cung cấp giao diện terminal gọn gàng, trực quan dựa trên rich
  • Sử dụng YTS API để tìm kiếm thông tin phim và hiển thị kết quả theo ID, tiêu đề, năm và điểm đánh giá
  • Người dùng có thể chọn ID phim để xem chi tiết, rồi chọn torrent mong muốn hoặc dùng tính năng tự động chọn

Tính năng chính

  • Tìm kiếm phim: tìm phim trên YTS bằng lệnh cinecli search <tiêu đề>
  • Xem thông tin chi tiết: hiển thị thông tin chi tiết của phim đã chọn và danh sách torrent khả dụng
  • Tự động chọn torrent: tự động chọn dựa trên chất lượng cao nhất và seed khỏe
  • Chạy torrent: chuyển liên kết magnet tới trình khách mặc định đã đăng ký trong hệ điều hành (qBittorrent, Transmission, v.v.)
  • Cung cấp tùy chọn tải xuống tệp .torrent
  • Hỗ trợ chế độ tương tác (interactive) để thực hiện tuần tự quy trình tìm kiếm → chọn → tải xuống

Cài đặt và chạy

  • Cài đặt bằng pip:
    pip install cinecli
    
    • Yêu cầu Python 3.11 trở lên
  • Hỗ trợ Nix/NixOS:
    • Dựa trên flake nên có thể chạy mà không cần cài Python hoặc pip
    • Chạy trực tiếp bằng lệnh nix run github:eyeblech/cinecli
    • Có thể thêm vào profile bằng nix profile add github:eyeblech/cinecli
  • Cài đặt từ mã nguồn (dành cho nhà phát triển):
    git clone https://github.com/eyeblech/cinecli.git
    cd cinecli
    pip install -e .
    

Ví dụ sử dụng

  • Ví dụ tìm kiếm
    cinecli search matrix
    
    Ví dụ kết quả:
    ID     Title                 Year   Rating
    3525   The Matrix            1999   8.7
    3526   The Matrix Reloaded   2003   7.2
    
  • Lệnh xem phim
    cinecli watch 3525
    
    • Hiển thị thông tin chi tiết của phim
    • In ra danh sách torrent khả dụng
    • Sau khi chọn tự động hoặc thủ công, chạy magnet hoặc tải xuống .torrent

Ngăn xếp công nghệ

  • Python
  • Typer: framework CLI
  • Rich: xây dựng UI terminal
  • Requests: giao tiếp API
  • YTS API: nguồn dữ liệu phim

Thông tin khác

  • Được phát hành theo giấy phép MIT, cho phép tự do sử dụng và chỉnh sửa
  • Trạng thái YTS API được giám sát tự động mỗi 15 phút và hiển thị là bình thường (🟢) hoặc sự cố (🔴)
  • dự án mã nguồn mở, hoan nghênh PR và đánh dấu sao (⭐)
  • Tác giả: eyeblech (email: 0x1123@proton.me)

1 bình luận

 
GN⁺ 2025-12-25
Ý kiến trên Hacker News
  • Trên Android TV, tôi đã có được kết quả tương tự bằng Stremio(stremio.com) và plugin Torrentio(torrentio.org)
    Sẽ rất tuyệt nếu trên Linux cũng có thể stream bằng terminal, và sẽ còn hoàn hảo hơn nếu có tính năng quét file độc hại trước khi tải xuống

    • Torrentio cung cấp metadata, còn Stremio phụ trách UI và phát nội dung
      Cách này giúp giảm thiểu yêu cầu về dung lượng lưu trữ
      Tự nhiên tôi thắc mắc liệu Jellyfin có thể thiết lập tương tự không, nên đã tìm thì thấy nó hỗ trợ file .strm
      .strm chỉ đơn giản là file văn bản chứa URL, tôi đã tham khảo tài liệu liên quantìm kiếm issue
      Vì tôi dùng tracker riêng nên sẽ phải tự làm một custom scraper để thay thế chức năng của Torrentio, nhưng việc tự động tạo file .strm có vẻ không quá khó
      Tuy vậy, vẫn cần kiểm tra thêm về hiệu năng và vấn đề transcoding
    • (Phản ứng ngắn) Suỵt...
  • Cảm giác như đang lại nghe thấy tiếng vọng của Popcorn Time
    Nếu CineCLI trở nên quá dễ dùng thì có thể sẽ nhận cảnh báo bản quyền, nhưng có vẻ nó không có tính năng phát trực tiếp nên có lẽ vẫn an toàn hơn đôi chút

    • Popcorn Time đúng là một ứng dụng huyền thoại. RIP
  • Với những ai biết dùng công cụ CLI, việc tự tải các bản phát hành chất lượng cao cũng không hề khó
    Cũng không cần những thủ tục như phỏng vấn vào tracker riêng
    YTS có chất lượng quá thấp, nên tôi không rõ dự án này nhắm tới ai — nếu chỉ là một dự án thử nghiệm để làm app trên API thì còn hiểu được

    • Tôi tò mò không biết giờ còn chỗ nào dùng ổn. Cảm giác Napster ngày xưa đang quay trở lại
  • Tôi cũng đã làm thứ tương tự, là một webapp có thể tìm kiếm trên bất kỳ tracker nào mà Jackett hỗ trợ rồi stream ngay trong trình duyệt
    Mã nguồn mở nên có thể xem tại GitHub - rapidbay

  • Tôi tò mò không biết nên dùng lệnh nào để cài đặt hoặc chạy cái này thật nhanh bằng uv

    • Có thể chạy ngay bằng lệnh uvx cinecli search "star wars"
  • Thứ tôi muốn là một công cụ có thể chỉ stream một đoạn theo timestamp cụ thể, rồi lưu đoạn đó thành file cục bộ
    Nếu có tính năng này thì nhiều workflow sẽ hiệu quả hơn rất nhiều

    • Nếu có thể thu thập dữ liệu về việc mọi người chỉ tải các đoạn cụ thể thay vì toàn bộ stream, thì điều đó cũng có thể được dùng làm căn cứ cho lập luận fair use của torrent
    • Tôi tò mò không biết stream theo timestamp hoạt động thế nào
    • Tôi cũng cùng câu hỏi — stream theo timestamp có khả thi không?
  • Terrarium TV là bản gốc, rồi sau đó mới xuất hiện các bản fork như Corn Time, Cinema APK, TeaTV, BeeTV

  • Đây chỉ đơn thuần là một wrapper cho YTS API

  • Trông khá ngầu. Tôi sẽ thêm vào danh sách để test

  • Tôi không phân biệt được là GIF bị giật hay tốc độ gõ thực sự là như vậy
    Nếu muốn thì tôi có thể dạy gõ phím để lên mức WPM hai chữ số

    • Mấy thứ như thế này chỉ cần chuẩn bị một chút là có thể làm mượt hơn nhiều
      Bản thân dự án thì rất tuyệt, nhưng với video demo thì nên lên trước nội dung sẽ trình bày gì và tập vài lần để ghi hình với nhịp chảy tự nhiên
      Tạm dừng một chút để người xem dễ theo dõi thì không sao, nhưng gõ chậm thì khá khó xem
    • Trớ trêu là trên hồ sơ GitHub của tác giả lại có link monkeytype
      Thật ra chỉ cần học chút chỉnh sửa ffmpeg cơ bản thôi là cũng cải thiện nhiều rồi
    • Tôi cũng vào phần bình luận vì video chậm đó
      Tôi không xem nổi đến hết, và tiện thể thì có vẻ pip cũng cần được cập nhật