Skip to content
Putty enhanced with the ability to connect to Android Debug Bridge
C++ Perl
Find file
Latest commit e02579c @sztupy ADB Enhanced Version
Failed to load latest commit information.
CHARSET putty import
CONTRIB putty import
DOC putty import
ICONS putty import
MACOSX putty import
TESTDATA putty import
UNIX putty import
WINDOWS ADB Enhanced Version
.gitignore ADB Enhanced Version
ADB.C ADB Enhanced Version
BE_ALL.C ADB Enhanced Version
BE_ALL_S.C ADB Enhanced Version
BE_NONE.C putty import
BE_NOSSH.C ADB Enhanced Version
BE_NOS_S.C ADB Enhanced Version
BUILDSCR putty import
CMDGEN.C putty import
CMDLINE.C ADB Enhanced Version
CONFIG.C ADB Enhanced Version
CPROXY.C putty import
DIALOG.C putty import
DIALOG.H putty import
IMPORT.C putty import
INT64.C putty import
INT64.H putty import
LDISC.C putty import
LDISC.H putty import
LDISCUCS.C putty import
LICENCE putty import
LOGGING.C putty import
MINIBIDI.C putty import
MISC.C putty import
MISC.H putty import
MKAUTO.SH putty import
MKFILES.PL putty import
MKUNXARC.SH putty import
NETWORK.H putty import
NOCPROXY.C putty import
NOGSS.C putty import
NOPRINT.C putty import
NOTIMING.C putty import
PGSSAPI.C putty import
PGSSAPI.H putty import
PINGER.C putty import
PORTFWD.C putty import
PPROXY.C putty import
PROXY.C putty import
PROXY.H putty import
PSCP.C putty import
PSFTP.C putty import
PSFTP.H putty import
PUTTY.H ADB Enhanced Version
PUTTYMEM.H putty import
PUTTYPS.H putty import
RAW.C putty import
README putty import
RECIPE ADB Enhanced Version
RESOURCE.H putty import
RLOGIN.C putty import
SERCFG.C putty import
SETTINGS.C putty import
SFTP.C putty import
SFTP.H putty import
SIGN.SH putty import
SSH.C putty import
SSH.H putty import
SSHAES.C putty import
SSHARCF.C putty import
SSHBLOWF.C putty import
SSHBN.C putty import
SSHCRC.C putty import
SSHCRCDA.C putty import
SSHDES.C putty import
SSHDH.C putty import
SSHDSS.C putty import
SSHDSSG.C putty import
SSHGSS.H putty import
SSHGSSC.C putty import
SSHGSSC.H putty import
SSHMD5.C putty import
SSHNOGSS.C putty import
SSHPRIME.C putty import
SSHPUBK.C putty import
SSHRAND.C putty import
SSHRSA.C putty import
SSHRSAG.C putty import
SSHSH256.C putty import
SSHSH512.C putty import
SSHSHA.C putty import
SSHZLIB.C putty import
STORAGE.H putty import
TELNET.C putty import
TERMINAL.C putty import
TERMINAL.H putty import
TESTBACK.C putty import
TIME.C putty import
TIMING.C putty import
TREE234.C putty import
TREE234.H putty import
VERSION.C putty import
WCWIDTH.C putty import
WILDCARD.C putty import
X11FWD.C putty import


This is the README for the source archive of PuTTY, a free Win32
and Unix Telnet and SSH client.

If you want to rebuild PuTTY from source, we provide a variety of
Makefiles and equivalents. (If you have fetched the source from
Subversion, you'll have to generate the Makefiles yourself -- see

There are various compile-time directives that you can use to
disable or modify certain features; it may be necessary to do this
in some environments. They are documented in `Recipe', and in
comments in many of the generated Makefiles.

For building on Windows:

 - windows/ is for command-line builds on MS Visual C++
   systems. Change into the `windows' subdirectory and type `nmake
   -f' to build all the PuTTY binaries.

   Last time we checked, PuTTY built with vanilla VC7, or VC6 with
   an up-to-date Platform SDK. (It might still be possible to build
   with vanilla VC6, but you'll certainly have to remove some
   functionality with directives such as NO_IPV6.)

   (We've also had reports of success building with the
   OpenWatcom compiler -- -- using
   with `wmake -ms -f' and NO_MULTIMON, although we
   haven't tried this ourselves. Version 1.3 is reported to work.)

 - Inside the windows/MSVC subdirectory are MS Visual Studio project
   files for doing GUI-based builds of the various PuTTY utilities.
   These have been tested on Visual Studio 6.

   You should be able to build each PuTTY utility by loading the
   corresponding .dsp file in Visual Studio. For example,
   MSVC/putty/putty.dsp builds PuTTY itself, MSVC/plink/plink.dsp
   builds Plink, and so on.

 - windows/Makefile.bor is for the Borland C compiler. Type `make -f
   Makefile.bor' while in the `windows' subdirectory to build all
   the PuTTY binaries.

 - windows/Makefile.cyg is for Cygwin / mingw32 installations. Type
   `make -f Makefile.cyg' while in the `windows' subdirectory to
   build all the PuTTY binaries.

   You'll probably need quite a recent version of the w32api package.
   Note that by default the multiple monitor and HTML Help support are
   excluded from the Cygwin build, since at the time of writing Cygwin
   doesn't include the necessary headers.

 - windows/Makefile.lcc is for lcc-win32. Type `make -f
   Makefile.lcc' while in the `windows' subdirectory. (You will
   probably need to specify COMPAT=-DNO_MULTIMON.)

 - Inside the windows/DEVCPP subdirectory are Dev-C++ project
   files for doing GUI-based builds of the various PuTTY utilities.

The PuTTY team actively use (with VC7) and Makefile.cyg
(with mingw32), so we'll probably notice problems with those
toolchains fairly quickly. Please report any problems with the other
toolchains mentioned above.

For building on Unix:

 - unix/configure is for Unix and GTK. If you don't have GTK, you
   should still be able to build the command-line utilities (PSCP,
   PSFTP, Plink, PuTTYgen) using this script. To use it, change
   into the `unix' subdirectory, run `./configure' and then `make'.

   Note that Unix PuTTY has mostly only been tested on Linux so far;
   portability problems such as BSD-style ptys or different header file
   requirements are expected.

 - unix/Makefile.gtk and unix/Makefile.ux are for non-autoconfigured
   builds. These makefiles expect you to change into the `unix'
   subdirectory, then run `make -f Makefile.gtk' or `make -f
   Makefile.ux' respectively. Makefile.gtk builds all the programs but
   relies on Gtk, whereas Makefile.ux builds only the command-line
   utilities and has no Gtk dependence.

 - For the graphical utilities, Gtk+-1.2 and Gtk+-2.0 should both be

 - Both Unix Makefiles have an `install' target. Note that by default
   it tries to install `man' pages, which you may need to have built
   using Halibut first -- see below.

All of the Makefiles are generated automatically from the file
`Recipe' by the Perl script `'. Additions and corrections
to Recipe and the are much more useful than additions and
corrections to the alternative Makefiles themselves.

The Unix `configure' script and its various requirements are generated
by the shell script `', which requires GNU Autoconf, GNU
Automake, and Gtk; if you've got the source from Subversion rather
than using one of our source snapshots, you'll need to run this

Documentation (in various formats including Windows Help and Unix
`man' pages) is built from the Halibut (`.but') files in the `doc'
subdirectory using `doc/Makefile'. If you aren't using one of our
source snapshots, you'll need to do this yourself. Halibut can be
found at <>.

The PuTTY home web site is

If you want to send bug reports or feature requests, please read the
Feedback section of the web site before doing so. Sending one-line
reports saying `it doesn't work' will waste your time as much as

See the file LICENCE for the licence conditions.
Something went wrong with that request. Please try again.