Skip to content

Verifieddanny/snag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 Snag

Grab media from anywhere. Paste a link. Get your video.

Go License Platform

A beautiful, interactive CLI tool to download videos and audio from any platform — without watermarks, at the highest quality.

🖥️ Want a desktop app instead? → Snag Desktop


✨ Features

  • 🌍 Works everywhere — YouTube, TikTok, Instagram, X (Twitter), Facebook, Reddit, and 1000+ more sites
  • 🚫 No watermarks — downloads clean TikTok videos without the watermark
  • 🎥 Best quality — grabs the highest resolution video + audio and merges them
  • 🎵 Audio extraction — download just the audio as MP3
  • 📺 Quality selection — choose between Best, 720p, 480p, or 360p
  • 🎨 Beautiful interactive UI — styled terminal interface with step-by-step prompts
  • Fast — streams directly from source, no middleman servers
  • 🔧 Flag mode — skip the prompts with CLI flags for scripting

📸 Preview

╭──────────────────────────────────────────────────────────╮
│                                                          │
│  🎬 Snag — grab media from anywhere                     │
│                                                          │
│  Paste your URL here                                     │
│                                                          │
│  (press Enter to continue)                               │
│                                                          │
╰──────────────────────────────────────────────────────────╯
╭──────────────────────────────────────────────────────────╮
│                                                          │
│  ✅ Download complete!                                   │
│                                                          │
│    Saved to: ./downloads/My Video Title.mp4              │
│                                                          │
│    Press q to quit                                       │
│                                                          │
╰──────────────────────────────────────────────────────────╯

🚀 Installation

Homebrew (Recommended)

brew install Verifieddanny/tap/snag

That's it. Homebrew handles yt-dlp and ffmpeg as dependencies.

Using Go

go install github.com/Verifieddanny/snag/cmd/snag@latest

# Add Go bin to your PATH (if not already)
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.zshrc
source ~/.zshrc
# For bash users, use ~/.bashrc instead of ~/.zshrc

Note: You'll also need yt-dlp and ffmpeg installed separately:

# macOS
brew install yt-dlp ffmpeg

# Linux
sudo apt install yt-dlp ffmpeg

# Windows
choco install yt-dlp ffmpeg

Build from source

git clone https://github.com/Verifieddanny/snag.git
cd snag
go build -o bin/snag ./cmd/snag/

📖 Usage

Interactive Mode (Recommended)

Just run snag with no arguments and follow the prompts:

snag

The interactive UI will guide you through:

  1. Paste your URL — from any supported platform
  2. Choose media type — Video or Audio Only
  3. Select quality — Best, 720p, 480p, or 360p
  4. Confirm & download — watch the progress in real time

Flag Mode (For scripting)

# Download video at best quality
snag -url="https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# Download audio only as MP3
snag -url="https://youtu.be/example" -audio-only

# Download at 720p to a custom directory
snag -url="https://youtu.be/example" -quality=720 -o=~/Videos

# Download TikTok without watermark
snag -url="https://vt.tiktok.com/ZSxV8G3Lp/"

Available Flags

Flag Default Description
-url URL to download
-o ./downloads Output directory
-audio-only false Extract audio as MP3
-quality best Video quality: best, 720, 480, 360

🌍 Supported Platforms

Platform Video Audio No Watermark
YouTube
TikTok
Instagram
X (Twitter)
Facebook
Reddit
1000+ more varies

🏗️ Project Structure

snag/
├── cmd/
│   └── snag/
│       ├── main.go            # Entry point & flag mode
│       └── interactive.go     # Bubbletea interactive UI
├── internal/
│   └── downloader/
│       └── downloader.go      # yt-dlp wrapper & download logic
├── go.mod
└── Makefile

🗺️ Roadmap

  • Interactive CLI with Bubbletea
  • Multi-platform support (YouTube, TikTok, Instagram, X, etc.)
  • Quality selection
  • Audio extraction
  • No-watermark TikTok downloads
  • Homebrew formula
  • Desktop app (macOS) — Snag Desktop
  • Playlist support
  • Batch downloads from file

🤝 Contributing

Contributions are welcome! Feel free to open issues or submit PRs.

# Clone the repo
git clone https://github.com/Verifieddanny/snag.git
cd snag

# Install dependencies
go mod tidy

# Run in development
go run ./cmd/snag/

📄 License

MIT License — see LICENSE for details.


Built by Danny 🚀

⭐ Star this repo if Snag saves you time

CLI Version · Desktop Version

About

A beautiful, interactive CLI tool to download videos and audio from any platform — without watermarks, at the highest quality.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages