Free Speech Wiki
Advertisement

Applejuice is a semi-centralized peer-to-peer file sharing network similar to the original eDonkey network.

Architecture[]

Applejuice offers server and client software for Applejuicenet. The network is not managed by one company, organisation, or server, but is decentralized over many servers. The servers however, are central points for all users. Users of the Applejuice client connect to an Applejuice server, search for and find files, also locate files with a given hash from links, and then download them directly from other clients (or "peers"). The servers don't store any files. All files are served by the clients. The servers index these files, and the clients exchange the files. The clients are actually servents (P2P), regarding file sharing services. The used terms describe the role in the file searching services.

For locating resources, the Applejuice network uses a client-server system. However, the servers are also connected one to another, so while on "Server A" an individual can locate files from users on "Server B" (server-server). Clients directly exchange information about servers and files. Template:Fact

The topology is comparable to IRC. Clients have to connect to a server, so it is somewhat centralized. However, there are many servers in each network, and there are also many networks. Client-client communication is similar to IRC's DCC.

Credit system[]

The network is based on credits. For 1 byte upload individuals will receive 2 byte credits plus a 10% bonus of the Powerdownload, if the downloader activates the Powerdownload. One byte download costs 1 byte credit without Powerdownload. With activated Powerdownload individuals pay correspondingly more credits.

Other notes on the credit system include:

  • Closing the core will result in all credits resetting to 0.
  • Having less than 0 credits prohibits individuals from activating the Powerdownload, and the download won't rise above 15 kbyte/s. Furthermore the download won't be higher than your upload.
  • The Powerdownload stays disabled if when no credits are available to pay for it.
  • For incomplete chunk uploads the earned credits will be cancelled. An incomplete chunk can not be used and wastes of bandwidth. A chunk can break, if the settings aren't configured correctly (e.g. the maximum upload in the AJ options is set much too high). If the chunk upload stops for more than 150 seconds a chunk will break.

Powerdownload[]

Clients which have enough credits can use the so called "Powerdownload". With activated Powerdownload a client will get a better place in the upload queues from the other users and your download speed will rise (it works like an auction). Users only have to "pay" for the next higher Powerdownload ranking, from the bidding of the second highest user (e. g. another user set his powerdownload ratio to 3,5 and you set the powerdownload ratio to 4,8 than you only pay 3,6 kbyte credits per 1 kbyte download - one step above the second highest bidding).

Structure of Client[]

The Client consists of 2 elements:

  • Core - the part which will do all operations, written in Java
  • GUI - a graphical user interface (C++,.NET, Java, PHP, Linux,..)

The elements are connected over a network (TCP/IP). The Core listens on a specific port, and the GUI connects and gets status information/sends requests.

The protocol for communication between core and GUI is open. Every application which implements it can be used as GUI. Currently, there are native Windows GUIs, an official Java GUI, a PHP-Webinterface and also a Linux-based GUI.

The core also runs without a connected GUI. Thus, you can close the GUI and go on swapping, or also shut down your local computer if the core runs on a server.

Usage[]

The Applejuicenet is used for content distribution with a given Hashlink. The system has also a built-in search to search servers for keywords, however this feature is only efficient if you're using the current snapshot core (version >=0.30.146.1203) in combination with the Java-GUI 0.70 CVS-Build. Furthermore you have to enable/forward the core-port in your firewall/router. The Java-GUI 0.70 CVS-Build requires the Java-Runtime-Environment 5.0 and has some smaller bugs, so you should use this GUI version only for search and the Java-GUI 0.61.2 for the rest (you can close the GUI, if you are longer away - the core can also up-/download without the GUI and it saves CPU-bandwidth). Certainly there are also Community Linksites exchanging clickable hashes and some information about the files.

External links[]

GUIs[]

Advertisement