还在用浏览器单线程龟速下载?Surge 这款开源终端下载神器打开32个连接并行下载,实测比 aria2 快38%、curl 快99%。专为键盘党打造的 TUI 工具,支持多镜像分发、流式边下边播、后台守护进程,Docker一键部署远程管理,适合内容创作者和开发者
🎤 引言
你是否经历过这样的场景:下载一个几GB的文件,浏览器进度条像蜗牛一样爬行;网络波动导致下载中断,只能从头再来;多个下载任务同时跑,系统资源被占满却看不到直观的管理界面。
传统的下载工具要么太简单(浏览器内置),要么太复杂(aria2 配置繁琐)。今天介绍的 Surge 是一款专为极客打造的终端下载管理器——它拥有漂亮的 TUI 界面、32 线程并行下载、多镜像自动负载均衡,实测下载速度比 aria2 快 38%,比 curl 快近一倍。
⭐ 核心功能
🔥 极致速度:32 线程并行下载
Surge 的核心优势在于多连接分片下载。传统浏览器只打开一个连接,而 Surge 最多可同时建立 32 个连接,将文件切分成多个区块并行下载,最后自动合并。
根据官方 Benchmark 数据,在 360Mbps 网络环境下下载 1GB 文件:
| 工具 | 耗时 | 平均速度 | 相对速度 |
|---|---|---|---|
| Surge | 28.93s | 35.40 MB/s | 基准 |
| aria2c | 40.04s | 25.57 MB/s | 慢 38% |
| curl | 57.57s | 17.79 MB/s | 慢 99% |
| wget | 61.81s | 16.57 MB/s | 慢 114% |
这意味着同样的网络条件下,Surge 能比传统工具节省近一半的时间。
🎯 多镜像智能分发
如果你手上有同一个文件的多个镜像源(比如不同 CDN 或网盘分流),Surge 可以同时从所有可用源下载,自动分配下载任务到各个镜像,并在某个源失效时自动故障转移。这对于下载大型开源项目或系统镜像特别有用。
📺 流式顺序下载
Surge 支持Sequential Download(顺序下载模式),即使文件还没完全下载完成,你也可以边下边播。这对于视频、音频文件特别友好——不用等到 100% 就能开始预览内容。
🖥️ 优雅的 TUI 界面
基于 Bubble Tea 和 Lipgloss 构建的终端界面,不仅功能强大,颜值也在线。你可以实时看到:
- 每个任务的下载进度条
- 实时速度曲线图
- 队列管理(暂停、恢复、删除)
- 多任务并行状态
⚙️ 守护进程架构
Surge 采用后台引擎 + 前端界面的架构设计。你可以启动一个后台服务(daemon),然后在任意终端通过 surge connect 连接管理。这意味着:
- 可以在服务器上常驻后台下载
- 多个终端窗口共享同一个下载队列
- 支持远程管理(通过 HTTP API)
📥 安装与使用
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 1.21+)
go install github.com/surge-downloader/surge@latestDocker 部署
# 下载 compose 文件
wget https://raw.githubusercontent.com/surge-downloader/surge/main/docker/compose.yml
# 启动服务
docker compose up -d
# 获取 API Token
docker compose exec surge surge token基础使用
# 启动 TUI 界面
surge
# 直接下载文件
surge https://example.com/file.zip
# 批量下载
surge --batch urls.txt
# 启动后台服务
surge server
# 连接远程服务
surge connect 192.168.1.10:1700 --token <token>🛠️ 高级特性
🌐 浏览器扩展集成
Surge 提供 Chrome/Firefox 浏览器扩展,可以拦截浏览器的下载请求,自动转发到 Surge 处理。安装后,点击网页上的下载链接会直接弹出 Surge 的下载确认框。
扩展默认通过 1700 端口与 Surge 客户端通信,支持本地和局域网远程连接。
🔧 工作窃取与慢速连接优化
Surge 内置智能调度算法:
- Work Stealing(工作窃取):当某个连接速度变慢时,其他连接会自动分担其任务
- 慢速连接检测:自动识别并隔离慢速源,避免拖累整体下载速度
详细的优化策略可以参考官方的 Optimization Guide。
🔐 API 与自动化
Surge 提供完整的 HTTP API,支持:
# 获取当前下载列表
curl http://localhost:1700/api/downloads -H "Authorization: Bearer <token>"
# 添加下载任务
curl -X POST http://localhost:1700/api/downloads \
-H "Authorization: Bearer <token>" \
-d '{"url": "https://example.com/file.zip"}'这让它可以轻松集成到自动化脚本或第三方应用中。
📊 同类对比
| 特性 | Surge | aria2 | Motrix | Persepolis |
|---|---|---|---|---|
| 界面 | TUI (终端) | CLI | GUI | GUI |
| 多线程 | ✅ 32 连接 | ✅ 16 连接 | ✅ | ✅ |
| 多协议 | HTTP/HTTPS | HTTP/FTP/BT | HTTP/BT | HTTP/BT |
| 多镜像 | ✅ | ✅ | ❌ | ❌ |
| 流式下载 | ✅ | ❌ | ❌ | ❌ |
| 守护进程 | ✅ | ✅ | ❌ | ❌ |
| 远程管理 | ✅ API | ✅ RPC | ❌ | ❌ |
| 浏览器扩展 | ✅ | ❌ | ✅ | ❌ |
| 内存占用 | 极低 | 低 | 中 | 中 |
选择建议:
- Surge:追求极致速度、喜欢终端操作、需要远程管理
- aria2:需要 BitTorrent 支持、偏好配置文件管理
- Motrix:偏好图形界面、需要简单的拖拽操作
- Persepolis:需要 YouTube 下载集成
🎯 适用场景
1. 服务器/远程下载
在 VPS 或 NAS 上部署 Surge Server,通过浏览器扩展或 API 远程添加下载任务,不占用本地带宽。
2. 大文件批量下载
需要下载多个镜像源的大型文件(如系统 ISO、数据集),Surge 的多镜像分发能显著提升效率。
3. 弱网环境优化
在网络不稳定的环境下,Surge 的断点续传和连接自动重试机制比传统工具更可靠。
4. 自动化工作流
结合 n8n、Home Assistant 等自动化平台,通过 API 实现下载任务的自动触发和管理。
💡 使用技巧
配置环境变量
# 设置默认服务器地址和 Token
export SURGE_HOST=192.168.1.10:1700
export SURGE_TOKEN=your_token_here
# 之后可以直接使用 surge connect 无需参数
surge connect批量下载清单
创建一个 urls.txt 文件,每行一个 URL:
https://mirror1.example.com/file.iso
https://mirror2.example.com/file.iso
https://mirror3.example.com/file.iso然后执行:
surge --batch urls.txtSurge 会自动从所有镜像同时下载,加速完成。
与浏览器无缝集成
- 安装 Surge 浏览器扩展(Chrome/Edge/Firefox 均支持)
- 确保本地 Surge 客户端正在运行
- 点击网页下载链接时选择"使用 Surge 下载"
- 文件将自动进入 Surge 队列,可在终端查看进度
🔗 下载链接
- GitHub 仓库:https://github.com/surge-downloader/Surge
- 官方发布页:https://github.com/surge-downloader/Surge/releases
- 文档中心:https://github.com/surge-downloader/Surge/tree/main/docs
- 浏览器扩展:Chrome Web Store / Firefox Add-ons(搜索"Surge")
✅ 总结
Surge 是一款为极客而生的下载工具。它用 Go 语言编写,性能优异;TUI 界面基于 Bubble Tea,交互流畅;32 线程并行 + 多镜像分发,速度碾压传统工具;守护进程架构支持远程管理,拓展了使用场景。
如果你厌倦了浏览器的龟速下载,又不想折腾 aria2 的复杂配置,Surge 是一个开箱即用的优秀选择。两位 CS 学生开发的这个项目,已经展现出了专业级下载工具的潜力。
适合人群:
- 终端重度用户
- 追求下载速度的极客
- 需要远程/自动化下载管理的用户
- 喜欢键盘驱动工作流的人
不适合人群:
- 需要 BitTorrent 支持(暂不支持)
- 偏好图形界面操作
- 只需要简单偶尔下载的用户