lbryio / lbry-sdk

The LBRY SDK for building decentralized, censorship resistant, monetized, digital content apps.
https://lbry.com
MIT License
7.19k stars 483 forks source link

Get daemon/content exchange protocol working within local network #1796

Open hackrush01 opened 5 years ago

hackrush01 commented 5 years ago

Till now A LOT of colleges(in India at least) use a local network data/content sharing client called DC++. For using DC++ 1 person needs to create a server(e.g. ptokaX), give that server address to everyone and run the client(e.g. DC++) as well, whereas all the others have to download the client(which didn't work across OSes mostly). But this problem can be solved with a the lbry daemon as it has both a server and a client, and we have our own peer finding protocol, with which people won't have to go around sharing their IP addresses and give out an updated one(when DHCP recycles the IPs) and people can still access shared content. People needed to use DC++ because of data usage restrictions(like 2 GB/day). The functionality of which can be replaced by the lbry protocol.

Note: This was a quick draft of the issue based on the discussion during the planning meeting. This will be actively updated to be more well defined

kauffj commented 5 years ago

TIL DC++ is still in use at colleges (I used it a bunch ~13-15 years ago).

I think this is a great idea!

hackrush01 commented 5 years ago

Draft V1

A DC++ like daemon would likely have the following features:

A couple of ultra-cool stretch goals that can also be done are:

m0n5t3r commented 2 years ago

I was surprised there is no local peer discovery - this would save a lot of useless data transfer if you have multiple clients on the same LAN (say, lbrynet running on a home server you use to support channels you like and the desktop app running on another machine); maybe using libtorrent's implementation as an example could be a way to do it? https://github.com/arvidn/libtorrent/blob/RC_2_0/src/lsd.cpp