31 Commits
3.48 ... 3.47

Author SHA1 Message Date
Xavier Roche
146d2e8981 Merged revisions 878 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r878 | roche | 2013-09-24 07:51:21 +0200 (mar., 24 sept. 2013) | 3 lines
  
  Do not depend anymore on automake1.9, but automake (see http://lists.debian.org/debian-devel/2013/05/msg01459.html)
........
2013-09-24 05:53:16 +00:00
Xavier Roche
ceda82f4fd 3.47.27 2013-09-15 09:09:28 +00:00
Xavier Roche
f6f01eaa96 Fixed license 2013-09-15 08:33:55 +00:00
Xavier Roche
47ca31b627 Fixed logging level (especially for robots.txt rules) 2013-09-15 08:33:31 +00:00
Xavier Roche
f06bd4cd7b Merged revisions 865 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r865 | roche | 2013-09-14 11:33:39 +0200 (sam., 14 sept. 2013) | 3 lines
  
  Also remove these commands in the help
........
2013-09-14 09:38:10 +00:00
Xavier Roche
f4b879adc9 Merged revisions 851,853,855-857,861-862 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r851 | roche | 2013-09-09 19:20:34 +0200 (lun., 09 sept. 2013) | 3 lines
  
  Fixed Keywords field in desktop files (Sebastian Pipping)
........
  r853 | roche | 2013-09-13 17:54:23 +0200 (ven., 13 sept. 2013) | 4 lines
  
  Fixed FSF GPL reference (postal address removed, added website)
  Fixed year notice
........
  r855 | roche | 2013-09-13 18:08:40 +0200 (ven., 13 sept. 2013) | 3 lines
  
  AUTHORS should be 644
........
  r856 | roche | 2013-09-13 18:12:52 +0200 (ven., 13 sept. 2013) | 3 lines
  
  Replaced AM_PROG_LIBTOOL by LT_INIT
........
  r857 | roche | 2013-09-13 18:13:02 +0200 (ven., 13 sept. 2013) | 3 lines
  
  Updated man
........
  r861 | roche | 2013-09-13 21:21:03 +0200 (ven., 13 sept. 2013) | 3 lines
  
  Fixed license and copyright
........
  r862 | roche | 2013-09-13 21:26:08 +0200 (ven., 13 sept. 2013) | 3 lines
  
  Fixed man
........
2013-09-13 19:29:17 +00:00
Xavier Roche
e5f8882c06 Backported r841
Fixed DNS stuck with unresolvable hosts.
2013-09-06 20:40:20 +00:00
Xavier Roche
09fab9362c 3.47.26 2013-09-06 19:55:32 +00:00
Xavier Roche
36e15496c9 Merged revisions 831-833 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r831 | roche | 2013-09-06 18:55:20 +0200 (ven., 06 sept. 2013) | 3 lines
  
  Fixed a little bit the infamous DNS cache
........
  r832 | roche | 2013-09-06 19:32:04 +0200 (ven., 06 sept. 2013) | 3 lines
  
  Fixed dangling pointer which probably explain the crash at libhttrack.so:0x639d0
........
  r833 | roche | 2013-09-06 20:51:07 +0200 (ven., 06 sept. 2013) | 3 lines
  
  Finished to cleanup the DNS cache.
........
2013-09-06 19:46:42 +00:00
Xavier Roche
411965963f Merged revisions 415 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r415 | roche | 2013-06-30 09:57:07 +0200 (dim., 30 juin 2013) | 3 lines
  
  Added Keywords entries for desktop files.
........
2013-09-06 19:46:09 +00:00
Xavier Roche
eaf4973b4c 3.47.25-1 2013-09-01 14:49:51 +00:00
Xavier Roche
4ae051f6e8 Merged revisions 824-825 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r824 | roche | 2013-09-01 15:58:23 +0200 (dim., 01 sept. 2013) | 3 lines
  
  Fixed content-disposition NOT taken in account (Stephan Matthiesen) except when updating/continuing.
........
  r825 | roche | 2013-09-01 16:05:08 +0200 (dim., 01 sept. 2013) | 3 lines
  
  Updated history
........
2013-09-01 14:44:16 +00:00
Xavier Roche
c118b8f1ea 3.47.24 2013-08-23 16:29:40 +00:00
Xavier Roche
f49b20df54 Merged revisions 764 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r764 | roche | 2013-08-22 18:21:47 +0200 (jeu., 22 août 2013) | 4 lines
  
  Fixed regression introduced in recent code cleanup
  The relative "luck" was that the {{{i < s[i] != '\0'}}} expression is actually working for small strings with standard ascii characters (...)
........
2013-08-22 18:01:49 +00:00
Xavier Roche
d40af55729 3.47.23 2013-08-17 10:27:03 +00:00
Xavier Roche
c7db0e2824 Merged revisions 428,704,706-709 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r428 | roche | 2013-07-05 21:42:21 +0200 (ven., 05 juil. 2013) | 3 lines
  
  Croatian translation by Dominko Aždajić (domazd at mail dot ru)
........
  r704 | roche | 2013-08-16 15:10:20 +0200 (ven., 16 août 2013) | 3 lines
  
  Make "Unexpected 412/416 error" non-fatal until I find out why in hell this bug is still out there.
........
  r706 | roche | 2013-08-17 09:43:45 +0200 (sam., 17 août 2013) | 3 lines
  
  A bit of cleanup in really old code (strlen() in loops, shame on me, but hey, this code is 15 years old)
........
  r707 | roche | 2013-08-17 09:57:44 +0200 (sam., 17 août 2013) | 3 lines
  
  Some cleanup in obviously wrong 15-year-old code.
........
  r708 | roche | 2013-08-17 09:57:53 +0200 (sam., 17 août 2013) | 3 lines
  
  Fixed definition.
........
  r709 | roche | 2013-08-17 11:09:13 +0200 (sam., 17 août 2013) | 3 lines
  
  Fixed issue 25 regarding un-encoding of characters such as # in the filename.
........
2013-08-17 10:14:38 +00:00
Xavier Roche
e542b0c49a Fixed history 2013-08-11 19:59:42 +00:00
Xavier Roche
617aeb1e22 3.47.22 2013-08-11 19:58:57 +00:00
Xavier Roche
7b470aa3a6 Merged revisions 528 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r528 | roche | 2013-08-05 12:07:40 +0200 (lun., 05 août 2013) | 3 lines
  
  Allow -m,10000 variant
........
2013-08-05 10:08:07 +00:00
Xavier Roche
3f8efc9209 Merged revisions 493 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r493 | roche | 2013-07-15 21:12:46 +0200 (lun., 15 juil. 2013) | 4 lines
  
  Fixed "Wildcard domains in cookies do not match" (alexei dot co at gmail dot com )
    * closes issue #19
........
2013-07-15 20:05:09 +00:00
Xavier Roche
25e296c53a Merged revisions 494 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r494 | roche | 2013-07-15 21:19:24 +0200 (lun., 15 juil. 2013) | 5 lines
  
  Fixed buggy referer while parsing: the referer of all links in the page is the current page being parsed, NOT the parent page. (alexei dot co at gmail dot com)
    * closes: issue #20
........
2013-07-15 20:04:51 +00:00
Xavier Roche
98db40d5e5 Merged revisions 495 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r495 | roche | 2013-07-15 21:21:25 +0200 (lun., 15 juil. 2013) | 3 lines
  
  Added .torrent => application/x-bittorrent built-in MIME type (alexei dot co at gmail dot com)
........
2013-07-15 20:04:40 +00:00
Xavier Roche
42010f42e7 Merged revisions 496 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r496 | roche | 2013-07-15 21:54:17 +0200 (lun., 15 juil. 2013) | 3 lines
  
  CLEANFILES = check-network_sh.cache
........
2013-07-15 20:04:28 +00:00
Xavier Roche
df67c753f0 Merged revisions 497 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r497 | roche | 2013-07-15 21:56:37 +0200 (lun., 15 juil. 2013) | 3 lines
  
  Ignore *.in, aclocal.m4 and configure
........
2013-07-15 20:03:47 +00:00
Xavier Roche
e1275ce47d Merged revisions 426 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r426 | roche | 2013-07-05 21:28:02 +0200 (ven., 05 juil. 2013) | 3 lines
  
  Russian translation fixes by Oleg Komarov (komoleg at mail dot ru)
........
2013-07-05 19:28:31 +00:00
Xavier Roche
d7359881ca Merged revisions 424 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r424 | roche | 2013-07-05 20:48:22 +0200 (ven., 05 juil. 2013) | 3 lines
  
  Fixed ut
........
2013-07-05 18:49:28 +00:00
Xavier Roche
d93f93510d Merged revisions 422 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r422 | roche | 2013-07-05 20:36:20 +0200 (ven., 05 juil. 2013) | 3 lines
  
  Fixed escaping
........
2013-07-05 18:36:58 +00:00
Xavier Roche
cc76389094 3.47.21 2013-07-05 18:20:48 +00:00
Xavier Roche
b3942b9878 Merged revisions 419 via svnmerge from
http://proliant/svn/httrack/trunk

........
  r419 | roche | 2013-07-05 19:53:54 +0200 (ven., 05 juil. 2013) | 4 lines
  
  Do not unescape '+' before the query string
  Fixed issue 18
........
2013-07-05 17:59:26 +00:00
Xavier Roche
fa33acc27e 3.47.20 2013-06-28 17:59:54 +00:00
Xavier Roche
31b5a463fd Created 3.47 branch. 2013-06-19 18:23:50 +00:00
206 changed files with 22105 additions and 22679 deletions

View File

@@ -54,8 +54,7 @@ subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
compile config.guess config.sub depcomp install-sh ltmain.sh \
missing
config.guess config.sub depcomp install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/check_zlib.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -134,7 +133,6 @@ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -143,12 +141,14 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
@@ -162,7 +162,6 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
@@ -218,6 +217,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

2
README
View File

@@ -1,5 +1,5 @@
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
Welcome to HTTrack Website Copier!

343
compile
View File

@@ -1,343 +0,0 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-03-05.13; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
# Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@@ -6,15 +6,9 @@
/* Check for ftime */
#undef FTIME
/* Define if pointers to integers require aligned access */
#undef HAVE_ALIGNED_ACCESS_REQUIRED
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <execinfo.h> header file. */
#undef HAVE_EXECINFO_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -39,9 +33,6 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Check for strnlen */
#undef HAVE_STRNLEN
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
@@ -51,10 +42,6 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 or 0, depending whether the compiler supports simple visibility
declarations. */
#undef HAVE_VISIBILITY
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
@@ -76,13 +63,16 @@
/* Check for libsocket */
#undef LIBSOCKET
/* LLint format */
#undef LLINT_FORMAT
/* LLint type */
#undef LLINT_TYPE
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Name of package */
#undef PACKAGE
@@ -122,43 +112,5 @@
/* Check for pthread in pthreads */
#undef THREADS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Version number of package */
#undef VERSION
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* in_port_t */
#undef in_port_t
/* sa_family_t */
#undef sa_family_t

6448
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,46 +1,18 @@
AC_PREREQ(2.59)
AC_INIT([httrack], [3.48.20], [roche+packaging@httrack.com], [httrack], [http://www.httrack.com/])
AC_COPYRIGHT([
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Important notes:
- We hereby ask people using this source NOT to use it in purpose of grabbing
emails addresses, or collecting any other private information on persons.
This would disgrace our work, and spoil the many hours we spent on it.
Please visit our Website: http://www.httrack.com
])
AC_INIT([httrack], [3.47.27], [roche+packaging@httrack.com], [httrack], [http://www.httrack.com/])
AC_CONFIG_SRCDIR(src/httrack.c)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS(config.h)
AM_INIT_AUTOMAKE([subdir-objects])
VERSION_INFO="2:48:0"
AM_INIT_AUTOMAKE
VERSION_INFO="2:47:0"
AM_MAINTAINER_MODE
AC_USE_SYSTEM_EXTENSIONS
AC_PREREQ(2.50)
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CXX
AC_STDC_HEADERS
LT_INIT
AC_PROG_LN_S
AM_PROG_LIBTOOL
# Export LD_LIBRARY_PATH name or equivalent.
AC_SUBST(SHLIBPATH_VAR,$shlibpath_var)
@@ -48,42 +20,12 @@ AC_SUBST(SHLIBPATH_VAR,$shlibpath_var)
# Export .libs or equivalent.
AC_SUBST(LT_CV_OBJDIR,$lt_cv_objdir)
# Export version info
AC_SUBST(VERSION_INFO)
### Default CFLAGS
DEFAULT_CFLAGS="-Wall -Wformat -Wformat-security \
-Wmultichar -Wwrite-strings -Wcast-qual -Wcast-align \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wdeclaration-after-statement \
-Wpointer-arith -Wsequence-point -Wnested-externs \
-D_REENTRANT"
DEFAULT_CFLAGS="-Wall -Wcast-align -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations -Wpointer-arith \
-Wnested-externs -D_REENTRANT"
AC_SUBST(DEFAULT_CFLAGS)
DEFAULT_LDFLAGS=""
AC_SUBST(DEFAULT_LDFLAGS)
### Additional flags (if supported)
AX_CHECK_COMPILE_FLAG([-Wparentheses], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wparentheses"])
AX_CHECK_COMPILE_FLAG([-Winit-self], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Winit-self"])
AX_CHECK_COMPILE_FLAG([-Wunused-but-set-parameter], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wunused-but-set-parameter"])
AX_CHECK_COMPILE_FLAG([-Waddress], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Waddress"])
AX_CHECK_COMPILE_FLAG([-Wuninitialized], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wuninitialized"])
AX_CHECK_COMPILE_FLAG([-Wformat=2], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wformat=2"])
AX_CHECK_COMPILE_FLAG([-Wformat-nonliteral], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wformat-nonliteral"])
AX_CHECK_COMPILE_FLAG([-Wmissing-parameter-type], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wmissing-parameter-type"])
AX_CHECK_COMPILE_FLAG([-Wold-style-definition], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wold-style-definition"])
AX_CHECK_COMPILE_FLAG([-Wignored-qualifiers], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -Wignored-qualifiers"])
AX_CHECK_COMPILE_FLAG([-fstrict-aliasing -Wstrict-aliasing], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -fstrict-aliasing -Wstrict-aliasing"])
AX_CHECK_LINK_FLAG([-Wl,--discard-all], [DEFAULT_LDLAGS="$DEFAULT_LDLAGS -Wl,--discard-all"])
AX_CHECK_LINK_FLAG([-Wl,--no-undefined], [DEFAULT_LDLAGS="$DEFAULT_LDLAGS -Wl,--no-undefined"])
## Export all symbols for backtraces
AX_CHECK_COMPILE_FLAG([-rdynamic], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -rdynamic"])
### Check for -fvisibility=hidden support
gl_VISIBILITY
AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY"
AC_SUBST([AM_CFLAGS])
AC_SUBST(VERSION_INFO)
### Check for platform
#case $host in
@@ -97,31 +39,83 @@ AC_SUBST([AM_CFLAGS])
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(long long)
### Check LLint format
if test x"$ac_cv_sizeof_long" = x"8"; then
AC_MSG_CHECKING(long printf format)
AC_TRY_RUN([#include <stdio.h>
main() { long int c = -1, d = -1; char* f = "%ld"; sscanf("1234", f, &c, &d);
exit (c != 1234 || d != -1); }
],
[AC_MSG_RESULT(found)
AC_DEFINE(LLINT_FORMAT,"%ld",[LLint format])
AC_DEFINE(LLINT_TYPE,long int,[LLint type])
],
[
AC_TRY_RUN([#include <stdio.h>
main() { long int c = -1, d = -1; char* f = "%d"; sscanf("1234", f, &c, &d);
exit (c != 1234 || d != -1); }
],
[
AC_MSG_RESULT(found)
AC_DEFINE(LLINT_FORMAT,"%d",[LLint format])
AC_DEFINE(LLINT_TYPE,long int,[LLint type])
],
[
AC_MSG_RESULT(no)
AC_MSG_RESULT(assuming not on target machine)
AC_DEFINE(LLINT_FORMAT,"%d",[LLint format])
AC_DEFINE(LLINT_TYPE,int,[LLint type])
])
])
elif test x"$ac_cv_sizeof_long_long" = x"8"; then
AC_MSG_CHECKING(long long printf format)
AC_TRY_RUN([#include <stdio.h>
main() { long long int c = -1, d = -1; char* f = "%lld"; sscanf("1234", f, &c, &d);
exit (c != 1234 || d != -1); }
],
[AC_MSG_RESULT(found)
AC_DEFINE(LLINT_FORMAT,"%lld",[LLint format])
AC_DEFINE(LLINT_TYPE,long long int,[LLint type])
],
[
AC_TRY_RUN([#include <stdio.h>
main() { long long int c = -1, d = -1; char* f = "%ld"; sscanf("1234", f, &c, &d);
exit (c != 1234 || d != -1); }
],
[
AC_MSG_RESULT(found)
AC_DEFINE(LLINT_FORMAT,"%ld",[LLint format])
AC_DEFINE(LLINT_TYPE,long long int,[LLint type])
],
[
AC_TRY_RUN([#include <stdio.h>
main() { long long int c = -1, d = -1; char* f = "%d"; sscanf("1234", f, &c, &d);
exit (c != 1234 || d != -1); }
],
[
AC_MSG_RESULT(found)
AC_DEFINE(LLINT_FORMAT,"%d",[LLint format])
AC_DEFINE(LLINT_TYPE,long long int,[LLint type])
],
[
AC_MSG_RESULT(no)
AC_MSG_RESULT(assuming not on target machine)
AC_DEFINE(LLINT_FORMAT,"%d",[LLint format])
AC_DEFINE(LLINT_TYPE,int,[LLint type])
])
])
])
else
AC_DEFINE(LLINT_FORMAT,"%d",[LLint format])
AC_DEFINE(LLINT_TYPE,int,[LLint type])
fi
### check for in_addr_t
AC_CHECK_TYPE(in_addr_t,
AC_DEFINE(HTS_DO_NOT_REDEFINE_in_addr_t,,[Check for in_addr_t]),
AC_MSG_WARN([*** in_addr_t not found]),
[#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>])
# check for in_port_
AC_CHECK_TYPE(in_port_t, [], [AC_DEFINE([in_port_t], [uint16_t], [in_port_t])], [
#include <sys/types.h>
#include <netinet/in.h>
])
# check for sa_family_t
AC_CHECK_TYPE(sa_family_t, [], [AC_DEFINE([sa_family_t], [uint16_t], [sa_family_t])], [
#include <sys/types.h>
#include <netinet/in.h>
])
# check wether misaligned access is possible or not
AX_CHECK_ALIGNED_ACCESS_REQUIRED
# check for various headers
AC_CHECK_HEADERS([execinfo.h])
#include <netinet/in.h>])
### zlib
CHECK_ZLIB()
@@ -153,16 +147,9 @@ if test x"$https_support" = x"no"; then
AC_MSG_NOTICE([disabling https support])
AC_DEFINE(HTS_USEOPENSSL, 0)
else
SAVE_LIBS=$LIBS
AC_CHECK_LIB(crypto, EVP_get_digestbyname,
[
OPENSSL_LIBS="-lcrypto"
]
)
LIBS="$LIBS $OPENSSL_LIBS"
AC_CHECK_LIB(ssl, SSL_library_init,
[
OPENSSL_LIBS="$OPENSSL_LIBS -lssl"
OPENSSL_LIBS="-lcrypto -lssl"
AC_DEFINE(HTS_USEOPENSSL, 1, [Check for OpenSSL])
],
[
@@ -173,7 +160,6 @@ AC_CHECK_LIB(ssl, SSL_library_init,
fi
]
)
LIBS=$SAVE_LIBS
AC_SUBST(OPENSSL_LIBS)
fi
@@ -238,10 +224,6 @@ AC_DEFINE(SETUID, 1,[Check for setuid])], AC_MSG_RESULT([not found]))
### Check for snprintf
AC_FUNC_SNPRINTF()
### Check for strnlen
AC_CHECK_LIB(c, strnlen, [
AC_DEFINE(HAVE_STRNLEN, 1,[Check for strnlen])], AC_MSG_RESULT([not found]))
## Online unit tests
AC_MSG_CHECKING(whether to enable online unit tests)
AC_ARG_ENABLE([online-unit-tests],

163
debian/changelog vendored
View File

@@ -1,166 +1,3 @@
httrack (3.48.20-1) unstable; urgency=low
* Updated to 3.48.20 (3.48-20)
closes:#765019
-- Xavier Roche <xavier@debian.org> Wed, 15 Oct 2014 21:37:54 +0200
httrack (3.48.19-1) unstable; urgency=low
* Updated to 3.48.19 (3.48-19)
closes:#756328
-- Xavier Roche <xavier@debian.org> Mon, 28 Jul 2014 22:52:19 +0200
httrack (3.48.18-1) unstable; urgency=low
* Updated to 3.48.18 (3.48-18)
closes:#755107
-- Xavier Roche <xavier@debian.org> Thu, 17 Jul 2014 21:35:10 +0200
httrack (3.48.17-1) unstable; urgency=low
* Updated to 3.48.17 (3.48-17)
-- Xavier Roche <xavier@debian.org> Sat, 12 Jul 2014 15:21:14 +0200
httrack (3.48.16-1) unstable; urgency=low
* Updated to 3.48.16 (3.48-16)
fixed FTBFS on ARM/MIPS again
-- Xavier Roche <xavier@debian.org> Wed, 09 Jul 2014 07:02:08 +0200
httrack (3.48.15-1) unstable; urgency=low
* Updated to 3.48.15 (3.48-15)
fixed FTBFS on ARM/MIPS
-- Xavier Roche <xavier@debian.org> Tue, 08 Jul 2014 22:05:14 +0200
httrack (3.48.14-1) unstable; urgency=low
* Updated to 3.48.14 (3.48-14)
-- Xavier Roche <xavier@debian.org> Tue, 08 Jul 2014 20:36:55 +0200
httrack (3.48.13-1) unstable; urgency=low
* Updated to 3.48.13 (3.48-13)
closes:#750931
-- Xavier Roche <xavier@debian.org> Sun, 08 Jun 2014 16:22:13 +0200
httrack (3.48.12-1) unstable; urgency=low
* Updated to 3.48.12 (3.48-12)
Should fix missing/broken .h for libhttrack-dev
-- Xavier Roche <xavier@debian.org> Sun, 08 Jun 2014 13:19:49 +0200
httrack (3.48.11-1) unstable; urgency=low
* Updated to 3.48.11 (3.48-11)
-- Xavier Roche <xavier@debian.org> Fri, 06 Jun 2014 17:58:12 +0200
httrack (3.48.10-1) unstable; urgency=low
* Updated to 3.48.10 (3.48-10)
-- Xavier Roche <xavier@debian.org> Wed, 04 Jun 2014 19:00:07 +0200
httrack (3.48.9-1) unstable; urgency=low
* Updated to 3.48.9 (3.48-9)
-- Xavier Roche <xavier@debian.org> Wed, 21 May 2014 19:22:04 +0200
httrack (3.48.8-1) unstable; urgency=low
* Updated to 3.48.8 (3.48-8)
-- Xavier Roche <xavier@debian.org> Thu, 15 May 2014 19:21:21 +0200
httrack (3.48.7-1) unstable; urgency=low
* Updated to 3.48.7 (3.48-7)
-- Xavier Roche <xavier@debian.org> Wed, 14 May 2014 19:51:57 +0200
httrack (3.48.6-1) unstable; urgency=low
* Updated to 3.48.6 (3.48-6)
-- Xavier Roche <xavier@debian.org> Tue, 13 May 2014 21:23:02 +0200
httrack (3.48.5-1) unstable; urgency=low
* Updated to 3.48.5 (3.48-5)
-- Xavier Roche <xavier@debian.org> Fri, 02 May 2014 16:37:08 +0200
httrack (3.48.4-1) unstable; urgency=low
* Updated to 3.48.4 (3.48-4)
closes:#746173
-- Xavier Roche <xavier@debian.org> Sun, 27 Apr 2014 18:48:57 +0200
httrack (3.48.3-1) unstable; urgency=low
* Updated to 3.48.3 (3.48-3)
-- Xavier Roche <xavier@debian.org> Fri, 11 Apr 2014 20:31:21 +0200
httrack (3.48.2-1) unstable; urgency=low
* Updated to 3.48.2 (3.48-2)
-- Xavier Roche <xavier@debian.org> Thu, 10 Apr 2014 18:30:08 +0200
httrack (3.48.1-5) unstable; urgency=low
* Really call dh_autoreconf, fix configure dependencies.
-- Matthias Klose <doko@ubuntu.com> Wed, 16 Apr 2014 14:46:20 +0200
httrack (3.48.1-4) unstable; urgency=low
* Cleanup in dependencies
-- Xavier Roche <xavier@debian.org> Tue, 15 Apr 2014 22:13:19 +0200
httrack (3.48.1-3) unstable; urgency=low
* Fixed FTBFS due to a missing Build-Depends: dh-autoreconf
-- Xavier Roche <xavier@debian.org> Tue, 15 Apr 2014 21:32:03 +0200
httrack (3.48.1-2) unstable; urgency=low
* Fixed removal of .a files even on architectures where .a are libraries
closes:#744594
Enable verosity of unit tests
Call dh_autoreconf_clean before dh_clean
-- Xavier Roche <xavier@debian.org> Tue, 15 Apr 2014 21:02:14 +0200
httrack (3.48.1-1) unstable; urgency=low
* Updated to 3.48.1 (3.48-1)
-- Xavier Roche <xavier@debian.org> Wed, 09 Apr 2014 21:02:08 +0200
httrack (3.47.27-3) unstable; urgency=low
* Do not depend on automake1.9 but on automake instead
see: http://lists.debian.org/debian-devel/2013/05/msg01459.html
closes:#724390
-- Xavier Roche <xavier@debian.org> Thu, 26 Sep 2013 20:09:12 +0200
httrack (3.47.27-1) unstable; urgency=low
* Updated to 3.47.27 (3.47-27)

6
debian/control vendored
View File

@@ -2,11 +2,9 @@ Source: httrack
Section: web
Priority: optional
Maintainer: Xavier Roche <roche@httrack.com>
Standards-Version: 3.9.5
Build-Depends: debhelper (>= 8.0.0), dh-autoreconf, autotools-dev, autoconf, autoconf-archive, automake, libtool, zlib1g-dev, libssl-dev
Standards-Version: 3.9.4
Build-Depends: debhelper (>= 8.0.0), zlib1g-dev, libssl-dev, autotools-dev, autoconf, automake, libtool
Homepage: http://www.httrack.com
Vcs-Svn: http://httrack.googlecode.com/svn/trunk
Vcs-Browser: https://code.google.com/p/httrack/source/browse/trunk/src
Package: httrack
Architecture: any

2
debian/copyright vendored
View File

@@ -5,7 +5,7 @@ The current Debian maintainer is Xavier Roche <xavier@debian.org>
Upstream author: Xavier Roche <roche@httrack.com>
Copyright: 1998-2014 Xavier Roche and other contributors
Copyright: 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -1,5 +1,5 @@
usr/lib/libhttrack.so.2.0.48
usr/lib/libhttrack.so.2.0.47
usr/lib/libhttrack.so.2
usr/lib/libhtsjava.so.2.0.48
usr/lib/libhtsjava.so.2.0.47
usr/lib/libhtsjava.so.2
usr/share/httrack/templates

19
debian/rules vendored
View File

@@ -23,16 +23,11 @@ ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
# as suggested by Simon McVittie
# (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744380)
override_dh_auto_test:
VERBOSE=1 dh_auto_test
configure: configure-stamp
configure-stamp:
dh_testdir
dh_autoreconf
autoreconf -v -i
# note: dpkg-buildflags to be removed when compat=9
dh_auto_configure -- --enable-online-unit-tests=auto $(shell dpkg-buildflags --export=configure)
@@ -55,7 +50,6 @@ clean:
dh_testroot
rm -f build-stamp configure-stamp
dh_auto_clean
dh_autoreconf_clean
dh_clean
install: build
@@ -85,17 +79,10 @@ install: build
mkdir -p $(CURDIR)/debian/httrack/usr/lib/httrack/
mv $(CURDIR)/debian/httrack/usr/bin/htsserver \
$(CURDIR)/debian/httrack/usr/lib/httrack/
# remove *.la (https://wiki.debian.org/ReleaseGoals/LAFileRemoval)
rm -f $(CURDIR)/debian/httrack/usr/lib/*.a
rm -f $(CURDIR)/debian/httrack/usr/lib/*.la
rm -f $(CURDIR)/debian/httrack/usr/lib/httrack/*.a
rm -f $(CURDIR)/debian/httrack/usr/lib/httrack/*.la
# remove *.a unless we do not have *.so files
# see BUG #744594
if ls $(CURDIR)/debian/httrack/usr/lib/*.so >/dev/null 2>/dev/null ; then \
rm -f $(CURDIR)/debian/httrack/usr/lib/*.a ; \
fi
if ls $(CURDIR)/debian/httrack/usr/lib/httrack/*.so >/dev/null 2>/dev/null ; then \
rm -f $(CURDIR)/debian/httrack/usr/lib/httrack/*.a ; \
fi
mv $(CURDIR)/debian/httrack/usr/lib/httrack/lib* \
$(CURDIR)/debian/httrack/usr/share/httrack/libtest/
mkdir -p $(CURDIR)/debian/httrack/usr/lib/httrack/libtest

View File

@@ -2,54 +2,9 @@
HTTrack Website Copier release history:
--------------------------------------
This file lists all changes and fixes that have been made for HTTrack
3.48-20
+ Fixed: webhttrack incompatibility with Chrome
+ Fixed: assertion failure at htslib.c:3458 (strlen(copyBuff) == qLen) seen on Linux
+ Fixed: infamous crashes inside the DNS cache due to a corruption within the option structure (E.Kalinowski/karbofos)
+ New: added minimalistic crash reporting on Windows and Linux
+ Fixed: URL list not working anymore (tom swift)
+ Fixed: FTBFS on ARM
+ Fixed: buggy FFFD (replacement character) in place of leading non-ascii character such as Chinese ones (aballboy)
+ Fixed: FTBFS when compiling with zlib versions < 1.2.70 (sammyx)
+ Fixed: buggy SVG (Smiling Spectre)
+ Fixed: do not uncompress .tgz advertised as "streamed" (Smiling Spectre)
+ Fixed: NULL pointer dereferencing in back_unserialize (htsback.c:976)
+ Fixed: library development files
+ Fixed: --advanced-maxlinks broken (Localhost)
+ Fixed: -devel package should now be standalone
+ Fixed: assertion failure at htscore.c:244 (len + liensbuf->string_buffer_size < liensbuf->string_buffer_capa)
+ Fixed: injection-proof templates
+ Fixed: htshash.c:330 assertion failure ("error invalidating hash entry") (Sergey)
+ Fixed: Windows 2000 regression (fantozzi.usenet)
+ Fixed: code cleanup (aliasing issues, const correctness, safe strings)
+ New: handle --advanced-maxlinks=0 to disable maximum link limits
+ New: updated ZIP routines (zlib 1.2.8)
+ Fixed: broken 32-bit version
+ Fixed: assertion "segOutputSize < segSize assertion fails at htscharset.c:993"
+ Fixed: new zlib version fixing CVE-2004-0797 and CVE-2005-2096
+ Fixed: more reliable crash reporting
+ Fixed: fixed infamous "hashtable internal error: cuckoo/stash collision" errors
+ Fixed: safety cleanup in many strings operations
+ Fixed: buggy option pannels
+ New: Enforce check against CVE-2014-0160
+ New: improved hashtables to speedup large mirrors
+ New: added unit tests
+ New: Added %a option, allowing to define the "Accept:" header line.
+ New: Added %X option, to define additional request header lines.
+ New: Added option '-%t', preserving the original file type (which may produce non-browseable file locally)
+ Fixed: remove scope id (% character) in dotted address resolution (especially for catchurl proxy)
+ Fixed: build fixes, including for Android, non-SSL releases
+ Fixed: buggy keep-alive handling, leading to waste connections
+ Fixed: removed chroot and setuid features (this is definitely not our business)
+ Fixed: removed MMS (Microsoft Media Server) ripping code (mmsrip) (dead protocol, unmaintained code, licensing issues)
+ Fixed: type mishandling when processing a redirect (such as a .PDF redirecting to another .PDF, with a text/html type tagged in the redirect message)
+ Fixed: infinite loop when attempting to download a file:/// directory on Unix (gp)<br/>
+ Fixed: removed background DNS resolution, prone to bugs
+ Fixed: do not choke on Windows 2000 because of missing SetDllDirectory() (Andy Hewitt)
+ Fixed: %h custom build structure parameter not taken in account (William Clark)
This file lists all changes and fixes that have been made for HTTrack.
3.47-27
3.47-24
+ New: support for IDNA / RFC 3492 (punycode) handling
+ New: openssl is no longer dynamically probed at stratup, but dynamically linked
+ Fixed: random closing of files/sockets, leading to "zip_zipWriteInFileInZip_failed" assertion, "bogus state" messages, or random garbage in downloaded files

View File

@@ -20,7 +20,7 @@ HelpHtmldiv_DATA = div/search.sh
HelpHtmlimg_DATA = img/*
HelpHtmlimages_DATA = images/*
HelpHtmlTxt_DATA = ../greetings.txt ../history.txt ../license.txt
WebHtml_DATA = server/*.html server/*.js server/*.css
WebHtml_DATA = server/*.html
WebHtmlimages_DATA = server/images/*
WebHtmlsfx_DATA = server/sfx/*
# note: converted & normalized by
@@ -41,6 +41,6 @@ EXTRA_DIST = $(HelpHtml_DATA) $(HelpHtmlimg_DATA) $(HelpHtmlimages_DATA) \
install-data-hook:
if test ! -L $(DESTDIR)$(prefix)/share/httrack/html ; then \
( cd $(DESTDIR)$(prefix)/share/httrack \
&& $(LN_S) ../doc/httrack html \
&& $(LN_S) $(htmldir) html \
) \
fi

View File

@@ -115,7 +115,6 @@ DATA = $(HelpHtml_DATA) $(HelpHtmlTxt_DATA) $(HelpHtmldiv_DATA) \
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -124,12 +123,14 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
@@ -143,7 +144,6 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
@@ -199,6 +199,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -265,7 +266,7 @@ HelpHtmldiv_DATA = div/search.sh
HelpHtmlimg_DATA = img/*
HelpHtmlimages_DATA = images/*
HelpHtmlTxt_DATA = ../greetings.txt ../history.txt ../license.txt
WebHtml_DATA = server/*.html server/*.js server/*.css
WebHtml_DATA = server/*.html
WebHtmlimages_DATA = server/images/*
WebHtmlsfx_DATA = server/sfx/*
# note: converted & normalized by
@@ -800,7 +801,7 @@ uninstall-am: uninstall-HelpHtmlDATA uninstall-HelpHtmlTxtDATA \
install-data-hook:
if test ! -L $(DESTDIR)$(prefix)/share/httrack/html ; then \
( cd $(DESTDIR)$(prefix)/share/httrack \
&& $(LN_S) ../doc/httrack html \
&& $(LN_S) $(htmldir) html \
) \
fi

View File

@@ -52,7 +52,8 @@ offline browser : copy websites to a local directory</p>
<p style="margin-left:11%; margin-top: 1em"><b>httrack [
url ]... [ &minus;filter ]... [ +filter ]... [ &minus;O,
&minus;&minus;path</b> ] [ <b>&minus;w,
&minus;&minus;path</b> ] [ <b>&minus;%O,
&minus;&minus;chroot</b> ] [ <b>&minus;w,
&minus;&minus;mirror</b> ] [ <b>&minus;W,
&minus;&minus;mirror&minus;wizard</b> ] [ <b>&minus;g,
&minus;&minus;get&minus;files</b> ] [ <b>&minus;i,
@@ -69,6 +70,8 @@ url ]... [ &minus;filter ]... [ +filter ]... [ &minus;O,
&minus;&minus;max&minus;rate[=N]</b> ] [ <b>&minus;%cN,
&minus;&minus;connection&minus;per&minus;second[=N]</b> ] [
<b>&minus;GN, &minus;&minus;max&minus;pause[=N]</b> ] [
<b>&minus;%mN,
&minus;&minus;max&minus;mms&minus;time[=N]</b> ] [
<b>&minus;cN, &minus;&minus;sockets[=N]</b> ] [
<b>&minus;TN, &minus;&minus;timeout[=N]</b> ] [
<b>&minus;RN, &minus;&minus;retries[=N]</b> ] [
@@ -108,9 +111,7 @@ url ]... [ &minus;filter ]... [ +filter ]... [ &minus;O,
&minus;&minus;referer</b> ] [ <b>&minus;%E,
&minus;&minus;from</b> ] [ <b>&minus;%F,
&minus;&minus;footer</b> ] [ <b>&minus;%l,
&minus;&minus;language</b> ] [ <b>&minus;%a,
&minus;&minus;accept</b> ] [ <b>&minus;%X,
&minus;&minus;headers</b> ] [ <b>&minus;C,
&minus;&minus;language</b> ] [ <b>&minus;C,
&minus;&minus;cache[=N]</b> ] [ <b>&minus;k,
&minus;&minus;store&minus;all&minus;in&minus;cache</b> ] [
<b>&minus;%n, &minus;&minus;do&minus;not&minus;recatch</b> ]
@@ -143,7 +144,8 @@ url ]... [ &minus;filter ]... [ +filter ]... [ &minus;O,
<b>&minus;%!,
&minus;&minus;disable&minus;security&minus;limits</b> ] [
<b>&minus;V, &minus;&minus;userdef&minus;cmd</b> ] [
<b>&minus;%W, &minus;&minus;callback</b> ] [ <b>&minus;K,
<b>&minus;%U, &minus;&minus;user</b> ] [ <b>&minus;%W,
&minus;&minus;callback</b> ] [ <b>&minus;K,
&minus;&minus;keep&minus;links[=N]</b> ] [</p>
<h2>DESCRIPTION
@@ -225,17 +227,29 @@ options:</b></p>
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="3%">
<td width="4%">
<p>&minus;O</p></td>
<td width="8%"></td>
<td width="7%"></td>
<td width="78%">
<p>path for mirror/logfiles+cache (&minus;O path
mirror[,path cache and logfiles]) (&minus;&minus;path
&lt;param&gt;)</p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">
<p>&minus;%O</p></td>
<td width="7%"></td>
<td width="78%">
<p>chroot path to, must be r00t (&minus;%O root path)
(&minus;&minus;chroot &lt;param&gt;)</p></td></tr>
</table>
<p style="margin-left:11%; margin-top: 1em"><b>Action
@@ -461,6 +475,19 @@ hour) (&minus;&minus;max&minus;time[=N])</p></td></tr>
<p>pause transfer if N bytes reached, and wait until lock
file is deleted (&minus;&minus;max&minus;pause[=N])</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="9%">
<p>&minus;%mN</p></td>
<td width="2%"></td>
<td width="78%">
<p>maximum mms stream download time in seconds (60=1
minute, 3600=1 hour)
(&minus;&minus;max&minus;mms&minus;time[=N])</p> </td></tr>
</table>
<p style="margin-left:11%; margin-top: 1em"><b>Flow
@@ -1022,32 +1049,6 @@ HTTP headers (&minus;F &quot;user&minus;agent name&quot;)
<p>preffered language (&minus;%l &quot;fr, en, jp, *&quot;
(&minus;&minus;language &lt;param&gt;)</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">
<p>&minus;%a</p></td>
<td width="7%"></td>
<td width="78%">
<p>accepted formats (&minus;%a
&quot;text/html,image/png;q=0.9,*/*;q=0.1&quot;
(&minus;&minus;accept &lt;param&gt;)</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">
<p>&minus;%X</p></td>
<td width="7%"></td>
<td width="78%">
<p>additional HTTP header line (&minus;%X
&quot;X&minus;Magic: 42&quot; (&minus;&minus;headers
&lt;param&gt;)</p> </td></tr>
</table>
<p style="margin-left:11%; margin-top: 1em"><b>Log, index,
@@ -1631,6 +1632,18 @@ memory boundary checks)
<p>generate transfer rate statictics every minutes
(&minus;&minus;debug&minus;ratestats)</p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="6%">
<p>&minus;#!</p></td>
<td width="5%"></td>
<td width="78%">
<p>execute a shell command (&minus;#! &quot;echo
hello&quot;) (&minus;&minus;exec &lt;param&gt;)</p></td></tr>
</table>
<p style="margin-left:11%; margin-top: 1em"><b>Dangerous
@@ -1694,13 +1707,25 @@ specific options:</b></p>
<p style="margin-top: 1em">execute system command after
each files ($0 is the filename: &minus;V &quot;rm \$0&quot;)
each files ($0 is the filename: &minus;V &quot;rm &quot;)
(&minus;&minus;userdef&minus;cmd &lt;param&gt;)</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">
<p>&minus;%U</p></td>
<td width="7%"></td>
<td width="78%">
<p>run the engine with another id when called as root
(&minus;%U smith) (&minus;&minus;user &lt;param&gt;)</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">
<p>&minus;%W</p></td>
<td width="7%"></td>
<td width="78%">
@@ -2286,7 +2311,7 @@ other information you deem necessary.</p>
<p style="margin-left:11%; margin-top: 1em">Copyright (C)
1998-2014 Xavier Roche and other contributors</p>
1998-2013 Xavier Roche and other contributors</p>
<p style="margin-left:11%; margin-top: 1em">This program is
free software: you can redistribute it and/or modify it

View File

@@ -6,9 +6,79 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<style type="text/css">
<!--
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
@@ -69,7 +139,7 @@ ${LANG_K3} : ${HTTRACK_WEB}
<form>
<input type="button" value="OK" onClick="window.close();"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</form>

View File

@@ -6,10 +6,75 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</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; }
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
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>
<script language="javascript">
<!--
@@ -73,7 +138,7 @@ function info(str) {
<td id="subTitle" align="right">
<a href="/server/file.html" target="_blank"
onClick="window.open('/server/file.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O1}
@@ -85,7 +150,7 @@ ${do:if-file-exists:html/index.html}
<td id="subTitle" align="right">
<a href="/index.html" target="_blank"
onClick="window.open('/server/help.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O5}
@@ -118,20 +183,20 @@ ${do:end-if}
<form action="${thisfile}" name="form">
<table width="100%">
<tr><td>${LANG_T2}</td><td>http://<input name="urladr"
onMouseOver="info('${html:LANG_T10}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_T10}'); return true" onMouseOut="info('&nbsp;'); return true"
></td></tr>
<tr><td colspan=2>
<table width="100%">
<th>${LANG_T4}</th>
<tr><td>${LANG_T5}:</td><td><input name="urllogin"
onMouseOver="info('${html:LANG_T12}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_T12}'); return true" onMouseOut="info('&nbsp;'); return true"
></td></tr>
<tr><td>${LANG_T6}:</td><td><input name="urlpass"
onMouseOver="info('${html:LANG_T13}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_T13}'); return true" onMouseOut="info('&nbsp;'); return true"
></td></tr>
<tr><td>${LANG_T7}:</td><td><input type="button" value="${LANG_T8}" onClick="alert('not yet implemented!')"
onMouseOver="info('${html:LANG_T14}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_T14}'); return true" onMouseOut="info('&nbsp;'); return true"
></td></tr>
</table>
@@ -139,7 +204,7 @@ ${do:end-if}
<tr><td>
<input type="button" value="OK" onClick="if (do_add()) { window.close(); }"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>

View File

@@ -6,8 +6,75 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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>
<script language="javascript">
<!--

View File

@@ -7,10 +7,10 @@
<title>'${projname}' - HTTrack Website Copier</title>
<script language="javascript">
<!--
<!--
function do_load() {
window.status=' ';
window.close();
window.close();
}
function do_unload() {
}

View File

@@ -6,8 +6,79 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--

View File

@@ -6,8 +6,75 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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>
<script language="javascript">
<!--
@@ -36,7 +103,7 @@ function info(str) {
<td id="subTitle" align="right">
<a href="/server/file.html" target="_blank"
onClick="window.open('/server/file.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O1}
@@ -48,7 +115,7 @@ ${do:if-file-exists:html/index.html}
<td id="subTitle" align="right">
<a href="/index.html" target="_blank"
onClick="window.open('/server/help.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O5}
@@ -80,23 +147,23 @@ ${do:end-if}
<br>
<pre>
${do:if-not-empty:commandReturn}
${LANG_F19}
<font color="red">
${commandReturnMsg}
</font>
${LANG_F20}
<font color="blue">
httrack ${commandReturnCmdl}
</font>
${LANG_F21}
${do:end-if}
${do:if-empty:commandReturn}
<pre>
${do:if-not-empty:commandReturn}
${LANG_F19}
<font color="red">
${commandReturnMsg}
</font>
${LANG_F20}
<font color="blue">
httrack ${commandReturnCmdl}
</font>
${LANG_F21}
${do:end-if}
${do:if-empty:commandReturn}
${LANG_F22}
${do:end-if}
${do:end-if}
</pre>
${LANG_G8} :
@@ -110,7 +177,7 @@ ${path}/${projname}
<li><a href="/website/hts-log.txt" target="_new">${LANG_D4}</a></li>
</ul>
<form method="POST" action="exit.html" name="form">
<form method="POST" action="exit.html" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="command" value="quit">
@@ -124,8 +191,8 @@ ${path}/${projname}
<table width="100%" border="0"><tr><td align="left">
&nbsp;
</td><td align="right">
<input type="submit" value=" ${LANG_QUIT} "
onClick="form.submit()">
<input type="submit" value=" ${LANG_QUIT} "
onClick="form.submit()">
</td></tr></table>
</td></tr>

View File

@@ -6,8 +6,79 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
@@ -58,7 +129,7 @@ function info(str) {
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr><td class="tabCtrl" align="left">
<a style="background:black;color: white" href="about.html" target="_new"
onMouseOver="info('${html:LANG_G21}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G21}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${LANG_O16}...
</a>
@@ -67,7 +138,7 @@ ${LANG_O16}...
<tr><td class="tabCtrl" align="left">
<a style="background:black;color: white"
href="http://www.httrack.com/update.php3?Product=HTTrack&Version=${HTTRACK_VERSIONID}&VersionStr=${HTTRACK_VERSION}&Platform=${HTS_PLATFORM}&LanguageId=${lang}" target="_new"
onMouseOver="info('${html:LANG_O17}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_O17}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${LANG_O17}...
</a>
@@ -78,7 +149,7 @@ ${do:if-file-exists:html/index.html}
<tr><td class="tabCtrl" align="left">
<a style="background:black;color: white"
href="/index.html" target="_new"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${LANG_P16}
</a>

View File

@@ -6,8 +6,75 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>HTTrack Website Copier - Offline Browser</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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>
<script language="javascript">
<!--
@@ -43,7 +110,7 @@ function info(str) {
<td id="subTitle" align="right">
<a href="/server/file.html" target="_blank"
onClick="window.open('/server/file.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O1}
@@ -55,7 +122,7 @@ ${do:if-file-exists:html/index.html}
<td id="subTitle" align="right">
<a href="/index.html" target="_blank"
onClick="window.open('/server/help.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O5}
@@ -113,7 +180,7 @@ ${LANG_THANKYOU}!
<tr><td align="right">
<input name="nextBtn" type="submit" value=" ${LANG_NEXT} >> "
onMouseOver="info('${html:LANG_TIPNEXT}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPNEXT}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt1.html" target="_blank"
onClick="window.open('/step9_opt1.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,7 +167,7 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
<!-- clear if not checked -->
<input type="hidden" name="parseall" value="">
@@ -107,34 +178,34 @@ ${do:end-if}
<!-- checkboxes -->
<table border="0" width="100%" cellspacing="0">
<tr><td><input type="checkbox" name="parseall" ${checked:parseall}
onMouseOver="info('${html:LANG_I1}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I31}</td></tr>
<tr><td><input type="checkbox" name="link" ${checked:link}
onMouseOver="info('${html:LANG_I2}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I2}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I32}</td></tr>
<tr><td><input type="checkbox" name="testall" ${checked:testall}
onMouseOver="info('${html:LANG_I2b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I2b}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I32b}</td></tr>
<tr><td><input type="checkbox" name="htmlfirst" ${checked:htmlfirst}
onMouseOver="info('${html:LANG_I2c}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I2c}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I32c}</td></tr>
</table>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt7.html" target="_blank"
onClick="window.open('/step9_opt7.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,37 +167,37 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
${LANG_IOPT10}:
<input name="prox" value="${prox}" size="32"
onMouseOver="info('${html:LANG_G14}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G14}'); return true" onMouseOut="info('&nbsp;'); return true"
>:
<input name="portprox" value="${portprox}" size="4"
onMouseOver="info('${html:LANG_G15}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G15}'); return true" onMouseOut="info('&nbsp;'); return true"
>
<br>
<input type="checkbox" name="ftpprox" ${checked:ftpprox}
onMouseOver="info('${html:LANG_G15c}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G15c}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I47c}
<br><br>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt9.html" target="_blank"
onClick="window.open('/step9_opt9.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,7 +167,7 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
${LANG_W1}:
<br>
@@ -112,97 +183,97 @@ ${LANG_W3}
<td align="left">
<input name="ext1" value="${ext1}"
onMouseOver="info('${html:LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="left">
&#x21d4;
</td><td align="left">
<input name="mime1" value="${mime1}"
onMouseOver="info('${html:LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<!-- -->
<td align="left">
<input name="ext2" value="${ext2}"
onMouseOver="info('${html:LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="left">
&#x21d4;
</td><td align="left">
<input name="mime2" value="${mime2}"
onMouseOver="info('${html:LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<!-- -->
<td align="left">
<input name="ext3" value="${ext3}"
onMouseOver="info('${html:LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="left">
&#x21d4;
</td><td align="left">
<input name="mime3" value="${mime3}"
onMouseOver="info('${html:LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<!-- -->
<td align="left">
<input name="ext4" value="${ext4}"
onMouseOver="info('${html:LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="left">
&#x21d4;
</td><td align="left">
<input name="mime4" value="${mime4}"
onMouseOver="info('${html:LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<!-- -->
<td align="left">
<input name="ext5" value="${ext5}"
onMouseOver="info('${html:LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="left">
&#x21d4;
</td><td align="left">
<input name="mime5" value="${mime5}"
onMouseOver="info('${html:LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<!-- -->
<td align="left">
<input name="ext6" value="${ext6}"
onMouseOver="info('${html:LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="left">
&#x21d4;
</td><td align="left">
<input name="mime6" value="${mime6}"
onMouseOver="info('${html:LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<!-- -->
<td align="left">
<input name="ext7" value="${ext7}"
onMouseOver="info('${html:LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="left">
&#x21d4;
</td><td align="left">
<input name="mime7" value="${mime7}"
onMouseOver="info('${html:LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<!-- -->
<td align="left">
<input name="ext8" value="${ext8}"
onMouseOver="info('${html:LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="left">
&#x21d4;
</td><td align="left">
<input name="mime8" value="${mime8}"
onMouseOver="info('${html:LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_W5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<!-- -->
@@ -212,21 +283,21 @@ ${LANG_W3}
<br><br>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,23 +6,94 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
function info(str) {
window.status = str;
}
}
// -->
</script>
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt5.html" target="_blank"
onClick="window.open('/step9_opt5.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,62 +167,62 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
${LANG_I33}
<br>
<select name="build"
onMouseOver="info('${html:LANG_I3}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I3}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:build:LISTDEF_3}
</select>
<input type="button" value="${LANG_O2}"
onClick="form.build.selectedIndex=14; window.open('option2b.html', 'option2b', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480').wparent=document; form.submit();"
onMouseOver="info('${html:LANG_I4}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I4}'); return true" onMouseOut="info('&nbsp;'); return true"
>
<!-- checkboxes -->
<table border="0" width="100%" cellspacing="0">
<tr><td>
<select name="dos"
onMouseOver="info('${html:LANG_I8}\r\n${LANG_I8b}'); return true" onMouseOut="info('&nbsp;'); return true"
>
<option value="0"${ztest:dos: selected::}>&nbsp;</option>
<option value="1"${ztest:dos:: selected:}>${LANG_I37}</option>
<option value="2"${ztest:dos::: selected}>${LANG_I37b}</option>
</select>
<tr><td>
<select name="dos"
onMouseOver="info('${LANG_I8}\r\n${LANG_I8b}'); return true" onMouseOut="info('&nbsp;'); return true"
>
<option value="0"${ztest:dos: selected::}>&nbsp;</option>
<option value="1"${ztest:dos:: selected:}>${LANG_I37}</option>
<option value="2"${ztest:dos::: selected}>${LANG_I37b}</option>
</select>
</td></tr>
<tr><td><input type="checkbox" name="errpage" ${checked:errpage}
onMouseOver="info('${html:LANG_I9}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I9}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I38}</td></tr>
<tr><td><input type="checkbox" name="external" ${checked:external}
onMouseOver="info('${html:LANG_I29}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I29}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I56}</td></tr>
<tr><td><input type="checkbox" name="hidepwd" ${checked:hidepwd}
onMouseOver="info('${html:LANG_I30}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I30}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I66}</td></tr>
<tr><td><input type="checkbox" name="hidequery" ${checked:hidequery}
onMouseOver="info('${html:LANG_I30b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I30b}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I67}</td></tr>
<tr><td><input type="checkbox" name="nopurge" ${checked:nopurge}
onMouseOver="info('${html:LANG_I1a}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1a}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I57}</td></tr>
</table>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -70,7 +141,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt5.html" target="_blank"
onClick="window.open('/step9_opt5.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -84,7 +155,7 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
<input name="BuildString" size="60" value="${BuildString}">
@@ -99,25 +170,25 @@ ${LANG_Q3}
</pre>
<br>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK]"
${do:output-mode:html-urlescaped}
onClick="if (confirm(str_replace(str_replace('${LANG_DIAL7}', '%20', ' '), '%0a', ' '))) { form.closeme.value=1; form.submit(); } return false;"
${do:output-mode:}
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK]"
${do:output-mode:html-urlescaped}
onClick="if (confirm(str_replace(str_replace('${LANG_DIAL7}', '%20', ' '), '%0a', ' '))) { form.closeme.value=1; form.submit(); } return false;"
${do:output-mode:}
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>
</td></tr>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt10.html" target="_blank"
onClick="window.open('/step9_opt10.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,7 +167,7 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
${LANG_I40c}
<br>
@@ -104,7 +175,7 @@ ${LANG_I40c}
<!-- checkboxes -->
<table border="0" width="100%" cellspacing="0">
<tr><td><input type="checkbox" name="cache" ${checked:cache}
onMouseOver="info('${html:LANG_I5}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I5}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I34}</td></tr>
</table>
<br>
@@ -112,7 +183,7 @@ ${LANG_I40c}
${LANG_I39}
<br>
<select name="filter"
onMouseOver="info('${html:LANG_I29}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I29}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:filter:LISTDEF_4}
</select>
@@ -121,7 +192,7 @@ ${listid:filter:LISTDEF_4}
${LANG_I40}
<br>
<select name="travel"
onMouseOver="info('${html:LANG_I11}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I11}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:travel:LISTDEF_5}
</select>
@@ -130,7 +201,7 @@ ${listid:travel:LISTDEF_5}
${LANG_I40b}
<br>
<select name="travel2"
onMouseOver="info('${html:LANG_I11b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I11b}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:travel2:LISTDEF_6}
</select>
@@ -139,7 +210,7 @@ ${listid:travel2:LISTDEF_6}
${LANG_I40e}
<br>
<select name="travel3"
onMouseOver="info('${html:LANG_I11c}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I11c}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:travel3:LISTDEF_11}
</select>
@@ -148,26 +219,26 @@ ${listid:travel3:LISTDEF_11}
<!-- checkboxes -->
<table border="0" width="100%" cellspacing="0">
<tr><td><input type="checkbox" name="windebug" ${checked:windebug}
onMouseOver="info('${html:LANG_I1h}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1h}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I40d}</td></tr>
</table>
<br>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt3.html" target="_blank"
onClick="window.open('/step9_opt3.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,7 +167,7 @@ ${do:end-if}
<form method="POST" action="refresh.html" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
<table border="0" width="100%" cellspacing="0">
@@ -104,11 +175,11 @@ ${do:end-if}
${LANG_I44}
</td><td>
<input name="connexion" value="${connexion}" size="4"
onMouseOver="info('${html:LANG_I12}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I12}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr><tr><td></td><td>
<input type="checkbox" name="ka" ${checked:ka}
onMouseOver="info('${html:LANG_I47f}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I47f}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I47e}
</td></tr>
@@ -116,11 +187,11 @@ ${LANG_I44}
${LANG_I47d}
</td><td>
<input name="timeout" value="${timeout}" size="4"
onMouseOver="info('${html:LANG_I13}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I13}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr><tr><td></td><td>
<input type="checkbox" name="remt" ${checked:remt}
onMouseOver="info('${html:LANG_I14}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I14}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I45}
</td></tr>
@@ -128,7 +199,7 @@ ${LANG_I47d}
${LANG_I48}
</td><td>
<input name="retry" value="${retry}" size="4"
onMouseOver="info('${html:LANG_I17}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I17}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -136,31 +207,31 @@ ${LANG_I48}
${LANG_I46}
</td><td>
<input name="rate" value="${rate}" size="4"
onMouseOver="info('${html:LANG_I15}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I15}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr><tr><td></td><td>
<input type="checkbox" name="rems" ${checked:rems}
onMouseOver="info('${html:LANG_I16}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I16}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I47}
</td></tr>
</table>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt2.html" target="_blank"
onClick="window.open('/step9_opt2.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,7 +167,7 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
<table border="0" width="100%" cellspacing="0">
@@ -104,7 +175,7 @@ ${do:end-if}
${LANG_G32}
</td><td>
<input name="depth" value="${depth}" size="4"
onMouseOver="info('${html:LANG_I1g}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1g}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -112,7 +183,7 @@ ${LANG_G32}
${LANG_G32b}
</td><td>
<input name="depth2" value="${depth2}" size="4"
onMouseOver="info('${html:LANG_I1g2}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1g2}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -120,7 +191,7 @@ ${LANG_G32b}
${LANG_I50}
</td><td>
<input name="maxhtml" value="${maxhtml}" size="4"
onMouseOver="info('${html:LANG_I18}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I18}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -128,7 +199,7 @@ ${LANG_I50}
${LANG_I50b}
</td><td>
<input name="othermax" value="${othermax}" size="4"
onMouseOver="info('${html:LANG_I19}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I19}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -136,7 +207,7 @@ ${LANG_I50b}
${LANG_I51}
</td><td>
<input name="sizemax" value="${sizemax}" size="4"
onMouseOver="info('${html:LANG_I20}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I20}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -144,7 +215,7 @@ ${LANG_I51}
${LANG_I65}
</td><td>
<input name="pausebytes" value="${pausebytes}" size="4"
onMouseOver="info('${html:LANG_I20b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I20b}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -152,7 +223,7 @@ ${LANG_I65}
${LANG_I52}
</td><td>
<input name="maxtime" value="${maxtime}" size="4"
onMouseOver="info('${html:LANG_I21}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I21}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -160,7 +231,7 @@ ${LANG_I52}
${LANG_I54}
</td><td>
<input name="maxrate" value="${maxrate}" size="4"
onMouseOver="info('${html:LANG_I22}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I22}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -168,7 +239,7 @@ ${LANG_I54}
${LANG_I64}
</td><td>
<input name="maxconn" value="${maxconn}" size="4"
onMouseOver="info('${html:LANG_I22b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I22b}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -176,25 +247,25 @@ ${LANG_I64}
${LANG_I64b}
</td><td>
<input name="maxlinks" value="${maxlinks}" size="4"
onMouseOver="info('${html:LANG_I22c}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I22c}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</table>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt8.html" target="_blank"
onClick="window.open('/step9_opt8.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,7 +167,7 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
<table border="0" width="100%" cellspacing="0">
@@ -104,7 +175,7 @@ ${do:end-if}
${LANG_I43}
</td><td>
<input name="user" value="${user}" size="60"
onMouseOver="info('${html:LANG_I23}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I23}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
@@ -112,27 +183,27 @@ ${LANG_I43}
${LANG_I43b}
</td><td>
<input name="footer" value="${footer}" size="60"
onMouseOver="info('${html:LANG_I23b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I23b}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt4.html" target="_blank"
onClick="window.open('/step9_opt4.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,13 +167,13 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
<tt>
${LANG_B10}
</tt>
<textarea name="url2" cols="60" rows="8"
onMouseOver="info('${html:LANG_C3}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_C3}'); return true" onMouseOut="info('&nbsp;'); return true"
>${url2}</textarea>
<br>
@@ -110,21 +181,21 @@ ${LANG_B10}
${LANG_B13}
</tt>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt6.html" target="_blank"
onClick="window.open('/step9_opt6.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,72 +167,72 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
<input type="checkbox" name="cookies" ${checked:cookies}
onMouseOver="info('${html:LANG_I1b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1b}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I58}
<br><br>
${LANG_I59}
<br>
<select name="checktype"
onMouseOver="info('${html:LANG_I1c}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1c}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:checktype:LISTDEF_7}
</select>
<br><br>
<input type="checkbox" name="parsejava" ${checked:parsejava}
onMouseOver="info('${html:LANG_I1d}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1d}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I60}
<br><br>
${LANG_I55}
<br>
<select name="robots"
onMouseOver="info('${html:LANG_I28}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I28}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:robots:LISTDEF_8}
</select>
<br><br>
<input type="checkbox" name="updhack" ${checked:updhack}
onMouseOver="info('${html:LANG_I1k}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1k}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I62b}
<br><br>
<input type="checkbox" name="urlhack" ${checked:urlhack}
onMouseOver="info('${html:LANG_I1k2}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1k2}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I62b2}
<br><br>
<input type="checkbox" name="toler" ${checked:toler}
onMouseOver="info('${html:LANG_I1i}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1i}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I62}
<br><br>
<input type="checkbox" name="http10" ${checked:http10}
onMouseOver="info('${html:LANG_I1j}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1j}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I63}
<br><br>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -6,17 +6,88 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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;
}
.tabCtrl {
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>
<script language="javascript">
<!--
function do_load() {
window.status=' ';
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
${do:if-not-empty:closeme}
window.close();
${do:end-if}
${do:set:closeme:}
}
function do_unload() {
}
@@ -60,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step9_opt9.html" target="_blank"
onClick="window.open('/step9_opt9.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -71,18 +142,18 @@ ${do:end-if}
<table class="tableWidth" border="0" width="100%" cellspacing="0">
<tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option1.html" onClick="form.redirect.value='option1.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT1}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT1}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option2.html" onClick="form.redirect.value='option2.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT2}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT2}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option3.html" onClick="form.redirect.value='option3.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT3}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT3}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option4.html" onClick="form.redirect.value='option4.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT4}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT4}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option5.html" onClick="form.redirect.value='option5.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT5}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT5}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option11.html" onClick="form.redirect.value='option11.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT11}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT11}</a></td>
</tr><tr>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${html:LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option6.html" onClick="form.redirect.value='option6.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT6}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT6}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option7.html" onClick="form.redirect.value='option7.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT7}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT7}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option8.html" onClick="form.redirect.value='option8.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT8}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT8}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option9.html" onClick="form.redirect.value='option9.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT9}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT9}</a></td>
<td class="tabCtrl" align="center"><a style="background:black;color: white" href="option10.html" onClick="form.redirect.value='option10.html'; form.submit(); return false;" align="center" onMouseOver="info('${LANG_IOPT10}'); return true" onMouseOut="info('&nbsp;'); return true">${LANG_IOPT10}</a></td>
<td class="tabCtrl" align="center">&nbsp;</td>
</tr>
@@ -96,53 +167,53 @@ ${do:end-if}
<form method="POST" action="${thisfile}" name="form">
<input type="hidden" name="sid" value="${sid}">
<input type="hidden" name="redirect" value="">
<input type="hidden" name="closeme" value="">
<input type="hidden" name="closeme" value="">
<input type="checkbox" name="cache2" ${checked:cache2}
onMouseOver="info('${html:LANG_I1e}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1e}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I61}
<br><br>
<input type="checkbox" name="norecatch" ${checked:norecatch}
onMouseOver="info('${html:LANG_I5b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I5b}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I34b}
<br><br>
<input type="checkbox" name="logf" ${checked:logf}
onMouseOver="info('${html:LANG_I7}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I7}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I36}
<select name="logtype"
onMouseOver="info('${html:LANG_I1f}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I1f}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:logtype:LISTDEF_9}
</select>
<br><br>
<input type="checkbox" name="index" ${checked:index}
onMouseOver="info('${html:LANG_I6}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I6}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I35}
<br><br>
<input type="checkbox" name="index2" ${checked:index2}
onMouseOver="info('${html:LANG_I6b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_I6b}'); return true" onMouseOut="info('&nbsp;'); return true"
> ${LANG_I35b}
<br><br>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${html:LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${html:LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
<tr><td>
<table width="100%">
<tr><td align="left">
<input type="submit" value="${LANG_OK}"
onClick="form.closeme.value=1; form.submit(); return false;"
onMouseOver="info('${LANG_TIPOK}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input type="button" value="${LANG_CANCEL}"
onClick="window.close();"
onMouseOver="info('${LANG_TIPCANCEL}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr>
</table>
</td></tr>
</form>

View File

@@ -1,26 +0,0 @@
// Function aimed to ping the webhttrack server regularly to keep it alive
// If the browser window is closed, the server will eventually shutdown
function ping_server() {
var iframe = document.getElementById('pingiframe');
if (iframe && iframe.src) {
iframe.src = iframe.src;
setTimeout(ping_server, 30000);
}
}
// Create an invisible iframe to hold the server ping result
// Only modern browsers will support that, but old browsers are compatible
// with the legacy "wait for browser PID" mode
if (document && document.createElement && document.body
&& document.body.appendChild && document.getElementById) {
var iframe = document.createElement('iframe');
if (iframe) {
iframe.id = 'pingiframe';
iframe.style.display = "none";
iframe.style.visibility = "hidden";
iframe.width = iframe.height = 0;
iframe.src = "/ping";
document.body.appendChild(iframe);
ping_server();
}
}

View File

@@ -7,55 +7,122 @@
<META http-equiv="refresh" content="30; URL=finished.html">
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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>
<script language="javascript">
<!--
<!--
var freeze=0;
setTimeout(do_refresh, 1000);
setTimeout(do_refresh, 1000);
function do_load() {
window.status=' ';
enable_timer();
}
function disable_timer() {
if (freeze == 0) {
freeze=1;
}
}
function lock_timer() {
freeze=2;
}
function enable_timer() {
if (freeze == 1) {
freeze=0;
}
}
function unlock_timer() {
freeze=0;
}
function do_confirm(str) {
lock_timer();
ret=confirm(str);
if (!ret) {
unlock_timer();
}
return ret;
window.status=' ';
enable_timer();
}
function disable_timer() {
if (freeze == 0) {
freeze=1;
}
}
function lock_timer() {
freeze=2;
}
function enable_timer() {
if (freeze == 1) {
freeze=0;
}
}
function unlock_timer() {
freeze=0;
}
function do_confirm(str) {
lock_timer();
ret=confirm(str);
if (!ret) {
unlock_timer();
}
return ret;
}
function do_unload() {
}
function info(str) {
window.status = str;
}
function do_refresh() {
if (!freeze) {
document.location.reload();
} else {
setTimeout(do_refresh, 1000);
}
}
function do_refresh() {
if (!freeze) {
document.location.reload();
} else {
setTimeout(do_refresh, 1000);
}
}
function no_refresh() {
}
function no_refresh() {
}
// -->
</script>
@@ -73,7 +140,7 @@ function no_refresh() {
<td id="subTitle" align="right">
<a href="/server/file.html" target="_blank"
onClick="window.open('/server/file.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O1}
@@ -85,7 +152,7 @@ ${do:if-file-exists:html/index.html}
<td id="subTitle" align="right">
<a href="/index.html" target="_blank"
onClick="window.open('/server/help.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O5}
@@ -131,8 +198,8 @@ ${do:end-if}
</tr>
</table>
<br>
<br>
<table border="0" width="100%">
<tr>
@@ -143,8 +210,8 @@ ${LANG_H20} ${info.currentjob}
</td>
</tr>
</table>
<br>
<br>
<form method="POST" action="step4.html" name="form">
<input type="hidden" name="sid" value="${sid}">
@@ -152,20 +219,20 @@ ${LANG_H20} ${info.currentjob}
<table border="0" width="100%">
<tr><td>${info.state[0]}</td><td>${info.name[0]}</td><td>${info.file[0]}</td><td>${info.size[0]}/${info.sizetot[0]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[0]}'; form.submit()" onMouseOver="info('${html:LANG_H6}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[1]}</td><td>${info.name[1]}</td><td>${info.file[1]}</td><td>${info.size[1]}/${info.sizetot[1]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[1]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[2]}</td><td>${info.name[2]}</td><td>${info.file[2]}</td><td>${info.size[2]}/${info.sizetot[2]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[2]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[3]}</td><td>${info.name[3]}</td><td>${info.file[3]}</td><td>${info.size[3]}/${info.sizetot[3]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[3]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[4]}</td><td>${info.name[4]}</td><td>${info.file[4]}</td><td>${info.size[4]}/${info.sizetot[4]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[4]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[5]}</td><td>${info.name[5]}</td><td>${info.file[5]}</td><td>${info.size[5]}/${info.sizetot[5]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[5]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[6]}</td><td>${info.name[6]}</td><td>${info.file[6]}</td><td>${info.size[6]}/${info.sizetot[6]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[6]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[7]}</td><td>${info.name[7]}</td><td>${info.file[7]}</td><td>${info.size[7]}/${info.sizetot[7]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[7]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[8]}</td><td>${info.name[8]}</td><td>${info.file[8]}</td><td>${info.size[8]}/${info.sizetot[8]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[8]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[9]}</td><td>${info.name[9]}</td><td>${info.file[9]}</td><td>${info.size[9]}/${info.sizetot[9]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[9]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[10]}</td><td>${info.name[10]}</td><td>${info.file[10]}</td><td>${info.size[10]}/${info.sizetot[10]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[10]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[11]}</td><td>${info.name[11]}</td><td>${info.file[11]}</td><td>${info.size[11]}/${info.sizetot[11]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[11]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[12]}</td><td>${info.name[12]}</td><td>${info.file[12]}</td><td>${info.size[12]}/${info.sizetot[12]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[12]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[13]}</td><td>${info.name[13]}</td><td>${info.file[13]}</td><td>${info.size[13]}/${info.sizetot[13]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[13]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[0]}</td><td>${info.name[0]}</td><td>${info.file[0]}</td><td>${info.size[0]}/${info.sizetot[0]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[0]}'; form.submit()" onMouseOver="info('${LANG_H6}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[1]}</td><td>${info.name[1]}</td><td>${info.file[1]}</td><td>${info.size[1]}/${info.sizetot[1]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[1]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[2]}</td><td>${info.name[2]}</td><td>${info.file[2]}</td><td>${info.size[2]}/${info.sizetot[2]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[2]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[3]}</td><td>${info.name[3]}</td><td>${info.file[3]}</td><td>${info.size[3]}/${info.sizetot[3]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[3]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[4]}</td><td>${info.name[4]}</td><td>${info.file[4]}</td><td>${info.size[4]}/${info.sizetot[4]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[4]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[5]}</td><td>${info.name[5]}</td><td>${info.file[5]}</td><td>${info.size[5]}/${info.sizetot[5]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[5]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[6]}</td><td>${info.name[6]}</td><td>${info.file[6]}</td><td>${info.size[6]}/${info.sizetot[6]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[6]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[7]}</td><td>${info.name[7]}</td><td>${info.file[7]}</td><td>${info.size[7]}/${info.sizetot[7]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[7]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[8]}</td><td>${info.name[8]}</td><td>${info.file[8]}</td><td>${info.size[8]}/${info.sizetot[8]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[8]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[9]}</td><td>${info.name[9]}</td><td>${info.file[9]}</td><td>${info.size[9]}/${info.sizetot[9]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[9]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[10]}</td><td>${info.name[10]}</td><td>${info.file[10]}</td><td>${info.size[10]}/${info.sizetot[10]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[10]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[11]}</td><td>${info.name[11]}</td><td>${info.file[11]}</td><td>${info.size[11]}/${info.sizetot[11]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[11]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[12]}</td><td>${info.name[12]}</td><td>${info.file[12]}</td><td>${info.size[12]}/${info.sizetot[12]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[12]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
<tr><td>${info.state[13]}</td><td>${info.name[13]}</td><td>${info.file[13]}</td><td>${info.size[13]}/${info.sizetot[13]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[13]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
</table>
@@ -179,10 +246,10 @@ ${LANG_H20} ${info.currentjob}
<table width="100%" border="0"><tr><td align="left">
&nbsp;
</td><td align="right">
<input type="submit" value=" ${LANG_V4} "
onMouseOver="disable_timer(); info('${LANG_D3}'); return true"
onMouseOut="info('&nbsp;'); enable_timer(); return true"
onClick="if (do_confirm('${LANG_G1}')) { form.command.value='cancel'; form.submit(); } return false"
<input type="submit" value=" ${LANG_V4} "
onMouseOver="disable_timer(); info('${LANG_D3}'); return true"
onMouseOut="info('&nbsp;'); enable_timer(); return true"
onClick="if (do_confirm('${LANG_G1}')) { form.command.value='cancel'; form.submit(); } return false"
>
</td></tr></table>

View File

@@ -6,8 +6,75 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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>
<script language="javascript">
<!--
@@ -52,7 +119,7 @@ function info(str) {
<td id="subTitle" align="right">
<a href="/server/file.html" target="_blank"
onClick="window.open('/server/file.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:html:LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O1}
@@ -64,7 +131,7 @@ ${do:if-file-exists:html/index.html}
<td id="subTitle" align="right">
<a href="/index.html" target="_blank"
onClick="window.open('/server/help.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O5}
@@ -93,18 +160,18 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step1.html" target="_blank"
onClick="window.open('/step1.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
</tr></table>
${/* Default values for empty settings */}
${do:set:cache:1}
${do:set:cache:1}
${/* Convert winprofile.ini into internal variables */}
${do:copy:CurrentUrl:urls}
${do:copy:Category:projcateg}
${do:copy:CurrentUrl:urls}
${do:copy:Category:projcateg}
${do:copy:CurrentAction:todo}
${do:copy:CurrentURLList:filelist}
${do:copy:Proxy:proxy}
@@ -200,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>
@@ -211,30 +278,30 @@ ${do:loadhash}
${LANG_S11}
<input name="projname" value="${projname}"
onMouseOver="info('${html:html:LANG_S1}'); return true" onMouseOut="info('&nbsp;'); return true"
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('${html:html:LANG_S5}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr></table>
<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}"
onMouseOver="info('${html:html:LANG_S2}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_S2}'); return true" onMouseOut="info('&nbsp;'); return true"
>
<input type="button" value="refresh" onClick="form.redirect.value='step2.html'; form.submit()">
@@ -243,11 +310,11 @@ ${do:loadhash}
<tr><td>
<table width="100%" border="0"><tr><td align="left">
<input type="submit" value=" << ${LANG_PREVIOUS} " onClick="form.redirect.value='index.html'; form.submit()"
onMouseOver="info('${html:html:LANG_TIPPREV}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPPREV}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input name="nextBtn" type="submit" value=" ${LANG_NEXT} >> " onClick="return checkname();" default
onMouseOver="info('${html:html:LANG_TIPNEXT}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPNEXT}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr></table>

View File

@@ -6,8 +6,75 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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>
<script language="javascript">
<!--
@@ -61,7 +128,7 @@ function do_check_child() {
<td id="subTitle" align="right">
<a href="/server/file.html" target="_blank"
onClick="window.open('/server/file.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O1}
@@ -73,7 +140,7 @@ ${do:if-file-exists:html/index.html}
<td id="subTitle" align="right">
<a href="/index.html" target="_blank"
onClick="window.open('/server/help.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O5}
@@ -102,7 +169,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step2.html" target="_blank"
onClick="window.open('/step2.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -118,7 +185,7 @@ ${do:end-if}
<tr><td>
${LANG_G31}
<select name="todo"
onMouseOver="info('${html:LANG_G9}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G9}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${listid:todo:LISTDEF_10}
</select>
@@ -131,12 +198,12 @@ ${do:end-if}
</td><td>
<input type="button" value="${LANG_G43}"
onClick="doOpenWindow()"
onMouseOver="info('${html:LANG_G24b}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G24b}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr></table>
<br>
<textarea name="urls" cols="50" rows="8"
onMouseOver="info('${html:LANG_G11}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G11}'); return true" onMouseOut="info('&nbsp;'); return true"
>
${do:output-mode:html}
${urls}
@@ -150,7 +217,7 @@ ${do:output-mode:}
${LANG_URLLIST}:
</td><td>
<input name="filelist" value="${filelist}" size="40"
onMouseOver="info('${html:LANG_G24c}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G24c}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr></table>
@@ -161,7 +228,7 @@ ${do:output-mode:}
${LANG_G41}
</td><td>
<input type="button" value="${LANG_G40}" onClick="window.open('option1.html', 'option1', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_G24}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_G24}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr></table>
@@ -170,11 +237,11 @@ ${do:output-mode:}
<tr><td align="right">
<table width="100%" border="0"><tr><td align="left">
<input type="submit" value=" << ${LANG_PREVIOUS} " onClick="form.redirect.value='step2.html'; form.submit()"
onMouseOver="info('${html:LANG_TIPPREV}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPPREV}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input name="nextBtn" type="submit" value=" ${LANG_NEXT} >> "
onMouseOver="info('${html:LANG_TIPNEXT}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPNEXT}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr></table>

View File

@@ -6,8 +6,75 @@
<meta name="keywords" content="${LANG_METAKEYW}" />
<title>'${projname}' - HTTrack Website Copier</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script type="text/javascript" src="ping.js" defer></script>
<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>
<script language="javascript">
<!--
@@ -43,7 +110,7 @@ function info(str) {
<td id="subTitle" align="right">
<a href="/server/file.html" target="_blank"
onClick="window.open('/server/file.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O1}
@@ -55,7 +122,7 @@ ${do:if-file-exists:html/index.html}
<td id="subTitle" align="right">
<a href="/index.html" target="_blank"
onClick="window.open('/server/help.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O5}
@@ -84,7 +151,7 @@ ${do:if-file-exists:html/index.html}
<td>
<a href="/step3.html" target="_blank"
onClick="window.open('/step3.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
>${LANG_TIPHELP}</a>
</td>
${do:end-if}
@@ -96,34 +163,34 @@ ${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">
<input type="hidden" name="command_arg_profile" value="path,lang">
<table border="0" width="100%">
<tr><td>
</td></tr>
</td></tr>
<tr><td>
<input type="radio" name="command_do" value="start" checked><b>${LANG_J10}</b>
</td></tr>
<tr><td>
<input type="radio" name="command_do" value="save">${LANG_J10b}
</td></tr>
<tr><td>
${/* Real commands and ini file generated below */}
<input type="radio" name="command_do" value="start" checked><b>${LANG_J10}</b>
</td></tr>
<tr><td>
<input type="radio" name="command_do" value="save">${LANG_J10b}
</td></tr>
<tr><td>
${/* Real commands and ini file generated below */}
<!-- engine commandline -->
${do:output-mode:html}
<textarea name="command" cols="50" rows="4" style="visibility:hidden">
httrack \
--quiet \
--quiet \
--build-top-index \
${test:todo:--mirror:--mirror:--mirror-wizard:--get:--mirrorlinks:--testlinks:--continue:--update}
${urls}
${test:filelist:-%L "}${filelist}${test:filelist:"}
--path "${html:path}/${html:projname}"
--path "${path}/${projname}"
\
${test:parseall:--near}
${test:link:--test}
@@ -136,8 +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:robots:--robots=0:--robots=0:--robots=1:--robots=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}
@@ -169,8 +236,8 @@ ${do:end-if}
${test:maxconn:--connection-per-second=}${maxconn}
${test:maxlinks:--advanced-maxlinks=}${maxlinks}
\
--user-agent "${html:user}"
--footer "${html:footer}"
--user-agent "${user}"
--footer "${footer}"
\
${url2}
\
@@ -194,7 +261,7 @@ ${do:end-if}
${do:output-mode:inifile}
<textarea name="winprofile" cols="50" rows="4" style="visibility:hidden">
CurrentUrl=${urls}
Category=${projcateg}
Category=${projcateg}
CurrentAction=${todo}
CurrentURLList=${filelist}
Proxy=${proxy}
@@ -271,25 +338,25 @@ 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 -->
<!-- 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">
<input type="submit" value=" << ${LANG_PREVIOUS} " onClick="form.command.value=''; form.redirect.value='step3.html'; form.submit()"
onMouseOver="info('${html:LANG_TIPPREV}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPPREV}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td><td align="right">
<input name="nextBtn" type="submit" value=" ${LANG_J9} >> "
onMouseOver="info('${html:LANG_TIPNEXT}'); return true" onMouseOut="info('&nbsp;'); return true"
onMouseOver="info('${LANG_TIPNEXT}'); return true" onMouseOut="info('&nbsp;'); return true"
>
</td></tr></table>

View File

@@ -1,66 +0,0 @@
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;
}
.tabCtrl {
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(images/fade.gif); border: 2px solid #99c; }
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
.tblNoBorder td { border: 0; }

View File

@@ -430,8 +430,6 @@ LANG_I6
Create a Start Page
LANG_I6b
Create a word database of all html pages
LANG_I6c
Build a complete RFC822 mail (MHT/EML) archive of the mirror
LANG_I7
Create error logging and report files
LANG_I8
@@ -480,12 +478,6 @@ LANG_I23
Browser identity
LANG_I23b
Comment to be placed in each HTML file
LANG_I23c
Languages accepted by the browser
LANG_I23d
Additional HTTP headers to be sent in each requests
LANG_I23e
HTTP referer to be sent for initial URLs
LANG_I24
Back to starting page
LANG_I25
@@ -546,8 +538,6 @@ LANG_I35
Make an index
LANG_I35b
Make a word database
LANG_I35c
Build a mail archive
LANG_I36
Log files
LANG_I37
@@ -576,12 +566,6 @@ LANG_I43
Identity
LANG_I43b
HTML footer
LANG_I43c
Languages
LANG_I43d
Additional HTTP Headers
LANG_I43e
Default referer URL
LANG_I44
N# connections
LANG_I45

View File

@@ -1,9 +1,8 @@
bg:27
es:3
cs:21
zh_tw:14
zh:13
hr:29
cz:21
ct:14
cs:13
da:15
de:4
et:16
@@ -12,13 +11,13 @@ fi:28
fr:2
el:26
it:9
ja:19
jp:19
mk:18
hu:11
nl:5
no:23
pl:6
pt_br:12
pt:12
pt:7
ro:25
ru:8
@@ -26,4 +25,4 @@ sk:20
si:24
sv:17
tr:10
uk:22
ua:22

View File

@@ -3,7 +3,7 @@ LANGUAGE_NAME
LANGUAGE_FILE
Cesky
LANGUAGE_ISO
cs
cz
LANGUAGE_AUTHOR
Antonín Matìjèík (matejcik@volny.cz) \r \n
LANGUAGE_CHARSET

View File

@@ -3,7 +3,7 @@ Chinese-BIG5
LANGUAGE_FILE
Chinese-BIG5
LANGUAGE_ISO
zh_TW
ct
LANGUAGE_AUTHOR
David Hing Cheong Hung (DAVEHUNG@mtr.com.hk)\r\n
LANGUAGE_CHARSET

View File

@@ -3,7 +3,7 @@ Chinese-Simplified
LANGUAGE_FILE
Chinese-Simplified
LANGUAGE_ISO
zh
cs
LANGUAGE_AUTHOR
Brook Qin (brookqwr at sina.com) \r\n
LANGUAGE_CHARSET

View File

@@ -1,932 +0,0 @@
LANGUAGE_NAME
Hrvatski
LANGUAGE_FILE
Croatian
LANGUAGE_ISO
hr
LANGUAGE_AUTHOR
Dominko Aždajiæ (domazd@mail.ru) \r\n
LANGUAGE_CHARSET
ISO-8859-2
LANGUAGE_WINDOWSID
Croatian
OK
U redu
Cancel
Odustati
Exit
Svršetak
Close
Zatvoriti
Cancel changes
Opozvati izmjene
Click to confirm
Preuzeti izmjene
Click to get help!
Kliknuti za pomoæ!
Click to return to previous screen
Kliknuti za povratak na prethodni prikaz
Click to go to next screen
Kliknuti za povratak na slijedeæi prikaz
Hide password
Sakriti lozinku
Save project
Pohraniti projekt
Close current project?
Zatvoriti tekuæi projekt?
Delete this project?
Izbrisati taj projekt?
Delete empty project %s?
Izbrisati prazni projekt %s?
Action not yet implemented
Funkcija još nije raspoloživa
Error deleting this project
Pogreška tijekom brisanja tog projekta
Select a rule for the filter
Izaberite neko pravilo za taj filtar
Enter keywords for the filter
Unesite kljuène rijeèi za taj filtar
Cancel
Odustati
Add this rule
Dodati to pravilo
Please enter one or several keyword(s) for the rule
Unesite molim jednu ili više kljuènih rijeèi za to pravilo
Add Scan Rule
Dodati pravilo filtriranja
Criterion
Pravilo filtra:
String
Unesite rijeè:
Add
Dodati
Scan Rules
Pravila filtriranja
Use wildcards to exclude or include URLs or links.\nYou can put several scan strings on the same line.\nUse spaces as separators.\n\nExample: +*.zip -www.*.com -www.*.edu/cgi-bin/*.cgi
Koristite višeznaènik za ukljuèivanje ili iskljuèivanje mrežnih adresa ili poveznica.\nU isti redak možete staviti i nekoliko filtarskih pravila uzastopno.\nUpotrijebite praznine kao razdjelnike.\n\nPrimjerice: +*.zip -www.*.com -www.*.edu/cgi-bin/*.cgi
Exclude links
Izuzete poveznice
Include link(s)
Obuhvaæene poveznice
Tip: To have ALL GIF files included, use something like +www.someweb.com/*.gif. \n(+*.gif / -*.gif will include/exclude ALL GIFs from ALL sites)
Preporuka: Za obuhvaæanje SVIH datoteka GIF, upotrijebite nešto poput +www.neka-mreža.com/*.gif. \n(+*.gif / -*.gif æe ukljuèivat/iskljuèivati SVE GIF-ove sa SVIH stranica)
Save prefs
Pohraniti postavke
Matching links will be excluded:
Shodne poveznice æe biti izuzete:
Matching links will be included:
Shodne poveznice æe biti obuhvaæene:
Example:
Primjer:
gif\r\nWill match all GIF files
gif\r\nPronalazi sve datoteke GIF
blue\r\nWill find all files with a matching 'blue' sub-string such as 'bluesky-small.jpeg'
blue\r\nPronalazi sve datoteke koje sadržavaju 'blue' kao primjerice 'bluesky-small.jpeg'
bigfile.mov\r\nWill match the file 'bigfile.mov', but not 'bigfile2.mov'
bigfile.mov\r\Pronalazi sve datoteke 'bigfile.mov', ali ne i 'bigfile2.mov'
cgi\r\nWill find links with folder name matching sub-string 'cgi' such as /cgi-bin/somecgi.cgi
cgi\r\nPronalazi sve poveznice s mapama koje u nazivu sadrže 'cgi' kao primjerice /cgi-bin/somecgi.cgi
cgi-bin\r\nWill find links with folder name matching whole 'cgi-bin' string (but not cgi-bin-2, for example)
cgi-bin\r\nPronalazi poveznice prema mapama koje u nazivu sadrže cijeli niz 'cgi-bin' (ali ne i primjerice cgi-bin-2)
someweb.com\r\nWill find links with matching sub-string such as www.someweb.com, private.someweb.com etc.
someweb.com\r\nPronalazi poveznice s pod-nizovima poput www.neka-mreža.com, privatno.neka-mreža.com itd.
someweb\r\nWill find links with matching folder sub-string such as www.someweb.com, www.someweb.edu, private.someweb.otherweb.com etc.
someweb\r\nPronalazi poveznice sa shodnim pod-nizom poput www.neka-mreža.com, www.neka-mreža.edu, private.neka-mreža.druga-mreža.com itd.
www.someweb.com\r\nWill find links matching whole 'www.someweb.com' sub-string (but not links such as private.someweb.com/..)
www.someweb.com\r\nPronalazi poveznice koje u nazivu sadrže cijeli pod-niz 'www.neka-mreža.com' (ali ne i poveznice poput privatno.neka-mreža.com/..)
someweb\r\nWill find any links with matching sub-string such as www.someweb.com/.., www.test.abc/fromsomeweb/index.html, www.test.abc/test/someweb.html etc.
someweb\r\nPronalazi bilo koju poveznicu sa shodnim pod-nizom poput www.neka-mreža.com/.., www.primjer.abc/s-neke-mreže/kazalo.html, www.primjer.abc/primjer/neka-mreža.html itd.
www.test.com/test/someweb.html\r\nWill only find the 'www.test.com/test/someweb.html' file. Note that you have to type the complete path (URL + site path)
www.test.com/test/someweb.html\r\nPronalazi samo datoteku 'www.primjer.com/primjer/neka-mreža.html'. Imajte na umu da morate unijeti potpunu putanju (URL + putanja do mrežnog mjesta)
All links will match
Obuhvaæene su sve poveznice
Add exclusion filter
Pridodati filtar izuzimanja
Add inclusion filter
Pridodati filtar obuhvaæanja
Existing filters
Postojeæi filtri
Cancel changes
Opozvati izmjene
Save current preferences as default values
Tekuæe postavke pohraniti kao polazne vrijednosti
Click to confirm
Kliknite za potvrðivanje
No log files in %s!
U %s nema datoteka zapisnika!
No 'index.html' file in %s!
U %s nema datoteke 'index.html'!
Click to quit WinHTTrack Website Copier
Kliknite za okonèavanje rada s WinHTTrack Website Copierom
View log files
Prikazati zapisnièke datoteke
Browse HTML start page
Prikazati poèetnu stranicu HTML-a
End of mirror
Zrcaljenje sadržaja je završeno
View log files
Prikazati zapisnièke datoteke
Browse Mirrored Website
Prikazati zrcaljene sadržaje
New project...
Novi projekt...
View error and warning reports
Prikazati izvješæa o pogreškama i upozorenjima
View report
Prikaz izvješæa
Close the log file window
Zatvoriti okno zapisnièke datoteke
Info type:
Vrsta informacija:
Errors
Pogreške
Infos
Informacije
Find
Pronaæi
Find a word
Pronaæi rijeè
Info log file
Zapisnièka info-datoteka
Warning/Errors log file
Datoteka zapisa o upozorenjima/pogreškama
Unable to initialize the OLE system
Sustav OLE-a nije mogao biti pokrenut
WinHTTrack could not find any interrupted download file cache in the specified folder!
WinHTTrack u navedenoj mapi nije mogao pronaæi meðupohranu nikakvog prekinutog preuzimanja datoteka!
Could not connect to provider
Povezivanje s dobavljaèem nije uspjelo
receive
zaprimiti
request
zatražiti
connect
povezati
search
tražiti
ready
gotovo
error
pogreška
Receiving files..
Zaprimanje datoteka..
Parsing HTML file..
Rašèlanjivanje datoteke HTML-a..
Purging files..
Èišæenje datoteka..
Loading cache in progress..
U tijeku je uèitavanje meðuspremnika..
Parsing HTML file (testing links)..
Rašèlanjivanje datoteke HTML-a (provjeravanje poveznica)..
Pause - Toggle [Mirror]/[Pause download] to resume operation
Stanka - Nastavak putem izbornièkih naredbi [Zrcaljenje]/[Stanka preuzimanja]
Finishing pending transfers - Select [Cancel] to stop now!
Završavaju se tekuæi prijenosi - Trenutna obustava pomoæu [Odustati]
scanning
pregledavanje
Waiting for scheduled time..
Èeka se zadano vrijeme..
Transferring data..
Prenošenje podataka..
Connecting to provider
Povezivanje s dobavljaèem
[%d seconds] to go before start of operation
[%d sekundi] do poèetka radnje
Site mirroring in progress [%s, %s bytes]
Zrcaljenje sadržaja je u tijeku [%s, %s bajta]
Site mirroring finished!
Zrcaljenje sadržaja je završeno!
A problem occured during the mirroring operation\n
Tijekom zrcaljenja je nastao jedan problem\n
\nDuring:\n
\nTrajanje:\n
\nSee the log file if necessary.\n\nClick FINISH to quit WinHTTrack Website Copier.\n\nThanks for using WinHTTrack!
\nPojedinosti po potrebi pogledajte u zapisnièkoj datoteci.\n\nKliknite na ZAVRŠITI za okonèavanje rada WinHTTrack Website Copiera.\n\nHvala Vam na uporabi WinHTTracka!
Mirroring operation complete.\nClick Exit to quit WinHTTrack.\nSee log file(s) if necessary to ensure that everything is OK.\n\nThanks for using WinHTTrack!
Zrcaljenje je dovršeno.\nKliknite na Svršetak za okonèavanje rada s WinHTTrackom.\nPogledajte po potrebi u zapisnik(e) kako bi se uvjerili da je sve u redu.\n\nHvala Vam na uporabi WinHTTracka!!
* * MIRROR ABORTED! * *\r\nThe current temporary cache is required for any update operation and only contains data downloaded during the present aborted session.\r\nThe former cache might contain more complete information; if you do not want to lose that information, you have to restore it and delete the current cache.\r\n[Note: This can easily be done here by erasing the hts-cache/new.* files]\r\n\r\nDo you think the former cache might contain more complete information, and do you want to restore it?
* * ZRCALJENJE JE PREKINUTO! * *\r\nTekuæi privremeni meðuspremnik æe biti potreban za neku buduæu aktualizaciju i sadrži samo podatke, koji su preuzeti tijekom upravo prekinutog zasjedanja.\r\nPrethodni meðuspremnik možda sadrži potpunije podatke; ukoliko te podatke ne želite izgubiti, morate ih ponovno uspostaviti i izbrisati tekuæi meðuspremnik.\r\n[Napomena: To se jednostavno može napraviti brisanjem datoteka hts-cache/new.*]\r\n\r\nMislite li da ovom zasjedanju prethodeæi meðuspremnik može sadržavati potpunije podatke, i želite li ga ponovno uspostaviti?
* * MIRROR ERROR! * *\r\nHTTrack has detected that the current mirror is empty. If it was an update, the previous mirror has been restored.\r\nReason: the first page(s) either could not be found, or a connection problem occured.\r\n=> Ensure that the website still exists, and/or check your proxy settings! <=
* * POGREŠKA PRI ZRCALJENJU! * *\r\nHTTrack je zapazio da je tekuæe zrcalo prazno. Ukoliko je to bila neka dogradnja, onda je prethodno zrcalo ponovno uspostavljeno.\r\nRazlog: ili prva stranica nije mogla biti pronaðena, ili se pak pojavio neki problem.\r\n=> Uvjerite se da dotièno mrežno mjesto još uvijek postoji, i/ili provjerite postavke Vašeg usmjerivaèa! <=
\n\nTip: Click [View log file] to see warning or error messages
\n\nPreporuka: Kliknite na [Prikazati zapisnièke datoteke], kako bi vidjeli upozorenja ili dojave pogreški
Error deleting a hts-cache/new.* file, please do it manually
Pogreška pri brisanju datoteke hts-cache/new.*, molim obavite to ruèno
Do you really want to quit WinHTTrack Website Copier?
Doista želite okonèati rad s WinHTTrack Website Copierom?
- Mirroring Mode -\n\nEnter address(es) in URL box
- Stanje zrcaljenja -\n\nUnesite adresu(-e) u polje URL-a
- Interactive Wizard Mode (questions) -\n\nEnter address(es) in URL box
- Interaktivno stanje vodièa s povratnim pitanjima -\n\nUnesite adresu(-e) u polje URL-a
- File Download Mode -\n\nEnter file address(es) in URL box
- Stanje preuzimanja datoteka -\n\nUnesite adresu(-e) datoteke u polje URL-a
- Link Testing Mode -\n\nEnter Web address(es) with links to test in URL box
- Stanje provjere poveznica -\n\nUnesite spletnu adresu(-e) s poveznicama za provjeravanje u polje URL-a
- Update Mode -\n\nVerify address(es) in URL box, check parameters if necessary then click on 'NEXT' button
- Stanje nadograðivanja -\n\nOvjerite adresu(-e) u polje URL-a, provjerite po potrebi parametre a zatim kliknite na gumb 'SLIJEDEÆE'
- Resume Mode (Interrupted Operation) -\n\nVerify address(es) in URL box, check parameters if necessary then click on 'NEXT' button
- Stanje nadovezivanja (prekinute radnje) -\n\nOvjerite adresu(-e) u polje URL-a, provjerite po potrebi parametre a zatim kliknite na gumb 'SLIJEDEÆE'
Log files Path
Putanja zapisnièkih datoteka
Path
Putanja
- Links List Mode -\n\nUse URL box to enter address(es) of page(s) containing links to mirror
- Stanje nabrajanja poveznica -\n\nKoristite okvir URL-a za unos adrese(-a) stranice(-a) koje sadrže dotiène poveznice
New project / Import?
Novi projekat / Uvoz?
Choose criterion
Odaberite kriterij
Maximum link scanning depth
Maksimum dubine grananja poveznica
Enter address(es) here
Ovdje unijeti adresu(-e)
Define additional filtering rules
Odrediti dodatna pravila filtriranja
Proxy Name (if needed)
Naziv posrednièkog raèunalo (po potrebi)
Proxy Port
Posrednièki port
Define proxy settings
Odredite postavke posrednika
Use standard HTTP proxy as FTP proxy
Koristiti standardni posrednik HTTP-a kao posrednik FTP-a
Path
Putanja
Select Path
Odabrati putanju
Path
Putanja
Select Path
Odabrati putanju
Quit WinHTTrack Website Copier
Okonèati rad WinHTTrack Website Copiera
About WinHTTrack
O programu WinHTTrack
Save current preferences as default values
Tekuæe postavke pohraniti kao polazne vrijednosti
Click to continue
Kliknite ovdje za nastavak
Click to define options
Kliknite ovdje za odreðivanje moguænosti
Click to add a URL
Kliknite ovdje za dodavanje URL-a
Load URL(s) from text file
URL(-e) uèitati iz tekstualne datoteke
WinHTTrack preferences (*.opt)|*.opt||
Postavke WinHTTracka (*.opt)|*.opt||
Address List text file (*.txt)|*.txt||
Tekstualna datoteka sa spiskom adresa (*.txt)|*.txt||
File not found!
Datoteka nije pronaðena!
Do you really want to change the project name/path?
Doista želite izmijeniti naziv i putanju projekta?
Load user-default options?
Uèitati korisnikom zadane polazne moguænosti?
Save user-default options?
Pohraniti korisnikom zadane polazne moguænosti?
Reset all default options?
Sve moguænosti vratiti na polazno?
Welcome to WinHTTrack!
Dobrodošli u WinHTTrack!
Action:
Radnja:
Max Depth
Maksimum dubine
Maximum external depth:
Maksimum vanjske dubine:
Filters (refuse/accept links) :
Filtri (odbiti/pohraniti poveznice) :
Paths
Putanje
Save prefs
Postavke pohraniti
Define..
Odrediti..
Set options..
Postaviti moguænosti..
Preferences and mirror options:
Postavke i moguænosti zrcaljenja:
Project name
Naziv projekta
Add a URL...
Dodati mrežnu adresu...
Web Addresses: (URL)
Mrežne adrese: (URL)
Stop WinHTTrack?
Zaustaviti WinHTTrack?
No log files in %s!
U %s nema zapisnièkih datoteka!
Pause Download?
Napraviti stanku preuzimanja?
Stop the mirroring operation
Zaustaviti postupak zrcaljenja
Minimize to System Tray
Minimizirati u sustavnu traku odlaganja
Click to skip a link or stop parsing
Kliknite za preskok poveznice ili zaustavljanje rašèlanjivanja
Click to skip a link
Kliknite za preskok poveznice
Bytes saved
Pohranjeno bajta
Links scanned
Obraðene poveznice
Time:
Vrijeme:
Connections:
Veze:
Running:
Djelatno:
Hide
Sakriti
Transfer rate
Stopa prijenosa
SKIP
PRESKOÈITI
Information
Informacija
Files written:
Zapisano datoteka:
Files updated:
Aktualizirano datoteka:
Errors:
Pogreške:
In progress:
U tijeku:
Follow external links
Slijediti vanjske poveznice
Test all links in pages
Na stranicama provjeriti sve poveznice
Try to ferret out all links
Pokušati slijediti sve poveznice
Download HTML files first (faster)
Najprije preuzimati datoteke HTML-a (brže)
Choose local site structure
Odaberite mjesnu strukturu sadržaja
Set user-defined structure on disk
Sâmi odredite strukturu na disku
Use a cache for updates and retries
Za dogradnje i ponavljanja koristiti meðuspremnik
Do not update zero size or user-erased files
Ne nadopunjavati datoteke koje su prazne ili one koje je korisnik izbrisao
Create a Start Page
Napraviti poèetnu stranicu
Create a word database of all html pages
Napraviti spisak rijeèi sa svih stranica HTML-a
Create error logging and report files
Napraviti datoteke zapisnika pogrešaka i izvješæa o tijeku postupka
Generate DOS 8-3 filenames ONLY
Generirati nazive datoteka SAMO sukladno DOS-u 8-3
Generate ISO9660 filenames ONLY for CDROM medias
Generirati nazive datoteka SAMO sukladno ISO9660 za medije CDROM-a
Do not create HTML error pages
Ne stvarati stranice pogrešaka HTML-a
Select file types to be saved to disk
Odaberite vrste datoteka, koje treba pohranjivati na disku
Select parsing direction
Odaberite smjer rašèlanjivanja
Select global parsing direction
Odaberite opæi smjer rašèlanjivanja
Setup URL rewriting rules for internal links (downloaded ones) and external links (not downloaded ones)
Postavke pravila prilagoðavanja URL-a za unutarnje (jednom veæ preuzimane) i vanjske (ni jednom nisu preuzimane) poveznice
Max simultaneous connections
Maksimum istovremenih prikljuèivanja/veza
File timeout
Vrijeme èekanja na datoteke
Cancel all links from host if timeout occurs
Pri prekoraèenju vremena èekanja prekinuti sve poveznice prema dotiènom raèunalu
Minimum admissible transfer rate
Najniža podnošljiva stopa prijenosa
Cancel all links from host if too slow
Prekinuti sve poveznice prema ugostiteljskom raèunalu ako je presporo
Maximum number of retries on non-fatal errors
Najviši broj pokušaja ponavljanja pri ne-fatalnim pogreškama
Maximum size for any single HTML file
Vrhunac velièine neke pojedinaène datoteke HTML-a
Maximum size for any single non-HTML file
Vrhunac velièine neke pojedinaène datoteke ne-HTML-a
Maximum amount of bytes to retrieve from the Web
Vrhunac iznosa u bajtima za dobaviti s mrežnih mjesta
Make a pause after downloading this amount of bytes
Napraviti stanku nakon preuzimanja tog iznosa u bajtima
Maximum duration time for the mirroring operation
Vrhunac vremena trajanja za postupak zrcaljenja
Maximum transfer rate
Vrhunac stope prijenosa
Maximum connections/seconds (avoid server overload)
Najviši broj veza/sekundi (sprjeèava preoptereæivanje poslužitelja)
Maximum number of links that can be tested (not saved!)
Najviši broj poveznica, koje mogu biti provjeravane (za pohranjivanje nema ogranièenja!)
Browser identity
Preglednièko obilježje
Comment to be placed in each HTML file
Komentar koji æe biti smješten u svakoj datoteci HTML-a
Back to starting page
Natrag na poèetnu stranicu
Save current preferences as default values
Tekuæe postavke pohraniti kao polazne vrijednosti
Click to continue
Kliknite za nastavak
Click to cancel changes
Kliknuti za opoziv izmjena
Follow local robots rules on sites
Na mrežnim mjestima slijediti pravila mjesnih robota
Links to non-localised external pages will produce error pages
Poveznice prema nepreslikanim vanjskim stranicama æe stvarati stranice pogreški
Do not erase obsolete files after update
Nakon dogradnje ne brisati zastarjele datoteke
Accept cookies?
Prihvatiti kolaèiæ?
Check document type when unknown?
Provjeravati vrstu datoteke ukoliko je nepoznata?
Parse java applets to retrieve included files that must be downloaded?
Rašèlanjivati java applete radi pronalaženja obuhvaæenih datoteka, koje još moraju biti preuzete?
Store all files in cache instead of HTML only
Spremati sve datoteke u meðuspremnik a ne samo one u HTML-u
Log file type (if generated)
Vrsta datoteke zapisnika (ukoliko je naèinjen)
Maximum mirroring depth from root address
Najveæa dubina zrcaljenja od prve adrese
Maximum mirroring depth for external/forbidden addresses (0, that is, none, is the default)
Najveæa dubina zrcaljenja za vanjske/zabranjene adrese (polazno je 0, tj. bez vanjskog preuzimanja)
Create a debugging file
Naèiniti datoteku za traženje pogrešaka
Use non-standard requests to get round some server bugs
Koristiti nestandardne zahtjeve, kako bi se zaobišle neke poslužiteljske pogreške
Use old HTTP/1.0 requests (limits engine power!)
Koristiti zahtjeve starog HTTP/1.0 (ogranièava brzinu rada!)
Attempt to limit retransfers through several tricks (file size test..)
Raznim varkama pokušati ogranièiti opetovanja prijenosa (provjera velièine datoteka..)
Attempt to limit the number of links by skipping similar URLs (www.foo.com==foo.com, http=https ..)
Preskakanjem sliènih URL-a (www.foo.com==foo.com, http=https ..) pokušati ogranièiti broj poveznica
Write external links without login/password
Vanjske poveznice zapisivati bez prijave/lozinke
Write internal links without query string
Unutarnje poveznice zapisivati bez teksta za upite
Get non-HTML files related to a link, eg external .ZIP or pictures
Dobavljati datoteke ne-HTML-a, združene s poveznicom (primjerice vanjski .ZIP ili slike)
Test all links (even forbidden ones)
Provjeravati sve poveznice (èak i one zabranjene)
Try to catch all URLs (even in unknown tags/code)
Pokušati pronaæi sve URL-e (èak i u nepoznatim oznakama/skriptama)
Get HTML files first!
Dobaviti najprije datoteke HTML-a!
Structure type (how links are saved)
Vrsta strukture (kako se pohranjuju poveznice)
Use a cache for updates
Za dogradnje koristiti meðuspremnik
Do not re-download locally erased files
Ne preuzimati ponovno datoteke, koje su veæ mjesno izbrisane
Make an index
Napraviti kazalo
Make a word database
Napraviti spisak rijeèi
Log files
Zapisnièke datoteke
DOS names (8+3)
Nazivi sukladno DOS-u (8+3)
ISO9660 names (CDROM)
Nazivi prema ISO9660 (CDROM)
No error pages
Bez stranica pogrešaka
Primary Scan Rule
Glavno pravilo filtra
Travel mode
Naèin traženja
Global travel mode
Globalni naèin traženja
These options should be modified only exceptionally
Ove moguænosti bi trebale biti preinaèavane samo iznimno
Activate Debugging Mode (winhttrack.log)
Aktivirati postupak traženja pogrešaka (winhttrack.log)
Rewrite links: internal / external
Prilagoditi poveznièke adrese: unutarnje / vanjske
Flow control
Nadzor toka
Limits
Granice
Identity
Obilježje
HTML footer
Podnožje HTML-a
N# connections
Broj veza
Abandon host if error
Pri pogreškama napustiti ugostitelja
Minimum transfer rate (B/s)
Minimum stope prijenosa (B/s)
Abandon host if too slow
Napustiti ugostitelja ukoliko je prespor
Configure
Prilagoditi
Use proxy for ftp transfers
Koristiti posrednika za prijenose putem FTP-a
TimeOut(s)
Vremenska ogranièenja
Persistent connections (Keep-Alive)
Održavati veze (Keep-Alive)
Reduce connection time and type lookup time using persistent connections
Održavane veze smanjuju vrijeme povezivanja i vrijeme za traženje vrsta
Retries
Opetovanja
Size limit
Ogranièenje velièine
Max size of any HTML file (B)
Najviši broj bajta u datotekama HTML-a
Max size of any non-HTML file
Najveæa velièina datoteka ne-HTML-a
Max site size
Najveæa velièina sadržaja
Max time
Najduže vrijeme
Save prefs
Pohraniti postavke
Max transfer rate
Vrhunac stope prijenosa
Follow robots.txt
Slijediti robots.txt
No external pages
Bez vanjskih stranica
Do not purge old files
Ne brisati stare datoteke
Accept cookies
Prihvaæati kolaèiæe
Check document type
Provjeravati vrstu dokumenata
Parse java files
Rašèlanjivati datoteke Java
Store ALL files in cache
Spremati SVE datoteke u meðuspremnik
Tolerant requests (for servers)
Snošljivi zahtjevi (za poslužitelje)
Update hack (limit re-transfers)
Iznuda dogradnji (ogranièava opetovane prijenose)
URL hacks (join similar URLs)
URL hacks (združuje sliène URL-e)
Force old HTTP/1.0 requests (no 1.1)
Nametati zahtjeve starog HTTP/1.0 (ne 1.1)
Max connections / seconds
Najviši broj veza / sekundi
Maximum number of links
Najviši broj poveznica
Pause after downloading..
Èekati nakon preuzimanja..
Hide passwords
Sakriti lozinke
Hide query strings
Sakriti tekst za upite
Links
Poveznice
Build
Graða
Experts Only
Samo za struènjake
Flow Control
Nadzor toka
Limits
Ogranièenja
Browser ID
Preglednièki ID
Scan Rules
Pravila filtriranja
Spider
Pauk
Log, Index, Cache
Zapisnik, Kazalo, Meðuspremnik
Proxy
Posrednik
MIME Types
Vrste MIME
Do you really want to quit WinHTTrack Website Copier?
Doista želite okonèati rad WinHTTrack Website Copiera?
Do not connect to a provider (already connected)
Ne povezivati s dobaviteljem (veæ je povezano)
Do not use remote access connection
Ne koristiti vezu daljinskog pristupa
Schedule the mirroring operation
Odrediti vrijeme zrcaljenja
Quit WinHTTrack Website Copier
Okonèati rad WinHTTrack Website Copiera
Back to starting page
Natrag na poèetnu stranicu
Click to start!
Kliknite za poèetak!
No saved password for this connection!
Za tu vezu nema pohranjene lozinke!
Can not get remote connection settings
Ne mogu se dobiti postavke daljinske veze
Select a connection provider
Odaberite dobavitelja veze
Start
Zapoèeti
Please adjust connection parameters if necessary,\nthen press FINISH to launch the mirroring operation.
Po potrebi prilagodite molim parametre veze,\na zatim stisnite ZAVRŠITI kako bi pokrenuli zrcaljenje.
Save settings only, do not launch download now.
Samo pohraniti postavke, preuzimanje ne pokretati sada.
On hold
Na èekanju
Transfer scheduled for: (hh/mm/ss)
Prijenos je predviðen za: (hh/mm/ss)
Start
Zapoèeti
Connect to provider (RAS)
Povezati s dobavljaèem (RAS)
Connect to this provider
Povezati s tim dobavljaèem
Disconnect when finished
Prekinuti vezu kada bude gotovo
Disconnect modem on completion
Po dovršetku odvojiti modemsku vezu
\r\n(Please notify us of any bug or problem)\r\n\r\nDevelopment:\r\nInterface (Windows): Xavier Roche\r\nSpider: Xavier Roche\r\nJavaParserClasses: Yann Philippot\r\n\r\n(C)1998-2003 Xavier Roche and other contributors\r\nMANY THANKS for translation tips to:\r\nRobert Lagadec (rlagadec@yahoo.fr)
\r\n(Molimo da nas obavijestite o svim pogreškama i poteškoæama)\r\n\r\nRazvoj:\r\nSuèelje (Windows): Xavier Roche\r\nPauk: Xavier Roche\r\nRazrediRašèlanjivaèaJave: Yann Philippot\r\n\r\n(C)1998-2003 Xavier Roche i drugi suradnici\r\nPUNO HVALA za prijevodne preporuke upuæujemo:\r\nRobert Lagadec (rlagadec@yahoo.fr)
About WinHTTrack Website Copier
O programu WinHTTrack Website Copier
Please visit our Web page
Molimo da posjetite našu spletnu stranicu
Wizard query
Upit vodièa
Your answer:
Vaš odgovor:
Link detected..
Pronaðena je poveznica..
Choose a rule
Birajte pravilo
Ignore this link
Zanemariti tu poveznicu
Ignore directory
Zanemariti mape
Ignore domain
Zanemariti domenu
Catch this page only
Dobaviti samo tu stranicu
Mirror site
Sadržaj zrcaljenja
Mirror domain
Domena zrcaljenja
Ignore all
Bez poveznica
Wizard query
Upit vodièa
NO
NE
File
Datoteka
Options
Moguænosti
Log
Zapisnik
Window
Okno
Help
Pomoæ
Pause transfer
Napraviti stanku prijenosa
Exit
Svršetak
Modify options
Izmijeniti moguænosti
View log
Prikazati zapisnik
View error log
Prikazati zapisnik pogrešaka
View file transfers
Prikazati prijenose datoteka
Hide
Sakriti
About WinHTTrack Website Copier
O programu WinHTTrack Website Copier
Check program updates...
Potražiti programske dogradnje...
&Toolbar
&Traka alatki
&Status Bar
&Traka stanja
S&plit
Raz&dijeliti
File
Datoteka
Preferences
Postavke
Mirror
Zrcalo
Log
Zapisnik
Window
Okno
Help
Pomoæ
Exit
Svršetak
Load default options
Uèitati polazne moguænosti
Save default options
Pohraniti polazne moguænosti
Reset to default options
Vratiti polazne moguænosti
Load options...
Uèitati moguænosti...
Save options as...
Moguænosti pohraniti kao...
Language preference...
Jeziène postavke...
Contents...
Sadržaji...
About WinHTTrack...
O programu WinHTTrack...
New project\tCtrl+N
Novi projekat\tCtrl+N
&Open...\tCtrl+O
&Otvoriti...\tCtrl+O
&Save\tCtrl+S
&Pohraniti\tCtrl+S
Save &As...
Pohraniti &kao...
&Delete...
&Izbrisati...
&Browse sites...
&Pregledati sadržaje...
User-defined structure
Korisnikom odreðena struktura
%n\tName of file without file type (ex: image)\r\n%N\tName of file including file type (ex: image.gif)\r\n%t\tFile type only (ex: gif)\r\n%p\tPath [without ending /] (ex: /someimages)\r\n%h\tHost name (ex: www.someweb.com)\r\n%M\tMD5 URL (128 bits, 32 ascii bytes)\r\n%Q\tMD5 query string (128 bits, 32 ascii bytes)\r\n%q\tMD5 small query string (16 bits, 4 ascii bytes)\r\n\r\n%s?\tShort name (ex: %sN)
%n\tNaziv datoteke bez nastavka (npr. slika)\r\n%N\tNaziv datoteke s nastavkom (npr. slika.gif)\r\n%t\tSamo nastavak naziva datoteke (npr. gif)\r\n%p\tPutanja [bez svršetka /] (npr. /nekeslike)\r\n%h\tNaziv ugostitelja (npr. www.nekisplet.com)\r\n%M\tMD5 URL (128 bita, 32 ascii bajta)\r\n%Q\tTekst upita MD5 (128 bita, 32 ascii bajta)\r\n%q\tKratki tekst upita MD5 (16 bita, 4 ascii bajta)\r\n\r\n%s?\tKratki naziv (npr. %sN)
Example:\t%h%p/%n%q.%t\n->\t\tc:\\mirror\\www.someweb.com\\someimages\\image.gif
Primjerice:\t%h%p/%n%q.%t\n->\t\tc:\\zrcaljenje\\www.nekisplet.com\\nekeslike\\slika.gif
Proxy settings
Postavke posrednika
Proxy address:
Adresa posrednika:
Proxy port:
Port posrednika:
Authentication (only if needed)
Ovjeravanje (samo po potrebi)
Login
Prijava
Password
Lozinka
Enter proxy address here
Ovdje unesite adresu posrednika
Enter proxy port here
Ovdje unesite port posrednika
Enter proxy login
Unesite prijavu na posredniku
Enter proxy password
Unesite lozinku na posredniku
Enter project name here
Ovdje unesite naziv projekta
Enter saving path here
Ovdje unesite putanju za pohranjivanje
Select existing project to update
Birajte postojeæi projekt za dogradnju
Click here to select path
Ovdje kliknite za izbor putanje
Select or create a new category name, to sort your mirrors in categories
Odaberite ili nadjenite neki naziv novoj kategoriji, kako bi Vaša zrcaljenja svrstali u kategorije
HTTrack Project Wizard...
Pomoènik za projekte HTTracka...
New project name:
Naziv novog projekta:
Existing project name:
Naziv postojeæeg projekta:
Project name:
Naziv projekta:
Base path:
Osnovna putanja:
Project category:
Kategorija projekta:
C:\\My Web Sites
C:\\Moji spletni sadržaji
Type a new project name, \r\nor select existing project to update/resume
Utipkajte naziv novog projekta, \r\nili odaberite postojeæi projekat za dograditi/nadovezati
New project
Novi projekat
Insert URL
Umetnite URL
URL:
URL:
Authentication (only if needed)
Ovjeravanje (samo ako je nužno)
Login
Prijava
Password
Lozinka
Forms or complex links:
Obrasci ili kompleksne poveznice:
Capture URL...
Zahvatiti URL...
Enter URL address(es) here
Ovdje unesite adresu(-e) URL-a
Enter site login
Unesite prijavu za to mrežno mjesto
Enter site password
Unesite lozinku za to mrežno mjesto
Use this capture tool for links that can only be accessed through forms or javascript code
Koristite ovu funkciju za dobavu povezanih sadržaja, kojima se inaèe može pristupiti samo putem obrazaca ili kôda JavaScript
Choose language according to preference
Izaberite jezik
Catch URL!
Dobaviti URL!
Please set temporary browser proxy settings to the following values (Copy/Paste Proxy Address and Port).\nThen click on the Form SUBMIT button in your browser page, or click on the specific link you want to capture.
Molimo da privremeno izmijenite preglednikove postavke posrednièkog poslužitelja na slijedeæe vrijednosti (Adresu i port posrednika odavdje preslikati).\nKliknite zatim na stranici obrasca u Vašem pregledniku na gumb SUBMIT/POSLATI ili pak na odreðenu poveznicu, koju želite dobaviti.
This will send the desired link from your browser to WinHTTrack.
Time æe željena poveznica iz Vašeg preglednika biti poslana u WinHTTrack.
ABORT
PREKINUTI
Copy/Paste the temporary proxy parameters here
Privremene postavke posrednièkog poslužitelja preslikati odavdje
Cancel
Odustati
Unable to find Help files!
Nije bilo moguæe pronaæi datoteke Pomoæi!
Unable to save parameters!
Nije bilo moguæe pohraniti parametre!
Please drag only one folder at a time
Povucite mišom molim samo jednu mapu istovremeno
Please drag only folders, not files
Povucite mišom molim samo mape, ne datoteke
Please drag folders only
Povucite mišom molim samo mape
Select user-defined structure?
Za preslik sadržaja odabrati korisnikom odreðenu strukturu?
Please ensure that the user-defined-string is correct,\notherwise filenames will be bogus!
Provjerite molim je li korisnikom odreðeni znakovni niz ispravan,\nu suprotnom æe nastati iskrivljeni nazivi datoteka!
Do you really want to use a user-defined structure?
Doista želite koristiti korisnikom odreðenu strukturu?
Too manu URLs, cannot handle so many links!!
Previše je URL-a, ne mogu obraðivati toliko poveznica!!
Not enough memory, fatal internal error..
Nema dovoljno spremnika, fatalna unutarnja pogreška..
Unknown operation!
Nepoznata operacija!
Add this URL?\r\n
Dodati taj URL?\r\n
Warning: main process is still not responding, cannot add URL(s)..
Warning: main process is still not responding, cannot add URL(s)..
Type/MIME associations
Type/MIME associations
File types:
Vrste datoteka:
MIME identity:
Istovjetnost MIME:
Select or modify your file type(s) here
Ovdje birajte ili izmijenite Vaše vrste datoteka
Select or modify your MIME type(s) here
Ovdje birajte ili izmijenite Vaše vrste MIME
Go up
Na gore
Go down
Na dolje
File download information
Informacije o preuzimanju datoteka
Freeze Window
Uglaviti okno
More information:
Više informacija:
Welcome to WinHTTrack Website Copier!\n\nPlease click on the NEXT button to\n\n- start a new project\n- or resume a partial download
Dobrodošli u program WinHTTrack Website Copier!\n\nKliknite molim na gumb SLIJEDEÆE kako bi\n\n- zapoèeli novi projekat\n- ili nastavili nedovršeno preuzimanje
File names with extension:\nFile names containing:\nThis file name:\nFolder names containing:\nThis folder name:\nLinks on this domain:\nLinks on domains containing:\nLinks from this host:\nLinks containing:\nThis link:\nALL LINKS
Nazivi datoteka s proširenjem:\nNazivi datoteka sadržavaju:\nTaj naziv datoteke:\nNazivi mapa sadržavaju:\nTaj naziv mape:\nPoveznice u toj domeni:\nPoveznice u domenama sadržavaju:\nPoveznice s tog ugostitelja:\nPoveznice sadržavaju:\nTa poveznica:\nSVE POVEZNICE
Show all\nHide debug\nHide infos\nHide debug and infos
Prikazati sve\nSakriti debug\nSakriti informacije\nSakriti debug i informacije
Site-structure (default)\nHtml in web/, images/other files in web/images/\nHtml in web/html, images/other in web/images\nHtml in web/, images/other in web/\nHtml in web/, images/other in web/xxx, where xxx is the file extension\nHtml in web/html, images/other in web/xxx\nSite-structure, without www.domain.xxx/\nHtml in site_name/, images/other files in site_name/images/\nHtml in site_name/html, images/other in site_name/images\nHtml in site_name/, images/other in site_name/\nHtml in site_name/, images/other in site_name/xxx\nHtml in site_name/html, images/other in site_name/xxx\nAll files in web/, with random names (gadget !)\nAll files in site_name/, with random names (gadget !)\nUser-defined structure..
Struktura sadržaja (polazno)\nHTML u spletu/, slike/ostale datoteke u spletu/slike/\nHTML u spletu/html, slike/ostalo u spletu/slike\nHTML u spletu/, slike/ostalo u spletu/\nHTML u spletu/, slike/ostalo u spletu/xxx, pri èemu je xxx proširenje naziva datoteke\nHTML u spletu/html, slike/ostalo u spletu/xxx\nStruktura sadržaja, bez www.domena.xxx/\nHTML u naziv_sadržaja/, slike/ostale datoteke u nazivu_sadržaja/slike/\nHTML u naziv_sadržaja/html, slike/ostalo u naziv_sadržaja/slike\nHTML u naziv_sadržaja/, slike/ostalo u naziv_sadržaja/\nHTML u naziv_sadržaja/, slike/ostalo u naziv_sadržaja/xxx\nHTML u naziv_sadržaja/html, slike/ostalo u naziv_sadržaja/xxx\nSve datoteke u spletu/, s nasumiènim nazivima (gadget !)\nSve datoteke u naziv_sadržaja/, s nasumiènim nazivima (gadget !)\nKorisnikom odreðena struktura..
Just scan\nStore html files\nStore non html files\nStore all files (default)\nStore html files first
Samo pregledati poveznice\nStpremiti datoteke HTML-a\nStpremiti datoteke ne-HTML-a\nSpremiti sve datoteke (polazno)\nSpremiti najprije datoteke HTML-a
Stay in the same directory\nCan go down (default)\nCan go up\nCan both go up & down
Ostati u istoj mapi\nMože iæi dolje (polazno)\nMože iæi gore\nMože iæi i gore i dolje
Stay on the same address (default)\nStay on the same domain\nStay on the same top level domain\nGo everywhere on the web
Ostati na istoj adresi (polazno)\nOstati u istoj domeni\nOstati u istoj demeni vršne razine\nIæi posvuda po spletu
Never\nIf unknown (except /)\nIf unknown
Nikada\nUkoliko je nepoznato (izuzev /)\nUkoliko je nepoznato
no robots.txt rules\nrobots.txt except wizard\nfollow robots.txt rules
bez pravila iz robots.txt\nslijediti pravila iz robots.txt s izuzetkom pomoènika\nslijediti pravila iz robots.txt
normal\nextended\ndebug
uobièajeno\nprošireno\ndebug
Download web site(s)\nDownload web site(s) + questions\nGet individual files\nDownload all sites in pages (multiple mirror)\nTest links in pages (bookmark test)\n* Continue interrupted download\n* Update existing download
Preuzimanje spletnih sadržaja\nPreuzimanje spletnih sadržaja + pitanja\nDobavljanje pojedinih datoteka\nPreuzimanje svih sadržaja sa stranica (višestruko zrcaljenje)\nProvjeriti poveznice u stranicama (provjera poveznica)\n* Nastaviti prekinuto preuzimanje\n* Aktualizirati postojeæe preuzimanje
Relative URI / Absolute URL (default)\nAbsolute URL / Absolute URL\nAbsolute URI / Absolute URL\nOriginal URL / Original URL
Relativni URI / Apsolutni URL (polazno)\nApsolutni URL / Apsolutni URL\nApsolutni URI / Apsolutni URL\nIzvorni URL / Izvorni URL
Open Source offline browser
Open Source offline browser
Website Copier/Offline Browser. Copy remote websites to your computer. Free.
Preslikavatelj spletnih sadržaja/Preglednik mjesnih sadržaja. Preslikavanje internetskih sadržaja na Vaše raèunalo. Besplatno.
httrack, winhttrack, webhttrack, offline browser
httrack, winhttrack, webhttrack, offline browser
URL list (.txt)
Spisak URL-a (.txt)
Previous
Prethodno
Next
Slijedeæe
URLs
URL-i
Warning
Upozorenje
Your browser does not currently support javascript. For better results, please use a javascript-aware browser.
Vaš preglednik trenutno ne podržava JavaScript. Za bolje rezultate koristite molim preglednik koji ovladava JavaScript.
Thank you
Hvala Vam
You can now close this window
Sada možete zatvoriti ovo okno
Server terminated
Poslužitelj je razriješen
A fatal error has occured during this mirror
Tijekom ovog zrcaljenja je nastala fatalna pogreška

View File

@@ -711,9 +711,9 @@ Log
Window
A&ken
Help
Abi
&Abi
Exit
Välju
&Välju
Load default options
Laadi vaikimisi seaded
Save default options

View File

@@ -372,8 +372,6 @@ Create a Start Page
Create a Start Page
Create a word database of all html pages
Create a word database of all html pages
Build a complete RFC822 mail (MHT/EML) archive of the mirror
Build a complete RFC822 mail (MHT/EML) archive of the mirror
Create error logging and report files
Create error logging and report files
Generate DOS 8-3 filenames ONLY
@@ -422,12 +420,6 @@ Browser identity
Browser identity
Comment to be placed in each HTML file
Comment to be placed in each HTML file
Languages accepted by the browser
Languages accepted by the browser
Additional HTTP headers to be sent in each requests
Additional HTTP headers to be sent in each requests
HTTP referer to be sent for initial URLs
HTTP referer to be sent for initial URLs
Back to starting page
Back to starting page
Save current preferences as default values
@@ -488,8 +480,6 @@ Make an index
Make an index
Make a word database
Make a word database
Build a mail archive
Build a mail archive
Log files
Log files
DOS names (8+3)
@@ -518,12 +508,6 @@ Identity
Identity
HTML footer
HTML footer
Languages
Languages
Additional HTTP Headers
Additional HTTP Headers
Default referer URL
Default referer URL
N# connections
N# connections
Abandon host if error
@@ -946,33 +930,3 @@ Server terminated
Server terminated
A fatal error has occured during this mirror
A fatal error has occured during this mirror
View Documentation
View Documentation
Go To HTTrack Website
Go To HTTrack Website
Go To HTTrack Forum
Go To HTTrack Forum
View License
View License
Beware: you local browser might be unable to browse files with embedded filenames
Beware: you local browser might be unable to browse files with embedded filenames
Recreated HTTrack internal cached resources
Recreated HTTrack internal cached resources
Could not create internal cached resources
Could not create internal cached resources
Could not get the system external storage directory
Could not get the system external storage directory
Could not write to:
Could not write to:
Read-only media (SDCARD)
Read-only media (SDCARD)
No storage media (SDCARD)
No storage media (SDCARD)
HTTrack may not be able to download websites until this problem is fixed
HTTrack may not be able to download websites until this problem is fixed
HTTrack: mirror '%s' stopped!
HTTrack: mirror '%s' stopped!
Click on this notification to restart the interrupted mirror
Click on this notification to restart the interrupted mirror
HTTrack: could not save profile for '%s'!
HTTrack: could not save profile for '%s'!

View File

@@ -671,7 +671,7 @@ EI
File
&Tiedosto
Options
Valinnat
&Valinnat
Log
&Loki
Window
@@ -681,7 +681,7 @@ O&hje
Pause transfer
Pysäytä siirto
Exit
Poistu
&Poistu
Modify options
&Muokkaa valintoja
View log
@@ -713,9 +713,9 @@ Log
Window
&Ikkuna
Help
Ohje
O&hje
Exit
Poistu
&Poistu
Load default options
&Lataa vakioasetukset
Save default options

View File

@@ -420,10 +420,6 @@ Browser identity
Identifiants du Navigateur Internet
Comment to be placed in each HTML file
Commentaire de page placé dans chaque fichier HTML
Languages accepted by the browser
Langues acceptée par le navigateur
Additional HTTP headers to be sent in each requests
En-têtes HTTP additionnels à envoyer dans chaque requête
Back to starting page
Retour à la page de démarrage
Save current preferences as default values
@@ -512,10 +508,6 @@ Identity
Identification
HTML footer
En-tête HTML
Languages
Langues
Additional HTTP Headers
En têtes HTTP additionnels
N# connections
Nombre de connexions
Abandon host if error
@@ -729,7 +721,7 @@ Utiliser les options par d
Save default options
Enregistrer en tant qu'options par défaut
Reset to default options
Initialiser les options par défaut
Charger les options par défaut
Load options...
Charger les options
Save options as...
@@ -751,7 +743,7 @@ Enregistrer &sous...
&Delete...
&Effacer...
&Browse sites...
&Explorer sites...
&Browse sites...
User-defined structure
Définir une structure personnalisée
%n\tName of file without file type (ex: image)\r\n%N\tName of file including file type (ex: image.gif)\r\n%t\tFile type only (ex: gif)\r\n%p\tPath [without ending /] (ex: /someimages)\r\n%h\tHost name (ex: www.someweb.com)\r\n%M\tMD5 URL (128 bits, 32 ascii bytes)\r\n%Q\tMD5 query string (128 bits, 32 ascii bytes)\r\n%q\tMD5 small query string (16 bits, 4 ascii bytes)\r\n\r\n%s?\tShort name (ex: %sN)
@@ -938,41 +930,3 @@ Server terminated
Serveur arrêté
A fatal error has occured during this mirror
Une erreur critique est intervenue durant l'aspiration
View Documentation
Lire la documentation
Go To HTTrack Website
Visiter le site de HTTrack
Go To HTTrack Forum
Visiter le forum de HTTrack
View License
Lire la license
Beware: you local browser might be unable to browse files with embedded filenames
Attention: il se pourrait que votre navigateur soit incapable de lire les fichiers contenant des espaces
Recreated HTTrack internal cached resources
Cache des ressources interne recréé
Could not create internal cached resources
Impossible de créer le cache des ressources interne
Could not get the system external storage directory
Impossible de localuser le système de stockage externe
Could not write to:
Impossible d'écrire dans:
Read-only media (SDCARD)
Média en lecture seule (SDCARD)
No storage media (SDCARD)
Pas de média (SDCARD)
HTTrack may not be able to download websites until this problem is fixed
Il se peut que HTTrack soit incapable de télécharger des sites tant que ce problème n'est pas réglé
HTTrack: mirror '%s' stopped!
HTTrack: miroir '%s' stoppé!
Click on this notification to restart the interrupted mirror
Cliquez sur cette notification pour redémarrer la copie interrompue
HTTrack: could not save profile for '%s'!
HTTrack: impossible de sauver le profil pour '%s'
Build a complete RFC822 mail (MHT/EML) archive of the mirror
Construire une archive email complète (MHT/EML) au format RFC822
HTTP referer to be sent for initial URLs
Champ HTTP referer a envoyer pour les URL initiales
Build a mail archive
Construire une archive mail
Default referer URL
Champ referer par défaut

View File

@@ -3,7 +3,7 @@ Japanese
LANGUAGE_FILE
Japanese
LANGUAGE_ISO
ja
jp
LANGUAGE_AUTHOR
TAPKAL\r\n
LANGUAGE_CHARSET

View File

@@ -104,7 +104,6 @@ DATA = $(lang_DATA) $(langroot_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -113,12 +112,14 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
@@ -132,7 +133,6 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
@@ -188,6 +188,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

View File

@@ -3,7 +3,7 @@ Portugu
LANGUAGE_FILE
Portugues-Brasil
LANGUAGE_ISO
pt_BR
pt
LANGUAGE_AUTHOR
Paulo Neto (layoutbr at lexxa.com.br) \r\n
LANGUAGE_CHARSET

View File

@@ -3,7 +3,7 @@ Ukrainian
LANGUAGE_FILE
Ukrainian
LANGUAGE_ISO
uk
ua
LANGUAGE_AUTHOR
Andrij Shevchuk (http://programy.com.ua, http://vic-info.com.ua) \r\n
LANGUAGE_CHARSET

View File

@@ -3,7 +3,7 @@ exemplesdir = $(datadir)/httrack/libtest
exemples_DATA = *.c *.h *.txt
EXTRA_DIST = $(exemples_DATA)
AM_CPPFLAGS = \
INCLUDES = \
@DEFAULT_CFLAGS@ \
@THREADS_CFLAGS@ \
@V6_FLAG@ \
@@ -13,7 +13,7 @@ AM_CPPFLAGS = \
-DDATADIR=\""$(datadir)"\" \
-DLIBDIR=\""$(libdir)"\"
AM_CPPFLAGS += -I../src
AM_CPPFLAGS = -I../src
AM_LDFLAGS = -L../src
# Examples

View File

@@ -201,7 +201,6 @@ CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -210,12 +209,14 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
@@ -229,7 +230,6 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
@@ -285,6 +285,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -334,9 +335,17 @@ top_srcdir = @top_srcdir@
exemplesdir = $(datadir)/httrack/libtest
exemples_DATA = *.c *.h *.txt
EXTRA_DIST = $(exemples_DATA)
AM_CPPFLAGS = @DEFAULT_CFLAGS@ @THREADS_CFLAGS@ @V6_FLAG@ @LFS_FLAG@ \
-DPREFIX=\""$(prefix)"\" -DSYSCONFDIR=\""$(sysconfdir)"\" \
-DDATADIR=\""$(datadir)"\" -DLIBDIR=\""$(libdir)"\" -I../src
INCLUDES = \
@DEFAULT_CFLAGS@ \
@THREADS_CFLAGS@ \
@V6_FLAG@ \
@LFS_FLAG@ \
-DPREFIX=\""$(prefix)"\" \
-DSYSCONFDIR=\""$(sysconfdir)"\" \
-DDATADIR=\""$(datadir)"\" \
-DLIBDIR=\""$(libdir)"\"
AM_CPPFLAGS = -I../src
AM_LDFLAGS = -L../src
# Examples
@@ -476,25 +485,22 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callbacks-example-simple.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<

View File

@@ -100,9 +100,9 @@ EXTERNAL_FUNCTION int hts_plug(httrackp * opt, const char *argv) {
if (arg == NULL)
arg = "log-wrapper-info";
hts_log(opt, arg, "* plugging functions");
CHAIN_FUNCTION(opt, check_html, process_file, (void *) (uintptr_t) arg);
CHAIN_FUNCTION(opt, start, start_of_mirror, (void *) (uintptr_t) arg);
CHAIN_FUNCTION(opt, end, end_of_mirror, (void *) (uintptr_t) arg);
CHAIN_FUNCTION(opt, check_html, process_file, (char *) arg);
CHAIN_FUNCTION(opt, start, start_of_mirror, (char *) arg);
CHAIN_FUNCTION(opt, end, end_of_mirror, (char *) arg);
hts_log(opt, arg, "* module successfully plugged");
return 1; /* success */

View File

@@ -26,7 +26,7 @@
#include "htsdefines.h"
/* Local definitions */
#include "example-main.h"
#include "example.h"
/*
* Name: main

View File

@@ -16,12 +16,12 @@ Copyright notice:
----------------
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or any later version.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -29,8 +29,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
along with this program. If not, see <http://www.gnu.org/licenses/>.
========================================================================
MAKEFILE PROJECT : libtest Project Overview

View File

@@ -1,7 +1,7 @@
HTTrack Website Copier License Agreement:
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -74,7 +74,6 @@ am__can_run_installinfo = \
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -83,12 +82,14 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
@@ -102,7 +103,6 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
@@ -158,6 +158,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

View File

@@ -1,26 +1,27 @@
dnl @synopsis CHECK_ZLIB()
dnl
dnl This macro searches for an installed zlib library. If nothing
dnl was specified when calling configure, it searches first in /usr/local
dnl This macro searches for an installed zlib library. If nothing was
dnl specified when calling configure, it searches first in /usr/local
dnl and then in /usr. If the --with-zlib=DIR is specified, it will try
dnl to find it in DIR/include/zlib.h and DIR/lib/libz.a. If --without-zlib
dnl is specified, the library is not searched at all.
dnl to find it in DIR/include/zlib.h and DIR/lib/libz.a. If
dnl --without-zlib is specified, the library is not searched at all.
dnl
dnl If either the header file (zlib.h) or the library (libz) is not
dnl found, the configuration exits on error, asking for a valid
dnl zlib installation directory or --without-zlib.
dnl found, the configuration exits on error, asking for a valid zlib
dnl installation directory or --without-zlib.
dnl
dnl The macro defines the symbol HAVE_LIBZ if the library is found. You should
dnl use autoheader to include a definition for this symbol in a config.h
dnl file. Sample usage in a C/C++ source is as follows:
dnl The macro defines the symbol HAVE_LIBZ if the library is found. You
dnl should use autoheader to include a definition for this symbol in a
dnl config.h file. Sample usage in a C/C++ source is as follows:
dnl
dnl #ifdef HAVE_LIBZ
dnl #include <zlib.h>
dnl #endif /* HAVE_LIBZ */
dnl
dnl @version $Id$
dnl @category InstalledPackages
dnl @author Loic Dachary <loic@senga.org>
dnl
dnl @version 2004-09-20
dnl @license GPLWithACException
AC_DEFUN([CHECK_ZLIB],
#
@@ -33,17 +34,21 @@ AC_ARG_WITH(zlib,
--without-zlib to disable zlib usage completely],
[if test "$withval" != no ; then
AC_MSG_RESULT(yes)
ZLIB_HOME="$withval"
if test -d "$withval"
then
ZLIB_HOME="$withval"
else
AC_MSG_WARN([Sorry, $withval does not exist, checking usual places])
fi
else
AC_MSG_RESULT(no)
fi], [
AC_MSG_RESULT(yes)
fi])
ZLIB_HOME=/usr/local
if test ! -f "${ZLIB_HOME}/include/zlib.h"
then
ZLIB_HOME=/usr
fi
])
#
# Locate zlib, if wanted

View File

@@ -105,7 +105,6 @@ MANS = $(man_MANS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -114,12 +113,14 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
@@ -133,7 +134,6 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
@@ -189,6 +189,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@

View File

@@ -1,13 +1,15 @@
.\" Process this file with
.\" groff -man -Tascii httrack.1
.\"
.TH httrack 1 "28 July 2014" "httrack website copier"
.TH httrack 1 "HTTrack version 3.47-26 (compiled Sep 6 2013)" "httrack website copier"
.SH NAME
httrack \- offline browser : copy websites to a local directory
.SH SYNOPSIS
.B httrack [ url ]... [ \-filter ]... [ +filter ]... [
.B \-O, \-\-path
] [
.B \-%O, \-\-chroot
] [
.B \-w, \-\-mirror
] [
.B \-W, \-\-mirror\-wizard
@@ -40,6 +42,8 @@ httrack \- offline browser : copy websites to a local directory
] [
.B \-GN, \-\-max\-pause[=N]
] [
.B \-%mN, \-\-max\-mms\-time[=N]
] [
.B \-cN, \-\-sockets[=N]
] [
.B \-TN, \-\-timeout[=N]
@@ -118,10 +122,6 @@ httrack \- offline browser : copy websites to a local directory
] [
.B \-%l, \-\-language
] [
.B \-%a, \-\-accept
] [
.B \-%X, \-\-headers
] [
.B \-C, \-\-cache[=N]
] [
.B \-k, \-\-store\-all\-in\-cache
@@ -174,6 +174,8 @@ httrack \- offline browser : copy websites to a local directory
] [
.B \-V, \-\-userdef\-cmd
] [
.B \-%U, \-\-user
] [
.B \-%W, \-\-callback
] [
.B \-K, \-\-keep\-links[=N]
@@ -212,6 +214,9 @@ mirror[,path
cache
and
logfiles]) (\-\-path <param>)
.IP \-%O
chroot path to, must be r00t (\-%O root
path) (\-\-chroot <param>)
.SS Action options:
.IP \-w
@@ -252,6 +257,8 @@ maximum transfer rate in bytes/seconds (1000=1KB/s max) (\-\-max\-rate[=N])
maximum number of connections/seconds (*%c10) (\-\-connection\-per\-second[=N])
.IP \-GN
pause transfer if N bytes reached, and wait until lock file is deleted (\-\-max\-pause[=N])
.IP \-%mN
maximum mms stream download time in seconds (60=1 minute, 3600=1 hour) (\-\-max\-mms\-time[=N])
.SS Flow control:
.IP \-cN
@@ -346,10 +353,6 @@ from email address sent in HTTP headers (\-\-from <param>)
footer string in Html code (\-%F "Mirrored [from host %s [file %s [at %s]]]" (\-\-footer <param>)
.IP \-%l
preffered language (\-%l "fr, en, jp, *" (\-\-language <param>)
.IP \-%a
accepted formats (\-%a "text/html,image/png;q=0.9,*/*;q=0.1" (\-\-accept <param>)
.IP \-%X
additional HTTP header line (\-%X "X\-Magic: 42" (\-\-headers <param>)
.SS Log, index, cache
.IP \-C
@@ -452,6 +455,8 @@ generate transfer ops. log every minutes (\-\-debug\-xfrstats)
wait time (\-\-advanced\-wait)
.IP \-#Z
generate transfer rate statictics every minutes (\-\-debug\-ratestats)
.IP \-#!
execute a shell command (\-#! "echo hello") (\-\-exec <param>)
.SS Dangerous options: (do NOT use unless you exactly know what you are doing)
.IP \-%!
@@ -463,7 +468,9 @@ IT WITH EXTREME CARE
.SS Command\-line specific options:
.IP \-V
execute system command after each files ($0 is the filename: \-V "rm \\$0") (\-\-userdef\-cmd <param>)
execute system command after each files ($0 is the filename: \-V "rm \$0") (\-\-userdef\-cmd <param>)
.IP \-%U
run the engine with another id when called as root (\-%U smith) (\-\-user <param>)
.IP \-%W
use an external library function as a wrapper (\-%W myfoo.so[,myparameters]) (\-\-callback <param>)
@@ -610,7 +617,7 @@ Please reports bugs to
.B <bugs@httrack.com>.
Include a complete, self-contained example that will allow the bug to be reproduced, and say which version of httrack you are using. Do not forget to detail options used, OS version, and any other information you deem necessary.
.SH COPYRIGHT
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -1,3 +1,5 @@
#SUBDIRS = swf
DevIncludesdir = $(includedir)/httrack
DevIncludes_DATA = \
httrack-library.h \
@@ -8,14 +10,10 @@ DevIncludes_DATA = \
../config.h \
htsmodules.h \
htsbasenet.h \
htsnet.h \
htsbauth.h \
htsdefines.h \
htsstrings.h \
htsarrays.h \
htssafe.h
htsdefines.h
AM_CPPFLAGS = \
INCLUDES = \
@DEFAULT_CFLAGS@ \
@THREADS_CFLAGS@ \
@V6_FLAG@ \
@@ -30,44 +28,45 @@ bin_PROGRAMS = proxytrack httrack htsserver
httrack_LDADD = $(THREADS_LIBS) libhttrack.la
htsserver_LDADD = $(THREADS_LIBS) $(SOCKET_LIBS) libhttrack.la
proxytrack_LDADD = $(THREADS_LIBS) $(SOCKET_LIBS)
proxytrack_CFLAGS = $(AM_CFLAGS) -DNO_MALLOCT -DZLIB_CONST -DHTS_INTHASH_USES_MD5
htsserver_CFLAGS = $(AM_CFLAGS) -DZLIB_CONST -DHTS_INTHASH_USES_MD5
proxytrack_CFLAGS = $(AM_CFLAGS) -DNO_MALLOCT
lib_LTLIBRARIES = libhttrack.la libhtsjava.la
htsserver_SOURCES = htsserver.c htsserver.h htsweb.c htsweb.h
proxytrack_SOURCES = proxy/main.c \
proxy/proxytrack.c proxy/store.c \
coucal.c htsmd5.c md5.c \
htsinthash.c htsmd5.c md5.c \
minizip/ioapi.c minizip/mztools.c minizip/unzip.c minizip/zip.c
whttrackrundir = $(bindir)
whttrackrun_SCRIPTS = webhttrack
libhttrack_la_SOURCES = htscore.c htsparse.c htsback.c htscache.c \
htscatchurl.c htsfilters.c htsftp.c htshash.c coucal.c \
htscatchurl.c htsfilters.c htsftp.c htshash.c htsinthash.c \
htshelp.c htslib.c htscoremain.c \
htsname.c htsrobots.c htstools.c htswizard.c \
htsalias.c htsthread.c htsindex.c htsbauth.c \
htsmd5.c htszlib.c htswrap.c htsconcat.c \
htsmd5.c htszlib.c htswrap.c \
htsmodules.c htscharset.c punycode.c htsencoding.c \
md5.c \
htsmms.c \
minizip/ioapi.c minizip/mztools.c minizip/unzip.c minizip/zip.c \
hts-indextmpl.h htsalias.h htsback.h htsbase.h htssafe.h \
mmsrip/error.c mmsrip/mms.c \
hts-indextmpl.h htsalias.h htsback.h htsbase.h \
htsbasenet.h htsbauth.h htscache.h htscatchurl.h \
htsconfig.h htscore.h htsparse.h htscoremain.h htsdefines.h \
htsfilters.h htsftp.h htsglobal.h htshash.h coucal.h \
htsfilters.h htsftp.h htsglobal.h htshash.h htsinthash.h \
htshelp.h htsindex.h htslib.h htsmd5.h \
htsmodules.h htsname.h htsnet.h \
htsopt.h htsrobots.h htsthread.h \
htstools.h htswizard.h htswrap.h htszlib.h \
htsstrings.h htsarrays.h httrack-library.h \
htscharset.h punycode.h htsencoding.h \
htsentities.h htsentities.sh htsbasiccharsets.sh htscodepages.h \
md5.h murmurhash3.h \
minizip/crypt.h minizip/ioapi.h minizip/mztools.h minizip/unzip.h minizip/zip.h
htsstrings.h httrack-library.h htscharset.h punycode.h htsencoding.h \
htsentities.h htsentities.sh \
md5.h \
htsmms.h \
minizip/crypt.h minizip/ioapi.h minizip/mztools.h minizip/unzip.h minizip/zip.h \
mmsrip/error.h mmsrip/mms.h
libhttrack_la_LIBADD = $(THREADS_LIBS) $(ZLIB_LIBS) $(OPENSSL_LIBS) $(DL_LIBS) $(SOCKET_LIBS) $(ICONV_LIBS)
libhttrack_la_CFLAGS = $(AM_CFLAGS) -DLIBHTTRACK_EXPORTS -DZLIB_CONST
libhttrack_la_LDFLAGS = -version-info $(VERSION_INFO)
libhtsjava_la_SOURCES = htsjava.c htsjava.h
@@ -75,22 +74,16 @@ libhtsjava_la_LIBADD = $(THREADS_LIBS) $(DL_LIBS) libhttrack.la
libhtsjava_la_LDFLAGS = -version-info $(VERSION_INFO)
EXTRA_DIST = httrack.h webhttrack \
murmurhash3.h.diff \
murmurhash3.h.orig \
minizip/ChangeLogUnzip \
minizip/iowin32.c \
minizip/iowin32.h \
minizip/ioapi.c.diff \
minizip/ioapi.h.diff \
minizip/zip.c.diff \
minizip/zip.h.diff \
minizip/mztools.c.diff \
minizip/ioapi.c.orig \
minizip/ioapi.h.orig \
minizip/mztools.c.orig \
minizip/zip.c.orig \
minizip/zip.h.orig \
minizip/MiniZip64_Changes.txt \
minizip/MiniZip64_info.txt \
mmsrip/common.h \
mmsrip/main.c \
mmsrip/COPYING \
mmsrip/AUTHORS \
mmsrip/NEWS \
mmsrip/README \
mmsrip/ChangeLog \
proxy/AUTHORS \
proxy/COPYING \
proxy/changelog.txt \

View File

@@ -15,6 +15,8 @@
@SET_MAKE@
#SUBDIRS = swf
@@ -110,49 +112,31 @@ libhtsjava_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
libhttrack_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am__dirstamp = $(am__leading_dot)dirstamp
am_libhttrack_la_OBJECTS = libhttrack_la-htscore.lo \
libhttrack_la-htsparse.lo libhttrack_la-htsback.lo \
libhttrack_la-htscache.lo libhttrack_la-htscatchurl.lo \
libhttrack_la-htsfilters.lo libhttrack_la-htsftp.lo \
libhttrack_la-htshash.lo libhttrack_la-coucal.lo \
libhttrack_la-htshelp.lo libhttrack_la-htslib.lo \
libhttrack_la-htscoremain.lo libhttrack_la-htsname.lo \
libhttrack_la-htsrobots.lo libhttrack_la-htstools.lo \
libhttrack_la-htswizard.lo libhttrack_la-htsalias.lo \
libhttrack_la-htsthread.lo libhttrack_la-htsindex.lo \
libhttrack_la-htsbauth.lo libhttrack_la-htsmd5.lo \
libhttrack_la-htszlib.lo libhttrack_la-htswrap.lo \
libhttrack_la-htsconcat.lo libhttrack_la-htsmodules.lo \
libhttrack_la-htscharset.lo libhttrack_la-punycode.lo \
libhttrack_la-htsencoding.lo libhttrack_la-md5.lo \
minizip/libhttrack_la-ioapi.lo \
minizip/libhttrack_la-mztools.lo \
minizip/libhttrack_la-unzip.lo minizip/libhttrack_la-zip.lo
am_libhttrack_la_OBJECTS = htscore.lo htsparse.lo htsback.lo \
htscache.lo htscatchurl.lo htsfilters.lo htsftp.lo htshash.lo \
htsinthash.lo htshelp.lo htslib.lo htscoremain.lo htsname.lo \
htsrobots.lo htstools.lo htswizard.lo htsalias.lo htsthread.lo \
htsindex.lo htsbauth.lo htsmd5.lo htszlib.lo htswrap.lo \
htsmodules.lo htscharset.lo punycode.lo htsencoding.lo md5.lo \
htsmms.lo ioapi.lo mztools.lo unzip.lo zip.lo error.lo mms.lo
libhttrack_la_OBJECTS = $(am_libhttrack_la_OBJECTS)
libhttrack_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libhttrack_la_CFLAGS) \
$(CFLAGS) $(libhttrack_la_LDFLAGS) $(LDFLAGS) -o $@
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libhttrack_la_LDFLAGS) $(LDFLAGS) -o $@
PROGRAMS = $(bin_PROGRAMS)
am_htsserver_OBJECTS = htsserver-htsserver.$(OBJEXT) \
htsserver-htsweb.$(OBJEXT)
am_htsserver_OBJECTS = htsserver.$(OBJEXT) htsweb.$(OBJEXT)
htsserver_OBJECTS = $(am_htsserver_OBJECTS)
htsserver_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
libhttrack.la
htsserver_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(htsserver_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
httrack_SOURCES = httrack.c
httrack_OBJECTS = httrack.$(OBJEXT)
httrack_DEPENDENCIES = $(am__DEPENDENCIES_1) libhttrack.la
am_proxytrack_OBJECTS = proxy/proxytrack-main.$(OBJEXT) \
proxy/proxytrack-proxytrack.$(OBJEXT) \
proxy/proxytrack-store.$(OBJEXT) proxytrack-coucal.$(OBJEXT) \
proxytrack-htsmd5.$(OBJEXT) proxytrack-md5.$(OBJEXT) \
minizip/proxytrack-ioapi.$(OBJEXT) \
minizip/proxytrack-mztools.$(OBJEXT) \
minizip/proxytrack-unzip.$(OBJEXT) \
minizip/proxytrack-zip.$(OBJEXT)
am_proxytrack_OBJECTS = proxytrack-main.$(OBJEXT) \
proxytrack-proxytrack.$(OBJEXT) proxytrack-store.$(OBJEXT) \
proxytrack-htsinthash.$(OBJEXT) proxytrack-htsmd5.$(OBJEXT) \
proxytrack-md5.$(OBJEXT) proxytrack-ioapi.$(OBJEXT) \
proxytrack-mztools.$(OBJEXT) proxytrack-unzip.$(OBJEXT) \
proxytrack-zip.$(OBJEXT)
proxytrack_OBJECTS = $(am_proxytrack_OBJECTS)
proxytrack_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
proxytrack_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -187,7 +171,6 @@ CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -196,12 +179,14 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
@@ -215,7 +200,6 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
@@ -271,6 +255,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -327,14 +312,10 @@ DevIncludes_DATA = \
../config.h \
htsmodules.h \
htsbasenet.h \
htsnet.h \
htsbauth.h \
htsdefines.h \
htsstrings.h \
htsarrays.h \
htssafe.h
htsdefines.h
AM_CPPFLAGS = \
INCLUDES = \
@DEFAULT_CFLAGS@ \
@THREADS_CFLAGS@ \
@V6_FLAG@ \
@@ -347,63 +328,58 @@ AM_CPPFLAGS = \
httrack_LDADD = $(THREADS_LIBS) libhttrack.la
htsserver_LDADD = $(THREADS_LIBS) $(SOCKET_LIBS) libhttrack.la
proxytrack_LDADD = $(THREADS_LIBS) $(SOCKET_LIBS)
proxytrack_CFLAGS = $(AM_CFLAGS) -DNO_MALLOCT -DZLIB_CONST -DHTS_INTHASH_USES_MD5
htsserver_CFLAGS = $(AM_CFLAGS) -DZLIB_CONST -DHTS_INTHASH_USES_MD5
proxytrack_CFLAGS = $(AM_CFLAGS) -DNO_MALLOCT
lib_LTLIBRARIES = libhttrack.la libhtsjava.la
htsserver_SOURCES = htsserver.c htsserver.h htsweb.c htsweb.h
proxytrack_SOURCES = proxy/main.c \
proxy/proxytrack.c proxy/store.c \
coucal.c htsmd5.c md5.c \
htsinthash.c htsmd5.c md5.c \
minizip/ioapi.c minizip/mztools.c minizip/unzip.c minizip/zip.c
whttrackrundir = $(bindir)
whttrackrun_SCRIPTS = webhttrack
libhttrack_la_SOURCES = htscore.c htsparse.c htsback.c htscache.c \
htscatchurl.c htsfilters.c htsftp.c htshash.c coucal.c \
htscatchurl.c htsfilters.c htsftp.c htshash.c htsinthash.c \
htshelp.c htslib.c htscoremain.c \
htsname.c htsrobots.c htstools.c htswizard.c \
htsalias.c htsthread.c htsindex.c htsbauth.c \
htsmd5.c htszlib.c htswrap.c htsconcat.c \
htsmd5.c htszlib.c htswrap.c \
htsmodules.c htscharset.c punycode.c htsencoding.c \
md5.c \
htsmms.c \
minizip/ioapi.c minizip/mztools.c minizip/unzip.c minizip/zip.c \
hts-indextmpl.h htsalias.h htsback.h htsbase.h htssafe.h \
mmsrip/error.c mmsrip/mms.c \
hts-indextmpl.h htsalias.h htsback.h htsbase.h \
htsbasenet.h htsbauth.h htscache.h htscatchurl.h \
htsconfig.h htscore.h htsparse.h htscoremain.h htsdefines.h \
htsfilters.h htsftp.h htsglobal.h htshash.h coucal.h \
htsfilters.h htsftp.h htsglobal.h htshash.h htsinthash.h \
htshelp.h htsindex.h htslib.h htsmd5.h \
htsmodules.h htsname.h htsnet.h \
htsopt.h htsrobots.h htsthread.h \
htstools.h htswizard.h htswrap.h htszlib.h \
htsstrings.h htsarrays.h httrack-library.h \
htscharset.h punycode.h htsencoding.h \
htsentities.h htsentities.sh htsbasiccharsets.sh htscodepages.h \
md5.h murmurhash3.h \
minizip/crypt.h minizip/ioapi.h minizip/mztools.h minizip/unzip.h minizip/zip.h
htsstrings.h httrack-library.h htscharset.h punycode.h htsencoding.h \
htsentities.h htsentities.sh \
md5.h \
htsmms.h \
minizip/crypt.h minizip/ioapi.h minizip/mztools.h minizip/unzip.h minizip/zip.h \
mmsrip/error.h mmsrip/mms.h
libhttrack_la_LIBADD = $(THREADS_LIBS) $(ZLIB_LIBS) $(OPENSSL_LIBS) $(DL_LIBS) $(SOCKET_LIBS) $(ICONV_LIBS)
libhttrack_la_CFLAGS = $(AM_CFLAGS) -DLIBHTTRACK_EXPORTS -DZLIB_CONST
libhttrack_la_LDFLAGS = -version-info $(VERSION_INFO)
libhtsjava_la_SOURCES = htsjava.c htsjava.h
libhtsjava_la_LIBADD = $(THREADS_LIBS) $(DL_LIBS) libhttrack.la
libhtsjava_la_LDFLAGS = -version-info $(VERSION_INFO)
EXTRA_DIST = httrack.h webhttrack \
murmurhash3.h.diff \
murmurhash3.h.orig \
minizip/ChangeLogUnzip \
minizip/iowin32.c \
minizip/iowin32.h \
minizip/ioapi.c.diff \
minizip/ioapi.h.diff \
minizip/zip.c.diff \
minizip/zip.h.diff \
minizip/mztools.c.diff \
minizip/ioapi.c.orig \
minizip/ioapi.h.orig \
minizip/mztools.c.orig \
minizip/zip.c.orig \
minizip/zip.h.orig \
minizip/MiniZip64_Changes.txt \
minizip/MiniZip64_info.txt \
mmsrip/common.h \
mmsrip/main.c \
mmsrip/COPYING \
mmsrip/AUTHORS \
mmsrip/NEWS \
mmsrip/README \
mmsrip/ChangeLog \
proxy/AUTHORS \
proxy/COPYING \
proxy/changelog.txt \
@@ -480,20 +456,6 @@ clean-libLTLIBRARIES:
done
libhtsjava.la: $(libhtsjava_la_OBJECTS) $(libhtsjava_la_DEPENDENCIES) $(EXTRA_libhtsjava_la_DEPENDENCIES)
$(libhtsjava_la_LINK) -rpath $(libdir) $(libhtsjava_la_OBJECTS) $(libhtsjava_la_LIBADD) $(LIBS)
minizip/$(am__dirstamp):
@$(MKDIR_P) minizip
@: > minizip/$(am__dirstamp)
minizip/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) minizip/$(DEPDIR)
@: > minizip/$(DEPDIR)/$(am__dirstamp)
minizip/libhttrack_la-ioapi.lo: minizip/$(am__dirstamp) \
minizip/$(DEPDIR)/$(am__dirstamp)
minizip/libhttrack_la-mztools.lo: minizip/$(am__dirstamp) \
minizip/$(DEPDIR)/$(am__dirstamp)
minizip/libhttrack_la-unzip.lo: minizip/$(am__dirstamp) \
minizip/$(DEPDIR)/$(am__dirstamp)
minizip/libhttrack_la-zip.lo: minizip/$(am__dirstamp) \
minizip/$(DEPDIR)/$(am__dirstamp)
libhttrack.la: $(libhttrack_la_OBJECTS) $(libhttrack_la_DEPENDENCIES) $(EXTRA_libhttrack_la_DEPENDENCIES)
$(libhttrack_la_LINK) -rpath $(libdir) $(libhttrack_la_OBJECTS) $(libhttrack_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@@ -544,30 +506,10 @@ clean-binPROGRAMS:
rm -f $$list
htsserver$(EXEEXT): $(htsserver_OBJECTS) $(htsserver_DEPENDENCIES) $(EXTRA_htsserver_DEPENDENCIES)
@rm -f htsserver$(EXEEXT)
$(htsserver_LINK) $(htsserver_OBJECTS) $(htsserver_LDADD) $(LIBS)
$(LINK) $(htsserver_OBJECTS) $(htsserver_LDADD) $(LIBS)
httrack$(EXEEXT): $(httrack_OBJECTS) $(httrack_DEPENDENCIES) $(EXTRA_httrack_DEPENDENCIES)
@rm -f httrack$(EXEEXT)
$(LINK) $(httrack_OBJECTS) $(httrack_LDADD) $(LIBS)
proxy/$(am__dirstamp):
@$(MKDIR_P) proxy
@: > proxy/$(am__dirstamp)
proxy/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) proxy/$(DEPDIR)
@: > proxy/$(DEPDIR)/$(am__dirstamp)
proxy/proxytrack-main.$(OBJEXT): proxy/$(am__dirstamp) \
proxy/$(DEPDIR)/$(am__dirstamp)
proxy/proxytrack-proxytrack.$(OBJEXT): proxy/$(am__dirstamp) \
proxy/$(DEPDIR)/$(am__dirstamp)
proxy/proxytrack-store.$(OBJEXT): proxy/$(am__dirstamp) \
proxy/$(DEPDIR)/$(am__dirstamp)
minizip/proxytrack-ioapi.$(OBJEXT): minizip/$(am__dirstamp) \
minizip/$(DEPDIR)/$(am__dirstamp)
minizip/proxytrack-mztools.$(OBJEXT): minizip/$(am__dirstamp) \
minizip/$(DEPDIR)/$(am__dirstamp)
minizip/proxytrack-unzip.$(OBJEXT): minizip/$(am__dirstamp) \
minizip/$(DEPDIR)/$(am__dirstamp)
minizip/proxytrack-zip.$(OBJEXT): minizip/$(am__dirstamp) \
minizip/$(DEPDIR)/$(am__dirstamp)
proxytrack$(EXEEXT): $(proxytrack_OBJECTS) $(proxytrack_DEPENDENCIES) $(EXTRA_proxytrack_DEPENDENCIES)
@rm -f proxytrack$(EXEEXT)
$(proxytrack_LINK) $(proxytrack_OBJECTS) $(proxytrack_LDADD) $(LIBS)
@@ -609,411 +551,178 @@ uninstall-whttrackrunSCRIPTS:
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f minizip/libhttrack_la-ioapi.$(OBJEXT)
-rm -f minizip/libhttrack_la-ioapi.lo
-rm -f minizip/libhttrack_la-mztools.$(OBJEXT)
-rm -f minizip/libhttrack_la-mztools.lo
-rm -f minizip/libhttrack_la-unzip.$(OBJEXT)
-rm -f minizip/libhttrack_la-unzip.lo
-rm -f minizip/libhttrack_la-zip.$(OBJEXT)
-rm -f minizip/libhttrack_la-zip.lo
-rm -f minizip/proxytrack-ioapi.$(OBJEXT)
-rm -f minizip/proxytrack-mztools.$(OBJEXT)
-rm -f minizip/proxytrack-unzip.$(OBJEXT)
-rm -f minizip/proxytrack-zip.$(OBJEXT)
-rm -f proxy/proxytrack-main.$(OBJEXT)
-rm -f proxy/proxytrack-proxytrack.$(OBJEXT)
-rm -f proxy/proxytrack-store.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsalias.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsback.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsbauth.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htscache.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htscatchurl.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htscharset.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htscore.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htscoremain.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsencoding.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsfilters.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsftp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htshash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htshelp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsindex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsinthash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsjava.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsserver-htsserver.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsserver-htsweb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htslib.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsmd5.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsmms.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsmodules.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsname.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsparse.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsrobots.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsserver.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsthread.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htstools.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htsweb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htswizard.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htswrap.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htszlib.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httrack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-coucal.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsalias.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsback.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsbauth.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htscache.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htscatchurl.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htscharset.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsconcat.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htscore.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htscoremain.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsencoding.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsfilters.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsftp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htshash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htshelp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsindex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htslib.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsmd5.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsmodules.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsname.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsparse.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsrobots.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htsthread.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htstools.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htswizard.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htswrap.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-htszlib.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-md5.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhttrack_la-punycode.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-coucal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioapi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mms.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mztools.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-htsinthash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-htsmd5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-ioapi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-md5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@minizip/$(DEPDIR)/libhttrack_la-ioapi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@minizip/$(DEPDIR)/libhttrack_la-mztools.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@minizip/$(DEPDIR)/libhttrack_la-unzip.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@minizip/$(DEPDIR)/libhttrack_la-zip.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@minizip/$(DEPDIR)/proxytrack-ioapi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@minizip/$(DEPDIR)/proxytrack-mztools.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@minizip/$(DEPDIR)/proxytrack-unzip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@minizip/$(DEPDIR)/proxytrack-zip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@proxy/$(DEPDIR)/proxytrack-main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@proxy/$(DEPDIR)/proxytrack-proxytrack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@proxy/$(DEPDIR)/proxytrack-store.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-mztools.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-proxytrack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-store.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-unzip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxytrack-zip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/punycode.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unzip.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zip.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
libhttrack_la-htscore.lo: htscore.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htscore.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htscore.Tpo -c -o libhttrack_la-htscore.lo `test -f 'htscore.c' || echo '$(srcdir)/'`htscore.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htscore.Tpo $(DEPDIR)/libhttrack_la-htscore.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htscore.c' object='libhttrack_la-htscore.lo' libtool=yes @AMDEPBACKSLASH@
ioapi.lo: minizip/ioapi.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ioapi.lo -MD -MP -MF $(DEPDIR)/ioapi.Tpo -c -o ioapi.lo `test -f 'minizip/ioapi.c' || echo '$(srcdir)/'`minizip/ioapi.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ioapi.Tpo $(DEPDIR)/ioapi.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/ioapi.c' object='ioapi.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htscore.lo `test -f 'htscore.c' || echo '$(srcdir)/'`htscore.c
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ioapi.lo `test -f 'minizip/ioapi.c' || echo '$(srcdir)/'`minizip/ioapi.c
libhttrack_la-htsparse.lo: htsparse.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsparse.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsparse.Tpo -c -o libhttrack_la-htsparse.lo `test -f 'htsparse.c' || echo '$(srcdir)/'`htsparse.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsparse.Tpo $(DEPDIR)/libhttrack_la-htsparse.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsparse.c' object='libhttrack_la-htsparse.lo' libtool=yes @AMDEPBACKSLASH@
mztools.lo: minizip/mztools.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mztools.lo -MD -MP -MF $(DEPDIR)/mztools.Tpo -c -o mztools.lo `test -f 'minizip/mztools.c' || echo '$(srcdir)/'`minizip/mztools.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mztools.Tpo $(DEPDIR)/mztools.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/mztools.c' object='mztools.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsparse.lo `test -f 'htsparse.c' || echo '$(srcdir)/'`htsparse.c
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mztools.lo `test -f 'minizip/mztools.c' || echo '$(srcdir)/'`minizip/mztools.c
libhttrack_la-htsback.lo: htsback.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsback.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsback.Tpo -c -o libhttrack_la-htsback.lo `test -f 'htsback.c' || echo '$(srcdir)/'`htsback.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsback.Tpo $(DEPDIR)/libhttrack_la-htsback.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsback.c' object='libhttrack_la-htsback.lo' libtool=yes @AMDEPBACKSLASH@
unzip.lo: minizip/unzip.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unzip.lo -MD -MP -MF $(DEPDIR)/unzip.Tpo -c -o unzip.lo `test -f 'minizip/unzip.c' || echo '$(srcdir)/'`minizip/unzip.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/unzip.Tpo $(DEPDIR)/unzip.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/unzip.c' object='unzip.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsback.lo `test -f 'htsback.c' || echo '$(srcdir)/'`htsback.c
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unzip.lo `test -f 'minizip/unzip.c' || echo '$(srcdir)/'`minizip/unzip.c
libhttrack_la-htscache.lo: htscache.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htscache.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htscache.Tpo -c -o libhttrack_la-htscache.lo `test -f 'htscache.c' || echo '$(srcdir)/'`htscache.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htscache.Tpo $(DEPDIR)/libhttrack_la-htscache.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htscache.c' object='libhttrack_la-htscache.lo' libtool=yes @AMDEPBACKSLASH@
zip.lo: minizip/zip.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT zip.lo -MD -MP -MF $(DEPDIR)/zip.Tpo -c -o zip.lo `test -f 'minizip/zip.c' || echo '$(srcdir)/'`minizip/zip.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/zip.Tpo $(DEPDIR)/zip.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/zip.c' object='zip.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htscache.lo `test -f 'htscache.c' || echo '$(srcdir)/'`htscache.c
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o zip.lo `test -f 'minizip/zip.c' || echo '$(srcdir)/'`minizip/zip.c
libhttrack_la-htscatchurl.lo: htscatchurl.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htscatchurl.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htscatchurl.Tpo -c -o libhttrack_la-htscatchurl.lo `test -f 'htscatchurl.c' || echo '$(srcdir)/'`htscatchurl.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htscatchurl.Tpo $(DEPDIR)/libhttrack_la-htscatchurl.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htscatchurl.c' object='libhttrack_la-htscatchurl.lo' libtool=yes @AMDEPBACKSLASH@
error.lo: mmsrip/error.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT error.lo -MD -MP -MF $(DEPDIR)/error.Tpo -c -o error.lo `test -f 'mmsrip/error.c' || echo '$(srcdir)/'`mmsrip/error.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/error.Tpo $(DEPDIR)/error.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmsrip/error.c' object='error.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htscatchurl.lo `test -f 'htscatchurl.c' || echo '$(srcdir)/'`htscatchurl.c
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o error.lo `test -f 'mmsrip/error.c' || echo '$(srcdir)/'`mmsrip/error.c
libhttrack_la-htsfilters.lo: htsfilters.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsfilters.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsfilters.Tpo -c -o libhttrack_la-htsfilters.lo `test -f 'htsfilters.c' || echo '$(srcdir)/'`htsfilters.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsfilters.Tpo $(DEPDIR)/libhttrack_la-htsfilters.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsfilters.c' object='libhttrack_la-htsfilters.lo' libtool=yes @AMDEPBACKSLASH@
mms.lo: mmsrip/mms.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mms.lo -MD -MP -MF $(DEPDIR)/mms.Tpo -c -o mms.lo `test -f 'mmsrip/mms.c' || echo '$(srcdir)/'`mmsrip/mms.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mms.Tpo $(DEPDIR)/mms.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmsrip/mms.c' object='mms.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsfilters.lo `test -f 'htsfilters.c' || echo '$(srcdir)/'`htsfilters.c
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mms.lo `test -f 'mmsrip/mms.c' || echo '$(srcdir)/'`mmsrip/mms.c
libhttrack_la-htsftp.lo: htsftp.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsftp.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsftp.Tpo -c -o libhttrack_la-htsftp.lo `test -f 'htsftp.c' || echo '$(srcdir)/'`htsftp.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsftp.Tpo $(DEPDIR)/libhttrack_la-htsftp.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsftp.c' object='libhttrack_la-htsftp.lo' libtool=yes @AMDEPBACKSLASH@
proxytrack-main.o: proxy/main.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-main.o -MD -MP -MF $(DEPDIR)/proxytrack-main.Tpo -c -o proxytrack-main.o `test -f 'proxy/main.c' || echo '$(srcdir)/'`proxy/main.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-main.Tpo $(DEPDIR)/proxytrack-main.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/main.c' object='proxytrack-main.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsftp.lo `test -f 'htsftp.c' || echo '$(srcdir)/'`htsftp.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-main.o `test -f 'proxy/main.c' || echo '$(srcdir)/'`proxy/main.c
libhttrack_la-htshash.lo: htshash.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htshash.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htshash.Tpo -c -o libhttrack_la-htshash.lo `test -f 'htshash.c' || echo '$(srcdir)/'`htshash.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htshash.Tpo $(DEPDIR)/libhttrack_la-htshash.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htshash.c' object='libhttrack_la-htshash.lo' libtool=yes @AMDEPBACKSLASH@
proxytrack-main.obj: proxy/main.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-main.obj -MD -MP -MF $(DEPDIR)/proxytrack-main.Tpo -c -o proxytrack-main.obj `if test -f 'proxy/main.c'; then $(CYGPATH_W) 'proxy/main.c'; else $(CYGPATH_W) '$(srcdir)/proxy/main.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-main.Tpo $(DEPDIR)/proxytrack-main.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/main.c' object='proxytrack-main.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htshash.lo `test -f 'htshash.c' || echo '$(srcdir)/'`htshash.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-main.obj `if test -f 'proxy/main.c'; then $(CYGPATH_W) 'proxy/main.c'; else $(CYGPATH_W) '$(srcdir)/proxy/main.c'; fi`
libhttrack_la-coucal.lo: coucal.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-coucal.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-coucal.Tpo -c -o libhttrack_la-coucal.lo `test -f 'coucal.c' || echo '$(srcdir)/'`coucal.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-coucal.Tpo $(DEPDIR)/libhttrack_la-coucal.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='coucal.c' object='libhttrack_la-coucal.lo' libtool=yes @AMDEPBACKSLASH@
proxytrack-proxytrack.o: proxy/proxytrack.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-proxytrack.o -MD -MP -MF $(DEPDIR)/proxytrack-proxytrack.Tpo -c -o proxytrack-proxytrack.o `test -f 'proxy/proxytrack.c' || echo '$(srcdir)/'`proxy/proxytrack.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-proxytrack.Tpo $(DEPDIR)/proxytrack-proxytrack.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/proxytrack.c' object='proxytrack-proxytrack.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-coucal.lo `test -f 'coucal.c' || echo '$(srcdir)/'`coucal.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-proxytrack.o `test -f 'proxy/proxytrack.c' || echo '$(srcdir)/'`proxy/proxytrack.c
libhttrack_la-htshelp.lo: htshelp.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htshelp.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htshelp.Tpo -c -o libhttrack_la-htshelp.lo `test -f 'htshelp.c' || echo '$(srcdir)/'`htshelp.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htshelp.Tpo $(DEPDIR)/libhttrack_la-htshelp.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htshelp.c' object='libhttrack_la-htshelp.lo' libtool=yes @AMDEPBACKSLASH@
proxytrack-proxytrack.obj: proxy/proxytrack.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-proxytrack.obj -MD -MP -MF $(DEPDIR)/proxytrack-proxytrack.Tpo -c -o proxytrack-proxytrack.obj `if test -f 'proxy/proxytrack.c'; then $(CYGPATH_W) 'proxy/proxytrack.c'; else $(CYGPATH_W) '$(srcdir)/proxy/proxytrack.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-proxytrack.Tpo $(DEPDIR)/proxytrack-proxytrack.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/proxytrack.c' object='proxytrack-proxytrack.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htshelp.lo `test -f 'htshelp.c' || echo '$(srcdir)/'`htshelp.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-proxytrack.obj `if test -f 'proxy/proxytrack.c'; then $(CYGPATH_W) 'proxy/proxytrack.c'; else $(CYGPATH_W) '$(srcdir)/proxy/proxytrack.c'; fi`
libhttrack_la-htslib.lo: htslib.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htslib.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htslib.Tpo -c -o libhttrack_la-htslib.lo `test -f 'htslib.c' || echo '$(srcdir)/'`htslib.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htslib.Tpo $(DEPDIR)/libhttrack_la-htslib.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htslib.c' object='libhttrack_la-htslib.lo' libtool=yes @AMDEPBACKSLASH@
proxytrack-store.o: proxy/store.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-store.o -MD -MP -MF $(DEPDIR)/proxytrack-store.Tpo -c -o proxytrack-store.o `test -f 'proxy/store.c' || echo '$(srcdir)/'`proxy/store.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-store.Tpo $(DEPDIR)/proxytrack-store.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/store.c' object='proxytrack-store.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htslib.lo `test -f 'htslib.c' || echo '$(srcdir)/'`htslib.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-store.o `test -f 'proxy/store.c' || echo '$(srcdir)/'`proxy/store.c
libhttrack_la-htscoremain.lo: htscoremain.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htscoremain.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htscoremain.Tpo -c -o libhttrack_la-htscoremain.lo `test -f 'htscoremain.c' || echo '$(srcdir)/'`htscoremain.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htscoremain.Tpo $(DEPDIR)/libhttrack_la-htscoremain.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htscoremain.c' object='libhttrack_la-htscoremain.lo' libtool=yes @AMDEPBACKSLASH@
proxytrack-store.obj: proxy/store.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-store.obj -MD -MP -MF $(DEPDIR)/proxytrack-store.Tpo -c -o proxytrack-store.obj `if test -f 'proxy/store.c'; then $(CYGPATH_W) 'proxy/store.c'; else $(CYGPATH_W) '$(srcdir)/proxy/store.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-store.Tpo $(DEPDIR)/proxytrack-store.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/store.c' object='proxytrack-store.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htscoremain.lo `test -f 'htscoremain.c' || echo '$(srcdir)/'`htscoremain.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-store.obj `if test -f 'proxy/store.c'; then $(CYGPATH_W) 'proxy/store.c'; else $(CYGPATH_W) '$(srcdir)/proxy/store.c'; fi`
libhttrack_la-htsname.lo: htsname.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsname.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsname.Tpo -c -o libhttrack_la-htsname.lo `test -f 'htsname.c' || echo '$(srcdir)/'`htsname.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsname.Tpo $(DEPDIR)/libhttrack_la-htsname.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsname.c' object='libhttrack_la-htsname.lo' libtool=yes @AMDEPBACKSLASH@
proxytrack-htsinthash.o: htsinthash.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-htsinthash.o -MD -MP -MF $(DEPDIR)/proxytrack-htsinthash.Tpo -c -o proxytrack-htsinthash.o `test -f 'htsinthash.c' || echo '$(srcdir)/'`htsinthash.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-htsinthash.Tpo $(DEPDIR)/proxytrack-htsinthash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsinthash.c' object='proxytrack-htsinthash.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsname.lo `test -f 'htsname.c' || echo '$(srcdir)/'`htsname.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-htsinthash.o `test -f 'htsinthash.c' || echo '$(srcdir)/'`htsinthash.c
libhttrack_la-htsrobots.lo: htsrobots.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsrobots.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsrobots.Tpo -c -o libhttrack_la-htsrobots.lo `test -f 'htsrobots.c' || echo '$(srcdir)/'`htsrobots.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsrobots.Tpo $(DEPDIR)/libhttrack_la-htsrobots.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsrobots.c' object='libhttrack_la-htsrobots.lo' libtool=yes @AMDEPBACKSLASH@
proxytrack-htsinthash.obj: htsinthash.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-htsinthash.obj -MD -MP -MF $(DEPDIR)/proxytrack-htsinthash.Tpo -c -o proxytrack-htsinthash.obj `if test -f 'htsinthash.c'; then $(CYGPATH_W) 'htsinthash.c'; else $(CYGPATH_W) '$(srcdir)/htsinthash.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-htsinthash.Tpo $(DEPDIR)/proxytrack-htsinthash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsinthash.c' object='proxytrack-htsinthash.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsrobots.lo `test -f 'htsrobots.c' || echo '$(srcdir)/'`htsrobots.c
libhttrack_la-htstools.lo: htstools.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htstools.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htstools.Tpo -c -o libhttrack_la-htstools.lo `test -f 'htstools.c' || echo '$(srcdir)/'`htstools.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htstools.Tpo $(DEPDIR)/libhttrack_la-htstools.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htstools.c' object='libhttrack_la-htstools.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htstools.lo `test -f 'htstools.c' || echo '$(srcdir)/'`htstools.c
libhttrack_la-htswizard.lo: htswizard.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htswizard.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htswizard.Tpo -c -o libhttrack_la-htswizard.lo `test -f 'htswizard.c' || echo '$(srcdir)/'`htswizard.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htswizard.Tpo $(DEPDIR)/libhttrack_la-htswizard.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htswizard.c' object='libhttrack_la-htswizard.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htswizard.lo `test -f 'htswizard.c' || echo '$(srcdir)/'`htswizard.c
libhttrack_la-htsalias.lo: htsalias.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsalias.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsalias.Tpo -c -o libhttrack_la-htsalias.lo `test -f 'htsalias.c' || echo '$(srcdir)/'`htsalias.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsalias.Tpo $(DEPDIR)/libhttrack_la-htsalias.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsalias.c' object='libhttrack_la-htsalias.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsalias.lo `test -f 'htsalias.c' || echo '$(srcdir)/'`htsalias.c
libhttrack_la-htsthread.lo: htsthread.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsthread.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsthread.Tpo -c -o libhttrack_la-htsthread.lo `test -f 'htsthread.c' || echo '$(srcdir)/'`htsthread.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsthread.Tpo $(DEPDIR)/libhttrack_la-htsthread.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsthread.c' object='libhttrack_la-htsthread.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsthread.lo `test -f 'htsthread.c' || echo '$(srcdir)/'`htsthread.c
libhttrack_la-htsindex.lo: htsindex.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsindex.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsindex.Tpo -c -o libhttrack_la-htsindex.lo `test -f 'htsindex.c' || echo '$(srcdir)/'`htsindex.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsindex.Tpo $(DEPDIR)/libhttrack_la-htsindex.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsindex.c' object='libhttrack_la-htsindex.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsindex.lo `test -f 'htsindex.c' || echo '$(srcdir)/'`htsindex.c
libhttrack_la-htsbauth.lo: htsbauth.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsbauth.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsbauth.Tpo -c -o libhttrack_la-htsbauth.lo `test -f 'htsbauth.c' || echo '$(srcdir)/'`htsbauth.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsbauth.Tpo $(DEPDIR)/libhttrack_la-htsbauth.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsbauth.c' object='libhttrack_la-htsbauth.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsbauth.lo `test -f 'htsbauth.c' || echo '$(srcdir)/'`htsbauth.c
libhttrack_la-htsmd5.lo: htsmd5.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsmd5.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsmd5.Tpo -c -o libhttrack_la-htsmd5.lo `test -f 'htsmd5.c' || echo '$(srcdir)/'`htsmd5.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsmd5.Tpo $(DEPDIR)/libhttrack_la-htsmd5.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsmd5.c' object='libhttrack_la-htsmd5.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsmd5.lo `test -f 'htsmd5.c' || echo '$(srcdir)/'`htsmd5.c
libhttrack_la-htszlib.lo: htszlib.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htszlib.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htszlib.Tpo -c -o libhttrack_la-htszlib.lo `test -f 'htszlib.c' || echo '$(srcdir)/'`htszlib.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htszlib.Tpo $(DEPDIR)/libhttrack_la-htszlib.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htszlib.c' object='libhttrack_la-htszlib.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htszlib.lo `test -f 'htszlib.c' || echo '$(srcdir)/'`htszlib.c
libhttrack_la-htswrap.lo: htswrap.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htswrap.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htswrap.Tpo -c -o libhttrack_la-htswrap.lo `test -f 'htswrap.c' || echo '$(srcdir)/'`htswrap.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htswrap.Tpo $(DEPDIR)/libhttrack_la-htswrap.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htswrap.c' object='libhttrack_la-htswrap.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htswrap.lo `test -f 'htswrap.c' || echo '$(srcdir)/'`htswrap.c
libhttrack_la-htsconcat.lo: htsconcat.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsconcat.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsconcat.Tpo -c -o libhttrack_la-htsconcat.lo `test -f 'htsconcat.c' || echo '$(srcdir)/'`htsconcat.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsconcat.Tpo $(DEPDIR)/libhttrack_la-htsconcat.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsconcat.c' object='libhttrack_la-htsconcat.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsconcat.lo `test -f 'htsconcat.c' || echo '$(srcdir)/'`htsconcat.c
libhttrack_la-htsmodules.lo: htsmodules.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsmodules.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsmodules.Tpo -c -o libhttrack_la-htsmodules.lo `test -f 'htsmodules.c' || echo '$(srcdir)/'`htsmodules.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsmodules.Tpo $(DEPDIR)/libhttrack_la-htsmodules.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsmodules.c' object='libhttrack_la-htsmodules.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsmodules.lo `test -f 'htsmodules.c' || echo '$(srcdir)/'`htsmodules.c
libhttrack_la-htscharset.lo: htscharset.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htscharset.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htscharset.Tpo -c -o libhttrack_la-htscharset.lo `test -f 'htscharset.c' || echo '$(srcdir)/'`htscharset.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htscharset.Tpo $(DEPDIR)/libhttrack_la-htscharset.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htscharset.c' object='libhttrack_la-htscharset.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htscharset.lo `test -f 'htscharset.c' || echo '$(srcdir)/'`htscharset.c
libhttrack_la-punycode.lo: punycode.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-punycode.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-punycode.Tpo -c -o libhttrack_la-punycode.lo `test -f 'punycode.c' || echo '$(srcdir)/'`punycode.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-punycode.Tpo $(DEPDIR)/libhttrack_la-punycode.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='punycode.c' object='libhttrack_la-punycode.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-punycode.lo `test -f 'punycode.c' || echo '$(srcdir)/'`punycode.c
libhttrack_la-htsencoding.lo: htsencoding.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-htsencoding.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-htsencoding.Tpo -c -o libhttrack_la-htsencoding.lo `test -f 'htsencoding.c' || echo '$(srcdir)/'`htsencoding.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-htsencoding.Tpo $(DEPDIR)/libhttrack_la-htsencoding.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsencoding.c' object='libhttrack_la-htsencoding.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-htsencoding.lo `test -f 'htsencoding.c' || echo '$(srcdir)/'`htsencoding.c
libhttrack_la-md5.lo: md5.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT libhttrack_la-md5.lo -MD -MP -MF $(DEPDIR)/libhttrack_la-md5.Tpo -c -o libhttrack_la-md5.lo `test -f 'md5.c' || echo '$(srcdir)/'`md5.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libhttrack_la-md5.Tpo $(DEPDIR)/libhttrack_la-md5.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='md5.c' object='libhttrack_la-md5.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o libhttrack_la-md5.lo `test -f 'md5.c' || echo '$(srcdir)/'`md5.c
minizip/libhttrack_la-ioapi.lo: minizip/ioapi.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT minizip/libhttrack_la-ioapi.lo -MD -MP -MF minizip/$(DEPDIR)/libhttrack_la-ioapi.Tpo -c -o minizip/libhttrack_la-ioapi.lo `test -f 'minizip/ioapi.c' || echo '$(srcdir)/'`minizip/ioapi.c
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/libhttrack_la-ioapi.Tpo minizip/$(DEPDIR)/libhttrack_la-ioapi.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/ioapi.c' object='minizip/libhttrack_la-ioapi.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o minizip/libhttrack_la-ioapi.lo `test -f 'minizip/ioapi.c' || echo '$(srcdir)/'`minizip/ioapi.c
minizip/libhttrack_la-mztools.lo: minizip/mztools.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT minizip/libhttrack_la-mztools.lo -MD -MP -MF minizip/$(DEPDIR)/libhttrack_la-mztools.Tpo -c -o minizip/libhttrack_la-mztools.lo `test -f 'minizip/mztools.c' || echo '$(srcdir)/'`minizip/mztools.c
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/libhttrack_la-mztools.Tpo minizip/$(DEPDIR)/libhttrack_la-mztools.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/mztools.c' object='minizip/libhttrack_la-mztools.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o minizip/libhttrack_la-mztools.lo `test -f 'minizip/mztools.c' || echo '$(srcdir)/'`minizip/mztools.c
minizip/libhttrack_la-unzip.lo: minizip/unzip.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT minizip/libhttrack_la-unzip.lo -MD -MP -MF minizip/$(DEPDIR)/libhttrack_la-unzip.Tpo -c -o minizip/libhttrack_la-unzip.lo `test -f 'minizip/unzip.c' || echo '$(srcdir)/'`minizip/unzip.c
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/libhttrack_la-unzip.Tpo minizip/$(DEPDIR)/libhttrack_la-unzip.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/unzip.c' object='minizip/libhttrack_la-unzip.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o minizip/libhttrack_la-unzip.lo `test -f 'minizip/unzip.c' || echo '$(srcdir)/'`minizip/unzip.c
minizip/libhttrack_la-zip.lo: minizip/zip.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -MT minizip/libhttrack_la-zip.lo -MD -MP -MF minizip/$(DEPDIR)/libhttrack_la-zip.Tpo -c -o minizip/libhttrack_la-zip.lo `test -f 'minizip/zip.c' || echo '$(srcdir)/'`minizip/zip.c
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/libhttrack_la-zip.Tpo minizip/$(DEPDIR)/libhttrack_la-zip.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/zip.c' object='minizip/libhttrack_la-zip.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhttrack_la_CFLAGS) $(CFLAGS) -c -o minizip/libhttrack_la-zip.lo `test -f 'minizip/zip.c' || echo '$(srcdir)/'`minizip/zip.c
htsserver-htsserver.o: htsserver.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(htsserver_CFLAGS) $(CFLAGS) -MT htsserver-htsserver.o -MD -MP -MF $(DEPDIR)/htsserver-htsserver.Tpo -c -o htsserver-htsserver.o `test -f 'htsserver.c' || echo '$(srcdir)/'`htsserver.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/htsserver-htsserver.Tpo $(DEPDIR)/htsserver-htsserver.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsserver.c' object='htsserver-htsserver.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(htsserver_CFLAGS) $(CFLAGS) -c -o htsserver-htsserver.o `test -f 'htsserver.c' || echo '$(srcdir)/'`htsserver.c
htsserver-htsserver.obj: htsserver.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(htsserver_CFLAGS) $(CFLAGS) -MT htsserver-htsserver.obj -MD -MP -MF $(DEPDIR)/htsserver-htsserver.Tpo -c -o htsserver-htsserver.obj `if test -f 'htsserver.c'; then $(CYGPATH_W) 'htsserver.c'; else $(CYGPATH_W) '$(srcdir)/htsserver.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/htsserver-htsserver.Tpo $(DEPDIR)/htsserver-htsserver.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsserver.c' object='htsserver-htsserver.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(htsserver_CFLAGS) $(CFLAGS) -c -o htsserver-htsserver.obj `if test -f 'htsserver.c'; then $(CYGPATH_W) 'htsserver.c'; else $(CYGPATH_W) '$(srcdir)/htsserver.c'; fi`
htsserver-htsweb.o: htsweb.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(htsserver_CFLAGS) $(CFLAGS) -MT htsserver-htsweb.o -MD -MP -MF $(DEPDIR)/htsserver-htsweb.Tpo -c -o htsserver-htsweb.o `test -f 'htsweb.c' || echo '$(srcdir)/'`htsweb.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/htsserver-htsweb.Tpo $(DEPDIR)/htsserver-htsweb.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsweb.c' object='htsserver-htsweb.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(htsserver_CFLAGS) $(CFLAGS) -c -o htsserver-htsweb.o `test -f 'htsweb.c' || echo '$(srcdir)/'`htsweb.c
htsserver-htsweb.obj: htsweb.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(htsserver_CFLAGS) $(CFLAGS) -MT htsserver-htsweb.obj -MD -MP -MF $(DEPDIR)/htsserver-htsweb.Tpo -c -o htsserver-htsweb.obj `if test -f 'htsweb.c'; then $(CYGPATH_W) 'htsweb.c'; else $(CYGPATH_W) '$(srcdir)/htsweb.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/htsserver-htsweb.Tpo $(DEPDIR)/htsserver-htsweb.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='htsweb.c' object='htsserver-htsweb.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(htsserver_CFLAGS) $(CFLAGS) -c -o htsserver-htsweb.obj `if test -f 'htsweb.c'; then $(CYGPATH_W) 'htsweb.c'; else $(CYGPATH_W) '$(srcdir)/htsweb.c'; fi`
proxy/proxytrack-main.o: proxy/main.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxy/proxytrack-main.o -MD -MP -MF proxy/$(DEPDIR)/proxytrack-main.Tpo -c -o proxy/proxytrack-main.o `test -f 'proxy/main.c' || echo '$(srcdir)/'`proxy/main.c
@am__fastdepCC_TRUE@ $(am__mv) proxy/$(DEPDIR)/proxytrack-main.Tpo proxy/$(DEPDIR)/proxytrack-main.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/main.c' object='proxy/proxytrack-main.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxy/proxytrack-main.o `test -f 'proxy/main.c' || echo '$(srcdir)/'`proxy/main.c
proxy/proxytrack-main.obj: proxy/main.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxy/proxytrack-main.obj -MD -MP -MF proxy/$(DEPDIR)/proxytrack-main.Tpo -c -o proxy/proxytrack-main.obj `if test -f 'proxy/main.c'; then $(CYGPATH_W) 'proxy/main.c'; else $(CYGPATH_W) '$(srcdir)/proxy/main.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) proxy/$(DEPDIR)/proxytrack-main.Tpo proxy/$(DEPDIR)/proxytrack-main.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/main.c' object='proxy/proxytrack-main.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxy/proxytrack-main.obj `if test -f 'proxy/main.c'; then $(CYGPATH_W) 'proxy/main.c'; else $(CYGPATH_W) '$(srcdir)/proxy/main.c'; fi`
proxy/proxytrack-proxytrack.o: proxy/proxytrack.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxy/proxytrack-proxytrack.o -MD -MP -MF proxy/$(DEPDIR)/proxytrack-proxytrack.Tpo -c -o proxy/proxytrack-proxytrack.o `test -f 'proxy/proxytrack.c' || echo '$(srcdir)/'`proxy/proxytrack.c
@am__fastdepCC_TRUE@ $(am__mv) proxy/$(DEPDIR)/proxytrack-proxytrack.Tpo proxy/$(DEPDIR)/proxytrack-proxytrack.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/proxytrack.c' object='proxy/proxytrack-proxytrack.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxy/proxytrack-proxytrack.o `test -f 'proxy/proxytrack.c' || echo '$(srcdir)/'`proxy/proxytrack.c
proxy/proxytrack-proxytrack.obj: proxy/proxytrack.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxy/proxytrack-proxytrack.obj -MD -MP -MF proxy/$(DEPDIR)/proxytrack-proxytrack.Tpo -c -o proxy/proxytrack-proxytrack.obj `if test -f 'proxy/proxytrack.c'; then $(CYGPATH_W) 'proxy/proxytrack.c'; else $(CYGPATH_W) '$(srcdir)/proxy/proxytrack.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) proxy/$(DEPDIR)/proxytrack-proxytrack.Tpo proxy/$(DEPDIR)/proxytrack-proxytrack.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/proxytrack.c' object='proxy/proxytrack-proxytrack.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxy/proxytrack-proxytrack.obj `if test -f 'proxy/proxytrack.c'; then $(CYGPATH_W) 'proxy/proxytrack.c'; else $(CYGPATH_W) '$(srcdir)/proxy/proxytrack.c'; fi`
proxy/proxytrack-store.o: proxy/store.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxy/proxytrack-store.o -MD -MP -MF proxy/$(DEPDIR)/proxytrack-store.Tpo -c -o proxy/proxytrack-store.o `test -f 'proxy/store.c' || echo '$(srcdir)/'`proxy/store.c
@am__fastdepCC_TRUE@ $(am__mv) proxy/$(DEPDIR)/proxytrack-store.Tpo proxy/$(DEPDIR)/proxytrack-store.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/store.c' object='proxy/proxytrack-store.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxy/proxytrack-store.o `test -f 'proxy/store.c' || echo '$(srcdir)/'`proxy/store.c
proxy/proxytrack-store.obj: proxy/store.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxy/proxytrack-store.obj -MD -MP -MF proxy/$(DEPDIR)/proxytrack-store.Tpo -c -o proxy/proxytrack-store.obj `if test -f 'proxy/store.c'; then $(CYGPATH_W) 'proxy/store.c'; else $(CYGPATH_W) '$(srcdir)/proxy/store.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) proxy/$(DEPDIR)/proxytrack-store.Tpo proxy/$(DEPDIR)/proxytrack-store.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='proxy/store.c' object='proxy/proxytrack-store.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxy/proxytrack-store.obj `if test -f 'proxy/store.c'; then $(CYGPATH_W) 'proxy/store.c'; else $(CYGPATH_W) '$(srcdir)/proxy/store.c'; fi`
proxytrack-coucal.o: coucal.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-coucal.o -MD -MP -MF $(DEPDIR)/proxytrack-coucal.Tpo -c -o proxytrack-coucal.o `test -f 'coucal.c' || echo '$(srcdir)/'`coucal.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-coucal.Tpo $(DEPDIR)/proxytrack-coucal.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='coucal.c' object='proxytrack-coucal.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-coucal.o `test -f 'coucal.c' || echo '$(srcdir)/'`coucal.c
proxytrack-coucal.obj: coucal.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-coucal.obj -MD -MP -MF $(DEPDIR)/proxytrack-coucal.Tpo -c -o proxytrack-coucal.obj `if test -f 'coucal.c'; then $(CYGPATH_W) 'coucal.c'; else $(CYGPATH_W) '$(srcdir)/coucal.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-coucal.Tpo $(DEPDIR)/proxytrack-coucal.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='coucal.c' object='proxytrack-coucal.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-coucal.obj `if test -f 'coucal.c'; then $(CYGPATH_W) 'coucal.c'; else $(CYGPATH_W) '$(srcdir)/coucal.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-htsinthash.obj `if test -f 'htsinthash.c'; then $(CYGPATH_W) 'htsinthash.c'; else $(CYGPATH_W) '$(srcdir)/htsinthash.c'; fi`
proxytrack-htsmd5.o: htsmd5.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-htsmd5.o -MD -MP -MF $(DEPDIR)/proxytrack-htsmd5.Tpo -c -o proxytrack-htsmd5.o `test -f 'htsmd5.c' || echo '$(srcdir)/'`htsmd5.c
@@ -1043,68 +752,67 @@ proxytrack-md5.obj: md5.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`
minizip/proxytrack-ioapi.o: minizip/ioapi.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT minizip/proxytrack-ioapi.o -MD -MP -MF minizip/$(DEPDIR)/proxytrack-ioapi.Tpo -c -o minizip/proxytrack-ioapi.o `test -f 'minizip/ioapi.c' || echo '$(srcdir)/'`minizip/ioapi.c
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/proxytrack-ioapi.Tpo minizip/$(DEPDIR)/proxytrack-ioapi.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/ioapi.c' object='minizip/proxytrack-ioapi.o' libtool=no @AMDEPBACKSLASH@
proxytrack-ioapi.o: minizip/ioapi.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-ioapi.o -MD -MP -MF $(DEPDIR)/proxytrack-ioapi.Tpo -c -o proxytrack-ioapi.o `test -f 'minizip/ioapi.c' || echo '$(srcdir)/'`minizip/ioapi.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-ioapi.Tpo $(DEPDIR)/proxytrack-ioapi.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/ioapi.c' object='proxytrack-ioapi.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o minizip/proxytrack-ioapi.o `test -f 'minizip/ioapi.c' || echo '$(srcdir)/'`minizip/ioapi.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-ioapi.o `test -f 'minizip/ioapi.c' || echo '$(srcdir)/'`minizip/ioapi.c
minizip/proxytrack-ioapi.obj: minizip/ioapi.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT minizip/proxytrack-ioapi.obj -MD -MP -MF minizip/$(DEPDIR)/proxytrack-ioapi.Tpo -c -o minizip/proxytrack-ioapi.obj `if test -f 'minizip/ioapi.c'; then $(CYGPATH_W) 'minizip/ioapi.c'; else $(CYGPATH_W) '$(srcdir)/minizip/ioapi.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/proxytrack-ioapi.Tpo minizip/$(DEPDIR)/proxytrack-ioapi.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/ioapi.c' object='minizip/proxytrack-ioapi.obj' libtool=no @AMDEPBACKSLASH@
proxytrack-ioapi.obj: minizip/ioapi.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-ioapi.obj -MD -MP -MF $(DEPDIR)/proxytrack-ioapi.Tpo -c -o proxytrack-ioapi.obj `if test -f 'minizip/ioapi.c'; then $(CYGPATH_W) 'minizip/ioapi.c'; else $(CYGPATH_W) '$(srcdir)/minizip/ioapi.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-ioapi.Tpo $(DEPDIR)/proxytrack-ioapi.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/ioapi.c' object='proxytrack-ioapi.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o minizip/proxytrack-ioapi.obj `if test -f 'minizip/ioapi.c'; then $(CYGPATH_W) 'minizip/ioapi.c'; else $(CYGPATH_W) '$(srcdir)/minizip/ioapi.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-ioapi.obj `if test -f 'minizip/ioapi.c'; then $(CYGPATH_W) 'minizip/ioapi.c'; else $(CYGPATH_W) '$(srcdir)/minizip/ioapi.c'; fi`
minizip/proxytrack-mztools.o: minizip/mztools.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT minizip/proxytrack-mztools.o -MD -MP -MF minizip/$(DEPDIR)/proxytrack-mztools.Tpo -c -o minizip/proxytrack-mztools.o `test -f 'minizip/mztools.c' || echo '$(srcdir)/'`minizip/mztools.c
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/proxytrack-mztools.Tpo minizip/$(DEPDIR)/proxytrack-mztools.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/mztools.c' object='minizip/proxytrack-mztools.o' libtool=no @AMDEPBACKSLASH@
proxytrack-mztools.o: minizip/mztools.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-mztools.o -MD -MP -MF $(DEPDIR)/proxytrack-mztools.Tpo -c -o proxytrack-mztools.o `test -f 'minizip/mztools.c' || echo '$(srcdir)/'`minizip/mztools.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-mztools.Tpo $(DEPDIR)/proxytrack-mztools.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/mztools.c' object='proxytrack-mztools.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o minizip/proxytrack-mztools.o `test -f 'minizip/mztools.c' || echo '$(srcdir)/'`minizip/mztools.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-mztools.o `test -f 'minizip/mztools.c' || echo '$(srcdir)/'`minizip/mztools.c
minizip/proxytrack-mztools.obj: minizip/mztools.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT minizip/proxytrack-mztools.obj -MD -MP -MF minizip/$(DEPDIR)/proxytrack-mztools.Tpo -c -o minizip/proxytrack-mztools.obj `if test -f 'minizip/mztools.c'; then $(CYGPATH_W) 'minizip/mztools.c'; else $(CYGPATH_W) '$(srcdir)/minizip/mztools.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/proxytrack-mztools.Tpo minizip/$(DEPDIR)/proxytrack-mztools.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/mztools.c' object='minizip/proxytrack-mztools.obj' libtool=no @AMDEPBACKSLASH@
proxytrack-mztools.obj: minizip/mztools.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-mztools.obj -MD -MP -MF $(DEPDIR)/proxytrack-mztools.Tpo -c -o proxytrack-mztools.obj `if test -f 'minizip/mztools.c'; then $(CYGPATH_W) 'minizip/mztools.c'; else $(CYGPATH_W) '$(srcdir)/minizip/mztools.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-mztools.Tpo $(DEPDIR)/proxytrack-mztools.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/mztools.c' object='proxytrack-mztools.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o minizip/proxytrack-mztools.obj `if test -f 'minizip/mztools.c'; then $(CYGPATH_W) 'minizip/mztools.c'; else $(CYGPATH_W) '$(srcdir)/minizip/mztools.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-mztools.obj `if test -f 'minizip/mztools.c'; then $(CYGPATH_W) 'minizip/mztools.c'; else $(CYGPATH_W) '$(srcdir)/minizip/mztools.c'; fi`
minizip/proxytrack-unzip.o: minizip/unzip.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT minizip/proxytrack-unzip.o -MD -MP -MF minizip/$(DEPDIR)/proxytrack-unzip.Tpo -c -o minizip/proxytrack-unzip.o `test -f 'minizip/unzip.c' || echo '$(srcdir)/'`minizip/unzip.c
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/proxytrack-unzip.Tpo minizip/$(DEPDIR)/proxytrack-unzip.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/unzip.c' object='minizip/proxytrack-unzip.o' libtool=no @AMDEPBACKSLASH@
proxytrack-unzip.o: minizip/unzip.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-unzip.o -MD -MP -MF $(DEPDIR)/proxytrack-unzip.Tpo -c -o proxytrack-unzip.o `test -f 'minizip/unzip.c' || echo '$(srcdir)/'`minizip/unzip.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-unzip.Tpo $(DEPDIR)/proxytrack-unzip.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/unzip.c' object='proxytrack-unzip.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o minizip/proxytrack-unzip.o `test -f 'minizip/unzip.c' || echo '$(srcdir)/'`minizip/unzip.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-unzip.o `test -f 'minizip/unzip.c' || echo '$(srcdir)/'`minizip/unzip.c
minizip/proxytrack-unzip.obj: minizip/unzip.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT minizip/proxytrack-unzip.obj -MD -MP -MF minizip/$(DEPDIR)/proxytrack-unzip.Tpo -c -o minizip/proxytrack-unzip.obj `if test -f 'minizip/unzip.c'; then $(CYGPATH_W) 'minizip/unzip.c'; else $(CYGPATH_W) '$(srcdir)/minizip/unzip.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/proxytrack-unzip.Tpo minizip/$(DEPDIR)/proxytrack-unzip.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/unzip.c' object='minizip/proxytrack-unzip.obj' libtool=no @AMDEPBACKSLASH@
proxytrack-unzip.obj: minizip/unzip.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-unzip.obj -MD -MP -MF $(DEPDIR)/proxytrack-unzip.Tpo -c -o proxytrack-unzip.obj `if test -f 'minizip/unzip.c'; then $(CYGPATH_W) 'minizip/unzip.c'; else $(CYGPATH_W) '$(srcdir)/minizip/unzip.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-unzip.Tpo $(DEPDIR)/proxytrack-unzip.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/unzip.c' object='proxytrack-unzip.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o minizip/proxytrack-unzip.obj `if test -f 'minizip/unzip.c'; then $(CYGPATH_W) 'minizip/unzip.c'; else $(CYGPATH_W) '$(srcdir)/minizip/unzip.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-unzip.obj `if test -f 'minizip/unzip.c'; then $(CYGPATH_W) 'minizip/unzip.c'; else $(CYGPATH_W) '$(srcdir)/minizip/unzip.c'; fi`
minizip/proxytrack-zip.o: minizip/zip.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT minizip/proxytrack-zip.o -MD -MP -MF minizip/$(DEPDIR)/proxytrack-zip.Tpo -c -o minizip/proxytrack-zip.o `test -f 'minizip/zip.c' || echo '$(srcdir)/'`minizip/zip.c
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/proxytrack-zip.Tpo minizip/$(DEPDIR)/proxytrack-zip.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/zip.c' object='minizip/proxytrack-zip.o' libtool=no @AMDEPBACKSLASH@
proxytrack-zip.o: minizip/zip.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-zip.o -MD -MP -MF $(DEPDIR)/proxytrack-zip.Tpo -c -o proxytrack-zip.o `test -f 'minizip/zip.c' || echo '$(srcdir)/'`minizip/zip.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-zip.Tpo $(DEPDIR)/proxytrack-zip.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/zip.c' object='proxytrack-zip.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o minizip/proxytrack-zip.o `test -f 'minizip/zip.c' || echo '$(srcdir)/'`minizip/zip.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-zip.o `test -f 'minizip/zip.c' || echo '$(srcdir)/'`minizip/zip.c
minizip/proxytrack-zip.obj: minizip/zip.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT minizip/proxytrack-zip.obj -MD -MP -MF minizip/$(DEPDIR)/proxytrack-zip.Tpo -c -o minizip/proxytrack-zip.obj `if test -f 'minizip/zip.c'; then $(CYGPATH_W) 'minizip/zip.c'; else $(CYGPATH_W) '$(srcdir)/minizip/zip.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) minizip/$(DEPDIR)/proxytrack-zip.Tpo minizip/$(DEPDIR)/proxytrack-zip.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/zip.c' object='minizip/proxytrack-zip.obj' libtool=no @AMDEPBACKSLASH@
proxytrack-zip.obj: minizip/zip.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -MT proxytrack-zip.obj -MD -MP -MF $(DEPDIR)/proxytrack-zip.Tpo -c -o proxytrack-zip.obj `if test -f 'minizip/zip.c'; then $(CYGPATH_W) 'minizip/zip.c'; else $(CYGPATH_W) '$(srcdir)/minizip/zip.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/proxytrack-zip.Tpo $(DEPDIR)/proxytrack-zip.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='minizip/zip.c' object='proxytrack-zip.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o minizip/proxytrack-zip.obj `if test -f 'minizip/zip.c'; then $(CYGPATH_W) 'minizip/zip.c'; else $(CYGPATH_W) '$(srcdir)/minizip/zip.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(proxytrack_CFLAGS) $(CFLAGS) -c -o proxytrack-zip.obj `if test -f 'minizip/zip.c'; then $(CYGPATH_W) 'minizip/zip.c'; else $(CYGPATH_W) '$(srcdir)/minizip/zip.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-rm -rf minizip/.libs minizip/_libs
install-DevIncludesDATA: $(DevIncludes_DATA)
@$(NORMAL_INSTALL)
@list='$(DevIncludes_DATA)'; test -n "$(DevIncludesdir)" || list=; \
@@ -1244,10 +952,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f minizip/$(DEPDIR)/$(am__dirstamp)
-rm -f minizip/$(am__dirstamp)
-rm -f proxy/$(DEPDIR)/$(am__dirstamp)
-rm -f proxy/$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -1258,7 +962,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
clean-libtool mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR) minizip/$(DEPDIR) proxy/$(DEPDIR)
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -1304,7 +1008,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR) minizip/$(DEPDIR) proxy/$(DEPDIR)
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

File diff suppressed because it is too large Load Diff

View File

@@ -1,529 +0,0 @@
/* ------------------------------------------------------------ */
/*
Coucal, Cuckoo hashing-based hashtable with stash area.
Copyright (C) 2013-2014 Xavier Roche (http://www.httrack.com/)
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* Coucal, a Cuckoo-hashing-based hashtable with stash area C library.
*
* This hashtable library provides key/value hashtable, with by default a
* string key, and integer/pointer value (with an associated optional
* allocator). Both key and value can be of any type, using custom settings.
* By default, the string key is dup'ed using a string pool, and the opaque
* value is stored as-is (either the pointer, or an uintptr_t integer value).
* It features O(1) average insertion, and guaranteed O(1) lookup, replace,
* and delete operations.
*
* Implementation notes:
* Implementation is auto-rehashable, and uses cuckoo hashing of size 2**n
* with a Murmur or MD5 hash function, with one additional auxiliary hash
* function.
* It also uses a small stash area to handle rare cases of collisions.
* Enumeration of all key/values is possible, deletion is also possible, but
* currently without any auto-shrinking (ie. table will never shrink).
* Overall, two main blocks are allocated: one for the items, and one for
* the keys (pool).
* If the string pool is being used (to store dup'ed keys), deleting is only
* O(1) average, because the pool needs to be compacted time to time.
* Currently the default maximum number of elements in the hashtable is
* 2**31 - 1 (that is, 2,147,483,648 elements), but this default can be changed
* by setting COUCAL_HASH_SIZE to a higher value (64 is the only higher value
* currently supported), and rebuilding the library.
*
* References:
*
* Cuckoo Hashing, by Rasmus Pagh and Flemming Friche Rodler
* http://www.it-c.dk/people/pagh/papers/cuckoo-jour.pdf
*
* Cuckoo Stash, by Adam Kirsch, Michael Mitzenmacher and Udi Wieder
* http://research.microsoft.com/pubs/73856/stash-full.9-30.pdf
*
* MurmurHash3, by Austin Appleby
* http://en.wikipedia.org/wiki/MurmurHash
*
* MD5 http://en.wikipedia.org/wiki/MD5
* FNV http://www.isthe.com/chongo/tech/comp/fnv/
**/
#ifndef COUCAL_DEFH
#define COUCAL_DEFH
/* Includes */
#ifdef _WIN32
#include <stddef.h>
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
#elif (defined(SOLARIS) || defined(sun) || defined(HAVE_INTTYPES_H) \
|| defined(BSD) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD_kernel__))
#include <inttypes.h>
#else
#include <stdint.h>
#endif
#include <stdarg.h>
/* External definitions */
#ifndef COUCAL_EXTERN
#ifdef _WIN32
#ifdef COUCAL_BUILDING
#define COUCAL_EXTERN __declspec(dllimport)
#else
#define COUCAL_EXTERN __declspec(dllexport)
#endif
#elif ( ( defined(__GNUC__) && ( __GNUC__ >= 4 ) ) \
|| ( defined(HAVE_VISIBILITY) && HAVE_VISIBILITY ) )
#define COUCAL_EXTERN extern __attribute__ ((visibility("default")))
#else
#define COUCAL_EXTERN extern
#endif
#endif
/** Key opaque type. May be a regular 'const char*'. **/
typedef void* coucal_key;
/** Key constant (can not be modified) opaque type. **/
typedef const void* coucal_key_const;
/** Opaque user-defined pointer. **/
typedef void* coucal_opaque;
/** Value (union of any value). **/
typedef union coucal_value {
/** Integer value. **/
intptr_t intg;
/** Unsigned integer value. **/
uintptr_t uintg;
/** Pointer value. **/
void *ptr;
} coucal_value;
/** Value constant. **/
typedef const coucal_value coucal_value_const;
/** NULL Value. **/
#define INTHASH_VALUE_NULL { 0 }
#ifndef HTS_DEF_FWSTRUCT_coucal_item
#define HTS_DEF_FWSTRUCT_coucal_item
typedef struct coucal_item coucal_item;
#endif
/** Coucal primary hash size. Default is 32-bit. **/
#ifndef COUCAL_HASH_SIZE
#define COUCAL_HASH_SIZE 32
#endif
/** Hash integer type. **/
#if (COUCAL_HASH_SIZE == 32)
/** 32-bit hash key. **/
typedef uint32_t coucal_hashkey;
#elif (COUCAL_HASH_SIZE == 64)
/** 64-bit hash key. **/
typedef uint64_t coucal_hashkey;
#else
#error "Unsupported COUCAL_HASH_SIZE"
#endif
/** Pair of hashes **/
typedef struct coucal_hashkeys {
coucal_hashkey hash1;
coucal_hashkey hash2;
} coucal_hashkeys;
/** NULL pair of hashes. **/
#define INTHASH_KEYS_NULL { 0, 0 }
/** Item holding a value. **/
struct coucal_item {
/** Key. **/
coucal_key name;
/** Value. **/
coucal_value value;
/** Hashes of the key. **/
coucal_hashkeys hashes;
};
/** Log level. **/
typedef enum coucal_loglevel {
coucal_log_critical,
coucal_log_warning,
coucal_log_info,
coucal_log_debug,
coucal_log_trace
} coucal_loglevel;
/** free handler. Only used when values are markes as xxc **/
typedef void (*t_coucal_key_freehandler)(coucal_opaque arg,
coucal_key key);
/** Value free handler. Only used when values are markes as xxc **/
typedef void (*t_coucal_value_freehandler)(coucal_opaque arg,
coucal_value value);
/** Key dup handler. **/
typedef coucal_key (*t_coucal_duphandler)(coucal_opaque arg,
coucal_key_const name);
/** Key hash computation handler. **/
typedef coucal_hashkeys (*t_coucal_hasheshandler)(coucal_opaque arg,
coucal_key_const name);
/** Hashtable logging handler. **/
typedef void (*t_coucal_loghandler)(coucal_opaque arg, coucal_loglevel level,
const char* format, va_list args);
/** Hashtable fatal assertion failure. **/
typedef void (*t_coucal_asserthandler)(coucal_opaque arg, const char* exp,
const char* file, int line);
/** Key printer (debug) **/
typedef const char* (*t_coucal_printkeyhandler)(coucal_opaque arg,
coucal_key_const name);
/** Value printer (debug) **/
typedef const char* (*t_coucal_printvaluehandler)(coucal_opaque arg,
coucal_value_const value);
/**
* Value comparison handler (returns non-zero value if strings are equal).
**/
typedef int (*t_coucal_cmphandler)(coucal_opaque arg,
coucal_key_const a,
coucal_key_const b);
/** Hashtable (opaque structure). **/
#ifndef HTS_DEF_FWSTRUCT_struct_coucal
#define HTS_DEF_FWSTRUCT_struct_coucal
typedef struct struct_coucal struct_coucal, *coucal;
#endif
/** Hashtable enumeration (opaque structure). **/
#ifndef HTS_DEF_FWSTRUCT_struct_coucal_enum
#define HTS_DEF_FWSTRUCT_struct_coucal_enum
typedef struct struct_coucal_enum struct_coucal_enum;
#endif
/** Enumeration. **/
struct struct_coucal_enum {
coucal table;
size_t index;
};
#ifdef __cplusplus
extern "C" {
#endif
/**
* Create a new hashtable, with initial bucket size of 'size'.
* If size is 0, use the default minimal bucket size.
* Return a non-NULL pointer upon success.
*
* By default, keys are supposed to be '\0'-terminated strings, which are
* duplicated by the library (the passed pointer does not need to be
* persistent), and values are opaque pointers (or integers) which are copied
* "as is", without further processing. Use coucal_value_set_key_handler()
* and coucal_value_set_value_handler() to alter this default behavior.
**/
COUCAL_EXTERN coucal coucal_new(size_t size);
/**
* Was the hashtable successfully created ?
* Return non-zero value if the hashtable is valid.
**/
COUCAL_EXTERN int coucal_created(coucal hashtable);
/**
* Delete a hashtable, freeing all entries.
**/
COUCAL_EXTERN void coucal_delete(coucal * hashtable);
/**
* Return the number of items in the hashtable.
**/
COUCAL_EXTERN size_t coucal_nitems(coucal hashtable);
/**
* Return the memory size taken by the hashtable.
* (This does not take account of the possible memory taken by values)
**/
COUCAL_EXTERN size_t coucal_memory_size(coucal hashtable);
/**
* Return the library hash size compiled.
* The returned value MUST match COUCAL_HASH_SIZE.
**/
COUCAL_EXTERN size_t coucal_hash_size(void);
/**
* If 'flag' is non-zero, calls coucal_value_set_value_handler() with
* default system free() handler function, otherwise, free the value handlers.
**/
COUCAL_EXTERN void coucal_value_is_malloc(coucal hashtable, int flag);
/**
* Set handlers for values.
* free: this handler will be called when a value is to be removed from
* the hashtable. if NULL, values won't be free'd.
* arg: opaque custom argument to be used by functions.
* Handler(s) MUST NOT be changed once elements have been added.
**/
COUCAL_EXTERN void coucal_value_set_value_handler(coucal hashtable,
t_coucal_value_freehandler free,
coucal_opaque arg);
/**
* Set handlers for keys.
* dup: handler called to duplicate a key. if NULL, the internal pool is used.
* free: handler called to free a key. if NULL, the internal pool is used.
* hash: hashing handler, called to hash a key. if NULL, the default hash
* function is used.
* equals: comparison handler, returning non-zero value when two keys are
* identical. if NULL, the default comparison function is used.
* arg: opaque custom argument to be used by functions.
* Handler(s) MUST NOT be changed once elements have been added.
**/
COUCAL_EXTERN void coucal_value_set_key_handler(coucal hashtable,
t_coucal_duphandler dup,
t_coucal_key_freehandler free,
t_coucal_hasheshandler hash,
t_coucal_cmphandler equals,
coucal_opaque arg);
/**
* Set assertion failure handler.
* log: handler called upon serious programming error
* fatal: handler called upon serious programming error
**/
COUCAL_EXTERN void coucal_set_assert_handler(coucal hashtable,
t_coucal_loghandler log,
t_coucal_asserthandler fatal,
coucal_opaque arg);
/**
* Set pretty print loggers (debug). Both handlers must return a string
* pointer which shall be valid until the next call. Both key and value
* pointers shall be valid at the same time.
* name: handler called to print the string representation of the name
* value: handler called to print the string representation of the value
**/
COUCAL_EXTERN void coucal_set_print_handler(coucal hashtable,
t_coucal_printkeyhandler key,
t_coucal_printvaluehandler value,
coucal_opaque arg);
/**
* Set the hashtable name, for degugging purpose.
* name: the hashtable name (ASCII or UTF-8)
*/
COUCAL_EXTERN void coucal_set_name(coucal hashtable, coucal_key_const name);
/**
* Get the hashtable name, for degugging purpose.
* Return NULL if no name was defined.
**/
COUCAL_EXTERN const char* coucal_get_name(coucal hashtable);
/**
* Read an integer entry from the hashtable.
* Return non-zero value upon success and sets intvalue.
**/
COUCAL_EXTERN int coucal_read(coucal hashtable, coucal_key_const name,
intptr_t * intvalue);
/**
* Same as coucal_read(), but return 0 is the value was zero.
**/
COUCAL_EXTERN int coucal_readptr(coucal hashtable, coucal_key_const name,
intptr_t * intvalue);
/**
* Read an integer entry from the hashtable.
* Return 0 if the entry could not be found.
**/
COUCAL_EXTERN intptr_t coucal_get_intptr(coucal hashtable,
coucal_key_const name);
/**
* Return non-zero value if the given entry exists.
**/
COUCAL_EXTERN int coucal_exists(coucal hashtable, coucal_key_const name);
/**
* Read an entry from the hashtable.
* Return non-zero value upon success and sets value.
**/
COUCAL_EXTERN int coucal_read_value(coucal hashtable, coucal_key_const name,
coucal_value *value);
/**
* Write an entry to the hashtable.
* Return non-zero value if the entry was added, zero if it was replaced.
**/
COUCAL_EXTERN int coucal_write_value(coucal hashtable, coucal_key_const name,
coucal_value_const value);
/**
* Read a pointer entry from the hashtable.
* Return non-zero value upon success and sets value.
**/
COUCAL_EXTERN int coucal_read_pvoid(coucal hashtable, coucal_key_const name,
void **value);
/**
* Read a pointer entry from the hashtable and returns its value.
* Return NULL if the entry could not be found.
**/
COUCAL_EXTERN void* coucal_get_pvoid(coucal hashtable, coucal_key_const name);
/**
* Write a pointer entry to the hashtable.
* Return non-zero value if the entry was added, zero if it was replaced.
**/
COUCAL_EXTERN int coucal_write_pvoid(coucal hashtable, coucal_key_const name,
void *value);
/**
* Alias to coucal_write_pvoid()
**/
COUCAL_EXTERN void coucal_add_pvoid(coucal hashtable, coucal_key_const name,
void *value);
/**
* Write an integer entry to the hashtable.
* Return non-zero value if the entry was added, zero if it was replaced.
**/
COUCAL_EXTERN int coucal_write(coucal hashtable, coucal_key_const name,
intptr_t value);
/**
* Alias to coucal_write()
**/
COUCAL_EXTERN void coucal_add(coucal hashtable, coucal_key_const name,
intptr_t value);
/**
* Increment an entry value in the hashtable
* (or create a new entry with value 1 if it does not yet exist)
* Return non-zero value if the entry was added, zero if it was changed.
**/
COUCAL_EXTERN int coucal_inc(coucal hashtable, coucal_key_const name);
/**
* Decrement an entry value in the hashtable
* (or create a new entry with value -1 if it does not yet exist)
* Return non-zero value if the entry was added, zero if it was changed.
**/
COUCAL_EXTERN int coucal_dec(coucal hashtable, coucal_key_const name);
/**
* Fetch an entry value from the hashtable.
* Returns NULL if the entry could not be found.
* The returned pointer is only valid until next call to this library, and can
* be used for read or write operations.
**/
COUCAL_EXTERN coucal_value* coucal_fetch_value(coucal hashtable,
coucal_key_const name);
/**
* Fetch an entry value from the hashtable, given a name, and its hashes.
* Returns NULL if the entry could not be found.
* The returned pointer is only valid until next call to this library, and can
* be used for read or write operations.
* The hashes MUST have been computed using coucal_calc_hashes(), or by
* copying an existing hash during an enumeration.
* The use of a non-matching hash is safe, but will return NULL.
**/
COUCAL_EXTERN coucal_value* coucal_fetch_value_hashes(coucal hashtable,
coucal_key_const name,
const coucal_hashkeys
*hashes);
/**
* Remove an entry from the hashtable
* Return non-zero value if the entry was removed, zero otherwise.
**/
COUCAL_EXTERN int coucal_remove(coucal hashtable, coucal_key_const name);
/**
* Return a new enumerator.
* Note: deleting entries is safe while enumerating, but adding entries
* lead to undefined enumeration behavior (yet safe).
**/
COUCAL_EXTERN struct_coucal_enum coucal_enum_new(coucal hashtable);
/**
* Enumerate the next entry.
**/
COUCAL_EXTERN coucal_item *coucal_enum_next(struct_coucal_enum * e);
/**
* Compute a hash of a key for the hashtable 'hashtable'.
* The returned hash is suitable for use with coucal_fetch_value_hashes()
* Note: the default implementation uses coucal_hash_string()
**/
COUCAL_EXTERN coucal_hashkeys coucal_calc_hashes(coucal hashtable,
coucal_key_const value);
/**
* Compute a hash, given a string. This is the default function used for
* hashing keys, which are by default strings. This function uses
* coucal_hash_data() as backend.
**/
COUCAL_EXTERN coucal_hashkeys coucal_hash_string(const char *value);
/**
* Compute a hash, given an opaque buffer.
**/
COUCAL_EXTERN coucal_hashkeys coucal_hash_data(const void *data, size_t size);
/**
* Set default global assertion failure handler.
* The handler will be used if no specific handler was defined in the
* hashtable itself.
* log: handler called upon serious error log (opaque argument
* is the hashtable itself)
* fatal: handler called upon serious programming error (opaque argument
* is the hashtable itself)
**/
COUCAL_EXTERN void coucal_set_global_assert_handler(t_coucal_loghandler log,
t_coucal_asserthandler fatal);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -168,7 +168,7 @@ regen:
" <BR>"LF\
" <BR>"LF\
" <H6 ALIGN=\"RIGHT\">"LF\
" <I>Mirror and index made by HTTrack Website Copier [XR&amp;CO'2014]</I>"LF\
" <I>Mirror and index made by HTTrack Website Copier [XR&amp;CO'2013]</I>"LF\
" </H6>"LF\
" %s"LF\
" <!-- Thanks for using HTTrack Website Copier! -->"LF\
@@ -186,7 +186,7 @@ regen:
""LF\
"<table width=\"76%%\" border=\"0\" align=\"center\" valign=\"bottom\" cellspacing=\"0\" cellpadding=\"0\">"LF\
" <tr>"LF\
" <td id=\"footer\"><small>&copy; 2014 Xavier Roche & other contributors - Web Design: Kauler Leto.</small></td>"LF\
" <td id=\"footer\"><small>&copy; 2013 Xavier Roche & other contributors - Web Design: Kauler Leto.</small></td>"LF\
" </tr>"LF\
"</table>"LF\
""LF\
@@ -317,7 +317,7 @@ regen:
" </TABLE>"LF\
" <BR>"LF\
" <H6 ALIGN=\"RIGHT\">"LF\
" <I>Mirror and index made by HTTrack Website Copier [XR&CO'2014]</I>"LF\
" <I>Mirror and index made by HTTrack Website Copier [XR&CO'2013]</I>"LF\
" </H6>"LF\
" %s"LF\
" <!-- Thanks for using HTTrack Website Copier! -->"LF\
@@ -335,7 +335,7 @@ regen:
""LF\
"<table width=\"76%%\" border=\"0\" align=\"center\" valign=\"bottom\" cellspacing=\"0\" cellpadding=\"0\">"LF\
" <tr>"LF\
" <td id=\"footer\"><small>&copy; 2014 Xavier Roche & other contributors - Web Design: Kauler Leto.</small></td>"LF\
" <td id=\"footer\"><small>&copy; 2013 Xavier Roche & other contributors - Web Design: Kauler Leto.</small></td>"LF\
" </tr>"LF\
"</table>"LF\
""LF\
@@ -475,7 +475,7 @@ regen:
""LF\
"<table width=\"76%%\" height=\"100%%\" border=\"0\" align=\"center\" valign=\"bottom\" cellspacing=\"0\" cellpadding=\"0\">"LF\
" <tr>"LF\
" <td id=\"footer\"><small>&copy; 2014 Xavier Roche & other contributors - Web Design: Kauler Leto.</small></td>"LF\
" <td id=\"footer\"><small>&copy; 2013 Xavier Roche & other contributors - Web Design: Kauler Leto.</small></td>"LF\
" </tr>"LF\
"</table>"LF\
""LF\
@@ -612,7 +612,7 @@ regen:
""LF\
"<table width=\"76%%\" height=\"100%%\" border=\"0\" align=\"center\" valign=\"bottom\" cellspacing=\"0\" cellpadding=\"0\">"LF\
" <tr>"LF\
" <td id=\"footer\"><small>&copy; 2014 Xavier Roche & other contributors - Web Design: Kauler Leto.</small></td>"LF\
" <td id=\"footer\"><small>&copy; 2013 Xavier Roche & other contributors - Web Design: Kauler Leto.</small></td>"LF\
" </tr>"LF\
"</table>"LF\
""LF\

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -37,9 +37,20 @@ Please visit our Website: http://www.httrack.com
#include "htsbase.h"
#include "htsalias.h"
#include "htsglobal.h"
#include "htslib.h"
void linput(FILE * fp, char *s, int max);
void hts_lowcase(char *s);
#define _NOT_NULL(a) ( (a!=NULL) ? (a) : "" )
// #define is_realspace(c) (strchr(" \x0d\x0a\x09\x0b\x0c",(c))!=NULL)
#define is_realspace(c) ( \
(c) == ' ' \
|| (c) == '\x09' \
|| (c) == '\x0a' \
|| (c) == '\x0b' \
|| (c) == '\x0c' \
|| (c) == '\x0d' \
)
// COPY OF cmdl_ins in htsmain.c
// Insert a command in the argc/argv
@@ -77,6 +88,7 @@ Please visit our Website: http://www.httrack.com
const char *hts_optalias[][4] = {
/* {"","","",""}, */
{"path", "-O", "param1", "output path"},
{"chroot", "-%O", "param1", "default top path"},
{"mirror", "-w", "single", ""},
{"mirror-wizard", "-W", "single", ""},
{"get-files", "-g", "single", ""},
@@ -90,6 +102,7 @@ const char *hts_optalias[][4] = {
{"max-files", "-m", "param", ""},
{"max-size", "-M", "param", ""},
{"max-time", "-E", "param", ""},
{"max-mms-time", "-%m", "param", ""},
{"max-rate", "-A", "param", ""},
{"max-pause", "-G", "param", ""},
{"sockets", "-c", "param", "number of simultaneous connections allowed"},
@@ -111,8 +124,6 @@ const char *hts_optalias[][4] = {
{"list", "-%L", "param1", ""},
{"urllist", "-%S", "param1", ""},
{"language", "-%l", "param1", ""}, {"lang", "-%l", "param1", ""},
{"accept", "-%a", "param1", ""},
{"headers", "-%X", "param1", ""},
{"structure", "-N", "param", ""}, {"user-structure", "-N", "param1", ""},
{"long-names", "-L", "param", ""},
{"keep-links", "-K", "param", ""},
@@ -189,16 +200,17 @@ const char *hts_optalias[][4] = {
/* Badly documented */
{"debug-testfilters", "-#0", "param1", "debug: test filters"},
{"advanced-flushlogs", "-#f", "single", ""},
{"advanced-maxfilters", "-#F", "param", "maximum number of scan rules"},
{"advanced-maxfilters", "-#F", "param", ""},
{"version", "-#h", "single", ""},
{"debug-scanstdin", "-#K", "single", ""},
{"advanced-maxlinks", "-#L", "param", "maximum number of links (0 to disable limit)"},
{"advanced-maxlinks", "-#L", "single", ""},
{"advanced-progressinfo", "-#p", "single", "deprecated"},
{"catch-url", "-#P", "single", "catch complex URL through proxy"},
/*{"debug-oldftp","-#R","single",""}, */
{"debug-xfrstats", "-#T", "single", ""},
{"advanced-wait", "-#u", "single", ""},
{"debug-ratestats", "-#Z", "single", ""},
{"exec", "-#!", "param1", ""},
{"fast-engine", "-#X", "single", "Enable fast routines"},
{"debug-overflows", "-#X0", "single", "Attempt to detect buffer overflows"},
{"debug-cache", "-#C", "param1", "List files in the cache"},
@@ -244,6 +256,10 @@ const char *hts_optalias[][4] = {
{"add", "", "param0", "add URLs"},
/* */
/* Specific */
{"user", "-%U", "param1", "output path"},
/* */
/* Internal */
{"catchurl", "--catchurl", "single", "catch complex URL through proxy"},
{"updatehttrack", "--updatehttrack", "single",
@@ -517,9 +533,9 @@ int optinclude_file(const char *name, int *argc, char **argv, char *x_argvblk,
tmp_argv[1] = _tmp_argv[1];
tmp_argv[2] = _tmp_argv[2];
tmp_argv[3] = _tmp_argv[3];
strcpybuff(_tmp_argv[0], "--");
strcatbuff(_tmp_argv[0], a);
strcpybuff(_tmp_argv[1], b);
strcpybuff(tmp_argv[0], "--");
strcatbuff(tmp_argv[0], a);
strcpybuff(tmp_argv[1], b);
result =
optalias_check(2, (const char *const *) tmp_argv, 0, &return_argc,
@@ -560,12 +576,14 @@ int optinclude_file(const char *name, int *argc, char **argv, char *x_argvblk,
/* Get home directory, '.' if failed */
/* example: /home/smith */
const char *hts_gethome(void) {
const char *home = getenv("HOME");
char *hts_gethome(void) {
#ifndef _WIN32_WCE
char *home = getenv("HOME");
if (home)
return home;
else
#endif
return ".";
}

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -48,7 +48,7 @@ const char *optreal_value(int p);
const char *optalias_value(int p);
const char *opttype_value(int p);
const char *opthelp_value(int p);
const char *hts_gethome(void);
char *hts_gethome(void);
void expand_home(String * str);
#endif

View File

@@ -1,149 +0,0 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Important notes:
- We hereby ask people using this source NOT to use it in purpose of grabbing
emails addresses, or collecting any other private information on persons.
This would disgrace our work, and spoil the many hours we spent on it.
Please visit our Website: http://www.httrack.com
*/
/* ------------------------------------------------------------ */
/* File: Arrays */
/* Author: Xavier Roche */
/* ------------------------------------------------------------ */
#ifndef HTS_ARRAYS_DEFSTATIC
#define HTS_ARRAYS_DEFSTATIC
/* System definitions. */
#include <stdlib.h>
#include <string.h>
#include "htssafe.h"
/* Memory allocation assertion failure */
static void hts_record_assert_memory_failed(const size_t size) {
fprintf(stderr, "memory allocation failed (%lu bytes)", \
(long int) size); \
assertf(! "memory allocation failed"); \
}
/** Dynamic array of T elements. **/
#define TypedArray(T) \
struct { \
/** Elements. **/ \
union { \
/** Typed. **/ \
T* elts; \
/** Opaque. **/ \
void* ptr; \
} data; \
/** Count. **/ \
size_t size; \
/** Capacity. **/ \
size_t capa; \
}
#define EMPTY_TYPED_ARRAY { { NULL }, 0, 0 }
/** Array size, in elements. **/
#define TypedArraySize(A) ((A).size)
/** Array capacity, in elements. **/
#define TypedArrayCapa(A) ((A).capa)
/**
* Remaining free space, in elements.
* Macro, first element evaluated multiple times.
**/
#define TypedArrayRoom(A) ( TypedArrayCapa(A) - TypedArraySize(A) )
/** Array elements, of type T*. **/
#define TypedArrayElts(A) ((A).data.elts)
/** Array pointer, of type void*. **/
#define TypedArrayPtr(A) ((A).data.ptr)
/** Size of T. **/
#define TypedArrayWidth(A) (sizeof(*TypedArrayElts(A)))
/** Nth element of the array. **/
#define TypedArrayNth(A, N) (TypedArrayElts(A)[N])
/**
* Tail of the array (outside the array).
* The returned pointer points to the beginning of TypedArrayRoom(A)
* free elements.
**/
#define TypedArrayTail(A) (TypedArrayNth(A, TypedArraySize(A)))
/**
* Ensure at least 'ROOM' elements can be put in the remaining space.
* After a call to this macro, TypedArrayRoom(A) is guaranteed to be at
* least equal to 'ROOM'.
**/
#define TypedArrayEnsureRoom(A, ROOM) do { \
const size_t room_ = (ROOM); \
while (TypedArrayRoom(A) < room_) { \
TypedArrayCapa(A) = TypedArrayCapa(A) < 16 ? 16 : TypedArrayCapa(A) * 2; \
} \
TypedArrayPtr(A) = realloc(TypedArrayPtr(A), \
TypedArrayCapa(A)*TypedArrayWidth(A)); \
if (TypedArrayPtr(A) == NULL) { \
hts_record_assert_memory_failed(TypedArrayCapa(A)*TypedArrayWidth(A)); \
} \
} while(0)
/** Add an element. Macro, first element evaluated multiple times. **/
#define TypedArrayAdd(A, E) do { \
TypedArrayEnsureRoom(A, 1); \
assertf(TypedArraySize(A) < TypedArrayCapa(A)); \
TypedArrayTail(A) = (E); \
TypedArraySize(A)++; \
} while(0)
/**
* Add 'COUNT' elements from 'PTR'.
* Macro, first element evaluated multiple times.
**/
#define TypedArrayAppend(A, PTR, COUNT) do { \
const size_t count_ = (COUNT); \
/* This 1-case is to benefit from type safety. */ \
if (count_ == 1) { \
TypedArrayAdd(A, *(PTR)); \
} else { \
const void *const source_ = (PTR); \
TypedArrayEnsureRoom(A, count_); \
assertf(count_ <= TypedArrayRoom(A)); \
memcpy(&TypedArrayTail(A), source_, count_ * TypedArrayWidth(A)); \
TypedArraySize(A) += count_; \
} \
} while(0)
/** Clear an array, freeing memory and clearing size and capacity. **/
#define TypedArrayFree(A) do { \
if (TypedArrayPtr(A) != NULL) { \
TypedArrayCapa(A) = TypedArraySize(A) = 0; \
free(TypedArrayPtr(A)); \
TypedArrayPtr(A) = NULL; \
} \
} while(0)
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -68,27 +68,27 @@ typedef struct htsblk htsblk;
#ifdef HTS_INTERNAL_BYTECODE
// create/destroy
struct_back *back_new(httrackp *opt, int back_max);
struct_back *back_new(int back_max);
void back_free(struct_back ** sback);
// backing
#define BACK_ADD_TEST "(dummy)"
#define BACK_ADD_TEST2 "(dummy2)"
int back_index(httrackp * opt, struct_back * sback, const char *adr, const char *fil,
const char *sav);
int back_available(const struct_back * sback);
LLint back_incache(const struct_back * sback);
int back_done_incache(const struct_back * sback);
HTS_INLINE int back_exist(struct_back * sback, httrackp * opt, const char *adr,
const char *fil, const char *sav);
int back_nsoc(const struct_back * sback);
int back_nsoc_overall(const struct_back * sback);
int back_add(struct_back * sback, httrackp * opt, cache_back * cache, const char *adr,
const char *fil, const char *save, const char *referer_adr, const char *referer_fil,
int back_index(httrackp * opt, struct_back * sback, char *adr, char *fil,
char *sav);
int back_available(struct_back * sback);
LLint back_incache(struct_back * sback);
int back_done_incache(struct_back * sback);
HTS_INLINE int back_exist(struct_back * sback, httrackp * opt, char *adr,
char *fil, char *sav);
int back_nsoc(struct_back * sback);
int back_nsoc_overall(struct_back * sback);
int back_add(struct_back * sback, httrackp * opt, cache_back * cache, char *adr,
char *fil, char *save, char *referer_adr, char *referer_fil,
int test);
int back_add_if_not_exists(struct_back * sback, httrackp * opt,
cache_back * cache, const char *adr, const char *fil, const char *save,
const char *referer_adr, const char *referer_fil, int test);
cache_back * cache, char *adr, char *fil, char *save,
char *referer_adr, char *referer_fil, int test);
int back_stack_available(struct_back * sback);
int back_search(httrackp * opt, struct_back * sback);
int back_search_quick(struct_back * sback);
@@ -99,7 +99,7 @@ void back_wait(struct_back * sback, httrackp * opt, cache_back * cache,
TStamp stat_timestart);
int back_letlive(httrackp * opt, cache_back * cache, struct_back * sback,
const int p);
int back_searchlive(httrackp * opt, struct_back * sback, const char *search_addr);
int back_searchlive(httrackp * opt, struct_back * sback, char *search_addr);
void back_connxfr(htsblk * src, htsblk * dst);
void back_move(lien_back * src, lien_back * dst);
void back_copy_static(const lien_back * src, lien_back * dst);
@@ -138,6 +138,12 @@ int host_wait(httrackp * opt, lien_back * sback);
int back_checksize(httrackp * opt, lien_back * eback, int check_only_totalsize);
int back_checkmirror(httrackp * opt);
#if HTS_XGETHOST
#if USE_BEGINTHREAD
void Hostlookup(void *iadr_p);
#endif
#endif
#endif
#endif

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,7 +40,6 @@ extern "C" {
#include "htsglobal.h"
#include "htsstrings.h"
#include "htssafe.h"
#include <string.h>
#include <time.h>
@@ -68,12 +67,10 @@ extern "C" {
#ifdef __GNUC__
#define HTS_UNUSED __attribute__ ((unused))
#define HTS_STATIC static __attribute__ ((unused))
#define HTS_INLINE __inline__
#define HTS_PRINTF_FUN(fmt, arg) __attribute__ ((format (printf, fmt, arg)))
#else
#define HTS_UNUSED
#define HTS_STATIC static
#define HTS_INLINE
#define HTS_PRINTF_FUN(fmt, arg)
#endif
#endif
@@ -107,6 +104,237 @@ extern "C" {
#define DynamicGet(handle, sym) dlsym(handle, sym)
#endif
// emergency log
typedef void (*t_abortLog) (char *msg, char *file, int line);
extern HTSEXT_API t_abortLog abortLog__;
#define abortLog(a) abortLog__(a, __FILE__, __LINE__)
#define _ ,
#ifndef _WIN32_WCE
#define abortLogFmt(a) do { \
FILE* fp = fopen("CRASH.TXT", "wb"); \
if (!fp) fp = fopen("/tmp/CRASH.TXT", "wb"); \
if (!fp) fp = fopen("C:\\CRASH.TXT", "wb"); \
if (!fp) fp = fopen("\\Temp\\CRASH.TXT", "wb"); \
if (!fp) fp = fopen("\\CRASH.TXT", "wb"); \
if (!fp) fp = fopen("CRASH.TXT", "wb"); \
if (fp) { \
fprintf(fp, "HTTrack " HTTRACK_VERSIONID " closed at '" __FILE__ "', line %d\r\n", __LINE__); \
fprintf(fp, "Reason:\r\n"); \
fprintf(fp, a); \
fprintf(fp, "\r\n"); \
fflush(fp); \
fclose(fp); \
} \
} while(0)
#else
#define abortLogFmt(a) do { \
XCEShowMessageA("HTTrack " HTTRACK_VERSIONID " closed at '" __FILE__ "', line %d\r\nReason:\r\n%s\r\n", __LINE__, a); \
} while(0)
#endif
#define assertf(exp) do { \
if (! ( exp ) ) { \
abortLog("assert failed: " #exp); \
if (htsCallbackErr != NULL) { \
htsCallbackErr("assert failed: " #exp, __FILE__ , __LINE__ ); \
} \
assert(exp); \
abort(); \
} \
} while(0)
/* non-fatal assert */
#define assertnf(exp) do { \
if (! ( exp ) ) { \
abortLog("assert failed: " #exp); \
if (htsCallbackErr != NULL) { \
htsCallbackErr("assert failed: " #exp, __FILE__ , __LINE__ ); \
} \
} \
} while(0)
/* regular malloc's() */
#ifndef HTS_TRACE_MALLOC
#define malloct(A) malloc(A)
#define calloct(A,B) calloc((A), (B))
#define freet(A) do { assertnf((A) != NULL); if ((A) != NULL) { free(A); (A) = NULL; } } while(0)
#define strdupt(A) strdup(A)
#define realloct(A,B) ( ((A) != NULL) ? realloc((A), (B)) : malloc(B) )
#define memcpybuff(A, B, N) memcpy((A), (B), (N))
#else
/* debug version */
#define malloct(A) hts_malloc(A)
#define calloct(A,B) hts_calloc(A,B)
#define strdupt(A) hts_strdup(A)
#define freet(A) do { hts_free(A); (A) = NULL; } while(0)
#define realloct(A,B) hts_realloc(A,B)
void hts_freeall();
void *hts_malloc(size_t);
void *hts_calloc(size_t, size_t);
char *hts_strdup(char *);
void *hts_xmalloc(size_t, size_t);
void hts_free(void *);
void *hts_realloc(void *, size_t);
mlink *hts_find(char *adr);
/* protected memcpy */
#define memcpybuff(A, B, N) do { \
mlink* lnk = hts_find((void*)(A)); \
if (lnk != NULL) { \
assertf(lnk != NULL); \
assertf( * ( (t_htsboundary*) ( ((char*) lnk->adr) - sizeof(htsboundary) ) ) == htsboundary ); \
assertf( * ( (t_htsboundary*) ( ((char*) lnk->adr) + lnk->len ) ) == htsboundary ); \
assertf( ( ((char*)(A)) + (N)) < (char*) (lnk->adr + lnk->len) ); \
} \
memcpy(A, B, N); \
} while(0)
#endif
typedef void (*htsErrorCallback) (char *msg, char *file, int line);
extern HTSEXT_API htsErrorCallback htsCallbackErr;
extern HTSEXT_API int htsMemoryFastXfr;
/*
*/
#define stringdup()
#ifdef STRDEBUG
/* protected strcat, strncat and strcpy - definitely useful */
#define strcatbuff(A, B) do { \
assertf( (A) != NULL ); \
assertf( (B) != NULL ); \
if (htsMemoryFastXfr) { \
if (sizeof(A) != sizeof(char*)) { \
(A)[sizeof(A) - 1] = '\0'; \
} \
strcat(A, B); \
if (sizeof(A) != sizeof(char*)) { \
assertf((A)[sizeof(A) - 1] == '\0'); \
} \
} else { \
unsigned int sz = (unsigned int) strlen(A); \
unsigned int szf = (unsigned int) strlen(B); \
if (sizeof(A) != sizeof(char*)) { \
assertf(sz + szf + 1 < sizeof(A)); \
if (szf > 0) { \
if (sz + szf + 1 < sizeof(A)) { \
memcpy((A) + sz, (B), szf + 1); \
} \
} \
} else if (szf > 0) { \
memcpybuff((A) + sz, (B), szf + 1); \
} \
} \
} while(0)
#define strncatbuff(A, B, N) do { \
assertf( (A) != NULL ); \
assertf( (B) != NULL ); \
if (htsMemoryFastXfr) { \
if (sizeof(A) != sizeof(char*)) { \
(A)[sizeof(A) - 1] = '\0'; \
} \
strncat(A, B, N); \
if (sizeof(A) != sizeof(char*)) { \
assertf((A)[sizeof(A) - 1] == '\0'); \
} \
} else { \
unsigned int sz = (unsigned int) strlen(A); \
unsigned int szf = (unsigned int) strlen(B); \
if (szf > (unsigned int) (N)) szf = (unsigned int) (N); \
if (sizeof(A) != sizeof(char*)) { \
assertf(sz + szf + 1 < sizeof(A)); \
if (szf > 0) { \
if (sz + szf + 1 < sizeof(A)) { \
memcpy((A) + sz, (B), szf); \
* ( (A) + sz + szf) = '\0'; \
} \
} \
} else if (szf > 0) { \
memcpybuff((A) + sz, (B), szf); \
* ( (A) + sz + szf) = '\0'; \
} \
} \
} while(0)
#define strcpybuff(A, B) do { \
assertf( (A) != NULL ); \
assertf( (const char*) (B) != NULL ); \
if (htsMemoryFastXfr) { \
if (sizeof(A) != sizeof(char*)) { \
(A)[sizeof(A) - 1] = '\0'; \
} \
strcpy(A, B); \
if (sizeof(A) != sizeof(char*)) { \
assertf((A)[sizeof(A) - 1] == '\0'); \
} \
} else { \
unsigned int szf = (unsigned int) strlen(B); \
if (sizeof(A) != sizeof(char*)) { \
assertf(szf + 1 < sizeof(A)); \
if (szf > 0) { \
if (szf + 1 < sizeof(A)) { \
memcpy((A), (B), szf + 1); \
} else { \
* (A) = '\0'; \
} \
} else { \
* (A) = '\0'; \
} \
} else { \
memcpybuff((A), (B), szf + 1); \
} \
} \
} while(0)
#else
#ifdef STRDEBUGFAST
/* protected strcat, strncat and strcpy - definitely useful */
#define strcatbuff(A, B) do { \
assertf( (A) != NULL ); \
assertf( (B) != NULL ); \
if (sizeof(A) != sizeof(char*)) { \
(A)[sizeof(A) - 1] = '\0'; \
} \
strcat(A, B); \
if (sizeof(A) != sizeof(char*)) { \
assertf((A)[sizeof(A) - 1] == '\0'); \
} \
} while(0)
#define strncatbuff(A, B, N) do { \
assertf( (A) != NULL ); \
assertf( (B) != NULL ); \
if (sizeof(A) != sizeof(char*)) { \
(A)[sizeof(A) - 1] = '\0'; \
} \
strncat(A, B, N); \
if (sizeof(A) != sizeof(char*)) { \
assertf((A)[sizeof(A) - 1] == '\0'); \
} \
} while(0)
#define strcpybuff(A, B) do { \
assertf( (A) != NULL ); \
assertf( (B) != NULL ); \
if (sizeof(A) != sizeof(char*)) { \
(A)[sizeof(A) - 1] = '\0'; \
} \
strcpy(A, B); \
if (sizeof(A) != sizeof(char*)) { \
assertf((A)[sizeof(A) - 1] == '\0'); \
} \
} while(0)
#else
#define strcatbuff strcat
#define strncatbuff strncat
#define strcpybuff strcpy
#endif
#endif
#endif
#ifdef __cplusplus

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,6 +40,7 @@ Please visit our Website: http://www.httrack.com
#include <winsock2.h>
#else
#ifndef _WIN32_WCE
#undef HTS_USESCOPEID
#define WIN32_LEAN_AND_MEAN
// KB955045 (http://support.microsoft.com/kb/955045)
@@ -51,16 +52,19 @@ Please visit our Website: http://www.httrack.com
#include <Wspiapi.h>
//#include <winsock2.h>
//#include <tpipv6.h>
#else
#include <winsock2.h>
#include <socket.h>
#endif
#endif
typedef struct hostent FAR t_hostent;
#else
#define HTS_USESCOPEID
#define INVALID_SOCKET -1
#endif
#ifdef __cplusplus
extern "C" {
typedef struct hostent t_hostent;
#endif
#if HTS_USEOPENSSL
@@ -158,8 +162,4 @@ typedef enum HTTrackStatus {
STATUS_FTP_READY = 1001
} HTTrackStatus;
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,59 +0,0 @@
#!/bin/bash
#
# Change this to download files
if false; then
echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-*.TXT" | lftp
echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP*.TXT" | lftp
echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP*.TXT" | lftp
echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP*.TXT" | lftp
echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP*.TXT" | lftp
echo "mget ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8*.TXT" | lftp
rm -f CP932.TXT CP936.TXT CP949.TXT CP950.TXT
fi
# Produce code
printf "/** GENERATED FILE ($0), DO NOT EDIT **/\n\n"
for i in *.TXT ; do
echo "processing $i" >&2
grep -vE "^(#|$)" $i | grep -E "^0x" | sed -e 's/[[:space:]]/ /g' | cut -f1,2 -d' ' | \
(
unset arr
while read LINE ; do
from=$[$(echo $LINE | cut -f1 -d' ')]
if ! test -n "$from"; then
echo "error with $i" >&2
exit 1
elif test $from -ge 256; then
echo "out-of-range ($LINE) with $i" >&2
exit 1
fi
to=$(echo $LINE | cut -f2 -d' ')
arr[$from]=$to
done
name=$(echo $i | tr 'A-Z' 'a-z' | tr '-' '_' | sed -e 's/\.txt//' -e 's/8859/iso_8859/')
printf "/* Table for $i */\nstatic const hts_UCS4 table_${name}[256] = {\n "
i=0
while test "$i" -lt 256; do
if test "$i" -gt 0; then
printf ", "
if test $[${i}%8] -eq 0; then
printf "\n "
fi
fi
value=${arr[$i]:-0}
printf "0x%04x" $value
i=$[${i}+1]
done
printf " };\n\n"
)
echo "processed $i" >&2
done
# Indexes
printf "static const struct {\n const char *name;\n const hts_UCS4 *table;\n} table_mappings[] = {\n"
for i in *.TXT ; do
name=$(echo $i | tr 'A-Z' 'a-z' | tr '-' '_' | sed -e 's/\.txt//' -e 's/8859/iso_8859/')
printf " { \"$(echo $name | tr -d '_')\", table_${name} },\n"
done
printf " { NULL, NULL }\n};\n"

View File

@@ -1,6 +1,6 @@
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,15 +38,14 @@ Please visit our Website: http://www.httrack.com
/* specific definitions */
#include "htsglobal.h"
#include "htslib.h"
#include "htscore.h"
/* END specific definitions */
// gestion des cookie
// ajoute, dans l'ordre
// !=0 : erreur
int cookie_add(t_cookie * cookie, const char *cook_name, const char *cook_value,
const char *domain, const char *path) {
int cookie_add(t_cookie * cookie, char *cook_name, char *cook_value,
char *domain, char *path) {
char buffer[8192];
char *a = cookie->data;
char *insert;
@@ -54,20 +53,20 @@ int cookie_add(t_cookie * cookie, const char *cook_name, const char *cook_value,
// effacer éventuel cookie en double
cookie_del(cookie, cook_name, domain, path);
if (strlen(cook_value) > 1024)
if ((int) strlen(cook_value) > 1024)
return -1; // trop long
if (strlen(cook_name) > 256)
if ((int) strlen(cook_name) > 256)
return -1; // trop long
if (strlen(domain) > 256)
if ((int) strlen(domain) > 256)
return -1; // trop long
if (strlen(path) > 256)
if ((int) strlen(path) > 256)
return -1; // trop long
if (strlen(cookie->data)
if ((int) (strlen(cookie->data)
+ strlen(cook_value)
+ strlen(cook_name)
+ strlen(domain)
+ strlen(path)
+ 256 > cookie->max_len)
+ 256) > cookie->max_len)
return -1; // impossible d'ajouter
insert = a; // insérer ici
@@ -100,7 +99,7 @@ int cookie_add(t_cookie * cookie, const char *cook_name, const char *cook_value,
strcatbuff(cook, "\t");
strcatbuff(cook, cook_value);
strcatbuff(cook, "\n");
if (!((strlen(cookie->data) + strlen(cook)) < cookie->max_len))
if (!(((int) strlen(cookie->data) + (int) strlen(cook)) < cookie->max_len))
return -1; // impossible d'ajouter
cookie_insert(insert, cook);
#if DEBUG_COOK
@@ -112,13 +111,13 @@ int cookie_add(t_cookie * cookie, const char *cook_name, const char *cook_value,
}
// effacer cookie si existe
int cookie_del(t_cookie * cookie, const char *cook_name, const char *domain, const char *path) {
int cookie_del(t_cookie * cookie, char *cook_name, char *domain, char *path) {
char *a, *b;
b = cookie_find(cookie->data, cook_name, domain, path);
if (b) {
a = cookie_nextfield(b);
cookie_delete(b, a - b);
cookie_delete(b, (int) (a - b));
#if DEBUG_COOK
printf("deleted old cookie: %s %s %s\n", cook_name, domain, path);
#endif
@@ -129,23 +128,23 @@ int cookie_del(t_cookie * cookie, const char *cook_name, const char *domain, con
// Matches wildcard cookie domains that start with a dot
// chk_dom: the domain stored in the cookie (potentially wildcard).
// domain: query domain
static int cookie_cmp_wildcard_domain(const char *chk_dom, const char *domain) {
const size_t n = strlen(chk_dom);
const size_t m = strlen(domain);
const size_t l = n < m ? n : m;
size_t i;
for (i = l - 1; i >= 0; i--) {
if (chk_dom[n - i - 1] != domain[m - i - 1]) {
return 1;
int cookie_cmp_wildcard_domain(char *chk_dom, char *domain) {
int n = strlen(chk_dom);
int m = strlen(domain);
int l = n < m ? n : m;
int i;
for (i = l - 1; i >= 0; i--) {
if (chk_dom[n - i - 1] != domain[m - i - 1]) {
return 1;
}
}
if (m < n && chk_dom[0] == '.') {
return 0;
}
else if (m != n) {
return 1;
}
}
if (m < n && chk_dom[0] == '.') {
return 0;
}
else if (m != n) {
return 1;
}
return 0;
}
@@ -153,7 +152,7 @@ static int cookie_cmp_wildcard_domain(const char *chk_dom, const char *domain) {
// renvoie pointeur sur ligne, ou NULL si introuvable
// path est aligné à droite et cook_name peut être vide (chercher alors tout cookie)
// .doubleclick.net TRUE / FALSE 1999999999 id A
char *cookie_find(char *s, const char *cook_name, const char *domain, const char *path) {
char *cookie_find(char *s, char *cook_name, char *domain, char *path) {
char buffer[8192];
char *a = s;
@@ -166,15 +165,15 @@ char *cookie_find(char *s, const char *cook_name, const char *domain, const char
t = (strcmp(cookie_get(buffer, a, 5), cook_name) == 0); // tester si même nom
if (t) { // même nom ou nom qualconque
//
const char *chk_dom = cookie_get(buffer, a, 0); // domaine concerné par le cookie
char *chk_dom = cookie_get(buffer, a, 0); // domaine concerné par le cookie
if ((strlen(chk_dom) <= strlen(domain) &&
if (((int) strlen(chk_dom) <= (int) strlen(domain) &&
strcmp(chk_dom, domain + strlen(domain) - strlen(chk_dom)) == 0) ||
!cookie_cmp_wildcard_domain(chk_dom, domain)) { // même domaine
//
const char *chk_path = cookie_get(buffer, a, 2); // chemin concerné par le cookie
char *chk_path = cookie_get(buffer, a, 2); // chemin concerné par le cookie
if (strlen(chk_path) <= strlen(path)) {
if ((int) strlen(chk_path) <= (int) strlen(path)) {
if (strncmp(path, chk_path, strlen(chk_path)) == 0) { // même chemin
return a;
}
@@ -223,7 +222,7 @@ int cookie_load(t_cookie * cookie, const char *fpath, const char *name) {
do {
if (!(find.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
if (!(find.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM)) {
FILE *fp = fopen(fconcat(catbuff, sizeof(catbuff), fpath, find.cFileName), "rb");
FILE *fp = fopen(fconcat(catbuff, fpath, find.cFileName), "rb");
if (fp) {
char cook_name[256];
@@ -232,14 +231,15 @@ int cookie_load(t_cookie * cookie, const char *fpath, const char *name) {
char dummy[512];
//
lien_adrfil af; // chemin (/)
char domain[256]; // domaine cookie (.netscape.com)
char path[256]; // chemin (/)
int cookie_merged = 0;
//
// Read all cookies
while(!feof(fp)) {
cook_name[0] = cook_value[0] = domainpathpath[0]
= dummy[0] = af.adr[0] = af.fil[0] = '\0';
= dummy[0] = domain[0] = path[0] = '\0';
linput(fp, cook_name, 250);
if (!feof(fp)) {
linput(fp, cook_value, 250);
@@ -254,8 +254,8 @@ int cookie_load(t_cookie * cookie, const char *fpath, const char *name) {
if (strnotempty(cook_name)
&& strnotempty(cook_value)
&& strnotempty(domainpathpath)) {
if (ident_url_absolute(domainpathpath, &af) >= 0) {
cookie_add(cookie, cook_name, cook_value, af.adr, af.fil);
if (ident_url_absolute(domainpathpath, domain, path) >= 0) {
cookie_add(cookie, cook_name, cook_value, domain, path);
cookie_merged = 1;
}
}
@@ -264,7 +264,7 @@ int cookie_load(t_cookie * cookie, const char *fpath, const char *name) {
}
fclose(fp);
if (cookie_merged)
remove(fconcat(catbuff, sizeof(catbuff), fpath, find.cFileName));
remove(fconcat(catbuff, fpath, find.cFileName));
} // if fp
}
} while(FindNextFileA(h, &find));
@@ -275,7 +275,7 @@ int cookie_load(t_cookie * cookie, const char *fpath, const char *name) {
// Ensuite, cookies.txt
{
FILE *fp = fopen(fconcat(catbuff, sizeof(catbuff), fpath, name), "rb");
FILE *fp = fopen(fconcat(catbuff, fpath, name), "rb");
if (fp) {
char BIGSTK line[8192];
@@ -311,12 +311,12 @@ int cookie_load(t_cookie * cookie, const char *fpath, const char *name) {
// écrire cookies.txt
// !=0 : erreur
int cookie_save(t_cookie * cookie, const char *name) {
int cookie_save(t_cookie * cookie, char *name) {
char catbuff[CATBUFF_SIZE];
if (strnotempty(cookie->data)) {
char BIGSTK line[8192];
FILE *fp = fopen(fconv(catbuff, sizeof(catbuff), name), "wb");
FILE *fp = fopen(fconv(catbuff, name), "wb");
if (fp) {
char *a = cookie->data;
@@ -337,13 +337,13 @@ int cookie_save(t_cookie * cookie, const char *name) {
}
// insertion chaine ins avant s
void cookie_insert(char *s, const char *ins) {
void cookie_insert(char *s, char *ins) {
char *buff;
if (strnotempty(s) == 0) { // rien à faire, juste concat
strcatbuff(s, ins);
} else {
buff = (char *) malloct(strlen(s) + 1);
buff = (char *) malloct(strlen(s) + 2);
if (buff) {
strcpybuff(buff, s); // copie temporaire
strcpybuff(s, ins); // insérer
@@ -354,13 +354,13 @@ void cookie_insert(char *s, const char *ins) {
}
// destruction chaine dans s position pos
void cookie_delete(char *s, size_t pos) {
void cookie_delete(char *s, int pos) {
char *buff;
if (strnotempty(s + pos) == 0) { // rien à faire, effacer
s[0] = '\0';
} else {
buff = (char *) malloct(strlen(s + pos) + 1);
buff = (char *) malloct(strlen(s + pos) + 2);
if (buff) {
strcpybuff(buff, s + pos); // copie temporaire
strcpybuff(s, buff); // copier
@@ -371,8 +371,8 @@ void cookie_delete(char *s, size_t pos) {
// renvoie champ param de la chaine cookie_base
// ex: cookie_get("ceci est<tab>un<tab>exemple",1) renvoi "un"
const char *cookie_get(char *buffer, const char *cookie_base, int param) {
const char *limit;
char *cookie_get(char *buffer, char *cookie_base, int param) {
char *limit;
while(*cookie_base == '\n')
cookie_base++;
@@ -393,7 +393,7 @@ const char *cookie_get(char *buffer, const char *cookie_base, int param) {
}
if (cookie_base) {
if (cookie_base < limit) {
const char *a = cookie_base;
char *a = cookie_base;
while((*a) && (*a != '\t') && (*a != '\n'))
a++;
@@ -413,7 +413,7 @@ const char *cookie_get(char *buffer, const char *cookie_base, int param) {
// -- basic auth --
/* déclarer un répertoire comme possédant une authentification propre */
int bauth_add(t_cookie * cookie, const char *adr, const char *fil, const char *auth) {
int bauth_add(t_cookie * cookie, char *adr, char *fil, char *auth) {
char buffer[HTS_URLMAXSIZE * 2];
if (cookie) {
@@ -439,7 +439,7 @@ int bauth_add(t_cookie * cookie, const char *adr, const char *fil, const char *a
/* tester adr et fil, et retourner authentification si nécessaire */
/* sinon, retourne NULL */
char *bauth_check(t_cookie * cookie, const char *adr, const char *fil) {
char *bauth_check(t_cookie * cookie, char *adr, char *fil) {
char buffer[HTS_URLMAXSIZE * 2];
if (cookie) {
@@ -458,10 +458,10 @@ char *bauth_check(t_cookie * cookie, const char *adr, const char *fil) {
return NULL;
}
char *bauth_prefix(char *prefix, const char *adr, const char *fil) {
char *bauth_prefix(char *prefix, char *adr, char *fil) {
char *a;
strcpybuff(prefix, jump_identification_const(adr));
strcpybuff(prefix, jump_identification(adr));
strcatbuff(prefix, fil);
a = strchr(prefix, '?');
if (a)

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -34,8 +34,6 @@ Please visit our Website: http://www.httrack.com
#ifndef HTSBAUTH_DEFH
#define HTSBAUTH_DEFH
#include <sys/types.h>
// robots wizard
#ifndef HTS_DEF_FWSTRUCT_bauth_chain
#define HTS_DEF_FWSTRUCT_bauth_chain
@@ -62,21 +60,21 @@ struct t_cookie {
#ifdef HTS_INTERNAL_BYTECODE
// cookies
int cookie_add(t_cookie * cookie, const char *cook_name, const char *cook_value,
const char *domain, const char *path);
int cookie_del(t_cookie * cookie, const char *cook_name, const char *domain, const char *path);
int cookie_add(t_cookie * cookie, char *cook_name, char *cook_value,
char *domain, char *path);
int cookie_del(t_cookie * cookie, char *cook_name, char *domain, char *path);
int cookie_load(t_cookie * cookie, const char *path, const char *name);
int cookie_save(t_cookie * cookie, const char *name);
void cookie_insert(char *s, const char *ins);
void cookie_delete(char *s, size_t pos);
const char *cookie_get(char *buffer, const char *cookie_base, int param);
char *cookie_find(char *s, const char *cook_name, const char *domain, const char *path);
int cookie_save(t_cookie * cookie, char *name);
void cookie_insert(char *s, char *ins);
void cookie_delete(char *s, int pos);
char *cookie_get(char *buffer, char *cookie_base, int param);
char *cookie_find(char *s, char *cook_name, char *domain, char *path);
char *cookie_nextfield(char *a);
// basic auth
int bauth_add(t_cookie * cookie, const char *adr, const char *fil, const char *auth);
char *bauth_check(t_cookie * cookie, const char *adr, const char *fil);
char *bauth_prefix(char *buffer, const char *adr, const char *fil);
int bauth_add(t_cookie * cookie, char *adr, char *fil, char *auth);
char *bauth_check(t_cookie * cookie, char *adr, char *fil);
char *bauth_prefix(char *buffer, char *adr, char *fil);
#endif

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -145,9 +145,9 @@ void cache_mayadd(httrackp * opt, cache_back * cache, htsblk * r,
// we just store statuscode + location (if any)
if (url_save == NULL && r->statuscode / 100 >= 3) {
// cached "fast" header doesn't yet exists
if (coucal_read
if (inthash_read
(cache->cached_tests,
concat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), url_adr, url_fil), NULL) == 0) {
concat(OPT_GET_BUFF(opt), url_adr, url_fil), NULL) == 0) {
char BIGSTK tempo[HTS_URLMAXSIZE * 2];
sprintf(tempo, "%d", (int) r->statuscode);
@@ -158,8 +158,8 @@ void cache_mayadd(httrackp * opt, cache_back * cache, htsblk * r,
hts_log_print(opt, LOG_DEBUG,
"Cached fast-header response: %s%s is %d",
url_adr, url_fil, (int) r->statuscode);
coucal_add(cache->cached_tests,
concat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), url_adr, url_fil),
inthash_add(cache->cached_tests,
concat(OPT_GET_BUFF(opt), url_adr, url_fil),
(intptr_t) strdupt(tempo));
}
}
@@ -366,10 +366,10 @@ void cache_add(httrackp * opt, cache_back * cache, const htsblk * r,
FILE *fp;
// On recopie le fichier->.
off_t file_size = fsize_utf8(fconv(catbuff, sizeof(catbuff), url_save));
off_t file_size = fsize_utf8(fconv(catbuff, url_save));
if (file_size >= 0) {
fp = FOPEN(fconv(catbuff, sizeof(catbuff), url_save), "rb");
fp = FOPEN(fconv(catbuff, url_save), "rb");
if (fp != NULL) {
char BIGSTK buff[32768];
size_t nl;
@@ -646,7 +646,7 @@ static htsblk cache_readex_new(httrackp * opt, cache_back * cache,
strcpybuff(r.location, "");
strcpybuff(buff, adr);
strcatbuff(buff, fil);
hash_pos_return = coucal_read(cache->hashtable, buff, &hash_pos);
hash_pos_return = inthash_read(cache->hashtable, buff, &hash_pos);
/* avoid errors on data entries */
if (adr[0] == '/' && adr[1] == '/' && adr[2] == '[') {
#if HTS_FAST_CACHE
@@ -751,7 +751,7 @@ static htsblk cache_readex_new(httrackp * opt, cache_back * cache,
/* Ensure the file is present, because returning a reference to a missing file is useless! */
if (!dataincache) { /* Data are supposed to be on disk */
if (!fexist_utf8(fconv(catbuff, sizeof(catbuff), previous_save))) { // un fichier existe déja
if (!fexist_utf8(fconv(catbuff, previous_save))) { // un fichier existe déja
if (!opt->norecatch) {
hts_log_print(opt, LOG_DEBUG, "Cache: could not find %s",
previous_save);
@@ -775,10 +775,10 @@ static htsblk cache_readex_new(httrackp * opt, cache_back * cache,
r.msg[0] = '\0';
// File exists on disk with declared cache name (this is expected!)
if (fexist_utf8(fconv(catbuff, sizeof(catbuff), previous_save))) { // un fichier existe déja
if (fexist_utf8(fconv(catbuff, previous_save))) { // un fichier existe déja
// Expected size ?
const size_t fsize =
fsize_utf8(fconv(catbuff, sizeof(catbuff), previous_save));
fsize_utf8(fconv(catbuff, previous_save));
if (fsize == r.size) {
// Target name is the previous name, and the file looks good: nothing to do!
if (strcmp(previous_save, target_save) == 0) {
@@ -790,8 +790,8 @@ static htsblk cache_readex_new(httrackp * opt, cache_back * cache,
char catbuff2[CATBUFF_SIZE];
if (RENAME
(fconv(catbuff, sizeof(catbuff), previous_save),
fconv(catbuff2, sizeof(catbuff2), target_save)) == 0) {
(fconv(catbuff, previous_save),
fconv(catbuff2, target_save)) == 0) {
// So far so good
ok = 1; // plus rien à faire
@@ -812,9 +812,9 @@ static htsblk cache_readex_new(httrackp * opt, cache_back * cache,
}
// File exists with the target name and not previous one ?
// Suppose a broken mirror, with a file being renamed: OK
else if (fexist_utf8(fconv(catbuff, sizeof(catbuff), target_save))) {
else if (fexist_utf8(fconv(catbuff, target_save))) {
// Expected size ?
const size_t fsize = fsize_utf8(fconv(catbuff, sizeof(catbuff), target_save));
const size_t fsize = fsize_utf8(fconv(catbuff, target_save));
if (fsize == r.size) {
// So far so good
@@ -927,7 +927,7 @@ static htsblk cache_readex_new(httrackp * opt, cache_back * cache,
"Previous cache file not found (empty filename)");
}
} else { /* Read in memory from disk */
FILE *const fp = FOPEN(fconv(catbuff, sizeof(catbuff), previous_save), "rb");
FILE *const fp = FOPEN(fconv(catbuff, previous_save), "rb");
if (fp != NULL) {
r.adr = (char *) malloct((int) r.size + 4);
@@ -1029,7 +1029,7 @@ static htsblk cache_readex_old(httrackp * opt, cache_back * cache,
#if HTS_FAST_CACHE
strcpybuff(buff, adr);
strcatbuff(buff, fil);
hash_pos_return = coucal_read(cache->hashtable, buff, &hash_pos);
hash_pos_return = inthash_read(cache->hashtable, buff, &hash_pos);
#else
buff[0] = '\0';
strcatbuff(buff, "\n");
@@ -1159,7 +1159,7 @@ static htsblk cache_readex_old(httrackp * opt, cache_back * cache,
int ok = 0;
r.is_write = 1; // écrire
if (fexist_utf8(fconv(catbuff, sizeof(catbuff), save))) { // un fichier existe déja
if (fexist_utf8(fconv(catbuff, save))) { // un fichier existe déja
//if (fsize_utf8(fconv(save))==r.size) { // même taille -- NON tant pis (taille mal declaree)
ok = 1; // plus rien à faire
filenote(&opt->state.strc, save, NULL); // noter comme connu
@@ -1229,7 +1229,7 @@ static htsblk cache_readex_old(httrackp * opt, cache_back * cache,
strcpybuff(r.msg, "Previous cache file not found (2)");
} else { /* Read in memory from cache */
if (strnotempty(return_save) && fexist_utf8(return_save)) {
FILE *fp = FOPEN(fconv(catbuff, sizeof(catbuff), return_save), "rb");
FILE *fp = FOPEN(fconv(catbuff, return_save), "rb");
if (fp != NULL) {
r.adr = (char *) malloct((size_t) r.size + 4);
@@ -1349,7 +1349,7 @@ int cache_readdata(cache_back * cache, const char *str1, const char *str2,
strcpybuff(buff, str1);
strcatbuff(buff, str2);
if (coucal_read(cache->hashtable, buff, &pos)) {
if (inthash_read(cache->hashtable, buff, &pos)) {
if (fseek(cache->olddat, (long) ((pos > 0) ? pos : (-pos)), SEEK_SET) ==
0) {
INTsys len;
@@ -1397,7 +1397,7 @@ void cache_init(cache_back * cache, httrackp * opt) {
// ---
// utilisation du cache: renommer ancien éventuel et charger index
hts_log_print(opt, LOG_DEBUG, "Cache: enabled=%d, base=%s, ro=%d",
(int) opt->cache, fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(int) opt->cache, fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/"), (int) cache->ro);
if (opt->cache) {
@@ -1406,40 +1406,40 @@ void cache_init(cache_back * cache, httrackp * opt) {
#endif
if (!cache->ro) {
#ifdef _WIN32
mkdir(fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log), "hts-cache"));
mkdir(fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log), "hts-cache"));
#else
mkdir(fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log), "hts-cache"),
mkdir(fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log), "hts-cache"),
HTS_PROTECT_FOLDER);
#endif
if ((fexist(fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log), "hts-cache/new.zip")))) { // il existe déja un cache précédent.. renommer
if ((fexist(fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log), "hts-cache/new.zip")))) { // il existe déja un cache précédent.. renommer
/* Previous cache from the previous cache version */
#if 0
/* No.. reuse with old httrack releases! */
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.dat")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.dat"));
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.ndx")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.ndx"));
#endif
/* Previous cache version */
if ((fexist(fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log), "hts-cache/new.dat"))) && (fexist(fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log), "hts-cache/new.ndx")))) { // il existe déja un cache précédent.. renommer
if ((fexist(fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log), "hts-cache/new.dat"))) && (fexist(fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log), "hts-cache/new.ndx")))) { // il existe déja un cache précédent.. renommer
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.dat"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.dat"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.dat"));
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.ndx"));
}
@@ -1447,11 +1447,11 @@ void cache_init(cache_back * cache, httrackp * opt) {
/* Remove OLD cache */
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.zip"))) {
if (remove
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.zip")) != 0) {
hts_log_print(opt, LOG_WARNING | LOG_ERRNO,
"Cache: error while moving previous cache");
@@ -1461,8 +1461,8 @@ void cache_init(cache_back * cache, httrackp * opt) {
/* Rename */
if (hts_rename
(opt,
fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.zip"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.zip"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.zip")) != 0) {
hts_log_print(opt, LOG_WARNING | LOG_ERRNO,
@@ -1470,33 +1470,33 @@ void cache_init(cache_back * cache, httrackp * opt) {
} else {
hts_log_print(opt, LOG_DEBUG, "Cache: successfully renamed");
}
} else if ((fexist(fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log), "hts-cache/new.dat"))) && (fexist(fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log), "hts-cache/new.ndx")))) { // il existe déja un cache précédent.. renommer
} else if ((fexist(fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log), "hts-cache/new.dat"))) && (fexist(fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log), "hts-cache/new.ndx")))) { // il existe déja un cache précédent.. renommer
#if DEBUGCA
printf("work with former cache\n");
#endif
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.dat")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.dat"));
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.ndx")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.ndx"));
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.dat"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.dat"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.dat"));
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.ndx"));
} else { // un des deux (ou les deux) fichiers cache absents: effacer l'autre éventuel
@@ -1505,17 +1505,17 @@ void cache_init(cache_back * cache, httrackp * opt) {
#endif
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.dat")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.dat"));
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"));
}
} else {
@@ -1524,30 +1524,30 @@ void cache_init(cache_back * cache, httrackp * opt) {
hts_log_print(opt, LOG_DEBUG, "Cache: size %d",
(int)
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.zip")));
// charger index cache précédent
if ((!cache->ro
&&
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.zip")) > 0)
|| (cache->ro
&&
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.zip")) > 0)
) {
if (!cache->ro) {
cache->zipInput =
unzOpen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.zip"));
} else {
cache->zipInput =
unzOpen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.zip"));
}
@@ -1559,25 +1559,25 @@ void cache_init(cache_back * cache, httrackp * opt) {
if (!cache->ro) {
name =
fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.zip");
} else {
name =
fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.zip");
}
hts_log_print(opt, LOG_WARNING,
"Cache: damaged cache, trying to repair");
if (unzRepair
(name,
fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/repair.zip"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/repair.zip"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/repair.tmp"),
&repaired, &repairedBytes) == Z_OK) {
unlink(name);
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/repair.zip"), name);
cache->zipInput = unzOpen(name);
hts_log_print(opt, LOG_WARNING,
@@ -1642,9 +1642,9 @@ void cache_init(cache_back * cache, httrackp * opt) {
}
}
if (dataincache)
coucal_add(cache->hashtable, filenameIndex, pos);
inthash_add(cache->hashtable, filenameIndex, pos);
else
coucal_add(cache->hashtable, filenameIndex, -pos);
inthash_add(cache->hashtable, filenameIndex, -pos);
} else {
hts_log_print(opt, LOG_WARNING,
"Corrupted cache meta entry #%d",
@@ -1679,20 +1679,20 @@ void cache_init(cache_back * cache, httrackp * opt) {
if ((!cache->ro
&&
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.dat")) >= 0
&&
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.ndx")) > 0)
|| (cache->ro
&&
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.dat")) >= 0
&&
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx")) > 0)
) {
FILE *oldndx = NULL;
@@ -1703,20 +1703,20 @@ void cache_init(cache_back * cache, httrackp * opt) {
if (!cache->ro) {
cache->olddat =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.dat"), "rb");
oldndx =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.ndx"), "rb");
} else {
cache->olddat =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.dat"), "rb");
oldndx =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"), "rb");
}
// les deux doivent être ouvrables
@@ -1738,20 +1738,20 @@ void cache_init(cache_back * cache, httrackp * opt) {
if (!cache->ro) {
buffl =
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.ndx"));
cache->use =
readfile(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.ndx"));
} else {
buffl =
fsize(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"));
cache->use =
readfile(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"));
}
if (cache->use != NULL) {
@@ -1810,7 +1810,7 @@ void cache_init(cache_back * cache, httrackp * opt) {
/* read position */
a += binput(a, linepos, 200);
sscanf(linepos, "%d", &pos);
coucal_add(cache->hashtable, line, pos);
inthash_add(cache->hashtable, line, pos);
}
}
/* Not needed anymore! */
@@ -1822,7 +1822,7 @@ void cache_init(cache_back * cache, httrackp * opt) {
}
} else {
hts_log_print(opt, LOG_DEBUG, "Cache: no cache found in %s",
fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
fconcat(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/"));
}
@@ -1832,39 +1832,39 @@ void cache_init(cache_back * cache, httrackp * opt) {
if (!cache->ro) {
// ouvrir caches actuels
structcheck(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log), "hts-cache/"));
(OPT_GET_BUFF(opt), StringBuff(opt->path_log), "hts-cache/"));
if (1) {
/* Create ZIP file cache */
cache->zipOutput =
(void *)
zipOpen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.zip"), 0);
if (cache->zipOutput != NULL) {
// supprimer old.lst
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.lst")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.lst"));
// renommer
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.lst")))
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.lst"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.lst"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.lst"));
// ouvrir
cache->lst =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.lst"), "wb");
strcpybuff(opt->state.strc.path, StringBuff(opt->path_html));
opt->state.strc.lst = cache->lst;
@@ -1878,25 +1878,25 @@ void cache_init(cache_back * cache, httrackp * opt) {
// supprimer old.txt
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.txt")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.txt"));
// renommer
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.txt")))
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.txt"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.txt"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.txt"));
// ouvrir
cache->txt =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.txt"), "wb");
if (cache->txt) {
fprintf(cache->txt,
@@ -1909,11 +1909,11 @@ void cache_init(cache_back * cache, httrackp * opt) {
} else {
cache->dat =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.dat"), "wb");
cache->ndx =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.ndx"), "wb");
// les deux doivent être ouvrables
if ((cache->dat == NULL) && (cache->ndx != NULL)) {
@@ -1940,25 +1940,25 @@ void cache_init(cache_back * cache, httrackp * opt) {
// supprimer old.lst
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.lst")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.lst"));
// renommer
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.lst")))
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.lst"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.lst"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.lst"));
// ouvrir
cache->lst =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.lst"), "wb");
strcpybuff(opt->state.strc.path, StringBuff(opt->path_html));
opt->state.strc.lst = cache->lst;
@@ -1972,25 +1972,25 @@ void cache_init(cache_back * cache, httrackp * opt) {
// supprimer old.txt
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.txt")))
remove(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/old.txt"));
// renommer
if (fexist
(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.txt")))
rename(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
"hts-cache/new.txt"), fconcat(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.txt"), fconcat(OPT_GET_BUFF(opt),
StringBuff(opt->path_log),
"hts-cache/old.txt"));
// ouvrir
cache->txt =
fopen(fconcat
(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), StringBuff(opt->path_log),
(OPT_GET_BUFF(opt), StringBuff(opt->path_log),
"hts-cache/new.txt"), "wb");
if (cache->txt) {
fprintf(cache->txt,
@@ -2016,12 +2016,12 @@ void cache_init(cache_back * cache, httrackp * opt) {
// lire un fichier.. (compatible \0)
/* Note: NOT utf-8 */
char *readfile(const char *fil) {
char *readfile(char *fil) {
return readfile2(fil, NULL);
}
/* Note: NOT utf-8 */
char *readfile2(const char *fil, LLint * size) {
char *readfile2(char *fil, LLint * size) {
char *adr = NULL;
char catbuff[CATBUFF_SIZE];
INTsys len = 0;
@@ -2030,7 +2030,7 @@ char *readfile2(const char *fil, LLint * size) {
if (len >= 0) { // exists
FILE *fp;
fp = fopen(fconv(catbuff, sizeof(catbuff), fil), "rb");
fp = fopen(fconv(catbuff, fil), "rb");
if (fp != NULL) { // n'existe pas (!)
adr = (char *) malloct(len + 1);
if (size != NULL)
@@ -2049,13 +2049,13 @@ char *readfile2(const char *fil, LLint * size) {
}
/* Note: utf-8 */
char *readfile_utf8(const char *fil) {
char *readfile_utf8(char *fil) {
char *adr = NULL;
char catbuff[CATBUFF_SIZE];
const off_t len = fsize_utf8(fil);
if (len >= 0) { // exists
FILE *const fp = FOPEN(fconv(catbuff, sizeof(catbuff), fil), "rb");
FILE *const fp = FOPEN(fconv(catbuff, fil), "rb");
if (fp != NULL) { // n'existe pas (!)
adr = (char *) malloct(len + 1);
@@ -2074,18 +2074,18 @@ char *readfile_utf8(const char *fil) {
}
/* Note: NOT utf-8 */
char *readfile_or(const char *fil, const char *defaultdata) {
const char *realfile = fil;
char *readfile_or(char *fil, char *defaultdata) {
char *realfile = fil;
char *ret;
char catbuff[CATBUFF_SIZE];
if (!fexist(fil))
realfile = fconcat(catbuff, sizeof(catbuff), hts_rootdir(NULL), fil);
realfile = fconcat(catbuff, hts_rootdir(NULL), fil);
ret = readfile(realfile);
if (ret)
return ret;
else {
char *adr = malloct(strlen(defaultdata) + 1);
char *adr = malloct(strlen(defaultdata) + 2);
if (adr) {
strcpybuff(adr, defaultdata);

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,8 +40,9 @@ Please visit our Website: http://www.httrack.com
#include "htsbase.h"
#include "htsnet.h"
#include "htslib.h"
#include "htscore.h"
#ifndef _WIN32_WCE
#include <fcntl.h>
#endif
#ifdef _WIN32
#else
#include <arpa/inet.h>
@@ -78,25 +79,40 @@ HTSEXT_API T_SOC catch_url_init_std(int *port_prox, char *adr_prox) {
// 1- Init the URL catcher
// catch_url_init(&port,&return_host);
HTSEXT_API T_SOC catch_url_init(int *port, /* 128 bytes */ char *adr) {
HTSEXT_API T_SOC catch_url_init(int *port, char *adr) {
T_SOC soc = INVALID_SOCKET;
char h_loc[256];
char h_loc[256 + 2];
if (gethostname(h_loc, sizeof(h_loc)) == 0) { // host name
if (gethostname(h_loc, 256) == 0) { // host name
SOCaddr server;
if (hts_dns_resolve_nocache(h_loc, &server) != NULL) { // notre host
int server_size = sizeof(server);
t_hostent *hp_loc;
t_fullhostent buffer;
// effacer structure
memset(&server, 0, sizeof(server));
if ((hp_loc = vxgethostbyname(h_loc, &buffer))) { // notre host
// copie adresse
SOCaddr_copyaddr(server, server_size, hp_loc->h_addr_list[0],
hp_loc->h_length);
if ((soc =
(T_SOC) socket(SOCaddr_sinfamily(server), SOCK_STREAM,
0)) != INVALID_SOCKET) {
SOCaddr_initport(server, *port);
if (bind(soc, &SOCaddr_sockaddr(server), SOCaddr_size(server)) == 0) {
if (bind(soc, (struct sockaddr *) &server, server_size) == 0) {
SOCaddr server2;
SOClen len = SOCaddr_capacity(server2);
SOClen len;
if (getsockname(soc, &SOCaddr_sockaddr(server2), &len) == 0) {
len = sizeof(server2);
// effacer structure
memset(&server2, 0, sizeof(server2));
if (getsockname(soc, (struct sockaddr *) &server2, &len) == 0) {
*port = ntohs(SOCaddr_sinport(server)); // récupérer port
if (listen(soc, 1) >= 0) {
SOCaddr_inetntoa(adr, 128, server2);
if (listen(soc, 10) >= 0) { // au pif le 10
SOCaddr_inetntoa(adr, 128, server2, len);
} else {
#ifdef _WIN32
closesocket(soc);
@@ -154,13 +170,15 @@ HTSEXT_API int catch_url(T_SOC soc, char *url, char *method, char *data) {
/* INFOS */
{
SOCaddr server2;
SOClen len = SOCaddr_capacity(server2);
SOClen len = sizeof(server2);
if (getpeername(soc, &SOCaddr_sockaddr(server2), &len) == 0) {
// effacer structure
memset(&server2, 0, sizeof(server2));
if (getpeername(soc, (struct sockaddr *) &server2, &len) == 0) {
char dot[256 + 2];
SOCaddr_inetntoa(dot, sizeof(dot), server2);
sprintf(url, "%s:%d", dot, ntohs(SOCaddr_sinport(server2)));
SOCaddr_inetntoa(dot, 256, server2, sizeof(server2));
sprintf(url, "%s:%d", dot, htons(SOCaddr_sinport(server2)));
}
}
/* INFOS */
@@ -175,20 +193,21 @@ HTSEXT_API int catch_url(T_SOC soc, char *url, char *method, char *data) {
socinput(soc, line, 1000);
if (strnotempty(line)) {
if (sscanf(line, "%s %s %s", method, url, protocol) == 3) {
lien_adrfil af;
char BIGSTK url_adr[HTS_URLMAXSIZE * 2];
char BIGSTK url_fil[HTS_URLMAXSIZE * 2];
// méthode en majuscule
size_t i;
int r = 0;
af.adr[0] = af.fil[0] = '\0';
url_adr[0] = url_fil[0] = '\0';
//
for(i = 0; method[i] != '\0'; i++) {
if ((method[i] >= 'a') && (method[i] <= 'z'))
method[i] -= ('a' - 'A');
}
// adresse du lien
if (ident_url_absolute(url, &af) >= 0) {
if (ident_url_absolute(url, url_adr, url_fil) >= 0) {
// Traitement des en-têtes
char BIGSTK loc[HTS_URLMAXSIZE * 2];
htsblk blkretour;
@@ -197,7 +216,7 @@ HTSEXT_API int catch_url(T_SOC soc, char *url, char *method, char *data) {
//memset(&blkretour, 0, sizeof(htsblk)); // effacer
blkretour.location = loc; // si non nul, contiendra l'adresse véritable en cas de moved xx
// Lire en têtes restants
sprintf(data, "%s %s %s\r\n", method, af.fil, protocol);
sprintf(data, "%s %s %s\r\n", method, url_fil, protocol);
while(strnotempty(line)) {
socinput(soc, line, 1000);
treathead(NULL, NULL, NULL, &blkretour, line); // traiter

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -43,6 +43,12 @@ Please visit our Website: http://www.httrack.com
// Fonctions
void socinput(T_SOC soc, char *s, int max);
#ifndef HTTRACK_DEFLIB
HTSEXT_API T_SOC catch_url_init_std(int *port_prox, char *adr_prox);
HTSEXT_API T_SOC catch_url_init(int *port, char *adr);
HTSEXT_API int catch_url(T_SOC soc, char *url, char *method, char *data);
#endif
#define CATCH_RESPONSE \
"HTTP/1.0 200 OK\r\n"\
"Content-type: text/html\r\n"\

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,19 +33,8 @@ Please visit our Website: http://www.httrack.com
#include "htscharset.h"
#include "htsbase.h"
#include "punycode.h"
#include "htssafe.h"
#ifdef _WIN32
#include <stddef.h>
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
#elif (defined(SOLARIS) || defined(sun) || defined(HAVE_INTTYPES_H) \
|| defined(BSD) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD_kernel__))
#include <inttypes.h>
#else
#include <stdint.h>
#endif
#include <stdarg.h>
#include <assert.h>
int hts_isStringAscii(const char *s, size_t size) {
size_t i;
@@ -60,40 +49,6 @@ int hts_isStringAscii(const char *s, size_t size) {
return 1;
}
#define IS_ALNUM(C) ( ((C) >= 'A' && (C) <= 'Z') || ((C) >= 'a' && (C) <= 'z') || ((C) >= '0' && (C) <= '9') )
#define CHAR_LOWER(C) ( ((C) >= 'A' && (C) <= 'Z') ? ((C) + 'a' - 'A') : (C) )
static int hts_equalsAlphanum(const char *a, const char *b) {
size_t i, j;
for(i = 0, j = 0;; i++, j++) {
/* Skip non-alnum */
for(; a[i] != '\0' && !IS_ALNUM(a[i]); i++) ;
for(; b[j] != '\0' && !IS_ALNUM(b[j]); j++) ;
/* Compare */
if (CHAR_LOWER(a[i]) != CHAR_LOWER(b[j])) {
break;
}
/* End of string ? (note: a[i] == b[j]) */
else if (a[i] == '\0') {
return 1;
}
}
return 0;
}
#undef IS_ALNUM
#undef CHAR_LOWER
/* Copy the memory region [s .. s + size - 1 ] as a \0-terminated string. */
static char *hts_stringMemCopy(const char *s, size_t size) {
char *dest = malloc(size + 1);
if (dest != NULL) {
memcpy(dest, s, size);
dest[size] = '\0';
return dest;
}
return NULL;
}
#ifdef _WIN32
typedef struct wincodepage_t wincodepage_t;
@@ -252,17 +207,45 @@ static const wincodepage_t codepages[] = {
UINT hts_getCodepage(const char *name) {
int id;
#define IS_ALNUM(C) ( ((C) >= 'A' && (C) <= 'Z') || ((C) >= 'a' && (C) <= 'z') || ((C) >= '0' && (C) <= '9') )
#define CHAR_LOWER(C) ( ((C) >= 'A' && (C) <= 'Z') ? ((C) + 'a' - 'A') : (C) )
for(id = 0; codepages[id].name != NULL; id++) {
int i, j;
/* Compare the two strings, lowercase and alphanum only (ISO88591 == iso-8859-1) */
if (hts_equalsAlphanum(name, codepages[id].name)) {
return codepages[id].codepage;
const char *a = name, *b = codepages[id].name;
for(i = 0, j = 0;; i++, j++) {
/* Skip non-alnum */
for(; a[i] != '\0' && !IS_ALNUM(a[i]); i++) ;
for(; b[j] != '\0' && !IS_ALNUM(b[j]); j++) ;
/* Compare */
if (CHAR_LOWER(a[i]) != CHAR_LOWER(b[j])) {
break;
}
/* End of string ? (note: a[i] == b[j]) */
else if (a[i] == '\0') {
return codepages[id].codepage;
}
}
}
#undef IS_ALNUM
#undef CHAR_LOWER
/* Not found */
return 0;
}
static char *strndup(const char *s, size_t size) {
char *dest = malloc(size + 1);
if (dest != NULL) {
memcpy(dest, s, size);
dest[size] = '\0';
return dest;
}
return NULL;
}
LPWSTR hts_convertStringToUCS2(const char *s, int size, UINT cp, int *pwsize) {
/* Size in wide chars of the output */
const int wsize = MultiByteToWideChar(cp, 0, (LPCSTR) s, size, NULL, 0);
@@ -319,11 +302,11 @@ char *hts_convertUCS2StringToUTF8(LPWSTR woutput, int wsize) {
char *hts_convertStringCPToUTF8(const char *s, size_t size, UINT cp) {
/* Empty string ? */
if (size == 0) {
return hts_stringMemCopy(s, size);
return strndup(s, size);
}
/* Already UTF-8 ? */
if (cp == CP_UTF8 || hts_isStringAscii(s, size)) {
return hts_stringMemCopy(s, size);
return strndup(s, size);
}
/* Other (valid) charset */
else if (cp != 0) {
@@ -346,11 +329,11 @@ char *hts_convertStringCPToUTF8(const char *s, size_t size, UINT cp) {
char *hts_convertStringCPFromUTF8(const char *s, size_t size, UINT cp) {
/* Empty string ? */
if (size == 0) {
return hts_stringMemCopy(s, size);
return strndup(s, size);
}
/* Already UTF-8 ? */
if (cp == CP_UTF8 || hts_isStringAscii(s, size)) {
return hts_stringMemCopy(s, size);
return strndup(s, size);
}
/* Other (valid) charset */
else if (cp != 0) {
@@ -389,71 +372,24 @@ char *hts_convertStringSystemToUTF8(const char *s, size_t size) {
#else
#include <errno.h>
#if ( defined(HTS_USEICONV) && ( HTS_USEICONV == 0 ) )
#define DISABLE_ICONV
#endif
#ifndef DISABLE_ICONV
#include <iconv.h>
#else
#include "htscodepages.h"
/* decode from a codepage to UTF-8 */
static char* hts_codepageToUTF8(const char *codepage, const char *s) {
/* find the given codepage */
size_t i;
for(i = 0 ; table_mappings[i].name != NULL
&& !hts_equalsAlphanum(table_mappings[i].name, codepage) ; i++) ;
/* found ; decode */
if (table_mappings[i].name != NULL) {
size_t j, k;
char *dest = NULL;
size_t capa = 0;
#define MAX_UTF 8
for(j = 0, k = 0 ; s[j] != '\0' ; j++) {
const unsigned char c = (unsigned char) s[j];
const hts_UCS4 uc = table_mappings[i].table[c];
const size_t max = k + MAX_UTF;
if (capa < max) {
for(capa = 16 ; capa < max ; capa <<= 1) ;
dest = realloc(dest, capa);
if (dest == NULL) {
return NULL;
}
}
if (dest != NULL) {
const size_t len = hts_writeUTF8(uc, &dest[k], MAX_UTF);
k += len;
assertf(k < capa);
}
}
dest[k] = '\0';
return dest;
#undef MAX_UTF
}
return NULL;
}
#endif
static char *hts_convertStringCharset(const char *s, size_t size,
static char *hts_convertStringToUTF8_(const char *s, size_t size,
const char *to, const char *from) {
/* Empty string ? */
if (size == 0) {
return strdup("");
}
/* Already on correct charset ? */
if (hts_equalsAlphanum(from, to)) {
return hts_stringMemCopy(s, size);
if (strcasecmp(from, to) == 0) {
return strndup(s, size);
}
#ifndef DISABLE_ICONV
/* Find codepage */
else {
const iconv_t cp = iconv_open(to, from);
if (cp != (iconv_t) - 1) {
char *inbuf = (char*) (uintptr_t) s; /* ugly iconv api, sheesh */
char *inbuf = (char *) s;
size_t inbytesleft = size;
size_t outbufCapa = 0;
char *outbuf = NULL;
@@ -506,12 +442,6 @@ static char *hts_convertStringCharset(const char *s, size_t size,
return outbuf;
}
}
#else
/* Limited codepage decoding support only. */
if (hts_isCharsetUTF8(to)) {
return hts_codepageToUTF8(from, s);
}
#endif
/* Error, charset not found! */
return NULL;
@@ -524,11 +454,11 @@ char *hts_convertStringToUTF8(const char *s, size_t size, const char *charset) {
}
/* Already UTF-8 ? */
if (hts_isCharsetUTF8(charset) || hts_isStringAscii(s, size)) {
return hts_stringMemCopy(s, size);
return strndup(s, size);
}
/* Find codepage */
else {
return hts_convertStringCharset(s, size, "utf-8", charset);
return hts_convertStringToUTF8_(s, size, "utf-8", charset);
}
}
@@ -539,11 +469,11 @@ char *hts_convertStringFromUTF8(const char *s, size_t size, const char *charset)
}
/* Already UTF-8 ? */
if (hts_isCharsetUTF8(charset) || hts_isStringAscii(s, size)) {
return hts_stringMemCopy(s, size);
return strndup(s, size);
}
/* Find codepage */
else {
return hts_convertStringCharset(s, size, charset, "utf-8");
return hts_convertStringToUTF8_(s, size, charset, "utf-8");
}
}
@@ -735,21 +665,43 @@ static unsigned int nlz8(unsigned char x) {
26 U+200000 U+3FFFFFF 5 111110xx
31 U+4000000 U+7FFFFFFF 6 1111110x
*/
#define ADD_FIRST_SEQ(UC, LEN, EMITTER) do { \
/* first octet */ \
const unsigned char lead = \
/* leading bits: LEN "1" bits */ \
~ ( ( 1 << (unsigned) ( 8 - LEN ) ) - 1 ) \
/* encoded bits */ \
| ( (UC) >> (unsigned) ( ( LEN - 1 ) * 6 ) ); \
EMITTER(lead); \
} while(0)
#define ADD_NEXT_SEQ(UC, SHIFT, EMITTER) do { \
/* further bytes are encoding 6 bits */ \
const unsigned char next = \
0x80 | ( ( (UC) >> SHIFT ) & 0x3f ); \
EMITTER(next); \
#define ADD_SEQ(UC, BITS, EMITTER) do { \
/* number of data bits in first octet */ \
const int bits = BITS % 6; \
/* shift for first octet */ \
const int shift0 = BITS - bits; \
/* first octet */ \
const unsigned char lead = \
/* leading bits */ \
( 0xff ^ ( ( 1 << ( bits + 1 ) ) - 1 ) ) \
/* encoded bits */ \
| ( ( (UC) >> shift0 ) & ( ( 1 << ( bits + 1 ) ) - 1 ) ) \
; \
/* further bytes are encoding 6 bits */ \
const unsigned char second = \
0x80 | ( ( (UC) >> ( shift0 - 6 ) ) & 0x3f ); \
EMITTER(lead); \
EMITTER(second); \
if (BITS > 6*2) { \
const unsigned char next = \
0x80 | ( ( (UC) >> ( shift0 - 6*2 ) ) & 0x3f ); \
EMITTER(next); \
if (BITS > 6*3) { \
const unsigned char next = \
0x80 | ( ( (UC) >> ( shift0 - 6*3 ) ) & 0x3f ); \
EMITTER(next); \
if (BITS > 6*4) { \
const unsigned char next = \
0x80 | ( ( (UC) >> ( shift0 - 6*4 ) ) & 0x3f ); \
EMITTER(next); \
if (BITS > 6*5) { \
const unsigned char next = \
0x80 | ( ( (UC) >> ( shift0 - 6*5 ) ) & 0x3f ); \
EMITTER(next); \
} \
} \
} \
} \
} while(0)
/* UC is a constant. EMITTER is a macro function taking an unsigned int. */
@@ -757,30 +709,15 @@ static unsigned int nlz8(unsigned char x) {
if ((UC) < 0x80) { \
EMITTER(((unsigned char) (UC))); \
} else if ((UC) < 0x0800) { \
ADD_FIRST_SEQ(UC, 2, EMITTER); \
ADD_NEXT_SEQ(UC, 0, EMITTER); \
ADD_SEQ(UC, 11, EMITTER); \
} else if ((UC) < 0x10000) { \
ADD_FIRST_SEQ(UC, 3, EMITTER); \
ADD_NEXT_SEQ(UC, 6, EMITTER); \
ADD_NEXT_SEQ(UC, 0, EMITTER); \
ADD_SEQ(UC, 16, EMITTER); \
} else if ((UC) < 0x200000) { \
ADD_FIRST_SEQ(UC, 4, EMITTER); \
ADD_NEXT_SEQ(UC, 12, EMITTER); \
ADD_NEXT_SEQ(UC, 6, EMITTER); \
ADD_NEXT_SEQ(UC, 0, EMITTER); \
ADD_SEQ(UC, 21, EMITTER); \
} else if ((UC) < 0x4000000) { \
ADD_FIRST_SEQ(UC, 5, EMITTER); \
ADD_NEXT_SEQ(UC, 18, EMITTER); \
ADD_NEXT_SEQ(UC, 12, EMITTER); \
ADD_NEXT_SEQ(UC, 6, EMITTER); \
ADD_NEXT_SEQ(UC, 0, EMITTER); \
ADD_SEQ(UC, 26, EMITTER); \
} else { \
ADD_FIRST_SEQ(UC, 6, EMITTER); \
ADD_NEXT_SEQ(UC, 24, EMITTER); \
ADD_NEXT_SEQ(UC, 18, EMITTER); \
ADD_NEXT_SEQ(UC, 12, EMITTER); \
ADD_NEXT_SEQ(UC, 6, EMITTER); \
ADD_NEXT_SEQ(UC, 0, EMITTER); \
ADD_SEQ(UC, 31, EMITTER); \
} \
} while(0)
@@ -971,36 +908,31 @@ char *hts_convertStringUTF8ToIDNA(const char *s, size_t size) {
if (HTS_IS_LEADING_UTF8(c)) {
/* commit sequence ? */
if (utfSeq != (size_t) -1) {
/* unicode character */
punycode_uint uc = 0;
/* Reader: can read bytes up to j */
#define RD ( utfSeq < j ? segData[utfSeq++] : -1 )
/* Writer: upon error, return FFFD (replacement character) */
#define WR(C) do { \
if ((C) != -1) { \
/* copy character */ \
assertf(segOutputSize < segSize); \
segInt[segOutputSize++] = (C); \
} \
/* In case of error, abort. */ \
else { \
FREE_BUFFER(); \
return NULL; \
} \
} while(0)
#define WR(C) uc = C != -1 ? (punycode_uint) C : (punycode_uint) 0xfffd
/* Read/Write Unicode character. */
/* Read Unicode character. */
READ_UNICODE(RD, WR);
#undef RD
#undef WR
/* copy character */
assert(segOutputSize < segSize);
segInt[segOutputSize++] = uc;
/* not anymore in sequence */
utfSeq = (size_t) -1;
}
/* ascii ? */
if (c < 0x80) {
assertf(segOutputSize < segSize);
assert(segOutputSize < segSize);
segInt[segOutputSize] = c;
if (c != 0) {
segOutputSize++;
@@ -1201,26 +1133,6 @@ hts_UCS4* hts_convertUTF8StringToUCS4(const char *s, size_t size, size_t *nChars
return dest;
}
int hts_isStringUTF8(const char *s, size_t size) {
const unsigned char *const data = (const unsigned char*) s;
size_t i;
for(i = 0 ; i < size ; ) {
/* Reader: can read bytes up to j */
#define RD ( i < size ? data[i++] : -1 )
/* Writer: upon error, return FFFD (replacement character) */
#define WR(C) if ((C) == -1) { return 0; }
/* Read Unicode character. */
READ_UNICODE(RD, WR);
#undef RD
#undef WR
}
return 1;
}
char *hts_convertUCS4StringToUTF8(const hts_UCS4 *s, size_t nChars) {
size_t i;
char *dest = NULL;

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -85,11 +85,6 @@ extern char *hts_getCharsetFromMeta(const char *html, size_t size);
**/
extern int hts_isStringAscii(const char *s, size_t size);
/**
* Is the given string an UTF-8 string ?
**/
extern int hts_isStringUTF8(const char *s, size_t size);
/**
* Is the given charset the UTF-8 charset ?
**/

File diff suppressed because it is too large Load Diff

View File

@@ -1,128 +0,0 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Important notes:
- We hereby ask people using this source NOT to use it in purpose of grabbing
emails addresses, or collecting any other private information on persons.
This would disgrace our work, and spoil the many hours we spent on it.
Please visit our Website: http://www.httrack.com
*/
/* ------------------------------------------------------------ */
/* File: Subroutines */
/* Author: Xavier Roche */
/* ------------------------------------------------------------ */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "httrack.h"
#include "httrack-library.h"
// concat, concatène deux chaines et renvoi le résultat
// permet d'alléger grandement le code
#undef concat
HTSEXT_API char *concat(char *catbuff, size_t size, const char *a, const char *b) {
size_t max = 0;
RUNTIME_TIME_CHECK_SIZE(size);
catbuff[0] = '\0';
if (a != NULL && a[0] != '\0') {
max += strlen(a);
if (max + 1 >= size) {
return catbuff;
}
strcat(catbuff, a);
}
if (b != NULL && b[0] != '\0') {
max += strlen(b);
if (max + 1 >= size) {
return catbuff;
}
strcat(catbuff, b);
}
return catbuff;
}
// conversion fichier / -> antislash
static char *__fconv(char *a) {
#if HTS_DOSNAME
int i;
for(i = 0; a[i] != 0; i++)
if (a[i] == '/') // Unix-to-DOS style
a[i] = '\\';
#endif
return a;
}
#undef fconcat
#undef concat
HTSEXT_API char *fconcat(char *catbuff, size_t size, const char *a, const char *b) {
RUNTIME_TIME_CHECK_SIZE(size);
return __fconv(concat(catbuff, size, a, b));
}
#undef fconv
HTSEXT_API char *fconv(char *catbuff, size_t size, const char *a) {
RUNTIME_TIME_CHECK_SIZE(size);
return __fconv(concat(catbuff, size, a, ""));
}
/* / et \\ en / */
static char *__fslash(char *a) {
int i;
for(i = 0; a[i] != 0; i++)
if (a[i] == '\\') // convertir
a[i] = '/';
return a;
}
#undef fslash
char *fslash(char *catbuff, size_t size, const char *a) {
RUNTIME_TIME_CHECK_SIZE(size);
return __fslash(concat(catbuff, size, a, NULL));
}
// extension : html,gif..
HTSEXT_API const char *get_ext(char *catbuff, size_t size, const char *fil) {
size_t i, last;
RUNTIME_TIME_CHECK_SIZE(size);
for(i = 0, last = 0 ; fil[i] != '\0' && fil[i] != '?' ; i++) {
if (fil[i] == '.') {
last = i + 1;
}
}
if (last != 0 && i > last) {
const size_t len = i - last;
if (len < size) {
catbuff[0] = '\0';
strncat(catbuff, &fil[last], size);
return catbuff;
}
}
return "";
}

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -51,6 +51,9 @@ Please visit our Website: http://www.httrack.com
// nom par défaut pour / en ftp
#define DEFAULT_FTP "index.txt"
// nom par défaut pour / en mms
#define DEFAULT_MMS "default.avi"
// extension par défaut pour fichiers n'en ayant pas
#define DEFAULT_EXT ".html"
#define DEFAULT_EXT_SHORT ".htm"

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -42,8 +42,12 @@ Please visit our Website: http://www.httrack.com
#include <sys/types.h>
#include <sys/stat.h>
#ifdef _WIN32
#ifndef _WIN32_WCE
#include <conio.h>
#endif
#ifndef _WIN32_WCE
#include <direct.h>
#endif
#else
#ifndef _WIN32
#include <unistd.h>
@@ -123,30 +127,86 @@ typedef struct filecreate_params filecreate_params;
// gestion hashage
#include "htshash.h"
#include "coucal.h"
#include "htsinthash.h"
#include "htsdefines.h"
#include "hts-indextmpl.h"
// adr, fil
#ifndef HTS_DEF_FWSTRUCT_lien_adrfil
#define HTS_DEF_FWSTRUCT_lien_adrfil
typedef struct lien_adrfil lien_adrfil;
// structure d'un lien
#ifndef HTS_DEF_FWSTRUCT_lien_url
#define HTS_DEF_FWSTRUCT_lien_url
typedef struct lien_url lien_url;
#endif
struct lien_adrfil {
char adr[HTS_URLMAXSIZE * 2]; // adresse
char fil[HTS_URLMAXSIZE * 2]; // nom du fichier distant
struct lien_url {
char firstblock; // flag 1=premier malloc
char link_import; // lien importé à la suite d'un moved - ne pas appliquer les règles classiques up/down
int depth; // profondeur autorisée lien ; >0 forte 0=faible
int pass2; // traiter après les autres, seconde passe. si == -1, lien traité en background
int premier; // pointeur sur le premier lien qui a donné lieu aux autres liens du domaine
int precedent; // pointeur sur le lien qui a donné lieu à ce lien précis
//int moved; // pointeur sur moved
int retry; // nombre de retry restants
int testmode; // mode test uniquement, envoyer juste un head!
char *adr; // adresse
char *fil; // nom du fichier distant
char *sav; // nom à sauver sur disque (avec chemin éventuel)
char *cod; // chemin codebase éventuel si classe java
char *former_adr; // adresse initiale (avant éventuel moved), peut être nulle
char *former_fil; // nom du fichier distant initial (avant éventuel moved), peut être nul
// pour optimisation:
int hash_next[3]; // prochain lien avec même valeur hash
};
// adr, fil, save
#ifndef HTS_DEF_FWSTRUCT_lien_adrfilsave
#define HTS_DEF_FWSTRUCT_lien_adrfilsave
typedef struct lien_adrfilsave lien_adrfilsave;
// chargement de fichiers en 'arrière plan'
#ifndef HTS_DEF_FWSTRUCT_lien_back
#define HTS_DEF_FWSTRUCT_lien_back
typedef struct lien_back lien_back;
#endif
struct lien_back {
#if DEBUG_CHECKINT
char magic;
#endif
char url_adr[HTS_URLMAXSIZE * 2]; // adresse
char url_fil[HTS_URLMAXSIZE * 2]; // nom du fichier distant
char url_sav[HTS_URLMAXSIZE * 2]; // nom à sauver sur disque (avec chemin éventuel)
char referer_adr[HTS_URLMAXSIZE * 2]; // adresse host page referer
char referer_fil[HTS_URLMAXSIZE * 2]; // fichier page referer
char location_buffer[HTS_URLMAXSIZE * 2]; // "location" en cas de "moved" (302,..)
char *tmpfile; // nom à sauver temporairement (compressé)
char tmpfile_buffer[HTS_URLMAXSIZE * 2]; // buffer pour le nom à sauver temporairement
char send_too[1024]; // données à envoyer en même temps que le header
int status; // status (-1=non utilisé, 0: prêt, >0: opération en cours)
int locked; // locked (to be used soon)
int testmode; // mode de test
int timeout; // gérer des timeouts? (!=0 : nombre de secondes)
TStamp timeout_refresh; // si oui, time refresh
int rateout; // timeout refresh? (!=0 : taux minimum toléré en octets/s)
TStamp rateout_time; // si oui, date de départ
LLint maxfile_nonhtml; // taille max d'un fichier non html
LLint maxfile_html; // idem pour un ficheir html
htsblk r; // structure htsblk de chaque objet en background
int is_update; // mode update
int head_request; // requète HEAD?
LLint range_req_size; // range utilisé
TStamp ka_time_start; // refresh time for KA
//
int http11; // L'en tête doit être signé HTTP/1.1 et non HTTP/1.0
int is_chunk; // chunk?
char *chunk_adr; // adresse chunk en cours de chargement
LLint chunk_size; // taille chunk en cours de chargement
LLint chunk_blocksize; // taille data declaree par le chunk
LLint compressed_size; // taille compressés (stats uniquement)
//
//int links_index; // to access liens[links_index]
//
char info[256]; // éventuel status pour le ftp
int stop_ftp; // flag stop pour ftp
int finalized; // finalized (optim memory)
int early_add; // was added before link heap saw it
#if DEBUG_CHECKINT
char magic2;
#endif
struct lien_adrfilsave {
lien_adrfil af;
char save[HTS_URLMAXSIZE * 2]; // nom à sauver sur disque (avec chemin éventuel)
};
#ifndef HTS_DEF_FWSTRUCT_struct_back
@@ -156,7 +216,7 @@ typedef struct struct_back struct_back;
struct struct_back {
lien_back *lnk;
int count;
coucal ready;
inthash ready;
LLint ready_size_bytes;
};
@@ -178,9 +238,9 @@ struct cache_back {
FILE *txt; // liste des fichiers (info)
char lastmodified[256];
// HASH
coucal hashtable;
inthash hashtable;
// HASH for tests (naming subsystem)
coucal cached_tests;
inthash cached_tests;
// fichiers log optionnels
FILE *log;
FILE *errlog;
@@ -200,19 +260,9 @@ struct cache_back {
typedef struct hash_struct hash_struct;
#endif
struct hash_struct {
/* Links big array reference */
const lien_url *const*const*liens;
/* Savename (case insensitive ; lowercased) */
coucal sav;
/* Address and path */
coucal adrfil;
/* Former address and path */
coucal former_adrfil;
/** Buffers **/
int normalized;
char normfil[HTS_URLMAXSIZE * 2];
char normfil2[HTS_URLMAXSIZE * 2];
char catbuff[CATBUFF_SIZE];
lien_url **liens; // pointeur sur liens
int max_lien; // indice le plus grand rencontré
int hash[3][HTS_HASH_SIZE]; // tables pour sav/adr-fil/former_adr-former_fil
};
#ifndef HTS_DEF_FWSTRUCT_filecreate_params
@@ -224,20 +274,6 @@ struct filecreate_params {
char path[HTS_URLMAXSIZE * 2];
};
/* Access macros. */
#define heap(N) (opt->liens[N])
#define heap_top_index() (opt->lien_tot - 1)
#define heap_top() (heap(heap_top_index()))
#define urladr() (heap(ptr)->adr)
#define urlfil() (heap(ptr)->fil)
#define savename() (heap(ptr)->sav)
#define parenturladr() (heap(heap(ptr)->precedent)->adr)
#define parenturlfil() (heap(heap(ptr)->precedent)->fil)
#define parentsavename() (heap(heap(ptr)->precedent)->sav)
#define relativeurladr() ((!parent_relative)?urladr():parenturladr())
#define relativeurlfil() ((!parent_relative)?urlfil():parenturlfil())
#define relativesavename() ((!parent_relative)?savename():parentsavename())
/* Library internal definictions */
#ifdef HTS_INTERNAL_BYTECODE
@@ -258,25 +294,31 @@ HTS_STATIC int cache_readable(cache_back * cache) {
/* Library internal definictions */
#ifdef HTS_INTERNAL_BYTECODE
//
#ifndef HTTRACK_DEFLIB
HTSEXT_API int hts_is_parsing(httrackp * opt, int flag);
HTSEXT_API int hts_is_testing(httrackp * opt);
HTSEXT_API int hts_addurl(httrackp * opt, char **url);
HTSEXT_API int hts_resetaddurl(httrackp * opt);
HTSEXT_API int copy_htsopt(const httrackp * from, httrackp * to);
HTSEXT_API char *hts_errmsg(httrackp * opt);
HTSEXT_API int hts_setpause(httrackp * opt, int);
//
HTSEXT_API int hts_is_exiting(httrackp * opt);
HTSEXT_API int hts_request_stop(httrackp * opt, int force);
//
HTSEXT_API int hts_cancel_file_push(httrackp * opt, const char *url);
HTSEXT_API void hts_cancel_test(httrackp * opt);
HTSEXT_API void hts_cancel_parsing(httrackp * opt);
#endif
char *hts_cancel_file_pop(httrackp * opt);
#endif
// add a link on the heap
int hts_record_link(httrackp * opt,
const char *address, const char *file, const char *save,
const char *ref_address, const char *ref_file,
const char *codebase);
// index of the latest added link
size_t hts_record_link_latest(httrackp *opt);
// invalidate an entry
void hts_invalidate_link(httrackp * opt, int lpos);
// wipe all records
void hts_record_init(httrackp *opt);
void hts_record_free(httrackp *opt);
//
//int httpmirror(char* url,int level,httrackp opt);
int httpmirror(char *url1, httrackp * opt);
@@ -286,7 +328,8 @@ int filesave(httrackp * opt, const char *adr, int len, const char *s,
char *hts_cancel_file_pop(httrackp * opt);
int check_fatal_io_errno(void);
int engine_stats(void);
void host_ban(httrackp * opt, int ptr, struct_back * sback, const char *host);
void host_ban(httrackp * opt, lien_url ** liens, int ptr, int lien_tot,
struct_back * sback, char *host);
FILE *filecreate(filenote_strc * strct, const char *s);
FILE *fileappend(filenote_strc * strct, const char *s);
int filecreateempty(filenote_strc * strct, const char *filename);
@@ -298,14 +341,19 @@ void usercommand(httrackp * opt, int exe, const char *cmd, const char *file,
void usercommand_exe(const char *cmd, const char *file);
int filters_init(char ***ptrfilters, int maxfilter, int filterinc);
#ifndef HTTRACK_DEFLIB
HTSEXT_API int structcheck(const char *path);
HTSEXT_API int structcheck_utf8(const char *path);
HTSEXT_API int dir_exists(const char *path);
#endif
int fspc(httrackp * opt, FILE * fp, const char *type);
char *next_token(char *p, int flag);
//
char *readfile(const char *fil);
char *readfile2(const char *fil, LLint * size);
char *readfile_utf8(const char *fil);
char *readfile_or(const char *fil, const char *defaultdata);
char *readfile(char *fil);
char *readfile2(char *fil, LLint * size);
char *readfile_utf8(char *fil);
char *readfile_or(char *fil, char *defaultdata);
#if 0
void check_rate(TStamp stat_timestart, int maxrate);
@@ -319,11 +367,18 @@ int liens_record(char *adr, char *fil, char *save, char *former_adr,
int back_pluggable_sockets(struct_back * sback, httrackp * opt);
int back_pluggable_sockets_strict(struct_back * sback, httrackp * opt);
int back_fill(struct_back * sback, httrackp * opt, cache_back * cache,
int ptr, int numero_passe);
int backlinks_done(const struct_back * sback, lien_url ** liens,
int lien_tot, int ptr);
lien_url ** liens, int ptr, int numero_passe, int lien_tot);
int backlinks_done(struct_back * sback, lien_url ** liens, int lien_tot,
int ptr);
int back_fillmax(struct_back * sback, httrackp * opt, cache_back * cache,
int ptr, int numero_passe);
lien_url ** liens, int ptr, int numero_passe, int lien_tot);
// cancel file
#ifndef HTTRACK_DEFLIB
HTSEXT_API int hts_cancel_file_push(httrackp * opt, const char *url);
HTSEXT_API void hts_cancel_test(httrackp * opt);
HTSEXT_API void hts_cancel_parsing(httrackp * opt);
#endif
int ask_continue(httrackp * opt);
int nombre_digit(int n);
@@ -347,6 +402,7 @@ int htsAddLink(htsmoduleStruct * str, char *link);
// Void
void voidf(void);
#define HTS_TOPINDEX "TOP_INDEX_HTTRACK"
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -43,6 +43,11 @@ Please visit our Website: http://www.httrack.com
/* Library internal definictions */
#ifdef HTS_INTERNAL_BYTECODE
// Main, récupère les paramètres et appelle le robot
#ifndef HTTRACK_DEFLIB
HTSEXT_API int hts_main(int argc, char **argv);
HTSEXT_API int hts_main2(int argc, char **argv, httrackp * opt);
#endif
int cmdl_opt(char *s);
int check_path(String * s, char *defaultname);

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -231,15 +231,8 @@ struct t_hts_callback_ref {
size_t offset;
};
#ifdef __cplusplus
extern "C" {
#endif
extern const t_hts_htmlcheck_callbacks default_callbacks;
#ifdef __cplusplus
}
#endif
extern const t_hts_callback_ref default_callbacks_ref[];
#define HT_PRINT(A) strcatbuff(opt->state.HTbuff,A);
#define HT_REQUEST_START opt->state.HTbuff[0]='\0';

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,9 +30,10 @@ Please visit our Website: http://www.httrack.com
/* Author: Xavier Roche */
/* ------------------------------------------------------------ */
#include <assert.h>
#include "htscharset.h"
#include "htsencoding.h"
#include "htssafe.h"
/* static int decode_entity(const unsigned int hash, const size_t len);
*/
@@ -66,7 +67,7 @@ int hts_unescapeEntitiesWithCharset(const char *src, char *dest, const size_t ma
int hex;
unsigned int hash;
assertf(max != 0);
assert(max != 0);
for(i = 0, j = 0, ampStart = (size_t) -1, ampStartDest = 0,
uc = -1, hex = 0, hash = 0 ; src[i] != '\0' ; i++) {
/* start of entity */
@@ -208,8 +209,8 @@ int hts_unescapeUrlSpecial(const char *src, char *dest, const size_t max,
int seenQuery = 0;
char utfBuffer[32];
assertf(src != dest);
assertf(max != 0);
assert(src != dest);
assert(max != 0);
for(i = 0, j = 0, k = 0, utfBufferJ = 0, utfBufferSize = 0,
lastI = (size_t) -1, lastJ = (size_t) -1
@@ -270,7 +271,7 @@ int hts_unescapeUrlSpecial(const char *src, char *dest, const size_t max,
/* First character */
if (k == 0) {
/* New destination-centric offset of utf-8 buffer beginning */
if (lastI != (size_t) -1 && i == lastI + 2) { /* just read a %xx */
if (i == lastI + 2) { /* just read a %xx */
utfBufferJ = lastJ; /* position of % */
} else {
utfBufferJ = j; /* current position otherwise */

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -86,7 +86,8 @@ extern int hts_unescapeUrl(const char *src, char *dest, const size_t max);
* Note: source and destination MUST NOT be the same.
* Returns 0 upon success, -1 upon overflow or error.
**/
extern int hts_unescapeUrlSpecial(const char *src, char *dest, const size_t max,
const int flags);
extern int hts_unescapeUrlSpecial(const char *src,
char *dest, const size_t max,
int flags);
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -56,7 +56,7 @@ EOF
i=$[${i}+1]
done
echo -e " /* $A */"
echo -e " case ${hash}u:"
echo -e " case ${hash}:"
echo -e " if (len == ${#ent} /* && strncmp(ent, \"${ent}\") == 0 */) {"
echo -e " return ${code};"
echo -e " }"

View File

@@ -1,7 +1,7 @@
/* ------------------------------------------------------------ */
/*
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Copyright (C) 1998-2013 Xavier Roche and other contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -54,7 +54,7 @@ Please visit our Website: http://www.httrack.com
// optionnel: taille à contrôller (ou numéro, etc) en pointeur
// (en de détection de *size, la taille limite est écrite par dessus *size)
// exemple: +-*.gif*[<5] == supprimer GIF si <5KB
int fa_strjoker(int type, char **filters, int nfil, const char *nom, LLint * size,
int fa_strjoker(int type, char **filters, int nfil, char *nom, LLint * size,
int *size_flag, int *depth) {
int verdict = 0; // on sait pas
int i;
@@ -101,7 +101,7 @@ int fa_strjoker(int type, char **filters, int nfil, const char *nom, LLint * siz
// cet algo est 'un peu' récursif mais ne consomme pas trop de tm
// * = toute lettre
// --?-- : spécifique à HTTrack et aux ?
HTS_INLINE const char *strjoker(const char *chaine, const char *joker, LLint * size,
HTS_INLINE char *strjoker(char *chaine, char *joker, LLint * size,
int *size_flag) {
//int err=0;
if (strnotempty(joker) == 0) { // fin de chaine joker
@@ -262,7 +262,7 @@ HTS_INLINE const char *strjoker(const char *chaine, const char *joker, LLint * s
{
int i, max;
const char *adr;
char *adr;
// la chaine doit se terminer exactement
if (cut) {
@@ -335,8 +335,8 @@ HTS_INLINE const char *strjoker(const char *chaine, const char *joker, LLint * s
// exemple: find dans un texte de strcpybuff(*[A-Z,a-z],"*[0-9]"); va rechercher la première occurence
// d'un strcpy sur une variable ayant un nom en lettres et copiant une chaine de chiffres
// ATTENTION!! Eviter les jokers en début, où gare au temps machine!
const char *strjokerfind(const char *chaine, const char *joker) {
const char *adr;
char *strjokerfind(char *chaine, char *joker) {
char *adr;
while(*chaine) {
if ((adr = strjoker(chaine, joker, NULL, NULL))) { // ok trouvé

Some files were not shown because too many files have changed in this diff Show More