New SFTP plugin available now
Moderators: Hacker, petermad, Stefan2, white
-
- Junior Member
- Posts: 3
- Joined: 2003-12-19, 15:14 UTC
Just to say, thank you Christian!
I've been using Win/Total Commander for ages and I rely
a lot on sftp. For the last few months there are some sites
that were hanging using the old sftp plugin. Those problems
are now gone. =)
Also, I can't believe how fast this new plugin is!! The login
and initial directory display is almost instantaneous.
Thank you for your efforts with Total Commander. It is
my NUMBER ONE application.
Russ McClay
Licence # 145658
I've been using Win/Total Commander for ages and I rely
a lot on sftp. For the last few months there are some sites
that were hanging using the old sftp plugin. Those problems
are now gone. =)
Also, I can't believe how fast this new plugin is!! The login
and initial directory display is almost instantaneous.
Thank you for your efforts with Total Commander. It is
my NUMBER ONE application.
Russ McClay
Licence # 145658
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
The third beta is here! Please check the first message.

Unfortunately this cannot be avoided at the moment - you have to press disconect for each session, whether it was successful or not.Problem: When a connection fails, "Verbindung trennen" have to activate two times,
and then goes the Panel back to the last used directory, and not back to the Plugin.
OK, I added the small lock icon from the sftp client.Suggestion: Could you please add an Icon in the sftpplug.wfx?
Nice to hear that!The new way to produce the pub key file solved the problem with key authentication for me.
Unfortunately I don't currently see a way to get them via SFTP, it only delivery numerical uid and gid values.(1) It would be nice to have a quick way to determine directory and file ownerships (user and group).
OK, added, but cannot test it - please let me know how it works.(2) Correct display of UTF8 encoded filenames?
Added that too!(3) Check for empty passphrase on private key?
Currently not possible, maybe in a later version.(4) Ask for username (w/o saving) when left empty?
See above how you can solve this with a button bar button.(5) Go to home directory when cd'ing to root is forbidden
It seems that it checks whether the server has the correct public key before negotiating with it, but someone would have to study the libssh2 in detail to confirm that.Why does libssh2 need a public key to connect?
OK, it shows user@host now, is that OK?please change the message box with the password prompt to include the host name.
Indeed the libssh2 on which this plugin is based seems to be very fast.Also, I can't believe how fast this new plugin is!! The login and initial directory display is almost instantaneous.

Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Here is the list of new feature in version 0.3 beta:
Added: Support UTF-8 encoding of file names (option in connect dialog)
Added: Let user define default permissions of uploaded files and new directories
Added: Use list of supported methods from server to determine connection method
Added: Show user@server in all password dialogs
Added: Do not show configuration dialog to enter password, show separate password dialog
Added: keyboard-interactive login method
Added: Support UTF-8 encoding of file names (option in connect dialog)
Added: Let user define default permissions of uploaded files and new directories
Added: Use list of supported methods from server to determine connection method
Added: Show user@server in all password dialogs
Added: Do not show configuration dialog to enter password, show separate password dialog
Added: keyboard-interactive login method
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Hello Christian, wow, now, with beta03, it works also with publickey authentication!!!
That was the problem of the newer ACM. What a great work! Thank you very much!
Unfortunately, could it be, that the plugin will not unload when the sessions are disconnected?
It was in the other beta too, I want to copy the sftpplug.wfx from zip in the plugin directory,
but it is not possible until the TC is restarted.
Otherwise, when I have opend two sessions, how can I switch between?
When I close all sessions, it should be, that the panel shows the directory with the connections of the plugin.
Very often I have to connect to two different Server. So when the 1st session is disconnected, it can
quick start the 2nd connection. But very often, not ever, the panel is switched back to the last used directory.
Thanks for the small Icon.
Another point: When I use a home dir in the configuration, after connect, all files in the
home dir will be listet in the little connection window, and they will be also found in the tcftp.log.
When the home dir isn't used, and the dir is changed manual, then the connection window and
the tcftp.log is empty.
Not sure does it happens, but the content of the dir is not stored in the cache, this is active
in the FTP Setup (Inhalt aller besuchten Verzeichnisse merken).
mf
That was the problem of the newer ACM. What a great work! Thank you very much!
Unfortunately, could it be, that the plugin will not unload when the sessions are disconnected?
It was in the other beta too, I want to copy the sftpplug.wfx from zip in the plugin directory,
but it is not possible until the TC is restarted.
Yes, but I have only one failed connection, so I thought it's one session, but I have press disconnect two times?Unfortunately this cannot be avoided at the moment - you have to press disconect for each session, whether it was successful or not.
Otherwise, when I have opend two sessions, how can I switch between?
When I close all sessions, it should be, that the panel shows the directory with the connections of the plugin.
Very often I have to connect to two different Server. So when the 1st session is disconnected, it can
quick start the 2nd connection. But very often, not ever, the panel is switched back to the last used directory.
Thanks for the small Icon.

That will be a great Button bar with 40 or more Buttons, each for every Server.See above how you can solve this with a button bar button.
Another point: When I use a home dir in the configuration, after connect, all files in the
home dir will be listet in the little connection window, and they will be also found in the tcftp.log.
When the home dir isn't used, and the dir is changed manual, then the connection window and
the tcftp.log is empty.
Not sure does it happens, but the content of the dir is not stored in the cache, this is active
in the FTP Setup (Inhalt aller besuchten Verzeichnisse merken).
mf
Bankster - Word of the Year 2009
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
2Mikefield
You can use the command cm_unloadplugins to unload all plugins. Currently the plugin isn't unloaded when you close a connection.
About disconnect: This is really a problem - normally you need to press Disconnect while the plugin shows the path of the server which you want to disconnect. This way you can be connected to two servers, and disconnect the one which is currently shown. This will also bring you back to the list of servers.
Unfortunately this doesn't work when the connection failed, because then you will never be able to go to a path within that server. The solution would be not to send the "CONNECT \Servername" from the plugin to TC until the connection is made. The downside is that the user cannot see the connection progress then...
You can use the command cm_unloadplugins to unload all plugins. Currently the plugin isn't unloaded when you close a connection.
About disconnect: This is really a problem - normally you need to press Disconnect while the plugin shows the path of the server which you want to disconnect. This way you can be connected to two servers, and disconnect the one which is currently shown. This will also bring you back to the list of servers.
Unfortunately this doesn't work when the connection failed, because then you will never be able to go to a path within that server. The solution would be not to send the "CONNECT \Servername" from the plugin to TC until the connection is made. The downside is that the user cannot see the connection progress then...
Simply turn off detailed logging! Currently the only difference is that detailed logging will also log the complete file listings for debugging purposes.When I use a home dir in the configuration, after connect, all files in the home dir will be listet in the little connection window, and they will be also found in the tcftp.log.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
-
- Junior Member
- Posts: 21
- Joined: 2003-02-28, 10:45 UTC
OK, I was only wondering about it. Thanks.You can use the command cm_unloadplugins to unload all plugins. Currently the plugin isn't unloaded when you close a connection.
No, connection process is needed! It's easier then to add a button in button bar to launch the plugin again.The downside is that the user cannot see the connection progress then...
Suggestion: If you want to hardcode the plugin, i.e. in 7.5, please have a look to background transfer.
And when you do this, please hardcode the webdav Plugin too, also with background transfer.
Advantage, there is only one ini, the wcx_ftp.ini.

PS: Could you please rename the "Quick Connection" to "<Quick Connection>" or so?
In this case it will be in front of the directory and not anywhere within the others.
mf
Bankster - Word of the Year 2009
Here is my attempt to add IPv6 support:
http://web.hisoftware.cz/sob/download/sftpplug_src03beta-ipv6.patch
User can choose between IPv4, IPv6 and automatic selection. The state of the code is "works fine for me", but since I'm not very good with C, double check by someone more experienced is definitely a good idea.
http://web.hisoftware.cz/sob/download/sftpplug_src03beta-ipv6.patch
User can choose between IPv4, IPv6 and automatic selection. The state of the code is "works fine for me", but since I'm not very good with C, double check by someone more experienced is definitely a good idea.
-
- Junior Member
- Posts: 4
- Joined: 2008-08-15, 09:13 UTC
Works both, wonderful, thank you!OK, added, but cannot test it - please let me know how it works.(2) Correct display of UTF8 encoded filenames?
Added that too!(3) Check for empty passphrase on private key?
This does not really solve the problem. (1) When connecting to a server for the first time one does not necessarily know the absolute path to the home directory and if access to root path is forbidden login would be impossible. (2) When accessing a server with different accounts I would need separate buttons for each account.See above how you can solve this with a button bar button.(5) Go to home directory when cd'ing to root is forbidden
No, I do not think so. As far as I remember, the list of authorized public keys must not leave the server. This would be a security hole.It seems that it checks whether the server has the correct public key before negotiating with it, but someone would have to study the libssh2 in detail to confirm that.Why does libssh2 need a public key to connect?
Thanks a lot!
Bash
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Thanks, I have included it now in modified form: I'm loading the IPv6 functions dynamically so the plugin can still be used on older Windows versions. It will be in the next beta.Here is my attempt to add IPv6 support
Nice to hear that, thanks for testing!UTF-8
Works both, wonderful, thank you!
Unfortunately there is no better solution, sorry. When you use the button command as I suggested, TC will not go to the root.This does not really solve the problem. (1) When connecting to a server for the first time one does not necessarily know the absolute path to the home directory and if access to root path is forbidden login would be impossible. (2) When accessing a server with different accounts I would need separate buttons for each account.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
The fourth beta is here! Please download it from the first message of this thread.
What's new?
- Ask for user name during connect if none was specified in the configuration
- The public/private key path may now contain environment variables like %commander_path%
- View properties of file/directory under cursor with Alt+Enter
- Support shell commands directly via command line, e.g. chmod, chown etc.
- If a template file sftpplug.tpl exists in the plugin dir, copy it to the ini file if no ini file exists yet
- IPv6 support, code from forum user "Sob", but changed to dynamic loading of ws2_32.dll
- Only show FTP toolbar when connected to avoid problems with disconnect button when connection fails
- Show connect progress in separate dialog
- Show and allow to follow symbolic links to directories
- In the public/private key path, %USER% (all uppercase!) will be replaced by the user name
What's new?
- Ask for user name during connect if none was specified in the configuration
- The public/private key path may now contain environment variables like %commander_path%
- View properties of file/directory under cursor with Alt+Enter
- Support shell commands directly via command line, e.g. chmod, chown etc.
- If a template file sftpplug.tpl exists in the plugin dir, copy it to the ini file if no ini file exists yet
- IPv6 support, code from forum user "Sob", but changed to dynamic loading of ws2_32.dll
- Only show FTP toolbar when connected to avoid problems with disconnect button when connection fails
- Show connect progress in separate dialog
- Show and allow to follow symbolic links to directories
- In the public/private key path, %USER% (all uppercase!) will be replaced by the user name
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50383
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact: