*) it is possible to move/edit/delete more than one entry at a time now *) it is easier to choose a target for blacklist import now *) fixed several bugs *) to be continued... git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5330 6c8d7289-2bf4-0310-a012-ef5d649a1542pull/1/head
parent
ef66438662
commit
421d056550
@ -0,0 +1,52 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>YaCy '#[clientname]#': Blacklist Administration</title>
|
||||
#%env/templates/metas.template%#
|
||||
</head>
|
||||
<body id="Blacklist">
|
||||
#%env/templates/header.template%#
|
||||
#%env/templates/submenuBlacklist.template%#
|
||||
|
||||
<h2>Blacklist Import</h2>
|
||||
<p>Used Blacklist engine: <span class="settingsValue">#[blacklistEngine]#</span></p>
|
||||
|
||||
#(disabled)#
|
||||
<fieldset class="importListItems">
|
||||
<legend>Import blacklist items from...</legend>
|
||||
<!-- Blacklist import from other peer -->
|
||||
<form action="sharedBlacklist_p.html" method="get">
|
||||
<fieldset>
|
||||
<legend>other YaCy peers:</legend>
|
||||
<select name="hash">
|
||||
#{otherHosts}#
|
||||
<option value="#[hash]#">#[name]#</option>
|
||||
#{/otherHosts}#
|
||||
</select>
|
||||
<input type="submit" value="Load new blacklist items" />
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- blacklist import from url -->
|
||||
<form action="sharedBlacklist_p.html" method="get">
|
||||
<fieldset>
|
||||
<legend>URL:</legend>
|
||||
<input type="hidden" name="currentBlacklist" value="#[currentBlacklist]#" />
|
||||
<input type="text" name="url" />
|
||||
<input type="submit" value="Load new blacklist items" />
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- blacklist import from file -->
|
||||
<form action="sharedBlacklist_p.html" method="get">
|
||||
<fieldset>
|
||||
<legend>file:</legend>
|
||||
<input type="hidden" name="currentBlacklist" value="#[currentBlacklist]#" />
|
||||
<input type="text" name="file" />
|
||||
<input type="submit" value="Load new blacklist items" />
|
||||
</fieldset>
|
||||
</form>
|
||||
</fieldset>::#(/disabled)#
|
||||
#%env/templates/footer.template%#
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,95 @@
|
||||
// BlacklistImpExp_p.java
|
||||
// -----------------------
|
||||
// part of YaCy
|
||||
// (C) by Michael Peter Christen; mc@yacy.net
|
||||
// first published on http://www.anomic.de
|
||||
// Frankfurt, Germany, 2004
|
||||
//
|
||||
// This File is contributed by Alexander Schier
|
||||
//
|
||||
// $LastChangedDate: 2008-10-30 01:03:14 +0100 (Do, 30 Okt 2008) $
|
||||
// $LastChangedRevision: 5309 $
|
||||
// $LastChangedBy: low012 $
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
// You must compile this file with
|
||||
// javac -classpath .:../classes Blacklist_p.java
|
||||
// if the shell's current path is HTROOT
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Iterator;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import de.anomic.data.listManager;
|
||||
import de.anomic.http.httpRequestHeader;
|
||||
import de.anomic.plasma.plasmaSwitchboard;
|
||||
import de.anomic.server.serverObjects;
|
||||
import de.anomic.server.serverSwitch;
|
||||
import de.anomic.yacy.yacySeed;
|
||||
import java.util.List;
|
||||
|
||||
public class BlacklistImpExp_p {
|
||||
private final static String DISABLED = "disabled_";
|
||||
|
||||
public static serverObjects respond(final httpRequestHeader header, final serverObjects post, final serverSwitch<?> env) {
|
||||
final plasmaSwitchboard sb = (plasmaSwitchboard) env;
|
||||
|
||||
// initialize the list manager
|
||||
listManager.switchboard = (plasmaSwitchboard) env;
|
||||
listManager.listsPath = new File(listManager.switchboard.getRootPath(),listManager.switchboard.getConfig("listManager.listsPath", "DATA/LISTS"));
|
||||
|
||||
// loading all blacklist files located in the directory
|
||||
final List<String> dirlist = listManager.getDirListing(listManager.listsPath);
|
||||
|
||||
String blacklistToUse = null;
|
||||
final serverObjects prop = new serverObjects();
|
||||
prop.putHTML("blacklistEngine", plasmaSwitchboard.urlBlacklist.getEngineInfo());
|
||||
|
||||
// if we have not chosen a blacklist until yet we use the first file
|
||||
if (blacklistToUse == null && dirlist != null && dirlist.size() > 0) {
|
||||
blacklistToUse = dirlist.get(0);
|
||||
}
|
||||
|
||||
|
||||
// List known hosts for BlackList retrieval
|
||||
if (sb.webIndex.seedDB != null && sb.webIndex.seedDB.sizeConnected() > 0) { // no nullpointer error
|
||||
int peerCount = 0;
|
||||
try {
|
||||
final TreeMap<String, String> hostList = new TreeMap<String, String>();
|
||||
final Iterator<yacySeed> e = sb.webIndex.seedDB.seedsConnected(true, false, null, (float) 0.0);
|
||||
while (e.hasNext()) {
|
||||
final yacySeed seed = e.next();
|
||||
if (seed != null) hostList.put(seed.get(yacySeed.NAME, "nameless"),seed.hash);
|
||||
}
|
||||
|
||||
String peername;
|
||||
while ((peername = hostList.firstKey()) != null) {
|
||||
final String Hash = hostList.get(peername);
|
||||
prop.putHTML(DISABLED + "otherHosts_" + peerCount + "_hash", Hash);
|
||||
prop.putXML(DISABLED + "otherHosts_" + peerCount + "_name", peername);
|
||||
hostList.remove(peername);
|
||||
peerCount++;
|
||||
}
|
||||
} catch (final Exception e) {/* */}
|
||||
prop.put(DISABLED + "otherHosts", peerCount);
|
||||
}
|
||||
|
||||
|
||||
prop.putXML(DISABLED + "currentBlacklist", (blacklistToUse==null) ? "" : blacklistToUse);
|
||||
prop.put("disabled", (blacklistToUse == null) ? "1" : "0");
|
||||
return prop;
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>YaCy '#[clientname]#': Blacklist Test</title>
|
||||
#%env/templates/metas.template%#
|
||||
</head>
|
||||
<body id="Blacklist">
|
||||
#%env/templates/header.template%#
|
||||
#%env/templates/submenuBlacklist.template%#
|
||||
|
||||
<h2>Blacklist Test</h2>
|
||||
<p>Used Blacklist engine: <span class="settingsValue">#[blacklistEngine]#</span></p>
|
||||
<!-- blacklist selection -->
|
||||
<fieldset>
|
||||
<legend>Test list:</legend>
|
||||
<form action="BlacklistTest_p.html" method="post" enctype="multipart/form-data">
|
||||
<input type="text" name="testurl" size="50" value="http://" />
|
||||
<input type="submit" name="testList" value="Test" />
|
||||
|
||||
#(testlist)#::
|
||||
<div>
|
||||
The tested URL was #[url]#<br>
|
||||
It is blocked for the following cases:<br>
|
||||
<ul>
|
||||
#(listedincrawler)#::<li>Crawling</li>#(/listedincrawler)#
|
||||
#(listedindht)#::<li>DHT</li>#(/listedindht)#
|
||||
#(listedinnews)#::<li>News</li>#(/listedinnews)#
|
||||
#(listedinproxy)#::<li>Proxy</li>#(/listedinproxy)#
|
||||
#(listedinsearch)#::<li>Search</li>#(/listedinsearch)#
|
||||
#(listedinsurftips)#::<li>Surftips</li>#(/listedinsurftips)#
|
||||
</ul>
|
||||
</div>
|
||||
#(/testlist)#
|
||||
</form>
|
||||
</fieldset>
|
||||
#%env/templates/footer.template%#
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,83 @@
|
||||
// BlacklistTest_p.java
|
||||
// -----------------------
|
||||
// part of YaCy
|
||||
// (C) by Michael Peter Christen; mc@yacy.net
|
||||
// first published on http://www.anomic.de
|
||||
// Frankfurt, Germany, 2004
|
||||
//
|
||||
// This File is contributed by Alexander Schier
|
||||
//
|
||||
// $LastChangedDate: 2008-10-30 01:03:14 +0100 (Do, 30 Okt 2008) $
|
||||
// $LastChangedRevision: 5309 $
|
||||
// $LastChangedBy: low012 $
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
// You must compile this file with
|
||||
// javac -classpath .:../classes Blacklist_p.java
|
||||
// if the shell's current path is HTROOT
|
||||
|
||||
import java.io.File;
|
||||
import java.net.MalformedURLException;
|
||||
|
||||
import de.anomic.data.listManager;
|
||||
import de.anomic.http.httpRequestHeader;
|
||||
import de.anomic.index.indexReferenceBlacklist;
|
||||
import de.anomic.plasma.plasmaSwitchboard;
|
||||
import de.anomic.server.serverObjects;
|
||||
import de.anomic.server.serverSwitch;
|
||||
import de.anomic.yacy.yacyURL;
|
||||
|
||||
public class BlacklistTest_p {
|
||||
|
||||
public static serverObjects respond(final httpRequestHeader header, final serverObjects post, final serverSwitch<?> env) {
|
||||
|
||||
// initialize the list manager
|
||||
listManager.switchboard = (plasmaSwitchboard) env;
|
||||
listManager.listsPath = new File(listManager.switchboard.getRootPath(),listManager.switchboard.getConfig("listManager.listsPath", "DATA/LISTS"));
|
||||
|
||||
final serverObjects prop = new serverObjects();
|
||||
prop.putHTML("blacklistEngine", plasmaSwitchboard.urlBlacklist.getEngineInfo());
|
||||
|
||||
// do all post operations
|
||||
if(post != null && post.containsKey("testList")) {
|
||||
prop.put("testlist", "1");
|
||||
String urlstring = post.get("testurl", "");
|
||||
if(!urlstring.startsWith("http://")) urlstring = "http://"+urlstring;
|
||||
yacyURL testurl = null;
|
||||
try {
|
||||
testurl = new yacyURL(urlstring, null);
|
||||
} catch (final MalformedURLException e) { testurl = null; }
|
||||
if(testurl != null) {
|
||||
prop.putHTML("testlist_url",testurl.toString());
|
||||
if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_CRAWLER, testurl))
|
||||
prop.put("testlist_listedincrawler", "1");
|
||||
if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_DHT, testurl))
|
||||
prop.put("testlist_listedindht", "1");
|
||||
if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_NEWS, testurl))
|
||||
prop.put("testlist_listedinnews", "1");
|
||||
if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_PROXY, testurl))
|
||||
prop.put("testlist_listedinproxy", "1");
|
||||
if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_SEARCH, testurl))
|
||||
prop.put("testlist_listedinsearch", "1");
|
||||
if(plasmaSwitchboard.urlBlacklist.isListed(indexReferenceBlacklist.BLACKLIST_SURFTIPS, testurl))
|
||||
prop.put("testlist_listedinsurftips", "1");
|
||||
}
|
||||
else prop.put("testlist_url","not valid");
|
||||
}
|
||||
return prop;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in new issue