Categories
Tech

How to transfer files between any device on your network; Mac, Windows, ChromeOS, Linux, Android, iOS, etc.

This open protocol from the 1900s works on practically everything.

I see a lot of articles on other tech sites about cross-platform and cross-device file transfer problems. For example, there’s this article on XDA developers.  Here’s another article on TNW about Google making yet another file transfer protocol.  It makes me wonder, “Do people not know about the standard File Transfer Protocols anymore?”  I mean, good old FTP has been built into all desktop computers already for decades. Its first specification was written in 1971, but has been upgraded a few times since then. File Explorer on Windows and the Finder on MacOS have had FTP support integrated for at least 20 years. Many of the cross-platform file transfer options I’ve seen suggested in dozens of other “tech” articles online require both devices be connected to the same local (WiFi) network, or in the case of iCloud; use a 3rd party cloud storage service. If we’re on the same network anyway, might as well use standard FTP.  Sometimes I see comments on social media saying something similar, so at least some people out there do know how to use good old FTP, but the proliferation of file transfer frustration articles seems to indicate that the majority don’t know about the basics that the internet was built on.

FTP used to be used on the internet for sharing files globally, but today it’s a very old insecure protocol. Instead, most of what FTP used to do on the internet has been replaced by web applications that use HTTP and HTTPS along with some back-end software to handle the file operations. We do also now have SFTP (Secure File Transfer Protocol) and FTPS (File Transfer Protocol Secure), but those are a bit more complicated. On your own internal local network where your devices aren’t going to be exposing the FTP protocol to the open internet, it’s totally fine to use it for transferring files between devices. Everything you do with it is behind your router’s firewall anyway. As long as you don’t point a public facing router port to an FTP server’s internal IP address on your WiFi router, only authorized devices connected to your router can access that FTP server.

Here’s a basic list of the steps you’ll need to learn in order to use FTP for transferring files to and from practically anything with a network connection.

  1. Turn on an FTP server on one device and select which folders/files to share.
  2. Copy or remember the FTP server’s IP address. This will probably show up somewhere and it will look something like “ftp://192.168.1.XXX”
  3. Enter the FTP server’s address into your client device’s FTP program or Web browser (most web browsers support downloading from FTP servers, but not uploading.)
  4. Download or upload files using the client software.

Hold on, why can’t I just use OneDrive, Dropbox, Google Drive, Box, iCloud, or  WeTransfer?

All of those internet-based cloud sharing services require you to send the files out of your network to someone else’s computer before they can come back down to the computer you want to share them with. That’s great if the computer you’re sharing with is not on your network and somewhere far away, but it has the disadvantage of being much slower (depending on the file sizes) and it has the disadvantage of being copied to some server somewhere that you don’t have control over. Cloud services often get hacked and they often evaporate.

Transferring files directly between devices using FTP is much faster. Plus, you don’t have to pay for FTP. It’s an open free protocol that transfers files between devices you already own. Cloud storage costs money if you want any more than the basic free amount and when that free amount is full, you got no more cloud storage. 

Make one device a server

FTP is a client/server protocol, so we need to make one device a server. Then you’ll use a second device as the client to transfer files to or from the server. In other words, one device will be the one you access from another device.

FTP Server software

Windows and MacOS include FTP server programs built in. They’re obviously not turned on by default though. 

It’s built into your desktop

Other nice options

  • Xlight – Free Windows FTP and SFTP server – What I love about this one is that it has a “portable” program option. That means everything is in one folder and you can copy/paste the whole server to any other computer. It’s very easy to configure and turn on/off whenever you need it. 

FTP Servers on your phone

Often I find it easier to have an FTP server on my smartphone that I can turn on only when I want to transfer files. This way I can do it on any WiFi network that I connect to and copy files to any other computer on that network even if I’m at a friend’s house. Be very careful not to do this on public networks where you don’t know who else could be able to access your device though.

Smartphones don’t often have FTP server built in like Windows and MacOS do though, so you’ll probably have to install one, but there are plenty available for free. 

Android FTP Servers

My favorite FTP server on Android is also my favorite file manager: MaterialFiles: Material Design.  Material Files has an FTP Server option in the hamburger menu that lets you turn it on whenever you want and share specific folders over the network. This is also open source so that you can be more confident that it doesn’t have spyware or malware built in. Download via Google Play or F-Droid. There are plenty of others to choose from as well though. Incidentally, if you have a Xiaomi phone, you probably already have an FTP server built in.

iOS FTP Servers

Linux FTP servers are a little more complicated

You might want to make a little Raspberry Pi computer with some home server functions like FTP file sharing (and maybe SMB file sharing). That takes a little more time and know-how, but of course this is a nice option too.

FTP Client Software

MacOS and Windows both have FTP client support built into their file managers. This makes it super easy to access FTP servers and upload/download files without having to install other programs.

Furthermore, just about any web browser has the ability to act as a “read-only” FTP client meaning that it can only download files (not upload). However that has started to change with Chrome removing FTP support in recent versions. Not to worry, there are still plenty of much better FTP client programs available on all platforms. 

Some Android phones also come with FTP client access support. Most Samsung phones have this built into their included file manager app. 

Desktop OS Clients

Smartphone Clients

Unlike desktop PCs, Smartphone operating systems don’t usually come with FTP client software built in (except for Samsung Android phones). Sure, there’s always the web browser for downloading from FTP server links, but that doesn’t allow uploads or folder creation or any of the other file management stuff you could get with a fully featured client program.

For Apple’s iOS, Documents by Readle is a pretty nice FTP client that also has a lot of document and content viewing options, but FE File Explorer (skyjos.com) is the real deal which includes both FTP client support and an FTP server!

On Android, I like Ghost Commander the best since it’s an open-source file management program (which means it’s more likely to be trust-worthy since anyone can audit the code). Ghost Commander also has plug-ins for SFTP and SMB file transfer protocols. 

Automation

Another advantage with using completely open protocols for internet communications is your ability to make all sorts of tasks automatic. FTP is another such open protocol and there are plenty of command line based FTP programs that can be added to scripts that can be scheduled or programmed to activate when certain criteria are met. 

Security

Don’t forget about security! It’s a really bad idea to use FTP on a network that you don’t trust or control. If someone else is monitoring the network, they can easily access your shared files.  All of the FTP server programs listed above do allow you to set a username and password to access the FTP server, and while that’s better than nothing, the password is sent in an unencrypted way that’s easy to intercept. So don’t expect any security with this on an open network. If you need encryption and serious security when transferring files, you’re better off learning to use SFTP (Secure File Transfer Protocol) and that’s a different story. For your own home, work, friends, family WiFi or ethernet networks that are already protected from the outside world by a router firewall, regular FTP is totally fine for quick file transfers. 

Conclusion

If you made it this far, you might be a little overwhelmed by all of the choices. You’re probably thinking that this is way more complicated than Apple’s Airdrop, and it is, but Apple’s Airdrop is a proprietary protocol that Apple controls and doesn’t let anyone else use. It only works on Apple products, so you’ll need to use something else if you want to be part of an inclusive non-segregated non-discriminatory technology ecosystem.  If you learned how to use FTP 30 or 40 years ago like you should have, then all of these modern attempts at file transfer apps probably seem like kind of a waste of time since they all have their own quirks and compatibility issues, too.