[Android Apps and Games] evalf:
As a matter of fact I do know what Passive FTP is. What I meant by 2 connections was there are 2 data channels being opened when moving a file, one that is used to download the file to the phone and one which reuploads it to the new location. See the attached capture showing my FTP server's interface and the 2 connections at the bottom.

I did a bit more testing, moving (cutting and pasting) a file called Testfile.zip from Folder1 to Folder2 on my FTP server and looking at the logs. Here's what happens when I do it with ES:

(000098)25/08/2016 20:12:04 - evalf (192.168.1.25)> CWD /Web/Folder1/
(000098)25/08/2016 20:12:04 - evalf (192.168.1.25)> 250 CWD successful. "/Web/Folder1" is current directory.
(000098)25/08/2016 20:12:04 - evalf (192.168.1.25)> PASV
(000098)25/08/2016 20:12:04 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,198,195)
(000098)25/08/2016 20:12:04 - evalf (192.168.1.25)> LIST -a .
(000098)25/08/2016 20:12:04 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder1"
(000098)25/08/2016 20:12:04 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder1"
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> CWD /
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> 250 CWD successful. "/" is current directory.
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> CWD /Web/Folder2/
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> 250 CWD successful. "/Web/Folder2" is current directory.
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> PASV
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,228,54)
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> LIST -a .
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> PASV
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,254,128)
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> LIST -a
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000098)25/08/2016 20:12:08 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> CWD /
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 250 CWD successful. "/" is current directory.
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> CWD /Web/Folder2/
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 250 CWD successful. "/Web/Folder2" is current directory.
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> PASV
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,192,112)
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> NLST -a
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> CWD /
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 250 CWD successful. "/" is current directory.
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> PASV
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,233,119)
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> LIST -a /Web/Folder2/Testfile.zip
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 550 Directory not found.
[B](000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> RNFR /Web/Folder1/Testfile.zip
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 350 File exists, ready for destination name.
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> RNTO /Web/Folder2/Testfile.zip
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 250 file renamed successfully[/B]
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> CWD /
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 250 CWD successful. "/" is current directory.
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> CWD /Web/Folder2/
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 250 CWD successful. "/Web/Folder2" is current directory.
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> PASV
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,255,197)
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> LIST -a .
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000098)25/08/2016 20:12:09 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"

As you can see in the highlighted lines the file is just renamed to change the directory, and the process is instantaneous.

Now here's what happens with FX:

(000096)25/08/2016 20:09:17 - evalf (192.168.1.25)> CWD /Web/Folder1
(000096)25/08/2016 20:09:17 - evalf (192.168.1.25)> 250 CWD successful. "/Web/Folder1" is current directory.
(000096)25/08/2016 20:09:17 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:17 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,200,104)
(000096)25/08/2016 20:09:17 - evalf (192.168.1.25)> LIST -a
(000096)25/08/2016 20:09:17 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder1"
(000096)25/08/2016 20:09:17 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder1"
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> STAT
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,211,20)
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> LIST /Web
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web"
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 226 Successfully transferred "/Web"
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> STAT
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> CWD /Web
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 250 CWD successful. "/Web" is current directory.
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,248,101)
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> LIST -a
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web"
(000096)25/08/2016 20:09:20 - evalf (192.168.1.25)> 226 Successfully transferred "/Web"
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> STAT
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,202,125)
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> LIST /Web/Folder2
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> STAT
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> CWD /Web/Folder2
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 250 CWD successful. "/Web/Folder2" is current directory.
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,202,35)
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> LIST -a
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000096)25/08/2016 20:09:21 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> STAT
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> CWD /Web/Folder2
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 250 CWD successful. "/Web/Folder2" is current directory.
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,224,227)
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> LIST -a
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> STAT
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,217,255)
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> LIST /Web/Folder2
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> STAT
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> TYPE I
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 200 Type set to I
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,224,132)
[B](000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> RETR /Web/Folder1/Testfile.zip
(000096)25/08/2016 20:09:22 - evalf (192.168.1.25)> 150 Opening data channel for file download from server of "/Web/Folder1/Testfile.zip"
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> Connected on port 21, sending welcome message...
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> 220 FileZilla Server 0.9.58 beta
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> FEAT
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> 211-Features:
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> MDTM
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> REST STREAM
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> SIZE
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> MLST type*;size*;modify*;
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> MLSD
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> AUTH SSL
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> AUTH TLS
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> PROT
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> PBSZ
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> UTF8
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> CLNT
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> MFMT
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> EPSV
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> EPRT
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> 211 End
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> USER evalf
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> 331 Password required for evalf
(000097)25/08/2016 20:09:22 - (not logged in) (192.168.1.25)> PASS *********************
(000097)25/08/2016 20:09:22 - evalf (192.168.1.25)> 230 Logged on
(000097)25/08/2016 20:09:22 - evalf (192.168.1.25)> TYPE I
(000097)25/08/2016 20:09:22 - evalf (192.168.1.25)> 200 Type set to I
(000097)25/08/2016 20:09:22 - evalf (192.168.1.25)> PASV
(000097)25/08/2016 20:09:22 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,246,222)
(000097)25/08/2016 20:09:22 - evalf (192.168.1.25)> STOR /Web/Folder2/Testfile.zip
(000097)25/08/2016 20:09:22 - evalf (192.168.1.25)> 150 Opening data channel for file upload to server of "/Web/Folder2/Testfile.zip"
(000096)25/08/2016 20:09:57 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder1/Testfile.zip"
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2/Testfile.zip"
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> STAT
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> DELE /Web/Folder1/Testfile.zip
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 250 File deleted successfully[/B]
(000096)25/08/2016 20:09:59 - evalf (192.168.1.25)> STAT
(000096)25/08/2016 20:09:59 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000096)25/08/2016 20:09:59 - evalf (192.168.1.25)> PASV
(000096)25/08/2016 20:09:59 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,223,251)
(000096)25/08/2016 20:09:59 - evalf (192.168.1.25)> LIST /Web/Folder2
(000096)25/08/2016 20:09:59 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000096)25/08/2016 20:09:59 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> STAT
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 500 Syntax error, command unrecognized.
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> CWD /Web/Folder2
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 250 CWD successful. "/Web/Folder2" is current directory.
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> SYST
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 215 UNIX emulated by FileZilla
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> PASV
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 227 Entering Passive Mode (192,168,1,222,228,137)
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> LIST -a
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 150 Opening data channel for directory listing of "/Web/Folder2"
(000097)25/08/2016 20:09:59 - evalf (192.168.1.25)> 226 Successfully transferred "/Web/Folder2"

As you can see in the bolded lines when the paste command is executed, a second connection is initiated to upload the file to Folder2 while it is downloaded from Folder1, and when the process is complete the file is deleted from Folder1.

Tliebeck, any chance this could be changed in a future version to allow proper renaming over FTP?

I tried this, indeed this will allow to start the file sharing, however I haven't gotten it to work either by connecting with WinSCP with my computer, or trying to visit the file sharing page with Firefox. I tried accessing the external IP from another connection, as well as the local IP when connected to the hotspot. And just to rule out a configuration error on my part I was able to connect with WinSCP when both the phone and computer are connected to my home network using the phone's local IP. So I'm not sure if I'm doing something wrong, if this is due to my mobile provider, or a limitation of the software. Any pointers would be appreciated!