[FTP server] Two dots (..) parent directories handling

What is the problem you are having with rclone?

Some FTP clients like FileZilla or WinSCP are using two dots (..) for navigating to parent directories. rclone FTP does not handle it correctly (unlike servers like vsftpd or FileZilla Server), so going to the parent directory by clicking two dots ends with an error.

Run the command 'rclone version' and share the full output of the command.

rclone v1.65.1

  • os/version: Microsoft Windows 10 Pro 22H2 (64 bit)
  • os/kernel: 10.0.19045.3803 (x86_64)
  • os/type: windows
  • os/arch: amd64
  • go/version: go1.21.5
  • go/linking: static
  • go/tags: cmount

Which cloud storage system are you using? (eg Google Drive)

FTP server

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone serve ftp I:\FTP --addr 0.0.0.0:21 -vv

The rclone config contents with secrets removed.

Default (none).

A log from the command with the -vv flag

INFO : 4c728498c860a3bf56a0: > CWD //Test folder
INFO : 4c728498c860a3bf56a0: < 250 Directory changed to //Test folder
INFO : 4c728498c860a3bf56a0: > CWD ..
INFO : 4c728498c860a3bf56a0: file does not exist
INFO : 4c728498c860a3bf56a0: < 550 Directory change to //Test folder/.. failed.

welcome to the forum,

i can replicate that INFO message.

tho, despite that, if you click on .. in filezilla, everything seems to work ok.

filezilla does complain, but seems to be working ok.

if you want a deeper look, try --dump=headers

Hi, @asdffdsa!

AFAIK, this error may be "skipped" sometimes by FileZilla Client (or other clients) thanks to its directory caching.

Rclone doesn't let you do this. It is a security feature. If you said rclone serve ftp I:\FTP then it would be a security problem if rclone let you look at the root of I:.

The only way to do this is to do rclone serve ftp I:

Sadly, rclone serve ftp I: didn't fix it. This error also shows up when going up from various subdirectories, although not always.

It should give you an error going up from the root. Otherwise it should work.

What do you see?

imho, i would strongly suggest not to do that, i: is not equivalent to i:\

important to specify the full path = drive letter + path.
in this case, the full path
i:\ = i: + \

i demonstrate the danger of that at


and see this debug output.
the command uses d: but that is renamed to "//?/D:/zork"

rclone serve ftp d: --addr 0.0.0.0:2222 -vv
DEBUG : rclone: Version "v1.65.0" starting with parameters ["rclone" "serve" "ftp" "d:" "--addr" "0.0.0.0:2222" "-vv"]
DEBUG : Creating backend with remote "d:"
DEBUG : fs cache: renaming cache item "d:" to be canonical "//?/D:/zork"

Going up from the root always gives an error.
Going up from subdirectories gives random results:

  1. Going up, no error (as it should).
  2. Not going up, no error.
  3. Not going up, gives an error (like from the root).

Oops, yes, I forgot that! (I don't use Windows very much.)

Can you give some examples of it working and not working? Maybe I can replicate?

Video with examples: https://streamable.com/sxoxqo

Can you post the corresponding rclone log please?

The original log wasn't saved. :expressionless:
Here's a different one: ftp.log (74.4 KB)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.