anacrolix / anacrolix/torrent

Require advice on how to run this library over I2P

オープン
#705 コメント 5 件 リアクション 0 件 担当者 1 名 @allhailjarjar が担当を希望しています GitHub で見る
主要言語
Go
スター
6.1k
フォーク
690
平均マージ
3日 10時間
マージ済み PR(30日)
12

説明

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!

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。