# Shareaza

Shareaza ist ein Filesharing-Client für Windows-Systeme, der G2, gnutella, eDonkey2000, BitTorrent und DC++ unterstützt. Des Weiteren kann er als Download-Manager in Webbrowsern integriert werden. Shareaza ist in rund 30 Sprachen erhältlich, darunter auch Deutsch. Die Version 2.7.8.0 vom 14. Dezember 2014 wurde sowohl in der SSE2-optimierten als auch in der „normal“ kompilierten Version angeboten.
Seit dem 1. Juni 2004, dem Erscheinungstermin der Version 2.0 von Shareaza, ist der Quelltext unter den Bedingungen der freien GNU General Public License für jedermann zugänglich.

## Geschichte

Der Urheber Shareazas ist Michael Stokes, welcher unter anderem auch das von ihm entwickelte Gnutella2-Netzwerk in die Software integrierte. Mitte 2002 veröffentlichte er die erste Version eines gnutella-Clients, den er „Shareaza“ taufte. Nach Stokes Angaben war es von Anfang an das erklärte Ziel der Entwicklung seines Clients, Features zu unterstützen und zu entwickeln, die andere Clients nicht besaßen. So geht beispielsweise die Entwicklung des „Swarmings“, d. h. des gleichzeitigen Downloads von Dateiteilen aus mehreren Quellen, ein Feature, das heute von allen großen Filesharing-Programmen unterstützt wird, maßgeblich auf das Werk Michael Stokes zurück.
Über die nächsten zwei Jahre fügte Stokes dem Programm Unterstützung für eDonkey2000, BitTorrent, sowie ein komplett überarbeitetes, gnutella-basiertes Protokoll, das er Gnutella2 nannte, hinzu. Dies führte zu einer Spaltung der Filesharing-Community in eine gnutella- und eine Gnutella2/Shareaza-Seite, da die Anhänger des originalen gnutella-Protokolls Stokes vorwarfen, der Name seines neuen Protokolls impliziere ein Update des „Originals“ oder eine Überlegenheit gegenüber ihm. Der Konflikt verschärfte sich, als Stokes begann, das „originale“ gnutella in Shareaza als „Gnutella1“ zu bezeichnen.
Am 1. Juni 2004, veröffentlichte Michael Stokes den Quellcode des Programms unter der GNU General Public License auf SourceForge.net und begründete damit, zusammen mit Programmen wie LimeWire und Gnucleus, eine Bewegung hin zur Quellcodeöffnung bei Filesharing-Programmen, der sich im Laufe der Zeit viele Programme anschlossen. Heute sind alle wichtigen und namhaften Vertreter dieser Netzwerkprogramme quelloffen.
Mit dem Scheiden des Shareaza-Hauptentwicklers aus der Filesharing-Community legte sich allmählich dann auch der Protokollnamen-Konflikt und die Spaltung der Entwickler- und User-Communitys, auch wenn Vorbehalte eines Teils der übrigen gnutella-Entwickler gegenüber Shareaza bis heute erhalten geblieben sind. Aus diesem Grunde wird heute Gnutella2 auch häufig nur einfach nach seiner Abkürzung als G2 bezeichnet. Diese Veränderung spiegelt sich auch in Shareaza wider.
Seit Dezember 2007 gehört die Domain shareaza.com nicht mehr den bisherigen Entwicklern. Die neuen Besitzer bieten dort nun einen anderen Client an, der fälschlicherweise als Shareaza bezeichnet wird, jedoch auf einer modifizierten Version von BearShare/iMesh beruht. Dieser wird teilweise als Malware/Spyware eingestuft, weswegen Sicherheitsdienste, wie zum Beispiel der McAfee SiteAdvisor, vor der Website warnen. Versionen vor v2.3.1.0 fragen teilweise noch bei shareaza.com Aktualisierungen ab und bitten den Nutzer, den gefälschten Client zu installieren. Dieses Verhalten tritt in Versionen ab v2.3.1.0 nicht mehr auf. Die Projekthomepage von Shareaza wurde daraufhin auf SourceForge.net übersiedelt.

### Versionsgeschichte

* Am 1. Juni 2004 wurde mit v2.0.0.0 die erste quelloffene Version von Shareaza veröffentlicht.
* Bis v2.3.1.0 enthielt Shareaza eine automatische Update-Benachrichtigung, die diesbezügliche Informationen auf der alten Projekt-Domäne shareaza.com abfragte. Nach der Übernahme der Domäne und der Aussendung einer gefälschten Update-Benachrichtigung wurde zwei Tage später, am 3. Januar 2008, v2.3.1.0 in Umlauf gebracht, welche das Sicherheitsproblem behob. Seit dieser Version verfügt Shareaza nicht mehr über Update-Benachrichtigungen bei neuen Versionen. Auch ist diese Version die letzte offizielle Version von Shareaza mit Windows 98/95/ME-Unterstützung.
* Version 2.4.0.0 wurde am 1. Oktober 2008 veröffentlicht. Diese Version fokussierte vor allem auf die Erhöhung der Programmstabilität, einer der Schwachpunkte der Vorgängerversion, die als sehr instabil gilt. Des Weiteren spendierten die Entwickler dem Programm einen IRC-Chat-Zugang und bedeutende Updates der BitTorrent-Unterstützung.
* Entgegen der ursprünglichen Planung, die zuerst eine 2.4.1.0-Version vorsah, entschied man sich, am 31. Oktober 2009 v2.5.0.0 zu veröffentlichen, was den besonders großen Veränderungen im Client Rechnung trägt. v2.5.0.0 ist deutlich stabiler und ressourcensparender als vorherige Versionen. Auch ist von nun an BugTrap enthalten, was das automatisierte Melden von Programmabstürzen durch wenige Klicks ermöglicht. Des Weiteren wurde die Arbeit an der BitTorrent-Unterstützung Shareazas fortgeführt und zum Beispiel selektive Downloads eingeführt. Auch gnutella und eD2k profitierten von Updates, wie zum Beispiel verbesserter Unterstützung für GGEP, große Dateien (>4 GB) und Client-zu-Client-Chat. Die IRC-Implementierung von v2.4.0.0 wurde komplett überarbeitet und ist seit dieser Version erstmals wirklich nutzbar. Zur Verbesserung der Nutzung Shareazas als Download-Manager wurde Internet-Explorer-Integration implementiert. Browser wie zum Beispiel Firefox werden über Plugins wie zum Beispiel FlashGot unterstützt.
* Shareaza v2.5.1.0 wurde am 1. Dezember 2009 veröffentlicht. Es handelt sich hierbei hauptsächlich um eine Bug-Fix-Release, die, wie alle folgenden Versionen, stark von der Implementierung von BugTrap in v2.5.0.0 profitiert. Des Weiteren greift diese Version auf SSE-Befehlssätze zurück, was die Nutzung bei Prozessoren, welche älter als Pentium-III, respektiv Athlon-XP sind, unmöglich macht.
* Ab v2.5.2.0, veröffentlicht am 2. Februar 2010, werden aus diesem Grund SSE2-basierte und „normale“ Builds angeboten um ältere Prozessoren nicht auszuschließen. SSE2 wird von Prozessoren ab Intel Pentium 4, bzw. AMD Athlon 64 unterstützt.
* Shareaza v2.5.3.0, veröffentlicht am 13. Juni 2010, fokussiert einmal mehr interne Optimierungen. Das einzige größere neue Feature ist ein Scheduler, der die Automatisierung aller wichtigen Abläufe, wie zum Beispiel Bandbreiten-Regulierung zu bestimmten Tageszeiten, erlaubt.
* In v2.5.4.0 vom 14. Februar 2011 erweitert Shareaza seine Fähigkeiten um die DC++ Schnittstelle. Dieser Support ist vorerst rein experimenteller Natur, was sich insbesondere darin zeigt, dass es in den Programmeinstellungen keinerlei direkte Optionen für DC++ gibt. Nur in der Netzwerk-Ansicht kann man DC++ per Togglebutton ein- oder ausschalten. Darüber hinaus wurde der UPnP Code vollständig überarbeitet sowie einige Bugfixes durchgeführt.

## Betriebssysteme

Shareaza ist eine Anwendung für Windows. Es funktioniert auch unter Linux mit Hilfe von Wine.
Es wird allerdings in mehreren voneinander unabhängigen Projekten an einer Portierung der Funktionalität Shareazas auf UNIX-basierte Systeme gearbeitet. Die wichtigsten davon sind Sharelin, das sich hauptsächlich auf die Funktionen des Gnutella2-Netzwerks konzentriert, und Quazaa, das mit Hilfe der Qt-Bibliothek annähernd alle Funktionen Shareazas implementieren will.

## Netzwerke und Protokolle

Das Gnutella2-Netzwerk bietet unter anderem Unterstützung für eine Vielzahl von Metadaten, wie zum Beispiel Dateibewertungen oder Dateieigenschaften. Auch effizientes Suchen nach Metadaten ist möglich. Während des Suchens ermöglicht eine Echtzeit-Statistik, den Verlauf der Suche (durchsuchte Hubs usw.) zu überblicken. Des Weiteren ist es im Gnutella2-Netzwerk – im Gegensatz zu gnutella – möglich, das gesamte Netzwerk zu durchsuchen und daher (theoretisch) jede einzelne Datei, auf die die Suchanfrage zutrifft, im Netzwerk zu finden. Auch größere Dateien können sinnvoll getauscht werden (swarming, partial file sharing, effizientes Lokalisieren von Quellen). Jeder Benutzer kann ein Benutzerprofil mit Nicknamen und weiteren Informationen, wie zum Beispiel dem geografischen Standpunkt, erstellen. Auch Chat mit anderen Netzwerkbenutzern ist möglich.
Zusätzlich werden die Netzwerke gnutella, eDonkey2000 und BitTorrent unterstützt (nicht jedoch das auf Kademlia basierende KAD). Dateiteile können sogar aus allen Netzwerken gleichzeitig bezogen werden, um so eine Datei schneller herunterzuladen. Auch das gleichzeitige Hochladen in alle Netzwerke ist möglich. Hierbei werden Torrent-Uploads allen anderen Netzwerken vorgezogen, was nicht geändert, jedoch in der neusten Variante der Software begrenzt werden kann.
Auch HTTP- und FTP-Downloads beherrscht Shareaza. Der Anwender kann auf diese Weise in Shareaza alle genannten Netzwerke und Protokolle verwenden und Dateien aus verschiedenen Netzwerken gleichzeitig herunter- beziehungsweise hochladen. Shareaza kann sogar als Download-Manager verwendet werden, sodass es mit Hilfe eines Internet-Explorer-Plugins (BHO) jegliche Internetdownloads übernimmt. Unterstützung für andere Browser, wie zum Beispiel Firefox, ist über Plugins von Drittanbietern möglich.
Zur sicheren Identifizierung der Dateien unterstützt Shareaza sowohl eD2K-, als auch Magnet-Links, welche – ähnlich wie Torrents – von Linkseiten oder Communities bereitgestellt werden können. Da diese Magnet-Links mehrere verschiedene Hash-Checksummen enthalten, welche eine Datei im Netzwerk eindeutig identifizieren, kann somit die Qualität der heruntergeladenen Dateien sichergestellt werden. Zusätzlich können diese Links, genau so wie BitTorrent-Dateien, aus dem Dateimanager-Kontextmenü Shareazas heraus erstellt werden.

## Weitere Funktionen

Neben den gewöhnlichen Filesharing-Funktionen bietet Shareaza eine Download-Dateivorschau, einen integrierten Media-Player und eine funktionsreiche Dateiverwaltungs-Bibliothek. Ab Version 2.4.0.0 ist außerdem ein IRC-Client im Programm integriert.
Für Experten verfügt das Programm über einen sogenannten „Power-Modus“, der eine Vielzahl erweiterter Funktionen, wie das Bearbeiten von Downloads und Benutzen des Schedulers, sowie Zugang zu erweiterten Programmeinstellungen bietet. Auch erlaubt er, über verschiedene Fenster die Funktionalität des Programms zu überwachen und auf den Sicherheitsmanager zuzugreifen.
Des Weiteren lässt sich die Darstellungsweise des Programms sehr weitgehend verändern: drei Ansichtsmodi können ausgewählt werden (eine vereinfachte, eine Tab- und eine Fenster-Ansicht), außerdem lässt sich mit sogenannten „Skins“ (Dateierweiterung .sks; basierend auf XML) das Erscheinungsbild der Benutzeroberfläche fast beliebig modifizieren.

## Verwendung durch Anti-P2P-Firmen

Shareaza wird in einer modifizierten Version auch von Firmen zur Aufdeckung von Urheberrechtsverletzungen eingesetzt, um automatisch Tauschbörsen nach urheberrechtlich geschützten Werken zu durchsuchen und die IP-Adressen der Anbieter zur rechtlichen Verfolgung zu protokollieren. Mit dem Programm werden von diesen Firmen ebenfalls sogenannte Fakes oder Köder in P2P-Tauschbörsen gestellt. Fakes verbreiten sich aber kaum weiter, da die fraglichen Dateien schnell durch die Integration von Metadaten gekennzeichnet werden können. Diese Verwendung von Shareaza kann auf die Veröffentlichung der Quelltexte zurückgeführt werden.