OpenNap

OpenNap is a free clone of the file-sharing program Napster. OpenNap provides the same basic functionality as former Napster server, this includes searching for files, uploading and downloading files, browsing of another user's files and a chat function both between two individual users as well as on the basis of public spaces. It is also possible to connect multiple servers together to get more clients to link with each other.

OpenNap is a command line program without a graphical user interface and can be used on many POSIX - compliant systems ( such as Linux, Unix or BSD). Windows is also supported. Because it is free software, anyone can set up a server. Since the end of 2001 OpenNap is however no longer developed (see history ).

In addition to the basic functions of Napster also new ones were added. So it is for example possible to exchange not only MP3 files, but any file types. The chat functionality has been extended so that it for chat rooms (similar to IRC) users are having special rights.

Despite getting on in years concept enjoy OpenNap and his descendants still very popular. A list of active servers a long time could be retrieved when Napigator. Since the end of April 2004, this service no longer exists, which is why two new ( operated by private individuals) have emerged gotnap.com and naplist.com which was shut down again in the meantime.

  • 3.1 OpenNap NG
  • 3.2 SlavaNap
  • 3.3 CleanNap

History

The OpenNap project was registered in January 2000 at SourceForge of drscholl. The Napster protocol was thereby determined and published by reverse engineering. This allowed that different clients could be written. This could also participate in the original Napster network.

StreamCast Networks, Inc. maintained during the boom OpenNap some professional server named Music City that could handle up to 20,000 users. In April 2001, but these were taken off the net and started a short time after the peer-to- peer client Morpheus, who was for a time very popular and originally used the FastTrack network.

After drscholl problems with the RIAA had received and the servers that he had used for testing purposes, were closed, he resigned in late 2001 and discontinued the development of OpenNap.

The main clients ( in addition to the official client ) were for Windows File Navigator, Audio Gnome and WinMX for Linux TekNap, gnapster and Lopster, and based on Java XNap. Most of these are no longer developed a long time. The only clients that are still developing them, are Lopster and XNap.

Technical details

The following description applies to the ( non-existent ) original Napster protocol.

Network topology

The OpenNap network has a classic star topology. There is a central server serving all the clients. An extension of this is that several servers can be linked together so that the load is distributed to different computers. The client requests are then forwarded to the other servers and the result returned to the client.

File Exchange

Shared files are indexed on the server. This means that a client according to the login sends a list of these files to the server. When doing this, any file types. If a user starts a search, this server is passed, which then pulls his current database to rate. The results are sent to the client along with the IP address of the owning user. If the download is started, a portion of the handshake is handled by the server and only when the download is allowed by the owner of the file, a direct connection between the parties is made.

One of the great disadvantages of OpenNap is that there are no checksums or hash values ​​for files ( even though the protocol provides MD5 sums, which is also implemented, but it was almost never used ). The result is that file transfers can occur errors that go unnoticed.

Chipped downloading can continue ( resume ). This automatically means that the simultaneous loading of a file from multiple sources is possible. One of the clients, which implements this is Lopster.

Protocol

The communication between the server and the client is based on TCP / IP, and is unwound by means of commands, consisting of a head and a binary ASCII hull. The head contains two unsigned integer 16- bit values ​​in little- endian format. The first value specifies the length of the hull, and the second type of command.

The hull is - depending on the type of command - interpreted as baying of arguments, separated by spaces ( 0x32 ). Arguments that can contain a space itself ( such as file names) are enclosed by quotation marks.

The protocol specification limits the size of shared files is not one. At present, it is however, limited by both the server and client implementations on 32 or 31 bits (4 GiB or 2 GiB ).

A relatively precise specification of the protocol can be found on the homepages of the server implementations.

Similar programs

OpenNap NG

Since 2001, a few servers have emerged that use as a basis the latest version of OpenNap. The most famous of which is OpenNap NG. The main novelty is that the communication between server and client can be compressed to save bandwidth and thus to serve more clients.

According to the website opennap - ng.org However, to be based on a three- year-old code of the code of the SourceForge project. After a dispute broke away one of the admins to carry out the project under his own roof on, while the original project continues its work on legacy code on.

Both projects are competing for the name OpenNap NG.

SlavaNap

SlavaNap is a server for the Windows operating system with a graphical interface. It has basically the same functionality as OpenNap. SlavaNap has been developed up to version 2.3.0 under the GNU General Public License, but is now closed source. Nevertheless, he is the most used by far server today.

CleanNap

CleanNap is a platform - independent implementation in the alpha stage, their development was resumed in June 2004. According to the website it was discontinued in July 2004.

621825
de