Skip to content

fast-down/cli

Repository files navigation

fast-down: High-Performance Multi-Threaded Downloader

Lightning Speed · Robust Retry · Resumable Download · Incremental Resumption

Rust Hardware Hardware
License Last commit Test Latest version
Website Discord

English | 简体中文 | 繁體中文

CLI Interface

Visit Official Website

Features

  • ⚡️ Lightning-Fast Download
    Built-in fast-steal work-stealing algorithm, with a measured download speed 2.43x that of NDM.
  • 🔄 Robust Retry
    During download, switching WiFi, disconnecting WiFi, or changing proxies will still guarantee **correct file content **.
  • ⛓️‍💥 Resumable Download
    Pause at any time halfway, and resume the transfer later.
  • ⛓️‍💥 Incremental Resumption
    If a server log is fully downloaded today and 1000 new lines are added tomorrow, this feature only transfers the new 1000 lines.
  • 💰 Open-Source & Free
    Full source code is public, maintained by share121, Cyan, and other contributors.
  • 💻 Cross-Platform

Quick Install

Linux & macOS

using curl:

curl -fsSL https://fd.s121.top/update/cli/install.sh | bash

Or using wget:

wget -qO- https://fd.s121.top/update/cli/install.sh | bash

Windows

powershell -ExecutionPolicy ByPass -c "irm https://fd.s121.top/update/cli/install.ps1 | iex"

Manual Download

Architecture Windows Linux Mac OS
x86_64 Download Download Download
x86 Download Download ❌ Not supported
aarch64 Download Download Download

Usage

> fd download -h
fast-down v2.7.3
Download file (default)

Usage: fd download [OPTIONS] <URL>

Arguments:
  <URL>  URL to download

Options:
  -f, --force
          Force overwrite existing file
      --no-resume
          Disable resumable download
  -d, --dir <SAVE_FOLDER>
          Save directory [default: .]
  -t, --threads <THREADS>
          Number of download threads [default: 32]
  -o, --out <FILE_NAME>
          Custom file name
  -p, --proxy <PROXY>
          Proxy address (format: http://proxy:port or socks5://proxy:port). Leave empty to use system proxy, use -p "" to disable proxy
  -H, --header <Key: Value>
          Custom request header (can be used multiple times)
      --min-chunk-size <MIN_CHUNK_SIZE>
          Minimum chunk size (unit: B) [default: 1048576]
      --write-buffer-size <WRITE_BUFFER_SIZE>
          Write buffer size (unit: B) [default: 8388608]
      --write-queue-cap <WRITE_QUEUE_CAP>
          Write queue capacity [default: 10240]
      --progress-width <PROGRESS_WIDTH>
          Progress bar width
      --retry-gap <RETRY_GAP>
          Retry interval (unit: ms) [default: 500]
      --repaint-gap <REPAINT_GAP>
          Progress bar redraw interval (unit: ms) [default: 200]
      --pull-timeout <PULL_TIMEOUT>
          Pull timeout (unit: ms) [default: 5000]
      --browser
          Simulate browser behavior
  -y, --yes
          Auto confirm all prompts
  -v, --verbose
          Verbose output
      --accept-invalid-certs
          Allow invalid certificates
      --accept-invalid-hostnames
          Allow invalid hostnames
  -i, --interface
          Use interactive interface to select network interface
      --ip <IP address of network interface>
          Custom network interface (can be used multiple times)
      --max-speculative <MAX_SPECULATIVE>
          Maximum speculative threads [default: 3]
      --write-method <WRITE_METHOD>
          Write method (mmap is faster, std has better compatibility) [default: mmap] [possible values: mmap, std]
  -h, --help
          Print help

Packages

 
 
 

Contributors