Voor het uitwisselen van bestanden zijn er in de loop van de tijd verschillende netwerken en applicaties ontwikkeld, zoals het Gnutella-netwerk waarop een aantal verschillende applicaties actief zijn. Phex maakt gebruik van dit netwerk en wordt geschreven in Java, daardoor draait het onder andere op systemen met Windows, Mac OS X, Linux of Solaris. Het programma heeft ondersteuning voor multi-source downloads, Ultrapeers, Bitzi metadata lookup en MAGMA. Wie benieuwd is naar het uiterlijk kan op deze pagina een aantal screenshots bekijken van het programma in actie. Versie 3.0.0 is sinds kort beschikbaar met de volgende aankondiging:
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.
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. 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. 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. 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.
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.
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 forum 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! 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. 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 )
Changes since Phex 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. 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. :)
Changelog 3.0.0 Final:
[break]Phex 3.0.0 is in de volgende smaken binnen te halen:
- FIXED: Completed download files sometimes failed to rename and stayed in incomplete folder.
- FIXED: NPE when a country flag is missing.
- GUI: Configuration wizard helps to choose the basic configuration settings for Phex on first startup and after an important upgrade.
- GUI: New download configuration dialog with more options.
- GUI: Implemented concept of IconPacks that allows users to build own set of icons.
- GUI: New IconPack based on "Tango Project" (http://www.tango-project.org). Thanks to ArneBab
- GUI: Added search filter consequences to automatically ban the ip or download the file of a matching results.
- GUI: After over 5 years, finally a new splash screen.
- GUI: Splash screen can be hidden with a mouse click on it.
- GUI: Improved search result rendering performance during scrolling.
- GUI: Candidate search information is displayed in download overview and transfer panel.
- CORE: Integrated a download write buffer to reduce disk access.
- CORE: Improved detection of invalid and spamming query results.
- CORE: New improved preference handling.
- FIXED: Removed various memory leaks occuring on long running Phex instances.
- FIXED: Downloads report invalid candidate errors when they use a host name instead of an IP address.
- FIXED: The upload queue used to report a wrong position and length value.
- FIXED: A very low bandwidth limit caused connection threads to run into long lasting lock situations.
- FIXED: When closing a search using the search button the search tab didn't reflect the closure.
- FIXED: QueryResponse GGEP COBS parsing error.
- FIXED: The check to determine the number of missing connections had a minor calculation error.
- FIXED: Resolved various UDP host cache bugs.
Mac OS X
Java Archive (Linux/Unix etc.)