allanlw / dhtplay Goto Github PK
View Code? Open in Web Editor NEWA python client for browsing the bittorrent DHT.
A python client for browsing the bittorrent DHT.
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/home/d33tah/workspace/dhtplay/lib/sql/thread.py", line 70, in run
raise ValueError("Invalid SQL Statement - {0} ({1})".format(stmt, e))
ValueError: Invalid SQL Statement - (9, 'SELECT nodes.* FROM nodes INNER JOIN buckets ON\n nodes.bucket_id=buckets.id WHERE nodes.contact=?\n AND buckets.server_id=? LIMIT 1', (<lib.util.contactinfo.ContactInfo instance at 0x7fe176f4c9e0>, 1)) (Error binding parameter 0 - probably unsupported type.)
Problem: In README.md, it says to install Debian/Ubuntu package python-igd, which doesn't exist.
Fix: Replace
python-gtk2 and python-igd
with
python-gtk2 and python-gupnp-igd
Cheers & good work!
Server Starting...
Server Started.
Sending ping to ('router.bittorrent.com', 6881)
Sending message to ('router.bittorrent.com', 6881) - {'y': 'q', 'q': 'ping', 't': '\x00\x01', 'a': {'id': <read-only buffer for 0x7f22e0ce1a30, size -1, offset 0 at 0x7f22e0ce1970>}, 'v': 'DP\x00\x01'}
Message sent to ('router.bittorrent.com', 6881)
From 67.215.246.10:6881:{'y': 'r', 'ip': '.e\xb8\xed\x1a\xe1', 'r': {'id': '2\xf5NisQ\xffJ\xec)\xcd\xba\xab\xf2\xfb\xe3F|\xc2g'}, 't': '\x00\x01'}
Node added to db (32f54e697351ff4aec29cdbaabf2fbe3467cc267)
Sending message to ('0.0.0.0', 6881) - {'y': 'q', 'q': 'refresh', 't': '\x00\x02', 'a': {'secret': '4@\xaa\xa1(-O\xae\x12T\xd6\xa0\xc0\x9fk\x12XG\xee\xf4'}, 'v': 'DP\x00\x01'}
Message sent to ('0.0.0.0', 6881)
Updating routing table...
Routing table updated.
Sending message to ('0.0.0.0', 6881) - {'y': 'q', 'q': 'refresh', 't': '\x00\x03', 'a': {'secret': 'nOq\xec\x93\xa2\xbf\xfbi\xce\xed\xd2-h\xe2\x19\xc6\xa7\x15\xd4'}, 'v': 'DP\x00\x01'}
Message sent to ('0.0.0.0', 6881)
Updating routing table...
Routing table updated.
Sending ping to ('67.215.246.10', 6881)
Sending message to ('67.215.246.10', 6881) - {'y': 'q', 'q': 'ping', 't': '\x00\x04', 'a': {'id': <read-only buffer for 0x7f22e0ce1c30, size -1, offset 0 at 0x7f22e0ce1930>}, 'v': 'DP\x00\x01'}
Message sent to ('67.215.246.10', 6881)
From 67.215.246.10:6881:{'y': 'r', 'ip': '.e\xb8\xed\x1a\xe1', 'r': {'id': '2\xf5NisQ\xffJ\xec)\xcd\xba\xab\xf2\xfb\xe3F|\xc2g'}, 't': '\x00\x04'}
Sending message to ('0.0.0.0', 6881) - {'y': 'q', 'q': 'refresh', 't': '\x00\x05', 'a': {'secret': '/O\xd009i\n\x07\x0f\xb2!3\xcf\xf1gt\xc5\xae\xcd\xbc'}, 'v': 'DP\x00\x01'}
Message sent to ('0.0.0.0', 6881)
Updating routing table...
Routing table updated.
Sending message to ('0.0.0.0', 6881) - {'y': 'q', 'q': 'refresh', 't': '\x00\x06', 'a': {'secret': '\xb0\x89\xda\x0f\x00\xad\x8a\xecc\n\x12ei\xa4\xdb\xc4\xbf\xeb\xf2\x82'}, 'v': 'DP\x00\x01'}
Message sent to ('0.0.0.0', 6881)
Updating routing table...
Routing table updated.
Sending message to ('0.0.0.0', 6881) - {'y': 'q', 'q': 'refresh', 't': '\x00\x07', 'a': {'secret': '\xae\x8e\xdcX,\xd6\x125d\xf7\x033OH\xe7\xd0\xb1\xfb\x19\x10'}, 'v': 'DP\x00\x01'}
Message sent to ('0.0.0.0', 6881)
Updating routing table...
Routing table updated.
Is this <read-only buffer for 0x7f22e0ce1a30, size -1, offset 0 at 0x7f22e0ce1970>}
sent instead of valid ID?
Hi again
Though I'm no newbie, I can't figure out how to use DHTplay.
Some basic documentation is required: a reference guide that explains what each menu item does, and what the contents of each dialogue box item means.
First, I thought "new server" would create a new DHT server on the local host. THen I thought it was a way to tell DHTplay to connect to an existing DHT node out there on the internet (this is my current theory!) Of the two IP address and two ports in the dialogue, I assume one is the external node's addr and port, and the other two... the external IP address and port of the local host (ie the public IP of my ADSL router?) or maybe the address and port on the local server itself that the program should bind to? Something else? :-)
It's one thing to write a little program for yourself that you know how to use, with dialog box names that remind you what the dialog box contents are. It's another to publish it so that other people can use it and maybe extend it into the P2P DHT browser that we all need. In general you should think
Oh, and it would be nice to have a brief one-line
0) What does this software do?
Thanks, and I hope these suggestions are useful to make your open source project a success!
M
After you make a server, you need to connect to the dht network by adding peers. From there, you can look around.
How would I do that?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.