You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Download fails immediately on Apple IPSW (updates.cdn-apple.com) after Add dialog shows Ready #35
Downloading a large Apple IPSW from updates.cdn-apple.com ends in Failed as soon as download starts. The Add download (properties / location) dialog first reports the link as Ready with no error; failure only appears after pressing Start downloading.
Open the properties / location (Add download) window.
Observe status: link resolves as Ready (filename / size appear OK; no error).
Confirm destination and press Start downloading.
Expected behavior
Download should start (or resume) and progress normally, or show a clear, actionable error if the remote rejects the request (HTTP status, auth, range support, etc.).
Actual behavior
Add / properties window: Ready — no problem reported.
After Start downloading: entry immediately goes to Failed state.
No successful transfer; failure happens at start rather than mid-download.
Notes
Metadata probe / preflight in the Add dialog appears to succeed (Ready), but the actual aria2 (or transfer) start path fails.
Possible angles (unconfirmed):
Large file / long path or special characters (comma in iPhone17,2_…)
Apple CDN headers, redirects, or range-request behavior differing between HEAD/metadata and GET
User-Agent / missing headers required only on the real download request
Timeout or connection limits on multi‑GB start
Would help debugging: full error text from the Failed row / logs (aria2 error code/message) if available in UI or log file.
Environment
App: Firelink (desktop)
OS: macOS
Scenario: direct HTTPS download of Apple full-restore IPSW from updates.cdn-apple.com
Happy to attach screenshots, Firelink logs, or try a debug build if useful.
This is not specific to the Apple IPSW URL. With Streisand (macOS Network Extension PacketTunnel) enabled, downloads fail immediately after the Add dialog shows Ready.
Failure mode
Step
Component
Result
Add URL
Metadata preflight (reqwest → system getaddrinfo / mDNSResponder)
Ready
Start download
Bundled aria2 (Async DNS)
Failed immediately
Exact aria2 error (reproduced against Firelink’s live RPC while Streisand was active):
aria2 error code 19:
Name resolution for updates.cdn-apple.com failed: Could not contact DNS servers
The same class of error also hit other hosts under Streisand (e.g. real-debrid: Name resolution for … failed: Could not contact DNS servers). So this is a general DNS-stack issue, not IPSW-specific.
Environment evidence (macOS)
Streisand running as PacketTunnel.appex → traffic default-routed via utun7
Unscoped system DNS broken while the tunnel is up:
scutil --dns: primary resolver reach: Not Reachable
dig updates.cdn-apple.com → connection timed out; no servers could be reached
System/app path still works:
dscacheutil / mDNSResponder resolves the host
curl HEAD/Range to the same IPSW returns 200/206 through the tunnel
Firelink proxy mode is none — not an HTTP proxy problem. Streisand is L3 tunnel routing; turning off Firelink’s proxy setting cannot bypass it.
Why Ready ≠ download
Different DNS stacks:
Add dialog uses system resolver path → succeeds when mDNSResponder/cache still works.
aria2 reports feature Async DNS and fails with error 19 when it cannot contact DNS servers (unscoped resolvers dead under the PacketTunnel).
Workarounds (user side)
Disable Streisand (or split-tunnel / direct route) for the download host while transferring large files.
Fix Streisand DNS so unscoped resolvers are reachable (working DNS over the tunnel; IPv4 resolvers such as 1.1.1.1 answered when queried explicitly; tunnel-configured IPv6-only DNS timed out in testing).
Possible product improvements
Surface aria2 error 19 clearly in the UI (e.g. “DNS resolution failed — check VPN/DNS”), instead of a bare Failed state.
Optional robustness: when Async DNS cannot contact servers, fall back to system getaddrinfo, async-dns=false, or configurable explicit DNS servers for the aria2 sidecar.
Docs note: PacketTunnel VPNs that break unscoped DNS will break aria2-backed downloads even when the browser and Firelink’s Ready check still work.
and restarting the tunnel (as Streisand notes), downloads work again — including the Apple IPSW case.
Previously the tunnel’s DNS setup left unscoped system resolvers unreachable, so aria2 failed with error 19 (Could not contact DNS servers) while the Add dialog still showed Ready.
Takeaway for others hitting this: if Firelink fails immediately under a PacketTunnel VPN (Streisand, etc.) with a DNS-related aria2 error, try a working DoU/DoH/DoT resolver in the VPN app (e.g. 1.1.1.1 or 8.8.8.8) and restart the tunnel. That restores DNS for aria2 without changing Firelink proxy settings.
This doesn’t change the product suggestions above (clearer error 19 UI / more resilient DNS for the aria2 sidecar), but confirms the root cause was tunnel DNS configuration, not the IPSW host itself.
Thanks for the log. Confirmed this is a real issue caused by Aria2’s separate asynchronous DNS resolver.
Firelink now retries the affected download once using the system resolver, without changing global DNS or VPN settings.
The fix applies to normal downloads and Torrents (available in the next release), while preserving proxies, headers, resume state, and lifecycle safety.
I added error handling, persistence protection, regression tests, and cross-platform CI smoke checks. The changes are pushed to main in commit c120222.
Activity
nimbold commentedon Aug 3, 2026
Hi,
I produced the exact steps and mine is downloading without any issue:
Please Follow these steps:
Tools > Logs > Clear alland ThenStart a new logaliafshany commentedon Aug 5, 2026
Update / root cause (reproduced)
This is not specific to the Apple IPSW URL. With Streisand (macOS Network Extension PacketTunnel) enabled, downloads fail immediately after the Add dialog shows Ready.
Failure mode
reqwest→ systemgetaddrinfo/ mDNSResponder)Exact aria2 error (reproduced against Firelink’s live RPC while Streisand was active):
The same class of error also hit other hosts under Streisand (e.g. real-debrid:
Name resolution for … failed: Could not contact DNS servers). So this is a general DNS-stack issue, not IPSW-specific.Environment evidence (macOS)
PacketTunnel.appex→ traffic default-routed viautun7scutil --dns: primary resolverreach: Not Reachabledig updates.cdn-apple.com→ connection timed out; no servers could be reacheddscacheutil/ mDNSResponder resolves the hostcurlHEAD/Range to the same IPSW returns 200/206 through the tunnelnone— not an HTTP proxy problem. Streisand is L3 tunnel routing; turning off Firelink’s proxy setting cannot bypass it.Why Ready ≠ download
Different DNS stacks:
Workarounds (user side)
1.1.1.1answered when queried explicitly; tunnel-configured IPv6-only DNS timed out in testing).Possible product improvements
getaddrinfo,async-dns=false, or configurable explicit DNS servers for the aria2 sidecar.Happy to provide more logs or retest a build.
aliafshany commentedon Aug 5, 2026
Follow-up: fixed by changing Streisand DNS
After switching Streisand Settings → DNS to:
and restarting the tunnel (as Streisand notes), downloads work again — including the Apple IPSW case.
Previously the tunnel’s DNS setup left unscoped system resolvers unreachable, so aria2 failed with error 19 (
Could not contact DNS servers) while the Add dialog still showed Ready.Takeaway for others hitting this: if Firelink fails immediately under a PacketTunnel VPN (Streisand, etc.) with a DNS-related aria2 error, try a working DoU/DoH/DoT resolver in the VPN app (e.g.
1.1.1.1or8.8.8.8) and restart the tunnel. That restores DNS for aria2 without changing Firelink proxy settings.This doesn’t change the product suggestions above (clearer error 19 UI / more resilient DNS for the aria2 sidecar), but confirms the root cause was tunnel DNS configuration, not the IPSW host itself.
fix(aria2): harden per-transfer DNS fallback (issue #35)
nimbold commentedon Aug 5, 2026
Thanks for the log. Confirmed this is a real issue caused by Aria2’s separate asynchronous DNS resolver.
mainin commitc120222.It will be included in the next release.
nimbold commentedon Sep 8, 2026
Please test the new version (1.4.2) and report if the DNS problem is fixed. Thanks!