PeerGuardian
Developer(s) | Phoenix Labs |
---|---|
Stable release | |
Operating system | Cross-platform |
Type | Firewalls |
License | GPL or zlib/libpng license (depends on OS) |
Website | www.phoenixlabs.org |
PeerGuardian and PeerGuardian 2 are free and open source programs developed by Phoenix Labs. They are capable of blocking incoming and outgoing connections based on IP blocklists. Their purpose is to help protect the user's privacy from organizations such as the RIAA and MPAA while using filesharing networks such as FastTrack and BitTorrent [citation needed]. The system is also capable of blocking advertising, spyware, government and educational ranges, depending upon user preferences.
History
The original PeerGuardian (1.0, led by programmer Tim Leonard) was programmed in Visual Basic and quickly became popular among more knowledgeable P2P users despite blocking only the common TCP protocol and being known for high RAM and CPU usage when connected to P2P networks. The original version was made open source, and development began on a new version (2.0, led by programmer Cory Nelson) to resolve the shortcomings of the original. The latest version, PeerGuardian 2, is coded in C and C++ and sits low in the kernel so that it can block all IPv4 protocols and ports.
Operation
On Windows, Linux, and Mac OS X, PeerGuardian uses a driver to queue all incoming and outgoing connections. Connections are checked for their status in the blocklist using a binary search.
Blocklist formats
The blocklist 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. Lists are produced in this format.
- P2B Version 3 - The newest version of the P2B format, this is currently supported only on the latest version of the Windows flavor of PeerGuardian 2. This format uses 7z compression for additional size reduction. Unfortunately, the recent adoption of this format and the somewhat obscure nature of the compression used make this format the least compatible one. Lists are produced in this format.
P2P Plaintext Format
The original format for PeerGuardian version 1.x was a simple plain text 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:
Range Name:FirstIP-LastIP
For example:
Localhost:127.0.0.1-127.0.0.1
This format is used in eMule, in the SafePeer Azureus plugin and in Protowall.
See also
External links
- Official PeerGuardian website (Phoenix Labs)
- PeerGuardian at SourceForge
- test.blocklist.org, lists.blocklist.org
and www.bluetack.co.uk - blocklists