Benutzer:Quix0r

Aus YaCyWiki
Wechseln zu: Navigation, Suche

Realer Name: Roland

Herkunft : Krefeld (seit einem Jahr)

ICQ  : Acht-Acht-Null-Neun-Zwei-Neun-Sechs (wegen der Spambots)

E-Mail  : roland at mxchange dot org

Jabber  : Quix0r@jabber.org

YaCy-Node: [1]

News:
2012-04-23: News bereinigt
2010-11-06: Aus dem Urlaub (ist schon etwas her) frisch verliebt zurueck und alle Patches aktualisiert.
2010-06-05: Noch ungewiss, aber ich versuche zum LinuxTag 2010 zu kommen. :)
2010-01-17: Seit gestern Abend betreibe ich wieder eine YaCy-Node.
2010-01-05: Jahreswechsel gut und ruhig ueberstanden. Die Nodes free-search1 und free-search2 sind seit gerauhmer Zeit tot.
2009-07-01: Profilseite angelegt

TODO-Liste fuer YaCy:
Diese Liste soll keine Prioritaetenliste sein, sondern einfach nur zusammengestellt, woran ich alles an YaCy am dran werkeln bin.

  • 100% HTTP/1.1 Header fixen
  • 100% Refacturing des Loggers Log, so dass dieser nicht mehr instanziert werden kann, sondern als "Utils-Klasse" fungiert (statische Methoden). Das spart wegen des new-Operators viele wichtige Resourcen ein.
    • Erstmal alle nicht-statischen Methoden + Konstruktur auf @deprecated gesetzt.
    • Neue Klasse LoggerNames dazugefuegt, diese beinhaltet alle Namen der Logger und kann (und brauch auch nicht) instanziert werden.
    • So gut wie alle isFinest() und anderen isFoo()-Verwandte aus dem Quellcode entfernt. Dies koennte auch in enqueueLog() geschehen und erspart somit eine Menge if()-Bloecke, die den Code noch weiter unleserlich machen.
  • 0% MIME-Handling (worauf vertraut YaCy? Nur Dateiendung ist schlecht, siehe hier why.
  • ~5% Fangen der allgemeinen Exception umwandeln in Fangen von konkreten Exceptions
  • 100% Leere catch-Bloecke mit Log.logExceptio(e); wenigstens erweitern (wieso tritt eine Exception auf, was ist das? Das sind die richtigen Fragen)
  • ~10% Ueberarbeitung der FAQ-Wikiseiten

Bitte fuegt in diese NICHTS ein. Ich nehme es eh wieder raus. :)

Geparkte Domains automatisch rausfiltern und sperren:
Ich habe ein kleines Shell-Script entworfen, dass bei sedo (einer der grossen Anbieter) geparkte Domains aus den Logbuechern von YaCy raussuchen kann. Ich werde es aber bei Zeiten noch um andere Anbieter erweitern. Wieso diese blockiert weden sollen, beschreibe ich weiter unten. Erstmal hier das Script (Public Domain, mir also egal, was ihr damit macht):

#!/bin/sh

BLACKLIST="url.default.black"
WHITELIST="de ch net com org ru pl us com.au info"
SILENT=`echo ${1} | grep "s"`
CRON=`echo ${1} | grep "c"`

debug_msg() {
	if test "${SILENT}" = ""; then
		echo "${0}: ${1}"
	fi
}

output() {
	if test "${CRON}" = ""; then
		echo "${0}: ${1}"
	fi
}

block_domain() {
	debug_msg "Processing entry ${1} ..."
	WHITELIST_CHECK=`echo "${WHITELIST}" | grep "${1}"`
	if test "${WHITELIST_CHECK}" != ""; then
		debug_msg "Entry ${1} is white-listed!"
		return
	fi

	LOOKUP=`grep "${1}" DATA/LISTS/${BLACKLIST}`
	if test "${LOOKUP}" = ""; then
		echo "${0}: Black-listing domain ${1}..."
		echo "${1}/.*" >> "DATA/LISTS/${BLACKLIST}"
	elif test "${SILENT}" = ""; then
		echo "${0}: Domain ${1} is already black-listed."
	fi
}

fix_missing_www() {
	output "Fixing missing www..."
	PREPARE=`cat parking.log | cut -d "/" -f 3- | cut -d "." -f 1-`
	
	for entry in "${PREPARE}"; do
		TEST=`echo "${entry}" | cut -d "." -f 1`
		if test "${TEST}" != "www"; then
			#echo "${0}: Entry ${entry} has no www. Adding it for compatiblity..."
			grep -v "${entry}" parking.log > temp.log
			entry="www.${entry}"
			echo "http://${entry}">>temp.log
			mv temp.log parking.log
		fi
	done
}

cd `dirname ${0}`
output "Analysing logfiles..."
grep "http://" DATA/LOG/yacy*.log | grep "/parking.php?ses=" | cut -d " " -f 10 | grep "http" > parking.log
grep "http://" DATA/LOG/yacy*.log | grep "/parking.php?ses=" | cut -d " " -f 11 | grep "http" >> parking.log
grep "http://" DATA/LOG/yacy*.log | grep "/parking.php?ses=" | cut -d " " -f 12 | grep "http" | cut -d ":" -f 2- >> parking.log
grep "http://" DATA/LOG/yacy*.log | grep "/info/" | grep "\.html?ses=" | cut -d " " -f 10 | grep "http" >> parking.log
grep "http://" DATA/LOG/yacy*.log | grep "/info/" | grep "\.html?ses=" | cut -d " " -f 11 | grep "http" >> parking.log
grep "http://" DATA/LOG/yacy*.log | grep "/info/" | grep "\.html?ses=" | cut -d " " -f 12 | grep "http" | cut -d ":" -f 2- >> parking.log
grep "http://" DATA/LOG/yacy*.log | grep "/?epl=0" | cut -d " " -f 10 | grep "http" >> parking.log
grep "http://" DATA/LOG/yacy*.log | grep "/?epl=0" | cut -d " " -f 11 | grep "http" >> parking.log
grep "http://" DATA/LOG/yacy*.log | grep "/?epl=0" | cut -d " " -f 12 | grep "http" | cut -d ":" -f 2- >> parking.log

fix_missing_www

LIST=`cat parking.log | cut -d "/" -f 3 | cut -d "." -f 2-4 | grep -v "html?ses=" | sort --unique`
rm -f parking.log

for entry in "${LIST}"; do
	block_domain "${entry}"
done
output "All done."

Dieses kann z.B. bequem per Cronjob ausgefuehrt werden:

*/10 * * * * $HOME/yacy/parking.sh sc
Bitte dann $HOME und parking.sh gegen den gewaehlten Usernamen (wo YaCy installiert ist) und Scriptname austauschen! Die Parameter "s" und "c" sind nur zusammen oder einzelnt eingebbar.

Wieso geparkte Domains schlecht sind und weshalb sie gesperrt werden sollten:

  • Generell sollte man mit Sperren von Inhalten im Internet vorsichtig umgehen, da dies durchaus als Zensur gelten kann.
  • Zudem sollte immer der Nutzen dran abgewogen werden.
  • Domainparker (oder noch schlimmer die Domain-Haie) wollen mit ihren geparkten Domains aber eigentlich keine wirklichen Informationen bereitstellen, sondern die Besucher ihrer Seite (die per Suchmaschinen oder Verlinkungen wegen alten Inhalten reinkommen) auf ein gefaktes Suchportal locken, wo sie fuer jeden Klick oder Eingabe von Suchbegriffen Geld bekommen.
  • Dagegen ist prinzipiell nichts einzuwenden - jeder braucht heutzutage Geld.
  • Allerdings wird das in letzter Zeit stark uebertrieben. Der Domainparker parkt tonnenweise Domains it relevanten Suchbegriffen um noch mehr Besucher abzufischen.
  • Die eigentlichen Webseiten werden dabei immer weiter in den Hintergrund gedraengt, also aus den ersten Seiten der Suchergebnissen von "echten" Suchmaschinen verdraengt.
  • Der Domainparker ist hier also der Niesnutzer und die Besucher von solchen Webseiten werden nur enttaeuscht, ueber Inhalte zu stoplern, die keine sind, sondern nur der Suchmaschinenoptimierung gelten.