Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
// ==UserScript==
// @name YaCyIndexer
// @namespace https://yacy.domain.com
// @description Indexes visited pages with YaCy.
// @version 0.1
// @match *://*/*
// @grant GM_xmlhttpRequest
// @grant GM_log
// ==/UserScript==
// User parameters:
var paramYaCyLocation = 'http://yacy.domain.com';//адресВашегоСервера
var paramEnableQueryString = true; // Index pages with query strings (possible privacy leak).
var paramDepth = 1; // 0 = only the visited page; 1 = all links on visted page; higher values will index deeper but use exponentially more bandwidth.
var paramAgeNum = 7; // pages already indexed since this time won't be re-indexed.
var paramAgeUnit = 'day'; // units for above
// YaCy Arguments -- Don't change these unless you've read the YaCy API docs.
var crawlingstart = '';
var crawlingMode = 'url';
var crawlingURL = paramEnableQueryString ? window.location.href : [location.protocol, '//', location.host, location.pathname].join('');
var bookmarkTitle = '';
var crawlingDepth = paramDepth;
var directDocByURL = 'off';
var crawlingDepthExtension = '';
var range = 'wide';
var mustmatch = '.*';
var mustnotmatch = '';
var ipMustmatch = '.*';
var ipMustnotmatch = '';
var indexmustmatch = '.*';
var indexmustnotmatch = '';
var deleteold = 'off';
var recrawl = 'reload';
var reloadIfOlderNumber = paramAgeNum;
var reloadIfOlderUnit = paramAgeUnit;
var countryMustMatchSwitch = 'false';
var crawlingDomMaxCheck = 'off';
var crawlingQ = paramEnableQueryString ? 'on' : 'off';
var storeHTCache = 'off';
var cachePolicy = 'iffresh';
var indexText = 'on';
var indexMedia = 'on';
var crawlOrder = 'off';
var collection = 'user';
var yacy_url = paramYaCyLocation + '/Crawler_p.html?crawlingstart=' + encodeURIComponent(crawlingstart) + '&crawlingMode=' + encodeURIComponent(crawlingMode) + '&crawlingURL=' + encodeURIComponent(crawlingURL) + '&bookmarkTitle=' + encodeURIComponent(bookmarkTitle) + '&crawlingDepth=' + encodeURIComponent(crawlingDepth) + '&directDocByURL=' + encodeURIComponent(directDocByURL) + '&crawlingDepthExtension=' + encodeURIComponent(crawlingDepthExtension) + '&range=' + encodeURIComponent(range) + '&mustmatch=' + encodeURIComponent(mustmatch) + '&mustnotmatch=' + encodeURIComponent(mustnotmatch) + '&ipMustmatch=' + encodeURIComponent(ipMustmatch) + '&ipMustnotmatch=' + encodeURIComponent(ipMustnotmatch) + '&indexmustmatch=' + encodeURIComponent(indexmustmatch) + '&indexmustnotmatch=' + encodeURIComponent(indexmustnotmatch) + '&deleteold=' + encodeURIComponent(deleteold) + '&recrawl=' + encodeURIComponent(recrawl) + '&reloadIfOlderNumber=' + encodeURIComponent(reloadIfOlderNumber) + '&reloadIfOlderUnit=' + encodeURIComponent(reloadIfOlderUnit) + '&countryMustMatchSwitch=' + encodeURIComponent(countryMustMatchSwitch) + '&crawlingDomMaxCheck=' + encodeURIComponent(crawlingDomMaxCheck) + '&crawlingQ=' + encodeURIComponent(crawlingQ) + '&storeHTCache=' + encodeURIComponent(storeHTCache) + '&cachePolicy=' + encodeURIComponent(cachePolicy) + '&indexText=' + encodeURIComponent(indexText) + '&indexMedia=' + encodeURIComponent(indexMedia) + '&crawlOrder=' + encodeURIComponent(crawlOrder) + '&collection=' + encodeURIComponent(collection);
// проверяем не запрещено ли нам вообще этого host'а касатся
if ( (location.host!="accounts.google.com") && (location.host!="apis.google.com") && (location.host!="mail.google.com") && (location.host!="s-static.ak.facebook.com"))
{
GM_xmlhttpRequest({
method: "GET",
url: yacy_url,
onload: function(response) {
// GM_log("YaCy indexing should commence.");
}
});
}
else
{
// GM_log("Will NOT process host:"+location.host);
}


если хабар пользователям будет интересна тема децентрализованных поисковых систем, я готов сделать обзор всего функционала Yacy и рассмотреть подробно как она работает
User-agent: Yandex Crawl-delay: 2 Disallow: /search/ Disallow: /js/ Disallow: /css/ Disallow: /ajax/ Disallow: /login/ Disallow: /register/ Host: habrahabr.ru User-agent: Googlebot Crawl-delay: 2 Disallow: /search/ Disallow: /js/ Disallow: /css/ Disallow: /ajax/ Disallow: /login/ Disallow: /register/ User-agent: Slurp Crawl-delay: 8 Disallow: /search/ Disallow: /js/ Disallow: /css/ Disallow: /ajax/ Disallow: /login/ Disallow: /register/ User-agent: * Crawl-delay: 10 Disallow: /search/ Disallow: /js/ Disallow: /css/ Disallow: /ajax/ Disallow: /login/ Disallow: /register/
User-agent: * Disallow: / User-agent: Spinn3r Disallow: / User-agent: Tailrank Disallow: / User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1; aggregator:Spinn3r (Spinn3r 3.0); http://spinn3r.com/robot) Gecko/20021130 Disallow: /
Скорость парсинга легко настраивается заранее или во время парсинга, а также можно поставить запрос на remote crawl — парсинг всей сетью.
Например поисковый гигант — монополист, может легко и незаметно уничтожить любую компанию, просто сместив выдачу результатов на нее в конец списка.
К сожалению, на текущий момент не существует доступных технологий, которые способны бросить вызов уже сложившейся практике использования поисковых систем, но это нужно менять, дальше будет только хуже.
А при пользовании бесконтрольным децентрализованным поиском — кто отвечает за релевантность выдачи? Кто будет наказывать «сео-оптимизаторов»?я это и имевю в виду, когда говорю что не существует адекватных технологий.
Есть прецеденты? Я пока не сталкивался с нерелевантным поиском.roem.ru/2014/02/18/europagoogle92730/

http_proxy и прочие)CHROMIUM_USER_FLAGS и флаги--proxy-server=host:port
Specify the HTTP/SOCKS4/SOCKS5 proxy server to use for requests. This overrides any environment variables or settings picked via the options dialog. An individual proxy server
is specified using the format:
[<proxy-scheme>://]<proxy-host>[:<proxy-port>]
Where <proxy-scheme> is the protocol of the proxy server, and is one of:
«http», «socks», «socks4», «socks5».
If the <proxy-scheme> is omitted, it defaults to «http». Also note that «socks» is equivalent to «socks5».
Examples:
--proxy-server=«foopy:99»
Use the HTTP proxy «foopy:99» to load all URLs.
--proxy-server=«socks://foobar:1080»
Use the SOCKS v5 proxy «foobar:1080» to load all URLs.
--proxy-server=«socks4://foobar:1080»
Use the SOCKS v4 proxy «foobar:1080» to load all URLs.
--proxy-server=«socks5://foobar:66»
Use the SOCKS v5 proxy «foobar:66» to load all URLs.
It is also possible to specify a separate proxy server for different URL types, by prefixing the proxy server specifier with a URL specifier:
Example:
--proxy-server=«https=proxy1:80;http=socks4://baz:1080»
Load https://* URLs using the HTTP proxy «proxy1:80». And load http://*
URLs using the SOCKS v4 proxy «baz:1080».
--no-proxy-server
Disables the proxy server. Overrides any environment variables or settings picked via the options dialog.
--proxy-auto-detect
Autodetect proxy configuration. Overrides any environment variables or settings picked via the options dialog.
--proxy-pac-url=URL
Specify proxy autoconfiguration URL. Overrides any environment variables or settings picked via the options dialog.
--proxy-pac-url=http://localhost/proxy.pac
Yacy — распределённый не цензурируемый поисковик: три года спустя