Ghost Downloader
Features

Download Engine

Development entry points for HTTP chunking, resume, acceleration, speed limits, and proxies.

The main HTTP download logic lives in features/http_pack. It probes Range support, file size, and filenames, then creates tasks that write directly into the target file at specific offsets.

Key Implementations

TopicSource EntryNotes
URL probefeatures/http_pack/pack.pyDetects filename, size, and Range support.
Chunked downloadfeatures/http_pack/task.pyWrites directly to the target file, without a merge step after completion.
Resume supportfeatures/http_pack/task.pyDepends on the target file plus auxiliary progress state.
Auto accelerationfeatures/http_pack/task.pyObserves remaining chunks and reallocates them when needed.
Speed limits / proxiesapp/supports/config.py, app/supports/utils.pyHTTP, FTP, and BT apply them differently.

User-visible Behavior

BehaviorEffect
Range probe failsThe task may fall back to a single connection, or resume support may not work.
Target file and progress state are inconsistentResume may fail and require cleanup or a full redownload.
Proxy config is invalidHTTP, FTP, and BT fail in different ways and must be debugged separately.
SSL verification failsHTTPS links may fail during parsing or download.
Auto acceleration reallocationLarge-file downloads may speed up, but the result still depends on server-side throttling.

On this page