This text is an extension of the release notes of Phex 3.0. Opinions expressed herein are only the opinions of Arne Babenhauserheite, not of the Phex Team in general or of any other member of the Phex Team.
Phex is a free and highly configurable p2p Program for MaxOSX, Linux and Windows, running on the Gnutella Network.
The original release notes can be found on phex.org
With Version 3.0 Phex has its first major release since July 2004, and we'll take this chance to have a look back, a look on the wealth of new things which found their way into this cunning fox in the course of two years.
(The impatient among you can simply jump to the changes since 2.8.10).
Much has happened since Phex 2.0.
( Collapse )
FileSharing in General
On the filesharing side, we saw the fall of KaZaA, which looked like the rising star in p2p, till it was brought down by spammers, the RIAA, and its own faulty hashing system, and we saw the rise of BitTorrent as a distribution-tool for the internet, as well as a rebirth of Gnutella with LimeWire as its thriving force.
The different p2p networks all evolved, some more and some less. While BitTorrent saw decentral torrents and multi-file torrents and edonkey changed to overnet to become decentral using the kademlia DHT, Gnutella saw improvements on almost every front (broad adoption of dynamic querying, QRP and UDP-Host Caching and much more, for infos, see gnufu.net), and its userbase is still rising, but Gnutella also witnessed the fall of Bearshare (which surrendered everything it had to the RIAA), while other client-developers stood firm against legal threats.
FileSharing and the Law
But it wasn't the only network, which has been attacked. Hundreds of lawsuits against the users of almost every non-anonymous p2p-network are filed each month, and the media-industrie speaks of a triumph, a triumph which seems to shine in the downbreaking of major bittorrent-sites, the fall of KaZaA and raids on many individual users. But even in the most glorious hour of that media-industry, filesharing continues to thrive, sites like thepiratebay.org openly stand against the threats of RIAA and MPAA and the number of Gnutella users rises steadily, and in that way everything the media corporations accomplished crumbles to dust, as more and more people realize, that the media-industry does not care the least about good music or great artists or even about their customers, but only about making as much money as possible with providing as little content as possible in return - in quantity as well as in quality. And so they make a reality, what was only an irrational fear in the beginning: People stop buying their stuff, because who would buy from the people who just sued a close friend or relative?
And now, in the looming shadows of the crumbling dynasty of those dinosaurs, new businesses like http://jamendo.com spring to life, which harness the power of p2p-networks, while staying true and fair to customers and artists alike, and who wholeheartedly embrace free licenses like those found at creativecommons.org, artlibre.org and gnu.org .
So while the old giants still try to cling to their power using legal threats and suing the ones, who give them their money, the music business is ever faster being taken out of their hands by those who see the chances for innovation and who know, that fairness and real freedom is a value for their customers and fans, and also know that money can be made without stealing freedom from those, who provide their daily food by gladly paying for good products; a philosophy you can very strongly see in those masterminds, who get us the thrilling machinima series Bloodspell and merge their creative works with musicians who also thrive in the creative commons.
And as we see all these exciting developements, which transform the internet as we know it into an even stronger tool for freedom, Phex now comes to Version 3.0, and while the revolutions in Phex might not be as obvious as those in the free media scene, there is much to get you excited in the shape of this cunning fox.
Among the first things you'll notice when switching from 2.0 to 3.0 (skipping all those versions in between to get a real taste of the changes) are the much improved search, download and library pane, which now feature user-defined filters, user-selectable download-strategies and regexp filtering for your shared files, as well as completed translations into German, Dutch, French and Turkish.
But those are just the paintings on the fur of this quickly evolving fox. In its belly, muscle and bones there have been fundamental changes, which make this fox faster and more cunning than ever.
Switch to Java 1.5
First, really deep down inside, we now switch to Java 1.5, exactly like we switched from Java 1.3 to Java 1.4 in Version 2.0. This means, we'll have a hell of a lot of chances for optimizing and doing things we couldn't do before without hacking too deep to keep it cross-platform.
Rewritten Download Code
Also we rewrote all of the download code, which now saves into single files instead of the collection of parts it used before, and which now allows you to throttle the bandwidth used for each single download. We did this to get a full integration of the changes done by Nick Farrel, who did the first step into the download strategies by making it possible to choose download-parts by their availability, which now is the default way Phex uses: It downloads the rarest parts first (those which are avaible from the least number of hosts). Also the size of download-segments is now adjusted in such a way, that each segment takes a user-configurable amount of time (just take a look into the Download options), so Phex chooses bigger segments from faster sources and smaller segments from slower ones. This makes downloads less prone to waiting forever on the last segment and increases overall download speed..
The strategies allow you to configure for each download, if it should priorize segments from the beginning of the file, from beginning and end, random parts or rare parts. You can get more indepth information on strategies at Download Strategy.
Also the download pane was redesigned to give you more information in a simpler way and to make it more pleasing to the eye (and you might want to check, if you can see that fox twinkling :) ).
Uploading and Network-code
Uploading started Thex-support: Tiger Tree Hashing which makes File corruption a thing of the past because it validates every single segment others download from you. It will be integrated into downloading in subsequent versions.
The Library now allows regexp filtering of shared files, hiding of selected folders and exporting your shared files to various formats.
On the network-side Phex now includes support for UDP-Hostcaches, the new bootstrapping method in Gnutella, which takes some strain off the GWebCaches (even though we now also operate our own GWebCache, which helps drawing Phex closer together). Many thanks to Madhu for implmenting!
Private Networks, Subscriptions and Magma-Lists
Phex now makes the creation of Private Networks far easier, so that you can create your own subnetwork for your forum, website or similar (Further Information: Private Networks ).
Also it makes it possible to send your file-list to your friends by using Magma-Lists, which are essentially lists of magnet links and can very easily be created by clicking the "export" button in the library. These also make it possible to subscribe to content, as you'd do it with an RSS-Feed. See Decentral Content Distribution
Using this Model, The Phex Team founded the "Polar Skulk". If you're interested in getting more free material and spreading free and legal files into the Gnutella network (or if you just like to read fox-themed texts), you can become a part of it (subscribe to the List), and then (and only then) your Phex will regularly download small (free) treasures we find on the web. For more information, just have a look at the
Polar Skulk and let yourself be welcomed by the Skulk.
If you know of some files, which should be part of the shared knowledge of the Skulk, we'd gladly welcome you as an Elder of the Skulk, and if you want to create your own Skulk which shares its knowledge and pushes it into the Gnutella network, that text is also likely to be quite interesting to you, and we'd be happy to support you in any way we can if you come to our forum forum.
Searching and user-defined filters
The searching part now includes the 'What's New" search which was introduced by LimeWire. It now allows you to do some pretty powerful result-filtering based on conditions and consequences. This enables you to filter by size, name or filetype and to create your own powerful filters.
It comes shipped with 3 predefined filters: An adult filter, a known spam filter and a scam file filter; the third blocks those files which are most often used by spammers or which can easily be used to invade your privacy, for example files ending in .asx or .wma. To see what exactly these predefined filters do, just go into search and select "edit" in the filter-rule pane. Then select one of the filters and click the "edit"-button in here. You will now see the rules with which the respective filter was created.
Also the Phex backend now supports queries by UTF-8, thus allowing searches using international characters.
And with this, we concluded our tour through the changes inside this fox and come back to the surface, where you'll notice the all new IconPacks, which decorate the fur of Phex. One of them uses the famous Tango-Icons which are also used in Firefox and the Gnome Desktop. They are the first step into allowing you to modify not only the inner workings of Phex, but also its outfit, so you can adapt it even further to your needs.
To ease collaboral documentation and help among users the Phex Team now also has a wiki where you can contribute documentation or just tell us how your Phex behaves for you.
If you prefer a more traditional way to collaborate, you might want to take a look at our forum, where you can also get support, if you run into any problems:
And if that text far above about suing got you scared and you want to have a glimpse of the things which might protect your privacy soon, please have a look at i2Phex, but beware: It is still Alpha software and it desperately needs developers who port all the changes from Phex into it and clean up much of the anonymizing code. Don't expect it to work nicely or giving you anything near decent speed; it is called Alpha for a reason, but it should suffice to give you a glimpse of a part of the future of anonymous p2p.
You can find more information on anonymous p2p in general in the wikipedia
Meet up in the Foxes Den
Did the development get you as excited as the Phex Team? Or are you still missing something?
Should there be a feature, you'd simply love to see in Phex, or should excitement just now have taken over, then please come into our wiki or into our wiki and add a feature request or write your praise, or better still: code the feature yourself and contribute to the Phex codebase.
We are always looking for developers, and there are numerous features and ideas awaiting realization - and we are sure, that you yourself have a few more features up your sleeve, which could make Phex a better program.
And if you can't code, but are able to write beautiful text or create alluring images, we'd be glad to welcome you in, too!
Again the forum is the place where we'd love to meet you.
Also we still need translations for any language, and we need testers who want to test the reactions of our fox in and out for the various systems Phex runs on.
And if you're in a foxy mood, we invite you to join us in the bug spot-squashing challenge!
For additional information how to contribute to Phex, please check
And if you want to speed up development in some other way than the above, you might consider creating a bounty for a certain additional feature for Phex or just make a donation as a simple "thank you and keep up the good work". We are glad for even the smallest fraction you want to give, and you can then add yourself to the public list of donors (if you wish to). If your homepage fits with Phex and filesharing in general, we'd also gladly add its address to your name in that list.
Please check into Donations for more information.
And in all cases: Tell your friends, your forum and your family about Phex!
Blog about it, write about it, and just generally talk about it, and you can give something back for the good times with the fox!
(You can find some great banners in the general developement section of our forum, if you'd like to use them, and there's a page where you can point your friends who want to know about Phex: get Phex )
And now for those impatient ones, who simply want a short list of the changes since version 2.8.10:
On the interface-side Phex now has a new way to handle downloads, so you can set a target-folder for each download individually. Also the splash screen can now be hidden by left-clicking on it.
Below the surface, Phex got an all new and more structured system for handling preferences, which further improves the separation of GUI and Core. Additionally download write buffer is used to reduce the load on your disk.
(If you want to use Phex headless, please have a look at our wiki: Advanced Questions )
Additionally there were some nasty little bugs, which made the mistake of tumbling into the spotlight and got squashed by the hands of our main programmer. :)
Full info on the changes is available in the changelog.
You can get the new Version of Phex at get Phex.
-- Arne Babenhauserheide ( http://draketo,de )