IOProtocolExt Plugin

Copyright © 2011-2023 Dominik Reichl. Distributed under the terms of the GNU General Public License v2.

This plugin adds support for loading/saving files from/to servers via SCP, SFTP and FTPS.

KeePass can handle FTP by default (using classes of the .NET framework). However, this plugin replaces the FTP handler to use WinSCP instead. So, if you have problems with the .NET FTP classes, installing IOProtocolExt might solve them.


System Requirements

IOProtocolExt requires Windows XP or newer. Unix-like systems are not supported.


Installation & Configuration

Installation. Copy the IOProtocolExt* files and the IOProtocolExt_WinSCP folder into the Plugins folder (in the KeePass application directory) and restart KeePass.

Firewall. If you are behind a firewall, you must allow WinSCP.exe and WinSCP.com (in the IOProtocolExt_WinSCP folder) to connect to the server you want to open/save files from/to.

Faster saving. KeePass by default ensures the integrity of saved files: when saving, KeePass first opens/downloads the file from the server (to see whether it has been changed in the meanwhile by a different user), uploads the new file, and downloads it again to verify that the stored file indeed matches the file that KeePass has sent. Additionally, KeePass uses file transactions (saving to a temporary file first and renaming it afterwards to the actual file, in order to prevent corruption of the actual file when the upload fails for some reason). These precautions can result in a slow saving process. If you want to speed it up (and lose a bit of safety), disable the options 'Verify written file after saving a database' and 'Use file transactions for writing databases' in the KeePass options dialog ('Tools' → 'Options' → tab 'Advanced'). This will reduce the saving process to one download and one upload.


Usage

As soon as the plugin is installed once, KeePass can open URLs starting with scp://, sftp://, ftps:// (and of course the ones that were supported already, i.e. http://, https:// and ftp://). To open a URL, go 'File''Open''Open URL...'.

URL examples:
sftp://ftp.example.com/public_html/Database.kdbx
scp://ssh.example.com:2222/KeePass/Database.kdbx

Advanced connection options (like timeout, expected host key, etc.) can be specified on the 'Advanced' tab of the 'Open From URL' dialog. For detailed descriptions of the options, see the WinSCP documentation.

FRITZ!Box NAS. If you try to load/save files from/to a FRITZ!Box NAS and this fails, try turning on the option 'Enable FRITZ!Box NAS workaround' (on the 'Advanced' tab of the 'Open From URL' dialog).


Acknowledgements

Thanks to Martin Prikryl, the developer of WinSCP, which IOProtocolExt internally uses for communicating with servers. WinSCP is distributed under the terms of the GNU General Public License.


Version History


Links

Latest version of IOProtocolExt:
https://keepass.info/plugins.html#ioprotocolext

Support:
https://sourceforge.net/p/keepass/discussion/329221/

Feature requests & bug reports:
https://sourceforge.net/p/keepass/discussion/329220/

Donate:
https://keepass.info/donate.html