Surge:基于 Go 的极速 TUI 下载器,32 路并发让带宽跑满,完爆 curl/wget

在命令行下载工具的世界里,curl 和 wget 一直是默认选择,但它们往往受限于单连接模式,无法跑满现代高速宽带。而老牌多线程神器 aria2 虽然强大,配置却略显繁琐,且缺乏现代化的交互界面。

Surge:基于 Go 的极速 TUI 下载器,32 路并发让带宽跑满,完爆 curl/wget插图

Surge是一款专为高级用户打造的基于 Go 语言 的新一代下载管理器。它不仅拥有基于 Bubble Tea 和 Lipgloss 构建的精美 TUI(终端用户界面),更通过高达 32 个并发连接、多镜像自动故障转移和独特的守护进程架构,将下载速度推向了新的极限。

为什么选择 Surge?

1. 极致速度:榨干每一 Mbps 带宽

浏览器和传统 CLI 工具通常只建立一个 TCP 连接下载文件。Surge 则将文件分割成多个块,同时开启多达 32 个连接并行下载。

  • 基准测试数据:在 360 Mbps 网络环境下下载 1GB 文件:
    • Surge: 28.93 秒 (35.40 MB/s) 🏆
    • aria2c: 40.04 秒 (慢 1.38 倍)
    • curl: 57.57 秒 (慢 1.99 倍)
    • wget: 61.81 秒 (慢 2.14 倍)

2. 智能多镜像与故障转移

如果你有多个下载源(镜像),Surge 能同时将工作线程分配给所有可用镜像。一旦某个源断开或变慢,它会自动故障转移到其他源,确保下载永不中断。

3. 顺序下载(流式模式)

对于视频或大媒体文件,Surge 支持严格按顺序下载。这意味着你可以在文件完全下载前就开始预览播放,无需等待 100% 完成。

4. 独特的守护进程架构

Surge 不仅仅是一个命令,它是一个后台服务(Daemon)

  • 集中管理:启动一个 surge server 后,你可以在 10 个不同的终端标签页、甚至远程设备上添加任务,它们都会汇聚到同一个高效引擎中处理。
  • 持久运行:非常适合放在服务器、树莓派或 NAS 上 7×24 小时运行。

5. 颜值即正义

基于 Bubble Tea (TUI 框架) 和 Lipgloss (样式库) 构建,Surge 提供了实时速度图表、进度条和清晰的队列管理界面,让枯燥的终端下载变得赏心悦目。

安装指南

Surge 支持全平台,安装极其简便:

平台安装命令
macOS / Linux (Homebrew)brew install surge-downloader/tap/surge
Windows (Winget)winget install surge-downloader.surge
Arch Linux (AUR)yay -S surge
Go 用户go install github.com/surge-downloader/surge@latest
Docker使用 docker compose up -d (详见下文)

或者直接前往 GitHub Release 页面下载预编译二进制文件。

核心用法:三种模式玩转下载

模式一:交互式 TUI(本地单机)

最简单的用法,直接运行即可看到炫酷的仪表盘:

# 启动界面
surge

# 启动并直接添加任务
surge https://example.com/file.zip https://example.com/movie.mp4

# 结合批量文件
surge --batch urls.txt

模式二:守护进程模式(服务器/后台)

这是 Surge 的杀手锏。在服务器或 NAS 上启动无头模式:

# 启动服务器(默认监听 0.0.0.0:1700)
surge server

# 获取 API 令牌(用于认证)
surge token

此时,Surge 已在后台静默运行。你可以随时从任何地方连接它。

模式三:远程连接(CLI + TUI)

在你的笔记本电脑或另一台终端上,连接到正在运行的 Surge 守护进程:

# 自动检测本地服务器
surge connect

# 连接远程服务器(如家里的 NAS)
surge connect 192.168.1.10:1700 --token <your_token>

# 或者在所有命令中使用全局标志
surge ls --host 192.168.1.10:1700 --token <your_token>

注:Surge 会自动根据 IP 类型选择 HTTP 或 HTTPS 协议。

Docker 部署:一键搭建私有下载中心

想在服务器上永久运行?Docker Compose 是最佳选择:

  1. 下载配置wget https://raw.githubusercontent.com/surge-downloader/surge/refs/heads/main/docker/compose.yml
  2. 启动服务docker compose up -d
  3. 获取令牌docker compose exec surge surge token
  4. 验证运行docker compose exec surge surge ls

现在,你可以通过局域网内的任何设备,使用 surge connect 管理这台服务器上的下载任务。

浏览器扩展:无缝拦截

Surge 还提供了 Chrome/Edge/Firefox 扩展。安装后,当你点击浏览器中的下载链接时,它会直接拦截并发送给后台运行的 Surge 守护进程。

  • 优势:利用服务器的上行带宽下载大文件,本地电脑无需挂机,下载完成后直接在服务器整理或通过内网传输取回。

评论