TokTok / c-toxcore

The future of online communications.
https://tox.chat
GNU General Public License v3.0
2.29k stars 287 forks source link

Feature request: I2P integration via i2pd #577

Open ghost opened 7 years ago

ghost commented 7 years ago

Seems pretty interesting, and maybe spinning up multiple I2P tunnels and spreading the load between those. I am working with i2pd on other projects, so if there is enough interest I can make it myself. Of course converting 100 percent is impossible while keeping backwards compat, but maybe make I2P only/clearnet/both as a setting

im-grey commented 7 years ago

I think the way I2P works makes it too slow for a/v calling.

nurupo commented 7 years ago

Not very familiar with i2p, but I was under the impression that any application can use the i2p network without the application having any i2p support, isn't that so? Not sure how i2p achieves that though, so depending on what it does there might be some issue particular to Tox that centralized applications like IRC wouldn't have. For example, it might be possible for some Tox client on the i2p network to purposely insert clearnet IPs addresses into DHT in order to leak clearnet IPs of some Tox users in i2p, which is probably not something that is desired. Think of it like clearnet IP img html tag insets into i2p hiddennet websites.

ghost commented 7 years ago

One thing I noticed in the Tox spec is that only IPv4 and IPv6 addresses are used. I2P needs a full domain to interpret the destination. With the exception of that, Tox doesnt "need" a PR to support it, but would greatly benefit from integration and optimizations.

I can see a situation where text and keep alive packets can be sent via I2P, and direct clearnet connections can be made for audio and video. Id have to read more on the Tox spec first before I start looking into it.

gitbugged commented 7 years ago

As a casual I2P users I just wanted to say thanks for working on this, I would be interested in using it. 👍

szh7379 commented 6 years ago

RetroShare use BOB to auto-config the hidden service address, like TOR's control port, and RetroShare bridges clearnet to i2p and tor with i2p/tor outgoing proxy connection.

If tox want some anonymous integration, maybe can learn something from Retroshare's code. repo