r/i2p • u/ButterflyMundane7187 • 17d ago
Plugin/Application Has anyone tried running DC++ over I2P? Is this a bad idea?
I’m curious if anyone here has ever tested a DC++ client and hub entirely over I2P.
I’ve started working on a fork of existing DC++ client and hub projects with the goal of making them I2P-only. The idea is to block normal clearnet connections completely and make setup as simple as possible.
Before I spend too much time on it, I’d like to know if anyone thinks this is actually useful or if there are technical reasons why DC++ is a poor fit for I2P.
EDIT
AirDC++ and Luadch are communicating over real I2P through SAM, with separate i2pd instances on each node. Hub connections work, chat works, search works, file lists work both ways, and real file transfers work in both directions.
I’ve also tested larger ISO transfers and verified the files with SHA-256 afterwards.
The Windows client is currently keeping its DC traffic on loopback and letting i2pd handle the actual external traffic. I’ve tested things like killing i2pd in the middle of a transfer and trying normal clearnet hub addresses, and so far the client has failed closed instead of falling back to normal TCP/UDP.
There’s still work left: a few more fail-closed tests, hostile/malformed peer data testing, GUI cleanup, packaging, and a proper security review of the I2P-specific changes.
The final goal is basically: install it, start it, connect to an I2P DC hub. No port forwarding, UPnP, SOCKS or manual I2P setup.
Estimated time to a decent public PoC on github: around 3 weeks.
2
u/Not_a_Candle 16d ago
Maybe also explain what DC++ is. I actually don't know.
3
u/ButterflyMundane7187 16d ago edited 16d ago
Sorry, I guess mostly us older guys remember DC++ now. :)
Direct Connect was file sharing mixed with a community. You joined a hub, chatted with people there, sent private messages, searched for files, or just browsed through somebody's entire shared collection. It was a bit like looking through another computer on your local network.
I started using DC++ at university not long after it came out, around 2001. University networks were perfect we had many gigabit connections back then. Some of the larger hubs had hundreds, sometimes thousands of users, and tens of terabytes shared. At the time that was alot of data.
Sometimes you found somebody who seemed to like the same stuff you did, then you browsed their share and found all sorts of things you didnt even know you were looking for.
DC++ also got pretty clever later on. If several people had the same file it could find different sources, and eventually download different parts from several users at the same time.
2
u/Not_a_Candle 14d ago
Sounds indeed quite interesting. Would be nice to have something like that on I2P.
2
2
u/arjuna93 17d ago
As a user, this sounds interesting for me. Assuming it will be in C+, I’ll try it out. Caveat is obvious: p2p needs people, and users of two exotic protocols are the few of the few.