Permalink
Browse files

Update and rename README to README.md

Complete rewrite refecting recent CMake changes.
  • Loading branch information...
1 parent b39ab2c commit 0f7f375b91a1cbe4b0bc5687e0a090421c05e9df @alamaison committed Jan 7, 2016
Showing with 76 additions and 136 deletions.
  1. +0 −136 README
  2. +76 −0 README.md
View
@@ -1,136 +0,0 @@
-Swish
-
-What is Swish?
- Swish is a plugin for Microsoft Windows Explorer that integrates access to
- remote files via SSH/SFTP.
-
-Status:
- Swish is 'alpha' status which means it is missing some features and some
- bits are still a little rough around the edges. We're getting there, though
- and 'beta' status is not far away.
- 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 and double-click
- to open files in the appropriate program.
-
-Supported Operating Systems:
- Windows 8 (occasionally test)
- Windows 7 (most tested)
- Windows Vista (regularly tested)
- Windows XP (regularly tested)
- Windows 2000 (regularly tested)
-
- Windows 98/Me 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.
- If building on Windows Vista or later you will need two updates:
- - VS 2005 SP1: http://msdn.microsoft.com/en-us/vstudio/bb265237
- - VS 2005 SP1: Update for Windows Vista http://go.microsoft.com/?linkid=6366078
- A recent version of the Windows SDK
- (http://msdn.microsoft.com/en-us/windowsvista/bb980924.aspx)
- The latest version requires an hotfix to Visual Studio 2005:
- https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=18623
- Comet
- A modern C++ template library for COM.
- https://github.com/alamaison/comet.
- 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
- You can get an installer from BoostPro Computing:
- http://www.boostpro.com/products/free. However, for a 64-bit build
- of Swish you will have to build Boost yourself from source. The
- build/makeboost.bat script can help with this. For more information
- see http://www.boost.org.
- Currently Boost 1.45 is the tested version.
- Boost.Locale
- Candidate boost library handling internationalisation.
- http://cppcms.sourceforge.net/boost_locale/html/index.html
- http://sourceforge.net/projects/cppcms/files/boost_locale
- 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:
- Some old unit tests (not enabled by default) require CppUnit. The others
- just use Boost.Test.
- The tests in projects ending with `-network` need 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.
View
@@ -0,0 +1,76 @@
+Swish
+=====
+
+What is Swish?
+--------------
+
+Swish is a plugin for Microsoft Windows Explorer that adds support for SFTP.
+
+If you've used Explorer's built-in FTP support, Swish is that but for SFTP
+over SSH.
+
+Supported Operating Systems
+---------------------------
+ * Windows 8 (most tested)
+ * Windows 7 (occasionally tested)
+ * Windows Vista (rarely tested)
+
+Swish may also work on Windows XP, but we haven't tested that in a while.
+
+Binaries
+--------
+Binary installers are [on our website](http://www.swish-sftp.org).
+
+Getting involved
+----------------
+We welcome patches to help improve Swish.
+
+Swish fetches almost all its dependencies when you configure it with [CMake].
+That magic happens thanks to the [Hunter package manager]. However, you will
+need Perl installed. [Strawberry Perl] is good, and available on [Chocolatey].
+
+You'll also need a compiler (obviously), a recent version of the Windows SDK
+and CMake.
+
+[CMake]: https://cmake.org/
+[Hunter package manager]: https://github.com/ruslo/hunter/
+[Strawberry Perl]: http://strawberryperl.com/
+[Chocolatey]: https://chocolatey.org/packages/StrawberryPerl
+
+Licensing
+---------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+If you modify this Program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a modified
+version of that library), containing parts covered by the terms of the
+OpenSSL or SSLeay licenses, the licensors of this Program grant you
+additional permission to convey the resulting work.
+
+### Why have an exception for OpenSSL?
+
+The [OpenSSL] library is incompatible with the GPL license because it
+contains an advertising clause. However lots of useful, open source
+software (including our own projects) need to use it and currently the
+alternatives aren't quite up to scratch. As we want these projects to
+be able to reuse Washer, we have added this exception to the GPL - a
+common technique used by other projects such as [wget].
+
+If [GnuTLS] improves to the point where OpenSSL is no longer
+necessary, we may remove this exception.
+
+[OpenSSL]: http://www.openssl.org/
+[wget]: http://www.gnu.org/software/wget/
+[GnuTLS]: http://www.gnu.org/software/gnutls/

0 comments on commit 0f7f375

Please sign in to comment.