YaCy
YaCy
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Michael Christen |
Erscheinungsjahr | 2004 |
Aktuelle Version | 0.45 (1. Mai 2006) |
Betriebssystem | nahezu alle (dank Java→JRE/J2SE) |
Programmiersprache | Java[1] |
Kategorie | Suchmaschine, Proxy |
Lizenz | GPL |
deutschsprachig | ja |
yacy.net |
YaCy (sprich: Jacky, wie Blacky - ausgeschrieben: Yet another Cyberspace) ist eine Suchmaschine, die nach dem Peer-to-Peer-Prinzip – kurz P2P – arbeitet. Dabei gibt es keinen zentralen Server, sondern alle Teilnehmer daran sind gleichwertig.
Dabei kann jeder Peer-Betreiber im YaCy-Netz suchen, und wenn er möchte zum Index beitragen, indem er einen Webcrawler losschickt, oder einfach alle Seiten, die er besucht über den YaCy-Proxy indexieren lassen. Wenn nun irgendein anderer Peer im YaCy-Netzwerk eine Suche startet, kann er alle Seiten finden, die andere Peers indiziert haben, die zum Zeitpunkt der Suche online sind. Durch das dezentrale Prinzip ist YaCy ausfallsicher.
Vorteile & Nachteile
Vorteile
- Die mit YaCy aufgebaute globale Suchmaschine ist praktisch ausfallsicher, da immer ein Teil des Netzwerks erreichbar sein wird.
- Die Internetnutzer sind durch YaCy als Suchmaschine unabhängig von Firmen, deren Ranking (das diese sich evtl. bezahlen lassen) und deren Filterung (und gar evtl. Zensur).
- Die Software ist Open Source, wurde unter der GNU General Public License veröffentlicht und ist kostenlos.
- Da die Indexierung über den Proxy am jeweiligen Client stattfindet, lassen sich somit Seiten aus dem Deep Web oder nicht öffentlichen Netzen (z.B. Tor oder freenet) indexieren, die ein Crawler nicht erschliessen kann.
Nachteile
- Da nicht jedes Peer den gesamten Index speichern kann, kann es durch Ausfall oder Abschaltung einzelner (großer) Peers zu Beinträchtigungen des Gesamtindex kommen. Dieser Nachteil ist um so stärker je weniger Peers sich aktiv am YaCy-Netzwerk beteiligen.
- YaCy basiert auf Java und benötigt deshalb proprietäre Komponenten zum Betrieb. Obwohl YaCy selbst unter der GPL steht, lässt es sich somit nicht mit ausschließlich freier Software betreiben.
Das Programm
Das Herzstück der Suchmaschine ist anders als bei anderen Suchmaschinen nicht eine zentrale Seite, sondern ein Computerprogramm. Dieses ist in Java geschrieben und läuft daher auf fast allen Betriebssystemen.
Gekoppelt mit dem P2P-System läuft ein Proxy-Server, der automatisch die meisten weitergereichten Seiten indiziert. Dies findet allerdings nicht bei Seiten statt, denen via GET oder POST weitere Daten übergeben werden (z.B. Seiten in einem Login-Bereich). Somit ist sichergestellt, dass auch wirklich nur öffentlich zugängliche Daten indiziert werden.
Der Zugriff auf die Suchfunktionalität erfolgt über eben diesen lokal laufendem Server, in dem über eine gewohnte Suchmaske der Suchbegriff oder die Suchbegriffe eingegeben werden. Die Anzeige der Ergebnisse erfolgt hier ebenfalls wie gewohnt als HTML-Seite.
Weitere Besonderheiten
Weiters bietet Yacy eine zusätzliche Top-Level-Domain ".yacy", die über sämtliche weiteren YaCy-Proxies erreicht werden kann und als normale Webseite geöffnet wird. Unter dieser Domain hat der Benutzer die Möglichkeit, eine eigene Website zu hinterlegen. Da das P2P-System ohnehin seine IP-Adresse seinen Peers mitteilen muss, und auch über eine eventuelle Änderung benachrichtigen, bietet sich hiermit obendrein die Möglichkeit, wenigstens für andere YaCy-Nutzer eine Homepage aufzubauen, ohne Probleme mit dynamischer Adressvergabe seitens des Providers zu haben.
Außerdem wird die Möglichkeit angeboten, Dateien auf seinem lokalen Server freizugeben, auf die andere YaCy-Benutzer nach Belieben Zugriff haben. Tatsächlich ist dies durch den HTTP-Server zwar sowieso schon der Fall, aber zusätzlich wird hier noch eine nette Übersicht angezeigt.
Weiters hat man die Möglichkeit, anderen YaCy-Nutzern simple Textnachrichten zu senden (je nach Einstellungen auch mit Dateianhängen). Auch hier bietet sich also ein Weg, verbreitete und bekannte - daher also potentiell wahrscheinlicher zensierte - Medien zu meiden.
Zusätzlich dazu ist in YaCy ein Wiki integriert, das als lokale Wissensdatenbank aufgebaut werden kann.
Technik
Das Programm basiert auf einem Webserver, der zugleich ein cachingProxy ist. Über den Webserver kann man auf das User-Interface zugreifen, um zu suchen oder dein eigenen Peer zu verwalten. Der Proxy teilt seinen Code mit dem Crawler, das heißt alle besuchten Seiten, die nicht personalisiert sind werden automatisch im Index erfasst. Außerdem bietet das YaCy-Netz eigene YaCy-Domains, die über den Proxy verfügbar sind.
Indexverteilung
Anders als bei Datei-Tauschbörsen muss das Ergebnis bei einer P2P-Suchmaschine sofort da sein. Um das zu gewährleisten, nutzt YaCy einen Distributed Hashtable (DHT). Das heißt, dass alle erfassten URLs und Wörter an die Peers geschickt werden, deren Peerhash zum entsprechenden Wordhash oder Urlhash passt. Bei einer Suche funktioniert es genau andersherum: Es wird nur auf Peers gesucht, die ihrem Hash nach URLs für das Wort kennen können.
Dadurch muss nur ein Bruchteil der Peers bei der Suche kontaktiert werden, um trotzdem gute Ergebnisse zu bekommen.
Peertypen
YaCy Unterscheidet 4 verschiedene Typen von Peers:
Virgin
Diese Peers kann man nicht finden, da ein Virgin-Peer keinerlei Kontakt zum Netz hat. Daher sieht man nur selber, wenn der Peer Virgin ist.
Junior
Der Peer ist firewalled. Andere können ihn als Junior oder Potential Peer sehen, sehen allerdings nur, wann er sich das letzte Mal gemeldet hat, und haben keinerlei Möglichkeiten festzustellen, ob er noch online ist.
Senior
Ein Seniorpeer kann von außern erreicht werden und ist ein vollwertiges Mitglied des YaCy-Netzes
Principal
Wie Senior, nur wird zusätzlich eine Seedlist hochgeladen, die andere Peers zum Bootstrap benutzen können.
Literatur
- R. Sietmann: Wider die Monokultur. P2P-Strategien gegen die Suchmaschinen-Monopolisierung. in: c't, 2005/16, 25. Juli 2005, S.52-53 (Onlinetext)
- YaCy. in: HAZ: Artikel als PDF (107 KB)
Weblinks
- www.yacy.net - Projektseite, auf Englisch
- www.yacy-websuche.de - Projektseite, auf Deutsch
- Projektübersicht zu YaCy bei Berlios
- http://www.yacy-forum.de/ (deutsches Forum und YaCy-Entwicklerversionen)
- http://www.deruwe.de/yacy.html (Deine Homepage bei einem der bereits laufenden YaCy-Webcrawler anmelden)
- http://www.yacy-websuche.de/wiki/index.php/De:Start (das offizielle deutsche Yacy-Wiki)
Vorlage:Navigationsleiste Verteilte Suchmaschinen
- ↑ The yacy Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Oktober 2018).