Complete Suitability for your Java File Transfer Projects

edtFTPj/Free has a rich feature set that ensures its suitability for your Java file transfer projects. It is a mature, reliable library that has proven itself over time. Some of its advantages are:

  • Robust and proven FTP library for Java
  • Supports resuming of transfers, active and passive mode, binary and ASCII
  • Open source so source code is included
  • Free for commercial use (under the LGPL license)
  • Option of purchasing a non-GPL license and support is always available

Do you need to upgrade to secure transfers?
Then purchase edtFTPj/Pro and receive:

An FTP and FTPS client for.NET &.NET Standard, optimized for speed. Provides extensive FTP commands, File uploads/downloads, SSL/TLS connections, Automatic directory listing parsing, File hashing/checksums, File permissions/CHMOD, FTP proxies, FXP support, UTF-8 support, Async/await support, Powershell support and more. Roxen WebServer 3.3 is a full-featured open-source http and ftp server distributed under the GPL license. It runs on a number of different operating systems including Linux, Solaris Mac OS X and Windows. Some of the strong points of this server are: Open source code. A web-based interface for easy configuration and administration. FileZilla is a free, open-source FTP client for Windows, Mac, and Linux. Due to its price tag (or lack thereof), cross-platform support, and ease of use, FileZilla is a go-to option for many users.

  • FTPS (explicit and implicit modes)
  • SFTP and SCP (secure copy)
  • Multiple protocols in one class
  • Multiple, simultaneous transfers by use of FTP connection pools
  • Royalty-free licensing
  • Source-code (option to purchase)
  • One year support

Useful links

  • Support for all standard and many optional FTP operations and support for a very wide range of FTP servers
  • Support for passive and active modes
  • Resuming of binary transfers that have partially completed
  • Simple but extensive API analogous to a command-line FTP program
  • Includes full source code
  • Integration with log4j
  • Compatible with Java 1.4 and higher versions
  • Non-LGPL licenses can be purchased if required

FTP is a service that allows the transferring of files from one computer to another. The criteria for the transfer of files through FTP to work is the computer that will be receiving and hosting files needs to run an FTP server while the other computer that transfers or manages the files on the server will require an FTP client software. There are quite a few FTP server applications available and one of the most popular is FileZilla because it is free, open source and still actively being developed.

We’ve previously covered how to install and configure an FTP server using FileZilla and Xlight. The mentioned FTP server software is rich in features but thankfully the friendly graphical user interface helps to make the configuration process easier. However, if for some reason you’re looking for a really simple piece of FTP server software which takes seconds to get up and running and is in a single executable file, here we have 5 solutions for you.

1. FTPDMIN

Getting an FTP server running can’t get any easier than this. Simply download the ftpdmin executable file and run it. By default it uses the default FTP port 21, shares the root of the drive where ftpdmin is run from and accepts anonymous connections. The last time FTPDMIN got updated was 10 years ago but it still works in Windows 7.

As easy as it is to use, you shouldn’t keep FTPDMIN running all the time as it would pose a huge security risk. It would be best to immediately terminate the program once you’ve finished transferring the files. Some of the available command line options are the availability to change the control port, transfer port range, disabling upload and setting the root directory. The source code is also available to download from the official FTPDMIN website.

Download FTPDMIN

2. IndiFTPD

IndiFTPD works similarly to FTPDMIN where it can be as easy as running the single executable file and IndiFTPD automatically enables an FTP service on port 21 allowing the user “anonymous” with any password to have full access starting from the folder where the program is located.

In terms of options, IndiFTPD has slightly more command line options if compared to FTPDMIN. You can load an external file containing a list of users to allow access with different permissions and also enabling logging with 6 different logging levels. IndiFTPD has not been updated since 2004 but was tested and works on Windows 7.

Download IndiFTPD

3. Swiss File Knife

Old and abandoned FTP server software can have security bugs which can be exploited by hackers to gain access to the computer running the program. For a more stable and updated single executable portable FTP server, Swiss File Knife would be the best choice. Not only can Swiss File Knife enable an FTP service, it is also a collection of commands relating to system such as copy/delete/deltree/treesize/sync/etc, conversion, text processing, search and compare, networking, scripting, development, and others.

The command line argument to instantly enable the FTP server service with Swiss File Knife that accepts any user connections is as follows:

sfk172.exe ftpserv -rw

Do take note that you will need to change the 172 from the filename accordingly to reflect the current downloaded version. To get the list of available command line options for Swiss File Knife FTP server service, type sfk172.exe ftpserv -h or visit the official online help page.

Download Swiss File Knife

4. SlimFTPd

SlimFTPd is slightly different compared to the others because it is able to run completely silent in background and can be configured to auto start with Windows as a system service and the options are configured through an external configuration file. Unfortunately SlimFTPd doesn’t work right out of the box and requires some modification to the configuration file to work. You’ll need to uncomment (remove the #) the highlighted part and make changes accordingly, especially the mount point to reflect the location that you want the user to have access to. Changing the permissions to Allow / All will give the user full permission.

Do note that due to the SlimFTPd’s capability of running invisibly, some antivirus software might trigger a warning that it is a riskware (A riskware is not necessarily a virus or malware). In fact, both Firefox and Chrome web browsers block the file from being downloaded in the first place. A small ServiceTool.exe program can be used to install and uninstall SlimFTPd as a system service.

Download SlimFTPd

5. Internet Information Services (IIS)

Web Ftp Open Source

IIS is a web server by Microsoft that supports an FTP server service and comes in the Windows operating system but is not enabled by default. This would mean that there is no need to download or install any third party software and you can get an FTP service running by enabling it and changing some configuration settings.

To enable FTP server in IIS, press WIN+R, type OptionalFeatures.exe in the Run window and click OK. Expand Internet Information Service > FTP Server > and select FTP Service. You will also need to expand Web Management Tools and select IIS Management Console. Click OK and Windows will start to install and enable the necessary features to enable the FTP server service.

Once the installation has been completed, again press WIN+R, type InetMgr.exe into the run window and click OK. At the left pane, expand one level and you should see a folder with the name “Sites”. Click on Sites and at the right pane, click “Add FTP Site“. Enter a site name, browse the path that you’d like to serve as a starting point in the FTP server and click Next. At Binding and SSL Settings, make sure to select “No SSL” and click Next. To allow anonymous connection, select Anonymous for authentication, select Anonymous users for authorization and finally enable the read and write permissions.

Users can now connect to the FTP server. Make sure the user is logged in under the user account “anonymous” with any password even though there is a message asking to use email as password.

You might also like:

How To Install and Configure FTP Server in WindowsGuide to Install Free SME Server Linux Operating System as File ServerSilently Push Install VNC Server to Remote ComputersChange Apache Server Port 80 in XAMPP, WAMP Server, UwAmp, UniServer and MAMP2 TCP Scannners to Accurately Detect Alive VNC Server

Web Ftp Open Source Server

Petesimon1 year ago

get busybox (.exe) for Windows or *nix from the busybox dot net website and run this command:
busybox tcpsvd -vE 0.0.0.0 21 busybox ftpd -w /

Reply

Web Ftp Open Source File

Dear Raymond,
Thank you for your blog on ftp servers.
I would like to experiment with using the ftp server on my laptop in order to communicate/send files to another machine connected via a network cable. That is a wired network connection between my laptop and another machine.
Questions please;
* How does one set the IP address of the ftp server. According to c:ipconfig /all, my laptop’s ethernet address is 169.254.115.170.
* I assume that the machine’s IP address is 0.0.0.0. But for the machine to communicate with my laptop, must I set the address to 169.254.115.170
* I would like my ftp server on my laptop to serve a file, say myfile.bin to another machine.
– how do I instruct the ftp server to serve a file from a specific location on my computer. For example
myfile.bin is located in c:tempmyfile.bin.

Thank you,
Anthony, of Sydney NSW

Reply
Saphia Delik1 year ago

Your questions cannot be answered without you provide further information regarding your circumstance.

I assume you have two computers. One is your laptop running Windows 7; the other is another computer also running windows 7. Your laptop runs an ftp server, says the “FTPDMIN” that Ray mentioned in his article above. The other computer runs an ftp client. Your laptop is connected to the other computer directly using network cable. Your network cable was modified to a crossover network cable. There is no network router, hub or switch in between.

With those assumptions, your laptop’s IP address needs to be set to 192.168.0.1 and the other computer’s IP address needs to be set to 192.168.0.2.

If your “myfile.bin” is located in “c:tempmyfile.bin”, you need to copy and run “FTPDMIN” from “c:temp”. You point the ftp client on your other computer to 192.168.0.1, which is your laptop’s IP address, and now you can browse and download your myfile.bin from your laptop on your other computer.

Reply

Leave a Reply