feat: use aria2c for parallel downloads (8 connections, resumable)
Replaces wget with aria2c -x8 -s8 for significantly faster downloads, especially on high-latency connections. Falls back to single-connection if the server doesn't support range requests.
This commit is contained in:
parent
d050b8e6ed
commit
9110eb41bd
2 changed files with 5 additions and 4 deletions
|
|
@ -228,10 +228,10 @@ def session_upload(
|
||||||
|
|
||||||
logger.info("Starting background download: %s → %s", url, dest)
|
logger.info("Starting background download: %s → %s", url, dest)
|
||||||
try:
|
try:
|
||||||
proc = subprocess.Popen(
|
proc = subprocess.Popen(
|
||||||
["wget", "--progress=dot:giga", "-O", str(dest), url],
|
["aria2c", "-x8", "-s8", "-d", str(dest.parent), "-o", dest.name, url],
|
||||||
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
|
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
|
||||||
)
|
)
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
return JSONResponse({"phase": "error", "error": f"Failed to start download: {exc}"}, status_code=500)
|
return JSONResponse({"phase": "error", "error": f"Failed to start download: {exc}"}, status_code=500)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ REQUIRED=(
|
||||||
python3-pip "pip3"
|
python3-pip "pip3"
|
||||||
wget "wget"
|
wget "wget"
|
||||||
curl "curl"
|
curl "curl"
|
||||||
|
aria2 "aria2c"
|
||||||
openssh-client "scp"
|
openssh-client "scp"
|
||||||
sshpass "sshpass"
|
sshpass "sshpass"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue