A powerful terminal-based torrent streaming client that allows you to stream torrents directly to your favorite media player (MPV/VLC) without downloading the entire file first.
- 🎬 Direct Streaming: Stream torrents directly from magnet links or torrent files
- 🔍 Built-in Search: Search for torrents from multiple sources
- 🖼️ Poster Display: View movie/show posters in the terminal (with viu)
- 📺 Subtitle Support: Automatic subtitle loading and selection
- 🎨 Theme System: Customizable color themes
- 📊 Watch History: Track your viewing history with automatic resume
- 🔧 Player Selection: Support for MPV, VLC, and other media players
- ⚡ Fast & Lightweight: Written in Bash with Python modules for performance
- 📱 Responsive UI: Clean terminal interface with progress indicators
- Bash 4.0+ (or Zsh)
- Python 3.7+
- curl (required for API calls)
- jq (for JSON parsing)
- mpv or vlc (recommended media player)
- viu (optional, for poster display)
# Install required dependencies
brew install python3 curl jq mpv viu
# Install Node.js (required for peerflix)
brew install node
# Clone the repository
git clone https://github.com/metacritical/termflix.git
cd termflix
# Make termflix executable
chmod +x bin/termflix
# Create a symlink for easy access
sudo ln -s "$(pwd)/bin/termflix" /usr/local/bin/termflix# Ubuntu/Debian
sudo apt update
sudo apt install -y python3 python3-pip curl jq mpv
# Install viu (optional)
cargo install viu
# Install Node.js
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
# Clone and setup
git clone https://github.com/metacritical/termflix.git
cd termflix
chmod +x bin/termflix
sudo ln -s "$(pwd)/bin/termflix" /usr/local/bin/termflix# Stream from a magnet link
termflix magnet:?xt=urn:btih:...
# Stream from a torrent file
termflix ./movie.torrent
# Search for content
termflix search "Inception"
# Show watch history
termflix history
# Play from history
termflix play 1
# Show help
termflix helpSimply run termflix to enter interactive mode with a menu-driven interface.
Configuration files are stored in:
- macOS:
~/Library/Application Support/Termflix/ - Linux:
~/.config/termflix/
# List available themes
termflix theme list
# Set a theme
termflix theme set monokai
# Create a custom theme
termflix theme create mythemeTermflix uses a modular architecture:
- Core: Basic functionality, configuration, and utilities
- Commands: Search, play, history management
- UI: Interactive menus and progress displays
- API: Integration with torrent providers
- Theme: Color scheme management
- peerflix: Streaming torrent client
- mpv: Media player (recommended)
- curl: HTTP requests
- jq: JSON processing
- Python: Additional functionality modules
-
"peerflix not found"
npm install -g peerflix
-
"viu not found" (poster display disabled)
brew install viu # macOS cargo install viu # Linux
-
Permission denied
chmod +x bin/termflix
-
Port already in use
# Kill the process using the port lsof -ti:8888 | xargs kill -9
Enable debug logging:
export TERMFLIX_DEBUG=1
termflix- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Please ensure you have the right to stream any content. This tool is for educational purposes only. Respect copyright laws in your jurisdiction.
If you encounter any issues, please:
- Check the troubleshooting section
- Search existing issues on GitHub
- Create a new issue with detailed information
Termflix - Terminal-based torrent streaming made simple.