Advanced Features
WarpDL includes several advanced features for optimizing download performance and flexibility.
Background Downloads
Section titled “Background Downloads”Run downloads in the background without blocking your terminal:
warpdl download --background https://example.com/large-file.zipThe download starts immediately and returns control to your terminal. Use attach to reconnect:
warpdl list -p # Find the download hashwarpdl attach <hash> # Reconnect to view progressEnvironment Variable
Section titled “Environment Variable”export WARPDL_BACKGROUND=1 # Not yet implemented, use --background flagSpeed Limiting
Section titled “Speed Limiting”Limit download speed to avoid saturating your network:
warpdl download --speed-limit 1MB https://example.com/file.zipwarpdl download -S 512KB https://example.com/file.zipSupported units:
B- Bytes per secondKB- Kilobytes per secondMB- Megabytes per second0- Unlimited (default)
Environment Variable
Section titled “Environment Variable”export WARPDL_SPEED_LIMIT=1MBWork Stealing
Section titled “Work Stealing”Work stealing is an optimization where faster download segments “steal” remaining work from slower segments. This maximizes bandwidth utilization when some connections are slower than others.
Enabled by default. To disable:
warpdl download --no-work-steal https://example.com/file.zipHow It Works
Section titled “How It Works”- File is split into segments (default: up to 200 parts)
- Each segment downloads in parallel
- When a fast segment completes, it takes over a portion of the slowest segment’s remaining range
- This continues until the entire file is downloaded
When to Disable
Section titled “When to Disable”- When downloading from servers that don’t handle range requests well
- When you want predictable segment boundaries
- When debugging download issues
Environment Variable
Section titled “Environment Variable”export WARPDL_NO_WORK_STEAL=1Checksum Validation
Section titled “Checksum Validation”WarpDL automatically validates downloads when the server provides checksums:
Content-MD5headerDigestheader (SHA-256, SHA-512)
If validation fails, the download is marked as corrupted and you’ll be notified.
Debug Logging
Section titled “Debug Logging”Enable verbose logging for troubleshooting:
warpdl download --debug https://example.com/file.zipOr globally:
export WARPDL_DEBUG=1Debug output includes:
- HTTP request/response details
- Segment allocation decisions
- Work stealing events
- Retry attempts and errors
Default Download Directory
Section titled “Default Download Directory”Set a default download location:
export WARPDL_DEFAULT_DL_DIR=~/DownloadsWhen set, downloads go to this directory unless overridden with --download-path.