Skip to content
This repository

Simple and free FTP(S) syncing (SFTP not available)

Octocat-spinner-32 lib2 Fixed last commit's syntax error, issue #128 December 13, 2013
Octocat-spinner-32 lib3 Fixed last commit's syntax error, issue #128 December 13, 2013
Octocat-spinner-32 .gitignore Updated .gitignore (Sublime project files) December 23, 2012
Octocat-spinner-32 Context.sublime-menu Added option to override config, fixes #131 January 24, 2014
Octocat-spinner-32 Default (Linux).sublime-keymap Added dummy key bindings December 30, 2012
Octocat-spinner-32 Default (OSX).sublime-keymap Added dummy key bindings December 30, 2012
Octocat-spinner-32 Default (Windows).sublime-keymap Added dummy key bindings December 30, 2012
Octocat-spinner-32 Default.sublime-commands Changed a few TextCommands to WindowCommands, fixes #129 January 24, 2014
Octocat-spinner-32 FTPSync.py Added FTP retry mechanism, issue #149 April 14, 2014
Octocat-spinner-32 FTPSync.sublime-settings Added FTP retry mechanism, issue #149 April 14, 2014
Octocat-spinner-32 LICENCE Added licence (MIT) May 12, 2012
Octocat-spinner-32 Main.sublime-menu Tweaked report issue labels January 27, 2013
Octocat-spinner-32 README.md Updated README March 26, 2014
Octocat-spinner-32 Side Bar.sublime-menu Added Cleanup command to show and remove temporary files April 02, 2014
Octocat-spinner-32 __init__.py SublimeText3 basic support June 07, 2013
Octocat-spinner-32 ftpsync.default-settings Now able to set default permissions for newly uploaded files, closes #… November 21, 2013
Octocat-spinner-32 ftpsynccommon.py Fixed encryption support initialization and determining October 02, 2013
Octocat-spinner-32 ftpsyncexceptions.py Should not throw exception on not existing remote version in pre_save… January 11, 2013
Octocat-spinner-32 ftpsyncfiles.py Added Cleanup command to show and remove temporary files April 02, 2014
Octocat-spinner-32 ftpsyncfilewatcher.py Moved afterwatch into new class FileWatcher, cleanup April 02, 2014
Octocat-spinner-32 ftpsyncprogress.py Big multithreading fix December 25, 2012
Octocat-spinner-32 ftpsyncworker.py Numbers now properly converted to string in ftpsyncworker, closes #113 October 02, 2013
Octocat-spinner-32 ftpsyncwrapper.py Added FTP retry mechanism, issue #149 April 14, 2014
README.md

FTPSync

Addon for Sublime Text 2 and Sublime Text 3

Simple and free plugin for FTP synchronization. Just hit the save as usual and it's upped.

What's there for you?

  • Multiple named upload targets
  • Ignored file regex patterns
  • Secure transfer using TLS
  • Downloading via temporary file (better stability)
  • Determining newer remote files, overwrite protection
  • Manual multiple file & folder up/downloading (sidebar context menu)
  • Multithreaded uploading and downloading
  • Local&remote renaming and deleting
  • Progress bar for multiple up/download
  • Remote browsing and manipulating via file list

In progress

  • Feature to be able to stop running upload/download

Planned

  • Case sensitivity handling

For more info look into Wiki

How to use

To mark a folder and descendants for upload insert ftpsync.settings file in following format. Don't worry - the skeleton can be simply inserted using Preferences > Package Settings > FTPSync > Setup FTPSync in this folder or using context menu in Side bar or using Control/CMD+Shift+P.

Sample settings file with minimum of options:
( does not contain all options )

 {
    'primary': {
        host: 'ftp.mywebsite.com',
        username: 'johnsmith',
        password: 'secretpassword',
        path: '/www/',

        upload_on_save: true,
        tls: true
    }
}

Set password to null (don't use quotes) if you do not want to store password in a file and set in manually (FTPSync will request the password in such case).

All connection settings »

Files are automatically uploaded on save (unless disabled by upload_on_save=false setting). In your newly created settings file some options are preceded with //, this means they are commented out (and default value from global settings file is used) - remove the // to enable the entry.

Drawbacks and notes

  • SFTP is not supported at the moment and is not planned in near future (you can use SFTP or Mote plugins)
  • SSL/TLS is not supported for servers that enforce SSL_REUSE (encryption support will hopefully increase in future)
  • Does not support continuous watching and syncing, only (after) manual action
  • Does not support proxy connections
  • Does not support remote diff at the moment
  • Does not support special characters in remote path at the moment

About

Done by Jiří @NoxArt Petruželka ~ Twitter

Released under MIT licence.

You can buy me a snack so I have energy for further improvements :)

Support FTPSync page

Supported by: Yang Guo Jun, Winfried van Loon, Pedro-Martir Estrada ... thank you!

Feel free to add issues, ideas, pull requests...

Thanks to castus, tommymarshall, TotallyInformation, saiori, vnabet, Jcrs, ItayXD, bibimij, digitalmaster, alfaex, seyDoggy, Nuno, mikedoug, stevether, zaus, noAlvaro, zofie86, fma965, PixelVibe, Kaisercraft, benkaiser, anupdebnath, sy4mil, leek, surfac, mitsurugi, MonoSnippets, Zegnat, cwhittl, shadowsdweller, adiulici01, tablatronix, bllim, Imaulle, friskfly, lysenkobv, nosfan1019, smoochieboochies, Dmitry Loktev, fedesilvaponte, fedegonzaleznavarro, camilstaps, maknapp, certainlyakey, victorhqc, eniocarv, molokoloco, tq0fqeu, Arachnoid, ahgood, SourceR85, nirajaryal, Stock-webdesign, chachan, webattitude, VarinderS, Gadoma, pnukeid, patatjenl, ridethepinguin, Kovas, giolvani for reporting issues, ideas and fixing!

Bitdeli Badge

Tips

  • Set key bindings (hotkeys) for frequent actions you use

Please edit only Key Bindings - User, open using:
Preferences > Package Control > FTPSync > Key Bindings - User
You can use the contents of Key Bindings - Default as a template and copy it there. If you edit Key Bindings - Default (either Sublime's or FTPSync's), your changes will be lost on update.
More info

  • Renaming and deleting

Please keep in mind that for deleting and renaming on server you need to use FTPSync > Rename respectively FTPSync > Delete features, not those in Sublime Text 2 or SideBarEnhancements.

  • Working from more places? Or in team?

You can either use download_on_open=true to check files upon openning or FTPSync: Check current file command to see whether you have the same version as is on all servers. Using overwrite_newer_prevention is also recommended (it's actually enabled by default).

  • Upload different language versions to different servers of paths

    {
        <connection_name>: {
            host: "ftp.host.en.com",
            ignore: "/locale/(?!fr)\\w+/.*"
        },
        <connection2_name>: {
            host: "ftp.host.cz.com",
            ignore: "/locale/(?!cz)\\w+/.*"
        }
    }
    
  • Using file compilation? Want to upload as well?

You can use after_save_watch option to setup files to be watched for change after uploading on save. Learn how to use in Wiki.

Something went wrong with that request. Please try again.