java left logo
java middle logo
java right logo

Home arrow Java Applications
Main Menu
Java Tutorials
Book Reviews
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Java Network
Java Forums
Java Blog

Most Visited Tips
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Book Reviews
Top Rated Tips
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Book Reviews

Registered Users: 4118
Java SE Tips: 614
Java ME Tips: 202
Java EE Tips: 183
Other API Tips: 779
Java Applications: 298
Java Libraries: 209
Java Games: 16
Book Reviews:
FTP Server E-mail
User Rating: / 17

This is a fully featured FTP server written in Java. It is an implementation of RFC 959. The design is really modular and the server is fully customizable. Using it you can share files over the Internet. This server is now a part of Apache Avalon project.

  • 100% pure Java, open source resumable FTP server!!!
  • Multi platform support and multithreaded design.
  • It can be deployed in multi-homes machines.
  • User virtual directory, write permission, idle time-out and upload/download bandwidth limitation support.
  • You can monitor all the ftp connections, user activities in real-time.
  • Handles both ASCII and binary data transfers.
  • Both upload and download files are resumable.
  • Supports PASV mode. Passive ports are configurable.
  • IP restriction support. You can use a limited set of regular expressions (*?[^-]) to specify the allowed/banned IPs.
  • Supports SITE commands. Use SITE HELP to get the available commands.
  • Anonymous login support. Default users admin/admin and anonymous will be created by the server when you start it for the first time.
  • The server reloads the user data at a regular interval if necessary.
  • Database and LDAP can be used to store user data.
  • New user managers can be added very easily by overriding ranab.server.ftp.usermanager.UserManager class.
  • For better performance the server can be started without any user interface by executing java ranab.server.ftp.FtpServer .
  • You can encrypt the password in property file based user manager by specifying FtpServer.server.config.prop.encrypt key. The encryption algorithm is MD5.
  • Database based user manager will try to create the user table FTP_USER if not found. You can create it manually by executing apps/ftp/conf/ftp-db.sql file. I have tested it using MySQL and Oracle database.
  • If you want to use LDAP to store and authenticate user, you need to change the LDAP schema and the config file. The schema file is ftp-db.ldif. I have tested it using Netscape LDAP (version 4.1).
  • Tested with different FTP clients like Internet Explorer, Netscape Navigator, cuteFTP, SmartFTP, LeechFTP, WsFTP etc.
  • If you are using property file based user manager, make sure that the user property file is not accesible by the FTP users. Otherwise it will be a security problem. Keep it below the user virtual root directory.

Licence: Apache License

 Related Tips

Next >

Page 1 of 0 ( 0 comments )

You can share your information about this topic using the form below!

Please do not post your questions with this form! Thanks.

Name (required)

E-Mail (required)

Your email will not be displayed on the site - only to our administrator

Comment Enable HTML code : Yes No

java bottom left
java bottom middle
java bottom right
RSS 0.91 FeedRSS 1.0 FeedRSS 2.0 FeedATOM FeedOPML Feed

Home - About Us - Privacy Policy
Copyright 2005 - 2008
Java is a trademark of Sun Microsystems, Inc.