snag
A download manager with a Chrome extension.
Video from the sites yt-dlp supports, direct files split into parallel byte ranges that resume after a dropped connection, and torrents through aria2. A Chrome extension hands links to the native binary through native messaging.
brew install takshakmudgal/tools/snag- Version
- 0.1.0, 11 May 2026
- Tests
- 7
- Rust
- 2,109 lines
- Runs on
- macOS
- Built with
- clap, tokio, reqwest, indicatif
- License
- MIT
Commands
Read from the source, not the README.
- snag get
- download URLs
- snag probe
- list formats
- snag install-host
- connect the extension
How it works
Resumable ranges
Direct downloads are split into ranges written to a .snag.part file with a .meta sidecar, and a resume is guarded by ETag and If-Range so a file that changed on the server is not stitched together from two versions.
Native messaging
The extension talks to the binary over Chrome's length-prefixed JSON protocol. That framing is what the seven tests cover.