alanmcgovern / monotorrent

The official repository for MonoTorrent, a bittorrent library for .NET
https://github.com/alanmcgovern/monotorrent
MIT License
1.14k stars 396 forks source link

Complete IPV6 support #588

Open alanmcgovern opened 1 year ago

alanmcgovern commented 1 year ago

There are a few things I need to update to fully support ipv6. This includes:

ycy1164656 commented 1 year ago

nice work,Im currently on vacation,but really looking forward to your accomplishment

ycy1164656 commented 1 year ago

I added

AllowedEncryption = new[] { EncryptionType.PlainText },

in

image

in both monotorrent sampleclients on two computers,

one can connect to another, but the other one can not connect back

image

image

then ,nothing happened after this.

alanmcgovern commented 1 year ago

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!

ycy1164656 commented 1 year ago

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

alanmcgovern commented 1 year ago

@ycy1164656 I've just finalised this work (except for IPv6 DHT support).

https://github.com/alanmcgovern/monotorrent/pull/614

If you're comfortable testing code from git, could you check out that branch and see if everything works well for your case now?