fix(frontend): add --disable-ipv6=true to generated aria2 command #3
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: shekhar/windows-iso-downloader#3
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix-aria2-disable-ipv6"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
--disable-ipv6=trueto the aria2 command generated inAria2Tip.tsxand referenced inFAQAccordion.tsxWhy
IPv6 failures (broken routing, disabled IPv6 at OS level, VPN or Pi-hole DNS setups) cause aria2 to abort with "unreachable network" instead of falling back to IPv4. The flag is a safe default on all network configurations — no downside on dual-stack or IPv4-only networks.
Files changed
frontend/src/components/Aria2Tip.tsx— generated commandfrontend/src/components/FAQAccordion.tsx— FAQ example commandSummary by CodeRabbit
Documentation
Features
📝 Walkthrough
Walkthrough
The PR updates aria2 command handling:
Aria2Tipadds--disable-ipv6=trueto its generated command string, while the FAQ documentation updates the aria2 example to reflect the correct configuration. Both changes relate to IPv6 settings in aria2c commands.Changes
aria2 IPv6 configuration
frontend/src/components/Aria2Tip.tsx,frontend/src/components/FAQAccordion.tsxAria2Tipadds--disable-ipv6=trueto the generated aria2c command while preserving-x 16 -s 16parameters. The FAQ example command is updated to reflect the correct aria2 configuration guidance.Estimated code review effort
🎯 1 (Trivial) | ⏱️ ~3 minutes
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing Touches
📝 Generate docstrings
🧪 Generate unit tests (beta)
fix-aria2-disable-ipv6Comment
@coderabbitai helpto get the list of available commands and usage tips.Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID:
f2c32096-aeaa-4c8c-b785-99e05ff80eab📥 Commits
Reviewing files that changed from the base of the PR and between
462b31a650and79e21bb487.📒 Files selected for processing (2)
frontend/src/components/Aria2Tip.tsxfrontend/src/components/FAQAccordion.tsx@ -14,3 +14,3 @@const urlPlaceholder = downloadUrl || 'PASTE_YOUR_LINK_HERE'const command = `aria2c -x 16 -s 16 "${urlPlaceholder}"`const command = `aria2c -x 16 -s 16 --disable-ipv6=true "${urlPlaceholder}"`⚠️ Potential issue | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🌐 Web query:
In aria2c, what is the exact behavior of --disable-ipv6=true, and does it prevent downloads on IPv6-only networks (including DNS64/NAT64 environments)?💡 Result:
Behavior of --disable-ipv6=true: --disable-ipv6 disables IPv6 transport connections in aria2c (it “Disable[s] IPv6”; default is false). It is mainly intended to avoid slow/broken AAAA DNS handling. [1][2] Does it prevent downloads on IPv6-only networks (incl. DNS64/NAT64)? Yes, in the common sense: if aria2c is forced to not use IPv6 at all, then on an IPv6-only network where the destination is reachable only via IPv6, downloads cannot work because aria2c will not attempt IPv6 sockets. The aria2 manual/option text describes the option as disabling IPv6 connectivity. [1][2] For DNS64/NAT64 specifically: - In a DNS64/NAT64 environment, “IPv4-only” destinations are typically synthesized into IPv6 (AAAA) addresses that route via NAT64. If aria2c has --disable-ipv6=true, those synthesized IPv6 routes won’t be usable because IPv6 is disabled. Therefore, it will not successfully reach the synthesized NAT64 addresses. - aria2 may still download if and only if it can obtain and use an IPv4 address/route (for example, the network also provides real IPv4 connectivity and the target hostname resolves to usable A records, or the URI is already an explicit IPv4 address). In that case, the option doesn’t block IPv4; it only disables IPv6. (The option is described as disabling IPv6, not disabling IPv4.) [1][2] Caveat on fallback: aria2c sometimes fails to fall back between IPv4 and IPv6 on certain networks; an issue requests better “fallback and try again” behavior when one address family fails. That means on dual-stack or transition networks you may see outright failure patterns rather than clean automatic fallback to IPv4 when IPv6 is disabled/unreachable. [3] So the practical answer: on an IPv6-only network (and on DNS64/NAT64 where reaching the host requires using the synthesized IPv6 addresses), --disable-ipv6=true should prevent downloads. On networks that also provide working IPv4 (and where name resolution/URI selection yields usable IPv4 addresses), downloads may still work because only IPv6 is disabled. [1][2][3]
Citations:
Remove
--disable-ipv6=truefrom the default command.Line 15 unconditionally disables IPv6, which breaks downloads on IPv6-only networks and DNS64/NAT64 environments. The
aria2ctool explicitly disables IPv6 transport with this flag, making synthesized IPv6 addresses (used in NAT64 scenarios) unreachable. Instead, use the default command without this flag and present--disable-ipv6=trueas a troubleshooting option for users encountering IPv4 DNS issues.Suggested direction
📝 Committable suggestion
🤖 Prompt for AI Agents