anacrolix / anacrolix/torrent

Require advice on how to run this library over I2P

Ouverte
#705 5 commentaires 0 réactions 1 personne assignée Réclamée par @allhailjarjar Voir sur GitHub
Langage dominant
Go
Étoiles
6.1k
Forks
690
Merge moyen
3 j 10 h
PR mergées (30 j)
12

Description

I would like to run this library over the [i2p network](https://geti2p.net/), but have run into a few roadblocks that I'm hoping you can advise on how to get around. This issue would also concern Tor, but unlike I2p, Tor doesn't support UDP, so that is why I'm choosing it for this project.

There are [libraries](https://github.com/eyedeekay/sam3) which make i2p integrations much easier by providing the common Go net.PacketConn, net.Listener, and net.Conn interfaces.

However, as I was reviewing the source code for this library, I noticed many explicit references to and expectations of IP addresses and ports [[1](https://github.com/anacrolix/dht/blob/master/krpc/CompactIPv4NodeAddrs.go), [2](https://github.com/anacrolix/torrent/blob/master/client.go#L1035), [3](https://github.com/anacrolix/torrent/blob/e8bd16257c40a5b53ac19c4f8b7669eb41b699e2/client.go#L1592), etc]. And without an IP addresses, it appears that peer exchange and DHT communication won't be able to take place with the current explicit ip address references.

Because I2p is an overlay network and aims to provide anonymity, IP addresses are never used. Instead of an IP/Port pair, a randomly generated base32 address is used.

Do you see a way for me to make progress with this roadblock? If you see that something needs to change to support such an integration, I wouldn't mind making pull requests.

Thanks!

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.