Overview of additional packages: AdditionalPackages
giFT
A good description of giFT can be found on the SourceForge website
http://gift.sourceforge.net/:
What is giFT, you ask? giFT is a modular daemon capable of abstracting the communication between the end user and specific filesharing protocols (peer-to-peer or otherwise). The giFT project differs from many other similar projects in that it is a distribution of a standalone platform-independent daemon, a library for client/frontend development, and our own homegrown network, OpenFT.
The goal of this project is to ensure that user interface developers never waste time with the low-level details of a protocol and that network programmers never waste time with the user interface details. Along those same lines it allows end users to control which protocols they use no matter which giFT interface they have selected as their favorite. Any new filesharing network can be supported without any change to the user interface.
A list of giFT clients can be found here:
http://gift.sourceforge.net/software/guis.mhtml
Features
Supported networks:
- Fasttrack (P2P network primary know by Kazaa)
- OpenFT (GNU implementation of the fasttrack network)
- Gnutella (P2P network originally developed by Nullsoft)
SoulSeek (P2P network specifically for sharing and downloading music)
Note: The SoulSeek plugin is in early beta stage and can be buggy
Download
A pre-compiled package can be downloaded here:
http://home.wanadoo.nl/imhoff/WL500g/giftd_0.11.7-1_wl500g.tar.gz
It has all supported networks enabled. Credits go to DeF.
Source
The source code can be downloaded here:
http://sourceforge.net/project/showfiles.php?group_id=34618
Additional program's/library's used are unmodified and are available on the following site's:
http://gift.sourceforge.net/download.php
http://gift-fasttrack.berlios.de/
http://gift-soulseek.sourceforge.net/
http://www.gzip.org/zlib/
http://www.gnu.org/software/libtool/libtool.html
The rest of the library's are copied from the Asus cross-compile toolkit:
http://www.asus.com.tw/support/download/selectftp.aspx?l1_id=11&l2_id=2&l3_id=0&m_id=4&f_name=GPL_1756.zipzaqwedc
Compiling
To compile you need to have a Linux box with the Asus cross-compile toolkit properly installed and in your PATH. To make life a little bit easier I used a removable HD mounted on /mnt/usbfs and set all prefixes to a path in /mnt/usbfs, so the compiled in path's are correct.
GiFT and the plugins depend on the libtool library and zlib. You'll have to compile these library's first.(sorry lost my compile commands... but it is pretty straight forward...)
Next you can compile the giFT daemon it self. This can be done by the following commands:
# ./configure --host=mipsel-linux --prefix=/mnt/usbfs/giftd --with-ltdl=/mnt/usbfs/libtool --disable-libvorbis --disable-imagemagick # make # make install
Check the output from the 'make' command to make sure that mipsel-linux-gcc is used instead of gcc! and that gcc isn't linking to the /usr of a other directory from the host system. You should also do this when you compile the plugins.
Once you compiled the giFT daemon and installed is you can compile the plugins. The compile command's for the different plugin's are given below and are all pretty much the same.
OpenFT
# sed -i 's/-O2/-O0/' configure # export LDFLAGS=-L/mnt/usbfs/giftd/lib/ # export CPPFLAGS=-I/mnt/usbfs/giftd/include/ # ./configure --host=mipsel-linux --prefix=/mnt/usbfs/giftd --with-zlib=/opt/brcm/hndtools-mipsel-linux/mipsel-linux/lib --disable-libdb # make # make install
The first line disables/minimizes compiler optimalisation, else it doesn't compile. second en third line make sure that the above compiled version of giftd is used to link.
GnuTella
# sed -i 's/-O2/-O0/' configure # export LDFLAGS=-L/mnt/usbfs/giftd/lib/ # export CPPFLAGS=-I/mnt/usbfs/giftd/include/ # ./configure --host=mipsel-linux --prefix=/mnt/usbfs/giftd --with-zlib=/opt/brcm/hndtools-mipsel-linux/mipsel-linux/lib # make # make install
The --with-zlib configuration option must be used else configure will use the zlib from your host system.
FastTrack
# export LDFLAGS=-L/mnt/usbfs/giftd/lib/ # export CPPFLAGS=-I/mnt/usbfs/giftd/include/ # ./configure --host=mipsel-linux --prefix=/mnt/usbfs/giftd # make # make install
SoulSeek
First you have to remove the line with "libSoulSeek_la_LIBADD = $(SL_LIBS)" from src/Makefile.am
# export LDFLAGS=-L/mnt/usbfs/giftd/lib/ # export CPPFLAGS=-I/mnt/usbfs/giftd/include/ # ./configure --host=mipsel-linux --prefix=/mnt/usbfs/giftd --with-zlib=/opt/brcm/hndtools-mipsel-linux/mipsel-linux/lib # make # make install
Now you have everything compiled for giFTd, but to run giFT you'll have to use some library's from the build environment. Because the standard library's in the WL500g don't provide all needed functions. To make giFT use other library's just copy the following library's to your external disk and use the LD_LIBRARY_PATH variable or "/lib/ld.so.1 --library-path <path> <executable>"(see the giftd.sh script in my distribution).
Required library's:
- libm.so.6
- libdl.so.2
- libc.so.6
- libgcc_s.so.0
- libz.so.1
- libltdl.so.3
- libnss_dns.so.2
- libresolv.so.2
Installation
An online generic installation manual can be found here:
http://gift.sourceforge.net/docs.php?document=install-unix.html
To install the package on the WL-500g just follow the next steps:
- Just extract the zip file to the highest directory of an external usb media(eg. zip disk, usbpen, usb-hd(not tested with multiple partitions))
- Configure the daemon using the files in the .giFT direcorty, but this is not necesary.
- Connect the external usb media to your router (If you use ext2 fs you have to mount the partition manualy).
- Now issue the /mnt/usbfs/giftd.sh command.
- You should now be able to connect to the server using a giftd client.
Files currently being downloaded are stored in: /mnt/usbfs/ftp_pub/unfinished. Completed files are stored in: /mnt/usbfs/ftp_pub/. To change these paths you can simply change them by editing the file: /mnt/usbfs/.gift/giftd.conf.
NOTE: when you run giFT for the first time and share a lot of file's giFT will try to calculate a hash for these file's. This can take VERY long on the WL-500g and will make giFT a little slow. It is suggested to wait till giFT is finished calculating the hashes before using it.
Related Links
Topics on the Chupa.nl forum:
- Running giFT on WL-500g:
http://www.chupa.nl/forum/showthread.php?t=675
Elsewhere:
Known problems
- GiFT daemon doesn't constantly "auto search more"
- The SoulSeek plugin is in early beta stage and can be buggy
