A powerful terminal-based torrent streaming tool that lets you browse and stream movies and TV shows directly from your terminal.
- π₯ Browse Latest Movies & Shows - Browse trending and popular content
- π Search Torrents - Search across multiple torrent sites (YTS, YTSRS, TPB, EZTV, 1337x)
- π¬ Movie Posters - View movie posters in your terminal (requires
viuor Kitty terminal) - πΊ Stream to mpv/vlc - Stream torrents directly to your favorite media player
- π Smart Fallback - Automatically falls back to
transmission-cliwhenpeerflixfails - πΎ 8-Hour Caching - Caches catalog results for faster browsing
- π― TMDB Integration - Uses TheMovieDB API for accurate movie metadata and posters
- ποΈ Subtitle Support - Automatically finds and loads subtitle files
# Download and install
curl -fsSL https://raw.githubusercontent.com/metacritical/termflix/main/install.sh | bash
# Or manually
git clone https://github.com/metacritical/termflix.git
cd termflix
./install.shRequired:
bash(4.0+)jq- JSON parser for API responsespeerflixorwebtorrent-cli- Torrent streamingmpvorvlc- Media player
Optional:
transmission-cli- Fallback for problematic magnet linkspython3- For YTSRS search (web crawling)viu- Display movie posters in terminal (works on all platforms)kittyterminal - Native image support (better quality than viu)
macOS:
brew install jq peerflix mpv transmission-cli python3
# Optional: brew install viuLinux (Debian/Ubuntu):
sudo apt-get update
sudo apt-get install jq mpv transmission-cli python3
npm install -g peerflix
# Optional: cargo install viuLinux (RHEL/CentOS):
sudo yum install jq mpv transmission-cli python3
npm install -g peerflix
# Optional: cargo install viuOn first run, termflix will:
- Ask for your preferred media player (mpv or vlc)
- Create
~/.config/termflix/configwith your preferences - Create cache directory at
~/.config/termflix/cache/
For movie posters and metadata, get a free API key from TheMovieDB:
- Sign up at themoviedb.org
- Go to Settings β API
- Request an API key (free)
- Get a Read Access Token (also free)
Add to ~/.config/termflix/config:
TMDB_API_KEY=your_api_key_here
TMDB_READ_TOKEN=your_read_token_hereBrowse the latest movies and TV shows with movie posters displayed in your terminal.
termflix # Shows latest movies and shows
termflix latest movies # Latest movies only
termflix latest shows # Latest TV shows only
termflix trending all # Trending content
termflix popular all # Popular contenttermflix search "movie name"
termflix search "Superman 2025"termflix "magnet:?xt=urn:btih:..."termflix movie.torrenttermflix --help # Show help
termflix --list # List files in torrent
termflix -i 2 # Select specific file by index
termflix -s # Enable subtitles
termflix player mpv # Set default player to mpvWhen browsing the catalog:
- n - Next page (press key, no Enter needed)
- p - Previous page (press key, no Enter needed)
- 1-1100 - Select torrent (type number, press Enter)
- q or Esc - Cancel/Quit
After selecting a movie, termflix will set up streaming:
The script will buffer the video and show progress:
Once buffered, your media player will launch automatically:
-
Catalog Browsing: Fetches latest/trending content from multiple sources
-
Caching: Results are cached for 8 hours to reduce API calls
-
Streaming: Uses
peerflixfor streaming, falls back totransmission-cliif needed -
Posters: Downloads and caches movie posters from TMDB
-
Player Integration: Launches mpv/vlc with video and subtitle files
-
Return to Catalog: After playback, returns to the catalog view
- Install
viu:cargo install viuorbrew install viu - Or use Kitty terminal:
sudo apt install kitty(Linux) orbrew install kitty(macOS)
- Install
transmission-cli- termflix will automatically use it as fallback brew install transmission-cli(macOS)sudo apt-get install transmission-cli(Linux)
- Ensure
python3is installed - Check internet connection
- Some APIs may be temporarily unavailable
- Install jq:
brew install jq(macOS) orsudo apt-get install jq(Linux)
MIT License - feel free to use and modify as needed.
Contributions welcome! Please open an issue or pull request.
- Uses TheMovieDB API for movie metadata
- Torrent sources: YTS, YTSRS, The Pirate Bay, EZTV, 1337x
- Built with bash, jq, and lots of β€οΈ







