- CineCLI là cô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 Typer và Rich để 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 là ứ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
Ví dụ sử dụng
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ố (🔴)
- Là 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
Ý 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
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.strmchỉ đơn giản là file văn bản chứa URL, tôi đã tham khảo tài liệu liên quan và tìm kiếm issueVì 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
.strmcó 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
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
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 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
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
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ố
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
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 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