Thursday, December 19, 2013

Android as an FTP Client or Server

Sounds good. Now, how is it done?

There are a number of methods and apps that can turn your Android device into an FTP Client or an FTP Server, I will talk about ES File Explorer, as it performs both roles in a few easy steps. Before we get started, let's cover a couple definitions:

FTP Server: essentially, a folder on a computer that has been shared over the network and only accessible using FTP (File Transfer Protocol) using a FTP Client. A host name is issued, which is often just the IP Address of the server, and access to the folder/file structure is governed by credentials.

FTP Client: any application that is able to access a FTP Server. This can be a simple application, and is often handled with your basic Windows Explorer or a web browser.

FTP, and the associated secured versions SFTP and FTPS, are commonly used on the internet for many uses such as website file storage, shared storage for teams or families, and of course, wireless file transfers.

Android device as an FTP Server

ES File Explorer calls this functionality 'Remote Manager' - 'You can manage your device through your PC after you turn on this service.' The steps are very easy:

Start ES File Explorer and choose Remote Manager from the Tools tab in the left Main menu. I recommend that you change some settings before you get started. I like to make sure that 'close on exit' is turned on, it is more secure this way and conserves battery. The default port # is fine, but if you wish, go ahead and change it within the shown parameters, just please do not choose anything in the 8000's or 1234, it's just better that way. Set Root Directory, this is where you decide what folder you are about to share on the network. Personally, I opt to reduce my security by opening up my entire SD Card, I justify this because I am on a secured home network, keep it turned off when I am not using it and never share my credentials with others. You may choose to stick to a single safe folder, like Downloads, which is a smart move.

The final, and absolute most important setting to change before you first fire up the FTP Server, is the 'Set Manage Account' setting. You will need to assign a username and password that will be required to access the FTP. Without these credentials in place, anyone that can access your IP Address on the network will be able to see your files when the FTP Server is running.

With those few settings all cleared up, go ahead and hit the Start Server button, and you are done on this end, your Android device is now an effective FTP Server.

Android device as an FTP Client

To access an FTP Server, like the one on your Android device that you just setup, you will require an FTP Client. On a computer, as a general solution, I would recommend Filezilla, but if you run Linux, I highly recommend using your windows manager and bookmark the server. On Android, ES File Explorer handles this too.

In the left hand Main menu, in the Network tab, choose FTP. Choose New+ and fill in the required info. In the case of our Android FTP Server, the Server host will be something like, your port will be something like 3271, unless you changed it (keep it at 21 for a normal Computer based FTP server.) Enter the username and password that you had assigned and create a display name for the server, as these settings will be saved so that you can quickly connect next time.

Once the above is complete, you simply enter and navigate the folders of the FTP the same as you would the folders and files on your device or computer. Please keep in mind that this will consume a lot of network resources, and if your wireless network is weak, connectivity may fail, but if you are at least setup as the average home should be, you may now begin to transfer files to and from your FTP server using your FTP Client.

If you desire instruction on using Filezilla, please let me know, I would be glad to write this up. Also, if you desire a more specific step-by-step instruction for this, or any other Android functionality, please let me know in the comments below and I will do all I can to setup some tutorials.