Complete IPV6 support
alanmcgovern opened this issue · comments
There are a few things I need to update to fully support ipv6. This includes:
- Fix Uri creation for IPV6 peers ( #589 )
- Add support for binding to ipv4 and ipv6 listening endpoints ( #590 )
- Update UDP tracker support with the unofficial extension to support ipv6 (https://www.bittorrent.org/beps/bep_0007.html and http://opentracker.blog.h3q.com/2007/12/28/the-ipv6-situation/ and http://www.bittorrent.org/beps/bep_0015.html , #594)
- Update HTTP tracker with the draft BEP covering the newer ipv6 mechanism (https://www.bittorrent.org/beps/bep_0007.html) #594
- Support IPv6 DHT (http://bittorrent.org/beps/bep_0032.html)
- Add support for specifying reported IP addresses for both ipv4 and ipv6 ( #590 )
- Support ipv4/ipv6 PEX ( https://www.bittorrent.org/beps/bep_0011.html ) ( #593 )
- Ensure ipv6 compact peers can be encoded/decoded ( #592 )
nice work,Im currently on vacation,but really looking forward to your accomplishment
Interesting!
In my own testing I just checked that monotorrent can make an outgoing IPV6 connection to qbittorrent, and successfully transfer data. I didn't check if monotorrent handled incoming IPV6 connections from qbittorrent, or from another monotorrent client. I also didn't validate the behaviour of monotorrent being a seeder or leecher.
My strategy is to thread IPv6 support (as per various BEPs) through the engine, and then augment the integration tests contributed by @borigas to validate both ipv4 and ipv6 connections end-to-end.
Once the IPv6 variants of these tests are green, you should be good to go!
Interesting!
In my own testing I just checked that monotorrent can make an outgoing IPV6 connection to qbittorrent, and successfully transfer data. I didn't check if monotorrent handled incoming IPV6 connections from qbittorrent, or from another monotorrent client. I also didn't validate the behaviour of monotorrent being a seeder or leecher.
My strategy is to thread IPv6 support (as per various BEPs) through the engine, and then augment the integration tests contributed by @borigas to validate both ipv4 and ipv6 connections end-to-end.
Once the IPv6 variants of these tests are green, you should be good to go!
brilliant ,really appreciate your work
@ycy1164656 I've just finalised this work (except for IPv6 DHT support).
If you're comfortable testing code from git, could you check out that branch and see if everything works well for your case now?