diff --git a/README.md b/README.md index 86e5845..60554dd 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The extension supports the following destinations: | [Compiler](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_compiler) | | [DropBox](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_dropbox) | | [External Node.js based scripts](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_script) | -| [FTP](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_ftp) | +| [FTP(S)](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_ftp) | | [Local or shared network folders inside a LAN](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_local) | | [Mail (SMTP)](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_mail) | | [SFTP](https://github.com/mkloubert/vscode-deploy-reloaded/wiki/target_sftp) | diff --git a/src/clients/ftp.ts b/src/clients/ftp.ts index 23f8465..93e920b 100644 --- a/src/clients/ftp.ts +++ b/src/clients/ftp.ts @@ -167,7 +167,11 @@ export interface FTPConnectionOptions { /** * A function that provides values for the connection. */ - readonly valueProvider?: deploy_values.ValuesProvider; + readonly valueProvider?: deploy_values.ValuesProvider; + /** + * 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, applies only when engine is set to 'ftp' + */ + readonly secure?: boolean | "implicit"; } /** @@ -748,6 +752,7 @@ class FtpClient extends FTPClientBase { conn.connect({ host: host, port: port, user: user, password: pwd, + secure: this.options.secure }); } catch (e) { diff --git a/src/plugins/ftp.ts b/src/plugins/ftp.ts index 2e1877b..56d0e7a 100644 --- a/src/plugins/ftp.ts +++ b/src/plugins/ftp.ts @@ -141,6 +141,10 @@ export interface FTPTarget extends deploy_targets.Target { * The username. */ readonly user?: string; + /** + * 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, applies only when engine is set to 'ftp' + */ + readonly secure?: boolean | "implicit"; } /** @@ -467,6 +471,7 @@ class FTPPlugin extends deploy_plugins.AsyncFileClientPluginBase WORKSPACE.getValues(), }), getDir: (subDir) => {