... | ... | @@ -5,7 +5,7 @@ See the [[org/roadmaps/Tor/IPv6Features|IPv6 Feature Matrix]] for the latest pro |
|
|
|
|
|
The work with adding IPv6 support to Tor follows these phases, roughly
|
|
|
the same as outlined in
|
|
|
[https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/ideas/xxx-ipv6-roadmap.txt xxx-ipv6-roadmap.txt]. This page is meant to function as a status page
|
|
|
[xxx-ipv6-roadmap.txt](https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/ideas/xxx-ipv6-roadmap.txt). This page is meant to function as a status page
|
|
|
for each of the phases and of the project as a whole.
|
|
|
|
|
|
There's also information about how to [#Helptesting help out with testing].
|
... | ... | @@ -13,8 +13,8 @@ There's also information about how to [#Helptesting help out with testing]. |
|
|
At the bottom of the page can be found a section with
|
|
|
[#Relatedresources pointers to related resources].
|
|
|
|
|
|
== The phases and their status ==
|
|
|
=== Clients to private bridges (0.2.3.9-alpha) ===
|
|
|
## The phases and their status
|
|
|
### Clients to private bridges (0.2.3.9-alpha)
|
|
|
|
|
|
Private bridges are bridge relays that don't register with the bridge
|
|
|
authority (PublishServerDescriptor 0). Support for running a private
|
... | ... | @@ -27,7 +27,7 @@ Note that clients on 0.2.4.{1,2,3} need both ClientUseIPv6 and |
|
|
ClientPreferIPv6ORPort to be set in order to use IPv6 for its first
|
|
|
hop due to #6757.
|
|
|
|
|
|
=== Clients to ordinary bridges (0.2.3.21-rc, 0.2.4.1-alpha) ===
|
|
|
### Clients to ordinary bridges (0.2.3.21-rc, 0.2.4.1-alpha)
|
|
|
|
|
|
Ordinary bridges publish their descriptor to the bridge
|
|
|
authority. Support for bridge authorities to handle announced IPv6 OR
|
... | ... | @@ -39,7 +39,7 @@ Note that clients on 0.2.4.{1,2,3} need both ClientUseIPv6 and |
|
|
ClientPreferIPv6ORPort to be set in order to use IPv6 for its first
|
|
|
hop due to #6757.
|
|
|
|
|
|
=== Clients to relays (0.2.4.1-alpha) ===
|
|
|
### Clients to relays (0.2.4.1-alpha)
|
|
|
|
|
|
Relays that are not bridges publish their descriptor to the directory
|
|
|
authoritites. Directory authorities vote on relays and publish a
|
... | ... | @@ -50,28 +50,28 @@ publishing a consensus containing IPv6 OR ports is included in tor |
|
|
|
|
|
This work was tracked in #4564.
|
|
|
|
|
|
=== Exit relays to IPv6 destinations (0.2.4.8-alpha) ===
|
|
|
### Exit relays to IPv6 destinations (0.2.4.8-alpha)
|
|
|
|
|
|
Exit relays connect to hosts on internet. Support for exits connecting to
|
|
|
IPv6 addresses on internet was included in the 0.2.4.8-alpha release.
|
|
|
|
|
|
This work was tracked in #5547.
|
|
|
|
|
|
=== Directory authorities on IPv6 (0.2.8.0-alpha-dev) ===
|
|
|
### Directory authorities on IPv6 (0.2.8.0-alpha-dev)
|
|
|
|
|
|
Clients and relays talk to directory authorities. The work with making
|
|
|
directory authorities reachable over IPv6 was merged into 0.2.8-alpha-dev.
|
|
|
|
|
|
This work was tracked in #6027 and #17327.
|
|
|
|
|
|
=== Fallback directory mirrors on IPv6 (0.2.8.0-alpha-dev) ===
|
|
|
### Fallback directory mirrors on IPv6 (0.2.8.0-alpha-dev)
|
|
|
|
|
|
Clients and relays can also talk to [/wiki/doc/FallbackDirectoryMirrors fallback directory mirrors] over IPv6.
|
|
|
We're currently running an opt-in trial for fallback directory mirrors (#17158).
|
|
|
|
|
|
This work was tracked in #8374 and #17327.
|
|
|
|
|
|
=== Client bootstrap via IPv6 (0.2.8.0-alpha-dev) ===
|
|
|
### Client bootstrap via IPv6 (0.2.8.0-alpha-dev)
|
|
|
|
|
|
Clients can bootstrap using directory authorities or fallback directory mirrors over IPv6.
|
|
|
These fixes also ensure that clients choose IPv6 ORPorts more consistently.
|
... | ... | @@ -79,64 +79,64 @@ We also maintain bridge clients' preference for IPv6, while fixing some of their |
|
|
|
|
|
This work was tracked in #17840 and #17281.
|
|
|
|
|
|
=== Automatic Client OR connection via IPv6 (0.3.?) ===
|
|
|
### Automatic Client OR connection via IPv6 (0.3.?)
|
|
|
|
|
|
Configuring Tor clients for IPv6 requires Tor users to know whether IPv4 or IPv6 works better for them.
|
|
|
Tor could use a "happy eyeballs"-like algorithm to try both IPv4 and IPv6, and switch between them depending on which one works better.
|
|
|
|
|
|
This work is being tracked in #17217 and #17835.
|
|
|
|
|
|
=== Relays to relays ===
|
|
|
### Relays to relays
|
|
|
|
|
|
Relays talk to other relays. The work with relays talking to other
|
|
|
relays over IPv6 has not been started.
|
|
|
|
|
|
This work will be tracked in #4565.
|
|
|
|
|
|
== Help testing ==
|
|
|
## Help testing
|
|
|
|
|
|
If you have the opportunity, please help out testing this.
|
|
|
|
|
|
Please [/projects/tor/newticket file a bug report] in Trac if you find
|
|
|
something that doesn't work or seem to be doing the wrong thing.
|
|
|
|
|
|
=== Testing clients running via IPv6 ===
|
|
|
### Testing clients running via IPv6
|
|
|
|
|
|
In order to test a client over IPv6 (without bridges), run tor 0.2.8.0-alpha-dev or later.
|
|
|
|
|
|
Configure it to use IPv6 using the one following sets of options:
|
|
|
|
|
|
For IPv6-only clients:
|
|
|
{{{
|
|
|
```
|
|
|
ClientUseIPv4 0
|
|
|
}}}
|
|
|
```
|
|
|
|
|
|
Or for IPv4/IPv6 (dual-stack) clients that prefer IPv6:
|
|
|
{{{
|
|
|
```
|
|
|
ClientUseIPv6 1
|
|
|
ClientPreferIPv6ORPort 1
|
|
|
ClientPreferIPv6DirPort 1
|
|
|
}}}
|
|
|
```
|
|
|
|
|
|
=== Testing clients running with bridges ===
|
|
|
### Testing clients running with bridges
|
|
|
|
|
|
In order to test a client to connect to a bridge over IPv6, run tor
|
|
|
0.2.3.9-alpha or later. Configure it to use the IPv6 bridge using the
|
|
|
Bridge configuration option, like this:
|
|
|
|
|
|
{{{
|
|
|
```
|
|
|
Bridge [2001:DB8::1]:9050
|
|
|
}}}
|
|
|
```
|
|
|
|
|
|
=== Testing private bridges ===
|
|
|
### Testing private bridges
|
|
|
|
|
|
In order to test a private bridge running an OR port on IPv6, run tor
|
|
|
0.2.3.9-alpha or later. Configure it to bind to and announce an IPv6
|
|
|
OR port by using the ORPort configuration option, like this:
|
|
|
|
|
|
{{{
|
|
|
```
|
|
|
ORPort [2001:DB8::1]:9050
|
|
|
}}}
|
|
|
```
|
|
|
|
|
|
Note that you'll have to have an IPv4 OR port configured as well, or
|
|
|
your bridge will bootstrap but leave its clients hanging at 50% (see
|
... | ... | @@ -148,7 +148,7 @@ soon. |
|
|
|
|
|
Since mid September 2012 the bridge authority handles IPv6 OR ports.
|
|
|
|
|
|
=== Testing public bridges ===
|
|
|
### Testing public bridges
|
|
|
|
|
|
In order to test public bridges, run tor 0.2.3.21-rc / 0.2.4.3-alpha
|
|
|
or later. Configure it with an IPv6 ORPort just like a private bridge.
|
... | ... | @@ -156,11 +156,11 @@ or later. Configure it with an IPv6 ORPort just like a private bridge. |
|
|
Your bridge will show in [https://bridges.torproject.org/?ipv6=True],
|
|
|
eventually.
|
|
|
|
|
|
== Related resources ==
|
|
|
## Related resources
|
|
|
|
|
|
* [https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/ideas/xxx-ipv6-roadmap.txt torspec/proposals/ideas/xxx-ipv6-roadmap.txt]
|
|
|
* [https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/proposals/186-multiple-orports.txt torspec/proposals/proposals/186-multiple-orports.txt]
|
|
|
* [https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/proposals/200-new-create-and-extend-cells.txt torspec/proposals/proposals/200-new-create-and-extend-cells.txt]
|
|
|
* [https://trac.torproject.org/projects/tor/wiki/doc/IPv6RelayHowto A Tor relay operators IPv6 HOWTO]
|
|
|
* [https://trac.torproject.org/projects/tor/wiki/doc/FallbackDirectoryMirrors Fallback Directory Mirrors]
|
|
|
* [https://lists.torproject.org/pipermail/tor-relays/2016-November/011060.html a tor-relays post describing the next steps for IPv6 in tor in November 2016] |
|
|
* [torspec/proposals/ideas/xxx-ipv6-roadmap.txt](https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/ideas/xxx-ipv6-roadmap.txt)
|
|
|
* [torspec/proposals/proposals/186-multiple-orports.txt](https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/proposals/186-multiple-orports.txt)
|
|
|
* [torspec/proposals/proposals/200-new-create-and-extend-cells.txt](https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/proposals/200-new-create-and-extend-cells.txt)
|
|
|
* [A Tor relay operators IPv6 HOWTO](https://trac.torproject.org/projects/tor/wiki/doc/IPv6RelayHowto)
|
|
|
* [Fallback Directory Mirrors](https://trac.torproject.org/projects/tor/wiki/doc/FallbackDirectoryMirrors)
|
|
|
* [a tor-relays post describing the next steps for IPv6 in tor in November 2016](https://lists.torproject.org/pipermail/tor-relays/2016-November/011060.html) |