GiFT
Encyclopedia
giFT Internet File Transfer (giFT) is a computer software daemon
Daemon (computer software)
In Unix and other multitasking computer operating systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user...

 that allows several file sharing
File sharing
File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia , documents, or electronic books. It may be implemented through a variety of ways...

 protocols to be used with a simple client having a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 (GUI). The client dynamically loads plugins implementing the protocols, as they are required.

General

Clients implementing frontends for the giFT daemon communicate with its process using a lightweight network protocol. This allows the networking protocol code to be completely abstracted from the user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

. The giFT daemon is written using relatively cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 code
Code
A code is a rule for converting a piece of information into another form or representation , not necessarily of the same type....

, which means that it can be compiled for and executed on a big variety of operating systems. There are several giFT GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 front-ends for Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Apple Macintosh, and Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s.

The name giFT (giFT Internet File Transfer) is a so called recursive acronym
Recursive acronym
A recursive acronym is an acronym or initialism that refers to itself in the expression for which it stands...

, which means that it refers to itself in the expression for which it stands.

One of the biggest drawbacks of the giFT engine is that it currently lacks Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

 support, which prevents sharing files with Unicode characters in their file names (such as "ø","ä", "å", "é" etc.). Also, giFT lacks many features needed to use the gnutella network effectively.

Available Plugins

Available protocols are:
  • Stable
    • OpenFT
      OpenFT
      This is about the OpenFT file sharing protocol. For the enterprise file transfer software product, see openFT .----...

      , giFT's own file sharing protocol
    • gnutella
      Gnutella
      Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

       (used by FrostWire
      FrostWire
      FrostWire is a free, open source BitTorrent client first released in September 2004, as a fork of LimeWire. It was initially very similar to LimeWire in appearance and functionality, but over time developers added more features, including BitTorrent support. In version 5, Gnutella support was...

      , Shareaza
      Shareaza
      Shareaza is a peer-to-peer file sharing client running under Microsoft Windows which supports the gnutella, Gnutella2 , eDonkey, BitTorrent, FTP, HTTP and HTTPS network protocols and handles magnet links, ed2k links, and the now deprecated gnutella and Piolet links...

      )
    • Ares Galaxy
      Ares Galaxy
      Ares Galaxy is an open source peer-to-peer file sharing application that uses its own decentralized supernode/leaf network. It was spun off from the gnutella network in 2002, and is currently hosted on SourceForge.net. Ares Galaxy has a simple, quick access interface with a built in audio/video...

    • Turtle F2F
      Turtle F2F
      Turtle is a free anonymous peer-to-peer network project being developed at the Vrije Universiteit in Amsterdam, involving professor Andrew Tanenbaum. Like other anonymous P2P software, it allows users to share files and otherwise communicate without fear of legal sanctions or censorship...

  • Beta version
    • FastTrack (used by Kazaa
      Kazaa
      Kazaa Media Desktop started as a peer-to-peer file sharing application using the FastTrack protocol licensed by Joltid Ltd. and operated as Kazaa by Sharman Networks...

      ). The giFT plugin is giFT-FastTrack.
  • Alpha version
    • OpenNap
      Opennap
      OpenNap is a peer-to-peer service server software. It was created as an open source Napster server, extending the Napster protocol to allow sharing of any media type, and adding the ability to link servers together.-History:...

    • eDonkey network
      EDonkey network
      The eDonkey network is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of files...

    • Soulseek
      Soulseek
      Soulseek is a peer-to-peer file-sharing network and application. The term Soulseek might refer to one of the two networks, or one of the three official user client interfaces. Soulseek is used mostly to exchange music, although users are able to share a variety of files...


OpenFT protocol

Note: OpenFT has previously had its own article, therefore OpenFT
OpenFT
This is about the OpenFT file sharing protocol. For the enterprise file transfer software product, see openFT .----...

 redirects here. To see the articles in other languages, just click the previous link and choose from the side menu.

giFT's sibling project is OpenFT
OpenFT
This is about the OpenFT file sharing protocol. For the enterprise file transfer software product, see openFT .----...

, a peer-to-peer
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...

 file sharing network protocol that has a structure in which nodes are divided into 'search' nodes and 'index' supernodes in addition to common nodes
Node (computer science)
A node is a record consisting of one or more fields that are links to other nodes, and a data field. The link and data fields are often implemented by pointers or references although it is also quite common for the data to be embedded directly in the node. Nodes are used to build linked, often...

. Since both projects are related very closely, when one says 'OpenFT', one can mean either one of two different things: the OpenFT protocol, or the implementation in the form of a plugin for giFT.

The name "OpenFT" stands for "Open FastTrack". Despite this, the OpenFT protocol is an entirely new protocol design: only a few ideas in the OpenFT protocol are drawn from what little was known about the FastTrack protocol at the time OpenFT was designed.

OpenFT File sharing protocol

Like FastTrack and Napster
Napster
Napster is an online music store and a Best Buy company. It was originally founded as a pioneering peer-to-peer file sharing Internet service that emphasized sharing audio files that were typically digitally encoded music as MP3 format files...

, OpenFT is a network where node
Node (networking)
In communication networks, a node is a connection point, either a redistribution point or a communication endpoint . The definition of a node depends on the network and protocol layer referred to...

s submit lists of shared files to other nodes to keep track of which files are available on the network. This reduces the bandwidth consumed from search requests at the price of additional memory and processing power on the nodes that store that information. The transmission of shared lists is not fully recursive: a node will only transmit its list of shared files to a single search node randomly chosen as that node's "parent", and the list of those files will not be further transmitted to other nodes.

OpenFT is also similar to the gnutella
Gnutella
Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

 network in that search requests are recursively forwarded in between the nodes that keep track of the shared files.

There are three different kinds of nodes on the OpenFT network:
  • USER
Most nodes are USER nodes; these don't have any special function.
  • SEARCH
These nodes handle search requests; they search the filelists their CHILD nodes (explained below) submit to them. These nodes must have a capable Internet connection and at least 128M RAM. A modern processor is highly recommended as well.
  • INDEX
Nodes with fast connections and lots of memory can be INDEX nodes, which keep lists of available search nodes, collect statistics, and try to maintain the structure of the network.


A node can be both a SEARCH and an INDEX node.
USER nodes will pick three SEARCH nodes to be their PARENT nodes. They will submit their shares list to them if the PARENT accepts the USER as its CHILD. By default, SEARCH nodes will be PARENTS for a maximum of 500 CHILD nodes.

giFT front-ends

Name Platform License Features Latest version Website
giFTcurs Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

  • Ncurses
    Ncurses
    ncurses is a programming library that provides an API which allows the programmer to write text user interfaces in a terminal-independent manner. It is a toolkit for developing "GUI-like" application software that runs under a terminal emulator...

    -based
  • the only one that was officially supported
0.6.2
Apollon Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

/KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

  • Tabbed searching
  • Preview of mp3
    MP3
    MPEG-1 or MPEG-2 Audio Layer III, more commonly referred to as MP3, is a patented digital audio encoding format using a form of lossy data compression...

     and videos
  • FirstRun wizard
  • System tray docking
  • Chat with other Apollon users
  • 1.0.2.1 (2005-05-08) apollon.sourceforge.net
    KCeasy Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

    GPL
    GNU General Public License
    The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

  • Includes a media player.
  • Originally, included the giFT-FastTrack plugin, to connect to Kazaa
    Kazaa
    Kazaa Media Desktop started as a peer-to-peer file sharing application using the FastTrack protocol licensed by Joltid Ltd. and operated as Kazaa by Sharman Networks...

     and Kazaa Lite
    Kazaa Lite
    Kazaa Lite can refer to one of many third-party modifications of Kazaa, a peer-to-peer file-sharing computer program. These clients are unauthorized modifications of the Kazaa Media Desktop application, which typically exclude malware and may provide additional features.-Background:The first...

    . In Version 0.12 and later he removed the giFT-FastTrack plug-in in order to avoid a legal fight with Sharman Networks
    Sharman Networks
    Sharman Networks is a company headquartered in Australia and incorporated in Vanuatu. It owns the rights to the KaZaA file sharing software...

    . The FastTrack plug-in is still being developed and is available from a third-party website. Upgrading from previous versions of the program will not remove the giFT-FastTrack plug-in.
  • 0.19-rc1 (2008-02-03) KCeasy Source Forge website
    giFTwin32 Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

  • fewer features than KCeasy, but also has a smaller footprint
  • better suited for older hardware
  •                              
    Poisoned Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

    GPL
    GNU General Public License
    The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

  • Its name is a pun on the German
    German language
    German is a West Germanic language, related to and classified alongside English and Dutch. With an estimated 90 – 98 million native speakers, German is one of the world's major languages and is the most widely-spoken first language in the European Union....

     word Gift (which means poison in English).
  • 0.5191 (2006-08-08) www.gottsilla.net

    See also

    • MLDonkey
      MLDonkey
      MLDonkey is an open source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including a Web interface, telnet interface and over a dozen...

       - another plugin based multi-network P2P client

    Further reading

    • Minaxi Gupta, Markus Jakobsson, Andrew Kalafut, and Sid Stamm, Crimeware and Peer-to-Peer Networks, chapter 3 in Markus Jakobsson, Zulfikar Ramzan, Crimeware: understanding new attacks and defenses, Addison-Wesley, 2008, ISBN 0-321-50195-0, pp. 55–76 (discuses malware in the OpenFT and Limewire
      LimeWire
      LimeWire is a free peer-to-peer file sharing client program that runs on Windows, Mac OS X, Linux, and other operating systems supported by the Java software platform. LimeWire uses the gnutella network as well as the BitTorrent protocol. A free software version and a purchasable "enhanced"...

      networks) A short version appeared in MCS'06

    External links

    The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
     
    x
    OK