summaryrefslogtreecommitdiff
path: root/html
diff options
context:
space:
mode:
Diffstat (limited to 'html')
-rwxr-xr-xhtml/Makefile.am11
-rw-r--r--html/Makefile.in66
-rwxr-xr-xhtml/cache.html293
-rw-r--r--html/dev.html10
-rw-r--r--html/httrack.man.html293
-rw-r--r--html/images/bg_rings.gifbin4243 -> 4235 bytes
-rw-r--r--html/images/header_title_4.gifbin2000 -> 1986 bytes
-rw-r--r--html/img/addurl1.gifbin9690 -> 9687 bytes
-rw-r--r--html/img/addurl3.gifbin10533 -> 10529 bytes
-rw-r--r--html/img/addurl4.gifbin9686 -> 9683 bytes
-rw-r--r--html/img/addurl5.gifbin9680 -> 9659 bytes
-rw-r--r--html/img/backblue.gifbin5616 -> 4721 bytes
-rw-r--r--html/img/fade.gifbin828 -> 53 bytes
-rw-r--r--html/img/httrack.gifbin4908 -> 4085 bytes
-rw-r--r--html/img/snap1_b.gifbin10569 -> 10567 bytes
-rw-r--r--html/img/snap2_a.gifbin49391 -> 49389 bytes
-rw-r--r--html/img/snap2_b.gifbin41329 -> 41328 bytes
-rw-r--r--html/img/snap3_a.gifbin40089 -> 6114 bytes
-rw-r--r--html/img/snap4_a.gifbin37990 -> 37989 bytes
-rw-r--r--html/img/snap9.gifbin4847 -> 4846 bytes
-rw-r--r--html/img/snap9_a.gifbin3450 -> 2559 bytes
-rw-r--r--html/img/snap9_b.gifbin4458 -> 4425 bytes
-rw-r--r--html/img/snap9_c.gifbin3445 -> 2555 bytes
-rw-r--r--html/img/snap9_d.gifbin6850 -> 5688 bytes
-rw-r--r--html/img/snap9_d2.gifbin9871 -> 8975 bytes
-rw-r--r--html/img/snap9_d3.gifbin8199 -> 7411 bytes
-rw-r--r--html/img/snap9_d4.gifbin8083 -> 7344 bytes
-rw-r--r--html/img/snap9_d5.gifbin10404 -> 9558 bytes
-rw-r--r--html/img/snap9_d6.gifbin9051 -> 7970 bytes
-rw-r--r--html/img/snap9_d7.gifbin9088 -> 8024 bytes
-rw-r--r--html/img/snap9_e.gifbin3491 -> 3458 bytes
-rw-r--r--html/img/snap9_f.gifbin3380 -> 3347 bytes
-rw-r--r--html/img/snap9_g.gifbin2888 -> 2024 bytes
-rw-r--r--html/img/snap9_g2.gifbin9388 -> 8457 bytes
-rw-r--r--html/img/snap9_g3.gifbin13593 -> 12992 bytes
-rw-r--r--html/img/snap9_h.gifbin2874 -> 2841 bytes
-rw-r--r--html/img/snap9_i.gifbin2459 -> 2427 bytes
-rw-r--r--html/img/snap9_j.gifbin4844 -> 3949 bytes
-rw-r--r--html/img/snap9_k.gifbin4935 -> 4901 bytes
-rwxr-xr-xhtml/plug.html34
-rwxr-xr-xhtml/server/about.html2
-rwxr-xr-xhtml/server/addurl.html2
-rwxr-xr-xhtml/server/error.html2
-rwxr-xr-xhtml/server/exit.html2
-rwxr-xr-xhtml/server/file.html2
-rwxr-xr-xhtml/server/finished.html5
-rwxr-xr-xhtml/server/help.html2
-rwxr-xr-xhtml/server/images/bg_rings.gifbin4243 -> 4235 bytes
-rwxr-xr-xhtml/server/images/fade.gifbin828 -> 53 bytes
-rwxr-xr-xhtml/server/images/header_title_4.gifbin2000 -> 1986 bytes
-rwxr-xr-xhtml/server/index.html2
-rwxr-xr-xhtml/server/option1.html2
-rwxr-xr-xhtml/server/option10.html2
-rwxr-xr-xhtml/server/option11.html2
-rwxr-xr-xhtml/server/option2.html2
-rwxr-xr-xhtml/server/option2b.html2
-rwxr-xr-xhtml/server/option3.html2
-rwxr-xr-xhtml/server/option4.html2
-rwxr-xr-xhtml/server/option5.html2
-rwxr-xr-xhtml/server/option6.html2
-rwxr-xr-xhtml/server/option7.html2
-rwxr-xr-xhtml/server/option8.html7
-rwxr-xr-xhtml/server/option9.html2
-rwxr-xr-xhtml/server/refresh.html6
-rwxr-xr-xhtml/server/sfx/finished.wavbin0 -> 29840 bytes
-rwxr-xr-xhtml/server/step2.html25
-rwxr-xr-xhtml/server/step3.html2
-rwxr-xr-xhtml/server/step4.html20
-rw-r--r--html/step3.html302
-rw-r--r--html/step9_opt2.html2
70 files changed, 880 insertions, 232 deletions
diff --git a/html/Makefile.am b/html/Makefile.am
index 5bd12dd..a02e460 100755
--- a/html/Makefile.am
+++ b/html/Makefile.am
@@ -7,6 +7,7 @@ HelpHtmlimagesdir = $(datadir)/doc/httrack/html/images
HelpHtmlTxtdir = $(datadir)/doc/httrack/html
WebHtmldir = $(datadir)/doc/httrack/html/server
WebHtmlimagesdir = $(datadir)/doc/httrack/html/server/images
+WebHtmlsfxdir = $(datadir)/doc/httrack/html/server/sfx
WebPixmapdir = $(datadir)/pixmaps
WebGPixmapdir = $(datadir)/httrack/icons
VFolderEntrydir = $(prefix)/share/applications
@@ -19,6 +20,7 @@ HelpHtmlimages_DATA = images/*
HelpHtmlTxt_DATA = ../greetings.txt ../history.txt ../license.txt
WebHtml_DATA = server/*.html
WebHtmlimages_DATA = server/images/*
+WebHtmlsfx_DATA = server/sfx/*
# note: converted & normalized by
# ico2xpm favicon.ico -o httrack.xpm
# mogrify -format xpm -map /usr/share/doc/menu/examples/cmap.xpm httrack.xpm
@@ -27,6 +29,13 @@ WebGPixmap_DATA = server/div/webhttrack.xpm
VFolderEntry_DATA = server/div/*.desktop
EXTRA_DIST = $(HelpHtml_DATA) $(HelpHtmlimg_DATA) $(HelpHtmlimages_DATA) \
- $(HelpHtmldiv_DATA) $(WebHtml_DATA) $(WebHtmlimages_DATA) \
+ $(HelpHtmldiv_DATA) $(WebHtml_DATA) $(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) \
$(WebPixmap_DATA) $(WebGPixmap_DATA) $(VFolderEntry_DATA) \
httrack.css
+
+install-data-hook:
+ if test ! -f $(DESTDIR)$(prefix)/share/httrack/html ; then \
+ ( cd $(DESTDIR)$(prefix)/share/httrack \
+ && $(LN_S) ../doc/httrack/html html \
+ ) \
+ fi
diff --git a/html/Makefile.in b/html/Makefile.in
index 38f5149..90a625e 100644
--- a/html/Makefile.in
+++ b/html/Makefile.in
@@ -69,6 +69,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LFS_FLAG = @LFS_FLAG@
+LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
@@ -141,6 +142,7 @@ HelpHtmlimagesdir = $(datadir)/doc/httrack/html/images
HelpHtmlTxtdir = $(datadir)/doc/httrack/html
WebHtmldir = $(datadir)/doc/httrack/html/server
WebHtmlimagesdir = $(datadir)/doc/httrack/html/server/images
+WebHtmlsfxdir = $(datadir)/doc/httrack/html/server/sfx
WebPixmapdir = $(datadir)/pixmaps
WebGPixmapdir = $(datadir)/httrack/icons
VFolderEntrydir = $(prefix)/share/applications
@@ -153,6 +155,7 @@ HelpHtmlimages_DATA = images/*
HelpHtmlTxt_DATA = ../greetings.txt ../history.txt ../license.txt
WebHtml_DATA = server/*.html
WebHtmlimages_DATA = server/images/*
+WebHtmlsfx_DATA = server/sfx/*
# note: converted & normalized by
# ico2xpm favicon.ico -o httrack.xpm
# mogrify -format xpm -map /usr/share/doc/menu/examples/cmap.xpm httrack.xpm
@@ -161,7 +164,7 @@ WebGPixmap_DATA = server/div/webhttrack.xpm
VFolderEntry_DATA = server/div/*.desktop
EXTRA_DIST = $(HelpHtml_DATA) $(HelpHtmlimg_DATA) $(HelpHtmlimages_DATA) \
- $(HelpHtmldiv_DATA) $(WebHtml_DATA) $(WebHtmlimages_DATA) \
+ $(HelpHtmldiv_DATA) $(WebHtml_DATA) $(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) \
$(WebPixmap_DATA) $(WebGPixmap_DATA) $(VFolderEntry_DATA) \
httrack.css
@@ -173,7 +176,7 @@ DIST_SOURCES =
DATA = $(HelpHtml_DATA) $(HelpHtmlTxt_DATA) $(HelpHtmldiv_DATA) \
$(HelpHtmlimages_DATA) $(HelpHtmlimg_DATA) $(HelpHtmlroot_DATA) \
$(VFolderEntry_DATA) $(WebGPixmap_DATA) $(WebHtml_DATA) \
- $(WebHtmlimages_DATA) $(WebPixmap_DATA)
+ $(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) $(WebPixmap_DATA)
DIST_COMMON = Makefile.am Makefile.in
all: all-am
@@ -374,6 +377,24 @@ uninstall-WebHtmlimagesDATA:
echo " rm -f $(DESTDIR)$(WebHtmlimagesdir)/$$f"; \
rm -f $(DESTDIR)$(WebHtmlimagesdir)/$$f; \
done
+WebHtmlsfxDATA_INSTALL = $(INSTALL_DATA)
+install-WebHtmlsfxDATA: $(WebHtmlsfx_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(WebHtmlsfxdir)
+ @list='$(WebHtmlsfx_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(WebHtmlsfxDATA_INSTALL) $$d$$p $(DESTDIR)$(WebHtmlsfxdir)/$$f"; \
+ $(WebHtmlsfxDATA_INSTALL) $$d$$p $(DESTDIR)$(WebHtmlsfxdir)/$$f; \
+ done
+
+uninstall-WebHtmlsfxDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(WebHtmlsfx_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(WebHtmlsfxdir)/$$f"; \
+ rm -f $(DESTDIR)$(WebHtmlsfxdir)/$$f; \
+ done
WebPixmapDATA_INSTALL = $(INSTALL_DATA)
install-WebPixmapDATA: $(WebPixmap_DATA)
@$(NORMAL_INSTALL)
@@ -404,7 +425,7 @@ top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
- $(mkinstalldirs) $(distdir)/div $(distdir)/images $(distdir)/img $(distdir)/server $(distdir)/server/div $(distdir)/server/images
+ $(mkinstalldirs) $(distdir)/div $(distdir)/images $(distdir)/img $(distdir)/server $(distdir)/server/div $(distdir)/server/images $(distdir)/server/sfx
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
@@ -434,7 +455,7 @@ check: check-am
all-am: Makefile $(DATA)
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(HelpHtmldir) $(DESTDIR)$(HelpHtmlTxtdir) $(DESTDIR)$(HelpHtmldivdir) $(DESTDIR)$(HelpHtmlimagesdir) $(DESTDIR)$(HelpHtmlimgdir) $(DESTDIR)$(HelpHtmlrootdir) $(DESTDIR)$(VFolderEntrydir) $(DESTDIR)$(WebGPixmapdir) $(DESTDIR)$(WebHtmldir) $(DESTDIR)$(WebHtmlimagesdir) $(DESTDIR)$(WebPixmapdir)
+ $(mkinstalldirs) $(DESTDIR)$(HelpHtmldir) $(DESTDIR)$(HelpHtmlTxtdir) $(DESTDIR)$(HelpHtmldivdir) $(DESTDIR)$(HelpHtmlimagesdir) $(DESTDIR)$(HelpHtmlimgdir) $(DESTDIR)$(HelpHtmlrootdir) $(DESTDIR)$(VFolderEntrydir) $(DESTDIR)$(WebGPixmapdir) $(DESTDIR)$(WebHtmldir) $(DESTDIR)$(WebHtmlimagesdir) $(DESTDIR)$(WebHtmlsfxdir) $(DESTDIR)$(WebPixmapdir)
install: install-am
install-exec: install-exec-am
@@ -481,7 +502,9 @@ install-data-am: install-HelpHtmlDATA install-HelpHtmlTxtDATA \
install-HelpHtmlimgDATA install-HelpHtmlrootDATA \
install-VFolderEntryDATA install-WebGPixmapDATA \
install-WebHtmlDATA install-WebHtmlimagesDATA \
- install-WebPixmapDATA
+ install-WebHtmlsfxDATA install-WebPixmapDATA
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-exec-am:
@@ -512,7 +535,8 @@ uninstall-am: uninstall-HelpHtmlDATA uninstall-HelpHtmlTxtDATA \
uninstall-HelpHtmlimgDATA uninstall-HelpHtmlrootDATA \
uninstall-VFolderEntryDATA uninstall-WebGPixmapDATA \
uninstall-WebHtmlDATA uninstall-WebHtmlimagesDATA \
- uninstall-WebPixmapDATA uninstall-info-am
+ uninstall-WebHtmlsfxDATA uninstall-WebPixmapDATA \
+ uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
@@ -521,19 +545,27 @@ uninstall-am: uninstall-HelpHtmlDATA uninstall-HelpHtmlTxtDATA \
install-HelpHtmlimagesDATA install-HelpHtmlimgDATA \
install-HelpHtmlrootDATA install-VFolderEntryDATA \
install-WebGPixmapDATA install-WebHtmlDATA \
- install-WebHtmlimagesDATA install-WebPixmapDATA install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall \
- uninstall-HelpHtmlDATA uninstall-HelpHtmlTxtDATA \
- uninstall-HelpHtmldivDATA uninstall-HelpHtmlimagesDATA \
- uninstall-HelpHtmlimgDATA uninstall-HelpHtmlrootDATA \
- uninstall-VFolderEntryDATA uninstall-WebGPixmapDATA \
- uninstall-WebHtmlDATA uninstall-WebHtmlimagesDATA \
+ install-WebHtmlimagesDATA install-WebHtmlsfxDATA \
+ install-WebPixmapDATA install-am install-data install-data-am \
+ install-exec install-exec-am install-info install-info-am \
+ install-man install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am uninstall uninstall-HelpHtmlDATA \
+ uninstall-HelpHtmlTxtDATA uninstall-HelpHtmldivDATA \
+ uninstall-HelpHtmlimagesDATA uninstall-HelpHtmlimgDATA \
+ uninstall-HelpHtmlrootDATA uninstall-VFolderEntryDATA \
+ uninstall-WebGPixmapDATA uninstall-WebHtmlDATA \
+ uninstall-WebHtmlimagesDATA uninstall-WebHtmlsfxDATA \
uninstall-WebPixmapDATA uninstall-am uninstall-info-am
+
+install-data-hook:
+ if test ! -f $(DESTDIR)$(prefix)/share/httrack/html ; then \
+ ( cd $(DESTDIR)$(prefix)/share/httrack \
+ && $(LN_S) ../doc/httrack/html html \
+ ) \
+ fi
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/html/cache.html b/html/cache.html
new file mode 100755
index 0000000..df28dc3
--- /dev/null
+++ b/html/cache.html
@@ -0,0 +1,293 @@
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
+ <meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
+ <title>HTTrack Website Copier - Cache format specification</title>
+
+ <style type="text/css">
+ <!--
+
+body {
+ margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
+ background: #77b;
+}
+body, td {
+ font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+ }
+
+#subTitle {
+ background: #000; color: #fff; padding: 4px; font-weight: bold;
+ }
+
+#siteNavigation a, #siteNavigation .current {
+ font-weight: bold; color: #448;
+ }
+#siteNavigation a:link { text-decoration: none; }
+#siteNavigation a:visited { text-decoration: none; }
+
+#siteNavigation .current { background-color: #ccd; }
+
+#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
+#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
+
+
+a:link { text-decoration: underline; color: #00f; }
+a:visited { text-decoration: underline; color: #000; }
+a:hover { text-decoration: underline; color: #c00; }
+a:active { text-decoration: underline; }
+
+#pageContent {
+ clear: both;
+ border-bottom: 6px solid #000;
+ padding: 10px; padding-top: 20px;
+ line-height: 1.65em;
+ background-image: url(images/bg_rings.gif);
+ background-repeat: no-repeat;
+ background-position: top right;
+ }
+
+#pageContent, #siteNavigation {
+ background-color: #ccd;
+ }
+
+
+.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
+.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
+
+hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
+
+h1 { margin: 0; font-weight: bold; font-size: 2em; }
+h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
+h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
+h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
+
+.blak { background-color: #000; }
+.hide { display: none; }
+.tableWidth { min-width: 400px; }
+
+.tblRegular { border-collapse: collapse; }
+.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
+.tblHeaderColor, .tblHeaderColor td { background: #99c; }
+.tblNoBorder td { border: 0; }
+
+
+// -->
+</style>
+
+</head>
+
+<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
+ <tr>
+ <td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
+ </tr>
+</table>
+<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
+ <tr>
+ <td id="subTitle">Open Source offline browser</td>
+ </tr>
+</table>
+<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
+<tr class="blak">
+<td>
+ <table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
+ <tr>
+ <td colspan="6">
+ <table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
+ <tr>
+ <td id="pageContent">
+<!-- ==================== End prologue ==================== -->
+
+<h2 align="center"><em>Cache format specification</em></h2>
+
+<br />
+
+For updating purpose, HTTrack stores original (untouched) HTML data,
+references to downloaded files, and other meta-data (especially parts of the HTTP headers) in a cache,
+located in the hts-cache directory. Because local html pages are always modified to "fit" the local
+filesystem structure, and because meta-data such as the last-Modified date and Etag can not be stored
+with the associated files, the cache is absolutely mandatory for reprocessing (update/continue) phases.
+
+<br /><br />
+
+<h3>The (new) cache.zip format</h3>
+
+The 3.31 release of HTTrack introduces a new cache format, more extensible and efficient than the previous one (ndx/dat format).
+
+The main advantages of this cache are:
+
+<ul>
+<li>One single file for a complete website cache archive</li>
+<li>Standard <a href="http://www.pkware.com/products/enterprise/white_papers/appnote.txt" target="_new">ZIP</a> format, that can be easily reused on most platforms and languages</li>
+<li>Compressed data with the efficient and opened <a href="http://www.gzip.org/zlib/" target="_new">zlib</a> format</li>
+</ul>
+
+The cache is made of ZIP files entries ; with one ZIP file entry per fetched URL (successfully or not - errors are also stored).<br />
+For each entry:
+<ul>
+<li>The ZIP file name is the original URL [<small><a href="#orig">see notes below</a></small>]</li>
+<li>The ZIP file contents, <b>if available</b>, is the original (compressed, using the deflate algorythm) data</li>
+<li>The ZIP file extra field (in the local file header) contains a list of meta-fields, very similar to the <a href="http://www.ietf.org/rfc/rfc2616.txt?number=2616" target="new_">HTTP</a> headers fields. See also <a href="http://www.ietf.org/rfc/rfc2396.txt?number=2396" target="new_">RFC</a>.</li><br />
+<li>The ZIP file timestamp follows the "Last-Modified-Since" field given for this URL, if any</li>
+</ul>
+
+Example of cache file:
+<br />
+
+<pre>
+$ unzip -l hts-cache/new.zip
+Archive: hts-cache/new.zip
+HTTrack Website Copier/3.31-ALPHA-4 mirror complete in 3 seconds : 5 links scanned,
+3 files written (16109 bytes overall) [17690 bytes received at 5896 bytes/sec]
+(1 errors, 0 warnings, 0 messages)
+ Length Date Time Name
+ -------- ---- ---- ----
+ 94 07-18-03 08:59 http://www.httrack.com/robots.txt
+ 9866 01-17-04 01:09 http://www.httrack.com/html/cache.html
+ 0 05-11-03 13:31 http://www.httrack.com/html/images/bg_rings.gif
+ 207 01-19-04 05:49 http://www.httrack.com/html/fade.gif
+ 0 05-11-03 13:31 http://www.httrack.com/html/images/header_title_4.gif
+ -------- -------
+ 10167 5 files
+</pre>
+
+Example of cache file meta-data:
+<br />
+
+<pre>
+HTTP/1.1 200 OK
+X-In-Cache: 1
+X-StatusCode: 200
+X-StatusMessage: OK
+X-Size: 94
+Content-Type: text/plain
+Last-Modified: Fri, 18 Jul 2003 08:59:11 GMT
+Etag: "40ebb5-5e-3f17b6df"
+X-Addr: www.httrack.com
+X-Fil: /robots.txt
+</pre>
+
+There are also specific issues regarding this format:
+
+<ul>
+<li>The data in the central directory (such as CD extra field, and CD comments) are not used</li>
+<li>The ZIP archive is allowed to contains more than 2^16 files (65535) ; in such case the total number of entries in the 32-bit central directory is 65536 (0xffff), but the presence of the 64-bit central directory is not mandatory</li>
+<li>The ZIP archive is allowed to contains more than 2^32 bytes (4GiB) ; in such case the 64-bit central directory must be present <b>(not currently supported)</b></li>
+</ul>
+
+<br />
+<b>Meta-data stored in the "extra field" of the local file headers</b><br />
+
+The extra field is composed of text data, and this text data is composed of distinct lines of headers.
+The end of text, <b>or</b> a double CR/LF, mark the end of this zone.
+This method allows to optionally store original HTTP headers just after the "meta-data" headers for informational use.<br />
+
+<br />
+<b>The status line (the first headers line)</b><br />
+
+Status-Line = HTTP-Version SP Status-Code SP X-Reason-Phrase CRLF<br />
+
+<br />
+<b>Other lines:</b><br />
+
+<br />
+<b>Specific fields:</b><br />
+<ul>
+<li>X-In-Cache</li><br>
+Indicates if the data are present (value=1) in the cache (that is, as ZIP data), or in an external file (value=0).
+This field MUST be the first field.
+
+<li>X-StatusCode</li><br>
+The modified (by httrack) status code after processing. 304 error codes ("Not modified"), for example, are transformed into "200" codes after processing.
+
+<li>X-StatusMessage</li><br>
+The modified (by httrack) status message.
+
+<li>X-Size</li><br>
+The stored (either in cache, or in an external file) data size.
+
+<li>X-Charset</li><br>
+The original charset.
+
+<li>X-Addr</li><br>
+The original URL address part.
+
+<li>X-Fil</li><br>
+The original URL path part.
+
+<li>X-Save</li><br>
+The local filename, depending on user's "build structure" preferences.
+
+</ul>
+
+<br />
+<b>Standard (RFC 2616) "useful" fields:</b><br />
+<ul>
+<li>Content-Type</li>
+<li>Last-Modified</li>
+<li>Etag</li>
+<li>Location</li>
+<li>Content-Disposition</li>
+</ul>
+
+<br />
+<b>Specific fields in "BNF-like" grammar:</b><br />
+
+<pre>
+X-In-Cache = "X-In-Cache" ":" 1*DIGIT
+X-StatusCode = "X-StatusCode" ":" 1*DIGIT
+X-StatusMessage = "X-StatusMessage" ":" *&lt;TEXT, excluding CR, LF&gt;
+X-Size = "X-Size" ":" 1*DIGIT
+X-Charset = "X-Charset" ":" value
+X-Addr = "X-Addr" ":" scheme ":" "//" authority
+X-Fil = "X-Fil" ":" rel_path
+X-Save = "X-Save" ":" rel_path
+</pre>
+
+<b>RFC standard fields:</b><br />
+
+<pre>
+Content-Type = "Content-Type" ":" media-type
+Last-Modified = "Last-Modified" ":" HTTP-date
+Etag = "ETag" ":" entity-tag
+Location = "Location" ":" absoluteURI
+Content-Disposition = "Content-Disposition" ":" disposition-type *( ";" disposition-parm )
+</pre>
+
+<br />
+And, for your information,
+<pre>
+X-Reason-Phrase = *&lt;TEXT, with a maximum of 32 characters, and excluding CR, LF&gt;
+</pre>
+
+
+<a name="orig">Note: Because the URLs may have an unexpected format, especially with double "/" inside, and other reserved characters ("?", "&" ..),
+various ZIP uncompressors can potentially have troubles accessing or decompressing the data.
+Libraries should generally handle this peculiar format, however.
+</a>
+
+<br /><br />
+
+<!-- ==================== Start epilogue ==================== -->
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+</td>
+</tr>
+</table>
+
+<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
+ <tr>
+ <td id="footer"><small>&copy; 2003 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
+ </tr>
+</table>
+
+</body>
+
+</html>
+
+
diff --git a/html/dev.html b/html/dev.html
index 9748991..66ae8a1 100644
--- a/html/dev.html
+++ b/html/dev.html
@@ -107,6 +107,8 @@ HTTrack can be used as a third-party program in batch files, or as library.
Depending on your needs, you may look:
<br><br>
+
+<h3>Programming</h3>
<ul>
<li><a href="scripting.html">Simple use: scripting examples using the httrack commandline program</a></li><br>
@@ -120,6 +122,14 @@ For advanced functions, you may have to use external C wrappers ; for example wh
The library can be used to write graphical GUIs for httrack, or to run mirrors from a program.
<br><i>Important note: please read the license information of httrack before developing add-ons</i>
</ul>
+
+<h3>Technical references</h3>
+<ul>
+<li><a href="cache.html">Cache format</a></li><br>
+HTTrack stores original HTML data and references to downloaded files in a cache, located in the hts-cache directory.
+This page describes the HTTrack cache format.
+</ul>
+
<br><br>
diff --git a/html/httrack.man.html b/html/httrack.man.html
index 986954b..33701d1 100644
--- a/html/httrack.man.html
+++ b/html/httrack.man.html
@@ -24,7 +24,7 @@
<hr>
<!-- Creator : groff version 1.17.2 -->
-<!-- CreationDate: Sat Oct 11 09:14:41 2003 -->
+<!-- CreationDate: Sat Jun 4 14:17:19 2005 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
@@ -54,34 +54,36 @@ httrack - offline browser : copy websites to a local directory</td></table>
--host-control[=N]</b> ] [ <b>-%P,
--extended-parsing[=N]</b> ] [ <b>-n, --near</b> ] [ <b>-t,
--test</b> ] [ <b>-%L, --list</b> ] [ <b>-%S, --urllist</b>
-] [ <b>-NN, --structure[=N]</b> ] [ <b>-%M,
---mime-html[=N]</b> ] [ <b>-LN, --long-names[=N]</b> ] [
-<b>-KN, --keep-links[=N]</b> ] [ <b>-x,
---replace-external</b> ] [ <b>-%x, --disable-passwords</b> ]
-[ <b>-%q, --include-query-string</b> ] [ <b>-o,
---generate-errors</b> ] [ <b>-X, --purge-old[=N]</b> ] [
-<b>-%p, --preserve</b> ] [ <b>-bN, --cookies[=N]</b> ] [
-<b>-u, --check-type[=N]</b> ] [ <b>-j, --parse-java[=N]</b>
-] [ <b>-sN, --robots[=N]</b> ] [ <b>-%h, --http-10</b> ] [
-<b>-%k, --keep-alive</b> ] [ <b>-%B, --tolerant</b> ] [
-<b>-%s, --updatehack</b> ] [ <b>-%u, --urlhack</b> ] [
-<b>-%A, --assume</b> ] [ <b>-@iN, --protocol[=N]</b> ] [
-<b>-F, --user-agent</b> ] [ <b>-%F, --footer</b> ] [ <b>-%l,
---language</b> ] [ <b>-C, --cache[=N]</b> ] [ <b>-k,
---store-all-in-cache</b> ] [ <b>-%n, --do-not-recatch</b> ]
-[ <b>-%v, --display</b> ] [ <b>-Q, --do-not-log</b> ] [
-<b>-q, --quiet</b> ] [ <b>-z, --extra-log</b> ] [ <b>-Z,
---debug-log</b> ] [ <b>-v, --verbose</b> ] [ <b>-f,
---file-log</b> ] [ <b>-f2, --single-log</b> ] [ <b>-I,
---index</b> ] [ <b>-%i, --build-top-index</b> ] [ <b>-%I,
---search-index</b> ] [ <b>-pN, --priority[=N]</b> ] [ <b>-S,
---stay-on-same-dir</b> ] [ <b>-D, --can-go-down</b> ] [
-<b>-U, --can-go-up</b> ] [ <b>-B, --can-go-up-and-down</b> ]
-[ <b>-a, --stay-on-same-address</b> ] [ <b>-d,
+] [ <b>-NN, --structure[=N]</b> ] [ <b>-%M, --mime-html</b>
+] [ <b>-LN, --long-names[=N]</b> ] [ <b>-KN,
+--keep-links[=N]</b> ] [ <b>-x, --replace-external</b> ] [
+<b>-%x, --disable-passwords</b> ] [ <b>-%q,
+--include-query-string</b> ] [ <b>-o, --generate-errors</b>
+] [ <b>-X, --purge-old[=N]</b> ] [ <b>-%p, --preserve</b> ]
+[ <b>-bN, --cookies[=N]</b> ] [ <b>-u, --check-type[=N]</b>
+] [ <b>-j, --parse-java[=N]</b> ] [ <b>-sN, --robots[=N]</b>
+] [ <b>-%h, --http-10</b> ] [ <b>-%k, --keep-alive</b> ] [
+<b>-%B, --tolerant</b> ] [ <b>-%s, --updatehack</b> ] [
+<b>-%u, --urlhack</b> ] [ <b>-%A, --assume</b> ] [ <b>-@iN,
+--protocol[=N]</b> ] [ <b>-F, --user-agent</b> ] [ <b>-%R,
+--referer</b> ] [ <b>-%E, --from</b> ] [ <b>-%F,
+--footer</b> ] [ <b>-%l, --language</b> ] [ <b>-C,
+--cache[=N]</b> ] [ <b>-k, --store-all-in-cache</b> ] [
+<b>-%n, --do-not-recatch</b> ] [ <b>-%v, --display</b> ] [
+<b>-Q, --do-not-log</b> ] [ <b>-q, --quiet</b> ] [ <b>-z,
+--extra-log</b> ] [ <b>-Z, --debug-log</b> ] [ <b>-v,
+--verbose</b> ] [ <b>-f, --file-log</b> ] [ <b>-f2,
+--single-log</b> ] [ <b>-I, --index</b> ] [ <b>-%i,
+--build-top-index</b> ] [ <b>-%I, --search-index</b> ] [
+<b>-pN, --priority[=N]</b> ] [ <b>-S, --stay-on-same-dir</b>
+] [ <b>-D, --can-go-down</b> ] [ <b>-U, --can-go-up</b> ] [
+<b>-B, --can-go-up-and-down</b> ] [ <b>-a,
+--stay-on-same-address</b> ] [ <b>-d,
--stay-on-same-domain</b> ] [ <b>-l, --stay-on-same-tld</b>
] [ <b>-e, --go-everywhere</b> ] [ <b>-%H,
---debug-headers</b> ] [ <b>-V, --userdef-cmd</b> ] [ <b>-%U,
---user</b> ] [ <b>-%W, --callback</b> ] [ <b>-K,
+--debug-headers</b> ] [ <b>-%!,
+--disable-security-limits</b> ] [ <b>-V, --userdef-cmd</b> ]
+[ <b>-%U, --user</b> ] [ <b>-%W, --callback</b> ] [ <b>-K,
--keep-links[=N]</b> ] [</td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
@@ -120,7 +122,7 @@ site</td></table>
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>httrack www.someweb.com/bob/ www.anothertest.com/mike/
-+*.com/*.jpg</b></td></table>
++*.com/*.jpg -mime:application/*</b></td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
@@ -632,6 +634,21 @@ user defined structure (-N
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
+-%N</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+delayed type check, don t make any link test but wait for
+files download to start instead (experimental) (%N0 don t
+use, %N1 use for unknown extensions, * %N2 always
+use)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
-%M</td></table>
<table width="100%" border=0 rules="none" frame="void"
@@ -639,7 +656,7 @@ user defined structure (-N
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
generate a RFC MIME-encapsulated full-archive (.mht)
-(--mime-html[=N])</td></table>
+(--mime-html)</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
@@ -804,7 +821,8 @@ check document type if unknown (cgi,asp..) (u0 don t check,
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
follow robots.txt and meta robots tags
-(0=never,1=sometimes,* 2=always) (--robots[=N])</td></table>
+(0=never,1=sometimes,* 2=always, 3=always (even strict
+rules)) (--robots[=N])</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
@@ -891,6 +909,19 @@ type (-%A php3,cgi=text/html;dat,bin=application/x-zip)
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
+-can</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+also be used to force a specific file type: --assume
+foo.cgi=text/html</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
-@iN</td></table>
<table width="100%" border=0 rules="none" frame="void"
@@ -916,8 +947,34 @@ only) (--protocol[=N])</td></table>
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
-user-agent field (-F &quot;user-agent name&quot;)
-(--user-agent &lt;param&gt;)</td></table>
+user-agent field sent in HTTP headers (-F &quot;user-agent
+name&quot;) (--user-agent &lt;param&gt;)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+-%R</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+default referer field sent in HTTP headers (--referer
+&lt;param&gt;)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+-%E</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+from email address sent in HTTP headers (--from
+&lt;param&gt;)</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
@@ -1003,7 +1060,7 @@ do not re-download locally erased files
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
display on screen filenames downloaded (in realtime) - * %v1
-short version (--display)</td></table>
+short version - %v2 full animation (--display)</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
@@ -1354,6 +1411,30 @@ filter test (-#0 *.gif www.bar.com/foo.gif )
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
+-#1</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+simplify test (-#1 ./foo/bar/../foobar)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+-#2</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+type test (-#2 /foo/bar.php)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
-#C</td></table>
<table width="100%" border=0 rules="none" frame="void"
@@ -1367,6 +1448,42 @@ cache list (-#C *.com/spider*.gif (--debug-cache
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
+-#R</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+cache repair (damaged cache) (--debug-oldftp)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+-#d</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+debug parser (--debug-parsing)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+-#E</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+extract new.zip cache meta-data in meta.zip</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
-#f</td></table>
<table width="100%" border=0 rules="none" frame="void"
@@ -1517,6 +1634,52 @@ execute a shell command (-#! &quot;echo hello&quot;) (--exec
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="4%"></td><td width="96%">
+<b>Dangerous options: (do NOT use unless you exactly know
+what you are doing)</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+-%!</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+bypass built-in security limits aimed to avoid bandwith
+abuses (bandwidth, simultaneous connections)
+(--disable-security-limits)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+-IMPORTANT</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+NOTE: DANGEROUS OPTION, ONLY SUITABLE FOR
+EXPERTS</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+-USE</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+IT WITH EXTREME CARE</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
<b>Command-line specific options:</b></td></table>
<table width="100%" border=0 rules="none" frame="void"
@@ -1557,7 +1720,7 @@ smith) (--user &lt;param&gt;)</td></table>
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
use an external library function as a wrapper (-%W
-link-detected=foo.so:myfunction) (--callback
+link-detected=foo.so:myfunction[,myparameters]) (--callback
&lt;param&gt;)</td></table>
<table width="100%" border=0 rules="none" frame="void"
@@ -1834,11 +1997,12 @@ directory</td></table>
file, including file type (ex: image.gif) %t File type (ex:
gif) %p Path [without ending /] (ex: /someimages) %h Host
name (ex: www.someweb.com) %M URL MD5 (128 bits, 32 ascii
-bytes) %Q query string MD5 (128 bits, 32 ascii bytes) %q
-small query string MD5 (16 bits, 4 ascii bytes) %s? Short
-name version (ex: %sN) %[param] param variable in query
-string %[param:before:after:notfound:empty] advanced
-variable extraction</td></table>
+bytes) %Q query string MD5 (128 bits, 32 ascii bytes) %r
+protocol name (ex: http) %q small query string MD5 (16 bits,
+4 ascii bytes) %s? Short name version (ex: %sN) %[param]
+param variable in query string
+%[param:before:after:notfound:empty] advanced variable
+extraction</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
@@ -2195,6 +2359,32 @@ opt);</b></td></table>
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="4%"></td><td width="96%">
+<b>preprocess-html : int (* myfunction)(char** html,int*
+len,char* url</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+adresse,char* url fichier);</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>postprocess-html : int (* myfunction)(char** html,int*
+len,char* url</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+adresse,char* url fichier);</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
<b>check-html : int (* myfunction)(char* html,int len,char*
url</b></td></table>
@@ -2270,6 +2460,19 @@ link);</b></td></table>
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="4%"></td><td width="96%">
+<b>link-detected2 : int (* myfunction)(char* link, char*
+start</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+tag);</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
<b>transfer-status : int (*
myfunction)(lien</b></td></table>
@@ -2291,6 +2494,18 @@ back* back);</td></table>
<td width="10%"></td><td width="90%">
complete,char* fil complete,char* referer adr,char* referer
fil,char* save);</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>And &lt;wrappername&gt;</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+init() functions if defined, called upon plug</td></table>
<a name="FILES"></a>
<h2>FILES</h2>
diff --git a/html/images/bg_rings.gif b/html/images/bg_rings.gif
index da7c5c8..5dc34d1 100644
--- a/html/images/bg_rings.gif
+++ b/html/images/bg_rings.gif
Binary files differ
diff --git a/html/images/header_title_4.gif b/html/images/header_title_4.gif
index 93847d3..d5f203a 100644
--- a/html/images/header_title_4.gif
+++ b/html/images/header_title_4.gif
Binary files differ
diff --git a/html/img/addurl1.gif b/html/img/addurl1.gif
index 009277c..79ed0c6 100644
--- a/html/img/addurl1.gif
+++ b/html/img/addurl1.gif
Binary files differ
diff --git a/html/img/addurl3.gif b/html/img/addurl3.gif
index 6df70f8..30bfb0f 100644
--- a/html/img/addurl3.gif
+++ b/html/img/addurl3.gif
Binary files differ
diff --git a/html/img/addurl4.gif b/html/img/addurl4.gif
index 721e463..bec49b9 100644
--- a/html/img/addurl4.gif
+++ b/html/img/addurl4.gif
Binary files differ
diff --git a/html/img/addurl5.gif b/html/img/addurl5.gif
index 4f61bc4..678326e 100644
--- a/html/img/addurl5.gif
+++ b/html/img/addurl5.gif
Binary files differ
diff --git a/html/img/backblue.gif b/html/img/backblue.gif
index 99cbbaa..ddd15ff 100644
--- a/html/img/backblue.gif
+++ b/html/img/backblue.gif
Binary files differ
diff --git a/html/img/fade.gif b/html/img/fade.gif
index 579cc5f..0ae8336 100644
--- a/html/img/fade.gif
+++ b/html/img/fade.gif
Binary files differ
diff --git a/html/img/httrack.gif b/html/img/httrack.gif
index 51da0d2..82aca38 100644
--- a/html/img/httrack.gif
+++ b/html/img/httrack.gif
Binary files differ
diff --git a/html/img/snap1_b.gif b/html/img/snap1_b.gif
index 539e7c1..49853a0 100644
--- a/html/img/snap1_b.gif
+++ b/html/img/snap1_b.gif
Binary files differ
diff --git a/html/img/snap2_a.gif b/html/img/snap2_a.gif
index ddb0367..a840e1a 100644
--- a/html/img/snap2_a.gif
+++ b/html/img/snap2_a.gif
Binary files differ
diff --git a/html/img/snap2_b.gif b/html/img/snap2_b.gif
index 6d6ad07..a1d7000 100644
--- a/html/img/snap2_b.gif
+++ b/html/img/snap2_b.gif
Binary files differ
diff --git a/html/img/snap3_a.gif b/html/img/snap3_a.gif
index 84a32ef..7f720e1 100644
--- a/html/img/snap3_a.gif
+++ b/html/img/snap3_a.gif
Binary files differ
diff --git a/html/img/snap4_a.gif b/html/img/snap4_a.gif
index 18a8df9..f951626 100644
--- a/html/img/snap4_a.gif
+++ b/html/img/snap4_a.gif
Binary files differ
diff --git a/html/img/snap9.gif b/html/img/snap9.gif
index 1277e01..6c3c285 100644
--- a/html/img/snap9.gif
+++ b/html/img/snap9.gif
Binary files differ
diff --git a/html/img/snap9_a.gif b/html/img/snap9_a.gif
index 342f219..f45c1e2 100644
--- a/html/img/snap9_a.gif
+++ b/html/img/snap9_a.gif
Binary files differ
diff --git a/html/img/snap9_b.gif b/html/img/snap9_b.gif
index 07b9bd4..e450a5a 100644
--- a/html/img/snap9_b.gif
+++ b/html/img/snap9_b.gif
Binary files differ
diff --git a/html/img/snap9_c.gif b/html/img/snap9_c.gif
index 0620351..fe1b66e 100644
--- a/html/img/snap9_c.gif
+++ b/html/img/snap9_c.gif
Binary files differ
diff --git a/html/img/snap9_d.gif b/html/img/snap9_d.gif
index 120a26f..c46a6ec 100644
--- a/html/img/snap9_d.gif
+++ b/html/img/snap9_d.gif
Binary files differ
diff --git a/html/img/snap9_d2.gif b/html/img/snap9_d2.gif
index 4970603..1072cda 100644
--- a/html/img/snap9_d2.gif
+++ b/html/img/snap9_d2.gif
Binary files differ
diff --git a/html/img/snap9_d3.gif b/html/img/snap9_d3.gif
index c8f666d..740f9d6 100644
--- a/html/img/snap9_d3.gif
+++ b/html/img/snap9_d3.gif
Binary files differ
diff --git a/html/img/snap9_d4.gif b/html/img/snap9_d4.gif
index 82034eb..30e6923 100644
--- a/html/img/snap9_d4.gif
+++ b/html/img/snap9_d4.gif
Binary files differ
diff --git a/html/img/snap9_d5.gif b/html/img/snap9_d5.gif
index 5e4c4f8..4a36776 100644
--- a/html/img/snap9_d5.gif
+++ b/html/img/snap9_d5.gif
Binary files differ
diff --git a/html/img/snap9_d6.gif b/html/img/snap9_d6.gif
index e300bf3..192c83b 100644
--- a/html/img/snap9_d6.gif
+++ b/html/img/snap9_d6.gif
Binary files differ
diff --git a/html/img/snap9_d7.gif b/html/img/snap9_d7.gif
index 67d73bf..0e977f2 100644
--- a/html/img/snap9_d7.gif
+++ b/html/img/snap9_d7.gif
Binary files differ
diff --git a/html/img/snap9_e.gif b/html/img/snap9_e.gif
index 2ac97d1..e4d931f 100644
--- a/html/img/snap9_e.gif
+++ b/html/img/snap9_e.gif
Binary files differ
diff --git a/html/img/snap9_f.gif b/html/img/snap9_f.gif
index 58fced6..78922e3 100644
--- a/html/img/snap9_f.gif
+++ b/html/img/snap9_f.gif
Binary files differ
diff --git a/html/img/snap9_g.gif b/html/img/snap9_g.gif
index 4b26899..fcb3267 100644
--- a/html/img/snap9_g.gif
+++ b/html/img/snap9_g.gif
Binary files differ
diff --git a/html/img/snap9_g2.gif b/html/img/snap9_g2.gif
index 4dbd71a..f2219cc 100644
--- a/html/img/snap9_g2.gif
+++ b/html/img/snap9_g2.gif
Binary files differ
diff --git a/html/img/snap9_g3.gif b/html/img/snap9_g3.gif
index 318f016..d1f9933 100644
--- a/html/img/snap9_g3.gif
+++ b/html/img/snap9_g3.gif
Binary files differ
diff --git a/html/img/snap9_h.gif b/html/img/snap9_h.gif
index 8232bdc..7c8177a 100644
--- a/html/img/snap9_h.gif
+++ b/html/img/snap9_h.gif
Binary files differ
diff --git a/html/img/snap9_i.gif b/html/img/snap9_i.gif
index e671b61..801b84e 100644
--- a/html/img/snap9_i.gif
+++ b/html/img/snap9_i.gif
Binary files differ
diff --git a/html/img/snap9_j.gif b/html/img/snap9_j.gif
index c154dca..c6e8c22 100644
--- a/html/img/snap9_j.gif
+++ b/html/img/snap9_j.gif
Binary files differ
diff --git a/html/img/snap9_k.gif b/html/img/snap9_k.gif
index 8c5621e..2c21458 100644
--- a/html/img/snap9_k.gif
+++ b/html/img/snap9_k.gif
Binary files differ
diff --git a/html/plug.html b/html/plug.html
index ba4be25..4c99798 100755
--- a/html/plug.html
+++ b/html/plug.html
@@ -131,15 +131,16 @@ int process_file(char* html, int len, char* url_adresse, char* url_fichier) {
Below the list of callbacks, and associated external wrappers:<br>
<table width="100%">
-<tr>
-<td><b>"<i>callback name</i>"</b></td><td><b>callback description</b></td><td><b>callback function signature</b></td>
+<tr><td><b>"<i>callback name</i>"</b></td><td><b>callback description</b></td><td><b>callback function signature</b></td></tr>
-<tr><td background="img/fade.gif">"<i>init</i>"</td><td background="img/fade.gif">Called during initialization<br>return value: none</td><td background="img/fade.gif"><tt>void (* myfunction)(void);</tt></td></tr>
-<tr><td background="img/fade.gif">"<i>free</i>"</td><td background="img/fade.gif">Called during un-initialization<br>return value: none</td><td background="img/fade.gif"><tt>void (* myfunction)(void);</tt></td></tr>
-<tr><td background="img/fade.gif">"<i>start</i>"</td><td background="img/fade.gif">Called when the mirror starts. The <tt>opt</tt> structure passed lists all options defined for this mirror. You may modify the <tt>opt</tt> structure to fit your needs<br>return value: 1 upon success, 0 upon error (the mirror will then be aborted)</td><td background="img/fade.gif"><tt>int (* myfunction)(httrackp* opt);</tt></td></tr>
+<tr><td background="img/fade.gif">"<i>init</i>"</td><td background="img/fade.gif"><font color="red">Note: deprecated, should not be used anymore (unsafe callback) - see "start" callback or wrapper_init() module function below this table.</font>Called during initialization ; use of htswrap_add (see <tt>httrack-library.h</tt>) is permitted inside this function to setup other callbacks.<br>return value: none</td><td background="img/fade.gif"><tt>void (* myfunction)(void);</tt></td></tr>
+<tr><td background="img/fade.gif">"<i>free</i>"</td><td background="img/fade.gif"><font color="red">Note: deprecated, should not be used anymore (unsafe callback) - see "end" callback or wrapper_exit() module function below this table.</font><br />Called during un-initialization<br>return value: none</td><td background="img/fade.gif"><tt>void (* myfunction)(void);</tt></td></tr>
+<tr><td background="img/fade.gif">"<i>start</i>"</td><td background="img/fade.gif">Called when the mirror starts. The <tt>opt</tt> structure passed lists all options defined for this mirror. You may modify the <tt>opt</tt> structure to fit your needs. Besides, use of htswrap_add (see <tt>httrack-library.h</tt>) is permitted inside this function to setup other callbacks.<br>return value: 1 upon success, 0 upon error (the mirror will then be aborted)</td><td background="img/fade.gif"><tt>int (* myfunction)(httrackp* opt);</tt></td></tr>
<tr><td background="img/fade.gif">"<i>end</i>"</td><td background="img/fade.gif">Called when the mirror ends<br>return value: 1 upon success, 0 upon error (the mirror will then be considered aborted)</td><td background="img/fade.gif"><tt>int (* myfunction)(void);</tt></td></tr>
<tr><td background="img/fade.gif">"<i>change-options</i>"</td><td background="img/fade.gif">Called when options are to be changed. The <tt>opt</tt> structure passed lists all options, updated to take account of recent changes<br>return value: 1 upon success, 0 upon error (the mirror will then be aborted)</td><td background="img/fade.gif"><tt>int (* myfunction)(httrackp* opt);</tt></td></tr>
<tr><td background="img/fade.gif">"<i>check-html</i>"</td><td background="img/fade.gif">Called when a document (which may not be an html document) is to be parsed. The <tt>html</tt> address points to the document data, of lenth <tt>len</tt>. The <tt>url_adresse</tt> and <tt>url_fichier</tt> are the address and URI of the file being processed<br>return value: 1 if the parsing can be processed, 0 if the file must be skipped without being parsed</td><td background="img/fade.gif"><tt>int (* myfunction)(char* html,int len,char* url_adresse,char* url_fichier);</tt></td></tr>
+<tr><td background="img/fade.gif">"<i>preprocess-html</i>"</td><td background="img/fade.gif">Called when a document (which is an html document) is to be parsed (original, not yet modified document). The <tt>html</tt> address points to the document data address (char**), and the <tt>length</tt> address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using standard C library realloc()/free() functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of strdup() in such cases is advised. The <tt>url_adresse</tt> and <tt>url_fichier</tt> are the address and URI of the file being processed<br>return value: 1 if the new pointers can be applied (default value)</td><td background="img/fade.gif"><tt>int (* myfunction)(char** html,int* len,char* url_adresse,char* url_fichier);</tt></td></tr>
+<tr><td background="img/fade.gif">"<i>postprocess-html</i>"</td><td background="img/fade.gif">Called when a document (which is an html document) is parsed and transformed (links rewritten). The <tt>html</tt> address points to the document data address (char**), and the <tt>length</tt> address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using standard C library realloc()/free() functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of strdup() in such cases is advised. The <tt>url_adresse</tt> and <tt>url_fichier</tt> are the address and URI of the file being processed<br>return value: 1 if the new pointers can be applied (default value)</td><td background="img/fade.gif"><tt>int (* myfunction)(char** html,int* len,char* url_adresse,char* url_fichier);</tt></td></tr>
<tr><td background="img/fade.gif">"<i>query</i>"</td><td background="img/fade.gif">Called when the wizard needs to ask a question. The <tt>question</tt> string contains the question for the (human) user<br>return value: the string answer ("" for default reply)</td><td background="img/fade.gif"><tt>char* (* myfunction)(char* question);</tt></td></tr>
<tr><td background="img/fade.gif">"<i>query2</i>"</td><td background="img/fade.gif">Called when the wizard needs to ask a question</td><td background="img/fade.gif"><tt>char* (* myfunction)(char* question);</tt></td></tr>
<tr><td background="img/fade.gif">"<i>query3</i>"</td><td background="img/fade.gif">Called when the wizard needs to ask a question</td><td background="img/fade.gif"><tt>char* (* myfunction)(char* question);</tt></td></tr>
@@ -150,11 +151,34 @@ Below the list of callbacks, and associated external wrappers:<br>
<tr><td background="img/fade.gif">"<i>link-detected</i>"</td><td background="img/fade.gif">Called when a link has been detected<br>return value: 1 if the link can be analyzed, 0 if the link must not even be considered</td><td background="img/fade.gif"><tt>int (* myfunction)(char* link);</tt></td></tr>
<tr><td background="img/fade.gif">"<i>transfer-status</i>"</td><td background="img/fade.gif">Called when a file has been processed (downloaded, updated, or error)<br>return value: must return 1</td><td background="img/fade.gif"><tt>int (* myfunction)(lien_back* back);</tt></td></tr>
<tr><td background="img/fade.gif">"<i>save-name</i>"</td><td background="img/fade.gif">Called when a local filename has to be processed. The <tt>adr_complete</tt> and <tt>fil_complete</tt> are the address and URI of the file being saved ; the <tt>referer_adr</tt> and <tt>referer_fil</tt> are the address and URI of the referer link. The <tt>save</tt> string contains the local filename being used. You may modifiy the <tt>save</tt> string to fit your needs, up to 1024 bytes (note: filename collisions, if any, will be handled by the engine by renaming the file into file-2.ext, file-3.ext ..).<br>return value: must return 1</td><td background="img/fade.gif"><tt>int (* myfunction)(char* adr_complete,char* fil_complete,char* referer_adr,char* referer_fil,char* save);</tt></td></tr>
+<tr><td background="img/fade.gif">"<i>send-header</i>"</td><td background="img/fade.gif">Called when HTTP headers are to be sent to the remote server. The <tt>buff</tt> buffer contains text headers, <tt>adr</tt> and <tt>fil</tt> the URL, and <tt>referer_adr</tt> and <tt>referer_fil</tt> the referer URL. The <tt>outgoing</tt> structure contains all information related to the current slot.<br>return value: 1 if the mirror can continue, 0 if the mirror must be aborted</td><td background="img/fade.gif"><tt>int (* myfunction)(char* buff, char* adr, char* fil, char* referer_adr, char* referer_fil, htsblk* outgoing);</tt></td></tr>
+<tr><td background="img/fade.gif">"<i>receive-header</i>"</td><td background="img/fade.gif">Called when HTTP headers are recevived from the remote server. The <tt>buff</tt> buffer contains text headers, <tt>adr</tt> and <tt>fil</tt> the URL, and <tt>referer_adr</tt> and <tt>referer_fil</tt> the referer URL. The <tt>incoming</tt> structure contains all information related to the current slot.<br>return value: 1 if the mirror can continue, 0 if the mirror must be aborted</td><td background="img/fade.gif"><tt>int (* myfunction)(char* buff, char* adr, char* fil, char* referer_adr, char* referer_fil, htsblk* incoming);</tt></td></tr>
</table>
<br><br>
+Below additional function names that can be defined inside the module (DLL/.so):<br>
+<table width="100%" ID="Table1">
+<tr><td><b>"<i>module function name</i>"</b></td><td><b>function description</b></td></tr>
+
+<tr><td background="img/fade.gif"><i>int <b>function-name</b>_init(char *args);</i></td><td background="img/fade.gif">Called when a function named <b>function-name</b> is extracted from the current module (same as wrapper_init). The optional <tt>args</tt> provides additional commandline parameters. Returns 1 upon success, 0 if the function should not be extracted.</td></tr>
+<tr><td background="img/fade.gif"><i>int wrapper_init(char *fname, char *args);</i></td><td background="img/fade.gif">Called when a function named <tt>fname</tt> is extracted from the current module. The optional <tt>args</tt> provides additional commandline parameters. Besides, use of htswrap_add (see <tt>httrack-library.h</tt>) is permitted inside this function to setup other callbacks. Returns 1 upon success, 0 if the function should not be extracted.</td></tr>
+<tr><td background="img/fade.gif"><i>int wrapper_exit(void);</i></td><td background="img/fade.gif">Called when the module is unloaded. The function should return 1 (but the result is ignored).</td></tr>
+
+</table>
+
+<br><br>
+Below additional function names that can be defined inside the optional libhttrack-plugin module (libhttrack-plugin.dll or libhttrack-plugin.so) searched inside common library path:<br>
+
+<table width="100%" ID="Table2">
+<tr><td><b>"<i>module function name</i>"</b></td><td><b>function description</b></td></tr>
+
+<tr><td background="img/fade.gif"><i>void plugin_init(void);</i></td><td background="img/fade.gif">Called if the module (named libhttrack-plugin.(so|dll)) is found in the library path. Use of htswrap_add (see <tt>httrack-library.h</tt>) is permitted inside this function to setup other callbacks.</td></tr>
+
+</table>
+
+<br><br>
<br><br>
diff --git a/html/server/about.html b/html/server/about.html
index 4dc0ca8..087f68e 100755
--- a/html/server/about.html
+++ b/html/server/about.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/addurl.html b/html/server/addurl.html
index 932212b..ee1f5a7 100755
--- a/html/server/addurl.html
+++ b/html/server/addurl.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/error.html b/html/server/error.html
index 088f427..d8ea4d2 100755
--- a/html/server/error.html
+++ b/html/server/error.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/exit.html b/html/server/exit.html
index 21b7f9b..eafdf0d 100755
--- a/html/server/exit.html
+++ b/html/server/exit.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/file.html b/html/server/file.html
index 409e313..2dd3df6 100755
--- a/html/server/file.html
+++ b/html/server/file.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/finished.html b/html/server/finished.html
index c9d81c2..5777a27 100755
--- a/html/server/finished.html
+++ b/html/server/finished.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
@@ -135,6 +135,9 @@ ${do:end-if}
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
+<!-- SFX -->
+<embed src="sfx/finished.wav" autostart="true" hidden="true" loop="false" width="0" height="0" />
+
<table border="0" width="100%">
<tr><td width="90%">
<h2 align="center"><em>${LANG_F18b}</em></h2>
diff --git a/html/server/help.html b/html/server/help.html
index 9da3104..ef7f830 100755
--- a/html/server/help.html
+++ b/html/server/help.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/images/bg_rings.gif b/html/server/images/bg_rings.gif
index da7c5c8..5dc34d1 100755
--- a/html/server/images/bg_rings.gif
+++ b/html/server/images/bg_rings.gif
Binary files differ
diff --git a/html/server/images/fade.gif b/html/server/images/fade.gif
index 579cc5f..0ae8336 100755
--- a/html/server/images/fade.gif
+++ b/html/server/images/fade.gif
Binary files differ
diff --git a/html/server/images/header_title_4.gif b/html/server/images/header_title_4.gif
index 93847d3..d5f203a 100755
--- a/html/server/images/header_title_4.gif
+++ b/html/server/images/header_title_4.gif
Binary files differ
diff --git a/html/server/index.html b/html/server/index.html
index 05698f5..6d48219 100755
--- a/html/server/index.html
+++ b/html/server/index.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option1.html b/html/server/option1.html
index bc5c345..7e75e9e 100755
--- a/html/server/option1.html
+++ b/html/server/option1.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option10.html b/html/server/option10.html
index ce8c56c..0ebe51f 100755
--- a/html/server/option10.html
+++ b/html/server/option10.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option11.html b/html/server/option11.html
index b491e88..7aea791 100755
--- a/html/server/option11.html
+++ b/html/server/option11.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option2.html b/html/server/option2.html
index df57399..fd3ab8c 100755
--- a/html/server/option2.html
+++ b/html/server/option2.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option2b.html b/html/server/option2b.html
index 25abc7b..d227c30 100755
--- a/html/server/option2b.html
+++ b/html/server/option2b.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option3.html b/html/server/option3.html
index 43cb71e..743dc81 100755
--- a/html/server/option3.html
+++ b/html/server/option3.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option4.html b/html/server/option4.html
index 16c83b1..d686ec1 100755
--- a/html/server/option4.html
+++ b/html/server/option4.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option5.html b/html/server/option5.html
index 5c2f389..64ce3c5 100755
--- a/html/server/option5.html
+++ b/html/server/option5.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option6.html b/html/server/option6.html
index 1bad5f0..4e4a0ac 100755
--- a/html/server/option6.html
+++ b/html/server/option6.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option7.html b/html/server/option7.html
index fab427d..d689de2 100755
--- a/html/server/option7.html
+++ b/html/server/option7.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/option8.html b/html/server/option8.html
index 389311f..397e33c 100755
--- a/html/server/option8.html
+++ b/html/server/option8.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
@@ -202,6 +202,11 @@ ${listid:robots:LISTDEF_8}
> ${LANG_I62b}
<br><br>
+<input type="checkbox" name="urlhack" ${checked:urlhack}
+ onMouseOver="info('${LANG_I1k2}'); return true" onMouseOut="info('&nbsp;'); return true"
+> ${LANG_I62b2}
+<br><br>
+
<input type="checkbox" name="toler" ${checked:toler}
onMouseOver="info('${LANG_I1i}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I62}
diff --git a/html/server/option9.html b/html/server/option9.html
index 9a374b4..b77cccb 100755
--- a/html/server/option9.html
+++ b/html/server/option9.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/refresh.html b/html/server/refresh.html
index e401445..35d3ecf 100755
--- a/html/server/refresh.html
+++ b/html/server/refresh.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
@@ -80,7 +80,7 @@ h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
<script language="javascript">
<!--
var freeze=0;
-setTimeout(do_refresh, 500);
+setTimeout(do_refresh, 1000);
function do_load() {
window.status=' ';
enable_timer();
@@ -118,7 +118,7 @@ function do_refresh() {
if (!freeze) {
document.location.reload();
} else {
- setTimeout(do_refresh, 500);
+ setTimeout(do_refresh, 1000);
}
}
function no_refresh() {
diff --git a/html/server/sfx/finished.wav b/html/server/sfx/finished.wav
new file mode 100755
index 0000000..c9e8aae
--- /dev/null
+++ b/html/server/sfx/finished.wav
Binary files differ
diff --git a/html/server/step2.html b/html/server/step2.html
index ec3c097..246a264 100755
--- a/html/server/step2.html
+++ b/html/server/step2.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
@@ -170,7 +170,8 @@ ${/* Default values for empty settings */}
${do:set:cache:1}
${/* Convert winprofile.ini into internal variables */}
-${do:copy:CurrentUrl:urls}
+${do:copy:CurrentUrl:urls}
+${do:copy:Category:projcateg}
${do:copy:CurrentAction:todo}
${do:copy:CurrentURLList:filelist}
${do:copy:Proxy:proxy}
@@ -200,6 +201,7 @@ ${do:copy:ParseJava:parsejava}
${do:copy:HTTP10:http10}
${do:copy:TolerantRequests:toler}
${do:copy:UpdateHack:updhack}
+${do:copy:URLHack:urlhack}
${do:copy:StoreAllInCache:cache2}
${do:copy:LogType:logtype}
${do:copy:UseHTTPProxyForFTP:ftpprox}
@@ -265,7 +267,7 @@ ${do:end-if}
${do:loadhash}
-
+
${LANG_S11b}
<select name="loadprojname" onChange="form.redirect.value='step2.html'; form.submit()">
<option value="">&nbsp;</option>
@@ -279,6 +281,23 @@ ${do:loadhash}
onMouseOver="info('${LANG_S1}'); return true" onMouseOut="info('&nbsp;'); return true"
>
+<br>
+
+<table border="0">
+<tr><td>
+
+ ${LANG_S13}
+ <select name="loadprojcateg" onChange="form.redirect.value='step2.html'; form.submit()">
+ <option value="">&nbsp;</option>
+ ${liststr:wincateg}
+ </select>
+</td><td>
+ <input name="projcateg" value="${projcateg}"
+ onMouseOver="info('${LANG_S5}'); return true" onMouseOut="info('&nbsp;'); return true"
+ >
+
+</td></tr></table>
+
<br>
${LANG_S12}
<input name="path" value="${path}"
diff --git a/html/server/step3.html b/html/server/step3.html
index b0c32fa..54cc9da 100755
--- a/html/server/step3.html
+++ b/html/server/step3.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
diff --git a/html/server/step4.html b/html/server/step4.html
index 164a7df..a65cf22 100755
--- a/html/server/step4.html
+++ b/html/server/step4.html
@@ -1,4 +1,4 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="${LANGUAGE_ISO}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${LANGUAGE_CHARSET}" />
@@ -163,6 +163,8 @@ ${do:end-if}
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="projpath" value="${path}/${projname}/">
+
+<input type="hidden" name="command_arg_profile" value="path,lang">
<table border="0" width="100%">
<tr><td>
@@ -201,7 +203,8 @@ ${do:end-if}
${test:build:-N0:-N0:-N1:-N2:-N3:-N4:-N5:-N100:-N101:-N102:-N103:-N104:-N105:-N99:-N199:}
\
${ztest:dos::--long-names=0:--long-names=2}
- ${test:errpage:--generate-errors:--generate-errors=0}
+ ${test:robots:--robots=0:--robots=0:--robots=1:--robots=2}
+ ${test:errpage:--generate-errors:--generate-errors=0}
${test:external:--replace-external}
${test:hidepwd:--disable-passwords}
${test:hidequery:--include-query-string=1:--include-query-string=0}
@@ -241,6 +244,7 @@ ${do:end-if}
${test:cookies:--cookies=0:}
${test:parsejava:--parse-java=0:}
${test:updhack:--updatehack}
+ ${test:urlhack:--urlhack=0:--urlhack}
${test:toler:--tolerant}
${test:http10:--http-10}
${test:cache2:--store-all-in-cache}
@@ -257,6 +261,7 @@ ${do:end-if}
${do:output-mode:inifile}
<textarea name="winprofile" cols="50" rows="4" style="visibility:hidden">
CurrentUrl=${urls}
+Category=${projcateg}
CurrentAction=${todo}
CurrentURLList=${filelist}
Proxy=${proxy}
@@ -286,6 +291,7 @@ ParseJava=${ztest:parsejava:0:1}
HTTP10=${ztest:http10:0:1}
TolerantRequests=${ztest:toler:0:1}
UpdateHack=${ztest:updhack:0:1}
+URLHack=${ztest:urlhack:0:1}
StoreAllInCache=${ztest:cache2:0:1}
LogType=${logtype}
UseHTTPProxyForFTP=${ztest:ftpprox:0:1}
@@ -332,6 +338,16 @@ MIMEDefsMime7=${mime7}
MIMEDefsMime8=${mime8}
</textarea>
${do:output-mode:}
+<!-- winprofile.ini -->
+
+<!-- httrack.ini -->
+${do:output-mode:inifile}
+<textarea name="userprofile" cols="50" rows="4" style="visibility:hidden">
+path=${path}
+lang=${lang_}
+</textarea>
+${do:output-mode:}
+<!-- httrack.ini -->
</td></tr><tr><td>
<table width="100%" border="0"><tr><td align="left">
diff --git a/html/step3.html b/html/step3.html
index 3fd13f5..00b6b66 100644
--- a/html/step3.html
+++ b/html/step3.html
@@ -1,140 +1,162 @@
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
- <meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
- <title>HTTrack Website Copier - Offline Browser</title>
-
- <style type="text/css">
- <!--
-
-body {
- margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
- background: #77b;
-}
-body, td {
- font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- }
-
-#subTitle {
- background: #000; color: #fff; padding: 4px; font-weight: bold;
- }
-
-#siteNavigation a, #siteNavigation .current {
- font-weight: bold; color: #448;
- }
-#siteNavigation a:link { text-decoration: none; }
-#siteNavigation a:visited { text-decoration: none; }
-
-#siteNavigation .current { background-color: #ccd; }
-
-#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
-#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
-
-
-a:link { text-decoration: underline; color: #00f; }
-a:visited { text-decoration: underline; color: #000; }
-a:hover { text-decoration: underline; color: #c00; }
-a:active { text-decoration: underline; }
-
-#pageContent {
- clear: both;
- border-bottom: 6px solid #000;
- padding: 10px; padding-top: 20px;
- line-height: 1.65em;
- background-image: url(images/bg_rings.gif);
- background-repeat: no-repeat;
- background-position: top right;
- }
-
-#pageContent, #siteNavigation {
- background-color: #ccd;
- }
-
-
-.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
-.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
-
-hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
-
-h1 { margin: 0; font-weight: bold; font-size: 2em; }
-h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
-h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
-h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
-
-.blak { background-color: #000; }
-.hide { display: none; }
-.tableWidth { min-width: 400px; }
-
-.tblRegular { border-collapse: collapse; }
-.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
-.tblHeaderColor, .tblHeaderColor td { background: #99c; }
-.tblNoBorder td { border: 0; }
-
-
-// -->
-</style>
-
-</head>
-
-<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
- <tr>
- <td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
- </tr>
-</table>
-<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
- <tr>
- <td id="subTitle">Open Source offline browser</td>
- </tr>
-</table>
-<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
-<tr class="blak">
-<td>
- <table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
- <tr>
- <td colspan="6">
- <table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
- <tr>
- <td id="pageContent">
-<!-- ==================== End prologue ==================== -->
-
-<h2 align="center"><em>Step 3 : Ready to start</em></h2>
-
-<br>
-
-<ol>
- <li>If you want, you may connect immediately or delay the mirror</li>
- <br><small>If you don't select anything, HTTrack will assume that you are already connected to the Internet and that you want to start the mirror action now</small><br><br>
-<br><br>
- <li>Click on the <b>START</b> button</li>
- <center><img src="img/snap3_a.gif" border="0"></center>
-<br><br>
- <li><a href="step4.html">Go to the next step</a>...</li>
-</ol>
-
-<br><br><br><br>
-<p align="right">Back to <a href="index.html">Home</a></p>
-
-<!-- ==================== Start epilogue ==================== -->
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
-</td>
-</tr>
-</table>
-
-<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
- <tr>
- <td id="footer"><small>&copy; 2003 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
- </tr>
-</table>
-
-</body>
-
-</html>
-
-
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
+ <meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
+ <title>HTTrack Website Copier - Offline Browser</title>
+
+ <style type="text/css">
+ <!--
+
+body {
+ margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
+ background: #77b;
+}
+body, td {
+ font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+ }
+
+#subTitle {
+ background: #000; color: #fff; padding: 4px; font-weight: bold;
+ }
+
+#siteNavigation a, #siteNavigation .current {
+ font-weight: bold; color: #448;
+ }
+#siteNavigation a:link { text-decoration: none; }
+#siteNavigation a:visited { text-decoration: none; }
+
+#siteNavigation .current { background-color: #ccd; }
+
+#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
+#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
+
+
+a:link { text-decoration: underline; color: #00f; }
+a:visited { text-decoration: underline; color: #000; }
+a:hover { text-decoration: underline; color: #c00; }
+a:active { text-decoration: underline; }
+
+#pageContent {
+ clear: both;
+ border-bottom: 6px solid #000;
+ padding: 10px; padding-top: 20px;
+ line-height: 1.65em;
+ background-image: url(images/bg_rings.gif);
+ background-repeat: no-repeat;
+ background-position: top right;
+ }
+
+#pageContent, #siteNavigation {
+ background-color: #ccd;
+ }
+
+
+.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
+.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
+
+hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
+
+h1 { margin: 0; font-weight: bold; font-size: 2em; }
+h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
+h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
+h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
+
+.blak { background-color: #000; }
+.hide { display: none; }
+.tableWidth { min-width: 400px; }
+
+.tblRegular { border-collapse: collapse; }
+.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
+.tblHeaderColor, .tblHeaderColor td { background: #99c; }
+.tblNoBorder td { border: 0; }
+
+
+// -->
+</style>
+
+</head>
+
+<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
+ <tr>
+ <td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
+ </tr>
+</table>
+<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
+ <tr>
+ <td id="subTitle">Open Source offline browser</td>
+ </tr>
+</table>
+<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
+<tr class="blak">
+<td>
+ <table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
+ <tr>
+ <td colspan="6">
+ <table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
+ <tr>
+ <td id="pageContent">
+<!-- ==================== End prologue ==================== -->
+
+<h2 align="center"><em>Step 3 : Ready to start</em></h2>
+
+<br>
+
+<ol>
+ <li>If you want, you may connect immediately or delay the mirror</li>
+ <br><small>If you don't select anything, HTTrack will assume that you are already connected to the Internet and that you want to start the mirror action now</small><br><br>
+
+<ul>
+<!-- -->
+ <li>Connect to this provider</li>
+ <br><small>You can select here a specific provider to connect to when begining the mirror if you are not already connected to the Internet.
+ </small><br><br>
+<!-- -->
+ <li>Disconnect when finished</li>
+ <br><small>Click on this checkbox to ask httrack to disconnect the network when mirror is finished.
+ </small><br><br>
+<!-- -->
+ <li>Shutdown PC when finished</li>
+ <br><small>Click on this checkbox to ask httrack to shutdown your computer when mirror is finished.
+ </small><br><br>
+<!-- -->
+ <li>On Hold</li>
+ <br><small>You can enter here the time of the mirror start. You can delay up to 24 hours a mirror using this feature.
+ </small><br><br>
+</ul>
+
+<br><br>
+ <li>Click on the <b>FINISH</b> button</li>
+ <center><img src="img/snap3_a.gif" border="0"></center>
+
+<br><br>
+ <li><a href="step4.html">Go to the next step</a>...</li>
+</ol>
+
+
+<br><br><br><br>
+<p align="right">Back to <a href="index.html">Home</a></p>
+
+<!-- ==================== Start epilogue ==================== -->
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+</td>
+</tr>
+</table>
+
+<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
+ <tr>
+ <td id="footer"><small>&copy; 2003 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
+ </tr>
+</table>
+
+</body>
+
+</html>
+
+
diff --git a/html/step9_opt2.html b/html/step9_opt2.html
index 52ed5bd..3fd774d 100644
--- a/html/step9_opt2.html
+++ b/html/step9_opt2.html
@@ -153,7 +153,7 @@ h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
</small><br><br>
<!-- -->
<li>Max connections / seconds</li>
- <br><small>This option limits the number of connections per second for the current mirror
+ <br><small>This option limits the number of connections per second for the current mirror. This number can be a floating number (such as 0.1 == 1 connection per 10 seconds)
<br>Useful to limit server load.
<br>The default is 10, but you can disable it with a value of 0 - THIS IS NOT ADVISED UNLESS YOU KNOW WHAT YOU ARE DOING (risks of server overload)
</small><br><br>