PuTTY Web Site Mirrors

Home | Licence | FAQ | Docs | Download | Keys
Mirrors | Updates | Feedback | Changes | Wishlist

Here is a list of PuTTY web site mirrors. I add to this list when people tell me mirrors exist: I don't go out looking for them. If you want to mirror the PuTTY site, you're welcome to - tell me about it and I'll put it on the list. Be sure to read the mirroring guidelines below.

The official PuTTY home site, in case that isn't where you're reading this, is

HTTP mirrors of the whole site:

Be aware that the mirrors are not updated instantly. Also, none of the FTP links on the Download page have been mirrored - they still point to the same places as on the original web site. (The HTTP links on the Download page have been mirrored.)

FTP mirrors of the PuTTY releases:

HTTP mirrors of the PuTTY development snapshots:

FTP mirrors of the PuTTY development snapshots:

Mirroring guidelines

The PuTTY web site is not available through rsync or any organised mirroring mechanism. If you want to mirror the web site, we recommend you do it using GNU wget.

When mirroring our web site, you will need to be careful of the binary downloads. They are hosted on a different server, for bandwidth reasons, so a conventional "wget -r" will not fetch them at all. Instead, you will need at least two invocations of wget. Also, the release binaries are stored under a directory called "latest", but this actually returns an HTTP temporary redirect to a numbered directory such as "0.52". Ideally a mirror should reproduce this behaviour as well.

Here is a sample shell script to create a working PuTTY mirror site with the binaries in the right place and the HTTP redirect set up correctly. This script requires sed, perl and GNU wget, and it also assumes your web server is Apache (you'll need to replace the ".htaccess" file with your server's equivalent if not).

#!/bin/sh 

# Fetch the main web site.
wget --no-parent -l0 -r --cut-dirs=1 -nH \
	http://www.chiark.greenend.org.uk/~sgtatham/putty/

# Fetch the .htaccess file from the download site, in order to find the
# version number of the latest release.
cd putty
wget http://the.earth.li/~sgtatham/putty/htaccess
version=`sed 's!.*http://the.earth.li/~sgtatham/putty/!!; s!/!!g' htaccess`
echo Latest version is $version

# Retrieve the binaries directory for that version from the binaries
# server.
wget --no-parent -l0 -r --cut-dirs=3 -P $version -nH \
	http://the.earth.li/~sgtatham/putty/$version/

# Fix the hyperlinks in the download and docs pages so that they point
# to the local mirror of the binaries instead of the primary binaries
# server. Without this there's barely any point in doing the mirror at
# all.
perl -i~ -pe 's!http://the.earth.li/~sgtatham/putty/!!' download.html docs.html

# Create a .htaccess file that supplies the redirection from "latest"
# to a numbered version directory. Note that you will need to replace
# MY_PATH and MY_URL with appropriate values for your own mirror site.
echo "Redirect temp /MY_PATH/latest/ http://MY_URL/$version/" > .htaccess

# The .htaccess file should also ensure the Windows Help files are not
# given any strange MIME types by the web server.
echo "AddType application/octet-stream .hlp" >> .htaccess
echo "AddType application/octet-stream .cnt" >> .htaccess


Comments to putty@projects.tartarus.org
(last modified on Thu, 18 Apr 2002, 09:18:19 GMT)