Remote FTP/FTPS package


I built a small package to navigate files & folders from a remote FTP. It works just like the built-in Tree View with limited features : list, download, upload, delete, rename.

As anything that is built over a weekend, it may not be perfect and might break in unexpected ways, you’ve been warned :wink:

Edit: Now published


I’ve change the GitHub location with the new release.


Tried my best to document the API for other author that would like to access the FTP connection. You’ll find it below the screenshots on the package’s page.


Added server message & queue info in the Remote Tree View. Sadly I could not find node-ftp’s buffer size, so no real percentage on that progress bar.


@Gern, do you have any plans on adding SFTP support? :smiley:


If node-ftp doesn’t suport it, I’m afraid I wont add it :(. Have you tried to play with configuration file? The configuration get sent as-is to node-ftp connect method as describe here

secure - mixed - Set to true for both control and data connection encryption, 'control' for control connection encryption only, or 'implicit' for implicitly encrypted control connection (this mode is deprecated in modern times, but usually uses port 990) Default: false

secureOptions - object - Additional options to be passed to tls.connect(). Default: (none)

For more information on secureOptions, it’s here.

I’m sorry for the lack of documentation, the package is still in development :slight_smile:


@Gern thanks your answer :smile:

SFTP is different protocol, and is not the same as ‘FTP security’.

The reason that I was asking is that many FTP clients support is as option by default and it’s not that different; in a sense that you already have a brilliant file transfer interface and it would be just a matter of adding another library in ‘back-end’ :wink:


@muchweb Oh guess I’m one of those that confused SFTP and FTPS :wink:

I have a few dedicated / cloud server at my disposal and never tried SFTP on any of them. I’ll need to understand the protocol first and then look how node-sftp could fit in there.

But sure this package should be compatible with FTP, FTPS and SFTP.

Created an issue on GitHub for SFTP request


Can you guys help me find an SFTP implementation in pure nodejs? Seems like node-sftp uses external process.


Hi @Gern did you know if its possible to set up multiple ftp servers?

Edit : It’s Okey for me ! Sorry

Thanks and Good Job for your Package !


You don’t actually need an FTP/SFTP package. There’s sshfs utilities in Windows, Mac and Linux. This mounts your remote ssh/ftp drive as a local and you can edit with Atom (or any other editor) as normal.

Hope this helps!


Haven’t got any spare time to work on this plugin lately. I got a new version coming out soon that work with the latest Atom (work in 0.161, win and mac).


Remote-FTP v0.4.0 now support SFTP. @muchweb


@Gern thank you for the plugin. i have sftp working on osx, and the plugin is really nearly great but there are a few issues that mean i can’t use it…

  • remote tree does not refresh automatically when a a file is uploaded or renamed on the ftp
  • i cannot select more than more file at a time
  • no drag and drop within remote view (i can drag from local to remote)

i’m not sure if this is a prob with my install, or if they are features that haven’t been developed yet.

i also had a prob with the ftp tree appearing on the right hand side, but uncommenting a line in the remote-ftp.js moved it to the same location as the file tree, so that’s ok.

also i had to find the format for the ftp json from the source code, again i’m not sure if that’s normal or a prob my side.


@bbk feel free to post issues (or request) on the github. I’ll keep you posted there on the progress.


I’m a fan of this package - is there a way to maintain connections to different remote locations?


Looks like I figured out the answer to my own question. (open a seperate atom window for each project, create an ftp config in each project folder). carry on!


How do I change the width of the remote tree pane?


Can I use different folders when uploading or synchronizing files? For example, I have css styles on my PC, they lie in one directory, but on a remote server in another.


Hi I need some information on your package, how if i connect to cloudflare the access works, but the files are saved as blank folders and therefore impossible to edit? thank you