Cameron Dale/ apt-p2p

Apt-P2P: a peer-to-peer proxy for apt downloads

Goal

Similar to DebTorrent, Apt-P2P will act as a proxy between apt requests and a debian repository server, downloading any requested files from peers (if possible), but falling back to a direct HTTP download. Unlike DebTorrent, Apt-P2P will be simple, efficient, and fast.

Features

This software is open-source and is released at no charge under the terms of the GPL v2 license.

FAQ

Requirements

To run the full program (e.g. to actually download something):

If you just want to run the DHT part of the program (e.g. to provide a bootstrap node), then you only need:

Development Status

This project is still undergoing massive code and protocol changes and hasn't yet seen a release. The code has worked, and is occasionally working, and will definitely be working soon in the future.

Installing

There are detailed instructions on how to Install the Apt-P2P program. If you have any trouble using the program, you can email me, or come and find me in the DebTorrent IRC channel (#debtorrent on OFTC). If you think you've found a bug in the program, please let me know.

The Code

The latest code for the project is currently hosted in a Git repository. It is publicly readable, and there are instructions there for downloading the code. It is originally based on the khashmir implementation of the kademlia DHT. All of the networking is handled by the Twisted and Twisted Web2 libraries. Dealing with apt's repository files is handled by python-apt, the code for which is based on that of the apt-proxy program. There is also a description of the protocol available, as well as an api for the code.

Other Documentation (all PDFs)