Copyright © 2003-2011 Oleg Alexeenkov, <proler(at)gmail.com>
Содержание
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
Crawler
ВНИМАНИЕ! рекомендуемая минимальная версия 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
ActivePerl Установлен
install DBD-mysql
install FCGI
install Net-DirectConnect
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.
Настройка под 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-)
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/
web/.htaccess.dist
в
web/.htaccess
web/.htaccess
http://www.insecure.org/nmap/nmap_download.html
WIN32:dont forget:
$config{'nmap'} = 'c:/progra....../nmapwin/nmap';
желательно добавить в реестр:
regedit c:\progra......\nmapwin\nmap_performance.reg
smb.conf
:
[global] unix charset = koi8-r dos charset = cp866 display charset = UTF8
Необходим для обработки файллистов DC++.
Под windows придется скачать и поставить.
Например из http://unxutils.sourceforge.net/или http://cygwin.com/
В 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 есть несколько готовых пакетов apache+perl+mysql+... если есть желание, время и нервы - можете попробовать установить поиск под ними. а если есть умение - можно поставить все по отдельности.
http://en.wikipedia.org/wiki/Comparison_of_WAMPs
http://www.apachefriends.org/en/xampp-windows.html
http://www.devside.net/server/webdeveloper
http://swissknife.bougakov.com
http://www.denwer.ru: http://www.denwer.ru/dis/Base/+ http://www.denwer.ru/packages/perl.html
Но не забудьте поставить nmap
При желании можно поставить почти все в 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
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';
для более корректного отображения таких ресурсов.
Если вы не хотите использовать один из протоколов (например
samba(share) (file://)) то напишите в config.pl
для crawler.pl
:
$processor{'prot'}{'file'}{'disabled'} = 1;
Необходимо загрузить в базу данных диапазоны и/или ресурсы
которые будем сканировать: создаем файл, например 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
Вытаскивает диапазоны или ресурсы с вражеских поисковиков,
форумов, списков, итд 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
flush
mysql
analyze
mysql
optimize
mysql
mystatus
mysql 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/
Для очистки базы от мертвых ресурсов желательно запускать
каждый день-неделю-... [пожже это будет встроено в proc и будет
выполняться само]
perl crawler.pl purge
При желании, и если это будет иметь результаты в скорости
поиска-вставки можно запускать
perl crawler.pl optimize
Бот встроен в 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
По умолчанию автоопределение. Многие браузеры кроме оперы 8)
по умолчанию отдают язык en.
Если иногда бывают настоящие en пользователи можно так:
$config{'lng_default_auto'} = 'ru'; # if autodetect fail - use ru
Если en пользователей не бывает - лучше убрать автоопределение так:
$config{'lng_default'} = 'ru'; # disable autodetect, use ru
(ручное переключение языка работать будет)
Если необходимо сканировать 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.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
Не все параметры из конфига можно переопределить из
коммандной строки. Например $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)
... Ставил поисковик на последний 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 не трогался
В результате все везде ищется и показывается нормально ...
Не бывает ПО без глюков. И у нас они есть. Но мы боремся. В данном разделе описаны глюки самого поисковика и окружающих его программ.
Если Вы обнаружили глюк:
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
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