surge

command module
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2026 License: MIT Imports: 1 Imported by: 0

README

Surge

Release Go Version Stars Last Commit

Surge is a blazing fast, open-source terminal (TUI) download manager built in Go. Designed for power users who prefer a keyboard-driven workflow and want full control over their downloads.

demo

Quick Start

Prebuilt Binaries

Get it on GitHub

Homebrew (macOS/Linux)
brew install surge-downloader/tap/surge

Go Install
go install github.com/surge-downloader/surge@latest
Build from Source
git clone https://github.com/surge-downloader/surge.git
cd surge
go build -o surge .

Features

  • High-speed Downloads with multi-connection support
  • Beautiful TUI built with Bubble Tea & Lipgloss
  • Pause/Resume downloads seamlessly
  • Real-time Progress with speed graphs and ETA
  • Auto-retry on connection failures
  • Batch Downloads
  • Browser Extension integration

Usage

# Start TUI mode
surge

# Headless download (CLI only, no TUI)
surge get <URL>

# Headless download with custom output directory
surge get <URL> -o ~/Downloads

# Send download via CLI to already running TUI instance
surge get <URL> --port <PORT>

# Batch download from a file (one URL per line)
surge get --batch urls.txt

Benchmarks

Tool Time Speed vs Surge
Surge 28.93s 35.40 MB/s
aria2c 40.04s 25.57 MB/s 1.38× slower
curl 57.57s 17.79 MB/s 1.99× slower
wget 61.81s 16.57 MB/s 2.14× slower
Test Environment

Results averaged over 5 runs

File 1GB.bin (link)
OS Windows 11 Pro
CPU AMD Ryzen 5 5600X
RAM 16 GB DDR4
Network 360 Mbps / 45 MB/s

Run your own: python benchmark.py -n 5

Browser Extension

Intercept downloads from your browser and send them directly to Surge.

Chrome / Edge
  1. Navigate to chrome://extensions
  2. Enable Developer mode
  3. Click Load unpacked and select the extension folder
  4. Ensure Surge is running before downloading
Firefox
  1. Navigate to about:debugging
  2. Click This Firefox in the sidebar
  3. Click Load Temporary Add-on...
  4. Select manifest.json from the extension-firefox folder

Note: Temporary add-ons are removed when Firefox closes. For permanent installation, the extension must be signed via addons.mozilla.org.

The extension will automatically intercept downloads and send them to a running instance of Surge.

Contributing

Contributions are welcome! Feel free to fork, make changes, and submit a pull request.

License

If you find Surge useful, please consider giving it a ⭐ it helps others discover the project!

This project is licensed under the MIT License. See the LICENSE file for details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
testutil
Package testutil provides testing utilities for the Surge download manager.
Package testutil provides testing utilities for the Surge download manager.
tui
version
Package version provides functionality for checking for Surge updates via GitHub API.
Package version provides functionality for checking for Surge updates via GitHub API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL