FTPSearch - ftp indexing engine... SourceForge Logo
| About | News | Download | Documentation | FAQ | Author |


Unpack package into destination directory.
Edit FTPSearch.properties. All values meanings gived in configuration section. To connect to database you need compiled JDBC driver. Currently there are 3 versions of driver standart available: JDBC 1.0 wich suits JDK1, JDBC 2.0 wich used in JDK2 (java version 1.2.0 or greater) and JDBC 3.0 wich proposed in Merlin (java version 1.4). You need correct driver to be copied an compiled. Additional information about drivers can be found here. For Mysql we recomend you to use org.gjt.mm.mysql package wich available from download page or via it's homepage. For Postgre there is also JDBC (both for JDK1 and JDK2) available from download section or via home page of jdbc for postgre. Additional information can be found at JDBC Drivers page supported by SUN. Drivers should be placed within main directory of FTPSearch.

Compile project using "javac FTPSearch.java" syntax. Warnings about deprecation are ok. The next step to do is to compile face for it. FTPSearch consist of two parts: first - the indexer by itself which gathers information from ftps and stores it within database, second - small program written on C language which suits to pull results of user's query. Compilation tested under gcc, others may have a problem due early alfa-stage of this part of product.

Also you need to configure mysql or postgresql to gave access to chosen database to specific user under wich FTPSearch will be working. Refer to documentation of databases for this question.

First Run:

Run FTPSearch by "java FTPSearch -i" command - this should create tables, indexes and so on. Some error may occure during first run - it is shared with table drop syntax - if you don't have table here is nothing to drop... Re-run it again with same key - if no error occure than everything is ok.


First of all, insert data into hosts table. There are following fields available:
Hostname - this field defines ftp host name. No ftp:// needed before host and no slashes allowed after, i.e. ftp://hostname.com/ will cause error. Correct string will be just hostname.com.
User - ftp user string.
Password - ftp password.
Rescan_Time - rescan time in milliseconds. For example, specifying 1000000 will cause rescanning of this ftp after 1000 seconds till last scan starts. Proxy - default value of this field is an empty string which means that there is direct connection to this host available. For connection via socks proxy specify host and port, i.e. socks.proxy.com:1080. For HTTP proxy syntax will be http://http.proxy.com:8888. No slashes or backslashes needed at the end. Http proxy was not heavily tested, but i hope that everything shoul be ok.
Max_thread - maximum of threads exploring this ftp For all databases basicaly enought to use "insert into hosts (hostname) values('hostname.com')" construction. For advanced usage try "insert into hosts (hostname,user,password,rescan_time,max_thread) values('hostname.com','anonymous','e@mail.com',5000000,1)" This inserts hostname.com with user 'anonymous' and password 'a@b.com' into database. This ftp will be rescanning each 5000 seconds by 1 thread. Such construction can be re-used with Postgre (exept "'user'" instead "user"). Refere to 'FTPSearch.properties' for field structure.
After inserting a data simply run FTPSearch by "java FTPSearch -r" command.


FTPSearch indexes info into two storage - to SQL database for management and to data/ directory for searching purpose. Compile engina and place index.php and engina executable within your public html access directory. Then place data catalog there or simply make link to it. The system is ready to work. Refer to your http daemon documentation to set up work with php.

Made by Dmitry Krasnikov