XNap provides a plugin enabled framework for peer-to-peer (P2P) applications and a client which is based on that framework
Version: 2.5r3P2P technology has rapidly evolved during the last few years. New network protocols are developed on a monthly basis and new applications for P2P technology are discovered.
Operating System: Mac OS X
Often times developers want to concentrate on the implementation of the core technology and not worry about making it available to a larger user community. The XNap projects aims to fill that gap.
XNap provides programmers with interfaces for common tasks in P2P software like search, transfer and collaboration. Most interfaces are straightforward to use as they only provide the greatest common denominator.
XNap is a Java plugin-based peer-to-peer (P2P) framework and client including an OpenNap plugin with multiple server support, as well as Gnutella, giFT (OpenFT), IRC, ICQ and an OverNet plugin. XNap provides resuming, chat, hotlist and a media library.
Still, provisions have been taken to ensure the API also allows for protocol specific extensions. As the protocol implementations only communicate through a common interface with the XNap application, a common look and feel for the various technologies is presented to the user.
The XNap client is created in a way to allow easy extension through plugins. Actually the client itself is mostly useless and only makes sense if used in conjunction with plugins. In fact all of the network protocol implementations are provided by plugins.
Actually some of these plugins are merely front ends for existing network protocol implementations. Due to the extension API it was possible to write a plugin for the Gnutella network using the Limewire core within a single weekend.
Another important aspect of the XNap project is fun and learning experience. The project is driven by motivated people who enjoy exploring the Java language and love the idea of free flow of information.
XNap is purely written in Java. The client features a modern Swing based user interface and console support that will run nicely on every platform with a recent Java Runtime Environment (1.3 or higher).
Here are some key features of "XNap":
Â· Connection to multiple networks
Â· Multiple concurrent searches
Â· Plugin architecture
Â· Auto resume of incomplete downloads
Â· Bandwidth throttle support
Â· Leecher blocking
Â· Buddy list
Â· Socks and http proxy support
Â· Integrated file preview
Â· Per user download and upload control
Â· Emacs key bindings
Â· Auto completion
Â· Search and command history
Â· Auto update to latest version
Â· Fine grained result filter
Â· Integrated command line
Â· Mac OS X integration