Pro-search reference manual
===========================

Free open-source file search engine
-----------------------------------

Copyright © 2003-2011 Oleg Alexeenkov, <proler(at)gmail.com>

------------------------------------------------------------------------------------------------------------------------

Содержание

   Вступление
      Возможности

   Установка
      Скачать
      Софт
      Настройка

   руководство пользователя
      основная строка запроса
      уточнить..
      результаты
      добавление ресурса

   api
   FAQ
   BUGS
   Альтернативные поисковики

Вступление
====================

Возможности
----------------------

Система файлового поиска и навигации в сетях и не только.
--------------------------------------------------------------------------------------------------------

   * Написано полностью на Perl, webчасть может работать в mod_perlили FastCGI
   * Работа под любыми ОС- windows, freebsd, linux, ...
   * Использует СУБД mysqlили PostgreSQLили sqlite, возможен полнотекстовый
     поиск через sphinx
   * Разрабатывалось для быстрой работы с большим количеством
     файлов (от миллиона)
   * Быстрое сканирование ftp, windows shares, rsync, http[в разработке, а оно
     надо?]
   * Разные методы сканирования ftp (ls-lR, обход с возможностью
     возобновления)
   * Автоопределение кодировки ftp серверов
   * Обработка описаний из *.m3u, files.bbs, descript.ion, ...
   * Обход DC,ADC хабов, сбор файллистов
   * Обработка файл-листов DC++ (в результатах поиска как magnet,
     dchub://,adc:// ссылки)
   * proxy - Возможность скачивать с ftp,file,dchub через web интерфейс
   * Гибкая система выдачи результатов поиска (HTML, M3U, RSS, XML, в
     консоль, ...)
   * Плеер на странице результатов (видео, аудио, flash, картинки)
   * Возможно прикрутить любой дизайн или несколько (по выбору
     пользователя)
   * Возможность поиска только на включенных компьютерах (online)
   * Определение живости ресурса в реальном времени с веб-морды
   * Подсчет количества скачек файла/с ресурса
   * Голосования за-против ресурсов [рейтинг]
   * Навигация по ресурсам
   * Поиск в найденном [сложные запросы]
   * Различные сортировки результата
   * Возможность работы в кластере
   * Гибкая поддержка любых кодировок
   * Поиск с учетом транслита и ошибок написания (stemming)
   * Множество других, иногда уникальных фич

homepage: http://pro.setun.net/search/ sf.net : http://sourceforge.net/projects/pro-search

Демо тут: http://search.setun.net/ http://proisk.ru/

Основные идеи: полностью автоматическая, скоростная,
универсальная система. минимум запросов к базе, минимум не
нужного, максимум настраиваемая.

Любое коммерческое использование без согласия и % автору
запрещено.

Если кому понравился данный продукт, и есть идеи как улучшить,
или вы уже сделали изменения - принимаются патчи и мысли 8)

Установка
==================

Скачать
--------------

release: http://pro.setun.net/search/download/?C=M;O=D mirror on http://sf.net:
http://sourceforge.net/project/showfiles.php?group_id=149797 svn  snapshot:

   | svn co svn://svn.setun.net/search/trunk/ search

trac: http://svn.setun.net/search/trac.cgi/browser/trunk-> Download in other formats: Zip Archive После
скачивания такого архива необходимо скопировать директорию
./lib в ./web

Софт
--------

для работы необходимо поставить и настроить

Web

   * apache or any http server with cgi
   * perl>=5.10 (DBI; DBD::mysql)
   * mysql>=3 или PostgreSQL или sqlite
   * [mod_perl]

Crawler

   * perl>=5.10 (DBI; DBD::mysql; Net::FTP; LWP; URI;)
   * mysql>=3 или PostgreSQL или sqlite
   * nmap (with winpcap for win32)
   * samba (unix)
   * bzip2 (для обработки файллистов DC++)
   * [rsync]

perl
----

ВНИМАНИЕ! рекомендуемая минимальная версия perl - 5.10 или выше. В
более ранних возможны ошибки.

Во всех нормальных ОС перл установлен по умолчанию.

Установка необходимых модулей для perl в *nix: cpan DBI Bundle::DBD::mysql Net::FTP LWP
URI FCGI Net::DirectConnect HTML::Parser или perl -MCPAN -e shell > [force] install DBI, Bundle::DBD::mysql,
Net::FTP, LWP, URI, FCGI, Net::DirectConnect, HTML::Parser

Для windowsправильный Strawberry Perl: http://strawberryperl.com/ Устанавливаем Strawberry
Perl в c:\usr\ Запускаем установку модулей с cpan как и для нормальных
ос. Strawberry Perl c модулями Установлен

Для windowsнеправильный устаревший способ:
http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl Устанавливаем ActivePerl в
c:\usr\ Запускаем(Run) ppm-shell.bat или ppm.bat из папки C:\usr\bin Выполняем данные
команды в появившейся консоли: install DBI install DBD-mysql install FCGI install
Net-DirectConnect ActivePerl Установлен

mysql
-----

http://www.mysql.com/downloads/mysql/ настройка: в my.cnf или my.ini:

   |         
   |   [mysqld]
   |   ft_min_word_len = 1
   |   ft_stopword_file=''
   |   #default-character-set = cp1251
   |   #init_connect          = "set names 'cp1251';"

Рекомендуется изучить документацию mysql по вопросам настроек
оптимизации. например если памяти 512М или более:

   |         
   | key_buffer=256M
   | sort_buffer=8M
   | table_cache=256
   | tmp_table_size = 64M

Рекомендуется размер key_buffer увеличивать до размера filebase.MYI или
половины оперативной памяти.

PostgreSQL
----------

В качестве СУБД можно использовать PostgreSQL.

Настройка под windows: Скачиваем и устанавливаем стабильную версию
8.3 или более свежую. Для более ранних возможно придется
прикручивать tsearch2 язык установки - English / English далее ... locale - C
кодировка - сервер - utf8 , клиент - utf8 сочиняем пароль (можно сразу
вписать его в конфиг $config{'sql'}{'pass'} ) далее

Настройка под freebsd:

   |         
   | cd /usr/ports/databases/postgresql83-server/ && make install clean
   | cd /usr/ports/databases/postgresql-contrib/ && make install clean
   | echo postgresql_enable="YES" > /etc/rc.conf
   | /usr/local/etc/rc.d/postgresql initdb                                       
   | /usr/local/etc/rc.d/postgresql start           
   | createdb -U pgsql prosearch                                                 
   | psql -U pgsql -d prosearch -f /usr/local/share/postgresql/contrib/tsearch2.sql
   | 
   |      

Под другие OS: cамостоятельно поставьте PostgreSQL с модулем tsearch2 8-)

apache
------

http://httpd.apache.org/download.cgi httpd.conf:

   |             
   |     AllowOverride All
   |     AddHandler cgi-script .cgi

или типа того [либо в httpd.confлибо /usr/local/etc/apache22/Includes/search.conf]:

   |         
   | Alias /search "/usr/local/www/search/web"
   | <Directory "/usr/local/www/search/web">
   |   AllowOverride All
   |   Order allow,deny
   |   Allow from all
   |   AddHandler cgi-script .cgi
   |   DirectoryIndex index.cgi
   |   options +ExecCGI
   | </Directory>

или отредактируйте под себя tools/search.confи скопируйте его в
/usr/local/etc/apache22/Includes/search.confили добавьте к httpd.conf

Если апач стоит только для поиска - в htdocs можно положить файл
.htaccess:

   | RedirectMatch permanent ^/$ http://your_site/search/

mod_perl
--------

если еще не сделали - скопировать web/.htaccess.distв web/.htaccess
редактировать web/.htaccess

nmap
----

http://www.insecure.org/nmap/nmap_download.html WIN32:dont forget:

   | $config{'nmap'} = 'c:/progra....../nmapwin/nmap';

желательно добавить в реестр: regedit c:\progra......\nmapwin\nmap_performance.reg

windows: http://winpcap.polito.it/install/default.htm

samba
-----

поддержка русских имен
smb.conf:

   |         
   |  [global]
   |  unix charset    = koi8-r
   |  dos charset     = cp866
   |  display charset = UTF8

rsync
-----

Если Вы хотите сканировать rsync:// ресурсы - придется поставить rsync
8-)

bzip2
-----

Необходим для обработки файллистов DC++. Под windows придется скачать
и поставить. Например из http://unxutils.sourceforge.net/или http://cygwin.com/

freebsd
-------

В freebsd все необходимое можно собрать из портов.

Автоматическая установка всего необходимого Вариант 1: обновите
дерево портов (если первый раз - portsnap fetch extract, если второй и
следующий разы: portsnap fetch update), cd /usr/ports/net/prosearch && make install clean Вариант
2: в дистрибутиве есть папка tools/prosearch: cd tools/prosearch && make install clean

Или ручная установка:

               
                 
                           
                  cd /usr/ports/databases/mysql55-server && make install clean
                 cd /usr/ports/databases/p5-DBD-mysql && make install clean
                 cd /usr/ports/www/p5-libwww && make install clean
                 cd /usr/ports/security/nmap && make install clean
                 cd /usr/ports/net/samba35 && make install clean
                 cd /usr/ports/net/rsync && make install clean
                 
                 
               

             

advanced: monster base (>10M files) and monster server (>1G memory) freebsd5,6 i386: /boot/loader.conf:

   |         
   | kern.dfldsiz="2G"                # Set the initial data size limit
   | kern.maxdsiz="2G"                # Set the max data size

windows
-------

Для windows есть несколько готовых пакетов apache+perl+mysql+... если есть
желание, время и нервы - можете попробовать установить поиск под
ними. а если есть умение - можно поставить все по отдельности.

http://en.wikipedia.org/wiki/Comparison_of_WAMPs

http://www.apachefriends.org/en/xampp-windows.html

http://topserver.ru

http://www.devside.net/server/webdeveloper

http://swissknife.bougakov.com

http://pampa.phpsoft.it

http://www.denwer.ru: http://www.denwer.ru/dis/Base/+ http://www.denwer.ru/packages/perl.html

Но не забудьте поставить nmap

cygwin
------

При желании можно поставить почти все в cygwin окружении.

               
                 
                         
                    win: cygwin: TEST TODO UNFINISHED
                 
                    DESCRIBE: http://cygwinports.dotsrc.org/
                 
                              ONLY WEB INTERFACE
                 
                 
                 goto http://cygwin.com download and run setup.exe, install: perl, apache, gcc, make
                 download mysql source, unpack, run
                  cd mysql-5.1.11-beta && configure && make install clean
                 install windows version nmap with winpcap
                 install perl modules: run:
                  cpan DBI Bundle::DBD::mysql Net::FTP LWP URI FCGI Net::DirectConnect
                 if Bundle::DBD::mysql report error run:
                  cpan
                  cpan> force install Bundle::DBD::mysql
                 
                 #link search/web/ to apache dir:
                 # ln -s /cygdrive/c/pro/search/web /var/www/htdocs/search
                 conf apache:
                 put to end of /etc/apache/httpd.conf:
                 Alias /search "/cygdrive/c/pro/search/web"
                 <Directory "/cygdrive/c/pro/search/web">
                  AllowOverride All
                  Order allow,deny
                  Allow from all
                  AddHandler cgi-script .cgi
                  DirectoryIndex index.cgi
                  options +ExecCGI
                 </Directory>
                 run apache:
                  /usr/sbin/apachectl restart
                 conf search:
                 
                  cp /cygdrive/c/pro/search/web/config.pl.dist /cygdrive/c/pro/search/web/config.pl
                  mcedit /cygdrive/c/pro/search/web/config.pl
                 change line to:
                  require '/cygdrive/c/pro/search/confdef.pl';
                 
                  cp /cygdrive/c/pro/search/config.pl.dist /cygdrive/c/pro/search/config.pl
                  mcedit /cygdrive/c/pro/search/config.pl
                 change line to:
                  require '/cygdrive/c/pro/search/confdef.pl';
                 
                 mysql conf:
                                 
               

             

Настройка
------------------

Коротко о главном
--------------------------------

Для тех, кто в курсе:

               
                 
                             
                  copy|cp config.pl.dist config.pl
                 copy|cp web/.htaccess.dist web/.htaccess
                 edit config.pl , web/.htaccess
                 > mysqladmin create prosearch
                 > perl crawler.pl install --noscan file=range
                 
                 
               

             

где в файле range на каждой строке диапазон/ресурс и запуск
например 3х паралельных сканеров: perl crawler.pl proc=3

основные понятия
-------------------------------

Пути
--------

Расположение системы на диске (пример): 1. положить все файлы в: unix:
/usr/local/www/search win: c:\search

2. web часть: Можно оставить и настроить alias с помощью httpd.conf А можно
и физически поместить директорию webв htdocs: unix: можно создать
ссылку: ln -s /usr/local/www/search/web /usr/local/apache2/htdocs/search или скопировать: cp
/usr/local/www/search/web /usr/local/apache2/htdocs/search

Создание файла счетчика: touch /usr/local/apache2/htdocs/search/count chmod 666 touch
/usr/local/apache2/htdocs/search/count

win: скопировать copy c:\search\web c:\apache2\htdocs\searchссылка вашего поиска
будет http://хост/search

Создание файла счетчика: echo.>> c:\apache2\htdocs\search\count

Аналогично можно webпоместить в cgi-bin, но будут небольшие проблемы
с доступом к *.css, *.js, img/*.png

Файлы конфигурации
-----------------------------------

confdef.pl- содержит настройки по умолчанию, ведется разработчиками.
НЕ изменяте этот файл.

В директориях с index.cgiи crawler.plнеобходимо создать файлы

config.pl- Ваши настройки, переопределяет содержимое. Рекомендуется
получить его путем копирования из config.pl.dist и последующего
пролистывания с раскомментированием понравившихся строк. confdef.pl,
можно добавить что-то свое, например модуль сканирования
какого-нибудь протокола (gopher 8)

для удобства при первоначальной установке скопируйте config.pl.distв
config.pl

config.pl.dist- наиболее часто используемые отклонения от стандартных
настроек

В директориях с crawler.plи index.cgiмогут находиться разные config.pl, может
один (в одной оригинал, в другой ссылка или содержащий do 'другой';).

Минимальная конфигурация
Настройки по умолчанию являются оптимальными для большинства
случаев. Менять конфигурацию не обязательно.

Настоятельно рекомендуем просмотреть весь confdef.plи все что
хочется изменить внести в config.pl

Если вы не понимаете какой-либо параметр - его лучше не трогать.

база данных
---------------------

Допустим база будет называться prosearch (по умолчанию в confdef.pl)

создание базы
вариант 1: mysqladmin create prosearch вариант 2: прописываем правильный путь к
клиенту mysql (если его нет в PATH) например:

   | $config{'mysql'} = 'C:/mysql/bin/mysql.exe';

и смотрим дальше:

создание таблиц
perl crawler.pl install Настройка доступа на таблицы (если crawler и web на
разных машинах или говорит что нет доступа) редактируете
tools/grant.sqlи mysql > tools/grant.sql пока не заработает 8-)

общая часть
---------------------

файлы
----------

Используемые файлы: crawler.logЛог

bannedили то что в $config{'file_banned'} -Используется для перечисления
ресурсов, сканировать которые не следует например:

   |           
   | ftp://10.10.110.34
   | ftp://10.0.0.252
   | file://10.0.0.252
   | 12.34.45.56

Также можно использовать $config{'banned'}:

   | $config{'banned'}{'ftp://1.2.3.4'} = 1;

В БД таблица banned пока не используется.

Полезно использовать когда один большой файловый архив имеет
несколько адресов/протоколов - будем сканировать только не
запрещенные. Можно еще в конфиг web добавить

   |           
   | $config{'action'}{'ftp34'} = {'file://10.10.110.34/public' => 'ftp://10.10.110.34/pub'};
   | $config{'lng'}{'ru'}{'ftp34'}  = 'ftp';

для более корректного отображения таких ресурсов.

sql
---

паук
--------

Если вы не хотите использовать один из протоколов (например
samba(share) (file://)) то напишите в config.plдля crawler.pl:

   | $processor{'prot'}{'file'}{'disabled'} = 1;

периоды

dns

данные

Необходимо загрузить в базу данных диапазоны и/или ресурсы
которые будем сканировать: создаем файл, например rangeи
прописываем все диапазоны и непингуемые ресурсы например

   |             
   | 10.13.32.0/27
   | 10.13.110.0/24
   | ftp://192.168.50.10
   | ftp://10.10.201.201

Диапазоны могут быть любого вида понимаемого nmap (напр
172.16.0,2,6,7.0-254) или конкретные ресурсы (file://.. , ftp://.. , ...) загружаем в
базу коммандой perl crawler.pl file=range --noscan ИЛИ указать все диапазоны и
ресурсы прямо в коммандной строке например perl crawler.pl --noscan 10.13.32.0/27
10.13.110.0/24 ftp://192.168.50.10

ipdig

Вытаскивает диапазоны или ресурсы с вражеских поисковиков,
форумов, списков, итд 8) примеры: запуск во всех случаях (файл
может быть локально, на ftp, file, http): perl crawler.pl --noscan
ipdig=http://search.zzz.ru/ftp_list.php

на страничке: присутствует 10.20.1.4 ... ftp://10.20.5.7 ..... 10.20.8.100 мы хотим
добавить все подсети: 10.20.1.0/24 10.20.5.0/24 10.20.8.0/24 config.pl: по умолчанию

мы хотим добавить все ftp: ftp://10.20.1.4 ftp://10.20.5.7 ftp://10.20.8.100 config.pl:

   |             
   |   $config{'dig_prot_add'} = 'ftp';
   |   $config{'dig_netmask'} = '';

или мы хотим найти только ftp://* , только ip, только что-нибудь еще - -
сочиняем свой $config{'dig_find_mask'}

Так-же возможна комманда ipdigf=file.txt , где в file.txt на каждой строчке
по ссылке на страницы/файлы

параметры запуска

Внимание! паука можно запускать только из его директории. из
других мест работать не будет. Если нужно запустить например из
крона - cd /usr/local/www/search && perl crawler.pl params...

=== Некоторые Возможные Параметры crawler.pl:

crawler.pl [ Действия ] [ Цели ] [ Параметры ]

- в любом количестве и в любой последовательности Действия:
installУстановка базы, таблиц, директорий. Можно запускать
несколько раз. proc[=NUM]запустить NUM Процессов сканирования (по
умолчанию 1) drop[=table]Удаление таблиц[ы]. purgeУдалить из базы
устаревшие записи delhost=HOSTудалит из всех таблиц HOST. deldeadудалить
хосты без файлов из таблицы resource upload[=NUM]обработать содержимое в
NUM потоков var/ index_disableВыключить индексы на таблице filebase
index_enableВключить, Но гораздо быстрее включать индексы с помощью
repair[=table]mysql починить все таблицы или если указано одну mirпочинить
таблицу с помощью myisamchk flushmysql analyzemysql optimizemysql mystatusmysql show processlist в
файл mysql.???????.dump hublist[=url]загрузить dc хаблист или $config{'hublist'} mrtgвывод
данных для графиков mrtg statчуть статистики upgradeпривести таблицы к
текущей версии helpвсе взозможные параметры

Цели: [ip]10.1.2.3 [ip_range](nmap style) 192.168.0.0/16 '192.88-90.*.*' [resource]ftp://10.2.3.4 \\10.3.4.5
scan=[ip|resource|resource]см выше. [file]list.txt file=filenameвзять список для
сканирования из файла Файл может быть локальным или url http://.. ftp://..
file://.. skip=[ip]равносильно записи в bannedили $config{'banned'}

Параметры: [-]|[c[onf]]-KEY=VALUEУстановить значение $config{KEY} = VALUE например
--log_screen=1 Также можно указывать --xxx__yyy=zzz, что равносильно

   | $config{'xxx'}{'yyy'} = 'zzz';

Полезные параметры из $config{..} --forceСканировать ресурс[ы] даже если
не пришло их время --ftp_recurse_forceрекурсивный обход ftp (вместо ls -R)(для
серверов vsftpd) --pingonlyНе сканировать порты, только пинг (для
поддержки online (если не нужно каждый интервал [до|пере]сканировать
ресурсы)) --log_dbgВыводить сообщения для отладки --log_allВыводить все
сообщения --fastНе проверять на ошибки базы, не делать повторов при
ошибках

Можно указывать хоть все параметры вместе - выполнены будут в
оптимальном порядке. Например perl crawler.pl drop install file=range --noscan 10.20.0.0/16
ftp://10.30.40.50

Любое действие можно указывать с одним "-" например perl crawler.pl drop
-install -debug

запуск

запускаем один или несколько процессов сканирования (например 3)
(это можно запихнуть в автозагрузку) perl crawler.pl proc=3 все - система
живет, работает, цветет и пахнет.

Можно запустить демоном: perl crawler.pl proc=3 &

Для *nix Вы можете отредактировать под себя search.sh.distи скопировать
его например в /usr/local/etc/rc.d/search.shдля автоматичесмкой загрузки при
старте системы.

Для одноктатного сканирования определенного ресурса можно
запускать crawler с указанием цели (может быть несколько). различные
варианты:

                 
                   
                                 
                      perl crawler.pl 10.10.0-20.0-255
                     perl crawler.pl 10.10.1.1
                     perl crawler.pl \\10.10.1.10 ftp://10.10.1.11
                     perl crawler.pl file://10.10.1.11
                     perl crawler.pl \\10.10.1.10\video\film
                     perl crawler.pl file://10.10.1.111/music/
                   
                   
                 

               

purge

Для очистки базы от мертвых ресурсов желательно запускать
каждый день-неделю-... [пожже это будет встроено в proc и будет
выполняться само] perl crawler.pl purge

При желании, и если это будет иметь результаты в скорости
поиска-вставки можно запускать perl crawler.pl optimize

разное

После прерываний работы crawler в ./var/ могут появляться файлы,
обработать их можно с помощью

perl crawler.pl upload Для автоматической очистки ./var/ и ./tmp/ можно в крон
добавить find /usr/local/www/search/tmp/ -mtime +30 -delete

dc
--

Бот встроен в crawler.pl и запускается автоматически из proc. Загрузка
списков хабов -

   |           
   |  perl crawler.pl --noscan dchub://hub.com 
   |  perl crawler.pl --noscan file=dchubs 
   |  perl crawler.pl --noscan hublist=dchubs.xml.bz2
   |  perl crawler.pl --noscan hublist=http://hubs.my.lan/hubs.xml.bz2

web
---

дизайн

Язык

По умолчанию автоопределение. Многие браузеры кроме оперы 8) по
умолчанию отдают язык en. Если иногда бывают настоящие en
пользователи можно так:

   | $config{'lng_default_auto'} = 'ru'; # if autodetect fail - use ru

Если en пользователей не бывает - лучше убрать автоопределение
так:

   | $config{'lng_default'} = 'ru'; # disable autodetect, use ru

(ручное переключение языка работать будет)

advanced
--------

ftp login-pass

Если необходимо сканировать ftp с логином-паролем отличным от
anonymous - или сканируем ftp://login:pass@10.20.30.40 - в результатах так и будет c
логином и паролем. или добавляем в конфиг

   |             
   | $config{'fine'}{'10.20.30.40'}{'anonymous_user'} = 'xxx';
   | $config{'fine'}{'10.20.30.40'}{'anonymous_pass'} = 'yyy';

сканируем как обычно ftp://10.20.30.40

Оптимизация

если большой и неравномерный диапазон - лучше разбить на
маленькие примерно таким скриптом:

   | for (0..210) { print "10.20.$_.0/24\n"; }

результат в файл, просканировать, везде где alive:0 - убрать в другой
файл (его на вякий случай еще можно раза 2 просканировать в разное
время - вдруг кто проявится)

Если сеть с большим количеством файлов (более 1-3 миллионов) -
перед первым сканированием: perl crawler.pl index_disable как все пройдет: perl
crawler.pl index_enable при последующих пересканированиях mysql будет
задумываться только о новых файлах.

графики через mrtg

mrtg sample config: mrtg.conf

   |           
   | ...
   | Target[local.ips]: `cd /usr/local/www/search/ && perl crawler.pl mrtg --log_screen=0 --log_all=- --nolog_startstop --fast`
   | MaxBytes[local.ips]: 100000
   | Options[local.ips]: growright, gauge, noinfo, nopercent
   | WithPeak[local.ips]: ymw
   | Title[local.ips]: ip in local net
   | YLegend[local.ips]: ips now/total
   | LegendI[local.ips]: ips total
   | LegendO[local.ips]: ips alive
   | ShortLegend[local.ips]: ip
   | Legend1[local.ips]: - total ip's
   | Legend2[local.ips]: - alive ip's
   | Legend3[local.ips]: - total ip's max per 5 min
   | Legend4[local.ips]: - alive ip's max per 5 min
   | 
   | Target[local.res]: `cd /usr/local/www/search/ && perl crawler.pl mrtg=online --log_screen=0 --log_all=- --nolog_startstop --fast`
   | MaxBytes[local.res]: 100000000
   | Options[local.res]: growright, gauge, noinfo, nopercent
   | WithPeak[local.res]: ymw
   | Title[local.res]: online resource size
   | YLegend[local.res]: files/mbytes
   | LegendI[local.res]: files
   | LegendO[local.res]: Mbytes
   | ShortLegend[local.res]: .
   | Legend1[local.res]: - files
   | Legend2[local.res]: - mbytes
   | Legend3[local.res]: - files max per 5 min
   | Legend4[local.res]: - mbytes max per 5 min
   | ...

OR with $config{'mrtg_out'}: config.pl:

   | $config{'mrtg_out'} = '/usr/local/www/search/mrtg.out';

mrtg.cfg

   | Target[local.ips]: `cat /usr/local/www/search/mrtg.out`

for web:

   |           
   |   $config{'html_main_aft'} = '<table><tr><td>net alive:</td><td>shared:</td></tr><tr><td><a href="http://site/mrtg/local.ips.html">
   |    <img src="http://site/mrtg/local.ips-day.png"/></a></td><td><a href="http://site/mrtg/local.res.html">
   |    <img src="http://site/mrtg/local.res-day.png"/></a></td></tr></table><p/>';

как сделать картинки типов

alt-printscreen на окошке проводника photoshop ctrl-n enter ctrl-v zoom select ctrl-c ctrl-n enter
ctrl-v ctrl-alt-shift-s png-128 enter

Хочу запустить один proc с специальными параметрами

Не все параметры из конфига можно переопределить из коммандной
строки. Например $program{'upload'}{'proc'}- нельзя. Далее покажем как это
обойти. Аналогично можно подстраивать любые действия-параметры

Вариант 1:

   |             
   |  #Устанавливаем любой параметр 
   |  $program{'upload'}{'proc'} = 1 if $param->{'example'};

Или

   |             
   |  #Устанавливаем любые параметры
   |  if ($param->{'example'}) {
   |    $program{'upload'}{'proc'} = 1 ;
   |    $config{'log_dbg'} = 1;
   |  }

и запускаем perl crawler.pl proc --example

Вариант 2:

   |             
   |  $program{'example'}{'func'} = sub {
   |    $program{'upload'}{'proc'} = 1;
   |    $config{'log_dbg'} = 1;
   |    $program{'proc'}{'func'}->();
   |  }

и запускаем perl crawler.pl example

Используя фантазию и данные примеры можно сделать себе жизнь
легче и удобнее 8)

Как использовать utf везде [с 0.19.0 - утф по умолчанию]

                 
                   
                               
                   ... Ставил поисковик на последний Debian Lenny
                   Он весь из себя utf-8, для нормальной работы с русскими буквами в поиске по шарам было что сделано:
                   1.    Конфиг samba НЕ трогался (она по-умолчанию в utf-8)
                   2.    $config{'cp_db'} = 'utf-8';
                   3.    Были добавлены следующие строки в config.pl (до включения confdef)
                   $config{'fine'}{'file'}{'cp_res'} = 'utf-8';
                   $config{'cp_shell'} = 'utf-8';
                   $config{'cp_log'}   = 'utf-8';
                   4.   allow_cp_detect не трогался
                    В результате все везде ищется и показывается нормально ...
                   
                 

               

руководство пользователя
===============================================

основная строка запроса
--------------------------------------------

уточнить..
------------------

результаты
--------------------

добавление ресурса
-----------------------------------

api
===

FAQ
===

   В: У вас дизайн плохой
   В: У меня тормозит поиск
   В: есть кмс vBadvanced (к форуму vBulletin) с моим дизайном. хочется
   подключить к этой кмс твой поисковик как страницу... есть
   возможность подключения html и php файлов.... как поисковик
   запихнуть в дизайн (кроме iframe)? :)
   В: Остался вопросик, как заставить систему сканировать нужный
   мне диапазон
   В: Есть ли возможность сканировать разные подсети на разных
   серверах(находящихся в этих подсетях) для уменьшения нагрузки
   на каналы между подсетками. Ведь проще забирать готовый SQL
   файлик, чем сканировать удаленную подсеть с неОчень широким
   каналом до нее, особенно когда там 20 и больфе ФТП со средним
   размером 100Гб.
   В: У вас очень не оптимальная таблица!
   В: Не ищет слова менее 4х символов
   В: Как насчет web-админки?
   В: насколько безопасно прерывать индексацию?
   В: при поиске часто бывает что находит много (вроде бы) так как
   внизу появляется линейка 1 2 3 4 5 6 7 8 9 но! реально работают 1 и 2 ...
   остальные пустые
   В: есть графа ЖИВЫЕ и есть СЕРВЕРЫ народ понимает что серверы -
   это сколько всего серверов, а ЖИВЫЕ сколько щас из них
   работает... но тогда непонятно 57живых 43серверов ....
   В: с обозначениями в цветных квадратиках меня народ спросил что
   значит 48m 1d я ответил 48 минут 1 день... наугад если честно не понял
   что оно...
   В: от чего зависит цвет квадратика?
   В: как людям построить запрос конкретной фразы "firefox.1.6" ? как
   только не делали поисковик находит всё подряд.
   В: как заставить пересканить диапазон?
   В: Что такое рескан сети каждый час (первый вопрос в факе) ? Всех
   диапазонов, или проверка живости тех фтп-шников, которые
   отсканированы?
   В: Как из крона указать проверить статусы онлайн. crawler.pl --pingonly ???
   В: сколько времени займет crawler.pl purge Насколько безболезненно
   запускать это скажем раз в 2 для в 6 утра?
   В: Как часто нужно запускать проверку online-статусов хостов?
   В: У нас сеть состоит из большого количества диапазонов (штук 40).
   Как часто можно искать фтп-шники в такой большой сети??
   В: Что произойдет после сканирования всех фтп-шников? Если я
   зпускаю скан командой crawler.pl proc=3 ? Процесс ищезнет или будет
   висеть в памяти (вроде в windows он висит в памяти). Как сделать что
   бы он просто убивался?
   В: я забил вчера 294 фтп-шника в базу. Естественно
   просканировались чуть меньше сотни. Вопрос: когда начнется
   сканрование ресурсов, которые были недоступны в нужный момент?
   Через $config{'period'} (7 дней)?? Или кравлер будет пытаться
   просканировать через час, через два ?...
   В: nmap с самбой обязательно ставить?
   В: в скрипте есть возможность разрешить пользователям
   добавлять свои ресурсы в ручную?
   В: Можно ли сделать, что бы по дефолту показывал ТОЛЬКО
   ОНЛАЙН-ресурсы?
   В: Как сделать так чтобы в результаты поиска не попадали
   одинаковые директории много раз подряд
   В: как запустить скрипт чтоб он лишь проверил какие серваки
   включены?
   В: как заставить DC бот НЕ закачивать файллисты в базу после
   скачивания?
   В: Насчет чистки. 2. Нужно обязательно запускать crawler.pl с
   переменной purge ?
   В: 3. Или если я запустил crawler.pl proc=4 & то этого достаточно и он сам
   выполнит чистку через установленный промежуток?
   В: 4. И если все таки нужно запускать crawler.pl с переменной purge, то
   можно запустить все сразу? crawler.pl proc=4 purge &
   В: 5. И будет ли в таком случае purge выполняться каждые
   "$config{'purge_time'}" ?
   В: как добавить код счетчика на страницы
   В: чем отличается $config{'scan_timeout'} от $config{'period'}? я в confdef.pl заметил
   что $config{'scan_timeout'} = $config{'period'} - (3600*20) не совсем понятно для чего
   служит каждая переменная
   В: В базу заносятся русские имена файлов с неверной кодировкой
   В: почему в эксплорере стиль белый, а в опере черный
   В: я удалил папку с ftp, а при поиске она все равно находится.
   когда произойдет удаление?
   В: при попытке подключиться к локальному dc серверу, бот
   получает сообщение, что необходимо расшарить не менее 1 (2, 20, 60...)
   Gb для получения доступа. Можно ли это как-то обойти?
   В: как прикрутить index.cgi к php
   В: мне срочно не хватает вот ТАКОЙ фичи: .................................

В:

У вас дизайн плохой

О:

Дизайна вообще нет 8) Но есть возможность прикрутить любой дизайн
с помощью config.pl и CSS.

В:

У меня тормозит поиск

О:

Поиск не тормозит, тормозит mysql когда неправильно настроен или не
настроен вообще а база более ~1000000 файлов.

В:

есть кмс vBadvanced (к форуму vBulletin) с моим дизайном. хочется
подключить к этой кмс твой поисковик как страницу... есть
возможность подключения html и php файлов.... как поисковик запихнуть
в дизайн (кроме iframe)? :)

О:

1. выполнить из php скрипт index.cgi view=html ..параметры.. предварительно
отключив в конфиге вывод лишнего 2. забирать результаты поиска в
xml index.cgi view=xml .... или со страницы http://.../index.cgi?view=xml&... и парсить их 3.
iframe 8)

В:

Остался вопросик, как заставить систему сканировать нужный мне
диапазон

О:

Диапазон можно задать из коммандной строки (perl crawler.pl 10.10.10.10-20
10.10.20.10-20) из функции в config.pl из файла (на каждой строке по 1)

В:

Есть ли возможность сканировать разные подсети на разных
серверах(находящихся в этих подсетях) для уменьшения нагрузки на
каналы между подсетками. Ведь проще забирать готовый SQL файлик,
чем сканировать удаленную подсеть с неОчень широким каналом до
нее, особенно когда там 20 и больфе ФТП со средним размером 100Гб.

О:

Можно сделать красивее - на разных серверах делаем доступ к
одному серверу с mysql - и они сразу заливать будут в базу. на каждом
свою табличку ranges прописать - 1. создать таблицы perl crawler.pl install
--sql_tranges=ranges1 --sql_tresource=resource1 perl crawler.pl install --sql_tranges=ranges2 --sql_tresource=resource2
perl crawler.pl install --sql_tranges=ranges3 --sql_tresource=resource3 2. занести создать файлы
например diapazon1 diapazon2 diapazon3, perl crawler.pl --sql_tranges=ranges1 --sql_tresource=resource1
file=diapazon1 perl crawler.pl --sql_tranges=ranges2 --sql_tresource=resource2 file=diapazon2 perl crawler.pl
--sql_tranges=ranges3 --sql_tresource=resource3 file=diapazon3 3. настроить на каждом сервере
в config.pl на первом $config{'sql_tranges'} = 'ranges1'; $config{'sql_tresource'} = 'resource1'; втором
$config{'sql_tranges'} = 'ranges2'; $config{'sql_tresource'} = 'resource2'; третьем $config{'sql_tranges'} =
'ranges3'; $config{'sql_tresource'} = 'resource3'; и на всех не забыть $config{'sql_host'} =
'db.net.ru.com'; $config{'sql_user'} = 'search'; $config{'sql_pass'} = 'cooolpaas'; Правда будут
проблемы с top статистикой.. но это в todo 8)

В:

У вас очень не оптимальная таблица!

О:

Да, размер не оптимальный - mysql пока не дает удобной возможности
сделать хорошо. Но количество операций = время при
вставке-запросах минимально.

В:

Не ищет слова менее 4х символов

О:

Это настройка mysql по умолчанию. my.cnf или my.ini: [mysqld] ft_min_word_len = 1 после
perl crawler.pl repair

В:

Как насчет web-админки?

О:

Она уже есть. phpmyadmin называется ;)

В:

насколько безопасно прерывать индексацию?

О:

Любой скан будет начат заного через $config{'scan_timeout'} (по умолчанию 20
часов) ftp - при скане в recurse режиме безопастно - при прерывании
пишется ./var/xxx.toscan и при upload или следующем скане продолжается с
места разрыва dc - если не во время скачивания файллиста -
безопастно

В:

при поиске часто бывает что находит много (вроде бы) так как внизу
появляется линейка 1 2 3 4 5 6 7 8 9 но! реально работают 1 и 2 ...
остальные пустые

О:

Если посмотреть внимательнее - есть большие и маленькие цифры - в
больших точно что-то есть, в маленьких - как повезет. Связано с
тем, что подсчет точного количества результатов бывает в разы
дольше чем вывод одной страницы. Если очень нужно знать точное
количество - расширенный - E файлов [x] Или добавить к строке адреса
&count_f=on

В:

есть графа ЖИВЫЕ и есть СЕРВЕРЫ народ понимает что серверы - это
сколько всего серверов, а ЖИВЫЕ сколько щас из них работает... но
тогда непонятно 57живых 43серверов ....

О:

скан: ips - сколько просканировано ip в диапазонах (из таблицы ranges)
живые - сколько из них видно сейчас (включенные) серверы - на
скольких были обнаружены ресурсы

В:

с обозначениями в цветных квадратиках меня народ спросил что
значит 48m 1d я ответил 48 минут 1 день... наугад если честно не понял
что оно...

О:

первое число - сколько времени назад ресурс был виден живым (ping)
второе - сколько времени назад ресурс сканировался

В:

от чего зависит цвет квадратика?

О:

от времени последнего пинга

В:

как людям построить запрос конкретной фразы "firefox.1.6" ? как только
не делали поисковик находит всё подряд.

О:

Если нужно учитывать отдельные буквы или цифры - в конфиг mysql:
ft_min_word_len = 1 потом perl crawler.pl repair Но индекс от этого побольше будет. В
версиях начиная от 0.15.15 можно пошаманить с regexp 8-)

В:

как заставить пересканить диапазон?

О:

perl crawler.pl --force диапазон

В:

Что такое рескан сети каждый час (первый вопрос в факе) ? Всех
диапазонов, или проверка живости тех фтп-шников, которые
отсканированы?

О:

Всех диапазонов. Ну и живость заодно тоже проверится.

В:

Как из крона указать проверить статусы онлайн. crawler.pl --pingonly ???

О:

Да.

В:

сколько времени займет crawler.pl purge Насколько безболезненно
запускать это скажем раз в 2 для в 6 утра?

О:

Зависит от железа на котором это крутится и настроек mysql.
Попробуйте 8) Вполне безболезненно.

В:

Как часто нужно запускать проверку online-статусов хостов?

О:

А ее вообще нужно запускать? Онлайновость кстати проверяется в
момент выдачи результатов..

В:

У нас сеть состоит из большого количества диапазонов (штук 40). Как
часто можно искать фтп-шники в такой большой сети??

О:

Сканирование сотни диапазонов класса C раз в пол часа не вызывает
никаких проблем.

В:

Что произойдет после сканирования всех фтп-шников? Если я
зпускаю скан командой crawler.pl proc=3 ? Процесс ищезнет или будет
висеть в памяти (вроде в windows он висит в памяти). Как сделать что бы
он просто убивался?

О:

Процесс будет висеть, как придет время сканить - начнет сканить.
Также скан начнется например при добалении ресурса с web. proc
именно для этого и делался - постоянно в памяти висит заданное
количество процессов и занимаются чем положено 8)

В:

я забил вчера 294 фтп-шника в базу. Естественно просканировались
чуть меньше сотни. Вопрос: когда начнется сканрование ресурсов,
которые были недоступны в нужный момент? Через $config{'period'} (7 дней)??
Или кравлер будет пытаться просканировать через час, через два
?...

О:

Если $config{'scan_online_res'} = 1 - то как только ресурс будет замечен живым
например при сканировании диапазонов. Если $config{'scan_online_res'} = 0 - то
через $config{'period'}.

В:

nmap с самбой обязательно ставить?

О:

nmap нужен для автоматического сканирования ip диапазонов - если
забивать ресурсы вручную - то не надо. samba нужна для сканирования
виндовых шар - если они не нужны, то и самба не нужна.

В:

в скрипте есть возможность разрешить пользователям добавлять
свои ресурсы в ручную?

О:

Да, по умолчанию включено для локальных диапазонов, для
разрешения всем: $config{'web_add_mask'} = '.';

В:

Можно ли сделать, что бы по дефолту показывал ТОЛЬКО
ОНЛАЙН-ресурсы?

О:

$config{'default_param'}{'online'} = 0; $config{'force_param'}{'online'} = $config{'online_minutes'} if !defined
$param->{'online'};

В:

Как сделать так чтобы в результаты поиска не попадали одинаковые
директории много раз подряд

О:

$config{'table'}{$config{'sql_tfile'}}{'path'}{'fulltext'} = undef; потом drop install

В:

как запустить скрипт чтоб он лишь проверил какие серваки
включены?

О:

perl crawler.pl proc --once --pingonly --noscan_res --noscan_dcbot

В:

как заставить DC бот НЕ закачивать файллисты в базу после
скачивания?

О:

--dcbot_upload=0

В:

Насчет чистки. 2. Нужно обязательно запускать crawler.pl с переменной
purge ?

О:

нужно

В:

3. Или если я запустил crawler.pl proc=4 & то этого достаточно и он сам
выполнит чистку через установленный промежуток?

О:

недостаточно, не выполнит

В:

4. И если все таки нужно запускать crawler.pl с переменной purge, то можно
запустить все сразу? crawler.pl proc=4 purge &

О:

не нужно

В:

5. И будет ли в таком случае purge выполняться каждые "$config{'purge_time'}" ?

О:

нет он выполнится ровно 4 раза подряд (при запуске каждого
процесса по разу)

В:

как добавить код счетчика на страницы

О:

$config{'html_footer_top'} = q| тут код счетчика |;

В:

чем отличается $config{'scan_timeout'} от $config{'period'}? я в confdef.pl заметил что
$config{'scan_timeout'} = $config{'period'} - (3600*20) не совсем понятно для чего служит
каждая переменная

О:

период - частота сканирования таймаут - через сколько
пересканировать при оборванном скане

В:

В базу заносятся русские имена файлов с неверной кодировкой

О:

$config{'no_cp_detect'} = 1;

В:

почему в эксплорере стиль белый, а в опере черный

О:

Не пользуйтесь ie.

Или через конфиг возможно именить или прикрутить любой дизайн.

Мне не хочется возиться с багами ie6 и не хочется ставить и
проверять на ie7 по причине его платности.

В:

я удалил папку с ftp, а при поиске она все равно находится. когда
произойдет удаление?

О:

когда пройдет более

   |             
   |           $config{'purge_time'} ||= 3600 * 24 * 7; # delete if not scanned last (seconds). good value is $config{'period'} * 2
   |           

после запуска crawler.pl purge

В:

при попытке подключиться к локальному dc серверу, бот получает
сообщение, что необходимо расшарить не менее 1 (2, 20, 60...) Gb для
получения доступа. Можно ли это как-то обойти?

О:

Можно переопределять любые параметры DC протокола., config.pl.dist:

   |             
   | # $config{'fine'}{'dchub'}{'sharesize'} => '20g';      

В:

как прикрутить index.cgi к php

О:

virtual("/search/index.cgi?".$_SERVER['QUERY_STRING']);

В:

мне срочно не хватает вот ТАКОЙ фичи: .................................

О:

Разработка данной фичи стоит 10$ в час.

BUGS
====

Не бывает ПО без глюков. И у нас они есть. Но мы боремся. В данном
разделе описаны глюки самого поисковика и окружающих его
программ.

Если Вы обнаружили глюк: 1. Прочитайте данный раздел - возможно
решение уже есть 2. Для crawler - добавте в вызов --log_all например: perl
crawler.pl proc --log_all Для web - добавьте в адресную строку &debug=on например:
http://127.0.0.1/search/?q=xxx&debug=on 3. При обращении за помощю на форуме, по
почте или в jabber указывайте то, что появилось из пункта 2 и версии
ос, perl, mysql

           
             
                     
              uname -a
             mysql --version
             perl -V
                   
             
           

         

   1. nmap: Unable to determine what interface to route packets through to x.x.x.x
   2. net:ftp: В activestate perl старых весий под windows не работает timeout. Скан
   может зависнуть пока не пнут.
   3. crawler-samba: ' symol in description(m3u) file name samba dont get
   4. crawler-samba: старее 3.0.8 smbclient -d0 -N -c 'recurse;ls' "//10.10.10.10/pub" выводит
   только самый верхний уровень директорий, вложенные не
   показывает
   5. crawler-samba: иногда зависает и отжирает всю память
   6. crawler- freebsd auto start from rc.d На момент загрузки вероятно не найдется
   smbclient и nmap.
   7. mysql4-utf8 codepage install: SQL: error[1071,Specified key was too long; max key length is 1000 bytes]
   8. perl perl -v: This is perl, v5.8.6 built for i386-linux-thread-multi uname -a : Linux leet 2.6.11-1.1369_FC4 #1
   Thu Jun 2 22:55:56 EDT 2005 i686 i686 i386 GNU/Linux ошибки типа Undefined subroutine &main::full_host
   called at ./crawler.pl line 1225. Undefined subroutine &main::alarmed called at crawler.pl line 1939.
   9. apache error.log: [error] [client 192.168.137.41] Can't locate Time/HiRes.pm in @INC (@INC contains:
   10. win: activeperl: mysql.dll error after db connect on first command execution
   11. нет проигрывателя
   12. perl 5.6.1: Can't set DBI::db=HASH(0x86cb80c)->{PrintWarn}: unrecognised attribute or invalid value at
   /usr/local/lib/perl5/site_perl/5.6.1/mach/DBI.pm line 625.
   13. crawler dcbot 0.17.1: bot kick: Пожалуйста не флудите с помощью слишком
   частого получения списка пользователей! Don't flood with GetNickList !
   14. 0.17.1 index.cgi: Bizarre copy of ARRAY in aassign at lib/psmisc.pm line 149
   15. Вроде все делаю правильно но crawler.pl выдает: Please create config.pl with
   parametrs (see config.pl.dist) and correct modes [No such file or directory]
   16. 0.17.2 dcbot: не качает файллисты
   17. 0.18.2 mysql: $config{'cp_db'} = 'koi8-r'; : Unknown character set: 'koi8-r'
   18. 0.19.0: Cannot decode string with wide characters
   19. 0.19.1: cutted wrong ips in goto

1.

nmap: Unable to determine what interface to route packets through to x.x.x.x

- Не сканируйте x.x.x.x 8)

2.

net:ftp: В activestate perl старых весий под windows не работает timeout. Скан может
зависнуть пока не пнут.

Поставьте самый последний perl

3.

crawler-samba: ' symol in description(m3u) file name samba dont get

none

4.

crawler-samba: старее 3.0.8 smbclient -d0 -N -c 'recurse;ls' "//10.10.10.10/pub" выводит только
самый верхний уровень директорий, вложенные не показывает

- Обновите самбу до последней http://samba.org или freebsd:/usr/ports/net/samba3

5.

crawler-samba: иногда зависает и отжирает всю память

Добавить параметр -b1200 к smbclient например так:

   | $config{'smbclient'} = $config{'smbclient'} . ' -b1200 ';

6.

crawler- freebsd auto start from rc.d На момент загрузки вероятно не найдется
smbclient и nmap.

Решение:

   | $config{'smbclient'} = '/usr/local/bin/' . $config{'smbclient'}; $config{'nmap'} = '/usr/local/bin/'
   |           . $config{'nmap'};

где /usr/local/bin/ - путь к программам.

7.

mysql4-utf8 codepage install: SQL: error[1071,Specified key was too long; max key length is 1000 bytes]

   | $config{'sql_length_prot'} = 4; $config{'sql_length_name'} = 64; $config{'sql_length_path'} =
   |             128;

8.

perl perl -v: This is perl, v5.8.6 built for i386-linux-thread-multi uname -a : Linux leet 2.6.11-1.1369_FC4 #1 Thu Jun
2 22:55:56 EDT 2005 i686 i686 i386 GNU/Linux ошибки типа Undefined subroutine &main::full_host called at
./crawler.pl line 1225. Undefined subroutine &main::alarmed called at crawler.pl line 1939.

- perl по какой-то причине не видит папку . в @INC решение: в crawler.pl и
index.cgi: require 'lib/misc.pl'; заменить на require 'полный_путь_/lib/misc.pl';

9.

apache error.log: [error] [client 192.168.137.41] Can't locate Time/HiRes.pm in @INC (@INC contains:

закомментировать в index.cgi: use Time::HiRes qw(time); или обновить perl

10.

win: activeperl: mysql.dll error after db connect on first command execution

надо было подключить сторонний репозиторий в ppm как подключить:
http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/faq/ActivePerl-faq2.html сам репозиторий:
http://theoryx5.uwinnipeg.ca/ppms/package.lst и оттуда установить DBD::mysql Возможно это
уже решено в свежих версиях ActivePerl по умолчанию.

11.

нет проигрывателя

web player compat: ftp http file opera,firefox img,swf all none ie all all all firefox file:// plugin:
https://addons.mozilla.org/firefox/281/ or http://kb.mozillazine.org/Security_Policies and enable links:
$config{'no_download_file_firefox'} = $config{'no_goto_file_firefox'} = 0; $processor{'prot'}{'file'}{'view'} = 1 if
$config{'client_firefox'};

12.

perl 5.6.1: Can't set DBI::db=HASH(0x86cb80c)->{PrintWarn}: unrecognised attribute or invalid value at
/usr/local/lib/perl5/site_perl/5.6.1/mach/DBI.pm line 625.

$config{'sql_dbi_connect_params'} = { 'RaiseError' => 0, 'AutoCommit' => 1, 'PrintError'=>0, };

13.

crawler dcbot 0.17.1: bot kick: Пожалуйста не флудите с помощью слишком
частого получения списка пользователей! Don't flood with GetNickList !

$config{'dchub_param'}{'auto_GetNickList' } = 0;

14.

0.17.1 index.cgi: Bizarre copy of ARRAY in aassign at lib/psmisc.pm line 149

обновить перл до последнего

15.

Вроде все делаю правильно но crawler.pl выдает: Please create config.pl with parametrs
(see config.pl.dist) and correct modes [No such file or directory]

запускать перл из директории поиска

16.

0.17.2 dcbot: не качает файллисты

необходимо найти в crawler.pl 2 раза $config{'no_dl'} и заменить на $config{'__no_dl'}

17.

0.18.2 mysql: $config{'cp_db'} = 'koi8-r'; : Unknown character set: 'koi8-r'

$config{'sql'}{'koi8-r'} ='koi8r';

18.

0.19.0: Cannot decode string with wide characters

$config{'sql'}{'cp_int'} = 'utf-8';

19.

0.19.1: cutted wrong ips in goto

$config{'action_func'}{'gotoip'} = sub {};

Альтернативные поисковики
=================================================

           
             
                   
             lan:
             http://pro.setun.net/search             src
             http://findexer.sourceforge.net         src
             http://seek42.sourceforge.net           src
             http://www.nixp.ru/shurup/coding        src
             http://fsmbsearch.sourceforge.net       src
             http://lostclus.linux.kiev.ua/chestnut-ftp-search src
             http://ffsearch.sourceforge.net         src inactive
              http://femfind.sourceforge.net         src inactive
             http://wildhoney.netbynet.ru            src=http://gksus.nm.ru inactive
             http://www.strangesearch.net            src inactive
             http://ftpsearchagent.sourceforge.net   src inactive
             http://untzuntzlan.sourceforge.net      src inactive
             http://turtle.ee.ncku.edu.tw/ftplocate/readme.english.html src inactive
             http://codewalkers.com/seecode/157.html src inactive
             http://mt.boston.ru/                    src inactive  Mocus FTP Searcher
             http://www.zaval.org/products/file-search/index.html src inactive
             http://ftp-search.web-notes.ru/         src
             http://code.google.com/p/filefind/      src http://www.ffind.ru = http://ftp.onet.ru oldscan
             http://chestnut-ftp-search.org.ua/      src
             
             
             http://qfs.quadra.ru
             http://search.qwerty.ru/
             http://isuas.nkosino.ru                 300$
             http://zebra.asearch.info/ru            $
             http://ftpsearch.unilans.ru
             http://www.icn.bmstu.ru
             http://ftpsearch.ihome.net.ua
             http://wildhoney.netbynet.ru/svk/index.php http://locate.in.ua/
             http://www.yukh.ru/net/usearch
             http://portal.localka.ru/modules.php?op=modload&name=resources&file=index
             http://ftpsearch.deepweb.spb.ru/index.php?action=index
             http://ftps.rsspnet.ru/
             http://world.vesnet.ru/ftp/index.php
             http://www.2inet.ru/index.php?portal=filefind&st=filefind&search=
             http://homesearch.h15.ru windows borland
             http://tz.ints.ru/ftpsearch/
             http://ww.ints.ru/ftp/
             http://filesearch.nsu.ru/
             http://poisk.mosinter.net/
             http://www.crestyle.com.ua/poisk.html $ win
             http://go.giga.su/
             http://jip.punklan.net/
             
             one site:
             http://mirror.switch.ch:8000/ftpsearch
             http://forum.dklab.ru/perl/advises/DnsearchDenwerSearch.html src
             
             region:
             http://search.novgorod.ru/search.php?where=4  src=http://sergey.weblab.ru/projects/ffind inactive
             http://www.filebox.kiev.ua
             
             inet:
             http://proisk.ru
             http://www.filewatcher.com
             http://www.mmnt.ru
             http://www.files.lt
             http://www.searchfile.ru
             http://findfile.net                                         
             http://www.findmyfile.com
             http://www.fileindexer.com
             http://ftpsearch.elmundo.es  [FTP search]
             http://search.ftphost.net/indexer/search.aspx
             http://www.filesearching.com = http://www.filesearch.ru
             http://www.freewareweb.com/ftpsearch.shtml
             http://oth2.net
             http://oth.net
             http://files.fifaleague.ru = http://ru.findfile.net meta
             http://www.gegereka.com
             http://www.ftps.ru
             http://www.freewareweb.com/ftpsearch.shtml
             http://ftp.findthatfile.com
             http://globalfilesearch.net
             http://www.findfiles.net http
             
             http://reliz.ru = http://www.e-mp3.ru = http://pubftp.com RIP
             http://ftpsearch.rambler.ru/db/ftpsearch RIP
             
             
             catalog: 
             http://www.ftpsearchengines.com
             http://ligurio.blogspot.com/2007/02/blog-post.html
             
             
           

         

--eof--
