fix gofile downloads by adding custom headers to both direct dl and api request

still needs work: 1. fix restart causing the download to instantly jump to 100%
This commit is contained in:
2026-03-11 22:15:00 +01:00
parent c3efa39b09
commit 7df7d87928
5 changed files with 38 additions and 22 deletions
+7 -4
View File
@@ -7,11 +7,11 @@ from core.utils.logging.logs import add_download_log
from core.network.libtorrent_int import add_seed
from core.utils.data.state import state
from core.network.direct_download import add_direct_download
from typing import Optional
import threading
def download_selected(items: list[QTableWidgetItem]):
if not items:
consoleLog("No item selected for download.")
@@ -30,16 +30,19 @@ def download_selected(items: list[QTableWidgetItem]):
consoleLog(f"Downloading {post.get('title', 'Unknown')}")
run_thread(threading.Thread(target=run_download, args=(post,)))
def run_download(post):
def run_download(post, headers: Optional[dict] = None):
linkfunc = state.trackers[state.currenttracker]["linkFunc"]
ismagnet = state.trackers[state.currenttracker]["isMagnet"]
link = linkfunc(post)
result = linkfunc(post)
if ismagnet:
link = result
add_magnet(link)
add_download_log(post.get("title", "Unknown"), "", link, False)
else:
add_direct_download(link, post.get("title", "Unknown"))
link, link_headers = result if isinstance(result, tuple) else (result, None)
final_headers = headers or link_headers
add_direct_download(link, post.get("title", "Unknown"), headers=final_headers, single_threaded=final_headers is not None)
def run_download_direct(magnet_uri, dl_path=None, title="Direct Download"):
consoleLog(f"Magnet: {title}")