Phex

{{Short description|Peer to peer file sharing client}}

{{Infobox software

| name = Phex

| logo = Phex.png

| screenshot = Phex 2.8.8.97 search pane screenshot.png

| caption = Phex's search interface in Linux

| developer = Phex Development Team

| released = April, 2001

| programming language = Java

| platform = Java SE

| language = English, Dutch, German, French, Turkish, Spanish and Portuguese.{{cite web|title=Translate and Localize Phex|url=http://www.phex.org/wiki/index.php/Localize_Phex#Available_languages}}

| genre = Peer-to-peer file sharing

| license = GNU General Public License

| website = {{URL|phex.org}}

}}

Phex is a peer-to-peer file sharing client for the gnutella network, released under the terms of the GNU General Public License, so Phex is free software. Phex is based on Java SE 5.0 or later.

Features

Phex supports most of the recent features of the gnutella network.{{cite web|title=Phex Feature comparison|url=http://www.phex.org/wiki/index.php/Features}}{{cite web|title=The Gnutella network explained|url=http://en.gnufu.net}} Additionally it enables the creation of private networks over the internet,{{cite web|title=Private Networks with Phex| url=http://www.phex.org/wiki/index.php/Creating_a_private_Network}} has a powerful search result filter,{{cite web |title=Search Result Filter System| url=http://www.phex.org/wiki/index.php/Filter_System}} 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 hashes for uploads and downloads, providing full protection against poisoned downloads. Together with Swarming, segmented file transfer,{{cite web|title=Swarming and Partial File Sharing explained| url=http://rakjar.de/gnufu/index.php/GnuFU_en#Better_Downloading_Part1:_Swarming_and_Partial_File_Sharing}} and the Download Mesh{{cite web|title=The Download Mesh explained |url=http://rakjar.de/gnufu/index.php/GnuFU_en#Finding_sources_without_searching_aka_the_Download-Mesh}} this makes downloads as efficient and safe as BitTorrent downloads, yet completely decentralized by design.

History

FURI was an early gnutella client written by William W. Wong and released under the GNU General Public License. The software was notable at the time of its release for being written entirely in Java. 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. The last update to the software was on May 1, 2000.{{cite web |url=http://www.schnarff.com/gnutelladev/source/furi/ |title=GnutellaDev: Source: Furi |accessdate=2007-08-31 |url-status=dead |archiveurl=https://web.archive.org/web/20071007140836/http://schnarff.com/gnutelladev/source/furi/ |archivedate=2007-10-07 }}

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 of the users of this gnutella client. The future roadmap is to integrate the I2Phex code into one of the next Phex versions.[https://www.i2p2.de/bounty_i2phex I2Phex Roadmap]

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) 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.{{cite web |title=Tor and BitTorrent |url=http://wiki.noreply.org/noreply/TheOnionRouter/TorifyHOWTO/BitTorrent |access-date=2007-08-31 |archive-url=https://web.archive.org/web/20070928031554/http://wiki.noreply.org/noreply/TheOnionRouter/TorifyHOWTO/BitTorrent |archive-date=2007-09-28 |url-status=dead }} 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, FrostWire, gtk-gnutella, and Phex all support the use of TLS to encrypt traffic between nodes. TLS is not anonymous like I2P, however, it does prevent ISPs from filtering gnutella content and makes it more difficult to trace traffic.

Phex with Tor

It is possible to use Phex with SOCKS5 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:

  • {{cite web

|url = http://www.di.unito.it/~schifane/papers/networking06.pdf

|last = Ruffo

|first = Giancarlo

|title = A Decentralized Recommendation System Based on Self-organizing Partnerships

|publisher = Università di Torino

|year = 2006

}}

  • {{cite web

|url = http://www.cs.ucl.ac.uk/staff/c.mascolo/www/dasson07.pdf

|last = Kampffmeyer

|first = Holger

|title = EPITELLA: Improving the Gnutella Search Algorithm through Epidemic Spreading Models for Complex Networks

|publisher = University College London

|year = 2006

|access-date = 2007-08-31

|archive-url = https://web.archive.org/web/20070927020644/http://www.cs.ucl.ac.uk/staff/c.mascolo/www/dasson07.pdf

|archive-date = 2007-09-27

|url-status = dead

}}

  • {{cite web

|url = http://www.scs.org/scsarchive/getDoc.cfm?id=1666

|last = Makosiej

|first = Przemyslaw

|title = Measurement Study of Shared Content and User Request Structure in Peer-to-Peer Gnutella Network

|publisher = University of Rostock

|year = 2004

|access-date = 2007-08-31

|archive-url = https://web.archive.org/web/20070928180442/http://www.scs.org/scsarchive/getDoc.cfm?id=1666

|archive-date = 2007-09-28

|url-status = dead

}}

  • {{cite web

|url = http://www.cs.iastate.edu/~ndubrov/201.pdf

|last = Natalia

|first = Stakhanova

|title = A reputation-based trust management in peer-to-peer network systems

|publisher = Iowa State University

|year = 2003

}}

See also

{{Portal|Free and open-source software}}

References

{{Reflist|2}}