giFT

giFT Internet File Transfer (giFT) was a computer software daemon that allows several file sharing protocols to be used with a simple client having a graphical user interface (GUI). The client dynamically loads plugins implementing the protocols, as they are required.

giFT
Developer(s)jasta
Initial release2003 (2003)
Stable release0.11.8.1 (2004-11-27) [±]
Preview releaseNon [±]
Written inC
PlatformCross-platform
Available inEnglish
TypePeer-to-peer
LicenseGNU GPL
Websitesourceforge.net/projects/gift/

General

giFTcurs, a terminal front end for the giFT daemon

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. The giFT daemon is written using relatively cross-platform C code, which means that it can be compiled for and executed on a big variety of operating systems. There are several giFT GUI front-ends for Microsoft Windows, Apple Macintosh, and Unix-like operating systems.

The name giFT (giFT Internet File Transfer) is a so-called recursive acronym, 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 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:[1]

Stable
Beta version
Alpha version

OpenFT protocol

The Apollon front end

giFT's sibling project is OpenFT, a peer-to-peer file-sharing network protocol that has a structure in which nodes are divided into 'search' nodes and 'index' supernodes in addition to common nodes. 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.

Although the name OpenFT stands for "Open FastTrack", 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, OpenFT is a network where nodes 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.[3]

OpenFT is also similar to the gnutella 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.[4]
  • INDEX
Nodes with fast connections and much memory can be INDEX nodes, which keep lists of available search nodes, collect statistics, and try to maintain the structure of the network.[5]

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

NamePlatformLicenseFeaturesLatest versionWebsite
giFTcurs[6] Unix-like GPL
  • Ncurses-based
  • the only one that was officially supported
0.6.2
Apollon[7][8] Unix-like/KDE GPL
  • Tabbed searching
  • Preview of mp3 and videos
  • FirstRun wizard
  • System tray docking
  • Chat with other Apollon users
1.0.2.1 (2005-05-08) apollon.sourceforge.net
KCeasy[9][10][11] Microsoft Windows GPL[12]
  • Includes a media player.
  • Originally, included the giFT-FastTrack plugin, to connect to Kazaa and Kazaa Lite. In Version 0.12 and later he removed the giFT-FastTrack plug-in in order to avoid a legal fight with Sharman Networks. 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[11] Microsoft Windows
  • fewer features than KCeasy, but also has a smaller footprint
  • better suited for older hardware
                             
Poisoned[13][14] Mac OS X GPL
  • Its name is a pun on the German word Gift (which means poison in English).
0.5191 (2006-08-08) www.gottsilla.net
gollark: What if I want "split a string at spaces" or something?
gollark: Its main features are just easy messing with file descriptors and execution of subprocesses, but sometimes I would like to, say, manipulate strings and numbers a bit without awfulness.
gollark: https://dhall-lang.org/
gollark: A really cool configuration language is dhall, which is sort of a hybrid of JSON and Haskell with guaranteed totality.
gollark: sysv?

See also

  • MLDonkey - another plugin based multi-network P2P client

References

  1. http://gift.sourceforge.net/software/plugins.mhtml
  2. "giFT: Internet File Transfer". 2002-05-11. Archived from the original on 2011-09-27. Retrieved 2010-01-04.
  3. From the giFT documentation at the giFT homepage
  4. According to the giFT documentation:
    Search nodes handle search requests. They search the filelists their CHILD (common) nodes submitted to them. These nodes must have a capable Internet connection and at least 128M RAM. A modern processor is highly recommended as well.
  5. According to the giFT documentation:
    INDEX nodes keep lists of available search nodes, collect statistics, and try to maintain the structure of the network.
  6. Scott Rippee (15 Jan 2004) Throw That GUI Out the Door: Console Applications That Shine, OSNews
  7. Juergen Haas, Appolon, About.com Kubuntu Guide
  8. Carsten Schnober, Olympian Exchange. File Sharing with Apollon and GiFT Archived 2008-11-21 at the Wayback Machine, Linux Magazine issue 55, June 2005, pp. 82-83
  9. Thomas Mennecke (September 5, 2004) Getting Into KCeasy, Slyck.com
  10. KCEasy Review FileSharingZ.com
  11. "Slyck News - Slyck's Interview with KCeasy". www.slyck.com.
  12. "KCeasy". SourceForge.
  13. John Borland, Macintosh users join Kazaa network, CNET News, November 19, 2003
  14. Thomas Mennecke, Poisoned: Bringing FastTrack to the Macintosh Community, November 21, 2003

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 networks)
    • based on: Kalafut, Andrew; Acharya, Abhinav; Gupta, Minaxi (2006). "A study of malware in peer-to-peer networks". Proceedings of the 6th ACM SIGCOMM on Internet measurement. IMC'06. pp. 327–332. CiteSeerX 10.1.1.70.3712. doi:10.1145/1177080.1177124. ISBN 1-59593-561-4.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.