trojan-gfw/trojan

[Feature Request] Proper IPv6 to IPv4 Fallback for Unreachable AAAA Addresses

edfus opened this issue · 0 comments

edfus commented

A retry over IPv4 should be requested if connections to the IPv6 address of a domain can not be established, and that is a common practice among network clients.

Consider following examples:

  1. The AAAA DNS record of fallback-v6.ipv6-test.com is intentionally set to a reserved IPv6 address 2001:41d0:701:1100::fa11:bac.
  2. Domain www.bis.doc.gov has an unroutable IPv6 address 2600:80c:d20:64::10 but its IPv4 counterpart is working.

Describe the solution you'd like
A falling back mechanism like what curl does.

curl -v fallback-v6.ipv6-test.com
*   Trying 2001:41d0:701:1100::fa11:bac:80...
* TCP_NODELAY set
*   Trying 51.75.78.103:80...
* TCP_NODELAY set
* Connected to fallback-v6.ipv6-test.com (51.75.78.103) port 80

Related issue: #18
From what I understand the protocol of outgoing requests from a Trojan server has nothing to do with what its client is using so I'm not sure what Chromium meant here, but I would really appreciate a solution that won't compromise the existing precedence of protocols.