# PeerGuardian

PeerGuardian is a free and open source program developed by Phoenix Labs (software). It is capable of blocking incoming and outgoing connections based on IP blacklists. The aim of its use was to block peers on the same torrent download from any visibility of your own peer connection using IP lists. The system is also capable of blocking custom ranges, depending upon user preferences.
The Windows version of this program has been discontinued in favor of other applications (Phoenix Labs encourage current PeerGuardian users to migrate to PeerBlock which is based on PeerGuardian 2.)

## History

Development on PeerGuardian started in late 2002, led by programmer Tim Leonard. The first public version was released in 2003, at a time when the music industry started to sue individual file sharing users (a change from its previous stance that it would not target consumers with copyright infringement lawsuits).

### Version 1

The original PeerGuardian (1.0) was programmed in Visual Basic and quickly became popular among P2P users despite blocking only the common TCP protocol and being known for high RAM and CPU usage when connected to P2P networks. By December 2003, it had been downloaded 1 million times. The original version was released for free and the source code was made available under an open source license. Due to Version 1.0 only blocking TCP ports PeerGuardian.net then shifted to bluetack.co.uk where Protowall, The blocklist Manager, B.I.M.S and the Hosts Manager were developed.

### Version 2

After 7 months of development, in February 2005 Version 2 of PeerGuardian was released as a beta. The development of version 2.0 was led by Cory Nelson, and aimed to resolve many of the shortcomings of Version 1. Version 2 enabled support for more protocols (TCP, UDP, ICMP, etc.), multiple block lists, and automatic updates. The installation procedure was also simplified, no longer requiring a system restart and driver installation.
Speed and resource inefficiencies were fixed by re-designing and re-coding Version 2.0 in C++ to consume less processing power and memory. As with most other desktop firewall software for Windows, Version 2.0 is installed as a kernel-level filter in Windows 2000 and later, giving the application direct access to the Windows networking stack and improving performance.
Support for both Windows Vista and IPv6 were in release candidate phase as of May 2009.

## Blacklist

The blacklist is stored in a number of different formats:

### Binary formats

The binary formats (known as P2B) were created at the release of the first beta version of PeerGuardian 2, in order to create the smallest possible blocklist.
* P2B Version 1 – This format was used only in the earliest releases of PeerGuardian 2. It was compressed using the gzip format. Lists are no longer produced in this format.
* P2B Version 2 – The most widely used format, this is supported among a number of applications, including eMule and the Linux version of PeerGuardian. It is equivalent to the first version of the P2B format, but instead uses UTF-8 to store names.
* P2B Version 3 – The newest version of the P2B format, this is currently supported only on the latest version of the Windows version of PeerGuardian 2. This format uses 7z compression for additional size reduction. The recent adoption of this format made it the least compatible one.

### P2P plaintext format

The original format for PeerGuardian version 1.x was a simple plaintext format. Unfortunately this meant that lists became very large and cost a lot of bandwidth to distribute, heralding the construction of the smaller binary formats. The format is as follows:
For example:
This format also is used in eMule, in the SafePeer Vuze plugin, ProtoWall, KTorrent, and Transmission.

### Blacklist management issues

Since at least 2006, the P2P blocklist used by PeerGuardian has been provided by "Bluetack Internet Security Solutions". ("Bluetack" was the name of the member of the original PeerGuardian team who owned its previous domain peerguardian.net and created the "Block List Manager" used to maintain the list.)
Bluetack.co.uk developed an application called the Bluetack Internet Management System (B.I.M.S) that would spider whois servers to create a map of the internet and all of its IP Addresses. With this database the admins of the site (Seraphielx, Moore, Firstaid, Tozanno, DeathAngel, R00ted) would search for names of Anti-P2P companies and set a status code in the entry to make the blocklists that would be downloaded by the blocklist manager for import into PeerGuardian, Protowall, and other applications that would block Anti-P2P traffic from accessing your download. They would also obtain logs from people who were sent letters for downloading "illegal" software, music and videos and figure out who in the list did not belong and flag the entry just to be safe.
The PeerGuardian developers state they have no control over Bluetack's list, and do not promote or link to alternative lists. They have been criticized for overly broad blocking based on unsubstantiated evidence.
PeerGuardian acknowledges that Battlefield 2, Blizzard, Steam, and ArenaNet connectivity is blocked, which creates problems for many online gaming users who are not aware that PeerGuardian will break game connectivity, and are thus directed to read the manual.
With the blocklist manager application, users can add these sites to a "Safe list" allowing them to continue using the Games and websites without interference from PeerGuardian.
In 2007, Bluetack/PeerGuardian 2 were criticized for blocking denis.stalker.h3q.com, the second largest BitTorrent tracker as of December 2007, as an "Anti-P2P" address, and claiming that its maintainers (whose tracking software "Opentracker" is also used by The Pirate Bay) were conspiring with the MPAA and MediaDefender. The maintainers are members of the Chaos Computer Club (CCC), a long-standing association of hackers and freedom of information activists, and had also briefly run their tracker from the CCC's own network. Bluetack also blocked CCC itself, accusing it of doing "anti-P2P work" and being a "threat" to file sharers, while others pointed to the fact that the CCC had been publicly defending P2P for years, and even called for boycotting the music industry to protest its file sharing lawsuits.
Although IP addresses of government and business entities are easily added to a list of IP addresses to be blocked, there is no means for PeerGuardian to block access by a government or business using an undocumented IP address to identify people engaged in copyright infringement or other possibly unlawful activity.

## PeerGuardian Lite

PeerGuardian Lite is a derivative of PeerGuardian 2 made to consume as little CPU and RAM as possible. It has no UI or options and consists of a single tray icon. It is no longer developed, with the latest version released on 22 April 2005. It is also open-source, allowing for future derivatives by any party. As its developers reported online, Peerguardian Lite is now continued under the project and program Peerblock, and Peerguardian Lite users were recommended from around 2008 on to switch to Peerblock. Peerblock has some more options, but uses almost as little CPU as Peerguardian Lite did.

## Other criticism

Besides the original criticism of Version 1 being slow and buggy, most other criticism of PeerGuardian is around the actual technique used to block peers. Critics have pointed out that the blocklists are open to the public, and thus parties who may wish to circumvent PeerGuardian can actively check the list to see if their IP addresses have been blocked.
The blocklists are also managed by the public, but there is no fool-proof method on checking or reporting why an IP address or range are bad, nor on checking if the blocked IP addresses still remain bad. The list relies on the public to make submissions, and thus is vulnerable to attack itself (see above section on blocklist management issues).
Vista 64-bit and Windows 7 64-bit are listed for application compatibility, but require a work around involving disabling driver signing that may require some degree of computer skill.