doc-changes and more strict brute-force handling

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@431 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
orbiter 20 years ago
parent 45378323c3
commit af67c633d5

@ -36,12 +36,23 @@ You can <a href="http://java.sun.com/j2se/1.4.2/download.html">download the Java
<p><b>Latest Release:</b>
The latest YaCy release version is 0.39<br>
Download the <a href="http://www.yacy.net/yacy/release/yacy_v0.39_20050722_424.tar.gz">generic (all platforms with J2SE 1.4: Linux, Mac OS X, Windows, Solaris) YaCy 0.39</a> here.<br>
If you want to install YaCy on Windows, you can use the convenient <a href="http://www.yacy.net/yacy/release/yacy_v0.38_20050603_208.exe">Windows-Installer-Version of YaCy 0.38</a>.
</p>
<p>YaCy is also hosted on <a href="http://developer.berlios.de/projects/yacy/">yacy@BerliOS</a> and <a href="http://freshmeat.net/projects/yacyproxy/">yacy@freshmeat.net</a>.
Nightly builds from compiles out of SVN can be obtained from <a href="http://devbin.yacy-forum.de/">http://devbin.yacy-forum.de/</a>.<br>
<p>Main releases of YaCy are hosted on <a href="http://www.yacy.net/yacy/">yacy.net</a>, <a href="http://developer.berlios.de/projects/yacy/">yacy@BerliOS.de</a> and <a href="http://freshmeat.net/projects/yacyproxy/">yacy@freshmeat.net</a>.<br>
Download Mirrors and YaCy Flavours:
<ul>
<li>Generic release of YaCy (all platforms with J2SE 1.4.2: Linux, Mac OS X, Windows, Solaris):</li>
<ul>
<li><tt>from yacy.net&nbsp;&nbsp;&nbsp;: <a href="http://www.yacy.net/yacy/release/yacy_v0.39_20050722_425.tar.gz"><tt>yacy_v0.39_20050722_425.tar.gz</tt></a></tt></li>
<li><tt>from BerliOS.de&nbsp;: <a href="http://download.berlios.de/yacy/yacy_v0.39_20050722_425.tar.gz"><tt>yacy_v0.39_20050722_425.tar.gz</tt></a></tt></li>
</ul>
<li>Windows-flavour release of YaCy (same code as generic release, but with convenient Windows-Installer):</li>
<ul>
<li><tt>from yacy.net&nbsp;&nbsp;&nbsp;: <a href="http://www.yacy.net/yacy/release/yacy_v0.39_20050722_425.exe"><tt>yacy_v0.39_20050722_425.exe</tt></a></tt></li>
<li><tt>from BerliOS.de&nbsp;: <a href="http://download.berlios.de/yacy/yacy_v0.39_20050722_425.exe"><tt>yacy_v0.39_20050722_425.exe</tt></a></tt></li>
</ul>
</ul>
</p>
<!--
<p><table bgcolor="#EEEEEE" width="100%"><tr><td>
<fieldset><legend><b>All current and historic releases:</b></legend>

@ -71,7 +71,7 @@ ensure complete browsing privacy.
The words that are stored in your local word index are stored using a word hash. That means that not any word is stored, but only the word hash.
You cannot find any word that is indexed as clear text. You can also not re-translate the word hashes into the original word. This means that
you don't know actually which words are stored in your system. The positive effect is, that you cannot be responsible for the words that
are stored in your peer. But if you want to deny storage of specific words, you can put them into the 'bluelist' (in the file httpProxy.bluelist).
are stored in your peer. But if you want to deny storage of specific words, you can put them into the 'bluelist' (in the file yacy.bluelist).
No word that is in the bluelist can be stored, searched or even viewed through the proxy.
</td></tr><tr><td valign="top"><b>Peer Communication Encryption</b></td><td>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 729 B

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 846 B

After

Width:  |  Height:  |  Size: 658 B

@ -264,7 +264,11 @@ public final class httpdFileHandler extends httpdAbstractHandler implements http
// a wrong authentication was given. Ask again
String clientIP = conProp.getProperty("CLIENTIP", "unknown-host");
serverLog.logInfo("HTTPD", "Wrong log-in for account 'admin' in http file handler for path '" + path + "' from host '" + clientIP + "'");
serverCore.bfHost.put(clientIP, "sleep");
Integer attempts = (Integer) serverCore.bfHost.get(clientIP);
if (attempts == null)
serverCore.bfHost.put(clientIP, new Integer(1));
else
serverCore.bfHost.put(clientIP, new Integer(attempts.intValue() + 1));
httpHeader headers = getDefaultHeaders();
headers.put(httpHeader.WWW_AUTHENTICATE,"Basic realm=\"admin log-in\"");

@ -185,7 +185,7 @@ public final class serverCore extends serverAbstractThread implements serverThre
this.port = port;
this.commandMaxLength = commandMaxLength;
this.denyHost = (blockAttack) ? new Hashtable() : null;
// initialize logger
this.log = new serverLog("SERVER");
@ -403,11 +403,17 @@ public final class serverCore extends serverAbstractThread implements serverThre
String cIP = clientAddress(controlSocket);
//System.out.println("server bfHosts=" + bfHost.toString());
if (bfHost.get(cIP) != null) {
this.log.logInfo("SLOWING DOWN ACCESS FOR BRUTE-FORCE PREVENTION FROM " + cIP);
Integer attempts = (Integer) bfHost.get(cIP);
if (attempts == null) attempts = new Integer(1); else attempts = new Integer(attempts.intValue() + 1);
bfHost.put(cIP, attempts);
this.log.logInfo("SLOWING DOWN ACCESS FOR BRUTE-FORCE PREVENTION FROM " + cIP + ", ATTEMPT " + attempts.intValue());
// add a delay to make brute-force harder
announceThreadBlockApply();
try {Thread.sleep(3000);} catch (InterruptedException e) {}
try {Thread.sleep(attempts.intValue() * 2000);} catch (InterruptedException e) {}
announceThreadBlockRelease();
if ((attempts.intValue() >= 10) && (denyHost != null)) {
denyHost.put(cIP, "deny");
}
}
if ((this.denyHost == null) || (this.denyHost.get(cIP) == null)) {

@ -338,7 +338,7 @@ public class yacySeedDB {
public long countPotentialURL() { return seedPotentialDB.getAcc("LCount"); }
public long countPotentialRWI() { return seedPotentialDB.getAcc("ICount"); }
public void addConnected(yacySeed seed) {
public synchronized void addConnected(yacySeed seed) {
if ((seed == null) || (!(seed.isProper()))) return;
//seed.put("LastSeen", yacyCore.shortFormatter.format(new Date(yacyCore.universalTime())));
try {
@ -361,7 +361,7 @@ public class yacySeedDB {
}
}
public void addDisconnected(yacySeed seed) {
public synchronized void addDisconnected(yacySeed seed) {
if (seed == null) return;
try {
nameLookupCache.remove(seed.getName());
@ -386,7 +386,7 @@ public class yacySeedDB {
}
}
public void addPotential(yacySeed seed) {
public synchronized void addPotential(yacySeed seed) {
if (seed == null) return;
try {
nameLookupCache.remove(seed.getName());

Loading…
Cancel
Save