GiFT

Last updated
giFT
Developer(s) jasta
Initial release2003;20 years ago (2003)
Stable release
0.11.8.1 [1]   OOjs UI icon edit-ltr-progressive.svg / 27 November 2004
Preview release No [±]
Written in C
Platform Cross-platform
Available in English
Type Peer-to-peer
License GNU GPL
Website sourceforge.net/projects/gift/

giFT Internet File Transfer (giFT) is 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.[ citation needed ]

Contents

General

giFTcurs, a terminal front end for the giFT daemon GiFTcurs.png
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.[ citation needed ]

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.).[ citation needed ] Also, giFT lacks many features needed to use the gnutella network effectively.

Available plugins

Available protocols are: [2]

Stable

Beta version

Alpha version

OpenFT protocol

The Apollon front end Apollon screenshot.png
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.[ citation needed ]

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. [4]

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 have no 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. [5]
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. [6]

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 [7] Unix-like GPL
  • Ncurses-based
  • the only one that was officially supported
0.6.2
Apollon [8] [9] 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 [10] [11] [12] Microsoft Windows GPL [13]
  • 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 [12] Microsoft Windows
  • fewer features than KCeasy, but also has a smaller footprint
  • better suited for older hardware
                             
Poisoned [14] [15] 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

See also

Related Research Articles

Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model.

Kazaa Media Desktop. was a peer-to-peer file sharing application using the FastTrack protocol licensed by Joltid Ltd. and operated as Kazaa by Sharman Networks. Kazaa was subsequently under license as a legal music subscription service by Atrinsic, Inc., which lasted until August 2012.

<span class="mw-page-title-main">Peer-to-peer</span> Type of decentralized and distributed network architecture

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. This forms a peer-to-peer network of nodes.

FastTrack is a peer-to-peer (P2P) protocol that was used by the Kazaa, Grokster, iMesh and Morpheus file sharing programs. FastTrack was the most popular file sharing network in 2003, and used mainly for the exchange of music mp3 files. The network had approximately 2.4 million concurrent users in 2003. It is estimated that the total number of users was greater than that of Napster at its peak.

<span class="mw-page-title-main">Shareaza</span> Peer-to-peer file sharing application

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

<span class="mw-page-title-main">WinMX</span> Freeware peer-to-peer file sharing program

WinMX is a freeware peer-to-peer file sharing program authored in 2000 by Kevin Hearn in Windsor, Ontario (Canada). According to one study, it was the number one source for online music in 2005 with an estimated 2.1 million users. Frontcode Technologies itself abandoned development of WinMX in September 2005, but developers brought the service back online within a few days by releasing patches. WinMX continues to be used by a community of enthusiasts.

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 native client programs.

gtk-gnutella

gtk-gnutella is a peer-to-peer file sharing application which runs on the gnutella network. gtk-gnutella uses the GTK+ toolkit for its graphical user interface. Released under the GNU General Public License, gtk-gnutella is free software.

Earth Station 5 (ES5) was a peer-to-peer network active between 2003 and 2005, operated by a company of the same name. The user client application also shared this name. Earth Station 5 was notable for its strong, if overstated, emphasis on user anonymity, and for its bold advocacy of piracy and copyright infringement. ES5's highly antagonistic position toward copyright advocacy and enforcement organizations garnered the group significant attention and peaked with an ES5 press release announcing a "declaration of war" against the Motion Picture Association of America. ES5 claimed to operate out of the Jenin in the Palestinian Authority-controlled West Bank, a region where they argued that copyright laws were unenforceable. Investigative journalism cast serious doubts on the company's Palestinian origin as well as many of its other claims. To this day, much about the company and its leadership remains uncertain or unknown.

Kademlia is a distributed hash table for decentralized peer-to-peer computer networks designed by Petar Maymounkov and David Mazières in 2002. It specifies the structure of the network and the exchange of information through node lookups. Kademlia nodes communicate among themselves using UDP. A virtual or overlay network is formed by the participant nodes. Each node is identified by a number or node ID. The node ID serves not only as identification, but the Kademlia algorithm uses the node ID to locate values.

<span class="mw-page-title-main">PeerGuardian</span> Free and open source program developed by Phoenix Labs

PeerGuardian is a free and open source program developed by Phoenix Labs (software). It is capable of blocking incoming and outgoing connections based on IP blacklists. The aim of its use was to block peers on the same torrent download from any visibility of your own peer connection using IP lists. The system is also capable of blocking custom ranges, depending upon user preferences.

BitTorrent is a proprietary adware BitTorrent client developed by Bram Cohen and Rainberry, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version 6.0 the BitTorrent client has been a rebranded version of μTorrent. As a result, it is no longer open source. It is currently available for Microsoft Windows, Mac, Linux, iOS and Android. There are currently two versions of the software, "BitTorrent Classic" which inherits the historical version numbering, and "BitTorrent Web", which uses its own version numbering.

GnucDNA was a software library for building peer-to-peer applications. It provides developers with a common layer to create their own Gnutella or Gnutella2 client or network. As a separate component, GnucDNA can be updated independently of the client, passing down improvements to the applications already using it.

This is a timeline of events in the history of networked file sharing.

<span class="mw-page-title-main">FrostWire</span> Free and open-source BitTorrent client

FrostWire is a free and 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 support for the BitTorrent protocol. In version 5, support for the Gnutella network was dropped entirely, and FrostWire became a BitTorrent-only client.

File sharing is a method of distributing electronically stored information such as computer programs and digital media. Below is a list of file sharing applications, most of them make use of peer-to-peer file sharing technologies.

<span class="mw-page-title-main">Peer-to-peer file sharing</span> Data distribution using P2P networking technology

Peer-to-peer file sharing is the distribution and sharing of digital media using peer-to-peer (P2P) networking technology. P2P file sharing allows users to access media files such as books, music, movies, and games using a P2P software program that searches for other connected computers on a P2P network to locate the desired content. The nodes (peers) of such networks are end-user computers and distribution servers.

Peer-to-peer file sharing (P2P) systems like Gnutella, KaZaA, and eDonkey/eMule, have become extremely popular in recent years, with the estimated user population in the millions. An academic research paper analyzed Gnutella and eMule protocols and found weaknesses in the protocol; many of the issues found in these networks are fundamental and probably common on other P2P networks. Users of file sharing networks, such as eMule and Gnutella, are subject to monitoring of their activity. Clients may be tracked by IP address, DNS name, software version they use, files they share, queries they initiate, and queries they answer to. Clients may also share their private files to the network without notice due to inappropriate settings.

<span class="mw-page-title-main">Phex</span>

Phex is a peer-to-peer file sharing client for the gnutella network, released under the terms of the GNU General Public License, so Phex is free software. Phex is based on Java SE 5.0 or later.

File sharing is the practice of distributing or providing access to digital media, such as computer programs, multimedia, documents or electronic books. Common methods of storage, transmission and dispersion include removable media, centralized servers on computer networks, Internet-based hyperlinked documents, and the use of distributed peer-to-peer networking.

References

  1. Error: Unable to display the reference properly. See the documentation for details.
  2. "GiFT: Network Plugins". Archived from the original on 2007-02-16. Retrieved 2007-02-15.
  3. "giFT: Internet File Transfer". 2002-05-11. Archived from the original on 2011-09-27. Retrieved 2010-01-04.
  4. From the giFT documentation at the giFT homepage
  5. 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.
  6. According to the giFT documentation:
    INDEX nodes keep lists of available search nodes, collect statistics, and try to maintain the structure of the network.
  7. Scott Rippee (15 Jan 2004) Throw That GUI Out the Door: Console Applications That Shine, OSNews
  8. Juergen Haas, Appolon Archived 2011-07-07 at the Wayback Machine , About.com Kubuntu Guide
  9. 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
  10. Thomas Mennecke (September 5, 2004) Getting Into KCeasy Archived 2012-02-20 at the Wayback Machine , Slyck.com
  11. KCEasy Review FileSharingZ.com
  12. 1 2 "Slyck News - Slyck's Interview with KCeasy". www.slyck.com. Archived from the original on 2010-01-03. Retrieved 2010-02-16.
  13. "KCeasy". SourceForge. 8 April 2013.
  14. John Borland, Macintosh users join Kazaa network, CNET News, November 19, 2003
  15. Thomas Mennecke, Poisoned: Bringing FastTrack to the Macintosh Community Archived 2012-02-20 at the Wayback Machine , November 21, 2003

Further reading