FastTrack Netzwerke unter Linux
Kazaa zusammen mit seinen vielen Ablegern ist mit Sicherheit eines der
beliebtesten Programme unter Windows. Die ehemals
entwickelte Linux-Version
wurde schnell wieder eingestampft und kann nun nicht mehr benutzt werden
...um sich in das FastTrack-Netzwerk einzuloggen (auch wenn es einige Benutzer anscheinend immer noch nicht verstanden haben und es trotzdem versuchen).
Eine Protokolländerung, mit dem Ziel den Windows-Client Morpheus aus
dem Netzwerk zu verdrängen, hatte somit auch zur Folge, sämtliche Linux-Benutzer
auszusperren.
Aber mittlerweile gibt es verschiedene Wege, auch ohne Windows auf das
FastTrack-Netzwerk zuzugreifen.
Man sollte sich jedoch im klaren sein, dass alle diese Möglichkeiten einiges an Arbeit voraussetzen und nicht den von einer Windows-Version bekannten Komfort bieten.
Kazaa & wine
Schnell wurde bekannt, dass die Windows-Varianten von Kazaa mittels
Wine zum laufen gebracht werden können.
Dabei stellen sich dem Linux-Benutzer allerdings eine Reihe von Problemen:
Nicht jede Version von Kazaa ist zur Zusammenarbeit mit dem Emulator zu bewegen.
Es gibt eine Fülle von Erfolgs- und Problemmeldungen beim Zusammenspiel
verschiedenster Wine-, Kazaa- und KazaaLite-Versionen.
Am besten, man nimmt die aktuellste Version von Wine (und nicht das für Spiele optimierte WineX) und probiert eine Reihe von Kazaa- bzw. KazaaLite Version aus, bis man eine lauffähige Kombination erhalten hat.
Zusätzlich benötigt man noch folgende Windows-DLL Dateien, um Kazaa zu starten:
commctrl
comdlg32
comctl32
msvcrt
shdoclc
shdocvw
shlwapi
urlmon
wininet
Am Erfolg-versprechendsten ist der Einsatz der Windows95 Versionen, u.U.
auch die Windows98 Varianten. Glücklich schätzen kann sich derjenige, der
mehrere Windows-CDs verschiedener Versionen sein Eigen nennt und
somit mehrere Kombinationen ausprobieren kann. Bloß nicht zu schnell aufgeben.
Nähere und ständig aktualisierte Informationen zur Konfiguration von Wine im Einsatz mit Kazaa findet man unter http://www.christian-gerner.de/computer/linux/kazaa.htm.de .
Dass es wirklich funktioniert, Wine mit Kazaa zum Laufen zu bringen, beweist folgender Screenshot. Benutzt wurde die (mittlerweile schon angestaubte) Wine-CVS-Version 20030115 und als Kazaa-Client die "Kazaa Lite Retro Edition 1.7.2" zusammen mit den DLL-Dateien einer deutschen Windows95 CD:
Selbst wenn Kazaa gestartet werden konnte, gibt es noch einige Probleme, die der Linux-Benutzer berücksichtigen sollte:
- Das automatische Einspielen von Updates sollte man unbedingt deaktivieren, um
zu verhindern, dass eine nicht mit Wine kompatible Version installiert wird.
- Kazaa benötigt durch die ständige Aktualisierung des Fensters sämtliche
CPU-Rechenzeit, was andere laufende Prozesse beeinträchtigt.
Hat man die gesuchten Dateien gefunden und die dazugehörigen Downloads gestartet, sollte man das Kazaa-Fenster schließen (das Programm läuft dann im minimalisierten Zustand weiter), um unnötige CPU-Rechenzeit zu sparen. - Die Benutzung des in Kazaa integrierten Media Players (der auf dem Windows Media Player beruht) führt bei den meisten Benutzern vermutlich zum Absturz des gesamten Programms.
Einige weitere Informationen zu den verschiedenen Kazaa-Varianten und deren Einsatz unter Wine findest man auch in der Wine Application Database für KaZaA, KaZaA Lite und KaZaA Lite ++.
giFT - die native Variante
Natürlich wäre ein Linux-Nativer Client für FastTrack wesentlich
angenehmer. Aus diesem Grund wurde das
"GNU Interface to
FastTrack - giFT" Projekt gestartet.
Allerdings wurde das Projektziel schnell geändert, und man versuchte nicht mehr
das FastTrack Protokoll mittels "reverse engineering" zu entschlüsseln und auf
ewig dem Gutdünken der FastTrack-Entwickler und möglichen Protokolländerungen
ausgeliefert zu sein.
Daher versuchten die Entwickler ein eigenes, offenes Protokoll zu entwerfen - OpenFT,
welches allerdings am Design von FastTrack angelehnt wurde.
Daher benannte sich das Projekt in "GNU Internet File Transfer"
(http://gift.sourceforge.net/) um.
Lange Zeit passierte aus Sicht des Anwenders relativ wenig beim giFT Projekt.
Es hatte gar den Anschein, als ob die meisten Energie der Programmierer darauf
verwendet wurde, potentielle User in Hilfeforen zu beleidigen.
Wenn dann noch Zeit übrig blieb, stritten die Entwickler auch gerne
mal untereinander.
Dem Projekt tat dies nicht gut. Nutzer wurden abgeschreckt, Programmierer verließen das Projekt, jeder beschuldigte jeden, für die schleppende Entwicklung verantwortlich zu sein - giFT wurde schnell zu einem schlechten Beispiel für das Entwicklungsprinizp von OpenSource.
Bis heute gibt es aus Prinzip keine Sourcecode-Pakete von giFT, aus Angst
dies könne unfähige Linux-Benutzer anlocken, welche die Entwickler mit
Support-Fragen überschütten würden. Das Sourceforge-eigene Hilfe-Forum wurde mittlerweile
vorsichtshalber geschlossen.
Die Entwickler sehen ihr Programm noch immer in einer Desing-Phase und noch
nicht für den Endanwender geeignet, und hatten die Befürchtung, ein übermäßiger Ansturm könnte
das Peer2Peer-Netz wegen mangelhafter Skalierung zusammenbrechen lassen.
Mit einer Anzahl von durchschnittlich 300 Benutzern blieb der Nutzen des OpenFT Netzwerks damit sehr beschränkt.
Was man den Entwicklern hingegen zugute halten kann, ist der durchaus gelungene
Aufbau des giFT Programms, der eigentlich ein reiner Server ist und nur für
die Kommunikation mit dem Netzwerk zuständig ist.
Der Modulare Aufbau des Servers erlaubt es auch, andere Netzwerke (z.B.
Gnutella) einzubinden.
Der Benutzer spricht mit dem Server über einen eigenen Client
von denen bereits eine größere Anzahl an Varianten für verschiedenste Plattformen
existieren.
Suchanfragen des Clients werden an den Server übermittelt, der diese wiederum
in alle ihm durch die Module zugänglichen Netzwerke weiterleitet. Völlig
unsichtbar für den Benutzer kann er nun mit nur einem Programm auf eine Reihe
verschiedenster Netzwerke zugreifen.
gift-FastTrack
Den eigentlichen Nutzwert erhält giFT aber nun dadurch, dass es neben den bereits vorhanden Modulen für OpenFT und Gnutella nun seit kurzer Zeit ein weiteres Modul zum Zugriff auf das FastTrack-Netzwerk gibt.
Unter http://developer.berlios.de/projects/gift-fasttrack/ findet man dieses Modul, welches den Zugriff auf die riesige Anzahl an fremden Dateien erlaubt. Kein wine ist nun mehr nötig, um von Linux aus in das FastTrack-Netzwerk zu gelangen.
Installation giFT
Die Installation von giFT ist, wie oben erwähnt, absichtlich Anwender-unfreundlich gestaltet worden, daher im Folgenden einige Worte zu den benötigten Schritten, um in den Genuss von giFT kommen zu können.
Das momentan noch lässtigste Problem resultiert aus dem Fehlen von
Sourcecode-Paketen von giFT (von Binärdateien ganz zu schweigen).
Daher kann man nicht ohne weiteres sagen, welche
Modulversion mit welcher giFT-Version funktioniert - es gibt nur
CVS-Releases.
Am ehesten klappt ein Kompilieren des FastTrack-Moduls, wenn man dessen aktuellste CVS-Version zusammen mit der aktuellsten giFT-Version ausprobiert.
Aber zunächst die Schritte im einzelnen.
Den giFT-Sourcecode erhält man mittels CVS. In einem neu angelegten
Verzeichnis (z.B. ~/giFT-CVS) führt man
>> cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gift loginaus. Dies fragt nach dem CVS-Passwort, welches einfach nur die "Enter"-Taste ist.
Den eigentlichen Quellcode erhält man dann mittels eines Checkouts:
>> cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gift co giFTdanach wechselt man in das neu erzeugte Verzeichnis und startet den Kompilier- und Installationsvorgang (mit Gnutella-Unterstützung):
>> cd giFT >> ./autogen.sh >> ./configure --enable-Gnutella >> make >> su (root Passwort eingeben) >> make install >> exitNach erfolgreicher Installation geht es an die Konfiguration des Servers
>> ./giFT-setupDieses Skript fragt eine Reihe von Einstellunge für den späteren Betrieb ab, u.a. die Verzeichnisse, in denen die heruntergeladenen Dateien gespeichert werden sollen.
Die erste Abfrage des Skriptes ist (freundlich gesagt) etwas ungewöhnlich:
| ./giFT-setup |
############################################################################## MAIN Boolean determining whether or not this file has been reviewed and is complete. giFT will fail to start unless this is non-zero. This is done so that we can make sure you, at the very least, read through this file. Default: 0 [0] |
Hiermit wird erreicht, dass nur derjenige giFT benutzen kann, der des Englischen
mächtig ist und zumindest die Konfigurationsdatei durchgelesen hat.
Solange hier nicht eine Zahl ungleich 0 eingegeben wird, verweigert giFT seine
Mitarbeit.
Die meisten abgefragten Einstellungen können einfach übernommen werden; abweichende Eingaben sind nur nötig bei
| ./giFT-setup |
############################################################################## DOWNLOAD CONTROLS Directory to store transfers while they are being operated on. Temporary state files are also kept here. It is recommended, but not required, that the incoming and completed directories are on the same partition (drive). Windows users: please use the following path specification: incoming=/[drive]/dir1/dir2 For example, to refer to C:\Program Files\giFT\incoming, use: incoming=/C/Program Files/giFT/incoming Default (*nix): ~/.giFT/incoming Default (Windows): /C/Program Files/giFT/incoming [~/.giFT/incoming] |
hier sollte man den Pfad zu demjenigen Verzeichnis angeben, in dem die unvollständig heruntergeladenen Dateien gelagert werden sollen.
| ./giFT-setup |
Directory which will contain files after they have successfully finished downloading. Default (*nix): ~/.giFT/completed Default (Windows): /C/Program Files/giFT/completed [~/.giFT/completed] |
Ganz analog gibt man hier das Verzeichnis an, in dem die vollständigen Dateien abgespeichert werden.
Installation giFT-FastTrack
Die Installation des FastTrack-Moduls verläuft etwas unkomplizierter.
Wir gehen zunächst in unser neu erstelltes Haupt-Verzeichnis zurück und
holen den aktuellsten Code aus dem CVS:
>> cd .. >> cvs -d:pserver:anonymous@cvs.gift-fasttrack.berlios.de:/cvsroot/gift-fasttrack login (Enter) >> cvs -z3 -d:pserver:anonymous@cvs.gift-fasttrack.berlios.de:/cvsroot/gift-fasttrack co giFT-FastTrackdanach kopiert man das erzeugte Verzeichnis in das giFT-Unterverzeichnis und kompiliert es dort:
>> cp -a giFT-FastTrack giFT/FastTrack >> cd giFT/FastTrack >> makenach erfolgreicher Kompilation muss das erzeugte Modul (als root) noch installiert werden:
>> su (root Passwort) >> make install >> exitDamit der giFT-Server das neue Modul auch findet, muss es in seiner Konfigurationsdatei noch bekannt gemacht werden. Dafür editiert man mit einem Texteditor die entsprechende Zeile der Datei ~/.giFT/gift.conf.
| ~/.giFT/gift.conf |
# Colon separated list of protocol plugins to load by default. If dynamic # library support is enabled, the plugin specified will be stat'd to check if # it is a loadable path. If that fails, the fallback method is to attempt to # construct the fully qualified path based on the configured environment. # # NOTES: # Without dynamic library support, this plugin must have been compiled into # your giFT binary. # # Do not include the library filename extension. # # Protocol names are case sensitive. # # For example, to use the OpenFT and Gnutella protocols use: # # plugins = OpenFT:Gnutella # # Default: none # plugins = Gnutella:/usr/local/lib/giFT/FastTrack.so |
Dadurch kann der Server nun sowohl auf das Gnutella, als auch auf das FastTrack-Netz zugreifen. Das OpenFT-Protokoll sollte entfernt werden, da die Programmierer bekanntlich Angst um die Skalierbarkeit ihres Netzes haben.
Im Verzeichnis ~/giFT-CVS/giFT/src/ findet man nun das Programm giFT welches den Server startet.
Client Installation
Der
Server alleine ist aber noch nicht bedienbar, man benötigt zusätzlich
einen Client.
Am weitesten entwickelt ist der ncurses-basierende Client (also für
die Textkonsole) giFTcurs
Man findet eine aktuelle Version stets unter http://giftcurs.sourceforge.net/ also herunterladen, entpacken, kompilieren und installieren:
>> tar zxvf giFTcurs-0.x.x.tar.gz -C /tmp >> cd /tmp/giFTcurs-0.x.x >> ./configure >> make >> make install (als root)Ist der giFT-Server bereits gestartet, kann man mit
>> giFTcursVerbindung zu diesem aufnehmen und Suchanfragen ans Gnutella- und FastTrack-Netzwerk leiten:
Hinweise und Warnungen
Das FastTrack-Modul für giFT beruht auf reverse engineering des Protokolls. Es kann weder ausgeschlossen werden, dass es zu Fehlern kommt, Daten verloren gehen, noch dass der Zugang zum FastTrack-Netzwerk auch in Zukunft immer funktioniert.
Außerdem scheint die aktuelle Version von giFT (es wurden gerade größere Änderungen am Code vorgenommen) einen Bug zu besitzen, der zu einem Memory-Leak führt und innerhalb weniger Sekunden sämtlichen RAM- und Swap-Speicher verschlingt. Dadurch kann der PC u.U. in einen unbenutzbaren Zustand gelangen, der nur durch einen Neustart des PCs gelöst werden kann.
Die Suchanfragen des Gnutella-Netzes werden noch nicht korrekt gefiltert, sodass man schnell mit einer Vielzahl von unerwünschten Suchergebnissen überschwemmt wird.
Sämtliche Software befindet sich noch in ständiger und grundlegender Entwicklung.
Links:
- Wine -- http://www.winehq.com
- KazaaLite -- http://www.kazaalite.nl/en/
- Kazaa -- http://www.kazaa.com/us/index.php
- giFT -- http://gift.sourceforge.net/
- giFT-FastTrack -- http://developer.berlios.de/projects/gift-fasttrack/
- giFTcurs -- http://giftcurs.sourceforge.net/
Anmerkungen zu diesem Artikel
Eigene Anmerkung eintragen