Download Latest Version swish-0.8.2.exe (8.5 MB)
Email in envelope

Get an email when there's a new version of Swish

Home / swish / swish-0.4.2
Name Modified Size InfoDownloads / Week
Parent folder
swish-0.4.2.msi 2010-07-20 9.9 MB
swish-0.4.2-src.7z 2010-07-20 6.7 MB
swish-0.4.2-src.zip 2010-07-20 12.4 MB
README 2010-07-20 6.3 kB
NEWS 2010-07-20 4.7 kB
Totals: 5 Items   29.1 MB 0
Swish

Author: 
    Alexander Lamaison <awl03@doc.ic.ac.uk>

What is Swish?
    Swish is a plugin for Microsoft Windows Explorer that integrates access to 
    remote files via SSH/SFTP.
    
Status:
    In this version, Swish is finally starting to look like a real SFTP 
    client.  As well as management tasks such as renaming and deleting 
    files on the remote server users can drag and drop the contents of files
    and folders from the remote server to the local filesystem.
 
    Currently, Swish only supports simple password and keyboard-interactive
    authentication. 

Supported Operating Systems:
    Window 7      (recently tested)
    Windows Vista (most tested)
    Windows XP    (regularly tested)
    Windows 2000  (regularly tested)
    Windows Me    (rarely tested)

    Windows 98 support is on hold for the time being - as of version 0.3.1.0
    the backend DLL seems to have problem (maybe related to MSVCRT versions).
    
    Unfortunately, Windows 95 and NT 4 are not immediately supported.  This is
    because the C runtime used when compiling with Visual Studio 2005 is
    no longer compatible with their API. There are a few ways you can work round
    this if you wish:
     - Compile Swish using Visual Studio 2005.  You may have to fix the code to
       allow this; I've never tried it.
     - Make *all* the projects statically link to the runtime library (/MT). 
       In addition you will have to use a version of OpenSSL similarly linked
       so you will have to compile your own. The instructions that come with
       OpenSSL make it clear how to do this. Again, I haven't tried this myself
       so it might not work.

Requirements to run:
    Internet Explorer 5.5 or greater
        (may work with 5.01 but required SHRegGetPath() function seems broken).
    For Windows 9x, the Microsoft Layer for Unicode (MSLU, aka Unicows)
        http://www.microsoft.com/downloads/details.aspx?FamilyId=73BA7BD7-ED06-
        4F0D-80A4-2A7EEAEE17E2&displaylang=en.

Requirements to build:
    The easiest way to set everything up is to run the prereqs.bat script from
    the build/ directory.  It will fetch all the dependencies except Visual
    Studio, the Windows SDK, Boost and Wix.  These you must install yourself 
    from the links below.
    
    Visual C++ 2005
        Express edition is unlikely to work but feel free to try.
    A recent version of the Windows SDK 
        (http://msdn.microsoft.com/en-us/windowsvista/bb980924.aspx)
    Comet
        A modern C++ template library for COM.
        http://bitbucket.org/alamaison/swish_comet/overview/ (custom Swish fork)
        or http://bitbucket.org/sofusmortensen/comet/overview/.
    WTL 8 which can be obtained from Microsoft or through SourceForge
        Microsoft Permissive Licence: http://www.microsoft.com/downloads/
        details.aspx?familyid=E5BA5BA4-6E6B-462A-B24C-61115E846F0C
        Common Public Licence: http://sourceforge.net/projects/wtl/.
    Boost
        The recommended method is to use the installer from BoostPro Computing:
        http://www.boostpro.com/products/free.  For more information see
        http://www.boost.org.
    Boost.Locale
        Candidate boost library handling internationalisation.
        http://cppcms.sourceforge.net/boost_locale/html/index.html
        http://sourceforge.net/projects/cppcms/files/boost_locale
    ICU
        Internationalisation library used by Boost.Locale.
        http://site.icu-project.org/
    Wix 3 with Votive
        Not required to build Swish itself but needed if you want to build
        the installer. http://wix.sourceforge.net/
    
    For the Provider backend:
     - libssh2
     - OpenSSL
     - zlib
    The directories to put the sourcecode for these dependencies in should
    already exist in the thirdparty/ directory.
    
    libssh2 can be obtained from http://www.libssh2.org.  Swish usually requires
    the latest snapshot.  You can get OpenSSL from http://www.openssl.org and 
    compile it yourself but a much easier option is to download the Swish
    pre-packaged binary with just the stuff needed for Swish:
    http://downloads.sourceforge.net/swish/openssl-0.9.8g-swish.zip?download.
    zlib binaries are available at http://www.zlib.net/.

Requirements for testing:
    CppUnit (works with v1.12.0, may work with other versions) must be present
    on the local machine.  Many tests also require a remote host available to
    connect to over SSH.  Swish assumes this is unix-based and that the test
    user account has a home directory named /home/username.
    
    Environment variables:
    CPPUNITDIR: The location of the CppUnit files.
    TEST_HOST_NAME: The name of the remote testing host.
    TEST_USER_NAME: The user name of the SSH account on the remote host.
    TEST_HOST_PORT: The port on the remote host that SSH is listening on 
        (optional - defaults to 22 if not set).
    TEST_PASSWORD:  The password to use to connect to the remote host if 
                    required.
    
    If you are going to run the tests I **STRONGLY** recommend using a separate
    user account for them as they create and delete files and, being tests, have
    the potential to invoke disastrous code.  Protect yourself from them!

OpenSSL:
    This product includes software developed by the OpenSSL Project for use in 
    the OpenSSL Toolkit (http://www.openssl.org/)
    
    This product includes cryptographic software written by Eric Young 
    (eay@cryptsoft.com)

Building on Vista and later:
    When building on Windows Vista, make sure you are running Visual
    Studio as an Administrator.  Otherwise it can't register the components
    and later components that depend on earlier ones will fail to build.

Architecture:
    The architecture of Swish is divided into a back-end and a front-end.  The
    former deals with the SFTP connection to remote hosts while the latter
    is concerned with displaying the results to the user and handling 
    interaction.
    
    The current Swish backend is based on libssh2 (http://www.libssh2.org).
    While the eventual aim is to offer a choice of back-end implementations
    with different capabilities, this is currently the only one.

$Id: README 554 2010-05-31 12:00:13Z alamaison $
Source: README, updated 2010-07-20