Pro-search reference manual

Free open-source file search engine


Содержание

1. Вступление
1.1. Возможности
2. Установка
2.1. Скачать
2.2. Софт
2.2.1. perl
2.2.2. mysql
2.2.3. PostgreSQL
2.2.4. apache
2.2.5. mod_perl
2.2.6. nmap
2.2.7. samba
2.2.8. rsync
2.2.9. bzip2
2.2.10. freebsd
2.2.11. windows
2.2.12. cygwin
2.3. Настройка
2.3.1. Коротко о главном
2.3.2. основные понятия
2.3.3. Пути
2.3.4. Файлы конфигурации
2.3.5. база данных
2.3.6. общая часть
2.3.7. файлы
2.3.8. sql
2.3.9. паук
2.3.10. dc
2.3.11. web
2.3.12. advanced
3. руководство пользователя
3.1. основная строка запроса
3.2. уточнить..
3.3. результаты
3.4. добавление ресурса
4. api
5. FAQ
6. BUGS
7. Альтернативные поисковики

1. Вступление

1.1. Возможности

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

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

Не распространяется публично:

  • Средства для обеспечения возможности работы с базами содержащими более 100 миллионов файлов


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

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

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

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

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

Также принимаются благодарности на WMZ419798751917 и WMR783677313448

2. Установка

2.1. Скачать

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
http://svn.setun.net/dcppp/trac.cgi/browser/trunk-> Download in other formats: Zip Archive
директорию dcpppнеобходимо положить в корневую директорию (к crawler.pl) и в ./web

2.2. Софт

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

Web

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

Crawler

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

2.2.1. perl

ВНИМАНИЕ! рекомендуемая версия perl - 5.8.8 или выше. В остальных возможны ошибки. Если нет возможности установить свежий перл - возможно придется менять our->use vars, open(x,y,z)->open(x,y.z)

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

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

Для 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
ActivePerl Установлен

2.2.2. mysql

http://dev.mysql.com/downloads/mysql/5.0.html
http://dev.mysql.com/downloads/mysql/5.1.html
freebsd:
mysql 5.0 confiure for russian language:
sh configure --prefix=/usr/local/mysql --with-charset=cp1251 --with-extra-charsets=complex --with-collation=cp1251_general_ci
mysql: to set '_' as not word symbol
mysql-x.y.z/myisam/ft[_]defs.h :

        - #define true_word_char(s,X)   (my_isalnum(s,X) || (X)=='_')
+ #define true_word_char(s,X)   (my_isalnum(s,X))

mysql-x.y.z/# make all install
my.cnf или my.ini:

        
  [mysqld]
  ft_min_word_len = 1
  ft_stopword_file=''
  #default-character-set = cp1251
  #init_connect          = "set names 'cp1251';"
  #TESTING# max_seeks_for_key    = 1000
  #TESTING# max_write_lock_count = 100
  #TESTING# myisam_max_sort_file_size = 15G
  #TESTING# myisam_sort_buffer_size = 256M

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

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

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

2.2.3. PostgreSQL

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

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

Настройка под freebsd: cd /usr/ports/databases/postgresql83-server/ && make install cd /usr/ports/databases/postgresql-contrib/ && make install 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-)

2.2.4. 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/

2.2.5. mod_perl

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

2.2.6. 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

2.2.7. samba

поддержка русских имен

smb.conf:

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

2.2.8. rsync

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

2.2.9. bzip2

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

2.2.10. 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/mysql50-server && make install clean BUILD_OPTIMIZED=yes BUILD_STATIC=yes WITH_CHARSET=cp1251 WITH_COLLATION=cp1251_general_ci
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/samba3 && 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

2.2.11. windows

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

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

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

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

http://topserver.ru

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

http://swissknife.bougakov.com

http://pampa.phpsoft.it

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

2.2.12. 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:
 perl -MCPAN -e "install DBI, Bundle::DBD::mysql, Net::FTP, LWP, URI, FCGI"
if Bundle::DBD::mysql report error run:
 perl -MCPAN -e shell
 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:
                

2.3. Настройка

2.3.1. Коротко о главном

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


            
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

2.3.2. основные понятия

2.3.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

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

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

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

2.3.5. база данных

Допустим база будет называться 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-)

2.3.6. общая часть

2.3.7. файлы

Используемые файлы:
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';

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

2.3.8. sql

2.3.9. паук

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

$processor{'prot'}{'file'}{'disabled'} = 1;
2.3.9.1. периоды
2.3.9.2. dns
2.3.9.3. данные

Необходимо загрузить в базу данных диапазоны и/или ресурсы которые будем сканировать: создаем файл, например 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

2.3.9.4. 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 на каждой строчке по ссылке на страницы/файлы

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

Внимание! паука можно запускать только из его директории. из других мест работать не будет. Если нужно запустить например из крона - 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

2.3.9.6. запуск

запускаем один или несколько процессов сканирования (например 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/

2.3.9.7. purge

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

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

2.3.9.8. разное

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

perl crawler.pl upload

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

2.3.10. 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

2.3.11. web

2.3.11.1. дизайн
2.3.11.2. Язык

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

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

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

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

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

2.3.12. advanced

2.3.12.1. 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

2.3.12.2. Оптимизация

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

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 будет задумываться только о новых файлах.

2.3.12.3. графики через 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/>';

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

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

2.3.12.5. Хочу запустить один 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)

2.3.12.6. Как использовать utf везде


... Ставил поисковик на последний 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 не трогался
 В результате все везде ищется и показывается нормально ...

      

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

3.1. основная строка запроса

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

3.3. результаты

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

4. api

5. FAQ

В: У вас дизайн плохой
В: У меня тормозит поиск
В: есть кмс vBadvanced (к форуму vBulletin) с моим дизайном. хочется подключить к этой кмс твой поисковик как страницу... есть возможность подключения html и php файлов.... как поисковик запихнуть в дизайн (кроме iframe)? :)
В: Остался вопросик, как заставить систему сканировать нужный мне диапазон
В: Есть ли возможность сканировать разные подсети на разных серверах(находящихся в этих подсетях) для уменьшения нагрузки на каналы между подсетками. Ведь проще забирать готовый SQL файлик, чем сканировать удаленную подсеть с неОчень широким каналом до нее, особенно когда там 20 и больфе ФТП со средним размером 100Гб.
В: ошибка при запуске с перл 5.0
В: У вас очень не оптимальная таблица!
В: Не ищет слова менее 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)

В:

ошибка при запуске с перл 5.0

О:

обновите перл 8-)
или можно в crawler.pl и index.cgi заменить все вторые запятые (где они есть)
на точки в вызовах open например
open(I, '>>', $current_name_work) на
open(I, '>>'. $current_name_work)
смотреть тут ^

В:

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

О:

Да, размер не оптимальный - 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$ в час.

6. 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. При обращении за помощю на форуме, по почте или в icq указывайте то, что появилось из пункта 2 и версии ос, perl, mysql


        
uname -a
mysql --version
perl -V
      

6.1. nmap: Unable to determine what interface to route packets through to x.x.x.x
6.2. net:ftp: В activestate perl старых весий под windows не работает timeout. Скан может зависнуть пока не пнут.
6.3. crawler-samba: ' symol in description(m3u) file name samba dont get
6.4. crawler-samba: старее 3.0.8 smbclient -d0 -N -c 'recurse;ls' "//10.10.10.10/pub" выводит только самый верхний уровень директорий, вложенные не показывает
6.5. crawler-samba: иногда зависает и отжирает всю память
6.6. crawler- freebsd auto start from rc.d На момент загрузки вероятно не найдется smbclient и nmap.
6.7. mysql4-utf8 codepage install: SQL: error[1071,Specified key was too long; max key length is 1000 bytes]
6.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.
6.9. apache error.log: [error] [client 192.168.137.41] Can't locate Time/HiRes.pm in @INC (@INC contains:
6.10. win: activeperl: mysql.dll error after db connect on first command execution
6.11. нет проигрывателя
6.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.
6.13. crawler dcbot 0.17.1: bot kick: Пожалуйста не флудите с помощью слишком частого получения списка пользователей! Don't flood with GetNickList !
6.14. 0.17.1 index.cgi: Bizarre copy of ARRAY in aassign at lib/psmisc.pm line 149
6.15. Вроде все делаю правильно но crawler.pl выдает: Please create config.pl with parametrs (see config.pl.dist) and correct modes [No such file or directory]
6.16. 0.17.2 dcbot: не качает файллисты
6.17. 0.18.2 mysql: $config{'cp_db'} = 'koi8-r'; : Unknown character set: 'koi8-r'
6.1.

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

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

6.2.

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

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

6.3.

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

none

6.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

6.5.

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

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

$config{'smbclient'} = $config{'smbclient'} . ' -b1200 ';
6.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/ - путь к программам.

6.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;
6.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';

6.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

6.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 по умолчанию.

6.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'};

6.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, };

6.13.

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

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

6.14.

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

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

6.15.

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

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

6.16.

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

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

6.17.

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

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

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


      
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://ftpsearch.rambler.ru/db/ftpsearch
http://www.searchfile.ru
http://findfile.net
http://reliz.ru = http://www.e-mp3.ru = http://pubftp.com
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

catalog: 
http://www.ftpsearchengines.com
http://ligurio.blogspot.com/2007/02/blog-post.html