HOME

TheInfoList



OR:

Phex is a
peer-to-peer file sharing Peer-to-peer file sharing is the distribution and sharing of digital media using peer-to-peer (P2P) networking technology. P2P file sharing allows users to access media files such as books, music, movies, and games using a P2P software program th ...
client for the
gnutella Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model. In June 2005, Gnutella's population was 1.81 million computer ...
network, released under the terms of the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
, so Phex is
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
. Phex is based on
Java SE Java Platform, Standard Edition (Java SE) is a computing platform for development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE). The platform uses J ...
5.0 or later.


Features

Phex supports most of the recent features of the gnutella network. Additionally it enables the creation of private networks over the internet, has a powerful search result filter, shows client country flags, and can export the list of shared files into multiple formats, some of which can also be read out and downloaded directly by another Phex. Version 3.2.0.102 also supports
Tiger Tree In cryptography and computer science, a hash tree or Merkle tree is a tree in which every "leaf" (node) is labelled with the cryptographic hash of a data block, and every node that is not a leaf (called a ''branch'', ''inner node'', or ''inode'') ...
hashes for uploads and downloads, providing full protection against poisoned downloads. Together with Swarming, segmented file transfer, and the Download Mesh this makes downloads as efficient and safe as BitTorrent downloads, yet completely decentralized by design.


History

''FURI'' was an early
gnutella Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model. In June 2005, Gnutella's population was 1.81 million computer ...
client written by William W. Wong and released under the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
. The software was notable at the time of its release for being written entirely in
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
. The software was capable of running on Java 1.1 as long as the user downloaded external Swing libraries. If these libraries were unavailable, Java 1.2 was required. Officially, the program never left Beta status. The author eventually stopped maintaining the software, resulting in users migrating to other clients like
LimeWire LimeWire was a free peer-to-peer file sharing client for Windows, MacOS, Linux and Solaris. Created by Mark Gorton in 2000, it was most prominently a tool used for the download and distribution of pirated materials, particularly pirated musi ...
. The last update to the software was on May 1, 2000. In April 2001 Konrad Haenel forked the rarely updated gnutella client ''FURI'' to form Phex. While he participated in the Phex project initially, he left in late 2001. The project member Gregor K. continued to develop Phex and is the lead developer today. Early versions of Phex were released simply as a java jar file, limiting their ease of use on some platforms such as the Mac OS. MacPhex was an alternative version made available on the Phex website and supported by macXster. It wrapped Phex in a double click-able application and occasionally added small additional features unique to the Mac OS.


Anonymous Phex

Since 2006, an anonymous version of Phex has been available: ''I2Phex'', which uses the I2p network to hide the
IP address An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
of the users of this
gnutella Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model. In June 2005, Gnutella's population was 1.81 million computer ...
client. The future roadmap is to integrate the ''I2Phex'' code into one of the next Phex versions. Rather than use the public IP network, ''I2Phex'' uses encrypted tunnels through the I2p privacy/encryption network. Traffic is mixed with other network traffic (see
mix network Mix networks are routing protocols that create hard-to-trace communications by using a chain of proxy servers known as ''mixes'' which take in messages from multiple senders, shuffle them, and send them back out in random order to the next desti ...
) through a garlic routing system, making it difficult for outside observers to identify originators or the recipients of a file through traffic analysis. Anonymous networks have been remiss to host file sharing protocols due to bandwidth considerations. Often only searching (or tracking for BitTorrent) are supported. Nodes within the garlic routing system could refuse to route file sharing traffic. This makes inbound and outbound connections easier to locate. Outbound traffic is unencrypted so associating it with the inbound node will break the anonymity.
LimeWire LimeWire was a free peer-to-peer file sharing client for Windows, MacOS, Linux and Solaris. Created by Mark Gorton in 2000, it was most prominently a tool used for the download and distribution of pirated materials, particularly pirated musi ...
, FrostWire, gtk-gnutella, and Phex all support the use of
TLS TLS may refer to: Computing * Transport Layer Security, a cryptographic protocol for secure computer network communication * Thread level speculation, an optimisation on multiprocessor CPUs * Thread-local storage, a mechanism for allocating vari ...
to encrypt traffic between nodes. TLS is not anonymous like I2P, however, it does prevent ISPs from filtering
gnutella Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model. In June 2005, Gnutella's population was 1.81 million computer ...
content and makes it more difficult to trace traffic.


Phex with Tor

It is possible to use Phex with
SOCKS A sock is a piece of clothing worn on the feet and often covering the ankle or some part of the calf. Some types of shoes or boots are typically worn over socks. In ancient times, socks were made from leather or matted animal hair. In the lat ...
5 proxy. Using that feature it is possible to route gnutella traffic via Tor and then to Phex. This is possible by using SOCKS5 cascading proxy to Tor client.


Academic studies

Various academic studies are based on Phex: * * * *


See also

*
Anonymous P2P An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes, which are used to share resources, or participants are anonymous or pseudonymous. Anonymity of participants is usually achieved by special routin ...
* Comparison of Gnutella software


References


External links

* Official
web siteWikiForum

Project page
at SourceForge.net
Gnutella web caches
where to find peers IPs
Code quality and contributor statistics
a
Ohloh
*
Interview in gulli.com
(2007) {{File sharing File sharing software for Linux MacOS file sharing software Windows file sharing software Free software programmed in Java (programming language) Free file sharing software