Skip to content
blakef edited this page Sep 13, 2010 · 4 revisions

Python Direct Connect:

The project allows you to interact with a Direct Connect network, typically to gather information about clients or just listen in on what’s happening. This project is particularly interested in providing a useful interface for people wishing to automate, collect and analyse data from such a network.

Update 2.b:

Spent a lot of time reworking and simplifying changes in the Client → Hub interface. It’s stable in the hyde branch. I’ll start work on debugging the client → client code, which falls over at the moment.

Update 2.a:

The current working branch, called hyde, is trying to use the SocketServer module to clean up the back-end. It’s making some progress, and it has forced me to clean up the code. I have moved the code out of a single file (it was getting unmanageable). There are a couple of kuldge code moment, but not as many. Hopefully the next release will be much better than the initial release.

Update 1:

I’ve reverse engineered the protocol, and used the mixed set of references available. Currently the client can log onto a DC Hub, get the list of users available and download from those users. There is still room for the following operations to be added:

  1. Stabilise file downloading:
    • The client won’t timeout a download once it’s initiated.
    • The asynchronous architecture isn’t really all that async :), this needs to be rewritten
  2. Actually host and upload files
    • At the moment this is simply being spoofed, and is likely to piss off people on a DC network.
  3. Create a separate configuration file
  4. Enforce stronger modularity
    • The client currently has a string of refernces from one class to another. How information is shared from one class to another needs to be thought out.

I’ve (very poorly) written a client using Twisted, but found it obscure and want to avoid it if possible.

Clone this wiki locally