Free Speech Wiki
Advertisement

Template:Infobox Software Phex is a peer-to-peer file sharing client for the Gnutella network. Phex is based on Java technology and available for systems that offer a J2SE 1.5 runtime environment.

Released under the terms of the GNU General Public License, Phex is free software.

Features[]

Phex supports most of the recent features of the Gnutella network[1][2].

Additionally it enables the creation of private networks over the internet[3], has a powerful search result filter[4] 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, Partial File Sharing[5] and the Download Mesh[6] 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 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 1st, 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.

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.

Rather than use the public IP network, I2Phex uses encrypted tunnels through the i2p privacy/encryption network.

Traffic is mixed with other network traffic 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 [7]. 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.

gtk-gnutella, LimeWire, 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 SOCK5 cascading proxy to TOR client.

See also[]

Template:Portal

  • Comparison of Gnutella software

Various academic studies are based on Phex:

  • Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  • Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  • Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  • Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).

References[]

Template:Refs

External links[]

Template:Commons

Template:Gnutella

de:Phex es:Phex it:Phex

  1. Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  2. Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  3. Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  4. Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  5. Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  6. Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
  7. Lua error in Module:Citation/CS1 at line 4069: attempt to call field 'set_selected_modules' (a nil value).
Advertisement