Tool for streaming videos from torrrents
Project description
PyTorr-Play
PyTorr-Play is a Python tool for searching torrents using the Jackett API, displaying results using curses
/rofi
, and downloading and playing the selected torrents using mpv
.
Features
- Search for torrents using the Jackett API.
- Display search results in a
curses
/rofi
menu. - Select and download torrents.
- Play downloaded torrents with
mpv
(or VLC, withwebtorrent-cli
). - Maintain a history of downloaded torrents.
Preview
Installation
Using pipx
pipx
allows you to install and run Python applications in isolated environments.
-
Install pipx (if not already installed):
python -m pip install --user pipx python -m pipx ensurepath
-
Install PyTorr-Play:
pipx install pytorr-play
From Source
-
Clone the repository:
git clone https://gitlab.com/imithrellas/pytorr-play.git cd pytorr-play
-
Install Poetry (if not already installed):
curl -sSL https://install.python-poetry.org | python3 -
-
Install dependencies:
poetry install
-
Install system dependencies:
Jackett
: Refer to instalation and setup steps on Jackett GitHub pagewebtorrent
: A streaming torrent client for the web. (Only needed for VLC, subject to change)mpv
: A media player based on MPlayer and mplayer2.
Use your package manager to install these dependencies:
sudo pacman -S mpv
-
Activate the virtual environment:
poetry shell
Configuration
Generate the Default Configuration File
pytorr-play --generate-config
This will create a configuration file at ~/.config/torrent_watcher/config.yaml
with the following content:
JACKETT_API_KEY: "your_api_key_here"
JACKET_PORT: 9117
JACKET_ADDRESS: "127.0.0.1"
Edit the Configuration File
Replace your_api_key_here
with your actual Jackett API key.
Usage
Search for Torrents
pytorr-play
This will prompt you to enter a search query and display the results in a curses
menu.
Alternatively you can use Rofi, if you have it installed on your system.
pytorr-play --ui Rofi
Show Torrent History
pytorr-play --history
This will display a table of previously downloaded torrents.
Use a Custom Configuration File
pytorr-play --config /path/to/your/config.yaml
This allows you to specify a custom configuration file path.
Arguments
-h
/--help
: Show help.--generate-config
: Generate the default configuration file.--config <path>
: Specify a custom configuration file path.--history
: Show torrent history.--ui
: Choose UI (Curses/Rofi).
Example
pytorr-play --config /home/user/custom_config.yaml
Plans
- Omit Webtorrent
- Find a way to include timestamp in the history to be able to resume play.
- Find a way to play multiple files in a playlist
- Implement a way for the app to know when user switches to a different file in the playlist(Using a callback MPV function?)
- Implement a menu where the user can choose which files to play
- List files available
- Allow selection of multiple files
- Allow selection of a range of files
- Include support for VLC(Recreate all of MPVs functionality)
Contributing
Feel free to open issues or submit pull requests for improvements or bug fixes.
Legal Disclaimer
Neither I nor this tool promote or condone the distribution or consumption of illegal content via torrents. This tool is intended solely for legal uses, such as downloading and sharing open-source software, public domain content, and other legally distributable files. Users are responsible for ensuring that their usage complies with all applicable laws and regulations.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pytorrplay-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ba8b459e5430590e203a15608d6c233434f00fd828eb3ead3b61b15fd2f72b3 |
|
MD5 | 72eb166ac5e39f695ebd2a150ded3f73 |
|
BLAKE2b-256 | cc28a828f2b583827e774c8408dce4adb6f9549303efb01fe66e7cb1aadcfbd9 |