← 全部工具

Fahry-a/ODM

热度 75 更新于 开发与构建

Oryn Download Manager — aria2c-inspired CLI with a Connection Balancer and a pacman-style progress bar (ILoveCandy)

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

ODM — Oryn Download Manager

odm is a CLI download manager written in Go, inspired by aria2c. It ships as a single static binary with no runtime dependencies.

Its core differentiator is the Connection Balancer — automatic allocation of parallel connections that adapts between single-file and many-files (batch) modes, so you set one connection budget and the tool splits it sensibly across files instead of you computing connections-per-file by hand.

It also has a pacman/CachyOS-style (ILoveCandy) progress bar, and a JSON-RPC 2.0 + WebSocket RPC server so other programs (CLIs, GUIs, scripts) can drive it — the same relationship aria2c has with AriaNg.

---

Install

From source (requires Go 1.26+):

git clone <this repo> && cd odm
go build -o odm ./cmd/odm
# optional: install to PATH
install -Dm755 odm /usr/local/bin/odm

System-wide default config (root-owned, 0644, per the security guidance):

install -Dm644 configs/odm.conf.example /etc/odm/config.conf

Per-user overrides go in ~/.config/odm/config.conf.

---

Quick start

The three canonical invocations (from the spec):

# 1. Single file, 16 parallel connections to one server for one file.
odm -c 16 https://files.test.xyz/file.tar.gz

# 2. Batch (no -sf): 16 URLs, 1 connection per file, 16 files run in parallel.
#    RECOMMENDED: space-separated positional args (comma-safe).
odm -c 16 https://files.test.xyz/file1.tar.gz url2 url3 ...   # 16 urls

# 3. Batch with -sf 4: 16 connections split 4 per file → 4 files run in parallel
#    (the rest queue automatically as slots free).
odm -c 16 -sf 4 https://files.test.xyz/file1.tar.gz url2 url3 ...

For large batches (10 URLs) prefer an input file:

odm -i file-list.txt        # one URL per line, '#' comments and blanks skipped

---