This feed contains pages in the "apt-p2p" category. All these posts relate somehow to the apt-p2p program that I wrote.

I have just uploaded an important update to apt-p2p that is highly recommended for all users.

At some point over the last 48 hours bittorrent nodes have started to infiltrate the apt-p2p DHT (you may have noticed many ValueError tracebacks in your log file). The (mainline) bittorrent DHT is very similar in protocol to apt-p2p, and so the nodes are able to partially communicate and pollute each others routing table. I didn't think this would ever happen, as there wouldn't seem to be a reason for them to ever come into contact, but somehow it did.

I've made some minor changes that exploit the differences between the two protocols to exclude bittorrent nodes from the apt-p2p routing table, and to drop any requests from bittorrent nodes (which should prevent apt-p2p nodes from polluting the bittorrent DHT). However, it is very important that all users upgrade to this new version to prevent any further mixing of the DHTs.

Posted Sun Jun 22 07:24:45 2008 Tags: apt-p2p

I have updated apt-p2p to version 0.1.3, which is available now in unstable and my repository (see my previous post introducing apt-p2p).

This update brings mostly speed improvements to finding peers to download from, and performing the download. Nodes in the DHT are now checked for responsiveness more thoroughly before adding them to the routing table, and rechecked more frequently afterwards. This should prevent bad nodes from propagating through the system, and departing nodes remaining in the system long after they have left. Downloading from peers is also quicker, as bad peers are dropped with a quicker timeout value and after a small number of errors. There was also a bug revealed by about 10% of the mirrors that caused downloads to fail, and was fixed in version 0.1.2.

This update is STRONGLY recommended, as keeping unresponsive nodes out of the DHT will make everyone's experience better. If you tried apt-p2p and had some problems, I hope you'll consider trying again now. Unfortunately, these are enhancements I could not predict needing before releasing to the public, as the problems they solve are all caused by having a larger number of users, some of which are unresponsive.

There are still a large number of peers (maybe 50% of them) that are unreachable, and so can not share any files with other peers. I don't have a good way to check yet, but you can go to sites such as this one to probe your client for you. Just enter the remote IP address and port (available on the status page) of your client in the form http://ipaddress:port/ (e.g. If the check returns any HTTP headers (even a 404 Not Found response) then you're fine, but if it doesn't return anything then your peer is firewalled or NATted and should probably be fixed.

Here are the changelog entries for 0.1.2 and 0.1.3:

  • Speed up downloading from peers
    • Set a new peer's ranking values so they don't get an unfair advantage.
    • Reduce the HTTP connection timeout to 10s.
    • Drop peers after a limited number of errors.
  • Speed up the DHT requests when nodes fail
    • Schedule a re-ping message after adding a new node.
    • When a node fails, schedule a future ping to check again.
    • Send periodic finds to nodes that are stale.
    • Increase the stored value redundancy to 6.
    • Increase the concurrency of DHT requests to 8.
    • Add early termination and ignoring slow responses to recursive DHT actions when timeouts occur.
  • Remove the debconf note about port forwarding (Closes:#479492)
    • Add a NEWS entry for port forwarding
  • Fixed a bug in the HTTP downloader that caused errors with some mirrors that always close the connections (Closes: #479455)
Posted Sat May 10 16:28:12 2008 Tags: apt-p2p