Skip to content

KrishnaSSH/GopherTube

Repository files navigation

GopherTube Logo

GopherTube

🚧 Development Paused

status focus return

Hey there 👋
This project is currently on hold while I focus on my exams.
Development will resume soon

Thanks for your patience!

~ @krishnassh

Go Version License: GPL v3 Platform Last Commit Contributors Code Size Issues PRs Stars

Release Downloads Go Report Card AUR

Join our Discord

A simple terminal YouTube client for searching and watching videos using yt-dlp and mpv.


Table of Contents

Overview

GopherTube is a terminal-based YouTube client. It scrapes and parses the youtube website to search YouTube and uses mpv to play videos. The UI is built with Go and uses fzf, and is keyboard-driven.

Screenshots

Additional Demo 2
searching for videos

Demo Video
Watch the demo video here

Features

  • Fast YouTube search (scrapes YouTube directly, no API key needed)
  • Play videos with mpv
  • Minimal terminal UI (fzf)
  • Keyboard navigation (arrows, Enter, Tab, Esc)
  • TOML config
  • Download videos with quality selection (yt-dlp)
  • Downloads menu: browse and play downloaded videos
  • Thumbnail preview in downloads menu

Who is this Project for?

  • This Project is for everyone who enjoys Terminal apps
  • For Everyone Who respects thier Privacy and Freedom
  • Anyone who wants to watch videos while using as few system resources as possible — for example, if you have an older or low-spec machine that struggles to run YouTube in a full web browser, this project can help you cut down on resource usage.

Prerequisites

Install dependencies:

# Ubuntu/Debian
sudo apt install mpv fzf chafa
pip install -U yt-dlp

# macOS
brew install mpv fzf chafa yt-dlp

# Arch Linux (Aur is having shasum issues install it from the script)
yay -S gophertube yt-dlp 

Installation

Quick Install (One-liner):

curl -sSL https://raw.githubusercontent.com/KrishnaSSH/GopherTube/main/install.sh | bash

Package Managers

# Arch Linux (AUR)
yay -S gophertube

# macOS (Homebrew) - coming soon
# brew tap KrishnaSSH/tap
# brew install gophertube

Manual Installation:

git clone https://github.com/KrishnaSSH/GopherTube.git
cd GopherTube
go build -o gophertube
./gophertube

Usage

  • Start the app: ./gophertube
  • Type a search and press Enter (or press Escape to exit)
  • Use ↑/↓ to move, Enter to play, Tab to load more, Esc to go back to search
  • Thumbnails and video info are shown in the preview
  • mpv opens to play the selected video

Keyboard Shortcuts

Key Action
Enter Search / Play video
↑/↓ Navigate video list
Tab Load more videos
Esc Go back / Quit

Configuration

Create ~/.config/gophertube/gophertube.toml:

search_limit = 30
quality = "1080p"           # default: 1080p (options: 1080p, 720p, 480p, 360p, Audio)
downloads_path = "/home/$USER/Videos/GopherTube"  # where to save downloads

Configuration Options

Key Type Default Description
search_limit int 30 Max results to fetch per page/load more.
quality string "1080p" Preferred quality or Audio for audio-only.
downloads_path string "$HOME/Videos/GopherTube" Directory to save downloads.

Troubleshooting

  • fzf not found: install fzf (see Prerequisites) and ensure it’s in PATH.
  • mpv not launching: verify mpv is installed and accessible from terminal.
  • No thumbnails: ensure chafa is installed; some terminals may not support images.
  • yt-dlp errors: update yt-dlp to the latest version.

FAQ

  • Does this use the YouTube API? No, it scrapes the website. No API key required.
  • Can I play audio only? Yes. Choose "Listen" or set quality to Audio.
  • Where are files downloaded? See downloads_path in config.

Roadmap

  • Configurable keybindings
  • Optional inline player controls
  • Windows support (best effort)
  • CI and release artifacts for more platforms

Star History

Star History Chart

💖 Support GopherTube

If you find this project useful, consider supporting its development with crypto:

BTC bc1q78ymwmf33vr33ly8rpej7cqvr6cljjcdjf3g6p
LTC ltc1qsfp4mdwwk3nppj278ayphqmkyf90xvysxp3des
ETH 0x6f786f482DDa360679791D90B7C8337655dC2199

License

GPL v3


Contributing

PRs and issues welcome.

See CONTRIBUTING.md for guidelines.


About

A modern terminal user interface for searching and watching YouTube videos using mpv and chafa

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 7