Download Latest Version FTPProxy-1.4.2.zip (6.8 MB)
Email in envelope

Get an email when there's a new version of Itilect FTP Proxy

Home / 1.4.2
Name Modified Size InfoDownloads / Week
Parent folder
FTPProxy-1.4.2.zip 2012-10-18 6.8 MB
README.txt 2012-10-18 4.2 kB
CHANGELOG.txt 2012-10-15 1.3 kB
Totals: 3 Items   6.8 MB 0
README file for Itilect FTP Proxy.



0. TERMINOLOGY

"profile" - User profile to access proxy
"account" - Stored FTP account, that is used by proxy as an actual target



1. HOW TO PREPARE

You'll need Oracle JRE 1.7 or later (yep, sorry about that). If you use
JRE from other vendor, LDAP integration is not guaranteed to work



2. HOW TO RUN

Application can be run in two different modes:

1) GUI mode for administration purposes. Starting application in this mode
   doesn't automatically start server.
2) Server mode. Aside from password prompt, it's non-interactive.

Since application is written in pure Java, you'll need "java" to run it.
GUI mode is default and requires no arguments, so the launch command will be:

	java -jar FTPProxy.jar

from the application folder (default double-click action).
Server mode is specified by two arguments: "server" (or "-server"), optionally
followed by internal admin password. If you don't specify it, it will be
prompted:

	java -jar FTPProxy.jar -server
	java -jar FTPProxy.jar -server mypassword


2.1 RUN DETAILS

Application can be started twice in different modes simultaneously.
Any saved changes will be applied immediately, no server restart is needed.

WARNING: already established connection won't be interruted! Even if you've
         just disallowed those of a kind. If you worry about that, restart the
         server.


2.2 DATA STORAGE

Database is a single file stored in the application directory itself.
All passwords are encrypted using internal admin password.
By dafault, server (if used in local database mode) shares the database to
the outside. Shared database can be accessed remotely using VJDBC.
Remote users will be prompted for password (not for a secret question)
To disable database sharing, set JDBC port to -1.
To establish a remote database connection, change "path" in options.ini to
<aliasOrIp>:<jdbcPort> format



3. HOW TO SET UP

To fill in the actual data, the application provides a Swing GUI (no CLI,
sorry).
If you wandering about launching it, see HOW TO RUN section above.
For a detailed GUI description, see README_GUI.rtf file in the same folder.



4. HOW TO CONNECT

Connection target should be FTPProxy-server address (default port is 31)
Auth credentials are login in form:
	profileName$ftpAccountAlias
or
	profileName$ftpAccountId
and a profile password.


4.1 CONENCTION PROCESS AND ERROR MESSAGES

If input was malformed:
	421 Login must be supplied in form profile$alias.

If profileName wasn't found:
	530 Incorrect profile name

If profile pasword doesn't match:
	530 Incorrect profile password
(Note: almost any other 530 message will mean that auth was denied by
remote FTP host)

If profile don't have priveleges to access host OR if provided host
wasn't found:
	421 Your profile have no permissions to access this host

If connection to a remote host failed:
	421 Cannot conenct to host: <Error reason>

Otherwise server establishes conenction and starts to act as a proxy.



5. LDAP DETAILS

During import, users are retrieved via "(objectClass=user)" search.
For groups, "(objectClass=group)" is used.
To check username/password supplied during incoming connection,
application attempts to login to a LDAP server using it.
This won't work if LDAP limits user to some specific workstation.
I admit it's a major drawback, but I just have no idea how to
implement it using JNDI LDAP. 



6. TROUBLESHOOTING

Q: Active Directory import fails with "PartialResultException ->
   CommunicationException : <Active Directory Domain>:389 :
   UnknownHostException : <Active Directory Domain>"
A: Such behaviour has been seen on Linux machines. The reason is
   that Windows and Linux handles LDAP redirection differently.
   As a workaround, try using port 3268 (like ldap://192.168.0.1:3268/)
   For more info, see:
   https://bugzilla.redhat.com/show_bug.cgi?id=582471
   http://www.jspwiki.org/wiki/ActiveDirectoryIntegration
   
Q: Trying to use Active Directory yields ClassNotFoundException
A: For now, LDAP integration is only supported on a Oracle JRE family
   due to Sun-dependant packages.
Source: README.txt, updated 2012-10-18