TinyP2P
The World's Smallest P2P Application

Written by Ed Felten, with help from Alex Halderman.

TinyP2P is a functional peer-to-peer file sharing application, written in
fifteen lines of code, in the Python programming language. I wrote TinyP2P
to illustrate the difficulty of regulating peer-to-peer applications.
Peer-to-peer apps can be very simple, and any moderately skilled programmer
can write one, so attempts to ban their creation would be fruitless.

(Each line has 80 characters or fewer. The first line doesn't count -- it's
a label for human readers and is ignored by the computer.)

My goal in creating this program is not to facilitate copyright
infringement. I do not condone copyright infringement. Nothing about the
program's design is optimized for the sharing of infringing files. The
program is useful mainly as a proof of concept. A more practical program
would be faster, more secure, and more resilient against failure. But that
would require a few more lines of code!

The TinyP2P code is available for download at
http://www.freedom-to-tinker.com/tinyp2p.py.

The program creates a small-world network, which might be used by a group of
friends or business associates to share files. The program does not work
well for very large networks; instead, many small networks can coexist. Each
network is protected by a password; a network can be accessed only by people
who know its password. (But networks are not secure against attackers who
can eavesdrop on their traffic.)

The program uses standard communication protocols: HTTP and XML-RPC. HTTP is
the same protocol used by web browsers to fetch pages, and XML-RPC is widely
used to provide web services.

The program can be run in one of two modes, server or client. When run as a
server, the program connects to a network of other servers, and makes all of
the files in the current directory available for downloading by users of the
network. (Files deposited into that directory while the server is running
will become available immediately to other users.) T



You are a subscribed member of the infowarrior list. Visit 
www.infowarrior.org for list information or to unsubscribe. This message 
may be redistributed freely in its entirety. Any and all copyrights 
appearing in list messages are maintained by their respective owners.

Reply via email to