| @@ -0,0 +1,49 @@ | |||||
| entangled looks promising, but appears to have been abandoned. SF doesn't have code, but did find: | |||||
| https://github.com/nandajavarma/entangled | |||||
| Appears to be using an older version of twisted. | |||||
| DHT: | |||||
| https://www.bittorrent.org/beps/bep_0005.html | |||||
| btdht looks like a great option. | |||||
| https://btdht.readthedocs.io/en/latest/README.html | |||||
| Design for using bep44 and bep46. | |||||
| https://www.bittorrent.org/beps/bep_0044.html | |||||
| https://www.bittorrent.org/beps/bep_0046.html | |||||
| for what I need, bep44 isn't enough for me, need to "register" that a key applies to the hash... | |||||
| idea: user needs to look up where a hash came from. does a query for the hash of the file, and gets back a list of keys. | |||||
| the key + the hash of the file as the salt gives you the torrent of the metadata that the person is publishing for info about that hash.. | |||||
| Publish data on a file: | |||||
| Looking up file: | |||||
| 1. hash file | |||||
| 2. dht query_keys request: | |||||
| { 'y': 'q', | |||||
| 'q': 'query_keys', | |||||
| 't': <txid>, | |||||
| 'a': { 'h': <self-identifying hash> } | |||||
| } | |||||
| response: | |||||
| { 'y': 'r', | |||||
| 't': <txid>, | |||||
| 'r': { 'k': [ <list of p255 keys> ] } | |||||
| } | |||||
| So, there needs to be another add_array(infohash, key) or something similar. | |||||
| BEP46 is interesting for FreeBSD, there can be a salt for each branch (stable/head), which gets updated | |||||
| to point to the latest release of each. Or even snapshots. This can be done to always get the latest | |||||
| release of FreeBSD | |||||
| https://github.com/webtorrent/webtorrent/issues/886 | |||||
| Python 3 only | |||||
| https://github.com/bmuller/kademlia | |||||
| https://github.com/isaaczafuta/pydht | |||||