"Fossies" - the Fresh Open Source Software Archive
Member "zsync-0.6.2/README" (19 Sep 2010, 6294 Bytes) of package /linux/privat/old/zsync-0.6.2.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard
) with prefixed line numbers.
Alternatively you can here view
the uninterpreted source code file.
1 zsync 0.6.2
4 zsync is a file transfer program. It allows you to download a file from a
5 remote web server, where you have a copy of an older version of the file on
6 your computer already. zsync downloads only the new parts of the file. It uses
7 the same algorithm as rsync.
9 zsync does not require any special server software or a shell account on the
10 remote system (rsync, in comparison, requires that you have an rsh or ssh
11 account, or that the remote system runs rsyncd). Instead, it uses a control
12 file - a .zsync file - that describes the file to be downloaded and enables
13 zsync to work out which blocks it needs. This file can be created by the admin
14 of the web server hosting the download, and placed alongside the file to
15 download - it is generated once, then any downloaders with zsync can use it.
16 Alternatively, anyone can download the file, make a .zsync and provide it to
17 other users (this is what I am doing for the moment).
19 The zsync web site is at http://zsync.moria.org.uk/ . There are likely to be
20 frequent releases, so check back often.
25 See the file INSTALL for instructions on compiling and (optionally) installing
28 As zsync is still at a very early stage, you may prefer not to install it, and
29 to run the program where you compile it. It will work fine that way - it has no
30 data files or libraries. The man(1) program on some systems will let you read
31 the man pages without installing them, e.g. man -l doc/zsync.1 .
33 zsync is free software. There is no implied support, no implied fitness for
34 purpose, no warranty. You use it at your own risk.
39 In its simplest form, as an end-user:
41 zsync http://some.example.com/downloads/my-big-download.tar.zsync
43 Someone has to make a .zsync file for the download before you can use zsync. As
44 zsync has not been around long, there won't be many such downloads around :-).
45 And you have to have an older copy of the file around, otherwise there is
46 little point in using zsync - zsync normally looks in the current directory for
47 a file of the same name as the one being downloaded (note: if the download is a
48 .gz file, the local file should be uncompressed - use gzip -d to decompress it
49 first). If the local file is not in the current directory or has a different
50 name, you can specify it with -i, e.g.:
52 zsync -i /var/lib/apt/lists/ftp.uk.debian.org_debian_dists_sarge_main_binary-i386_Packages http://zsync.moria.org.uk/s/sarge/Packages.zsync
54 Offering zsync downloads
57 Simple example:
58 Suppose you have http://example.com/dl/some-image-0.2.iso ; which is in
59 /var/www/downloads/ on your server.
61 cd /var/www/downloads/
62 zsyncmake -u 'http://example.com/dl/some-image-0.2.iso' some-image-0.2.iso
64 This creates some-image-0.2.iso.zsync in the same directory, and specifies the
65 URL from which users can retrieve the full file. (Note that zsync requires both
66 the public URL for the full download, and a local copy of the same file. Users
67 will still need access to the full downloads - zsync merely allows then to save
68 time by only downloading parts of the file.)
70 A user with v0.1 of the same file can now use zsync to download only the new
73 zsync -i some-image-0.1.iso http://example.com/dl/some-image-0.2.iso.zsync
75 Compressed example:
76 Support you have http://example.com/downloads/big-0.2.tar.gz ; which is
77 in /var/www/downloads/ on your server.
79 cd /var/www/downloads/
80 zsyncmake -u 'http://example.com/downloads/big-0.2.tar.gz' big-0.2.tar.gz
82 This creates big-0.2.tar.zsync in the same directory, and specifies the URL
83 from which users can see the file.
85 A user with v0.1 of the same file can now use zsync to download only the new
88 zsync -i <(zcat big-0.1.tar.gz) http://example.com/downloads/big-0.2.tar.zsync
90 Feedback, Support
93 Mail email@example.com if you have questions about zsync. And
94 join the mailing list if you are using it a lot or are interested in the
95 ongoing development.
97 Copyright, Author, Acknowledgements
100 zsync is based on the rsync algorithm, by Andrew Tridgell. It also incorporates
101 a number of optimisations, based on ideas in academic papers by Utku Irmak,
102 Svilen Mihaylov and Torsten Suel (primarily "Improved Single-Round Protocols
103 for Remote File Synchronization", Sept 2004).
105 zsync uses a large part of zlib - this code, in the zlib subdirectory, is
106 copyright 1995-2003 Jean-loup Gailly and Mark Adler, see zlib/README for
107 details. This code contains local changes by me that are not compatible with
108 and not available in standard zlib; see zlib/README.zsync for an explanation.
110 zsync includes an implementation of getaddrinfo by Motoyuki Kasahara. See
111 getaddrinfo.c for the license, it's a BSD-style license; but normally zsync
112 compiles against the getaddrinfo() in the system libc, so this code is not
113 normally used.
115 zsync also includes checksum code taken from OpenBSD. The MD4 code is public
116 domain, by Colin Plumb and Todd C. Miller. The SHA1 code is also public
117 domain, by Steve Reid. This code is in the libhash/ subdirectory, see the
118 individual files for their non-copyright notices.
120 The rest of the code (that is, everything not in the zlib and libhash
121 subdirectories) is
122 Copyright (C) 2004,2005,2007,2009 Colin Phipps <firstname.lastname@example.org>.
123 zsync is made available under the (clarified) Artistic License - see the file
124 COPYING for details.
126 Thanks also to:
128 * Dennis Schridde, for contributing patches to improve portability.
129 * Timothy Lee, for finding bugs and supplying patches.
130 * Richard Kiss, for supplying a patch for MacOS X compilation.
132 I must thank the developers above, whose code I have used. Also, I would like
133 to thank the Free Software Foundation and its contributors, for gcc, gdb and
134 emacs, the essential development tools. Also I would thank Sourceforge for
135 providing the hosting facilities for the downloads and mailing list, and the
136 compile farm for testing portability.
138 Also, thanks to Érsek László, James Montgomerie, James Antill,
139 email@example.com, Kent Mein, Marc Lehmann, Robert Lemmen, Mark Adler,
140 Ricardo Correia, Karl Kalleberg, Michael Stone, Richard Lucassen, Duncan
141 Mac-Vicar, Jari Aalto, Marcin Mirosław, Jan Varho and Loïc Minier for useful
142 feedback and bug reports for previous versions.