Skip to content

PyroSamurai/apt-p2p

Repository files navigation

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

  • Downloads from peers, increasing the available bandwidth to the user
  • Reduces the bandwidth requirements needed to setup a repository of packages
  • Seamlessly integrates with the current APT tool
  • Automatically falls back to downloading from an HTTP mirror when peers are not available
  • Builds on other already existing tools where possible
  • Fast and requires limited CPU and memory
  • Will try to download any file it can find a hash for from peers (including Packages.bz2, Sources.gz, ...)

This free/libre software and is released at no charge under the terms of the GPLv2 license.

Requirements

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

  • Python 2.4 or higher
  • Twisted 2.4 or higher
  • python-apt 0.6.20 or higher
  • An APT-based package management system (such as Debian distributions have)

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

  • Python 2.4 or higher
  • Twisted 2.4 or higher

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 the website showing how to install the Apt-P2P program.

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages