707 Commits

Author SHA1 Message Date
Xavier Roche 2d3625e24b created tag 3.48.10 2014-06-04 19:02:15 +00:00
Xavier Roche 04cfb2db0e Updated man 2014-06-04 17:41:42 +00:00
Xavier Roche bdbf66b45c Updated configure 2014-06-04 17:10:40 +00:00
Xavier Roche 6bace27858 3.48.10 2014-06-04 17:06:43 +00:00
Xavier Roche 7d3d496a7f 3.48-10 2014-06-04 17:02:44 +00:00
Xavier Roche 7826a49f59 Do not depend on SetDllDirectory (Windows 2003) as it breaks Windows 2000
* closes: #45
2014-06-04 16:10:38 +00:00
Xavier Roche ed79961b7a Potential fix for htshash.c:330 assertion failure: "error invalidating hash entry" 2014-06-03 16:26:25 +00:00
Xavier Roche d3c14c9d1f Missing string.h (moe) 2014-05-30 16:09:02 +00:00
Xavier Roche 7026ba7c7b Better "too many links" reporting. 2014-05-29 18:10:14 +00:00
Xavier Roche abe98f238d Allocation failure handling. 2014-05-29 17:58:05 +00:00
Xavier Roche 8dd39bc909 Take in account opt->maxlink is non-zero 2014-05-29 17:29:02 +00:00
Xavier Roche 17ec3ecd6b Fixed regression over ./ 2014-05-29 16:14:57 +00:00
Xavier Roche c7636d4f90 tr -d '\r' 2014-05-29 16:03:04 +00:00
Xavier Roche 3a7e594166 Fixed API change. 2014-05-29 15:57:57 +00:00
Xavier Roche b88395a16c Unused function. 2014-05-29 15:53:30 +00:00
Xavier Roche 4f5776a8fa Big cleanup: introducing cleaner lien_adrfilsave and lien_adrfil structures holding address/uri or address/uri/filename rather than passing opaque char* of unknown size. 2014-05-29 15:42:53 +00:00
Xavier Roche 8adeadbdb6 Removed duplicate opt->lien_tot and opt->liens members in some functions. 2014-05-29 09:41:59 +00:00
Xavier Roche c64b8d6e88 Fixes. 2014-05-29 09:34:37 +00:00
Xavier Roche 194ebad4c6 Added off_t_to_size_t() 2014-05-29 08:30:43 +00:00
Xavier Roche ae6d05fbb3 Allocation cleanup (why "+2", why ?) 2014-05-29 08:20:07 +00:00
Xavier Roche 803f7b5a33 Added -Wformat-nonliteral flag. 2014-05-28 19:11:04 +00:00
Xavier Roche f919aab408 Added assert 2014-05-28 19:05:31 +00:00
Xavier Roche 0238301aca Replaced sprintf() by hts_template_format_str() 2014-05-28 19:03:26 +00:00
Xavier Roche 3864a45388 Fixed NULL terminated string. 2014-05-28 19:03:07 +00:00
Xavier Roche 5e248cc4e3 Rewrite string template formatting to be format-injection proof. 2014-05-28 18:58:59 +00:00
Xavier Roche 473baf7f95 Fixed heap crawl overflow 2014-05-28 18:41:59 +00:00
Xavier Roche 27752e368c Rewrite template formatting to be format-injection proof. 2014-05-28 18:31:40 +00:00
Xavier Roche 37187f967f Fixed %%% 2014-05-28 18:27:45 +00:00
Xavier Roche 1d07610320 Added AM_PROG_CC_C_O and AM_PROG_LIBTOOL
Removed unused CXX

added the following default compiler flags:
  -Wdeclaration-after-statement
  -Wsequence-point
  -Wparentheses
  -Winit-self
  -Wuninitialized
  -Wformat
  -fstrict-aliasing -Wstrict-aliasing=2

added the following default linker flags:
  -Wl,--discard-all
  -Wl,--no-undefined

Depending on autoconf-archive because using AX_CHECK_COMPILE_FLAG and AX_CHECK_LINK_FLAG
2014-05-28 17:55:49 +00:00
Xavier Roche 49304bbe8f Bad md5. 2014-05-28 17:41:42 +00:00
Xavier Roche 11e069aa07 Really fixed. 2014-05-28 17:06:47 +00:00
Xavier Roche 0c7a0274ca Fixed build. 2014-05-28 16:58:37 +00:00
Xavier Roche f3a4a20750 Fixed const T ** not being castable to const T ** 2014-05-28 16:51:56 +00:00
Xavier Roche e090cd9ccf Added MD5 self-test 2014-05-28 16:50:47 +00:00
Xavier Roche 1bebff2697 Fixed dirty uint32_t cast leading to aliasing issues. 2014-05-28 16:36:24 +00:00
Xavier Roche c7fac4dbca Added Vcs-Browser and Vcs-Svn fields to debian/control 2014-05-28 16:34:06 +00:00
Xavier Roche 0b52cac218 Cleanup, const correctness 2014-05-27 18:55:13 +00:00
Xavier Roche 43b457203b Fixed help option, and too long help line (man: "cannot adjust line") 2014-05-27 17:45:18 +00:00
Xavier Roche fdcff762f6 Rewritten UTF8 writer to avoir spurious GCC 4.8.3 warnings. 2014-05-27 16:35:57 +00:00
Xavier Roche c3987aca71 Export may_unknown and guess_httptype 2014-05-27 16:05:54 +00:00
Xavier Roche f67a86657b tr -d '\r' 2014-05-27 16:05:28 +00:00
Xavier Roche 01edfd6d1e Fixed symbol import. 2014-05-27 16:05:09 +00:00
Xavier Roche a300785d5e tr -d '\r' 2014-05-26 19:32:34 +00:00
Xavier Roche 5364514f34 Big links heap handling cleanup, and removed very old and legacy macros 2014-05-26 19:27:46 +00:00
Xavier Roche f078a39677 Minizip warning fixes. 2014-05-24 11:57:25 +00:00
Xavier Roche 65454f4ff1 Fixed EXTRA_DIST 2014-05-24 11:38:11 +00:00
Xavier Roche 15813b5380 Removed ChangeLogUnzip 2014-05-24 11:31:17 +00:00
Xavier Roche 033ce293b8 Fixed minizip. 2014-05-24 08:37:21 +00:00
Xavier Roche d1913325e4 Missing zflush_file member. 2014-05-24 08:17:08 +00:00
Xavier Roche 882578ed9a Upgraded to minizip 1.1 from zlib 1.2.8 2014-05-24 07:56:11 +00:00
Xavier Roche 1ec8b5fb9e No diff. 2014-05-24 07:50:51 +00:00
Xavier Roche 796c62f07c Diff are better. 2014-05-24 07:45:12 +00:00
Xavier Roche cefcc04266 "const correctness" cleanup
added the following default flags:
  -Wformat
  -Wformat-security
  -Wmultichar
  -Wwrite-strings
fixed several other warnings
2014-05-23 21:33:43 +00:00
Xavier Roche 6ba50a2001 Added symbol visibility features to the build to hide internal symbols (GCC) 2014-05-23 15:28:55 +00:00
Xavier Roche 9315f64b6e 3.48.9 (autoconf) 2014-05-23 15:24:50 +00:00
Xavier Roche feb2a02cc2 3.48.9-1 changelog 2014-05-23 15:23:17 +00:00
Xavier Roche 24ff04fdb7 3.48.9 2014-05-21 17:21:29 +00:00
Xavier Roche 72e0c0601b Cleaner dup 2014-05-21 17:01:30 +00:00
Xavier Roche b72741ddc9 tr -d '\r' 2014-05-19 19:37:40 +00:00
Xavier Roche 1edfda507d Added unit test for issue #44 2014-05-19 19:24:06 +00:00
Xavier Roche 4a62c84479 char* => const char* 2014-05-19 19:17:50 +00:00
Xavier Roche 595d446470 Added strlcpybuff() macro. 2014-05-19 19:15:16 +00:00
Xavier Roche 0474c596b6 Fixed segOutputSize < segSize assertion fails at htscharset.c:993
* closes:#44
2014-05-19 19:12:27 +00:00
Xavier Roche 9f23ea7980 Fixed __builtin___strncat_chk warning 2014-05-18 14:05:08 +00:00
Xavier Roche fe1ec5b0f6 Removed unused variable. 2014-05-18 14:02:06 +00:00
Xavier Roche fd1ab669ad tr -d '\r' 2014-05-18 13:55:54 +00:00
Xavier Roche 34788bb7f6 Backlog for web server to 10. 2014-05-18 13:55:47 +00:00
Xavier Roche 03edb3eac8 Cleanup in callbacks. 2014-05-18 13:43:09 +00:00
Xavier Roche fe7ea8b140 Big cleanup in network address and dns functions:
* removed t_fullhostent insanity
  * removed (struct sockaddr*) casts
  * use SOCaddr everywhere rather than raw struct hostent*
2014-05-18 13:11:40 +00:00
Xavier Roche 1fd27d74af libtool: in_port_t and sa_family_t 2014-05-18 10:59:07 +00:00
Xavier Roche 08a17f31d4 Removed size member from SOCaddr 2014-05-18 10:53:29 +00:00
Xavier Roche 6c8b76e531 Cleanup in socket handling (less ugly casts!) 2014-05-18 09:49:24 +00:00
Xavier Roche 66c8cc32aa Illegal use of strnlen(..., (size_t) -1) 2014-05-17 13:55:17 +00:00
Xavier Roche 2209c7bdd8 Anonymous logging. 2014-05-17 13:29:45 +00:00
Xavier Roche cb0460ddcb Added hts_set_log_vprint_callback() definition 2014-05-17 13:21:03 +00:00
Xavier Roche fb9e02ffb9 Added hts_set_log_vprint_callback() 2014-05-17 13:20:42 +00:00
Xavier Roche ac779cb6a0 Fixed potentiel overrun if the user injects a buggy user-defined structure with a non-terminated %[] 2014-05-17 12:31:37 +00:00
Xavier Roche 0073d3ad05 tr -d '\r' 2014-05-15 19:44:28 +00:00
Xavier Roche 638cc96917 Added some asserts for Android. 2014-05-15 19:33:38 +00:00
Xavier Roche c6e0ad4bce Cosmetic. 2014-05-15 19:27:29 +00:00
Xavier Roche c457788a14 Compile-time checks. 2014-05-15 19:25:27 +00:00
Xavier Roche 216005d33a Fixed uint64_t vs. long long int 2014-05-15 19:24:56 +00:00
Xavier Roche 59008af067 Removed unused variable. 2014-05-15 17:26:46 +00:00
Xavier Roche 3059bd6f53 3.48.8-1 2014-05-15 17:22:16 +00:00
Xavier Roche e5b3c85156 3.48.8 2014-05-15 17:08:29 +00:00
Xavier Roche 843faaf83d WIN32: zlib 1.2.8 2014-05-15 17:06:59 +00:00
Xavier Roche 75969b1147 Cosmetic 2014-05-14 20:27:55 +00:00
Xavier Roche 6ad604624d Fixed macro. 2014-05-14 20:20:01 +00:00
Xavier Roche c05f54ae04 Clean hts_set_error_callback() and hts_get_error_callback() 2014-05-14 20:12:42 +00:00
Xavier Roche ae1db762e7 Missing htsCallbackErr definition 2014-05-14 19:51:33 +00:00
Xavier Roche 16aec722bf 3.48.7 2014-05-14 17:57:18 +00:00
Xavier Roche 4ff55249ed 3.48.7 2014-05-14 17:51:09 +00:00
Xavier Roche fea8122ed3 Fixed hashtable corruption because of dirty code directly modifying the host address in memory, leading to have hashtable positions not anymore valid.
This issue was especially triggered when a redirect was processed ("Warning moved treated for .." messages)
  * closes: #43
2014-05-14 17:48:04 +00:00
Xavier Roche 7323230eb3 Added debug logging facility. 2014-05-14 17:45:51 +00:00
Xavier Roche c9f656fdeb Better stdarg.h 2014-05-13 20:12:10 +00:00
Xavier Roche 042525a1db #include <stdarg.h> 2014-05-13 20:11:41 +00:00
Xavier Roche 3fde59c090 #include <stdarg.h> 2014-05-13 20:11:02 +00:00
Xavier Roche edaaa73328 #include <stdarg.h> 2014-05-13 20:08:53 +00:00
Xavier Roche cc424a4503 3.48.6 2014-05-13 19:24:40 +00:00
Xavier Roche 1f18c67f8a 3.48.6 2014-05-13 19:21:12 +00:00
Xavier Roche a016accc4b Fixed buggy , in man 2014-05-12 18:54:27 +00:00
Xavier Roche 1315e03cc5 Fixed warning: "warning: no previous prototype for 'htsthread_wait'" 2014-05-11 08:27:09 +00:00
Xavier Roche 917d6bd3c4 Better logging for hashtables 2014-05-10 19:08:05 +00:00
Xavier Roche a085b2b2fa Hashtable: names for debugging, and better logging 2014-05-10 19:07:51 +00:00
Xavier Roche 67b8737ed4 Mitigate stash overflow by resizing the hashtable.
Added better logging.
2014-05-10 14:15:22 +00:00
Xavier Roche 9d67ab4cf0 cache->iadr is not supposed to be NULL, but ... (could explain crashes on Android at data.app_lib.com_httrack_android_1.libhttrack_so.0x62e4c) 2014-05-09 16:52:29 +00:00
Xavier Roche b331963ba6 assert cleanup. 2014-05-09 16:43:48 +00:00
Xavier Roche f48114006d Inline keyword. 2014-05-08 09:25:11 +00:00
Xavier Roche 9208228e2d Missing NULL. 2014-05-08 09:17:27 +00:00
Xavier Roche 9a17499b99 Assertion handler (2) 2014-05-08 09:14:48 +00:00
Xavier Roche 91714c7a28 Assertion handler 2014-05-08 09:14:19 +00:00
Xavier Roche 3a3d27386c Added assertion handlers to hashtables. 2014-05-08 09:13:54 +00:00
Xavier Roche d59341813d Cleanup in dirty mallocated strings 2014-05-06 18:42:45 +00:00
Xavier Roche 65eb4e58e5 Fixed regression introduced in r995 over strcpybuff() reusing macro arguments multiple times, leading to troubles when using side-effects. 2014-05-06 18:40:50 +00:00
Xavier Roche 7e75314395 Added -DLIBHTTRACK_EXPORTS for libhttrack 2014-05-04 16:04:18 +00:00
Xavier Roche 5ff78eebd0 Fixed build. 2014-05-04 15:50:12 +00:00
Xavier Roche 76dc4d04fc Added strlcatbuff 2014-05-04 15:17:21 +00:00
Xavier Roche 5b0c24aa71 Replaced ugly cat by snprintf 2014-05-04 15:16:59 +00:00
Xavier Roche ba35564fac Fixed hidden type. 2014-05-04 14:57:41 +00:00
Xavier Roche 0db2125bdc Potentially unused functions. 2014-05-04 14:44:17 +00:00
Xavier Roche 032be64885 Fix 2. 2014-05-04 14:35:22 +00:00
Xavier Roche b41e6dc3af Fix. 2014-05-04 14:35:01 +00:00
Xavier Roche a798cd3a8d Cleanup. 2014-05-04 14:29:26 +00:00
Xavier Roche d2435b1b5e Hashtable: logging in case of troubles 2014-05-04 14:24:27 +00:00
Xavier Roche 213359b3db More hashtable stress 2014-05-04 14:00:30 +00:00
Xavier Roche 3b1bf0b8af Comment. 2014-05-04 11:02:43 +00:00
Xavier Roche 6aef8ee820 Use GCC's __builtin_types_compatible_p() 2014-05-04 11:01:01 +00:00
Xavier Roche ac6cc76bab Added htssafe.h 2014-05-04 11:00:49 +00:00
Xavier Roche a3fb178b10 Newlines. 2014-05-04 09:01:07 +00:00
Xavier Roche b1fa75dfe0 Big cleanup in string primitives and abort functions 2014-05-04 08:48:23 +00:00
Xavier Roche 4da59a6399 Added "long query string" ut/
See <https://code.google.com/p/httrack/issues/detail?id=42>
2014-05-02 19:19:08 +00:00
Xavier Roche 44688bdbdf Fixed issue #42 (long query strings with accents) 2014-05-02 18:39:21 +00:00
Xavier Roche 6ce91ec1f3 HTTRACK_DEFLIB cleanup. 2014-05-02 18:05:57 +00:00
Xavier Roche 95b9374ff3 Fixed WIN32. 2014-05-02 17:53:49 +00:00
Xavier Roche c7edfe0f5f Fixes. 2014-05-02 17:44:51 +00:00
Xavier Roche 381eebc056 Add htsconcat.c 2014-05-02 15:16:18 +00:00
Xavier Roche 5544f503bf Big cleanup in functions writing to a char buffer without proper size boundary. 2014-05-02 15:13:29 +00:00
Xavier Roche b3fa8537c4 3.48.5 2014-05-02 14:39:27 +00:00
Xavier Roche aafafee47e Fixed manual (lintian) 2014-04-29 19:32:18 +00:00
Xavier Roche 632befbd53 Updated doc. 2014-04-27 17:05:20 +00:00
Xavier Roche 908f3ac832 Better be unsigned int. 2014-04-27 16:59:05 +00:00
Xavier Roche d46e835fc2 Removed duplicate is_realspace definition 2014-04-27 16:52:54 +00:00
Xavier Roche 1f6b64f81a 3.48.4 2014-04-27 16:51:21 +00:00
Xavier Roche 24eee92311 Removed buggy definitions (Michael Tautschnig) 2014-04-27 16:46:08 +00:00
Xavier Roche 75b5002c63 More 2014. 2014-04-24 19:32:26 +00:00
Xavier Roche 792311df15 2013 is so last year. 2014-04-24 19:28:32 +00:00
Xavier Roche 3e63dbc69c Removed __DATE__ for reproducible builds. 2014-04-24 19:24:11 +00:00
Xavier Roche 589b5ed78f Really call dh_autoreconf (Matthias Klose) 2014-04-16 16:08:25 +00:00
Xavier Roche 015cff31b9 3.48.1-4 2014-04-15 20:15:46 +00:00
Xavier Roche 8e0c4ab867 3.48.1-3 2014-04-15 19:33:00 +00:00
Xavier Roche 919030900d Build-Depends: dh-autoreconf 2014-04-15 19:30:24 +00:00
Xavier Roche 859f4625cb 3.48.1-2 2014-04-15 19:10:14 +00:00
Xavier Roche 0985f4c014 Standards-Version: 3.9.5 2014-04-15 19:07:32 +00:00
Xavier Roche 21debe05da const char* fixes. 2014-04-13 18:59:36 +00:00
Xavier Roche d0d9660ac9 Do not erase *.a files is these files are the shared library ones.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744594
2014-04-13 18:50:24 +00:00
Xavier Roche 2fe3a96b09 Call dh_autoreconf_clean before dh_clean 2014-04-13 17:34:39 +00:00
Xavier Roche ef647e9136 3.48.3 (Windows only diffs) 2014-04-13 14:29:24 +00:00
Xavier Roche 159e3d0017 VERBOSE=1 dh_auto_test 2014-04-13 14:29:03 +00:00
Xavier Roche 9661b389d9 changelog (Windows only) 2014-04-13 14:29:00 +00:00
Xavier Roche 80c61e94f7 Do not try to serialize a fiel in cache when not using it ("Could not create temporary reference file for xxx")
* closes:#37
2014-04-13 14:08:45 +00:00
Xavier Roche e8f4361fbc Include jpeg 2014-04-13 13:58:37 +00:00
Xavier Roche 0df1c16c79 3.48.3 2014-04-11 18:28:38 +00:00
Xavier Roche c7b0023dd7 Nope, Debian did not change the version number when fixing the bug :( 2014-04-10 16:51:40 +00:00
Xavier Roche 70a44456fb Groumph, version is not a reliable way to detect heartbleed. 2014-04-10 16:45:13 +00:00
Xavier Roche dce3642432 Fixed FTBFS. 2014-04-10 16:38:09 +00:00
Xavier Roche 91c6288d40 Enforce check against CVE-2014-0160 2014-04-10 16:25:20 +00:00
Xavier Roche eb93fb8a2e Cleanup. 2014-04-10 16:24:57 +00:00
Xavier Roche 6523d94ee3 We need hts_stringMemCopy() 2014-04-09 19:31:51 +00:00
Xavier Roche 1e6399e37b Missing files. 2014-04-09 19:20:37 +00:00
Xavier Roche 5bfb2e60b1 Cleanup 2014-04-09 19:12:58 +00:00
Xavier Roche 7cc1dc33d5 Reverted 2014-04-09 19:08:31 +00:00
Xavier Roche 20253490d4 3.48.1 2014-04-09 19:04:22 +00:00
Xavier Roche acef5cc38c 3.48.1-1 2014-04-09 19:02:40 +00:00
Xavier Roche 3664cd1ae4 history.txt 2014-04-09 18:59:27 +00:00
Xavier Roche 06b9b88365 Version "3.48.1" 2014-04-09 18:40:28 +00:00
Xavier Roche 61ee568eda Fixed %h custom build structure parameter not taken in account (William Clark) 2014-04-09 18:35:59 +00:00
Xavier Roche 3c68700357 Do not choke on Windows 2000 because of missing SetDllDirectory() (Andy Hewitt) 2014-03-23 14:22:19 +00:00
Xavier Roche b70ff055c4 Renamed strndup by hts_stringMemCopy (possible macports collision) 2014-03-04 17:13:50 +00:00
Xavier Roche 943bb355f9 Attempt to understand the infamous htslib.c:4590 crash (?) 2014-02-23 16:05:53 +00:00
Xavier Roche f358fabf0c 308 will be a redirect, too. 2014-02-23 16:05:20 +00:00
Xavier Roche 0e16f522c8 Updated .in 2014-02-09 17:36:27 +00:00
Xavier Roche 9a58582853 Renamed example file. 2014-02-09 17:35:31 +00:00
Xavier Roche 8bfa3841fa Updated libtool 2014-02-09 17:20:09 +00:00
Xavier Roche 57cc0da6cc Fixed email 2014-02-09 17:20:01 +00:00
Xavier Roche 70185ab310 Removed background DNS resolution, prone to bugs (racy when interrupting a mirror), and not providing any additional performance boost. Keeping cached DNS resolution, though. 2014-02-09 16:16:58 +00:00
Xavier Roche 008601e493 Flushing old files 2014-02-08 16:41:33 +00:00
Xavier Roche c95ab92329 Fixed infinite loop when attempting to download a file:/// directory on Unix (gp) 2014-02-08 15:27:41 +00:00
Xavier Roche 903450d453 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) by ignoring MIME and content-disposition for redirect responses. 2013-10-26 11:26:56 +00:00
Xavier Roche f967595e08 Fixed warnings 2013-10-09 13:11:06 +00:00
Xavier Roche ee04f0c687 Updated changelog 2013-10-09 13:10:58 +00:00
Xavier Roche b772388bbd Do not depend anymore on automake1.9, but automake (see http://lists.debian.org/debian-devel/2013/05/msg01459.html) 2013-09-24 05:51:21 +00:00
Xavier Roche d88b5f9b27 SetDllDirectory: do no choke on NT or 98SE with KernelEx NT API (James Blough) 2013-09-16 18:48:21 +00:00
Xavier Roche e34523ab27 Backported branch revision changes 2013-09-15 11:04:33 +00:00
Xavier Roche 08741a5938 Remove scope id (% character) in dotted address resolution (especially for catchurl proxy) 2013-09-15 11:04:15 +00:00
Xavier Roche b32b41cf08 Fixed LOG_TRACE 2013-09-15 08:57:29 +00:00
Xavier Roche 4d94eb7643 Fixed man (manual backport of r868) 2013-09-15 08:54:57 +00:00
Xavier Roche df46fbe8d5 Fixed logging level (especially for robots.txt rules)
(manual backport of r867)
2013-09-15 08:53:55 +00:00
Xavier Roche c11fe60bee Also remove these commands in the help 2013-09-14 09:33:39 +00:00
Xavier Roche 011ba96d53 Removed dead code (_WIN32_WCE) 2013-09-14 09:29:44 +00:00
Xavier Roche d7cc6f5b55 Fixed man 2013-09-13 19:26:08 +00:00
Xavier Roche 62247b4d5c Fixed license and copyright 2013-09-13 19:21:03 +00:00
Xavier Roche 47f244e22c Reverted -AM_PROG_LIBTOOL +LT_INIT spiriously commited previously 2013-09-13 17:52:56 +00:00
Xavier Roche 3b40219431 Removed MMS (Microsoft Media Server) ripping code (mmsrip)
* protocol was finally dropped in Windows Media Services 2008
  * mmsrip is not supported anymore
  * some licensing issues regarding the protocol (ha-ha)
2013-09-13 17:21:54 +00:00
Xavier Roche 9f0340968f Updated man 2013-09-13 16:13:02 +00:00
Xavier Roche a8e34d6f1f Replaced AM_PROG_LIBTOOL by LT_INIT 2013-09-13 16:12:52 +00:00
Xavier Roche a7de9c6e7d AUTHORS should be 644 2013-09-13 16:08:40 +00:00
Xavier Roche cc8a7a4077 Removed chroot and setuid features (this is definitely not our business) 2013-09-13 16:06:39 +00:00
Xavier Roche 60644a7309 Fixed FSF GPL reference (postal address removed, added website)
Fixed year notice
2013-09-13 15:54:23 +00:00
Xavier Roche afea93461d Fixed Keywords field in desktop files (Sebastian Pipping) 2013-09-09 17:20:34 +00:00
Xavier Roche 4961951ca6 Misleading translation 2013-09-08 16:08:15 +00:00
Xavier Roche 8789dedb58 backported history 2013-09-06 20:37:06 +00:00
Xavier Roche a7753d1697 Fixed DNS stuck with unresolvable hosts. 2013-09-06 20:25:30 +00:00
Xavier Roche b68cef069a Cleanup 2013-09-06 19:06:21 +00:00
Xavier Roche da8ba57520 Fixed Croatian 2013-09-06 19:03:18 +00:00
Xavier Roche c0154f5e77 Finished to cleanup the DNS cache. 2013-09-06 18:51:07 +00:00
Xavier Roche bd28ac98de Fixed dangling pointer which probably explain the crash at libhttrack.so:0x639d0 2013-09-06 17:32:04 +00:00
Xavier Roche fa1e5e3113 Fixed a little bit the infamous DNS cache 2013-09-06 16:55:20 +00:00
Xavier Roche fd69106947 Added option '-%t', preserving the original file type (which may produce non-browseable file locally) 2013-09-03 17:43:22 +00:00
Xavier Roche 5bd7e12eae Updated history 2013-09-01 14:05:08 +00:00
Xavier Roche c24f80f50c Fixed content-disposition NOT taken in account (Stephan Matthiesen) except when updating/continuing. 2013-09-01 13:58:23 +00:00
Xavier Roche 8b7c561b9f Fixed WIN32 FTBFS 2013-08-31 12:16:36 +00:00
Xavier Roche d4453441f1 The crash test has two stack levels (for etsting purpose) 2013-08-25 09:51:38 +00:00
Xavier Roche 96e6c1e205 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 16:21:47 +00:00
Xavier Roche 600b76ca4b Optional crash for testing purpose. 2013-08-20 19:11:40 +00:00
Xavier Roche 9067f94db3 Fixed misused size 2013-08-19 06:12:12 +00:00
Xavier Roche a5d9076a99 "index.eml" => "index.mht" 2013-08-18 09:36:47 +00:00
Xavier Roche 30455d9d66 Additional strings for new options "MailIndex" and "DefaultReferer" 2013-08-18 08:21:28 +00:00
Xavier Roche 2d6017ad06 Fixed issue 25 regarding un-encoding of characters such as # in the filename. 2013-08-17 09:09:13 +00:00
Xavier Roche e002254001 Fixed definition. 2013-08-17 07:57:53 +00:00
Xavier Roche 5ab61bd6e3 Some cleanup in obviously wrong 15-year-old code. 2013-08-17 07:57:44 +00:00
Xavier Roche 1e12f60120 A bit of cleanup in really old code (strlen() in loops, shame on me, but hey, this code is 15 years old) 2013-08-17 07:43:45 +00:00
Xavier Roche d99ea7fb86 Make "Unexpected 412/416 error" non-fatal until I find out why in hell this bug is still out there. 2013-08-16 13:10:20 +00:00
Xavier Roche a4ce809b06 Updated language definitions for Android 2013-08-15 14:28:20 +00:00
Xavier Roche 82a30ce1b4 We want a copy here 2013-08-15 14:04:12 +00:00
Xavier Roche fe1a951c09 Added two new strings:
Languages accepted by the browser
	Additional HTTP headers to be sent in each requests
2013-08-15 13:42:32 +00:00
Xavier Roche ce17800658 Added two new strings:
Language
	Additional HTTP Headers
2013-08-15 13:35:54 +00:00
Xavier Roche ffefedefa9 Added %a option, allowing to define the "Accept:" header line.
Added %X option, to define additional request header lines.
Cleaned up a bit the messy strcat everywhere in the request section (yuk).
2013-08-15 12:40:06 +00:00
Xavier Roche 84cdc70b4a Fixed double close() 2013-08-15 12:39:41 +00:00
Xavier Roche ea741caba7 Fixed error in hashtable (and a warning, too) 2013-08-15 12:38:08 +00:00
Xavier Roche 8fd32cb662 Fixed min/max already declared 2013-08-15 12:37:46 +00:00
Xavier Roche 86035dd001 Lenient strnotempty() function (ie. accepting NULL) 2013-08-15 12:15:04 +00:00
Xavier Roche b85c807544 Updated lang/ for the Android version 2013-08-15 12:14:37 +00:00
Xavier Roche a0a9c07027 Removed unused and quite dangerous option. 2013-08-15 07:46:20 +00:00
Xavier Roche 9468c3ee82 Merged branch changelog changes to trunk 2013-08-13 07:12:47 +00:00
Xavier Roche d6d3802dcc Tag release as 3.47.99 2013-08-12 17:48:28 +00:00
Xavier Roche ffd4bfe568 Browse sites 2013-08-12 16:20:18 +00:00
Xavier Roche 47f23cda40 Additional assert(s) 2013-08-12 13:46:40 +00:00
Xavier Roche 4e903579b2 Big cleanup in core heap hashtable code, rewritten using new fancy hashtables. 2013-08-12 13:42:55 +00:00
Xavier Roche e77141ceae Missing extern 2013-08-12 13:41:57 +00:00
Xavier Roche 9caffeb8ae Fixed WIN32 FTBFS 2013-08-12 13:41:04 +00:00
Xavier Roche dc202c3f51 More fixes 2013-08-09 09:55:55 +00:00
Xavier Roche 6c0e97adfd Fixed ISO 2013-08-09 09:54:29 +00:00
Xavier Roche ba04076ef5 Fixed ISO 2013-08-09 09:52:48 +00:00
Xavier Roche 1d684d2c65 Fixed ISO 2013-08-09 09:50:34 +00:00
Xavier Roche 0bdb3d3506 Fixed &Poistu (removed &) 2013-08-09 09:46:01 +00:00
Xavier Roche 857a799f83 Removed spurious & 2013-08-08 21:37:35 +00:00
Xavier Roche c2caf1c8e7 Fixed ISO639 codes 2013-08-08 11:11:36 +00:00
Xavier Roche 3f2e30924e ISO code for japanese is ja 2013-08-08 11:03:22 +00:00
Xavier Roche fd8f99609a Allow -m,10000 variant 2013-08-05 10:07:40 +00:00
Xavier Roche 683668120e Fixed possible stash merging issue (if a string pool expand was executed during the merge) 2013-07-20 15:09:51 +00:00
Xavier Roche 724dad4380 Fixed macro (again) 2013-07-20 14:47:55 +00:00
Xavier Roche e72170d412 More stressing hashtable unit tests 2013-07-20 14:45:31 +00:00
Xavier Roche a228111f97 Fixed string pool insanity when compacting (macros are evil, hell yeah) 2013-07-20 14:45:18 +00:00
Xavier Roche 5237bd6f13 Fixed warnings 2013-07-20 07:53:05 +00:00
Xavier Roche 8eaf0a1e18 Refresh stats 2013-07-20 07:41:46 +00:00
Xavier Roche 6516c4f306 Fixed buggy keep-alive handling, leading to waste connections 2013-07-18 20:08:38 +00:00
Xavier Roche 818001ba76 Added hts_get_stats() 2013-07-16 19:33:24 +00:00
Xavier Roche b4c15a3b3b Ignore *.in, aclocal.m4 and configure 2013-07-15 19:56:37 +00:00
Xavier Roche 7f8131f249 CLEANFILES = check-network_sh.cache 2013-07-15 19:54:17 +00:00
Xavier Roche 4c3c704fb7 Added .torrent => application/x-bittorrent built-in MIME type (alexei dot co at gmail dot com) 2013-07-15 19:21:25 +00:00
Xavier Roche f9086f5849 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 19:19:24 +00:00
Xavier Roche d9b93413c1 Fixed "Wildcard domains in cookies do not match" (alexei dot co at gmail dot com )
* closes issue #19
2013-07-15 19:12:46 +00:00
Xavier Roche 496a08ec7d handle empty strings as a specific case in the strings pool, so that we can consider them as sign of duplicate release 2013-07-14 07:58:16 +00:00
Xavier Roche 7d8c7064c2 Fixed stupid typo. 2013-07-14 07:57:23 +00:00
Xavier Roche 482e33c0fc Unused variable 2013-07-14 07:54:18 +00:00
Xavier Roche 4c6c2fa349 Really compact when needed the string pool 2013-07-14 07:33:43 +00:00
Xavier Roche 1ed1ddf658 Experiments with MurmurHash3 as hashing function for the hashtable 2013-07-12 18:03:14 +00:00
Xavier Roche 676776e99b Added hts_isStringUTF8() function. 2013-07-12 15:24:59 +00:00
Xavier Roche 98ea5be208 Plugged iconv-like charsets when iconv is missing. 2013-07-11 17:49:04 +00:00
Xavier Roche 931062d509 Added basic iconv-like primitives (for 8-bit non-MBCS charsets) for operating systems like Android, where iconv is very unfortunately missing. 2013-07-11 17:48:44 +00:00
Xavier Roche 942bebf4b2 Fixed uncompressing 2013-07-10 16:25:50 +00:00
Xavier Roche e4b71bb7d4 Attempt to replace tmpnam() 2013-07-09 20:19:53 +00:00
Xavier Roche 39501c8aeb -Zz (trace logs) 2013-07-09 18:43:00 +00:00
Xavier Roche d03d97a163 LOG_TRACE 2013-07-09 18:19:32 +00:00
Xavier Roche f154d0e78c Spurious test leading to have a broken non-SSL version of httrack 2013-07-08 20:16:25 +00:00
Xavier Roche 358cd09f71 Cosmetic 2013-07-08 20:05:33 +00:00
Xavier Roche 9674c7f418 Removed dead flag 2013-07-08 19:06:49 +00:00
Xavier Roche de1c1d80a9 Cleaned up zlib madeness 2013-07-08 18:59:32 +00:00
Xavier Roche 538c049521 zlib 2013-07-08 17:52:38 +00:00
Xavier Roche 1f2aa72a82 Fucking zlib checker 2013-07-08 17:51:55 +00:00
Xavier Roche b838c92227 Removed dead code 2013-07-08 16:57:59 +00:00
Xavier Roche b6ee0d8d5d Huge regression: LLint is signed! (regression introduced in r429 and r432) 2013-07-08 16:57:37 +00:00
Xavier Roche 57c732da58 Added hts_version() 2013-07-07 14:33:33 +00:00
Xavier Roche 87c2781ecc android doesn't like versioned .so 2013-07-07 13:33:48 +00:00
Xavier Roche b44edd5116 Temporary hack for android timezone (bis) 2013-07-07 10:07:05 +00:00
Xavier Roche e5d811f51e timezone for android 2013-07-07 09:53:53 +00:00
Xavier Roche 0ae8baf47b Added DISABLE_ICONV 2013-07-07 09:52:35 +00:00
Xavier Roche 3ea9e69625 timezone for android 2013-07-07 09:52:17 +00:00
Xavier Roche f8569c130c Fixed warning 2013-07-07 08:30:12 +00:00
Xavier Roche 1fb810430a updated scripts 2013-07-07 08:22:27 +00:00
Xavier Roche 01f22fb1ec compile 2013-07-07 08:19:23 +00:00
Xavier Roche 33e87222df Better 64-bit detection 2013-07-07 08:05:35 +00:00
Xavier Roche c7d33c0a8e Removed useless format check 2013-07-07 08:02:56 +00:00
Xavier Roche 3d542bbc82 Croatian translation by Dominko Aždajić (domazd at mail dot ru) 2013-07-05 19:42:21 +00:00
Xavier Roche 01553e56bd Russian translation fixes by Oleg Komarov (komoleg at mail dot ru) 2013-07-05 19:28:02 +00:00
Xavier Roche f776329ee6 Fixed ut 2013-07-05 18:48:22 +00:00
Xavier Roche 2e88036808 Fixed escaping 2013-07-05 18:36:20 +00:00
Xavier Roche d2a3d7a3ff Do not unescape '+' before the query string
Fixed issue 18
2013-07-05 17:53:54 +00:00
Xavier Roche 00fe2d4432 Allow to manage key allocation and comparison. 2013-06-30 14:30:20 +00:00
Xavier Roche ed28e87267 Compact while expanding string pool if not compact enough. 2013-06-30 10:52:55 +00:00
Xavier Roche 235f1881dd Use low-level MD5 functions. 2013-06-30 08:26:43 +00:00
Xavier Roche 97a9679c0b Added Keywords entries for desktop files. 2013-06-30 07:57:07 +00:00
Xavier Roche 62fdaaf4eb Typo 2013-06-28 17:42:05 +00:00
Xavier Roche 7d27b60e55 Fixed spurious stash handling wrt the strings pool leading to corrupt the hashtable
Moved to MD5 after all
Cleaned up logging
2013-06-28 17:35:18 +00:00
Xavier Roche 4e0f29cc07 Minor fixes 2013-06-27 21:28:28 +00:00
Xavier Roche f7de42a81a Hash value can be signed or unsigned 2013-06-27 21:25:29 +00:00
Xavier Roche f281133bfe Plugged hashtable unit test 2013-06-27 21:25:11 +00:00
Xavier Roche f96bff35ae Unit test 2013-06-27 21:24:51 +00:00
Xavier Roche 638a9b6df7 Do not loop if cuckoo is looping 2013-06-27 21:23:34 +00:00
Xavier Roche a835ee13e3 Fixed old 3-hashtable missing free on exit
Always use default starting hash size
2013-06-26 20:06:50 +00:00
Xavier Roche b5e663cd80 Cosmetic and documentation, logging. 2013-06-26 20:05:49 +00:00
Xavier Roche 588d526aed Mostly cosmetic 2013-06-25 20:04:06 +00:00
Xavier Roche 9c3e5b43bd hashtables: use fnv-1 for hashing 2013-06-25 19:10:40 +00:00
Xavier Roche 9090ee17b3 Hashtable fixes
MD5 is temporarily back until some better hash function is found (current LCG is too lame and prone to collisions)
2013-06-24 20:06:12 +00:00
Xavier Roche 9e61bc36f3 Keep hashes in hashtable items so that we do jot have to recompute them in case of rehash
Attempt to push back items from the stash when deleting an entry
Added some logging
2013-06-24 16:46:52 +00:00
Xavier Roche a01be59015 Added inline token 2013-06-24 16:44:43 +00:00
Xavier Roche 4c904ad7fa Removed unused field 2013-06-24 16:44:25 +00:00
Xavier Roche 99b25bcd84 Fixed warning 2013-06-24 16:44:15 +00:00
Xavier Roche 74d06310eb Cleanup 2013-06-23 19:55:26 +00:00
Xavier Roche f7446a3c57 Fixed headers 2013-06-23 19:55:16 +00:00
Xavier Roche 0817df2fb6 Trashed historical link heap hashtable, and replaced it by cleaner code using new cuckoo hashtables
I can not believe I kept such a terible and frightening code for such a long time, geez.
2013-06-23 19:40:47 +00:00
Xavier Roche f42a5fa5dd Fixed hashtable grow bug (do not relocate null entries) 2013-06-23 19:39:20 +00:00
Xavier Roche b2a632795b Rewritten hashtables
* cuckoo hashing with stash, auto-resize
  * pool of strings for keys (auto-resize, auto-compact)
  - no auto-shrink for hashtable currently

Still experimental, expect bugs!
2013-06-23 18:36:38 +00:00
Xavier Roche 4352498227 Removed useless assert() 2013-06-23 18:33:42 +00:00
Xavier Roche 1c70862aa4 Groumph. 2013-06-18 16:24:14 +00:00
Xavier Roche e6eb8c0224 transfered => transferred 2013-06-18 16:23:52 +00:00
Xavier Roche 189cde335f Re-fixed typos 2013-06-17 16:21:51 +00:00
Xavier Roche 0bdd316cd3 Typos 2013-06-17 16:17:35 +00:00
Xavier Roche 4f8e0f45b4 Exact version of libs 2013-06-17 16:17:29 +00:00
Xavier Roche 361c62c337 Fixed div-by-zero when speficying more than 1000 connections per seconds (probably not very common) 2013-06-16 15:31:44 +00:00
Xavier Roche 84e136f8f2 spelling: allows to => allows you to 2013-06-16 14:35:07 +00:00
Xavier Roche 637ab51956 spelling: s/bandwith/bandwidth/g 2013-06-16 14:33:51 +00:00
Xavier Roche b8126358c4 spelling: s/bandwith/bandwidth/g 2013-06-16 14:33:07 +00:00
Xavier Roche d3d855e634 spelling: allows to => allows you 2013-06-16 14:31:10 +00:00
Xavier Roche a697e4f981 Fixed lintian warning (desktop files do not need Encoding) 2013-06-16 14:23:29 +00:00
Xavier Roche 1a1bcceade Minor fixes 2013-06-16 14:23:10 +00:00
Xavier Roche 1d7461a4af Try again (3.47.19-2) 2013-06-16 12:27:45 +00:00
Xavier Roche 3a862e5901 3.47.19 2013-06-16 07:39:40 +00:00
Xavier Roche 180308e6ec Escaping fixes when the final disk filename contains a % 2013-06-14 17:21:12 +00:00
Xavier Roche 90326d5cf6 Malformed escaping. 2013-06-14 17:10:01 +00:00
Xavier Roche c1a5fc70c5 Cleanup 2013-06-14 16:54:30 +00:00
Xavier Roche a3717457e5 Removed unused code 2013-06-12 20:10:17 +00:00
Xavier Roche f6b59732be Should partially fix again issue #5 "No such file or directory" errors 2013-06-12 20:08:36 +00:00
Xavier Roche a72185a4b5 Added GB18030 unit test 2013-06-09 19:26:26 +00:00
Xavier Roche 47fdfafbb7 Typo 2013-06-09 19:25:09 +00:00
Xavier Roche e895148e67 Basic cookies unit tests. 2013-06-09 18:38:34 +00:00
Xavier Roche 2cc13c3e1f added --print-files 2013-06-09 18:33:40 +00:00
Xavier Roche 5584e13640 INSTALL is back 2013-06-09 16:14:11 +00:00
Xavier Roche 6877d7fdfc Fixed history.txt location 2013-06-09 15:58:39 +00:00
Xavier Roche 3bfbb1cebd Flush 2013-06-09 14:45:30 +00:00
Xavier Roche 51b7a84764 automake 1.11.6 (wheezy) 2013-06-09 14:25:27 +00:00
Xavier Roche 40635cc092 Refreshed INSTALL files 2013-06-09 14:12:21 +00:00
Xavier Roche cb3ce84e3c Missing files for configure 2013-06-09 09:00:04 +00:00
Xavier Roche 97ae28b283 Missing Makefile.in needed by configure 2013-06-09 08:57:44 +00:00
Xavier Roche a576b2775b We need config.guess 2013-06-09 08:56:08 +00:00
Xavier Roche 7e677d084a We need config.sub 2013-06-09 08:55:41 +00:00
Xavier Roche d796fc2e9b We need install-sh 2013-06-09 08:54:54 +00:00
Xavier Roche 27b8da276f Merged <http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-client/httrack/files/httrack-3.47.7-cflags.patch?revision=1.1&view=markup>
(Sebastian Pipping)
2013-06-09 08:47:48 +00:00
Xavier Roche fad839ce71 Fixed html-related changes introduced in r344 2013-06-09 08:40:58 +00:00
Xavier Roche 04288d28c6 Exclude test-driver 2013-06-08 21:50:07 +00:00
Xavier Roche 4c1238e472 We do not need libtool 2013-06-08 21:40:17 +00:00
Xavier Roche 106bc70086 We need configure :) 2013-06-08 21:37:17 +00:00
Xavier Roche 42322c48f9 Removed libtool specific files 2013-06-08 21:34:46 +00:00
Xavier Roche 4e45067a48 Removed intermediate automake files (Sebastian Pipping)
# To regenerate these files, do something like:
libtoolize --copy --force \
	&& aclocal \
	&& automake --add-missing --copy --force-missing \
	&& autoheader \
	&& autoconf
2013-06-08 21:32:52 +00:00
Xavier Roche 5098cf7315 Applying <http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-client/httrack/files/httrack-3.45.4-htmldir.patch?view=log>
(Sebastian Pipping)
2013-06-08 21:28:47 +00:00
Xavier Roche 8614718dae Merged <http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-client/httrack/files/httrack-3.44.1%2Bzlib-1.2.5.1.patch?view=log>
Add patch to fix building with recent zlib, thanks to Lars Wendler in bug #383805. Bump to EAPI=4.
(Portage version: 2.2.0_alpha79/cvs/Linux x86_64)
2013-06-08 15:42:35 +00:00
Xavier Roche e241e097bb Replacing remaining sprintf() by snprintf() 2013-06-08 09:41:16 +00:00
Xavier Roche 51d4759fe2 Replaced dangerous sprintf() by snprintf() in ftp backend. 2013-06-08 08:58:59 +00:00
Xavier Roche 07a4190bb1 Use $(PATH_SEPARATOR) and not : 2013-06-08 08:41:16 +00:00
Xavier Roche b5d95a4912 Cleaned up a little bit ut environment ; fixes FTBFS when using --disable-shared --enable-static 2013-06-07 20:16:18 +00:00
Xavier Roche 20d4c10c34 spelling-error-in-changelog 2013-06-07 06:01:21 +00:00
Xavier Roche 0c36cfcdd2 Fixed clang warnings 2013-06-06 19:13:58 +00:00
Xavier Roche 9f02f1a5ea Fixed bad memset() spotted by clang 2013-06-06 19:13:48 +00:00
Xavier Roche bc2018301e Fixed warning 2013-06-06 19:13:02 +00:00
Xavier Roche 190687a6c0 debhelper >= 8.0.0 2013-06-06 19:12:41 +00:00
Xavier Roche 61f0cec9c8 Added a basic https unit test. 2013-06-05 19:00:53 +00:00
Xavier Roche 6fd01e8570 Fixed warning. 2013-06-05 17:59:54 +00:00
Xavier Roche 213784d4ad Cosmetic 2013-06-05 17:54:55 +00:00
Xavier Roche 2038c234e1 history 2013-06-05 16:52:17 +00:00
Xavier Roche 541270c082 3.47.18 2013-06-05 16:39:20 +00:00
Xavier Roche f1b3f9359b --enable-online-unit-tests=auto
detect whether or not online unit tests can be executed
--enable-online-unit-tests=no
	is now the default

added --disable-https
2013-06-05 16:32:44 +00:00
Xavier Roche e2bf6497bc Timeout=30 2013-06-05 16:31:24 +00:00
Xavier Roche bd6573926d Logging 2013-06-05 16:31:10 +00:00
Xavier Roche 8409f0d0e3 Cosmetic 2013-06-05 16:30:56 +00:00
Xavier Roche ff9baa9a44 Cosmetic 2013-06-05 16:30:44 +00:00
Xavier Roche 564df93fc9 Fixed broken build without OpenSSL
Fixed fale off-by-one for read timeout
2013-06-05 16:29:43 +00:00
Xavier Roche 17d4ac10c6 check-network.sh in EXTRA_DIST 2013-06-04 19:33:43 +00:00
Xavier Roche 73ced63e1f Added switchs to enable or disable online tests (currently enabled by default):
--enable-online-unit-tests
	--disable-online-unit-tests
2013-06-04 19:11:38 +00:00
Xavier Roche 832985d151 Removed verbose (--summary) 2013-06-04 17:28:01 +00:00
Xavier Roche 4a47750546 Fixed 'TESTS = *.test' breaking automake 1.13 for an unknown reason. Let's enumerate all files explicitely then ... 2013-06-04 17:26:14 +00:00
Xavier Roche cf4875c61a Fixed Build-depend: debhelper >= 8 (and not >> 8) 2013-06-04 17:25:36 +00:00
Xavier Roche 142a8e255a Do not execute tests unless external network is available. 2013-06-04 17:18:25 +00:00
Xavier Roche da40771dee Minor off-by-one for timeout handline. 2013-06-04 17:17:14 +00:00
Xavier Roche bd0674dd5c Fixed buggy --timeout alias. 2013-06-04 17:16:54 +00:00
Xavier Roche ad073625e6 Propagate $lt_cv_objdir not to use directly .libs (would break on WIN32) 2013-06-03 19:37:06 +00:00
Xavier Roche f37aa98097 Propagate $shlibpath_var not to use LD_LIBRARY_PATH (OSX and friends)
(based on a llvm commit by Jeffrey Yasskin :p)
2013-06-03 19:21:26 +00:00
Xavier Roche d9567a58e6 Cosmetic 2013-06-03 19:20:10 +00:00
Xavier Roche 0614e389f5 Comment 2013-06-03 18:21:10 +00:00
Xavier Roche 13980bbf6e Fixed broken hardened build (broken in 3.47.17-1)
Replaced dh_clean -k by dh_prep as advised
Moved from compat=5 to to compat=8
2013-06-03 18:20:02 +00:00
Xavier Roche 96abfb0fa0 Report getaddrinfo() errors using gai_strerror() 2013-06-02 20:20:40 +00:00
Xavier Roche 5479e88ad1 Added minimalistic js unit test 2013-06-02 18:23:42 +00:00
Xavier Roche 6481840d5f More checks in tests 2013-06-02 17:53:36 +00:00
Xavier Roche 062c7d4764 Added comment 2013-06-02 17:49:26 +00:00
Xavier Roche 6420d9b19d run-all-tests.sh in EXTRA_DIST 2013-06-02 17:47:58 +00:00
Xavier Roche 41c5abebb2 More tests! 2013-06-02 17:46:48 +00:00
Xavier Roche f23e4b0ce6 Cosmetic. 2013-06-02 15:58:00 +00:00
Xavier Roche e48214515b dh_clean -k => dh_prep 2013-06-02 14:34:01 +00:00
Xavier Roche f34ef131aa Regenerated libtool (Debian-style) 2013-06-02 14:21:30 +00:00
Xavier Roche 06d10335c1 Updated libtool 2013-06-02 14:18:29 +00:00
Xavier Roche 5218a7d008 3.47-17 2013-06-02 14:16:18 +00:00
Xavier Roche d66ac92175 Added international and IDNA tests. 2013-06-02 13:51:48 +00:00
Xavier Roche 25849c2976 Fixed buggy hts_unescapeUrl() 2013-06-02 13:14:37 +00:00
Xavier Roche 3e0b1c7f20 Added hts_getUTF8SequenceLength() 2013-06-02 13:14:22 +00:00
Xavier Roche d4c81f4e85 Cleanup in debian/rules 2013-06-02 12:05:52 +00:00
Xavier Roche 9b93f4915b Cleanup in configure scripts 2013-06-02 12:05:39 +00:00
Xavier Roche 712a334f0d Added crawl-test.sh to extra dists 2013-06-02 10:19:19 +00:00
Xavier Roche 5882fbd039 Added minimalistic unit tests for HTTrack (about time :p) 2013-06-02 10:17:05 +00:00
Xavier Roche a94987b93e Cleaned up a bunck of warnings. 2013-06-01 14:20:19 +00:00
Xavier Roche 8d89bfa9bb 3.47-16 2013-06-01 09:49:24 +00:00
Xavier Roche 2d4f6880c1 Fixed issue 14 (http://code.google.com/p/httrack/issues/detail?id=14) related to the way non-ascii characters are being decoded
Rationale:
  * inside URI
    * non-ascii characters are read with the page encoding, and transformed into UTF-8
    * url-escaped %xx are considered utf-8 sequences to be decoded, unless they form invalis sequences (in such case we left them as-is)
    * html entities (names, or decimal/hex) are decoded as utf-8 characters
  * inside query string
    * non-ascii characters are read as binary, and escaped using %xx
    * url-escaped %xx are left unless not harmful (alphanum, for example)
    * html entities (names, or decimal/hex) are decoded as utf-8 characters and encoded back to the page encoding (possibly using %xx)
  * inside hostnames
    * non-ascii characters are encoded using IDNA

Example:
  * are equivalent in a iso-8859-1 page: http://foo/café.html http://foo/caf%c3%a9.html http://caf&#a9;.html
2013-06-01 09:39:09 +00:00
Xavier Roche 7b5c1c5a84 Do not magically detect UTF-8 pages as "utf-8" charset, because is changes the way links are decoded. 2013-06-01 09:32:38 +00:00
Xavier Roche 36f1288c80 Cosmetic 2013-06-01 09:31:53 +00:00
Xavier Roche 7f82ef4681 Added hts_readUTF8() 2013-06-01 09:31:43 +00:00
Xavier Roche 779cfd1126 Added hts_unescapeUrl() 2013-06-01 09:30:59 +00:00
Xavier Roche 7268b3d7d8 Fixed warnings. 2013-05-31 21:50:08 +00:00
Xavier Roche b5b647bf44 Updated vcproj 2013-05-31 18:56:15 +00:00
Xavier Roche 46ae0ff0eb 3.47.15 2013-05-31 18:52:38 +00:00
Xavier Roche 759891f1f1 Fixed charset for top index titles. 2013-05-31 14:42:52 +00:00
Xavier Roche 37ad0e913a Fixed hts_unescapeEntities() 2013-05-31 14:31:42 +00:00
Xavier Roche 356a35deb5 Removed buggy code. 2013-05-31 14:23:09 +00:00
Xavier Roche 1ea11211da Fixed typo. 2013-05-31 14:22:57 +00:00
Xavier Roche 2147e9f3d5 Misplaced continue 2013-05-31 12:13:37 +00:00
Xavier Roche bc31ec0da9 Fixed issue 14 (http://code.google.com/p/httrack/issues/detail?id=14)
Rationale:
  * hostname is ASCII, non-ascii characters shall be encoded with IDNA 
  * URI filenames may embed non-ascii characters, which MUST be UTF-8 encoded
  * query string may embed non-ascii characters, which are encoded with the pahe charset into %xx codes
2013-05-31 11:38:53 +00:00
Xavier Roche 8767fd0e75 Added missing htsentities.h htsentities.sh entries. 2013-05-30 19:12:50 +00:00
Xavier Roche 850f165f4a Added hts_unescape_entities(), a rewrite of the HTML entities decoder.
Fixed HTML entities decoding which was done before charset decoding.
2013-05-30 19:04:51 +00:00
Xavier Roche 01af2a5e73 Added hts_writeUTF8() 2013-05-30 17:46:46 +00:00
Xavier Roche c842d0591d Flush 3.47-14 2013-05-30 17:46:00 +00:00
Xavier Roche 89a244faf2 debian-only uploads 2013-05-26 11:35:28 +00:00
Xavier Roche 63ce685a34 Build-depends on libssl-dev 2013-05-26 09:31:37 +00:00
Xavier Roche 9e071901ab Updated changelog 2013-05-26 08:31:28 +00:00
Xavier Roche 5bc8791f93 3.47.14 2013-05-26 08:19:59 +00:00
Xavier Roche 4cc8778df3 webhttrack/htsserver: ensure the local hostname is resolvable, and fallback to localhost if necessary. 2013-05-26 08:08:50 +00:00
Xavier Roche 1a663fe38a Fixed 260-characters limiter
Fixes issue 9 (http://code.google.com/p/httrack/issues/detail?id=9)

Rationale: according to MSDN, we must limit the directory path to 248 characters, actually ("When using an API to create a directory, the specified path cannot be so long that you cannot append an 8.3 file name (that is, the directory name cannot exceed MAX_PATH minus 12).")
2013-05-25 16:50:03 +00:00
Xavier Roche 1c7d4a6125 Added hts_convertUCS4StringToUTF8() and hts_convertUTF8StringToUCS4() 2013-05-25 16:48:12 +00:00
Xavier Roche 3e59977b27 DOS 8+3 fixes. 2013-05-21 19:31:41 +00:00
Xavier Roche 5fd71d61fc Save IDNA-enabled hostnames as UTF-8 on disk (ie. www.héhé.fr/foo). 2013-05-21 19:14:20 +00:00
Xavier Roche 8c00d09bb4 Fixed hts_isCharsetUTF8()
Added hts_copyStringUTF8()
2013-05-21 19:08:12 +00:00
Xavier Roche 03d57e2e73 Added hts_isStringIDNA() 2013-05-21 17:53:05 +00:00
Xavier Roche 362ea71c8f Added IDNA testing tool 2013-05-20 20:03:14 +00:00
Xavier Roche 257cb5de62 Rewritten UTF-8 primitives for hts_convertStringUTF8ToIDNA()
Added hts_convertStringIDNAToUTF8()
2013-05-20 20:02:45 +00:00
Xavier Roche 1433170ef4 removed gz_is_available flag (zlib is mandatory) 2013-05-19 16:02:04 +00:00
Xavier Roche 063acf0160 Fixed warnings 2013-05-19 15:43:23 +00:00
Xavier Roche 9c8092eda6 Fixed warnings 2013-05-19 15:43:01 +00:00
Xavier Roche 84eb03f43a openssl is no longer dynamically probed at stratup, but dynamically linked 2013-05-19 15:31:45 +00:00
Xavier Roche 3c78185e9a Missing credits from 3.47.13 2013-05-19 12:44:06 +00:00
Xavier Roche 6eefd17912 3.47.13 2013-05-19 11:01:32 +00:00
Xavier Roche e0eb5a7e06 Missing history record from 3.47.12 2013-05-19 10:24:43 +00:00
Xavier Roche c49a18830a Fixed htscharset.h 2013-05-19 10:17:56 +00:00
Xavier Roche 4dfcf03139 Fixed htscharset 2013-05-19 10:15:32 +00:00
Xavier Roche 25f81b434f Added missing punycode.c in build. 2013-05-19 10:12:08 +00:00
Xavier Roche 0e37e456c8 Missing files introduced in r244 2013-05-19 10:10:35 +00:00
Xavier Roche 003cb47b95 Added support for IDNA / RFC 3492 (Punycode) handling within URLs. 2013-05-19 10:07:45 +00:00
Xavier Roche bb90afc682 Fixed "Bogus charset for requests when filenames have non-ascii characters (RFC 3986)" (http://code.google.com/p/httrack/issues/detail?id=12) 2013-05-18 16:51:59 +00:00
Xavier Roche fd153cb28d Fixed "Bogus charset on disk when filenames have non-ascii characters" (http://code.google.com/p/httrack/issues/detail?id=11) 2013-05-18 15:09:58 +00:00
Xavier Roche 46b6d81f72 3.47.12 2013-05-17 21:39:33 +00:00
Xavier Roche afb797974e Fixed "onMouseOver="src='image'" is not recognized" and MANY other javascript issues (http://code.google.com/p/httrack/issues/detail?id=4) 2013-05-17 18:25:48 +00:00
Xavier Roche 7943d83e29 Fixed "Image in CSS not parsed" (http://code.google.com/p/httrack/issues/detail?id=2) 2013-05-17 17:56:34 +00:00
Xavier Roche a865015832 Indenting cleanup for htsparse.c
setup:
  indent -l80 -lc80 -nhnl -nut -bad -bap -bbo -br -brf -bli2 -brs -bls -br -ss
-sai -pmt -nsaw -nsaf -nprs -i2 -ce -npsl -npcs -cs -sob -cdw -nbc -lp

logs:
indent: htsparse.c:364: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:366: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:368: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:370: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:387: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:738: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: htsparse.c:907: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: htsparse.c:925: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:970: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:971: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:1261: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: htsparse.c:1277: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: htsparse.c:1410: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: htsparse.c:1459: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: htsparse.c:1494: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:1504: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:1541: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:1583: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:1597: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:1625: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: htsparse.c:2975: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
2013-05-15 19:08:19 +00:00
Xavier Roche f7113910f3 Removed unused hack HTS_CHECK_STRANGEDIR 2013-05-15 19:06:53 +00:00
Xavier Roche 07f4b00367 Indenting cleanup for all *.[ch] files, except htsparse.c (too ugly to be automatically indented for now) and /minizip/, /mmsrip/ (external files)
setup:
  indent -l80 -lc80 -nhnl -nut -bad -bap -bbo -br -brf -bli2 -brs -bls -br -ss -sai -pmt -nsaw -nsaf -nprs -i2 -ce -npsl -npcs -cs -sob -cdw -nbc -lp

logs:
indent: ./src/htsback.c:157: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:1417: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:1826: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:1833: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:1981: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:2685: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:2747: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:2861: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:3128: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsback.c:3512: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htswizard.c:140: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htswizard.c:597: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htswizard.c:598: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htswizard.c:611: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscoremain.c:97: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscoremain.c:106: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscoremain.c:106: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscoremain.c:256: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscoremain.c:262: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscoremain.c:935: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:271: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:272: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:273: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:274: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:275: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:276: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:277: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:278: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:279: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:280: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:281: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:662: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/httrack.c:752: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:413: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:414: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:415: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:416: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:417: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:418: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:419: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:420: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:421: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:422: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsweb.c:423: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:188: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:507: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:508: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:509: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:510: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:511: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:512: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:580: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.c:581: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:115: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:246: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:247: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:248: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:249: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:250: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:251: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:314: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/proxy/proxytrack.h:315: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:151: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:158: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:161: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:166: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:174: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:177: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:188: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:243: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:245: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:248: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:257: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htstools.c:647: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htsbauth.c:364: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsbauth.c:387: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htscache.c:473: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsserver.h:112: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsserver.h:187: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsjava.c:312: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsjava.c:379: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsjava.c:407: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsjava.c:472: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsjava.c:483: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htslib.c:593: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:809: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:1743: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:1874: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:1896: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:1984: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2085: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2604: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2605: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2606: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2607: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2608: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2609: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2672: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2673: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2906: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2928: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:2996: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:4802: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htslib.c:5353: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:5354: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:5355: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:5357: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:5429: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htslib.c:5435: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscore.c:208: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htscore.c:277: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htscore.c:279: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htscore.c:357: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htscore.c:394: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htscore.c:1544: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscore.c:3330: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscore.c:3361: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htshash.c:140: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htshash.c:217: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsname.c:733: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htsname.c:749: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htsname.c:933: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htsname.c:1520: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htszlib.c:76: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htszlib.c:81: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htscatchurl.c:268: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsinthash.c:156: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsinthash.c:159: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsinthash.c:176: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsinthash.c:179: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsinthash.c:226: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsinthash.c:253: Warning:old style assignment ambiguity in "=&".  Assuming "= &"
indent: ./src/htsftp.c:169: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsftp.c:177: Warning:old style assignment ambiguity in "=-".  Assuming "= -"
indent: ./src/htsfilters.c:67: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
indent: ./src/htsfilters.c:80: Warning:old style assignment ambiguity in "=*".  Assuming "= *"
2013-05-14 20:30:28 +00:00
Xavier Roche b09def438c Missing stdarg.h 2013-05-14 20:25:47 +00:00
Xavier Roche 06d7e5bb20 Fixed proxytrack ugly logging. 2013-05-14 20:22:32 +00:00
Xavier Roche 2bc35e7ee9 Fixed definition of hts_debug 2013-05-14 20:05:53 +00:00
Xavier Roche 5a933d3538 Removed ugly HTS_DBG() macros. 2013-05-14 19:59:05 +00:00
Xavier Roche 0573b166b2 Merge sources from windows-1252 to utf-8 2013-05-14 19:20:14 +00:00
Xavier Roche eaef7eb1f7 Fixed LOG_DEBUG 2013-05-13 15:07:51 +00:00
Xavier Roche 695825fa84 Fixed typo. 2013-05-13 14:52:48 +00:00
Xavier Roche 73d25045f5 Logging 2013-05-13 14:44:21 +00:00
Xavier Roche bb4c595810 Introducing the hts_log_print() logging function
* cleaned up logging
2013-05-13 14:31:20 +00:00
Xavier Roche 84c47b0ce1 Fixed hts_stringLengthUTF8 definition on Linux 2013-05-13 14:18:39 +00:00
Xavier Roche 7563bf19ce Fixed typo. 2013-05-13 11:40:29 +00:00
Xavier Roche 8cdb6d6fb0 Limit the final destination path lenght to 256 (Windows compatibility)
See http://code.google.com/p/httrack/issues/detail?id=9
2013-05-13 11:17:31 +00:00
Xavier Roche 1c496d66c8 Current script binary directory is prioritary over /usr and friends. 2013-05-13 09:31:25 +00:00
Xavier Roche c50f083f8d Fixed language index grep 2013-05-13 09:17:42 +00:00
Xavier Roche f884788324 Fixed language index, which were off-by-one since the begining ... 2013-05-13 09:17:16 +00:00
Xavier Roche dce5f3ff54 Missing pthread_attr_destroy() 2013-05-12 14:54:35 +00:00
Xavier Roche cb96c0dcc2 webhttrack: use 8MB for the stack size (needed especially for OSX).
should get rid of http://code.google.com/p/httrack/issues/detail?id=10
2013-05-12 14:39:07 +00:00
Xavier Roche b39459ae52 webhttrack: also include $CWD/.. as httrack search path 2013-05-12 14:38:14 +00:00
Xavier Roche defaa97a30 webhttrack: add $CWD/../share as directory for httrack 2013-05-12 14:36:38 +00:00
Xavier Roche 5d564d0812 Fixed a bunch of warnings. 2013-05-09 17:10:06 +00:00
Xavier Roche 90404c36f6 Fixed shlibs deps 2013-05-04 11:52:35 +00:00
Xavier Roche b39736eb13 3.47.11 2013-05-04 11:26:18 +00:00
Xavier Roche 490e5821ba Fixed httrack.h macros (Sebastian Pipping) 2013-05-04 06:30:05 +00:00
Xavier Roche 75faaf7f11 Fixed zero-length files not being properly handled (not savec on disk, not updated) 2013-05-03 11:30:41 +00:00
Xavier Roche 26e0b7e748 Fixed bug inside hts_mirror_wait_for_next_file() that may lead to race conditions in downloaded files, leading to download several times the same file, possibly ending with "Unexpected 412/416 error" errors. 2013-05-03 11:10:42 +00:00
Xavier Roche 830ae3dd98 3.47.10 2013-05-01 20:51:08 +00:00
Xavier Roche fe53745c9a Added KDE/Gnome PNG icons (16x16, 32x32 and 48x38) for default hicolor theme. 2013-05-01 20:43:59 +00:00
Xavier Roche dc5c8b0ab5 Updated to 3.47.9 (Build-depends on libtool) 2013-05-01 11:21:18 +00:00
Xavier Roche 3ca0c70a1b Build-Depends: libtool 2013-05-01 11:15:31 +00:00
Xavier Roche ccac769fa7 3.47.8 2013-05-01 10:34:59 +00:00
Xavier Roche 4600b99fc9 Build-Depends: automake1.9 2013-05-01 10:26:21 +00:00
Xavier Roche 5c1b3d39f7 Updated changelog 2013-04-30 17:29:51 +00:00
Xavier Roche d56338cff8 Modified history regarding UTF-8 bug 2013-04-30 17:24:35 +00:00
Xavier Roche 910eac28b6 Log charset conversion 2013-04-29 19:59:28 +00:00
Xavier Roche 33ac73bdd3 Fixed serious UTF-8 conversion bug in hts_convertStringToUTF8() on Linux that may lead to buggy filenames. 2013-04-29 19:58:12 +00:00
Xavier Roche 669098ec49 3.47.7 2013-04-29 16:39:56 +00:00
Xavier Roche d685703717 Fixed possible DLL local injection on Windows due to broken LoadLibrary() API (CVE-2010-5252) 2013-04-29 16:39:16 +00:00
Xavier Roche 117c43f3e6 Fixed malformed printf. 2013-04-29 16:21:49 +00:00
Xavier Roche 7aad37490c Verbose incomplete type 2013-04-28 19:43:45 +00:00
Xavier Roche 94cb4e54ba cache_add(): do not refuse to write zero-length files 2013-04-28 19:37:04 +00:00
Xavier Roche 4a3d446d8d Build-Depends: autoconf 2013-04-28 19:13:15 +00:00
Xavier Roche dcb57ac7cc autoreconf 2013-04-28 19:11:00 +00:00
Xavier Roche 93914925cc dh_autoreconf cleanup (outdated-autotools-helper-file) 2013-04-28 18:42:43 +00:00
Xavier Roche f48fe50db5 debian-policy 3.9.4 2013-04-28 18:28:34 +00:00
Xavier Roche d63def73d6 Cleaned up index 2013-04-28 16:03:06 +00:00
Xavier Roche dcd0ecae84 Added ebay scam note. 2013-04-28 16:00:46 +00:00
Xavier Roche 1ff1fb87eb Updated faq 2013-04-28 09:02:22 +00:00
Xavier Roche ce7a3f4f3a Updated faq a little bit. 2013-04-28 09:00:33 +00:00
Xavier Roche e9f7d7e286 silent.wav 2013-04-27 14:14:32 +00:00
Xavier Roche 62d7a20882 3.47.6 2013-04-27 13:33:10 +00:00
Xavier Roche cd4574c270 Missing ICONV_LIBS for libhttrack 2013-04-26 20:05:31 +00:00
Xavier Roche b980c02fdb configure.ac (Sebastian Pipping) 2013-04-26 06:05:30 +00:00
Xavier Roche 7d8af8b5d5 Fixed AM_CONFIG_HEADER vs. AC_CONFIG_HEADERS (Sebastian Pipping) 2013-04-26 06:00:26 +00:00
Xavier Roche 78173ef819 Build warning cleanup.
* introduced SOClen type (aka. socklen_t)
2013-04-21 18:46:35 +00:00
Xavier Roche aad018682d Fixed memory leak in hashtable. 2013-04-21 18:14:05 +00:00
Xavier Roche c28932dfd8 Fixed too long line 2013-04-21 15:08:05 +00:00
Xavier Roche 48f87d3c75 hardening-no-fortify-functions usr/lib/httrack/libtest/libfilenameiisbug.so.1.0.0 2013-04-17 08:41:45 +00:00
Xavier Roche 6cf790aa13 Updated libtool 2013-04-17 08:39:08 +00:00
Xavier Roche a037569f02 3.47.5 2013-04-17 08:13:31 +00:00
Xavier Roche c3438fc407 control 2013-04-17 08:10:46 +00:00
Xavier Roche 77c02d415c No more needed 2013-04-17 08:10:15 +00:00
Xavier Roche 169659ed61 changelog 2013-04-17 08:08:39 +00:00
Xavier Roche 6475c0ee0e desktop-command-not-in-package 2013-04-17 08:08:33 +00:00
Xavier Roche 6f37432c0a Updated to 3.47.4 2013-04-16 20:08:08 +00:00
Xavier Roche 8f0c31525a control 2013-04-16 20:01:16 +00:00
Xavier Roche 53fab1df84 control hmm 2013-04-16 19:49:11 +00:00
Xavier Roche 42d06690b4 3.47.3 2013-04-16 19:47:16 +00:00
Xavier Roche 4134db08b5 Upgraded to 3.47.3 2013-04-16 19:39:46 +00:00
Xavier Roche ccd3eccdf8 Updated version to 3.47.3 2013-04-16 19:37:11 +00:00
Xavier Roche bd895e2858 Does not breaks anymore previous release 2013-04-16 19:28:28 +00:00
Xavier Roche 5ce86db4ae control 2013-04-16 19:23:54 +00:00
Xavier Roche c6b61d54bf Breaks+Replaces 2013-04-16 19:18:29 +00:00
Xavier Roche fd81da55c9 Updated 2013-04-14 20:43:55 +00:00
Xavier Roche 5e1cc9ef80 reverted 2013-04-14 20:32:10 +00:00
Xavier Roche b3b02c8a34 control file 2013-04-14 20:26:11 +00:00
Xavier Roche cf65468d58 Attempt to conflict webttrack-common too 2013-04-14 20:21:12 +00:00
Xavier Roche aaa1cebc14 Conflicts ? 2013-04-14 20:14:37 +00:00
Xavier Roche 59de7cd02d Fixed control file 2013-04-14 20:10:08 +00:00
Xavier Roche 571da09645 webhttrack-common replaces and breaks webhttrack (<< 3.46.1-1) due to moved files 2013-04-14 20:04:12 +00:00
Xavier Roche b601842fe1 Fixed common files. 2013-04-14 18:27:14 +00:00
Xavier Roche b8773e844f Moved pixmaps 2013-04-14 18:12:29 +00:00
Xavier Roche 39e1605e91 Version 3.47.2 2013-04-14 18:02:58 +00:00
Xavier Roche 33d7070c48 Do not force a 206 status (partial content) when we see a "Content-Range" response header, because some servers are weird
Fixes: issue 7
2013-04-14 17:52:28 +00:00
Xavier Roche 4ac6c95c49 Fixed Makefile regarding xpm 2013-04-14 16:47:49 +00:00
Xavier Roche 7e3b143ccd Get rid of the CreationDate 2013-04-14 16:41:34 +00:00
Xavier Roche dede9c900b Modified Makefile.in 2013-04-14 16:35:52 +00:00
Xavier Roche b43745dd10 Icon fixes.
See probably related issue: https://bugs.launchpad.net/ubuntu/+source/httrack/+bug/1156982
2013-04-14 16:34:35 +00:00
Xavier Roche 478a210694 Updated control file 2013-04-14 14:15:57 +00:00
Xavier Roche ed92597b91 Version 3.47.1 2013-04-14 14:13:25 +00:00
Xavier Roche bf8ecdfefd Version 3.47 2013-04-14 14:10:28 +00:00
Xavier Roche 9f9e5f2221 Fixed file descriptor resurrection inside back_unserialize() leading to close randomly files or sockets
This really annoying bug may be the root cause of various related issues while updating of continuing a mirror:
  * zip_zipWriteInFileInZip_failed assertion failures
  * random garbage in downloaded files
  * random "bogus state" error messages
  * connection unexpectedly closed

Probably closes issue 5 (http://code.google.com/p/httrack/issues/detail?id=5)
2013-04-14 13:49:05 +00:00
Xavier Roche 68270ec277 This valud was really stupid. 2013-04-14 13:45:09 +00:00
Xavier Roche de3815873a Print "error closing socket" error messages if the socket can not be closed. 2013-04-14 13:43:12 +00:00
Xavier Roche 67b29c973b Report incomplete files as info 2013-04-14 10:04:03 +00:00
Xavier Roche fe7e71e751 Do not report "broken file" message for incomplete files. 2013-04-14 10:02:13 +00:00
Xavier Roche efa69be688 Add libssl.dylib in the search list for libssl (Nils Breunese)
* closes:#6
2013-04-05 16:09:11 +00:00
Xavier Roche 6fb1f6df52 Removed dead code. 2013-03-30 12:08:56 +00:00
Xavier Roche 6eda70c508 Fixed bogus charset because the meta http-equiv tag is placed too far in the html page 2013-02-28 14:48:58 +00:00
Xavier Roche 8d0b8f07f0 Fixed \\machine\dir structure build on Windows (TomZ) 2013-02-28 14:01:33 +00:00
Xavier Roche 47e6363f9c Do not force a file to have an extension unless it has a known type (such as html), or a possibly known type (if delayed checks are disabled)
Fixes http://code.google.com/p/httrack/issues/detail?id=1
2013-02-25 19:28:29 +00:00
Xavier Roche 189959eaef Year update. 2013-02-25 19:26:18 +00:00
Xavier Roche df35dfd50d Missing m4 files 2013-02-23 14:14:52 +00:00
Xavier Roche 483f734f64 Updated libtool && aclocal && automake && autoheader && autoconf 2013-02-23 14:14:03 +00:00
Xavier Roche 15ce3053bb HTML 5 addition (Jason Ronallo) regarding "poster" attribute for the "video" tag.
See http://forum.httrack.com/readmsg/30148/index.html
2013-01-03 07:14:06 +00:00
Xavier Roche 11b83d136b Fixed memory leaks in proxytrack.c (patch by Eric Searcy) 2012-11-10 08:19:15 +00:00
Xavier Roche 73d5688d65 Maximum number of connexions changed from 4 to 8
Maximum bandwidth usage changed from 100KB/s to 250KB/s
2012-11-01 19:20:13 +00:00
Xavier Roche 2848dd3b9e Correctly set the Z flag in hts-cache/new.txt file (Peter) 2012-10-03 20:20:48 +00:00
Xavier Roche 87d9e61bf5 Applied changes to Makefile.in too 2012-09-29 20:22:04 +00:00
Xavier Roche f2fa459f73 Applied configure changes. 2012-09-29 20:14:34 +00:00
Xavier Roche 53be4a646b Parallel patch from Sebastian Pipping 2012-09-29 20:09:55 +00:00
Xavier Roche 96fdb3b848 Fixed typo regarding ICONV_LIBS spotted by Sebastian Pipping 2012-09-29 20:06:18 +00:00
Xavier Roche c729e2ac56 Cosmetic fixes in history.txt 2012-06-24 10:45:54 +00:00
Xavier Roche 6dcff999ba Version 3.46 2012-06-23 09:10:27 +00:00
Xavier Roche fe3d6e5f53 Fixed from Sebastian Pipping:
* make sure that example.{c,h} are not installed twice
    which causes an error for "make install"
  * make sure that libhttrack.la is a proper dependency so that
    parallel compilation (e.g. "make -j6" works reliably)
2012-06-23 08:55:13 +00:00
Xavier Roche e1862a3f95 Fixed anonymous FTP without password (Luiz) 2012-06-17 11:36:26 +00:00
Xavier Roche aa7da0ff5f added closes 2012-05-22 20:28:15 +00:00
Xavier Roche 8be765a0f3 Removed Accept-Charset
closes:#674053
2012-05-22 20:26:12 +00:00
Xavier Roche fac7555837 Beta-3 2012-05-18 08:17:22 +00:00
Xavier Roche 97289284bb Fixed parsing issue with js files due to </script> tags (Vasiliy) 2012-05-12 14:37:55 +00:00
Xavier Roche a8e195fefb Fixed build 2012-05-12 14:08:33 +00:00
Xavier Roche 0fec4eac5b Update dhistory 2012-05-12 11:19:45 +00:00
Xavier Roche 47867de0e7 beta-2 2012-05-12 11:13:31 +00:00
Xavier Roche 57ecfbf446 Fixed totally broken handling of update/continue with erased files or renamed files, leading to "Unexpected 412/416 error (Requested Range Not Satisfiable)" and/or "Previous cache file not found" (-1)" errors 2012-05-12 11:12:10 +00:00
Xavier Roche 4edc8b5555 Removed gpl.txt (duplicate with COPYING) 2012-05-08 16:16:35 +00:00
Xavier Roche 15cc18d540 Converted in UTF-8 2012-05-08 16:14:10 +00:00
Xavier Roche ff9a5f471e Duplicate file. 2012-05-08 16:13:06 +00:00
Xavier Roche aca2f4da10 Generate error pages when needed (Brent Palmer) 2012-05-08 11:59:57 +00:00
Xavier Roche 2e318c11d7 Updated interface 2012-05-08 08:31:54 +00:00
Xavier Roche 9310c1fb44 Really fixed utime() 2012-05-08 08:30:30 +00:00
Xavier Roche e218ba4a79 utime() fix for UTF-8 2012-05-08 08:20:11 +00:00
Xavier Roche fffff09d00 beta 2012-05-08 08:20:00 +00:00
Xavier Roche e67f9f3d16 Do not use "delayed" extensions when the mirror is aborting. 2012-05-08 08:19:43 +00:00
Xavier Roche 355775b74b Check for bogus links (Vasiliy) 2012-05-07 14:08:20 +00:00
Xavier Roche 71d7f2868a man 2012-05-07 10:24:41 +00:00
Xavier Roche 243af7389f Fixed includes. 2012-05-07 10:09:24 +00:00
Xavier Roche 525118dfe8 Charset fixes 2012-05-07 10:02:58 +00:00
Xavier Roche aad35562b3 Minor fixes regarding utf-8 filename handling 2012-05-06 16:58:45 +00:00
Xavier Roche 4ec5ea4991 updated man 2012-05-06 15:38:54 +00:00
Xavier Roche cef295e8df cosmetic 2012-05-06 15:38:32 +00:00
Xavier Roche 53153adac5 comment 2012-05-06 15:38:22 +00:00
Xavier Roche 39021d22d2 iconv fixes 2012-05-06 15:37:51 +00:00
Xavier Roche bbaccf7ba1 -liconv 2012-05-06 14:37:40 +00:00
Xavier Roche 53ee6f78b2 Test #3 2012-05-06 14:31:09 +00:00
Xavier Roche 8da9b1b413 htscharset.c in build 2012-05-06 14:24:32 +00:00
Xavier Roche 0600007798 Missing files 2012-05-06 14:23:07 +00:00
Xavier Roche 8368e4772f 3.46-1 2012-05-06 14:21:50 +00:00
Xavier Roche fbfb68b7c7 UTF-8 filenames handling (based on HTML page charset) 2012-05-06 14:20:29 +00:00
Xavier Roche 78a6312516 Escape characters >= 128 when sending GET/HEAD requests using %XX (standard browsers behavior) 2012-05-05 14:10:25 +00:00
Xavier Roche 9112768bbe Fixed background_on_suspend 2012-05-01 19:44:50 +00:00
Xavier Roche 2593388359 Updated manual 2012-05-01 19:34:15 +00:00
Xavier Roche 9f27e0498e Typo 2012-05-01 19:34:11 +00:00
Xavier Roche 33554304cf Updated manual 2012-05-01 19:31:46 +00:00
Xavier Roche 059c83ee78 Cleaner background on suspend 2012-05-01 19:31:33 +00:00
Xavier Roche 7925c75323 Updated history 2012-05-01 19:15:51 +00:00
Xavier Roche 3de3fe0930 Updated manual 2012-05-01 19:15:30 +00:00
Xavier Roche c7f236fdb6 Added -y/-y0, to control background on suspend (Julian H. Stacey) 2012-05-01 19:11:31 +00:00
Xavier Roche e564ca7fa2 Updated manual 2012-05-01 19:03:27 +00:00
Xavier Roche 59d5ebd603 3.45.4 2012-05-01 19:01:38 +00:00
Xavier Roche 6ba0511ffb Updated manual 2012-05-01 18:54:24 +00:00
Xavier Roche fe0d105ea8 Updated manual 2012-05-01 18:50:57 +00:00
Xavier Roche a6f576b0e2 Updated version to 3.45-4 2012-05-01 18:48:53 +00:00
Xavier Roche 961e89881e Updated manual 2012-05-01 18:25:30 +00:00
Xavier Roche fcee3e9cc8 Updated manual 2012-05-01 16:55:50 +00:00
Xavier Roche f831e6cbd5 Flush 2012-05-01 16:55:26 +00:00
Xavier Roche 3d7840e959 Updated manual 2012-05-01 16:48:50 +00:00
Xavier Roche 483f2402cc Need these 2012-05-01 16:47:44 +00:00
Xavier Roche 4dd60def38 Updated manual 2012-05-01 16:44:37 +00:00
Xavier Roche dfff6cad91 Updated manual 2012-05-01 16:43:47 +00:00
Xavier Roche 469c271c33 Updated manual 2012-05-01 16:26:02 +00:00
Xavier Roche 4c7ec9bf95 Do not interpret ^C before mirror is finished, or after! 2012-05-01 16:25:50 +00:00
Xavier Roche 8cd02da424 Added a "K5" feature to handle transparent proxies (Brent Palmer) 2012-05-01 15:37:40 +00:00
Xavier Roche 655182a52d Oops 2012-05-01 15:37:11 +00:00
Xavier Roche d50e290a22 Replace // by / when saving rather than _/ 2012-04-20 18:05:18 +00:00
Xavier Roche 21642978d7 Document %k for custom structure (full query string) 2012-04-19 18:38:51 +00:00
Xavier Roche 3240e0aae2 Do not use md5sum to produce a temporary filename, but mktemp
* patch by Ryan Schmidt <ryandesign@macports.org>
2012-04-15 08:06:19 +00:00
Xavier Roche 3908bcde0b Replaced exit(1) by abort()
* fixed lintian shlib-calls-exit
2012-03-24 17:15:14 +00:00
Xavier Roche 5cca0d9154 Unused file 2012-03-24 12:26:58 +00:00
Xavier Roche 6a5e2f0983 Unused file 2012-03-24 12:26:46 +00:00
Xavier Roche 09be6e615e GPL v3 2012-03-24 12:21:42 +00:00
Xavier Roche 54e983b2c8 GPL v3 2012-03-24 12:03:55 +00:00
Xavier Roche e824708a62 Fixed "binary-control-field-duplicates-source" for field "section" (lintian) 2012-03-24 11:31:40 +00:00
Xavier Roche 0e57f6f58b Added watch file (debian-watch-file-is-missing) 2012-03-24 11:23:04 +00:00
Xavier Roche e9cf4041c5 More litian 2012-03-22 20:09:51 +00:00
Xavier Roche a8a148603d Updated changelog 2012-03-22 20:09:45 +00:00
Xavier Roche 3042aaac8f Updated manual 2012-03-22 19:07:19 +00:00
Xavier Roche 9b0cf5a57a Updated history 2012-03-22 19:07:03 +00:00
Xavier Roche 849605897c Updated manual 2012-03-21 20:04:47 +00:00
Xavier Roche a83f0963e8 Do not flood logs when stopping mirror after max time has passed 2012-03-21 20:01:09 +00:00
Xavier Roche dc0db67742 Fixed incredible bug leading to reject html files from cache not present on disk (spotted by Alain Desilets) 2012-03-21 20:00:28 +00:00
Xavier Roche 9445e139da Removed log file 2012-03-21 19:56:32 +00:00
Xavier Roche f0cac9eea6 Cosmetic 2012-03-21 19:54:55 +00:00
Xavier Roche 5691e0e67f Fixed 64-bit cache read size. 2012-03-19 20:43:16 +00:00
Xavier Roche 7ff6a85ec8 Do not check html consistency for errors. 2012-03-19 20:05:08 +00:00
Xavier Roche f732730b23 Updated manual 2012-03-19 17:01:52 +00:00
Xavier Roche 06edf75cdc Updated manual 2012-03-19 16:53:59 +00:00
Xavier Roche 1c8cc0dbc8 Alain Desilets: --max-time should not break too violently the mirror 2012-03-19 15:37:02 +00:00
Xavier Roche 484cd31a74 Updated version 2012-03-19 15:35:52 +00:00
Xavier Roche 1e808c8e95 Updated manual 2012-03-19 13:56:26 +00:00
Xavier Roche 98bcc86563 Try to remove 2012-03-19 13:56:19 +00:00
Xavier Roche 5ab9eded84 Updated manual 2012-03-19 13:51:54 +00:00
Xavier Roche 744e6fe82f Updated manual 2012-03-19 13:49:06 +00:00
Xavier Roche 5771e920d1 Updated manual 2012-03-19 13:48:37 +00:00
Xavier Roche 4b13ad3315 Pop quilt 2012-03-19 13:48:22 +00:00
Xavier Roche 6af1747ac9 Updated manual 2012-03-19 13:46:40 +00:00
Xavier Roche 46b436577e Updated manual 2012-03-19 13:43:45 +00:00
Xavier Roche 6ed4085f97 Updated manual 2012-03-19 13:42:31 +00:00
Xavier Roche e20090efce Updated manual 2012-03-19 13:40:47 +00:00
Xavier Roche 36b6e8d6ee Updated manual 2012-03-19 13:35:35 +00:00
Xavier Roche 879d235ca9 new revision 3.45.3 2012-03-19 13:35:14 +00:00
Xavier Roche c2380a0ffe Updated manual 2012-03-19 13:33:30 +00:00
Xavier Roche d85e25845f Updated manual 2012-03-19 13:32:43 +00:00
Xavier Roche 16321a0ca4 Updated release 2012-03-19 13:32:16 +00:00
Xavier Roche 59f93cdfd2 Quilt 2012-03-19 13:23:42 +00:00
Xavier Roche 2f754c53db format 2012-03-19 13:17:14 +00:00
Xavier Roche ae1ea4cb8b Debian repository 2012-03-19 13:11:53 +00:00
Xavier Roche 873739001a httrack 3.45.2 2012-03-19 13:04:51 +00:00
Xavier Roche 388b7dee2a httrack 3.45.1 2012-03-19 13:04:25 +00:00
Xavier Roche 0183f4dd84 httrack 3.44.1 2012-03-19 13:03:26 +00:00
Xavier Roche 1096a6b82c httrack 3.43.12 (again) 2012-03-19 13:02:50 +00:00
Xavier Roche 211c870cba httrack 3.43.5 2012-03-19 13:02:05 +00:00
Xavier Roche 1ecdfbe3b8 httrack 3.43.12 2012-03-19 13:00:51 +00:00
Xavier Roche 4aec03f2cb httrack 3.42.3 2012-03-19 13:00:04 +00:00
Xavier Roche 660b569b09 httrack 3.41.2 2012-03-19 12:59:03 +00:00
Xavier Roche 64cc4a88da httrack 3.40.4 2012-03-19 12:57:43 +00:00
Xavier Roche 844ecc3707 httrack 3.33.16 2012-03-19 12:55:42 +00:00
Xavier Roche 25adbdabb4 httrack 3.30.1 2012-03-19 12:51:31 +00:00
Xavier Roche ad5b7acc19 Imported httrack 3.20.2 2012-03-19 12:36:11 +00:00
371 changed files with 158419 additions and 26 deletions
+1
View File
@@ -0,0 +1 @@
Xavier Roche <roche@httrack.com>
+674
View File
@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
View File
+370
View File
@@ -0,0 +1,370 @@
Installation Instructions
*************************
Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
7. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
to try
./configure CC="cc"
and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of all of the options to `configure', and exit.
`--help=short'
`--help=recursive'
Print a summary of the options unique to this package's
`configure', and exit. The `short' variant lists options used
only in the top level, while the `recursive' variant lists options
also present in any nested packages.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
`--no-create'
`-n'
Run the configure checks, but stop before creating any output
files.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
+10
View File
@@ -0,0 +1,10 @@
HTTrack Website Copier - Install notes
--------------------------------------
On most systems (including GNU/Linux), installing can be easily acheived using the following command:
./configure && make && make install
-or- (if not compiling as root)
./configure --prefix=$HOME && make && make install
See also the INSTALL generic help file.
+8
View File
@@ -0,0 +1,8 @@
SUBDIRS = src man m4 libtest templates lang html tests
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = INSTALL.Linux \
gpl-fr.txt license.txt greetings.txt history.txt \
httrack-doc.html lang.def
+785
View File
@@ -0,0 +1,785 @@
# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
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
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 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/snprintf.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DL_LIBS = @DL_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LFS_FLAG = @LFS_FLAG@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_CV_OBJDIR = @LT_CV_OBJDIR@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
ONLINE_UNIT_TESTS = @ONLINE_UNIT_TESTS@
OPENSSL_LIBS = @OPENSSL_LIBS@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SHLIBPATH_VAR = @SHLIBPATH_VAR@
SOCKET_LIBS = @SOCKET_LIBS@
STRIP = @STRIP@
THREADS_CFLAGS = @THREADS_CFLAGS@
THREADS_LIBS = @THREADS_LIBS@
V6_FLAG = @V6_FLAG@
VERSION = @VERSION@
VERSION_INFO = @VERSION_INFO@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
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_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = src man m4 libtest templates lang html tests
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = INSTALL.Linux \
gpl-fr.txt license.txt greetings.txt history.txt \
httrack-doc.html lang.def
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
config.h: stamp-h1
@if test ! -f $@; then rm -f stamp-h1; else :; fi
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool config.lt
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__remove_distdir)
dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod u+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@test -n '$(distuninstallcheck_dir)' || { \
echo 'ERROR: trying to run $@ with an empty' \
'$$(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
$(am__cd) '$(distuninstallcheck_dir)' || { \
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
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)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr \
distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
ctags-recursive install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
dist-zip distcheck distclean distclean-generic distclean-hdr \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-recursive uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
View File
-26
View File
@@ -1,26 +0,0 @@
# HTTrack Website Copier - Development Repository #
## About ##
_Copy websites to your computer (Offline browser)_
![http://www.httrack.com/images/screenshot_01.jpg](http://www.httrack.com/images/screenshot_01.jpg)
<img src='http://www.httrack.com/htsw/screenshot_w1.jpg' width='34%'>
<b>HTTrack</b> is an <i>offline browser</i> utility, allowing you to download a World Wide website from the Internet to a local directory, building recursively all directories, getting html, images, and other files from the server to your computer.<br>
<br>
<b>HTTrack</b> arranges the original site's relative link-structure. Simply open a page of the "mirrored" website in your browser, and you can browse the site from link to link, as if you were viewing it online.<br>
<br>
HTTrack can also update an existing mirrored site, and resume interrupted downloads. HTTrack is fully configurable, and has an integrated help system.<br>
<br>
<b>WinHTTrack</b> is the Windows 2000/XP/Vista/Seven release of HTTrack, and <b>WebHTTrack</b> the Linux/Unix/BSD release.<br>
<br>
<h2>Website</h2>
<b>Main Website:</b>
<a href='http://www.httrack.com/'>http://www.httrack.com/</a>
<h2>Compile trunk release</h2>
<pre><code>svn checkout https://httrack.googlecode.com/svn/trunk/ httrack
<br>
cd httrack
<br>
+58
View File
@@ -0,0 +1,58 @@
HTTrack Website Copier, Offline Browser for Windows and Unix
Copyright (C) 1998-2014 Xavier Roche and other contributors
Welcome to HTTrack Website Copier!
Information:
The folder html/ contains the documentation
You might want to read these files, especially for installing HTTrack:
- See INSTALL file for installation information (NO WARRANTY)
- See license.txt file for license information
Contacting us:
If you want to ask any question, feel free to contact us!
email: httrack@httrack.com
Donations:
HTTrack Website Copier is free software, but if you can, please donate to the Free Software Foundation (FSF) to support free software!
(Europe)
http://www.fsfeurope.org/help/donate.html
(World)
http://www.fsf.org/help/donate.html
Engine limits:
These are the principals limits of HTTrack for that moment. Note that we did not heard about any other utility
that would have solved them.
- Several scripts generating complex filenames may not find them (ex: img.src='image'+a+Mobj.dst+'.gif')
- Some java classes may not find some files on them (class included)
- Cgi-bin links may not work properly in some cases (parameters needed). To avoid them: use filters like -*cgi-bin*
Advanced options:
These options may not be necessary for a normal usage. But they can solve several problems.
- If you need more than 100,000 links: -#L1000000 (1,000,000 links)
- If you need more than 500 filters: -#F1000 (1,000 filters)
- If you need transfer rate statictics every minutes: -#Z
- If you need transfer operations statistics every minutes: -#T
- If you want log files to be refreshed after every line: -#f
Thank you!
Have fun with HTTrack Website Copier!
The authors
Executable
+343
View File
@@ -0,0 +1,343 @@
#! /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:
Vendored Executable
+1530
View File
File diff suppressed because it is too large Load Diff
+123
View File
@@ -0,0 +1,123 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Check for dlopen in c */
#undef DLLIB
/* Check for ftime */
#undef FTIME
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_LIBZ
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* 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
/* Check for in_addr_t */
#undef HTS_DO_NOT_REDEFINE_in_addr_t
/* Check for IPv6 */
#undef HTS_INET6
/* Check for large files support */
#undef HTS_LFS
/* Check for OpenSSL */
#undef HTS_USEOPENSSL
/* Check for libiconv */
#undef LIBICONV
/* Check for libsocket */
#undef LIBSOCKET
/* 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
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* "enable replacement (v)snprintf if system (v)snprintf is broken" */
#undef PREFER_PORTABLE_SNPRINTF
/* Check for setuid */
#undef SETUID
/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Check for pthread in pthreads */
#undef THREADS
/* Version number of package */
#undef VERSION
/* in_port_t */
#undef in_port_t
/* sa_family_t */
#undef sa_family_t
Vendored Executable
+1782
View File
File diff suppressed because it is too large Load Diff
Vendored Executable
+15605
View File
File diff suppressed because it is too large Load Diff
+250
View File
@@ -0,0 +1,250 @@
AC_PREREQ(2.59)
AC_INIT([httrack], [3.48.10], [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_CONFIG_SRCDIR(src/httrack.c)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS(config.h)
AM_INIT_AUTOMAKE
VERSION_INFO="2:48:0"
AM_MAINTAINER_MODE
AC_PROG_CC
AM_PROG_CC_C_O
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)
# 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-align -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations -Wdeclaration-after-statement \
-Wpointer-arith -Wsequence-point -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([-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([-fstrict-aliasing -Wstrict-aliasing=2], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -fstrict-aliasing -Wstrict-aliasing=2"])
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"])
### Check for -fvisibility=hidden support
gl_VISIBILITY
AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY"
AC_SUBST([AM_CFLAGS])
### Check for platform
#case $host in
#AIX) AC_DEFINE(HTS_PLATFORM, 1, [Defined to build under AIX]);;
#*-solaris*) AC_DEFINE(HTS_PLATFORM, 2, [Defined to build under solaris]);;
#*-linux-gnu | *-irix6*) AC_DEFINE(HTS_PLATFORM, 3, [Defined to build under Linux]);;
#*) AC_DEFINE(HTS_PLATFORM, 3, [Default value used]);;
#esac
### Check size of long and long long.
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(long long)
### 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>
])
### zlib
CHECK_ZLIB()
### OpenSSL is explicitly enabled/disabled ?
AC_MSG_CHECKING(whether to enable https support)
AC_ARG_ENABLE([https],
[AC_HELP_STRING([--enable-https=@<:@yes/no/auto@:>@],
[Enable https support @<:@default=yes@:>@])],
[
case "${enableval}" in
no|yes|auto)
https_support=$enableval
AC_MSG_RESULT($https_support)
;;
*)
AC_MSG_ERROR(bad value for https, expected yes/no/auto)
;;
esac
],
[
https_support=yes
AC_MSG_RESULT($https_support)
])
AC_SUBST(HTTPS_SUPPORT,$https_support)
# Probe OpenSSL ?
if test x"$https_support" = x"no"; then
AC_MSG_NOTICE([disabling https support])
AC_DEFINE(HTS_USEOPENSSL, 0)
else
AC_CHECK_LIB(ssl, SSL_library_init,
[
OPENSSL_LIBS="-lcrypto -lssl"
AC_DEFINE(HTS_USEOPENSSL, 1, [Check for OpenSSL])
],
[
if test x"$https_support" = x"yes"; then
AC_MSG_ERROR([not available])
else
AC_MSG_RESULT([not available])
fi
]
)
AC_SUBST(OPENSSL_LIBS)
fi
### Support IPv6
AC_CHECK_LIB(c, getaddrinfo, [V6_FLAG="-DINET6"
AC_DEFINE(HTS_INET6, 1, [Check for IPv6])], AC_MSG_WARN([*** IPv6 not found IPv6 compatibility disabled]))
AC_SUBST(V6_FLAG)
### Check for LFS
AC_CHECK_LIB(c, fopen64, [LFS_FLAG="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
AC_DEFINE(HTS_LFS, 1,[Check for large files support])], AC_MSG_RESULT([not found]))
AC_SUBST(LFS_FLAG)
### Check for pthread
AC_CHECK_LIB(pthread, pthread_create, [THREADS_LIBS=-lpthread
AC_DEFINE(THREADS, 1,[Check for pthread])], AC_MSG_RESULT([not found]))
AC_SUBST(THREADS_LIBS)
if test x$THREADS_LIBS = x
then
AC_CHECK_LIB(c, pthread_create, [THREADS_LIBS=
AC_DEFINE(THREADS, 1,[Check for pthread in c])], AC_MSG_RESULT([not found]))
AC_SUBST(THREADS_LIBS)
if test x$THREADS_LIBS = x
then
AC_CHECK_LIB(pthreads, pthread_create, [THREADS_LIBS=
AC_DEFINE(THREADS, 1,[Check for pthread in pthreads])], AC_MSG_WARN([*** not found]))
AC_SUBST(THREADS_LIBS)
fi
fi
THREADS_CFLAGS=
AC_SUBST(THREADS_CFLAGS)
### Check for socket/nsl (solaris)
AC_CHECK_LIB(socket, socket, [SOCKET_LIBS="-lnsl -lsocket"
AC_DEFINE(LIBSOCKET, 1,[Check for libsocket])], AC_MSG_RESULT([not necessary]))
AC_SUBST(SOCKET_LIBS)
### Check for iconv
AC_CHECK_LIB(iconv, iconv, [ICONV_LIBS="-liconv"
AC_DEFINE(LIBICONV, 1,[Check for libiconv])], AC_MSG_RESULT([not necessary]))
AC_SUBST(ICONV_LIBS)
### Check for dlsym
AC_CHECK_LIB(dl, dlopen, [DL_LIBS=-ldl
AC_DEFINE(DLLIB, 1,[Check for dl])], AC_MSG_RESULT([not found]))
AC_SUBST(DL_LIBS)
if test x$DL_LIBS = x
then
AC_CHECK_LIB(c, dlopen, [DL_LIBS=
AC_DEFINE(DLLIB, 1,[Check for dlopen in c])], AC_MSG_WARN([*** not found * this is bad]))
AC_SUBST(DL_LIBS)
fi
### Check for ftime
AC_CHECK_LIB(c, ftime, [
AC_DEFINE(FTIME, 1,[Check for ftime])], AC_MSG_RESULT([not found]))
### Check for setuid
AC_CHECK_LIB(c, setuid, [
AC_DEFINE(SETUID, 1,[Check for setuid])], AC_MSG_RESULT([not found]))
### Check for snprintf
AC_FUNC_SNPRINTF()
## Online unit tests
AC_MSG_CHECKING(whether to enable online unit tests)
AC_ARG_ENABLE([online-unit-tests],
[AC_HELP_STRING([--enable-online-unit-tests=@<:@yes/no/auto@:>@],
[Enable online-unit-tests @<:@default=yes@:>@])],
[
case "${enableval}" in
no|yes|auto)
online_unit_tests=$enableval
AC_MSG_RESULT($enableval)
;;
*)
AC_MSG_ERROR(bad value for online-unit-tests, expected yes/no/auto)
;;
esac
],
[
online_unit_tests=no
AC_MSG_RESULT(no)
])
AC_SUBST(ONLINE_UNIT_TESTS,$online_unit_tests)
# Final output
AC_OUTPUT([
Makefile
src/Makefile
man/Makefile
m4/Makefile
templates/Makefile
lang/Makefile
html/Makefile
libtest/Makefile
tests/Makefile
])
+1460
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
8
+96
View File
@@ -0,0 +1,96 @@
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
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
Depends: ${misc:Depends}, ${shlibs:Depends}
Suggests: webhttrack, httrack-doc
Description: Copy websites to your computer (Offline browser)
HTTrack is an offline browser utility, allowing you to download a World
Wide website from the Internet to a local directory, building recursively
all directories, getting html, images, and other files from the server to
your computer.
.
HTTrack arranges the original site's relative link-structure. Simply
open a page of the "mirrored" website in your browser, and you can
browse the site from link to link, as if you were viewing it online.
HTTrack can also update an existing mirrored site, and resume
interrupted downloads. HTTrack is fully configurable, and has an
integrated help system.
Package: webhttrack
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}, webhttrack-common, iceape-browser | iceweasel | icecat | mozilla | firefox | mozilla-firefox | www-browser
Replaces: webhttrack-common (<< 3.43.9-2)
Breaks: webhttrack-common (<< 3.43.9-2)
Suggests: httrack, httrack-doc
Enhances: httrack
Description: Copy websites to your computer, httrack with a Web interface
WebHTTrack is an offline browser utility, allowing you to download a World
Wide website from the Internet to a local directory, building recursively
all directories, getting html, images, and other files from the server to
your computer, using a step-by-step web interface.
.
WebHTTrack arranges the original site's relative link-structure. Simply
open a page of the "mirrored" website in your browser, and you can
browse the site from link to link, as if you were viewing it online.
HTTrack can also update an existing mirrored site, and resume
interrupted downloads. WebHTTrack is fully configurable, and has an
integrated help system.
.
Snapshots: http://www.httrack.com/page/21/
Package: webhttrack-common
Architecture: all
Depends: ${misc:Depends}
Description: webhttrack common files
This package is the common files of webhttrack, website copier and
mirroring utility
Package: libhttrack2
Architecture: any
Section: libs
Replaces: libhttrack1
Conflicts: libhttrack1
Depends: ${misc:Depends}, ${shlibs:Depends}
Recommends: libssl1.0.0
Description: Httrack website copier library
This package is the library part of httrack, website copier and mirroring
utility
Package: libhttrack-dev
Architecture: any
Section: libdevel
Depends: ${misc:Depends}, ${shlibs:Depends}, zlib1g-dev
Recommends: libssl1.0.0
Description: Httrack website copier includes and development files
This package adds supplemental files for using the httrack website copier
library
Package: httrack-doc
Architecture: all
Section: doc
Depends: ${misc:Depends}
Description: Httrack website copier additional documentation
This package adds supplemental documentation for httrack and webhttrack
as a browsable html documentation
Package: proxytrack
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Suggests: squid, httrack
Description: Build HTTP Caches using archived websites copied by HTTrack
ProxyTrack is a simple proxy server aimed to deliver content archived by
HTTrack sessions. It can aggregate multiple download caches, for direct
use (through any browser) or as an upstream cache slave server.
This proxy can handle HTTP/1.1 proxy connections, and is able to reply to
ICPv2 requests for an efficient integration within other cache servers,
such as Squid. It can also handle transparent HTTP requests to allow
cached live connections inside an offline network.
+31
View File
@@ -0,0 +1,31 @@
This package was debianized by Xavier Roche <roche@httrack.com> on
Fri, 27 Sep 2002 16:42:26 +0200
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
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.
On Debian systems, the complete text of the GNU General Public
License can be found in /usr/share/common-licenses/GPL file.
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.
In addition, as a special exception, Xavier Roche gives permission to
link the code of this program with the openSSL library (or with
modified versions of openSSL that use the same license as openSSL),
and distribute linked combinations including the two. You must obey
the GNU General Public License in all respects for all of the code
used other than openSSL. If you modify this file, you may extend this
exception to your version of the file, but you are not obligated to do
so. If you do not wish to do so, delete this exception statement from
your version.
+2
View File
@@ -0,0 +1,2 @@
dh_lintian
dh_autoreconf
+9
View File
@@ -0,0 +1,9 @@
Document: httrack-doc
Title: httrack website copier documentation
Author: Xavier Roche <roche@httrack.com>
Abstract: This document describes and discuss on httrack website copier
Section: Network/Web Browsing
Format: HTML
Index: /usr/share/doc/httrack/httrack-doc.html
Files: /usr/share/doc/httrack/html/*.html
+4
View File
@@ -0,0 +1,4 @@
usr/share/httrack/html
usr/share/doc/httrack
usr/share/doc/httrack/httrack-doc.html
usr/share/lintian/overrides/httrack-doc
+3
View File
@@ -0,0 +1,3 @@
extra-license-file usr/share/httrack/html/license.txt
duplicate-changelog-files usr/share/doc/httrack/changelog.gz usr/share/doc/httrack/history.txt.gz
extended-description-is-probably-too-short
+2
View File
@@ -0,0 +1,2 @@
dh_lintian
dh_autoreconf
+1
View File
@@ -0,0 +1 @@
duplicate-changelog-files usr/share/doc/httrack/changelog.gz usr/share/doc/httrack/history.txt.gz
+2
View File
@@ -0,0 +1,2 @@
dh_lintian
dh_autoreconf
+6
View File
@@ -0,0 +1,6 @@
usr/include/httrack
usr/lib/libhttrack.{so}
usr/lib/libhtsjava.{so}
usr/share/httrack/libtest
usr/lib/httrack/libtest
usr/share/lintian/overrides/libhttrack-dev
+1
View File
@@ -0,0 +1 @@
hardening-no-fortify-functions usr/lib/httrack/libtest/libfilenameiisbug.so.1.0.0
+2
View File
@@ -0,0 +1,2 @@
usr/lib/libhtsswf.so.1.0.0
usr/lib/libhtsswf.so.1
+2
View File
@@ -0,0 +1,2 @@
dh_lintian
dh_autoreconf
+5
View File
@@ -0,0 +1,5 @@
usr/lib/libhttrack.so.2.0.48
usr/lib/libhttrack.so.2
usr/lib/libhtsjava.so.2.0.48
usr/lib/libhtsjava.so.2
usr/share/httrack/templates
+2
View File
@@ -0,0 +1,2 @@
dh_lintian
dh_autoreconf
+2
View File
@@ -0,0 +1,2 @@
usr/share/man/man1/proxytrack.1
usr/bin/proxytrack
Vendored Executable
+155
View File
@@ -0,0 +1,155 @@
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# *** Patch for s390, mips, hppa..
# It seems that htscore.c can not compile on several archs, due to compiler
# capacity limits. These lines shall be removed when gcc is upgraded.
# See discussions on 'Assembler messages: Branch out of range'
# Addition (04/2004): gcc-3.3 on arm fcks up with htscoremain.c and -O3 (..)
ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),s390 mips mipsel hppa m68k arm))
CFLAGS += -DNOSTRDEBUG
endif
DEB_CFLAGS_MAINT_APPEND=-O3
# DEB_BUILD_OPTIONS flags
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -g3
endif
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
# note: dpkg-buildflags to be removed when compat=9
dh_auto_configure -- --enable-online-unit-tests=auto $(shell dpkg-buildflags --export=configure)
touch configure-stamp
build: build-arch build-indep
build-indep:
build-arch: build-stamp
build-stamp: configure-stamp
dh_testdir
dh_auto_build
dh_auto_test
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
dh_auto_clean
dh_autoreconf_clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
dh_auto_install --destdir=$(CURDIR)/debian/httrack
##$(MAKE) install DESTDIR=$(CURDIR)/debian/httrack
# place html files (doc, webhttrack files)
# remove symlink created by html/Makefile's install-data-hook
rm $(CURDIR)/debian/httrack/usr/share/httrack/html
# and put back in place data
mv $(CURDIR)/debian/httrack/usr/share/doc/httrack \
$(CURDIR)/debian/httrack/usr/share/httrack/html
# create symlink on the other side
mkdir $(CURDIR)/debian/httrack/usr/share/doc/httrack
ln -s ../../httrack/html \
$(CURDIR)/debian/httrack/usr/share/doc/httrack/html
# and put in place the two outer files
mv $(CURDIR)/debian/httrack/usr/share/httrack/html/httrack-doc.html \
$(CURDIR)/debian/httrack/usr/share/doc/httrack/httrack-doc.html
# place libraries and cleanup
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/*.la
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
mv $(CURDIR)/debian/httrack/usr/share/httrack/libtest/lib* \
$(CURDIR)/debian/httrack/usr/lib/httrack/libtest
ln -s ../../../share/httrack/libtest/readme.txt \
$(CURDIR)/debian/httrack/usr/lib/httrack/libtest/readme.txt
# Lintian overrides
mkdir -p $(CURDIR)/debian/httrack/usr/share/lintian/overrides
cp $(CURDIR)/debian/httrack.lintian-overrides \
$(CURDIR)/debian/httrack/usr/share/lintian/overrides/httrack
cp $(CURDIR)/debian/libhttrack-dev.lintian-overrides \
$(CURDIR)/debian/httrack/usr/share/lintian/overrides/libhttrack-dev
cp $(CURDIR)/debian/httrack-doc.lintian-overrides \
$(CURDIR)/debian/httrack/usr/share/lintian/overrides/httrack-doc
dh_movefiles --sourcedir=debian/httrack
# remove empty dirs
find debian -type d | xargs rmdir -p --ignore-fail-on-non-empty
# Build architecture-independent files here.
binary-indep: build install
dh_testdir -i
dh_testroot -i
dh_installdocs -i
dh_installchangelogs -i history.txt
dh_link -i
dh_compress -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir -a
dh_testroot -a
dh_installdocs -a
dh_installmenu -a
dh_installchangelogs -a history.txt
dh_link -a
dh_strip -a
dh_compress -a
dh_fixperms -a
dh_makeshlibs -a -X/usr/lib/httrack/libtest --version-info
dh_installdeb -a
# we depend on the current version (ABI may change)
dh_shlibdeps -a -ldebian/libhttrack2/usr/lib
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
+2
View File
@@ -0,0 +1,2 @@
httrack source: changelog-should-mention-nmu
httrack source: source-nmu-has-incorrect-version-number
+1
View File
@@ -0,0 +1 @@
3.0 (quilt)
+1
View File
@@ -0,0 +1 @@
extend-diff-ignore="(^|/)(config\.sub|config\.guess|test-driver|Makefile|.*\.in|aclocal\.m4|configure)$"
+7
View File
@@ -0,0 +1,7 @@
# format version number, currently 3; this line is compulsory!
version=3
# main httrack.com download page ; fetch the mirror version number
http://www.httrack.com/page/2/en/index.html\
.*/httrack-([\d\.]+).tar.gz
+2
View File
@@ -0,0 +1,2 @@
dh_lintian
dh_autoreconf
+6
View File
@@ -0,0 +1,6 @@
usr/share/httrack/html/server
usr/share/httrack/lang
usr/share/httrack/lang.def
usr/share/httrack/lang.indexes
usr/share/pixmaps
usr/share/icons
+2
View File
@@ -0,0 +1,2 @@
dh_lintian
dh_autoreconf
+6
View File
@@ -0,0 +1,6 @@
usr/lib/httrack/htsserver
usr/bin/webhttrack
usr/share/man/man1/webhttrack.1
usr/share/man/man1/htsserver.1
usr/share/applications/WebHTTrack-Websites.desktop
usr/share/applications/WebHTTrack.desktop
+4
View File
@@ -0,0 +1,4 @@
?package(webhttrack):needs="X11" section="Applications/Network/Web Browsing" \
title="WebHTTrack" command="webhttrack" hints="Offline browsers" \
icon16x16="/usr/share/pixmaps/httrack16x16.xpm" \
icon32x32="/usr/share/pixmaps/httrack32x32.xpm"
Executable
+708
View File
@@ -0,0 +1,708 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2012-03-27.16; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc.
# 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.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by 'PROGRAMS ARGS'.
object Object file output by 'PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputting dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
# A tabulation character.
tab=' '
# A newline character.
nl='
'
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u='sed s,\\\\,/,g'
depmode=msvisualcpp
fi
if test "$depmode" = msvc7msys; then
# This is just like msvc7 but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u='sed s,\\\\,/,g'
depmode=msvc7
fi
if test "$depmode" = xlc; then
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
gccflag=-qmakedep=gcc,-MF
depmode=gcc
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the "deleted header file" problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' "$nl" < "$tmpdepfile" |
## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
## well. hp depmode also adds that space, but also prefixes the VPATH
## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
xlc)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
tmpdepfile1=$dir$base.u
tmpdepfile2=$dir$base.u
tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
# Each line is of the form 'foo.o: dependent.h'.
# Do two passes, one to just change these to
# '$object: dependent.h' and one to simply 'dependent.h:'.
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
# However on
# $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using '\':
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
# tcc 0.9.26 (FIXME still under development at the moment of writing)
# will emit a similar output, but also prepend the continuation lines
# with horizontal tabulation characters.
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form 'foo.o: dependent.h',
# or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
# Do two passes, one to just change these to
# '$object: dependent.h' and one to simply 'dependent.h:'.
sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
< "$tmpdepfile" > "$depfile"
sed '
s/[ '"$tab"'][ '"$tab"']*/ /g
s/^ *//
s/ *\\*$//
s/^[^:]*: *//
/^$/d
/:$/d
s/$/ :/
' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add 'dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in 'foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
msvc7)
if test "$libtool" = yes; then
showIncludes=-Wc,-showIncludes
else
showIncludes=-showIncludes
fi
"$@" $showIncludes > "$tmpdepfile"
stat=$?
grep -v '^Note: including file: ' "$tmpdepfile"
if test "$stat" = 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
# The first sed program below extracts the file names and escapes
# backslashes for cygpath. The second sed program outputs the file
# name when reading, but also accumulates all include files in the
# hold buffer in order to output them again at the end. This only
# works with sed implementations that can handle large buffers.
sed < "$tmpdepfile" -n '
/^Note: including file: *\(.*\)/ {
s//\1/
s/\\/\\\\/g
p
}' | $cygpath_u | sort -u | sed -n '
s/ /\\ /g
s/\(.*\)/'"$tab"'\1 \\/p
s/.\(.*\) \\/\1:/
H
$ {
s/.*/'"$tab"'/
G
p
}' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvc7msys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove '-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for ':'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' "$nl" < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no eat=no
for arg
do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
if test $eat = yes; then
eat=no
continue
fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-arch)
eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
# makedepend may prepend the VPATH from the source file name to the object.
# No need to regex-escape $object, excess matching of '.' is harmless.
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove '-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
IFS=" "
for arg
do
case "$arg" in
-o)
shift
;;
$object)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
echo "$tab" >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvcmsys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# 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:
+879
View File
@@ -0,0 +1,879 @@
LICENCE PUBLIQUE GÉNÉRALE GNU
Version 3, du 29 juin 2007.
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Chacun est autorisé à copier et distribuer des copies conformes de ce
document de licence, mais toute modification en est proscrite.
Traduction française par Philippe Verdy
<verdy_p (à) wanadoo (point) fr>, le 30 juin 2007.
_______________________________________________________________________
Avertissement important au sujet de cette traduction française.
_______________________________________________________________________
Ceci est une traduction en français de la licence “GNU General Public
License” (GPL). Cette traduction est fournie ici dans l’espoir qu’elle
facilitera sa compréhension, mais elle ne constitue pas une traduction
officielle ou approuvée d’un point de vue juridique.
La Free Software Foundation (FSF) ne publie pas cette traduction et ne
l’a pas approuvée en tant que substitut valide au plan légal pour la
licence authentique “GNU General Public Licence”. Cette traduction n’a
pas encore été passée en revue attentivement par un juriste et donc le
traducteur ne peut garantir avec certitude qu’elle représente avec
exactitude la signification légale des termes de la licence authentique
“GNU General Public License” publiée en anglais. Cette traduction
n’établit donc légalement aucun des termes et conditions d’utilisation
d’un logiciel sous licence GNU GPL — seul le texte original en anglais
le fait. Si vous souhaitez être sûr que les activités que vous projetez
seront autorisées par la GNU General Public License, veuillez vous
référer à sa seule version anglaise authentique.
La FSF vous recommande fermement de ne pas utiliser cette traduction en
tant que termes officiels pour vos propres programmes ; veuillez plutôt
utiliser la version anglaise authentique telle que publiée par la FSF.
Si vous choisissez d’acheminer cette traduction en même temps qu’un
Programme sous licence GNU GPL, cela ne vous dispense pas de l’obligation
d’acheminer en même temps une copie de la licence authentique en anglais,
et de conserver dans la traduction cet avertissement important en
français et son équivalent en anglais ci-dessous.
_______________________________________________________________________
Important Warning About This French Translation.
_______________________________________________________________________
This is a translation of the GNU General Public License (GPL) into
French. This translation is distributed in the hope that it will
facilitate understanding, but it is not an official or legally approved
translation.
The Free Software Foundation (FSF) is not the publisher of this
translation and has not approved it as a legal substitute for the
authentic GNU General Public License. The translation has not been
reviewed carefully by lawyers, and therefore the translator cannot be
sure that it exactly represents the legal meaning of the authentic GNU
General Public License published in English. This translation does not
legally state the terms and conditions of use of any Program licenced
under GNU GPL — only the original English text of the GNU LGPL does
that. If you wish to be sure whether your planned activities are
permitted by the GNU General Public License, please refer to its sole
authentic English version.
The FSF strongly urges you not to use this translation as the official
distribution terms for your programs; instead, please use the authentic
English version published by the FSF. If you choose to convey this
translation along with a Program covered by the GPL Licence, this does
not remove your obligation to convey at the same time a copy of the
authentic GNU GPL License in English, and you must keep in this
translation this important warning in English and its equivalent in
French above.
_______________________________________________________________________
Préambule
La Licence Publique Générale GNU (“GNU General Public License”) est une
licence libre, en “copyleft”, destinée aux œuvres logicielles et
d’autres types de travaux.
Les licences de la plupart des œuvres logicielles et autres travaux de
pratique sont conçues pour ôter votre liberté de partager et modifier
ces travaux. En contraste, la Licence Publique Générale GNU a pour but
de garantir votre liberté de partager et changer toutes les versions
d’un programme — afin d’assurer qu’il restera libre pour tous les
utilisateurs. Nous, la Free Software Foundation, utilisons la Licence
Publique Générale GNU pour la plupart de nos logiciels ; cela
s’applique aussi à tout autre travail édité de cette façon par ses
auteurs. Vous pouvez, vous aussi, l’appliquer à vos propres programmes.
Quand nous parlons de logiciel libre (“free”), nous nous référons à la
liberté (“freedom”), pas au prix. Nos Licences Publiques Générales sont
conçues pour assurer que vous ayez la liberté de distribuer des copies
de logiciel libre (et le facturer si vous le souhaitez), que vous
receviez le code source ou pouviez l’obtenir si vous le voulez, que
vous pouviez modifier le logiciel ou en utiliser toute partie dans de
nouveaux logiciels libres, et que vous sachiez que vous avez le droit
de faire tout ceci.
Pour protéger vos droits, nous avons besoin d’empêcher que d’autres
vous restreignent ces droits ou vous demande de leur abandonner ces
droits. En conséquence, vous avez certaines responsabilités si vous
distribuez des copies d’un tel programme ou si vous le modifiez :
les responsabilités de respecter la liberté des autres.
Par exemple, si vous distribuez des copies d’un tel programme, que ce
soit gratuit ou contre un paiement, vous devez accorder aux
Destinataires les mêmes libertés que vous avez reçues. Vous devez aussi
vous assurer qu’eux aussi reçoivent ou peuvent recevoir son code
source. Et vous devez leur montrer les termes de cette licence afin
qu’ils connaissent leurs droits.
Les développeurs qui utilisent la GPL GNU protègent vos droits en deux
étapes : (1) ils affirment leur droits d’auteur (“copyright”) sur le
logiciel, et (2) vous accordent cette Licence qui vous donne la
permission légale de le copier, le distribuer et/ou le modifier.
Pour la protection des développeurs et auteurs, la GPL stipule
clairement qu’il n’y a pas de garantie pour ce logiciel libre. Aux fins
à la fois des utilisateurs et auteurs, la GPL requière que les versions
modifiées soient marquées comme changées, afin que leurs problèmes ne
soient pas attribués de façon erronée aux auteurs des versions
précédentes.
Certains dispositifs sont conçus pour empêcher l’accès des utilisateurs
à l’installation ou l’exécution de versions modifiées du logiciel à
l’intérieur de ces dispositifs, alors que les fabricants le peuvent.
Ceci est fondamentalement incompatible avec le but de protéger la
liberté des utilisateurs de modifier le logiciel. L’aspect systématique
de tels abus se produit dans le secteur des produits destinés aux
utilisateurs individuels, ce qui est précidément ce qui est le plus
inacceptable. Aussi, nous avons conçu cette version de la GPL pour
prohiber cette pratique pour ces produits. Si de tels problèmes
surviennent dans d’autres domaines, nous nous tenons prêt à étendre
cette restriction à ces domaines dans de futures versions de la GPL,
autant qu’il sera nécessaire pour protéger la liberté des utilisateurs.
Finalement, chaque programme est constamment menacé par les brevets
logiciels. Les États ne devraient pas autoriser de tels brevets à
restreindre le développement et l’utilisation de logiciels libres sur
des ordinateurs d’usage général ; mais dans ceux qui le font, nous
voulons spécialement éviter le danger que les brevets appliqués à un
programme libre puisse le rendre effectivement propriétaire. Pour
empêcher ceci, la GPL assure que les brevets ne peuvent être utilisés
pour rendre le programme non-libre.
Les termes précis et conditions concernant la copie, la distribution
et la modification suivent.
TERMES ET CONDITIONS
Article 0. Définitions.
« Cette Licence » se réfère à la version 3 de la “GNU General Public
License” (le texte original en anglais).
« Droit d’Auteur » signifie aussi les droits du “copyright” ou voisins
qui s’appliquent à d’autres types de travaux, tels que ceux sur les
masques de semi-conducteurs.
« Le Programme » se réfère à tout travail qui peut être sujet au Droit
d’Auteur (“copyright”) et dont les droits d’utilisation sont concédés
en vertu de cette Licence. Chacun des Licenciés, à qui cette Licence
est concédée, est désigné par « vous. » Les « Licenciés » et les
« Destinataires » peuvent être des personnes physiques ou morales
(individus ou organisations).
« Modifier » un travail signifie en obtenir une copie et adapter tout
ou partie du travail d’une façon nécessitant une autorisation d’un
titulaire de Droit d’Auteur, autre que celle permettant d’en produire
une copie conforme. Le travail résultant est appelé une « version
modifiée » du précédent travail, ou un travail « basé sur » le
précédent travail.
Un « Travail Couvert » signifie soit le Programme non modifié soit un
travail basé sur le Programme.
« Propager » un travail signifie faire quoi que ce soit avec lui qui,
sans permission, vous rendrait directement ou indirectement responsable
d’un délit de contrefaçon suivant les lois relatives au Droit d’Auteur,
à l’exception de son exécution sur un ordinateur ou de la modification
d’une copie privée. La propagation inclue la copie, la distribution
(avec ou sans modification), la mise à disposition envers le public, et
aussi d'autres activités dans certains pays.
« Acheminer » un travail signifie tout moyen de propagation de celui-ci
qui permet à d’autres parties de réaliser ou recevoir des copies. La
simple interaction d’un utilisateur à travers un réseau informatique,
sans transfert effectif d’une copie, ne constitue pas un acheminement.
Une interface utilisateur interactive affiche des « Notices Légales
Appropriées » quand elle comprend un dispositif convenable, bien
visible et évident qui (1) affiche une notice appropriée sur les droits
d’auteur et (2) informe l’utilisateur qu’il n’y a pas de garantie pour
le travail (sauf si des garanties ont été fournies hors du cadre de
cette Licence), que les licenciés peuvent acheminer le travail sous
cette Licence, et comment voir une copie de cette Licence. Si
l’interface présente une liste de commandes utilisateur ou d’options,
tel qu’un menu, un élément évident dans la liste présentée remplit ce
critère.
Article 1. Code source.
Le « code source » d’un travail signifie la forme préférée du travail
permettant ou facilitant les modifications de celui-ci. Le « code
objet » d’un travail signifie toute forme du travail qui n’en est pas
le code source.
Une « Interface Standard » signifie une interface qui est soit celle
d’une norme officielle définie par un organisme de normalisation
reconnu ou, dans le cas des interfaces spécifiées pour un langage de
programmation particulier, une interface largement utilisée parmi les
développeurs travaillant dans ce langage.
Les « Bibliothèques Système » d’un travail exécutable incluent tout ce
qui, en dehors du travail dans son ensemble, (a) est inclus dans la
forme usuelle de paquetage d’un Composant Majeur mais ne fait pas
partie de ce Composant Majeur et (b) sert seulement à permettre
l’utilisation du travail avec ce Composant Majeur ou à implémenter une
Interface Standard pour laquelle une implémentation est disponible au
public sous forme de code source ; un « Composant Majeur » signifie,
dans ce contexte, un composant majeur essentiel (noyau, système de
fenêtrage, etc.) du système d’exploitation (le cas échéant) d’un
système sur lequel le travail exécutable fonctionne, ou bien un
compilateur utilisé pour produire le code objet du travail, ou un
interprète de code objet utilisé pour exécuter celui-ci.
Le « Source Correspondant » d’un travail sous forme de code objet
signifie l’ensemble des codes sources nécessaires pour générer,
installer et (dans le cas d’un travail exécutable) exécuter le code
objet et modifier le travail, y compris les scripts pour contrôler ces
activités. Cependant, cela n’inclue pas les Bibliothèques Système du
travail, ni les outils d’usage général ou les programmes libres
généralement disponibles qui peuvent être utilisés sans modification
pour achever ces activités mais ne sont pas partie de ce travail. Par
exemple le Source Correspondant inclut les fichiers de définition
d’interfaces associés aux fichiers sources du travail, et le code
source des bibliothèques partagées et des sous-routines liées
dynamiquement, pour lesquelles le travail est spécifiquement conçu pour
les requérir via, par exemple, des communications de données ou
contrôles de flux internes entre ces sous-programmes et d’autres
parties du travail.
Le Source Correspondant n’a pas besoin d’inclure tout ce que les
utilisateurs peuvent regénérer automatiquement à partir d’autres
parties du Source Correspondant.
Le Source Correspondant pour un travail sous forme de code source est
ce même travail.
Article 2. Permissions de base.
Tous les droits accordés suivant cette Licence le sont jusqu’au terme
des Droits d’Auteur (“copyright”) sur le Programme, et sont
irrévocables pourvu que les conditions établies soient remplies. Cette
Licence affirme explicitement votre permission illimitée d’exécuter le
Programme non modifié. La sortie produite par l’exécution d’un Travail
Couvert n’est couverte par cette Licence que si cette sortie, étant
donné leur contenu, constitue un Travail Couvert. Cette Licence
reconnait vos propres droits d’usage raisonnable (“fair use” en
législation des États-Unis d’Amérique) ou autres équivalents, tels
qu’ils sont pourvus par la loi applicable sur le Droit d’Auteur
(“copyright”).
Vous pouvez créer, exécuter et propager sans condition des Travaux
Couverts que vous n’acheminez pas, aussi longtemps que votre licence
demeure en vigueur. Vous pouvez acheminer des Travaux Couverts à
d’autres personnes dans le seul but de leur faire réaliser des
modifications à votre usage exclusif, ou pour qu’ils vous fournissent
des facilités vous permettant d’exécuter ces travaux, pourvu que vous
vous conformiez aux termes de cette Licence lors de l’acheminement de
tout matériel dont vous ne contrôlez pas le Droit d’Auteur
(“copyright”). Ceux qui, dès lors, réalisent ou exécutent pour vous les
Travaux Couverts ne doivent alors le faire qu’exclusivement pour votre
propre compte, sous votre direction et votre contrôle, suivant des
termes qui leur interdisent de réaliser, en dehors de leurs relations
avec vous, toute copie de votre matériel soumis au Droit d’Auteur.
L’acheminement dans toutes les autres circonstances n’est permis que
selon les conditions établies ci-dessous. La concession de
sous-licences n’est pas autorisé ; l’article 10 rend cet usage non
nécessaire.
Article 3. Protection des droits légaux des utilisateurs envers les
lois anti-contournement.
Aucun Travail Couvert ne doit être vu comme faisant partie d’une mesure
technologique effective selon toute loi applicable remplissant les
obligations prévues à l’article 11 du traité international sur le droit
d’auteur adopté à l’OMPI le 20 décembre 1996, ou toutes lois similaires
qui prohibent ou restreignent le contournement de telles mesures.
Si vous acheminez un Travail Couvert, vous renoncez à tout pouvoir légal
d’interdire le contournement des mesures technologiques dans tous les
cas où un tel contournement serait effectué en exerçant les droits
prévus dans cette Licence pour ce Travail Couvert, et vous déclarez
rejeter toute intention de limiter l’opération ou la modification du
Travail, en tant que moyens de renforcer, à l’encontre des utilisateurs
de ce Travail, vos droits légaux ou ceux de tierces parties d’interdire
le contournement des mesures technologiques.
Article 4. Acheminement des copies conformes.
Vous pouvez acheminer des copies conformes du code source du Programme
tel que vous l’avez reçu, sur n’importe quel support, pourvu que vous
publiiez scrupuleusement et de façon appropriée sur chaque copie une
notice de Droit d’Auteur appropriée ; gardez intactes toutes les
notices établissant que cette Licence et tous les termes additionnels non
permissifs ajoutés en accord avec l’article 7 s’appliquent à ce code ;
et donnez à chacun des Destinataires une copie de cette Licence en même
temps que le Programme.
Vous pouvez facturer à un prix quelconque, y compris gratuit, chacune
des copies que vous acheminez, et vous pouvez offrir une protection
additionnelle de support ou de garantie en échange d’un paiement.
Article 5. Acheminement des versions sources modifiées.
Vous pouvez acheminer un travail basé sur le Programme, ou bien les
modifications pour le produire à partir du Programme, sous la forme de
code source suivant les termes de l’article 4, pourvu que vous
satisfassiez aussi à chacune des conditions requises suivantes :
a) Le travail doit comporter des notices évidentes établissant que
vous l’avez modifié et donnant la date correspondante.
b) Le travail doit comporter des notices évidentes établissant qu’il
est édité selon cette Licence et les conditions ajoutées d’après
l’article 7. Cette obligation vient modifier l’obligation de
l’article 4 de « garder intactes toutes les notices. »
c) Vous devez licencier le travail entier, comme un tout, suivant
cette Licence à quiconque entre en possession d’une copie. Cette
Licence s’appliquera en conséquence, avec les termes additionnels
applicables prévus par l’article 7, à la totalité du travail et
chacune de ses parties, indépendamment de la façon dont ils sont
empaquetés. Cette licence ne donne aucune permission de licencier
le travail d’une autre façon, mais elle n’invalide pas une telle
permission si vous l’avez reçue séparément.
d) Si le travail a des interfaces utilisateurs interactives, chacune
doit afficher les Notices Légales Appropriées ; cependant si le
Programme a des interfaces qui n’affichent pas les Notices Légales
Appropriées, votre travail n’a pas à les modifier pour qu’elles
les affichent.
Une compilation d’un Travail Couvert avec d’autres travaux séparés et
indépendants, qui ne sont pas par leur nature des extensions du Travail
Couvert, et qui ne sont pas combinés avec lui de façon à former un
programme plus large, dans ou sur un volume de stockage ou un support
de distribution, est appelé un « aggrégat » si la compilation et son
Droit d’Auteur résultant ne sont pas utilisés pour limiter l’accès ou
les droits légaux des utilisateurs de la compilation en deça de ce que
permettent les travaux individuels. L’inclusion d’un Travail Couvert
dans un aggrégat ne cause pas l’application de cette Licence aux
autres parties de l’aggrégat.
Article 6. Acheminement des formes non sources.
Vous pouvez acheminer sous forme de code objet un Travail Couvert
suivant les termes des articles 4 et 5, pourvu que vous acheminiez
également suivant les termes de cette Licence le Source Correspondant
lisible par une machine, d’une des façons suivantes :
a) Acheminer le code objet sur, ou inclus dans, un produit physique
(y compris un support de distribution physique), accompagné par le
Source Correspondant fixé sur un support physique durable
habituellement utilisé pour les échanges de logiciels.
b) Acheminer le code objet sur, ou inclus dans, un produit physique
(y compris un support de distribution physique), accompagné d’une
offre écrite, valide pour au moins trois années et valide pour
aussi longtemps que vous fournissez des pièces de rechange ou un
support client pour ce modèle de produit, afin de donner à
quiconque possède le code objet soit (1) une copie du Source
Correspondant à tout logiciel dans ce produit qui est couvert par
cette Licence, sur un support physique durable habituellement
utilisé pour les échanges de logiciels, pour un prix non supérieur
au coût raisonnable de la réalisation physique de l’acheminement
de la source, ou soit (2) un accès permettant de copier le Source
Correspondant depuis un serveur réseau sans frais.
c) Acheminer des copies individuelles du code objet avec une copie de
l’offre écrite de fournir le Source Correspondant. Cette
alternative est permise seulement occasionellement et non
commercialement, et seulement si vous avez reçu le code objet avec
une telle offre, en accord avec l’article 6 alinéa b.
d) Acheminer le code objet en offrant un accès depuis un emplacement
désigné (gratuit ou contre facturation) et offrir un accès
équivalent au Source Correspondant de la même façon via le même
emplacement et sans facturation supplémentaire. Vous n’avez pas
besoin d’obliger les Destinataires à copier le Source
Correspondant en même temps que le code objet. Si l’emplacement
pour copier le code objet est un serveur réseau, le Source
Correspondant peut être sur un serveur différent (opéré par vous
ou par un tiers) qui supporte des facilités équivalentes de
copie, pourvu que vous mainteniez des directions claires à
proximité du code objet indiquant où trouver le Source
Correspondant. Indépendamment de quel serveur héberge le Source
Correspondant, vous restez obligé de vous assurer qu’il reste
disponible aussi longtemps que nécessaire pour satisfaire à ces
obligations.
e) Acheminer le code objet en utilisant une transmission
d’égal-à-égal, pourvu que vous informiez les autres participants
sur où le code objet et le Source Correspondant du travail sont
offerts sans frais au public général suivant l’article 6 alinéa d.
Une portion séparable du code objet, dont le code source est exclu
du Source Correspondant en tant que Bibliothèque Système, n’a pas
besoin d’être inclu dans l’acheminement du travail sous forme de
code objet.
Un « Produit Utilisateur » est soit (1) un « Produit de Consommation, »
ce qui signifie toute propriété personnelle tangible normalement
utilisée à des fins personnelles, familiales ou relatives au foyer,
soit (2) toute chose conçue ou vendue pour l’incorporation dans un lieu
d’habitation. Pour déterminer si un produit constitue un Produit de
Consommation, les cas ambigus sont résolus en fonction de la
couverture. Pour un produit particulier reçu par un utilisateur
particulier, l’expression « normalement utilisée » ci-avant se réfère
à une utilisation typique ou l’usage commun de produits de même
catégorie, indépendamment du statut de cet utilisateur particulier ou
de la façon spécifique dont cet utilisateur particulier utilise
effectivement ou s’attend lui-même ou est attendu à utiliser ce
produit. Un produit est un Produit de Consommation indépendamment du
fait que ce produit a ou n’a pas d’utilisations substantielles
commerciales, industrielles ou hors Consommation, à moins que de telles
utilisations représentent le seul mode significatif d’utilisation du
produit.
Les « Informations d’Installation » d’un Produit Utilisateur signifient
toutes les méthodes, procédures, clés d’autorisation ou autres
informations requises pour installer et exécuter des versions modifiées
d’un Travail Couvert dans ce Produit Utilisateur à partir d’une version
modifiée de son Source Correspondant. Les informations qui suffisent à
assurer la continuité de fonctionnement du code objet modifié ne
doivent en aucun cas être empêchées ou interférées du seul fait qu’une
modification a été effectuée.
Si vous acheminez le code objet d’un Travail Couvert dans, ou avec, ou
spécifiquement pour l’utilisation dans, un Produit Utilisateur et
l’acheminement se produit en tant qu’élément d’une transaction dans
laquelle le droit de possession et d’utilisation du Produit
Utilisateur est transféré au Destinataire définitivement ou pour un
terme fixé (indépendamment de la façon dont la transaction est
caractérisée), le Source Correspondant acheminé selon cet article-ci
doit être accompagné des Informations d’Installation. Mais cette
obligation ne s’applique pas si ni vous ni aucune tierce partie ne
détient la possibilité d’intaller un code objet modifié sur le Produit
Utilisateur (par exemple, le travail a été installé en mémoire morte).
L’obligation de fournir les Informations d’Installation n’inclue pas
celle de continuer à fournir un service de support, une garantie ou des
mises à jour pour un travail qui a été modifié ou installé par le
Destinataire, ou pour le Produit Utilisateur dans lequel il a été
modifié ou installé. L’accès à un réseau peut être rejeté quand la
modification elle-même affecte matériellement et défavorablement les
opérations du réseau ou viole les règles et protocoles de communication
au travers du réseau.
Le Source Correspondant acheminé et les Informations d’Installation
fournies, en accord avec cet article, doivent être dans un format
publiquement documenté (et dont une implémentation est disponible
auprès du public sous forme de code source) et ne doit nécessiter
aucune clé ou mot de passe spécial pour le dépaquetage, la lecture ou
la copie.
Article 7. Termes additionnels.
Les « permissions additionelles » désignent les termes qui
supplémentent ceux de cette Licence en émettant des exceptions à l’une
ou plusieurs de ses conditions. Les permissions additionnelles qui
sont applicables au Programme entier doivent être traitées comme si
elles étaient incluent dans cette Licence, dans les limites de leur
validité suivant la loi applicable. Si des permissions additionnelles
s’appliquent seulement à une partie du Programme, cette partie peut
être utilisée séparément suivant ces permissions, mais le Programme
tout entier reste gouverné par cette Licence sans regard aux
permissions additionelles.
Quand vous acheminez une copie d’un Travail Couvert, vous pouvez à
votre convenance ôter toute permission additionelle de cette copie, ou
de n’importe quelle partie de celui-ci. (Des permissions
additionnelles peuvent être rédigées de façon à requérir leur propre
suppression dans certains cas où vous modifiez le travail.) Vous
pouvez placer les permissions additionnelles sur le matériel acheminé,
ajoutées par vous à un Travail Couvert pour lequel vous avez ou pouvez
donner les permissions de Droit d’Auteur (“copyright”) appropriées.
Nonobstant toute autre clause de cette Licence, pour tout constituant
que vous ajoutez à un Travail Couvert, vous pouvez (si autorisé par les
titulaires de Droit d’Auteur pour ce constituant) supplémenter les
termes de cette Licence avec des termes :
a) qui rejettent la garantie ou limitent la responsabilité de façon
différente des termes des articles 15 et 16 de cette Licence ; ou
b) qui requièrent la préservation de notices légales raisonnables
spécifiées ou les attributions d’auteur dans ce constituant ou
dans les Notices Légales Appropriées affichées par les travaux qui
le contiennent ; ou
c) qui prohibent la représentation incorrecte de l’origine de ce
constituant, ou qui requièrent que les versions modifiées d’un tel
constituant soit marquées par des moyens raisonnables comme
différentes de la version originale ; ou
d) qui limitent l’usage à but publicitaire des noms des concédants de
licence et des auteurs du constituant ; ou
e) qui refusent à accorder des droits selon la législation relative
aux marques commerciales, pour l’utilisation dans des noms
commerciaux, marques commerciales ou marques de services ; ou
f) qui requièrent l’indemnisation des concédants de licences et
auteurs du constituant par quiconque achemine ce constituant (ou
des versions modifiées de celui-ci) en assumant contractuellement
la responsabilité envers le Destinataire, pour toute
responsabilité que ces engagements contractuels imposent
directement à ces octroyants de licences et auteurs.
Tous les autres termes additionnels non permissifs sont considérés
comme des « restrictions avancées » dans le sens de l’article 10. Si le
Programme tel que vous l’avez reçu, ou toute partie de celui-ci,
contient une notice établissant qu’il est gouverné par cette Licence en
même temps qu’un terme qui est une restriction avancée, vous pouvez
ôter ce terme. Si un document de licence contient une restriction
avancée mais permet la reconcession de licence ou l’acheminement
suivant cette Licence, vous pouvez ajouter un Travail Couvert
constituant gouverné par les termes de ce document de licence, pourvu
que la restriction avancée ne survit pas à un telle cession de licence
ou acheminement.
Si vous ajoutez des termes à un Travail Couvert en accord avec cet
article, vous devez placer, dans les fichiers sources appropriés, une
déclaration des termes additionnels qui s’appliquent à ces fichiers, ou
une notice indiquant où trouver les termes applicables.
Les termes additionnels, qu’ils soient permissifs ou non permissifs,
peuvent être établis sous la forme d’une licence écrite séparément, ou
établis comme des exceptions ; les obligations ci-dessus s’appliquent
dans chacun de ces cas.
Article 8. Terminaison.
Vous ne pouvez ni propager ni modifier un Travail Couvert autrement que
suivant les termes de cette Licence. Toute autre tentative de le
propager ou le modifier est nulle et terminera automatiquement vos
droits selon cette Licence (y compris toute licence de brevet accordée
selon le troisième paragraphe de l’article 11).
Cependant, si vous cessez toute violation de cette Licence, alors votre
licence depuis un titulaire de Droit d’Auteur (“copyright”) est
réinstaurée (a) à titre provisoire à moins que et jusqu’à ce que le
titulaire de Droit d’Auteur termine finalement et explicitement votre
licence, et (b) de façon permanente si le titulaire de Droit d’Auteur
ne parvient pas à vous notifier de la violation par quelque moyen
raisonnable dans les soixante (60) jours après la cessation.
De plus, votre licence depuis un titulaire particulier de Droit
d’Auteur est réinstaurée de façon permanente si ce titulaire vous
notifie de la violation par quelque moyen raisonnable, c’est la
première fois que vous avez reçu une notification deviolation de cette
Licence (pour un travail quelconque) depuis ce titulaire de Droit
d’Auteur, et vous résolvez la violation dans les trente (30) jours qui
suivent votre réception de la notification.
La terminaison de vos droits suivant cette section ne terminera pas les
licences des parties qui ont reçu des copies ou droits de votre part
suivant cette Licence. Si vos droits ont été terminés et non
réinstaurés de façon permanente, vous n’êtes plus qualifié à recevoir
de nouvelles licences pour les mêmes constituants selon l’article 10.
Article 9. Acceptation non requise pour obtenir des copies.
Vous n’êtes pas obligé d’accepter cette licence afin de recevoir ou
exécuter une copie du Programme. La propagation asservie d’un Travail
Couvert qui se produit simplement en conséquence d’une transmission
d’égal-à-égal pour recevoir une copie ne nécessite pas l’acceptation.
Cependant, rien d’autre que cette Licence ne vous accorde la
permission de propager ou modifier un quelconque Travail Couvert. Ces
actions enfreignent le Droit d’Auteur si vous n’acceptez pas cette
Licence. Par conséquent, en modifiant ou propageant un Travail Couvert,
vous indiquez votre acceptation de cette Licence pour agir ainsi.
Article 10. Cession automatique de Licence aux Destinataires et
intermédiaires.
Chaque fois que vous acheminez un Travail Couvert, le Destinataire
reçoit automatiquement une licence depuis les concédants originaux,
pour exécuter, modifier et propager ce travail, suivant les termes de
cette Licence. Vous n’êtes pas responsable du renforcement de la
conformation des tierces parties avec cette Licence.
Une « transaction d’entité » désigne une transaction qui transfère le
contrôle d’une organisation, ou de substantiellement tous ses actifs,
ou la subdivision d’une organisation, ou la fusion de plusieurs
organisations. Si la propagation d’un Travail Couvert résulte d’une
transaction d’entité, chaque partie à cette transaction qui reçoit une
copie du travail reçoit aussi les licences pour le travail que le
prédécesseur intéressé à cette partie avait ou pourrait donner selon le
paragraphe précédent, plus un droit de possession du Source
Correspondant de ce travail depuis le prédécesseur intéressé si ce
prédécesseur en dispose ou peut l’obtenir par des efforts raisonnables.
Vous ne pouvez imposer aucune restriction avancée dans l’exercice des
droits accordés ou affirmés selon cette Licence. Par exemple, vous ne
pouvez imposer aucun paiement pour la licence, aucune royaltie, ni
aucune autre charge pour l’exercice des droits accordés selon cette
Licence ; et vous ne pouvez amorcer aucun litige judiciaire (y compris
une réclamation croisée ou contre-réclamation dans un procès) sur
l’allégation qu’une revendication de brevet est enfreinte par la
réalisation, l’utilisation, la vente, l’offre de vente, ou
l’importation du Programme ou d’une quelconque portion de celui-ci.
Article 11. Brevets.
Un « contributeur » est un titulaire de Droit d’Auteur (“copyright”)
qui autorise l’utilisation selon cette Licence du Programme ou du
travail sur lequel le Programme est basé. Le travail ainsi soumis à
licence est appelé la « version contributive » de ce contributeur.
Les « revendications de brevet essentielles » sont toutes les
revendications de brevets détenues ou contrôlées par le contributeur,
qu’elles soient déjà acquises par lui ou acquises subséquemment, qui
pourraient être enfreintes de quelque manière, permises par cette
Licence, sur la réalisation, l’utilisation ou la vente de la version
contributive de celui-ci. Aux fins de cette définition, le « contrôle »
inclue le droit de concéder des sous-licences de brevets d’une manière
consistante, nécessaire et suffisante, avec les obligations de cette
Licence.
Chaque contributeur vous accorde une licence de brevet non exclusive,
mondiale et libre de toute royaltie, selon les revendications de brevet
essentielles, pour réaliser, utiliser, vendre, offrir à la vente,
importer et autrement exécuter, modifier et propager les contenus de sa
version contributive.
Dans les trois paragraphes suivants, une « licence de brevet » désigne
tous les accords ou engagements exprimés, quel que soit le nom que vous
lui donnez, de ne pas mettre en vigueur un brevet (telle qu’une
permission explicite pour mettre en pratique un brevet, ou un accord
pour ne pas poursuivre un Destinataire pour cause de violation de
brevet). « Accorder » une telle licence de brevet à une partie signifie
conclure un tel accord ou engagement à ne pas faire appliquer le brevet
à cette partie.
Si vous acheminez un Travail Couvert, dépendant en connaissance d’une
licence de brevet, et si le Source Correspondant du travail n’est pas
disponible à quiconque copie, sans frais et suivant les termes de cette
Licence, à travers un serveur réseau publiquement acessible ou tout
autre moyen immédiatement accessible, alors vous devez soit (1) rendre
la Source Correspondante ainsi disponible, soit (2) vous engager à vous
priver pour vous-même du bénéfice de la licence de brevet pour ce
travail particulier, soit (3) vous engager, d’une façon consistante
avec les obligations de cette Licence, à étendre la licence de brevet
aux Destinataires de ce travail. « Dépendant en connaissance » signifie
que vous avez effectivement connaissance que, selon la licence de
brevet, votre acheminement du Travail Couvert dans un pays, ou
l’utilisation du Travail Couvert par votre Destinataire dans un pays,
infreindrait un ou plusieurs brevets identifiables dans ce pays où vous
avez des raisons de penser qu’ils sont valides.
Si, conformément à ou en liaison avec une même transaction ou un même
arrangement, vous acheminez, ou propagez en procurant un acheminement
de, un Travail Couvert et accordez une licence de brevet à l’une des
parties recevant le Travail Couvert pour lui permettre d’utiliser,
propager, modifier ou acheminer une copie spécifique du Travail
Couvert, alors votre accord est automatiquement étendu à tous les
Destinataires du Travail Couvert et des travaux basés sur celui-ci.
Une licence de brevet est « discriminatoire » si, dans le champ de sa
couverture, elle n’inclut pas un ou plusieurs des droits qui sont
spécifiquement accordés selon cette Licence, ou en prohibe l’exercice,
ou est conditionnée par le non-exercice d’un ou plusieurs de ces
droits. Vous ne pouvez pas acheminer un Travail Couvert si vous êtes
partie à un arrangement selon lequel une partie tierce exerçant son
activité dans la distribution de logiciels et à laquelle vous effectuez
un paiement fondé sur l’étendue de votre activité d’acheminement du
travail, et selon lequel la partie tierce accorde, à une quelconque
partie qui recevrait depuis vous le Travail Couvert, une licence de
brevet discriminatoire (a) en relation avec les copies du Travail
Couvert acheminées par vous (ou les copies réalisées à partir de ces
copies), ou (b) avant tout destinée et en relation avec des produits
spécifiques ou compilations contenant le Travail Couvert, à moins que
vous ayez conclu cet arrangement ou que la licence de brevet ait été
accordée avant le 28 mars 2007.
Rien dans cette Licence ne devrait être interprété comme devant exclure
ou limiter toute licence implicite ou d’autres moyens de défense à une
infraction qui vous seraient autrement disponible selon la loi
applicable relative aux brevets.
Article 12. Non abandon de la liberté des autres.
Si des conditions vous sont imposées (que ce soit par décision
judiciaire, par un accord ou autrement) qui contredisent les conditions
de cette Licence, elles ne vous excusent pas des conditions de cette
Licence. Si vous ne pouvez pas acheminer un Travail Couvert de façon à
satisfaire simulténément vos obligations suivant cette Licence et
toutes autres obligations pertinentes, alors en conséquence vous ne
pouvez pas du tout l’acheminer. Par exemple, si vous avez un accord sur
des termes qui vous obligent à collecter pour le réacheminement des
royalties depuis ceux à qui vous acheminez le Programme, la seule façon
qui puisse vous permettre de satisfaire à la fois à ces termes et ceux
de cette Licence sera de vous abstenir entièrement d’acheminer le
Programme.
Article 13. Utilisation avec la Licence Générale Publique Affero GNU.
Nonobstant toute autre clause de cette Licence, vous avez la permission
de lier ou combiner tout Travail Couvert avec un travail placé sous la
version 3 de la Licence Générale Publique GNU Affero (“GNU Affero
General Public License”) en un seul travail combiné, et d’acheminer le
travail résultant. Les termes de cette Licence continueront à
s’appliquer à la partie formant un Travail Couvert, mais les
obligations spéciales de la Licence Générale Publique GNU Affero,
article 13, concernant l’interaction à travers un réseau s’appliqueront
à la combinaison en tant que telle.
Article 14. Versions révisées de cette License.
La Free Software Foundation peut publier des versions révisées et/ou
nouvelles de la Licence Publique Générale GNU (“GNU General Public
License”) de temps en temps. De telles version nouvelles resteront
similaires dans l’esprit avec la présente version, mais peuvent
différer dans le détail afin de traiter de nouveaux problèmes ou
préoccupations.
Chaque version reçoit un numéro de version distinctif. Si le Programme
indique qu’une version spécifique de la Licence Publique Générale GNU
« ou toute version ultérieure » (“or any later version”) s’applique à
celui-ci, vous avez le choix de suivre soit les termes et conditions de
cette version numérotée, soit ceux de n’importe quelle version publiée
ultérieurement par la Free Software Foundation. Si le Programme
n’indique pas une version spécifique de la Licence Publique Générale
GNU, vous pouvez choisir l’une quelconque des versions qui ont été
publiées par la Free Software Foundation.
Si le Programme spécifie qu’un intermédiaire peut décider quelles
versions futures de la Licence Générale Publique GNU peut être
utilisée, la déclaration publique d’acceptation d’une version par cet
intermédiaire vous autorise à choisir cette version pour le Programme.
Des versions ultérieures de la licence peuvent vous donner des
permissions additionelles ou différentes. Cependant aucune obligation
additionelle n’est imposée à l’un des auteurs ou titulaires de Droit
d’Auteur du fait de votre choix de suivre une version ultérieure.
Article 15. Déclaration d’absence de garantie.
IL N’Y A AUCUNE GARANTIE POUR LE PROGRAMME, DANS LES LIMITES PERMISES
PAR LA LOI APPLICABLE. À MOINS QUE CELA NE SOIT ÉTABLI DIFFÉREMMENT PAR
ÉCRIT, LES PROPRIÉTAIRES DE DROITS ET/OU LES AUTRES PARTIES FOURNISSENT
LE PROGRAMME « EN L’ÉTAT » SANS GARANTIE D’AUCUNE SORTE, QU’ELLE SOIT
EXPRIMÉE OU IMPLICITE, CECI COMPRENANT, SANS SE LIMITER À CELLES-CI,
LES GARANTIES IMPLICITES DE COMMERCIALISABILITÉ ET D’ADÉQUATION À UN
OBJECTIF PARTICULIER. VOUS ASSUMEZ LE RISQUE ENTIER CONCERNANT LA
QUALITÉ ET LES PERFORMANCES DU PROGRAMME. DANS L’ÉVENTUALITÉ OÙ LE
PROGRAMME S’AVÉRERAIT DÉFECTUEUX, VOUS ASSUMEZ LES COÛTS DE TOUS LES
SERVICES, RÉPARATIONS OU CORRECTIONS NÉCESSAIRES.
Article 16. Limitation de responsabilité.
EN AUCUNE AUTRE CIRCONSTANCE QUE CELLES REQUISES PAR LA LOI APPLICABLE
OU ACCORDÉES PAR ÉCRIT, UN TITULAIRE DE DROITS SUR LE PROGRAMME, OU
TOUT AUTRE PARTIE QUI MODIFIE OU ACHEMINE LE PROGRAMME COMME PERMIS
CI-DESSUS, NE PEUT ÊTRE TENU POUR RESPONSABLE ENVERS VOUS POUR LES
DOMMAGES, INCLUANT TOUT DOMMAGE GÉNÉRAL, SPÉCIAL, ACCIDENTEL OU INDUIT
SURVENANT PAR SUITE DE L’UTILISATION OU DE L’INCAPACITÉ D’UTILISER LE
PROGRAMME (Y COMPRIS, SANS SE LIMITER À CELLES-CI, LA PERTE DE DONNÉES
OU L’INEXACTITUDE DES DONNÉES RETOURNÉES OU LES PERTES SUBIES PAR VOUS
OU DES PARTIES TIERCES OU L’INCAPACITÉ DU PROGRAMME À FONCTIONNER AVEC
TOUT AUTRE PROGRAMME), MÊME SI UN TEL TITULAIRE OU TOUTE AUTRE PARTIE
A ÉTÉ AVISÉ DE LA POSSIBILITÉ DE TELS DOMMAGES.
Article 17. Interprétation des sections 15 et 16.
Si la déclaration d’absence de garantie et la limitation de
responsabilité fournies ci-dessus ne peuvent prendre effet localement
selon leurs termes, les cours de justice qui les examinent doivent
appliquer la législation locale qui approche au plus près possible une
levée absolue de toute responsabilité civile liée au Programme, à moins
qu’une garantie ou assumation de responsabilité accompagne une copie du
Programme en échange d’un paiement.
FIN DES TERMES ET CONDITIONS.
_______________________________________________________________________
Comment appliquer ces termes à vos nouveaux programmes
Si vous développez un nouveau programme et voulez qu’il soit le plus
possible utilisable par le public, la meilleure façon d’y parvenir et
d’en faire un logiciel libre que chacun peut redistribuer et changer
suivant ces termes-ci.
Pour appliquer ces termes, attachez les notices suivantes au programme.
Il est plus sûr de les attacher au début de chacun des fichiers sources
afin de transporter de façon la plus effective possible l’exclusion de
garantie ; et chaque fichier devrait comporter au moins la ligne de
réservation de droit (“copyright”) et une indication permettant de savoir
où la notice complète peut être trouvée :
<une ligne donnant le nom du programme et une brève idée de ce qu’il fait.>
Copyright (C) <année> <nom de l’auteur> — Tous droits réservés.
Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le
modifier suivant les termes de la “GNU General Public License” telle que
publiée par la Free Software Foundation : soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.
Ce programme est distribué dans l’espoir qu’il vous sera utile, mais SANS
AUCUNE GARANTIE : sans même la garantie implicite de COMMERCIALISABILITÉ
ni d’ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence Générale
Publique GNU pour plus de détails.
Vous devriez avoir reçu une copie de la Licence Générale Publique GNU avec
ce programme ; si ce n’est pas le cas, consultez :
<http://www.gnu.org/licenses/>.
Ajoutez également les informations permettant de vous contacter par
courrier électronique ou postal.
Si le programme produit une interaction sur un terminal, faites lui
afficher une courte notice comme celle-ci lors de son démarrage en mode
interactif :
<programme> Copyright (C) <année> <nom de l’auteur>
Ce programme vient SANS ABSOLUMENT AUCUNE GARANTIE ; taper “affiche g” pour
les détails. Ceci est un logiciel libre et vous êtes invité à le redistribuer
suivant certaines conditions ; taper “affiche c” pour les détails.
Les commandes hypothétiques “affiche g” and “affiche c” devrait
afficher les parties appropriées de la Licence Générale Publique. Bien
sûr, les commandes de votre programme peuvent être différentes ; pour
une interface graphique, vous pourriez utiliser une « boîte À propos. »
Vous devriez également obtenir de votre employeur (si vous travaillez
en tant que programmeur) ou de votre école un « renoncement aux droits
de propriété » pour ce programme, si nécessaire. Pour plus
d’informations à ce sujet, et comment appliquer la GPL GNU, consultez
<http://www.gnu.org/licenses/>.
La Licence Générale Publique GNU ne permet pas d’incorporer votre
programme dans des programmes propriétaires. Si votre programme est une
bibliothèque de sous-routines, vous pourriez considérer qu’il serait
plus utile de permettre de lier des applications propriétaires avec la
bibliothèque. Si c’est ce que vous voulez faire, utilisez la Licence
Générale Publique Limitée GNU au lieu de cette Licence ; mais d’abord,
veuillez lire <http://www.gnu.org/philosophy/why-not-lgpl.html>.
_______________________________________________________________________
+108
View File
@@ -0,0 +1,108 @@
Informations on this project:
This project has been developed by:
Xavier Roche (xroche at httrack.com)
project leader
core engine, Windows/Linux GUI
Yann Philippot (yphilippot at lemel.fr)
for the java binary .class parser
With the help of:
Leto Kauler (molotov at tasmail.com)
for the site/logos design
http://kauler.com/
Christian Marillat (marillat.christian at wanadoo.fr)
for autoconf compliance and .deb package
Fred Cohen (fc at all.net)
for HTTrack user's guide
http://all.net/
And the help of the following third party developers:
Nicolas Benoit (nbenoit at tuxfamily.org), SDP Multimedia and Major MMS
for the mms plugin core routines (MMSRIP)
http://nbenoit.tuxfamily.org/
Jean-loup Gailly from gzip.org
for the help provided with Zlib
http://www.zlib.net/
Eric A. Young (eay at cryptsoft.com)
for SSL cryptographic material (OpenSSL)
http://www.openssl.org/
Jordan Russell
for the Windows setup tool (Inno Setup)
http://www.jrsoftware.org/isinfo.php
Translations written by:
David Lawrie (dalawrie at lineone.net)
Robert Lagadec (rlagadec at yahoo.fr)
for checking both English & French translations
Juan Pablo Barrio Lera (University of León)
for Spanish translations
Rainer Klueting (rk-htt at centermail.net)
Bastian Gorke (bastiang at yahoo.com)
Rudi Ferrari (Wyando at netcologne.de)
Marcus Gaza (MarcusGaza at t-online.de)
for German translations
Rudi Ferrari (Wyando at netcologne.de)
for Dutch translations
Lukasz Jokiel (Opole University of Technology, Lukasz.Jokiel at po.opole.pl)
for Polish translations
Rui Fernandes (CANTIC, ruiefe at mail.malhatlantica.pt)
Pedro T. Pinheiro (Universidade Nova de Lisboa-FCT, ptiago at mail.iupi.pt)
for Portuguese translations
Andrei Iliev (iliev at vitaplus.ru)
for Russian translations
Witold Krakowski (wtkrak at netscape.net )
for Italian translations
Jozsef Tamas Herczeg (hdodi at freemail.hu)
for Hungarian translation
Paulo Neto (pauloneto at layoutdobrasil.com)
for Brazilian translation
Brook Qin (brookqwr at sina.com)
for simplified Chinese translation
David Hing Cheong Hung (DAVEHUNG at mtr.com.hk)
Addy Lin (addy1975 at pchome.com.tw)
for traditional Chinese translation
Jesper Bramm (bramm at get2net.dk)
for Danish translation
Tõnu Virma
for Estonian translation
Staffan Ström (staffan at fam-strom.org)
for Swedish translation
Arman (Armish) Aksoy (armish at linux-sevenler.de)
Mehmet Akif Köeoðlu (mak at ttnet.net.tr)
for Turkish translation
Aleksandar Savic (aleks at macedonia.eu.org)
for Macedonian translation
Takayoshi Nakasikiryo
for Japanese translation
Martin Sereday (sereday at slovanet.sk)
for Slovak translation
Antonín Matìjèík (matejcik at volny.cz)
for Czech translation
Andrij Shevchuk (http://programy.com.ua)
for Ukrainian translation
Tobias "Spug" Langhoff (spug_enigma at hotmail.com)
for Norwegian translation
Jadran Rudeciur (jrudec at email.si)
for Slovenian translation
Alin Gheorghe Miron (miron.alin at personal.ro)
for Romanian translation
Michael Papadakis (mikepap at freemail.gr)
for Greek translation
Ilia Lindov (ilia at infomat-bg.com)
for Bulgarian translation
Mika Kähkönen (mika.kahkonen at mbnet.fi)
for Finnish translation
Thanks to:
Patrick Ducrot & Daniel Carré (ENSI of Caen)
for their initial support
http://www.ducrot.org/
http://www.greyc.ensicaen.fr/~dcarre/
Ensi of Caen
for their initial support
http://www.ensicaen.fr/
La sonothèque du Terrier
for the sound fx :)
..and all users who are using and supporting HTTrack!
+845
View File
@@ -0,0 +1,845 @@
HTTrack Website Copier release history:
--------------------------------------
This file lists all changes and fixes that have been made for HTTrack.
3.48-10
+ 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 --max-links 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)
3.47-27
+ 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
+ Fixed: libssl.dylib is now in the search list for libssl on OSX (Nils Breunese)
+ Fixed: bogus charset because the meta http-equiv tag is placed too far in the html page
+ Fixed: incorrect \\machine\dir structure build on Windows (TomZ)
+ Fixed: do not force a file to have an extension unless it has a known type (such as html), or a possibly known type (if delayed checks are disabled)
+ Fixed: HTML 5 addition regarding "poster" attribute for the "video" tag (Jason Ronallo)
+ Fixed: memory leaks in proxytrack.c (Eric Searcy)
+ Fixed: correctly set the Z flag in hts-cache/new.txt file (Peter)
+ Fixed: parallel patch, typo regarding ICONV_LIBS (Sebastian Pipping)
+ Fixed: memory leak in hashtable, that may lead to excessive memory consumption
+ Fixed: on Windows, fixed possible DLL local injection (CVE-2010-5252)
+ Fixed: UTF-8 conversion bug on Linux that may lead to buggy filenames
+ Fixed: zero-length files not being properly handled (not saved on disk, not updated) (lugusto)
+ Fixed: serious bug that may lead to download several times the same file, and "Unexpected 412/416 error" errors
+ Fixed: images in CSS were sometimes not correctly detected (Martin)
+ Fixed: links within javascript events were sometimes not correctly detected (wquatan)
+ Fixed: webhttrack caused bus error on certain systems, such as Mac OSX, due to the stack size (Patrick Gundlach)
+ Fixed: bogus charset for requests when filenames have non-ascii characters (Steven Hsiao)
+ Fixed: bogus charset on disk when filenames have non-ascii characters (Steven Hsiao)
+ Fixed: fixed 260-characters path limit for Windows (lugusto)
+ Fixed: non-ascii characters encoding issue inside query string (lugusto)
+ Fixed: HTML entities not properly decoded inside URI and query string
+ Fixed: URL-encoding issue within URI
+ Fixed: --timeout alias did not work
+ Fixed: more windows-specific fixes regarding 260-character path limit
+ Fixed: escaping issue in top index
+ Fixed: Linux build cleanup (gentoo patches merge, lintian fixes et al.)
+ Fixed: Fixed div-by-zero when specifying more than 1000 connections per seconds (probably not very common)
+ Fixed: Mishandling of '+' in URLs introduced in 3.47-15 (sarclaudio)
+ Fixed: "Wildcard domains in cookies do not match" (alexei dot co at gmail dot com )
+ 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 com at gmail dot com)
+ Fixed: Russian translation fixes by Oleg Komarov (komoleg at mail dot ru)
+ New: Added .torrent => application/x-bittorrent built-in MIME type (alexei dot co at gmail dot com)
+ Fixed: unable to download an URL whose filename embeds special characters such as # (lugusto)
+ New: Croatian translation by Dominko Aždajić (domazd at mail dot ru)
+ Fixed: url-escaping regression introduced in the previous subrelease
+ Fixed: content-disposition NOT taken in account (Stephan Matthiesen)
+ Fixed: buggy DNS cache leading to random crashes
+ Fixed: fixed logging not displaying robots.txt rules limits by default
+ Fixed: license year and GPL link, libtool fixes (cicku)
+ Fixed: Keywords field in desktop files (Sebastian Pipping)
3.46-1
* New: Unicode filenames handling
* Fixed: fixed bug in handling of update/continue with erased files or renamed files, leading to "Unexpected 412/416 error (Requested Range Not Satisfiable)" and/or "Previous cache file not found" (-1)" errors
* Fixed: escape characters >= 128 when sending GET/HEAD requests to avoid server errors
* Fixed: do not use "delayed" extensions when the mirror is aborting
* Fixed: generate error pages when needed (Brent Palmer)
* Fixed: parsing issue with js files due to "script" tags (Vasiliy)
* Fixed: anonymous FTP without password (Luiz)
* Fixed: Makefile issues regarding parrallel build and examples (Sebastian Pipping)
* Fixed: removed deprecated and annoying "Accept-Charset" header in requests (Piotr Engelking) (closes:#674053)
3.45-4
* New: source license is now GPLv3
* New: added a "K5" feature to handle transparent proxies (Brent Palmer)
* New: option -y to control ^Z behavior (Julian H. Stacey)
* Fixed: replace // by / when saving rather than _/ (Brent Palmer)
* Fixed: do not interpret ^C before mirror is finished, or after
* Fixed: webhttrack: do not use md5sum to produce a temporary filename, but mktemp (Ryan Schmidt)
* Fixed: document %k for custom structure (full query string)
3.45-3
* Fixed: spurious "Previous file not found (erased by user ?)" messages leading to retransfer existing files in cache (Alain Desilets)
* Fixed: --max-time now stops the mirror smoothly (Alain Desilets)
3.45-2
* Fixed: number of simultaneous connections was often only one
* Fixed: "Unexpected 412/416 error" leading to have broken files on disk
3.45-1
* Fixed: interrupting an update/continue mirror session should not delete anymore previously downloaded content (William Roeder, Alain Desilets and many others)
* Fixed: --continue/--update bug leading to download again already cached data in some cases (especially redirect/error pages)
3.44-5
* Fixed: crash when using -d with non-fully-qualified hostname (Alain Desilets)
* Fixed: typo in logs (Pascal Boulerie)
3.44-4
* Fixed: random crash when interrupting the mirror (spotted by -fstack-protector) in htscoremain.c (closes:#657878)
3.44-3
+ Fixed: Linux build (closes:#657334)
3.44-2
+ Fixed: malformed format htslib.c (Moritz Muehlenhoff)
+ Fixed: default footer print format
+ New: clever "^C" handling
+ New: added --do-not-generate-errors option
+ New: increased maximum cookie name
3.44-1
+ Fixed: Randomly corrupted files during updates due to "engine: warning: entry cleaned up, but no trace on heap"/"Unexpected 412/416 error" errors (Petr Gajdusek ; closes:#614966)
3.43-12
+ Fixed: buffer overflow while repairing httrack cache if a damaged cache is found from a previous mirror (closes:#607704)
3.43-11
+ Fixed: webhttrack fixes for icecat (closes:#605140)
3.43-10
+ Fixed: capture URL not working properly when IPv6 is installed (John Bostelman)
3.43-9
+ Fixed: application/xhtml+xml not seen as "html" (Peter Fritzsche)
+ Fixed: various linux fixes for desktop files (closes:#563691)
3.43-8
+ Fixed: URL encoding bugs with filenames containing '%' characters (sandboxie32)
+ Fixed: MacPorts Darwin/Mac fixes to webhttrack (Ross Williams)
+ Fixed: Flash link extraction has been improved (Vincent/suei8423)
3.43-7
+ Fixed: "Open error when decompressing" errors due to temporary file generation problems (Scott Mueller)
3.43-6
+ Shell: WIN32 setup cosmetic fixes: do not probe the proxy on non-local network, do not force *.whtt registration
3.43-5
+ Fixed: code tag handling bug in certain cases leading to produce invalid links (Tom-tmh13 and William Roeder)
3.43-4
+ Fixed: horrible SSL slowdowns due to bogus select() calls (Patrick Pfeifer)
+ Fixed: Konqueror fixes
3.43-3
+ Updated: Portugues-Brasil language file
3.43-2
+ Fixed: wizard question buggy, and commandline version did not print it (Maz)
+ Fixed: do not rename xml subtypes (such as xsd schemas) (Eric Avrillon)
3.43
+ Fixed: Fixed too aggressive javascript url= parsing (Chris)
+ Fixed: fixed --urllist option "sticking" the list content to the list of URL (Andreas Maier)
+ Fixed: "Previous cache file not found" not redownloading file when deleted before an update (William Roeder)
+ Fixed: *.rpm.src files renamed to *.src.src with bogus servers (Hippy Dave)
+ Fixed: "pause" is pausing much faster (William Roeder)
+ Fixed: binary real media files and related files are no longer being parsed as html (William Roeder)
+ Fixed: "File not parsed, looks like binary" check no longer corrupt the checked binary file
+ Fixed: multiple download of error pages (several identical '"Not Found" (404) at link [identical link]') leading to a slowdown in certain cases (William Roeder)
+ Fixed: sometimes, a double request was issued to update a broken file
+ Fixed: display bug "link is probably looping, type unknown, aborting .."
+ Fixed: missing library references at build time and other build related issues (Debarshi Ray)
+ Fixed: on windows, switched from wsock32.dll to ws2_32.dll
+ Fixed: minor argument size validation error for "-O" option (Joan CALVET)
3.42-3
+ Fixed: Bad URL length validation in the commandline (CVE-2008-3429) (Joan CALVET)
3.42-2
+ Fixed: Random crashes at the end of the mirror due to a dangling file pointer (Carlos, angus at quovadis.com.ar)
3.42
+ Fixed: size limits are stopping the mirror gently, finishing pending transfers (David Stevenson)
3.41-3
+ Fixed: text/plain advertised files renamed into .txt
+ Fixed: broken configure.in
3.41-2
+ Fixed: major WIN32 inlined function bug caused the cache not to be used at all, causing update not to work
3.41
+ New: changed API/ABI to thread-safe ones (libhttrack1 2), big cleanup in all .h definitions
+ Fixed: Major memory usage bug when downloading large sites
+ Fixed: do not rename files if the original MIME type was compatible
+ Fixed: several source fixes for freeBSD (especially time problems)
+ New: option %w to disable specific modules (java, flash..)
+ Fixed: 'no space left in stack for back_add' error
+ Fixed: fixed redirected images with "html" type
+ Fixed: 'Crash adding error, unexpected error found.. [4268]' error
3.40-2
+ Fixed: bogus '.del' filenames with ISO-9660 option
+ Fixed: now merges the header charset even with an empty footer string
+ New: --port option for webhttrack
3.40
+ New: mms:// streaming capture (thanks to Nicolas Benoit!)
+ New: proxyTrack project released
+ New: new experimental parser that no longer needs link testing ('testing link type..')
+ New: Redirect handled transparently with delayed type check and broken links made external when the "no error page" option is enabled
+ New: improved background download to handle large sites
+ New: '--assume foo/bar.cgi=text/html' is now possible
+ New: MIME type scan rules (such as -mime:video/* +mime:video/mpeg)
+ New: size scan rules now allows to rewrite uncaught links as external links
+ Fixed: crash fixed when ftime()/localtime()==NULL
+ Fixed: iso-9660 option now using '_' for collision character
+ Fixed: collision problems with CaSe SeNsItIvItY
+ Fixed: a href='..' fixed!
+ Fixed: redirects are now handled by the new experimental parser
+ Fixed: "./" links generated with fixed outbound links (../../)
+ Fixed: 'base href' bogus in many cases
+ Fixed: enforce security limits to avoid bandwidth abuses
+ Fixed: bogus external (swf) parser, fixed remaining .delayed files
+ New: new check-mime and save-file2 callbacks
+ New: "always delayed type check" enabled
+ Fixed: totally bogus finalizer causing compressed files not to be uncompressed, and many files to be truncated
+ Shell: new Finnish interface added!
+ Fixed: "..html" bogus type
+ Fixed: remaining bogus .delayed entries
+ Fixed: flush before user-defined command
+ Fixed: fixed user-defined command call and background cleaner
+ Fixed: fixed 'Crash adding error, unexpected error found.. [4250]' error
+ Fixed: fixed cache absolute file reference (the reference is now relative) preventing the cache form being moved to another place
+ Fixed: webhttrack 'Browse Sites' path bug
+ Fixed: old httrack cache format fixes (import of older versions did not work anymore)
+ Fixed: port fixes in htsnet.h
+ Fixed: -N option with advanced extraction (bogus "not found" member)
+ Fixed: javascript: location=URL was not recognized
+ Fixed: no more character escaping when not needed (such as UTF-8 codes)
+ Fixed: possibly temporary files left on disk with bogus servers giving compressed content on HEAD reuests
+ Fixed: URL hack caused unexpected filename collisions (index.html vs INDEX.HTML)
+ Fixed: "do not erase already downloaded file" option now correctly works (it leaves files linked in the mirror)
+ Fixed: UCS2 encoded pages are now converted properly into UTF-8
+ New: "near" option now also catch embedded (images, css, ..) files
+ Fixed: bogus chunked multimedia link text files (such as x-ms-asf files)
+ Fixed: compilation problems on Un*x version
3.33
+ Fixed: Bogus redirects with same location in https
+ Fixed: Bogus file naming with URL hack
+ Fixed: Extremly slow redirections and empty files
+ Fixed: Bogus names with directories ending with a "."
+ New: Number of connection per second can now be.. decimal, to delay even more
+ New: Enforce stronger ISO9660 compliance
+ Shell: "URL Hack" in interface
+ Shell: "Save settings" now rebuild categories
+ Shell: "Shutdown PC after mirror" option
+ Shell: Sound at the beginning/end or the mirror (configurable through system sound properties)
+ Shell: Fixed drag & drop, .url import
+ Shell: Fixed "wizard" mode (crash)
+ Fixed: Crash at the end due to unterminated pending threads
+ Fixed: \ is not anymore transformed into / after the query (?) delimiter
+ New: Two new callbacks for pre/post-processing html data
+ New: link-detected2 callback (additional tag name parameter)
+ Fixed: Broken ISO9660
+ Fixed: Crash on file:// links
+ Fixed: Unescaped ampersands (&) in URLs
+ Fixed: Transfer hangs introduced in 3.33-beta-2
+ Fixed: Display bug "Waiting for scheduled time.."
+ Fixed: Bug "Waiting for scheduled time.." (NOT a display bug, actually)
+ Fixed: CaSe SenSiTiViTy bugs with mutliple links reffering to the same URL but using different case styles
+ Fixed: Failed to build from sources (FTBFS) on amd64 archs because of cast problems (Andreas Jochens)
+ Fixed: & were converted into &nbsp; (Leto Kauler)
+ Shell: Fixed crash with long URL lists (Libor Striz)
+ Fixed: connection/seconds limiter replugged
+ Fixed: "no files updated" display bug
+ Fixed: bogus links encoded with UTF (Lukasz Wozniak)
+ New: --assume can be used to force a specific script type (Brian Schröder)
3.32
+ Fixed: css and js files were not parsed!
+ Fixed: again broken file:// (infinite loops with local crawls)
+ Fixed: Bandwidth limiter more gentle with low transfer rate
+ Fixed: external wrappers were not called during updates/continue
+ New: additional callback examples
+ Fixed: overflow in unzip.c fixed
+ New: tests are now cached for better performances!
+ New: %r (protocol) option for user-defined structure
+ Fixed: Broken engine on 64-bit archs
3.31
+ New: Experimental categories implemented
+ New: New cache format (ZIP file)
+ New: .m3u files now crawled
+ New: .aam files now crawled
+ Fixed: Broken ftp
+ Fixed: Broken file://
+ Fixed: Broken cookies management and loading
+ Fixed: HTTrackInterface.c:251 crash
+ Fixed: "N connections" means "N connections" even in scan phase
+ Fixed: javascript:location bug
+ Fixed: libtool versioning problem fixed
+ Fixed: More javascript bugs with \' and \"
+ Fixed: .HTM files not renamed into .html anymore
+ Fixed: OSX fixes in the Makefile script
+ New: Default "referer" and "from" fields
+ New: Full HTTP headers are now stored in cache
+ Fixed: ftp transfer not logged/properly finalized
+ Fixed: Missing symbolic link in webhttrack install
+ Fixed: path and language not saved in webhttrack
+ Shell: Avoid invalid project names
+ Fixed: Javascript bug with src=
+ Fixed: Keep-alive consistency problems on Linux/Unix with bogus servers (SIGPIPE)
+ Fixed: Parsing bug inside javascript (bogus parsing with empty quotes in function: foo(''))
+ Fixed: static compiling on Linux/Unix
+ Fixed: bloated .h headers (internal function definitions)
+ Fixed: Bogus query strings with embedded ../ and/or ./
+ New: Added "change-options" call in the crawl beginning
+ New: Query arguments now sorted for normalized URL checks (when "url hack" option is activated)
+ Fixed: Previous dependency to zlib.dll to zlib1.dll
+ Fixed: Broken static files were not correctly updated with the new cache format
+ Shell: Launch button in Internet Explorer
+ Fixed: Crash when dealing with multiple '?' in query string with 3.31-alpha
3.30
+ New: Webhttrack, a linux/unix/bsd Web GUI for httrack
+ New: "URL hack" feature
+ New: HTTP-headers charset is now propagated in the html file
+ New: loadable external engine callbacks
+ New: Experimental ".mht" archives format
+ Fixed: Query ?? bug
+ Fixed: Bogus base href without http://
+ Fixed: Several javascript bugs
+ Fixed: UCS2 pages badly detected
+ Fixed: Build structure change does not redownload files
+ Fixed: "?foo" URL bug (link with only a query string) fixed
+ Fixed: ' or " inside non-quoted URLs
+ Fixed: keep-alive problems with bogus servers
+ Fixed: Broken .ra files
+ Fixed: More javascript bugs
+ Fixed: ftp transfers not properly monitored in the shell
+ Fixed: various fixes in webhttrack
+ Fixed: Blank final page in webhttrack
+ Fixed: Javascript comments (//) are skipped
+ Fixed: Temporary fix for "archive" bug with multiple java archives
+ Fixed: Inlined js or css files have their path relative to the parent
+ Fixed: Unescaped quotes ("") when continuing/updating in commandline mode
+ Fixed: Null-character in html page bug
+ Fixed: External depth slightly less bogus
+ Fixed: Filters based on size bogus ("less than 1KiB" is now functionning)
+ Fixed: Strange behaviour with filters (last filter "crushed")
+ Fixed: Bogus downloads when using ftp (unable to save file)
+ Fixed: Freeze with keep-alive on certain sites due to bad chunk encoding handling
+ Fixed: Problems with javascript included paths
+ Fixed: The mirror now aborts when the filesystem is full
+ Fixed: "No external pages" option fixed
+ Fixed: Javascript and \" in document.write bug fixed
+ Fixed: Two memory leaks in temporary file generation, and in link build fixed
+ Fixed: Bogus compression with non-gzip format
+ Fixed: Larger range of charsets accepted
+ Fixed: Bogus robots.txt when using comments (#)
+ Fixed: Missing MIME types for files such as .ico
+ Shell: Fixed continuous proxy search
+ Shell: Fixed missing HelpHtml/ link
+ Fixed: Overflow in htsback.c:2779
+ Fixed: Bogus style and script expressions due to too aggressive parsing
+ Fixed: Javascript parsing bugs with \" and \'
+ Fixed: Javascript link detection bugs when comments were inserted between arguments
+ Fixed: Bug when valid empty gzip content was received
+ New: More aggressive "maximum mirroring time" and "maximum amount of bytes transfered" options
+ New: Windows file://server/path syntax handled
+ Fixed: mht archive fixes
+ Fixed: Serious bugs with filters given in commandline erased by the engine
+ Fixed: Bogus parsing of javascript: generated inside document.write() inside javascript code removed
3.23
+ New: Keep-alive
+ New: URLs size limit is now 1024 bytes
+ New: Bogus UCS2 html files hack
+ Fixed: base href bugs
+ Fixed: windows "dos devices" bug fixed
+ Fixed: dirty parsing now avoids ","
+ Fixed: "get non-html files near a link" option sometimes caused huge mirrors
+ Fixed: Bugs if zlib library is not found
+ Fixed: Bug with "near" and "no external pages"
+ Fixed: "Link empty" crash
+ Fixed: Several javascript bugs
+ Fixed: Keep-alive problems ("unknown response structure")
+ Fixed: Major keep-alive bug (connection not closed)
+ Fixed: 8-3 options not working, ISO9660 option improved
+ Fixed: Bogus links with embedded CR, TAB..
+ Fixed: small ../ external link bug fixed
3.22-3
+ Fixed: Slow engine due to (too strict) memory checks
+ Fixed: Overflow in htscore.c:2353
+ Fixed: Bogus chunked files with content-length fixed
+ Fixed: Folders renamed into ".txt" on Un*x platforms bug fixed!
+ New: Scan rule list (-%S) added
+ New: Cache debugging tool (-#C) added
3.21-8
+ New: Basic Macromedia Flash support (links extraction)
+ New: Modular design for https, flash parser and zlib
+ New: Standard autoconf/configure design on Un*x platforms
+ New: Modular design also on Windows platforms (dll/lib)
+ Fixed: Text files without extension not renamed "html" anymore
+ Fixed: Bug with "?foo" urls
+ Fixed: No chmod 755 on home anymore
+ Fixed: Stability problems due to bad file structure checks
+ Fixed: Overflow in GUI/commandline when displaying statistics
+ Fixed: Directory creation error
3.20-2
+ New: HTTPS support (SSL)
+ New: ipv6 support
+ New: 'longdesc' added
+ New: new file 'new.txt' generated for transfer status reports
+ New: ISO9660 compatibility option
+ New: empty mirror/update detection improved
+ New: Update hack now recognizes "imported" files
+ New: Option to disable ipv4/ipv6
+ New: Filters now recognize patterns like -https://*
+ Fixed: The engine should be now fully reentrant
+ Fixed: Fixes for alpha and other 64-bit systems
+ Fixed: Files downloaded twice if not found in cache
+ Fixed: ftp problems with 2xx responses
+ Fixed: ftp problems with multiple lines responses
+ Fixed: ftp %20 not escaped anymore
+ Fixed: ftp RETR with quotes problems
+ Fixed: now tolerent to empty header responses
+ Fixed: hts-log closed
+ Fixed: Compressed pages during updates
+ Fixed: Crash when receiving empty compressed pages
+ Fixed: Random crashes in 'spider' mode
+ Fixed: bcopy/bzero not used anymore..
+ Fixed: various code cleanups
+ Fixed: Better UTF8 detection
+ Fixed: External links now work with https and ftp
+ Fixed: Top index.html corrupted or missing
+ Fixed: URL list crashes
+ Fixed: Random crashes with large sites due to bogus naming handler
+ Fixed: Freezes on some robots.txt files
+ Fixed: Compressed files not stored
+ Fixed: SVG fixes
+ Fixed: Raw HTML responses
+ Fixed: 406 error workaround
+ Fixed: Crashes due to binary files with bogus HTML type (not parsed anymore)
+ Fixed: External https and ftp links broken, relative https links broken
+ Fixed: Automatic resizing of filter stack
+ Fixed: Various ampersand (&) elements added
+ Fixed: https with proxy temporary workaround (direct connection)
+ Fixed: "base href" with absolute uris
+ Fixed: stack frame too large on some systems
+ Fixed: random bad requests due to bogus authentication
+ Shell: Several fixes, including registration type problems
+ Shell: "template files not found" fixed
3.16-2
+ Fixed: Zlib v1.4
+ Fixed: Gzipped files now downloaded without problems (HTTP compression bug)
+ Fixed: Ending spaces in URLs now handled correctly
+ Fixed: META-HTTP bug
+ Shell: Type registration done only once
3.15
+ Fixed: Bogus HTTP-referer with protected sites
+ Fixed: Fatal IO/socket error with large sites (handles not closed)
+ Fixed: K4 option now works
+ Fixed: --continue+URL(s) now clears previous URLs
+ Fixed: Parsing bug with 'www.foo.com?query'
+ Shell: 'Soft cancel' documented
+ Shell: 'Kx' options added
3.10
+ Fixed: Broken pipes on Linux version
+ Fixed: Commandline version bug with gzipped files
+ Fixed: Crash when reaching compressed error pages
+ Fixed: Bogus html-escaped characters in query strings
+ Fixed: Files skipped (bogus anticipating system)
+ Fixed: Crash when showing stats (div by zero)
+ Fixed: Problems with URLs/redirects containing spaces or quotes
+ Fixed: Slash added when ~ detected
+ Fixed: Ugly VT terminal
+ New: Faster and cleaner mirror interrupt
3.09
+ Fixed: Several problems with javascript parsing
+ Fixed: Elements after onXXX not parsed
+ New: Source update wrapper
+ New: Style url() and @import parsed
+ Shell: Word database and maximum number of links
+ Shell: Option changes taken in account immediately
+ Shell: Cleaner installer (registry keys)
3.08
+ New: HTTP compression is now supported
+ New: Faster response analysis
+ Fixed: External page in html if cgi
+ Fixed: Mix between CR and CR/LF for comments
+ Fixed: Top index corrupted
+ Shell: Better refresh during parsing
+ Shell: DLL error
3.07
+ Fixed: Random crashes with HTTP redirects
+ New: New rate limiter (should be sharper)
+ New: Code cleaned up, new htscore.c/httrack.c files
3.06
+ Fixed: Redirect to https/mailto now supported
+ New: Top index/top dir for Un*x version
+ New: Sources more modular (.so)
+ New: Quicktime targetX= tags
+ New: HTTP 100 partially supported
3.05
+ Fixed: Non-scannable tag parameters ("id","name",..)
+ Fixed: Java classes not found when using "." as separator
+ Fixed: Java classes not found when missing .class
3.04
+ Fixed: URLs with starting spaces
+ Fixed: bogus URLs when using "base href"
+ Shell: --assume and -%e options included
+ New: Documentation updated a little
3.03
+ New: Parser optimizations, 10 times faster now!
+ New: New --assume option to speed up cgi tests
+ New: Option to avoid Username/password storage for external pages
+ New: Query string kept for local URIs
+ Fixed: RFC2396 compliant URLs accepted (//foo and http:foo)
+ Fixed: foo@foo.com not considered as URL anymore
+ Fixed: Space encoded into %20 in URIs
+ Fixed: "Unable to save file" bug
+ Fixed: Corrupted top index.html
+ Fixed: Cookies disabled with --get
+ Fixed: Cache bug for error pages
3.02
+ Fixed: Pages without title recorded in top index
+ Fixed: Error with Content-type+Content-disposition
+ Fixed: backblue.gif/external.html files not purged anymore
+ Fixed: Encoding problems with files containing %2F or other characters
+ Fixed: Write error reported for HTML files
+ New: hts-stop.lock file to pause the engine
+ New: New install system using InnoSetup
3.01
+ New: HTTP real media files captured
+ Fixed: Bogus statitics
+ Fixed: Minor fixes
3.00
+ New: New interface, with MANY improvements!
+ New: Better parsing (enhanced javascript parsing, sharper HTML parsing)
+ New: Faster and more efficient background download system
+ New: ETag properly handled
+ New: Optional URL list
+ New: Optionnal config file
+ New: New structure options
+ New: New filters options (size filters)
+ New: Better password site handling
+ New: Traffic control to avoid server overload
+ New: Setuid and Chroot for Unix release
+ New: limited 64-bit handling
+ New: .js files are now parsed
+ New: Single hts-log.txt file, error level
+ New: New top index.html design
+ New: "Update hack" option to prevent unnecessary updates
+ New: Default language sent for mirrors
+ New: Searchable index
+ Fixed: Bogus ftp routines (Linux version)
+ Fixed: Bug that caused to mirror a complete site from a subdir
+ Fixed: Bug that caused restart to be very slow
+ Fixed: Bug that caused loops on several query-string pages (?foo=/)
+ Fixed: Corrupted cache bug
+ Fixed: Random broken links (pages not downloaded)
+ Fixed: Shared links problems
+ Fixed: Bogus URLs with commas (,)
+ Fixed: Bogus / and \ mixed
+ Fixed: Bogus addresses with multiple @
+ Fixed: Bogus links with %2E and %2F
+ Fixed: Bogus empty links
+ Fixed: "Unexpected backing error" bug fixed
+ Fixed: Files with incorrect size no more accepted
+ Fixed: Top index.html created even for untitled pages
+ Fixed: Bogus N100 option (unable to save file)
+ Fixed: Deadlock when using many hosts in URLs
+ Fixed: Password stored internally to avoid access errors
+ Fixed: Fixed /nul DOS limit
+ Fixed: Bogus -* filter (nothing mirrored)
+ Fixed: .shtml now renamed into .html
+ Fixed: Content-disposition without ""
+ Fixed: External html page for /foo links
+ Fixed: Username/password % compliant
+ Fixed: Javascript parser sometimes failed with " and ' mixed
+ Fixed: Some Range: bugs when regeting complete files
+ Fixed: Range: problems with html files
+ Fixed: HTTP/1.1 407 and 416 messages now handled
+ Fixed: Bogus timestamp
+ Fixed: Null chars in HTML bug
+ Fixed: Error pages cache bug
+ Fixed: Connect error/site moved do not delete everything anymore!
+ Fixed: Bogus garbage ../ in relative URL
+ Shell: New transfer rate estimation
+ Shell: Fixed crash when using verbose wizard
+ Shell: dynamic lang.h for easier translation updates
+ Shell: Fixed some options not passed to the engine
+ Fixed: A lots of minor fixes!
2.2
Note: 3.00 alpha major bug fixes are included in the 2.2
2.02
+ New: Cache system improved, compatible with all platforms
+ New: Update process improved (accurate date)
+ New: Remote timestamp for files
+ New: ETag (HTTP/1.1) supported
+ Shell: Portugese interface available
+ Fixed: Bug with links containing commas
+ Fixed: 'file://' bug with proxy
+ New: Engine a little bit faster
+ Shell: Some bugs fixed in the interface
2.01
+ New: ftp through proxy finally supported!
+ New: Sources cleaned up
+ New: Again some new marvelous options
+ New: Speed improved (links caught during parsing, faster "fast update")
+ New: Tool to catch "submit" URL (forms or complex javascript links)
+ Shell: German interface available
+ Shell: Dutch interface available
+ Shell: Polish interface available
+ Fixed: Level 1 bug fixed
+ Fixed: Still some parsing/structure problems
+ Fixed: Referer now sent to server
+ Fixed: Cookies did not work properly
+ Fixed: Problems with redirect pages
+ New: Better javascript parsing
+ Fixed: Problems with URL-parameters (foo.cgi?param=2&choice=1)
+ Fixed: Problems with ftp
+ New: ftp transfers are now in passive mode (firewall compliant)
2.00 -- The First Free Software Release of HTTrack!
+ New: HTTrack sources (command line), now free software, are given
+ Shell: Interface rewritten!
+ New: Documentation rewritten
+ Shell: Drag&Drop abilities
+ Shell: More URL informations
+ Shell: Fixed: Remote access problems
+ Fixed: Loop problems on some sites causing crashes
+ Fixed: URL encoding problems
+ Fixed: Some file access problems for ../
+ Fixed: Some fixes for updating a mirror
+ Shell: Crazy progress bar fixed
+ Fixed: Form action are rewritten so that cgi on form can work from an offline mirror
+ Fixed: Crashes after continuing an "hand-interrupted" mirror
+ Fixed: Bogus files with some servers (chunk bug)
1.30
+ Shell: Interface improved
+ New: robots.txt are followed by default
+ New: Parsing speed improved on big (>10,000 links) sites with an hash table
+ New: Mirror Link mode (mirror all links in a page)
+ New: Cookies are now understood
+ New: No external pages option (replace external html/gif by default files)
+ New: Command line version improved, background on Unix releases
+ Fixed: Problems with javascript parsing
+ Fixed: Username/password not set to lowercase anymore
+ Fixed: Problems with base href
+ New: Links in level 1 html files now patched
+ New: Expurge now deletes unused folders
+ New: Option -V executes shell command for every new file
+ Shell: Primary filter now works
1.24
+ Fixed: Ftp protocol bogus (with login/pass)
+ Fixed: Cache problems (corrupted files)
+ New: Expurge old files for updates
+ New: "Updated" messages for mirror updates
+ Shell: Autodial/hangup option to RAS
+ Fixed: index.html were not created sometimes
+ Shell: Fixed: Random crashes with the interface
+ Shell: Fixed: Filters profile not saved
+ Fixed: Various (and numerous) fixes
1.23
+ Shell: Interface improved
+ Shell: Multiple setups
+ Shell: Redefine options
+ Shell: Continue interrupted mirror improved
1.22
+ Fixed: Parsing up/down did not work well
+ Fixed: Several files not catched, bugs fixes
+ Fixed: Problems with classes (1.21)
+ New: Transfer rate can be limited (-A option)
+ Shell: Smooth refresh
+ New: ftp basic protocol a little bit improved
1.21
+ Fixed: Several java classes were not parsed
+ Fixed: Some folders without ending / ignored
+ Fixed: Crashes due to content-type too long
1.20
+ Shell: documentation!
+ Fixed: Some problems with 'host cancel' system after timeouts (crashes)
+ New: Get only end of files if possible (file partially get)
+ New: New cache system (only HTML stored)
+ New: User-defined structure possible
+ New: Also available: french interface
+ Fixed: Random crashes (div by 0/illegal instruction) with null size files
+ New: Limited ftp protocol (files only), e.g. +ftp://* now works
+ Fixed: Some connect problems with several servers or proxies
+ New: New option, save html error report by default
+ Shell: Browse and see log files at the end of a mirror
+ New: Proxy authentication (ex: guest:star@myproxy.com:8080)
+ Shell: Interface improved (especially during mirror)
+ Fixed: Ambiguous files are renamed (asp,cgi->html/gif..)
+ Shell: New test link mode option
+ New: Site authentication (ex: guest:star@www.myweb.com/index.html)
+ Fixed: Minor bugs fixed
+ Shell: See log files during a mirror
+ Fixed: Some problems using CGI (different names now)
+ Fixed: Go down/up/both options and filters
+ Fixed: "Store html first" did not work
+ New: -F option ("Browser ID") disguise HTTrack into a browser
+ New: New filter system
+ Shell: New "Save as default" options
+ Fixed: "Build options" did NOT work properly! (files overwritten or missing)
+ Fixed: User agent ID fixed
+ Shell: Skip options
+ Shell: Better interface control during mirrors
+ Shell: InstallShield and Help files
+ Fixed: Some external links were not filtered sometimes
+ Fixed: Mirror crash at the end
1.16b
+ Shell: Really *stupid* bug fixed causing WinHTTrack to be slooow
+ Fixed: Crash if the first page has no title fixed
+ Fixed: Bogus options like "Just scan" saved empty files
+ Fixed: Forbid all links (*) with manual accept did not work
+ Shell: Filters interface improved
1.16:
+ New : Java Classes and subclasses are now retrieved!
+ New: Better JavaScripts parsing
+ New: Option: Abandon slowest hosts if timeout/transfer too slow
+ Shell: Interface improved
1.15b
+ Fixed: Some bugs fixed
1.15:
+ Shell: Interface improved
+ New: Robot improved (some files through javascript are now detected!)
+ New: Improved wild cards (for example, +www.*.com/*.zip)
+ New: 'config' file to configurate proxy, path.. only once
1.11
+ New: Wait for specific time (begin transfer at specific hour)
+ New: Time limit option (stops transfer after x seconds)
+ Shell: Interface improved for an easy use
1.10e
+ Fixed: Maps were not correctly managed (stupid bug)
1.10d:
+ Fixed: Bogus index.html fixed
1.10c
+ Shell: "Time out" field needed "transfer rate" field
1.10b
+ Fixed: Better memory management
1.10
+ New: "Transfer rate out" option added (abandon slowests sites)
+ New: "Deaf" hosts do not freeze HTTrack any more
+ Fixed: Again problems with code/codebase tags
+ New: Broken links detection improved
1.04
+ Fixed:Some links were not correctly read (pages with "codebase" tags)
+ Shell: Interface improved
1.03 (No changes for the command-line robot)
+ Shell: Big bug fixed! (VERY slow transfer rates..)
1.02
+ Fixed: Some java files were not correctly transfered
+ New: Speed has been improved
+ Fixed: Log file more accurate
+ Shell: Interface has been improved
1.01
+ Fixed: Structure check error in some cases
1.00 -- The 1.00, Yeah!
+ New: base and codebase are now scanned
0.998 beta-2
+ Fixed: Multiple name bug (files having the same name in the same directory) with -O option fixed
0.997 beta-2
+ Fixed: Filenames with '%' were not correctly named
+ Fixed: Bug detected in 0.996: several files are not written on disk!!
0.996 beta-2
+ New: -O option (path for mirror and log)
+ New: Unmodified file time/date are not changed during an update
0.99 beta-2
+ New: User-agent field
+ New: Shortcuts (--spider etc.)
+ New: Links not retrieved are now rebuilt absolutly
+ New: The 'g' option (juste get files in current directory) has been added
+ New: Primary links analyste has been improved
+ Fixed: "304" bug fixed
0.25 beta-2
+ Fixed: Freeze during several mirrors fixed!
+ New: More 'N' options (filenames type)
0.24 beta-2
+ Fixed: Restart/Update with cache did not work (really not..)
+ Fixed: Wild cards now work properly (e.g. +www.abc.com* do works)
+ New: The 'n' option (get non-html files near a link) has been added!
0.23 beta-2
+ Fixed: The 'M' option (site size) did not work
+ Fixed: Files larger than 65Kb were not correctly written
older beta
+ Many, many bugs fixed
+46
View File
@@ -0,0 +1,46 @@
HelpHtmlrootdir = $(docdir)
HelpHtmldir = $(htmldir)
HelpHtmlimgdir = $(HelpHtmldir)/img
HelpHtmldivdir = $(HelpHtmldir)/div
HelpHtmlimagesdir = $(HelpHtmldir)/images
HelpHtmlTxtdir = $(HelpHtmldir)
WebHtmldir = $(HelpHtmldir)/server
WebHtmlimagesdir = $(HelpHtmldir)/server/images
WebHtmlsfxdir = $(HelpHtmldir)/server/sfx
WebPixmapdir = $(datadir)/pixmaps
WebIcon16x16dir = $(datadir)/icons/hicolor/16x16/apps
WebIcon32x32dir = $(datadir)/icons/hicolor/32x32/apps
WebIcon48x48dir = $(datadir)/icons/hicolor/48x48/apps
VFolderEntrydir = $(prefix)/share/applications
HelpHtmlroot_DATA = ../httrack-doc.html ../history.txt
HelpHtml_DATA = *.html
HelpHtmldiv_DATA = div/search.sh
HelpHtmlimg_DATA = img/*
HelpHtmlimages_DATA = images/*
HelpHtmlTxt_DATA = ../greetings.txt ../history.txt ../license.txt
WebHtml_DATA = server/*.html
WebHtmlimages_DATA = server/images/*
WebHtmlsfx_DATA = server/sfx/*
# note: converted & normalized by
# ico2xpm favicon.ico -o httrack.xpm
# mogrify -format xpm -map /usr/share/doc/menu/examples/cmap.xpm httrack.xpm
WebPixmap_DATA = server/div/*.xpm
WebIcon16x16_DATA = server/div/16x16/*.png
WebIcon32x32_DATA = server/div/32x32/*.png
WebIcon48x48_DATA = server/div/48x48/*.png
VFolderEntry_DATA = server/div/*.desktop
EXTRA_DIST = $(HelpHtml_DATA) $(HelpHtmlimg_DATA) $(HelpHtmlimages_DATA) \
$(HelpHtmldiv_DATA) $(WebHtml_DATA) $(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) \
$(WebPixmap_DATA) $(WebIcon16x16_DATA) $(WebIcon32x32_DATA) $(WebIcon48x48_DATA) \
$(VFolderEntry_DATA) \
httrack.css
install-data-hook:
if test ! -L $(DESTDIR)$(prefix)/share/httrack/html ; then \
( cd $(DESTDIR)$(prefix)/share/httrack \
&& $(LN_S) $(htmldir) html \
) \
fi
+809
View File
@@ -0,0 +1,809 @@
# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = html
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
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 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/snprintf.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(HelpHtmldir)" \
"$(DESTDIR)$(HelpHtmlTxtdir)" "$(DESTDIR)$(HelpHtmldivdir)" \
"$(DESTDIR)$(HelpHtmlimagesdir)" "$(DESTDIR)$(HelpHtmlimgdir)" \
"$(DESTDIR)$(HelpHtmlrootdir)" "$(DESTDIR)$(VFolderEntrydir)" \
"$(DESTDIR)$(WebHtmldir)" "$(DESTDIR)$(WebHtmlimagesdir)" \
"$(DESTDIR)$(WebHtmlsfxdir)" "$(DESTDIR)$(WebIcon16x16dir)" \
"$(DESTDIR)$(WebIcon32x32dir)" "$(DESTDIR)$(WebIcon48x48dir)" \
"$(DESTDIR)$(WebPixmapdir)"
DATA = $(HelpHtml_DATA) $(HelpHtmlTxt_DATA) $(HelpHtmldiv_DATA) \
$(HelpHtmlimages_DATA) $(HelpHtmlimg_DATA) \
$(HelpHtmlroot_DATA) $(VFolderEntry_DATA) $(WebHtml_DATA) \
$(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) $(WebIcon16x16_DATA) \
$(WebIcon32x32_DATA) $(WebIcon48x48_DATA) $(WebPixmap_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_CFLAGS = @DEFAULT_CFLAGS@
DEFAULT_LDFLAGS = @DEFAULT_LDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DL_LIBS = @DL_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HTTPS_SUPPORT = @HTTPS_SUPPORT@
ICONV_LIBS = @ICONV_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LFS_FLAG = @LFS_FLAG@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_CV_OBJDIR = @LT_CV_OBJDIR@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
ONLINE_UNIT_TESTS = @ONLINE_UNIT_TESTS@
OPENSSL_LIBS = @OPENSSL_LIBS@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SHLIBPATH_VAR = @SHLIBPATH_VAR@
SOCKET_LIBS = @SOCKET_LIBS@
STRIP = @STRIP@
THREADS_CFLAGS = @THREADS_CFLAGS@
THREADS_LIBS = @THREADS_LIBS@
V6_FLAG = @V6_FLAG@
VERSION = @VERSION@
VERSION_INFO = @VERSION_INFO@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
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_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
HelpHtmlrootdir = $(docdir)
HelpHtmldir = $(htmldir)
HelpHtmlimgdir = $(HelpHtmldir)/img
HelpHtmldivdir = $(HelpHtmldir)/div
HelpHtmlimagesdir = $(HelpHtmldir)/images
HelpHtmlTxtdir = $(HelpHtmldir)
WebHtmldir = $(HelpHtmldir)/server
WebHtmlimagesdir = $(HelpHtmldir)/server/images
WebHtmlsfxdir = $(HelpHtmldir)/server/sfx
WebPixmapdir = $(datadir)/pixmaps
WebIcon16x16dir = $(datadir)/icons/hicolor/16x16/apps
WebIcon32x32dir = $(datadir)/icons/hicolor/32x32/apps
WebIcon48x48dir = $(datadir)/icons/hicolor/48x48/apps
VFolderEntrydir = $(prefix)/share/applications
HelpHtmlroot_DATA = ../httrack-doc.html ../history.txt
HelpHtml_DATA = *.html
HelpHtmldiv_DATA = div/search.sh
HelpHtmlimg_DATA = img/*
HelpHtmlimages_DATA = images/*
HelpHtmlTxt_DATA = ../greetings.txt ../history.txt ../license.txt
WebHtml_DATA = server/*.html
WebHtmlimages_DATA = server/images/*
WebHtmlsfx_DATA = server/sfx/*
# note: converted & normalized by
# ico2xpm favicon.ico -o httrack.xpm
# mogrify -format xpm -map /usr/share/doc/menu/examples/cmap.xpm httrack.xpm
WebPixmap_DATA = server/div/*.xpm
WebIcon16x16_DATA = server/div/16x16/*.png
WebIcon32x32_DATA = server/div/32x32/*.png
WebIcon48x48_DATA = server/div/48x48/*.png
VFolderEntry_DATA = server/div/*.desktop
EXTRA_DIST = $(HelpHtml_DATA) $(HelpHtmlimg_DATA) $(HelpHtmlimages_DATA) \
$(HelpHtmldiv_DATA) $(WebHtml_DATA) $(WebHtmlimages_DATA) $(WebHtmlsfx_DATA) \
$(WebPixmap_DATA) $(WebIcon16x16_DATA) $(WebIcon32x32_DATA) $(WebIcon48x48_DATA) \
$(VFolderEntry_DATA) \
httrack.css
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu html/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu html/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-HelpHtmlDATA: $(HelpHtml_DATA)
@$(NORMAL_INSTALL)
@list='$(HelpHtml_DATA)'; test -n "$(HelpHtmldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(HelpHtmldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmldir)" || exit $$?; \
done
uninstall-HelpHtmlDATA:
@$(NORMAL_UNINSTALL)
@list='$(HelpHtml_DATA)'; test -n "$(HelpHtmldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(HelpHtmldir)'; $(am__uninstall_files_from_dir)
install-HelpHtmlTxtDATA: $(HelpHtmlTxt_DATA)
@$(NORMAL_INSTALL)
@list='$(HelpHtmlTxt_DATA)'; test -n "$(HelpHtmlTxtdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmlTxtdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(HelpHtmlTxtdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmlTxtdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmlTxtdir)" || exit $$?; \
done
uninstall-HelpHtmlTxtDATA:
@$(NORMAL_UNINSTALL)
@list='$(HelpHtmlTxt_DATA)'; test -n "$(HelpHtmlTxtdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(HelpHtmlTxtdir)'; $(am__uninstall_files_from_dir)
install-HelpHtmldivDATA: $(HelpHtmldiv_DATA)
@$(NORMAL_INSTALL)
@list='$(HelpHtmldiv_DATA)'; test -n "$(HelpHtmldivdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmldivdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(HelpHtmldivdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmldivdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmldivdir)" || exit $$?; \
done
uninstall-HelpHtmldivDATA:
@$(NORMAL_UNINSTALL)
@list='$(HelpHtmldiv_DATA)'; test -n "$(HelpHtmldivdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(HelpHtmldivdir)'; $(am__uninstall_files_from_dir)
install-HelpHtmlimagesDATA: $(HelpHtmlimages_DATA)
@$(NORMAL_INSTALL)
@list='$(HelpHtmlimages_DATA)'; test -n "$(HelpHtmlimagesdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmlimagesdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(HelpHtmlimagesdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmlimagesdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmlimagesdir)" || exit $$?; \
done
uninstall-HelpHtmlimagesDATA:
@$(NORMAL_UNINSTALL)
@list='$(HelpHtmlimages_DATA)'; test -n "$(HelpHtmlimagesdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(HelpHtmlimagesdir)'; $(am__uninstall_files_from_dir)
install-HelpHtmlimgDATA: $(HelpHtmlimg_DATA)
@$(NORMAL_INSTALL)
@list='$(HelpHtmlimg_DATA)'; test -n "$(HelpHtmlimgdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmlimgdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(HelpHtmlimgdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmlimgdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmlimgdir)" || exit $$?; \
done
uninstall-HelpHtmlimgDATA:
@$(NORMAL_UNINSTALL)
@list='$(HelpHtmlimg_DATA)'; test -n "$(HelpHtmlimgdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(HelpHtmlimgdir)'; $(am__uninstall_files_from_dir)
install-HelpHtmlrootDATA: $(HelpHtmlroot_DATA)
@$(NORMAL_INSTALL)
@list='$(HelpHtmlroot_DATA)'; test -n "$(HelpHtmlrootdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(HelpHtmlrootdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(HelpHtmlrootdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(HelpHtmlrootdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(HelpHtmlrootdir)" || exit $$?; \
done
uninstall-HelpHtmlrootDATA:
@$(NORMAL_UNINSTALL)
@list='$(HelpHtmlroot_DATA)'; test -n "$(HelpHtmlrootdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(HelpHtmlrootdir)'; $(am__uninstall_files_from_dir)
install-VFolderEntryDATA: $(VFolderEntry_DATA)
@$(NORMAL_INSTALL)
@list='$(VFolderEntry_DATA)'; test -n "$(VFolderEntrydir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(VFolderEntrydir)'"; \
$(MKDIR_P) "$(DESTDIR)$(VFolderEntrydir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(VFolderEntrydir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(VFolderEntrydir)" || exit $$?; \
done
uninstall-VFolderEntryDATA:
@$(NORMAL_UNINSTALL)
@list='$(VFolderEntry_DATA)'; test -n "$(VFolderEntrydir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(VFolderEntrydir)'; $(am__uninstall_files_from_dir)
install-WebHtmlDATA: $(WebHtml_DATA)
@$(NORMAL_INSTALL)
@list='$(WebHtml_DATA)'; test -n "$(WebHtmldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(WebHtmldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(WebHtmldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebHtmldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebHtmldir)" || exit $$?; \
done
uninstall-WebHtmlDATA:
@$(NORMAL_UNINSTALL)
@list='$(WebHtml_DATA)'; test -n "$(WebHtmldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(WebHtmldir)'; $(am__uninstall_files_from_dir)
install-WebHtmlimagesDATA: $(WebHtmlimages_DATA)
@$(NORMAL_INSTALL)
@list='$(WebHtmlimages_DATA)'; test -n "$(WebHtmlimagesdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(WebHtmlimagesdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(WebHtmlimagesdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebHtmlimagesdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebHtmlimagesdir)" || exit $$?; \
done
uninstall-WebHtmlimagesDATA:
@$(NORMAL_UNINSTALL)
@list='$(WebHtmlimages_DATA)'; test -n "$(WebHtmlimagesdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(WebHtmlimagesdir)'; $(am__uninstall_files_from_dir)
install-WebHtmlsfxDATA: $(WebHtmlsfx_DATA)
@$(NORMAL_INSTALL)
@list='$(WebHtmlsfx_DATA)'; test -n "$(WebHtmlsfxdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(WebHtmlsfxdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(WebHtmlsfxdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebHtmlsfxdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebHtmlsfxdir)" || exit $$?; \
done
uninstall-WebHtmlsfxDATA:
@$(NORMAL_UNINSTALL)
@list='$(WebHtmlsfx_DATA)'; test -n "$(WebHtmlsfxdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(WebHtmlsfxdir)'; $(am__uninstall_files_from_dir)
install-WebIcon16x16DATA: $(WebIcon16x16_DATA)
@$(NORMAL_INSTALL)
@list='$(WebIcon16x16_DATA)'; test -n "$(WebIcon16x16dir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(WebIcon16x16dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(WebIcon16x16dir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebIcon16x16dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebIcon16x16dir)" || exit $$?; \
done
uninstall-WebIcon16x16DATA:
@$(NORMAL_UNINSTALL)
@list='$(WebIcon16x16_DATA)'; test -n "$(WebIcon16x16dir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(WebIcon16x16dir)'; $(am__uninstall_files_from_dir)
install-WebIcon32x32DATA: $(WebIcon32x32_DATA)
@$(NORMAL_INSTALL)
@list='$(WebIcon32x32_DATA)'; test -n "$(WebIcon32x32dir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(WebIcon32x32dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(WebIcon32x32dir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebIcon32x32dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebIcon32x32dir)" || exit $$?; \
done
uninstall-WebIcon32x32DATA:
@$(NORMAL_UNINSTALL)
@list='$(WebIcon32x32_DATA)'; test -n "$(WebIcon32x32dir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(WebIcon32x32dir)'; $(am__uninstall_files_from_dir)
install-WebIcon48x48DATA: $(WebIcon48x48_DATA)
@$(NORMAL_INSTALL)
@list='$(WebIcon48x48_DATA)'; test -n "$(WebIcon48x48dir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(WebIcon48x48dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(WebIcon48x48dir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebIcon48x48dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebIcon48x48dir)" || exit $$?; \
done
uninstall-WebIcon48x48DATA:
@$(NORMAL_UNINSTALL)
@list='$(WebIcon48x48_DATA)'; test -n "$(WebIcon48x48dir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(WebIcon48x48dir)'; $(am__uninstall_files_from_dir)
install-WebPixmapDATA: $(WebPixmap_DATA)
@$(NORMAL_INSTALL)
@list='$(WebPixmap_DATA)'; test -n "$(WebPixmapdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(WebPixmapdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(WebPixmapdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(WebPixmapdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(WebPixmapdir)" || exit $$?; \
done
uninstall-WebPixmapDATA:
@$(NORMAL_UNINSTALL)
@list='$(WebPixmap_DATA)'; test -n "$(WebPixmapdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(WebPixmapdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(HelpHtmldir)" "$(DESTDIR)$(HelpHtmlTxtdir)" "$(DESTDIR)$(HelpHtmldivdir)" "$(DESTDIR)$(HelpHtmlimagesdir)" "$(DESTDIR)$(HelpHtmlimgdir)" "$(DESTDIR)$(HelpHtmlrootdir)" "$(DESTDIR)$(VFolderEntrydir)" "$(DESTDIR)$(WebHtmldir)" "$(DESTDIR)$(WebHtmlimagesdir)" "$(DESTDIR)$(WebHtmlsfxdir)" "$(DESTDIR)$(WebIcon16x16dir)" "$(DESTDIR)$(WebIcon32x32dir)" "$(DESTDIR)$(WebIcon48x48dir)" "$(DESTDIR)$(WebPixmapdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
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)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-HelpHtmlDATA install-HelpHtmlTxtDATA \
install-HelpHtmldivDATA install-HelpHtmlimagesDATA \
install-HelpHtmlimgDATA install-HelpHtmlrootDATA \
install-VFolderEntryDATA install-WebHtmlDATA \
install-WebHtmlimagesDATA install-WebHtmlsfxDATA \
install-WebIcon16x16DATA install-WebIcon32x32DATA \
install-WebIcon48x48DATA install-WebPixmapDATA
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-HelpHtmlDATA uninstall-HelpHtmlTxtDATA \
uninstall-HelpHtmldivDATA uninstall-HelpHtmlimagesDATA \
uninstall-HelpHtmlimgDATA uninstall-HelpHtmlrootDATA \
uninstall-VFolderEntryDATA uninstall-WebHtmlDATA \
uninstall-WebHtmlimagesDATA uninstall-WebHtmlsfxDATA \
uninstall-WebIcon16x16DATA uninstall-WebIcon32x32DATA \
uninstall-WebIcon48x48DATA uninstall-WebPixmapDATA
.MAKE: install-am install-data-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-HelpHtmlDATA \
install-HelpHtmlTxtDATA install-HelpHtmldivDATA \
install-HelpHtmlimagesDATA install-HelpHtmlimgDATA \
install-HelpHtmlrootDATA install-VFolderEntryDATA \
install-WebHtmlDATA install-WebHtmlimagesDATA \
install-WebHtmlsfxDATA install-WebIcon16x16DATA \
install-WebIcon32x32DATA install-WebIcon48x48DATA \
install-WebPixmapDATA install-am install-data install-data-am \
install-data-hook install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall \
uninstall-HelpHtmlDATA uninstall-HelpHtmlTxtDATA \
uninstall-HelpHtmldivDATA uninstall-HelpHtmlimagesDATA \
uninstall-HelpHtmlimgDATA uninstall-HelpHtmlrootDATA \
uninstall-VFolderEntryDATA uninstall-WebHtmlDATA \
uninstall-WebHtmlimagesDATA uninstall-WebHtmlsfxDATA \
uninstall-WebIcon16x16DATA uninstall-WebIcon32x32DATA \
uninstall-WebIcon48x48DATA uninstall-WebPixmapDATA \
uninstall-am
install-data-hook:
if test ! -L $(DESTDIR)$(prefix)/share/httrack/html ; then \
( cd $(DESTDIR)$(prefix)/share/httrack \
&& $(LN_S) $(htmldir) html \
) \
fi
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
+591
View File
@@ -0,0 +1,591 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
<title>HTTrack Website Copier - Offline Browser</title>
<style type="text/css">
<!--
body {
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
background: #77b;
}
body, td {
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
#subTitle {
background: #000; color: #fff; padding: 4px; font-weight: bold;
}
#siteNavigation a, #siteNavigation .current {
font-weight: bold; color: #448;
}
#siteNavigation a:link { text-decoration: none; }
#siteNavigation a:visited { text-decoration: none; }
#siteNavigation .current { background-color: #ccd; }
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
a:link { text-decoration: underline; color: #00f; }
a:visited { text-decoration: underline; color: #000; }
a:hover { text-decoration: underline; color: #c00; }
a:active { text-decoration: underline; }
#pageContent {
clear: both;
border-bottom: 6px solid #000;
padding: 10px; padding-top: 20px;
line-height: 1.65em;
background-image: url(images/bg_rings.gif);
background-repeat: no-repeat;
background-position: top right;
}
#pageContent, #siteNavigation {
background-color: #ccd;
}
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
h1 { margin: 0; font-weight: bold; font-size: 2em; }
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
.blak { background-color: #000; }
.hide { display: none; }
.tableWidth { min-width: 400px; }
.tblRegular { border-collapse: collapse; }
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
.tblNoBorder td { border: 0; }
// -->
</style>
</head>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr>
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
<tr>
<td id="subTitle">Open Source offline browser</td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr class="blak">
<td>
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td colspan="6">
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
<tr>
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
<h3>For HTTrack users:</h3>
<ul>
<li><a href="#USERS">Advice & what <u>not</u> to do when you are using HTTrack</a></li>
</ul>
<br>
<h3>For webmasters having problems with bandwidth abuse / other abuses related to HTTrack:</h3>
<ul>
<li><a href="#WEBMASTERS">Abuse FAQ for <u>webmasters</a></u></li>
</ul>
<br><br>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top" align="left">
<a name="USERS"></a>
<!-- ------------------------------------------------------------ -->
<h2 align="center"><em>Advice & what <u>not</u> to do</em></h2>
<center><h3>Please follow these <i>common sense</i> rules to avoid any network abuse</h3></center>
<br>
<ul>
<li>Do not overload the websites!</li>
<br>
Downloading a site can overload it, if you have a fast pipe, or if you capture too many simultaneous cgi (dynamically generated pages).
<br>
<ul>
<li>Do not download too large websites: use filters</li>
<li>Do not use too many simultaneous connections</li>
<li>Use bandwidth limits</li>
<li>Use connection limits</li>
<li>Use size limits</li>
<li>Use time limits</li>
<li>Only disable robots.txt rules with great care</li>
<li>Try not to download during working hours</li>
<li>Check your mirror transfer rate/size</li>
<li>For large mirrors, first ask the webmaster of the site</li>
</ul>
<br>
<li>Ensure that you can copy the website</li>
<ul>
<li>Are the pages copyrighted?</li>
<li>Can you copy them only for private purpose?</li>
<li>Do not make online mirrors unless you are authorized to do so</li>
</ul>
<br>
<li>Do not overload your network</li>
<ul>
<li>Is your (corporate, private..) network connected through dialup ISP?</li>
<li>Is your network bandwidth limited (and expensive)?</li>
<li>Are you slowing down the traffic?</li>
</ul>
<br>
<li>Do not steal private information</li>
<ul>
<li>Do not grab emails</li>
<li>Do not grab private information</li>
</ul>
</ul>
</table>
<br><br>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top" align="left">
<a name="WEBMASTERS"></a>
<!-- ------------------------------------------------------------ -->
<h2 align="center"><em>Abuse FAQ for <u>webmasters</u></em></h2>
<center><h3>How to limit network abuse
<br>
HTTrack Website Copier FAQ (updated - DRAFT)
</h3></center>
<br>
Q: <strong>How to block offline browsers, like HTTrack?</strong><br>
<br>
A: <strong>This is a complex question, let's study it</strong><br>
<br>
First, there are several different reasons for that<br>
Why do you want to block offline browsers? :<br>
<br>
<ol>
<li><a href="#ABUSE1">Because a large part of your bandwidth is used by some users, who are slowing down the rest</a></li>
<li><a href="#ABUSE2">Because of copyright questions (you do not want people to copy parts of your website)</a></li>
<li><a href="#ABUSE3">Because of privacy (you do not want email grabbers to steal all your user's emails)</a></li>
</ol>
<br>
<br>
<ol>
<a name="ABUSE1"></a>
<li>Bandwidth abuse:<br>
<br>
Many Webmasters are concerned about bandwidth abuse, even if this problem is caused by
a minority of people. Offline browsers tools, like HTTrack, can be used in a WRONG way,
and
therefore are sometimes considered as a potential danger.<br>
But before thinking that all offline browsers are BAD, consider this:
students, teachers, IT consultants, websurfers and many people who like your website, may
want to copy
parts of it, for their work, their studies, to teach or demonstrate to people during class
school or
shows. They might do that because they are connected through expensive modem connection,
or because they would like to consult pages while travelling, or archive sites that may be
removed
one day, make some data mining, comiling information (&quot;if only I could find this
website I saw one day..&quot;). <br>
There are many good reasons to mirror websites, and this helps many good people.<br>
As a webmaster, you might be interested to use such tools, too: test broken links, move a
website to
another location, control which external links are put on your website for legal/content
control,
test the webserver response and performances, index it..<br>
<br>
Anyway, bandwidth abuse can be a problem. If your site is regularly &quot;clobbered&quot;
by evil downloaders, you have <br>
various solutions. You have radical solutions, and intermediate solutions. I strongly
recomment not to use<br>
radical solutions, because of the previous remarks (good people often mirror websites).<br>
<br>
In general, for all solutions,<br>
the good thing: it will limit the bandwidth abuse<br>
the bad thing: depending on the solution, it will be either a small constraint, or a fatal
nuisance (you'll get 0 visitors)<br>
or, to be extreme: if you unplug the wire, there will be no bandwidth abuse<br>
<br>
<ol type="a">
<li>Inform people, explain why (&quot;please do not clobber the bandwidth&quot;)<br>
Good: Will work with good people. Many good people just don't KNOW that they can slow down
a network.<br>
Bad: Will **only** work with good people<br>
How to do: Obvious - place a note, a warning, an article, a draw, a poeme or whatever you
want<br>
<br>
</li><li>Use &quot;robots.txt&quot; file<br>
Good: Easy to setup<br>
Bad: Easy to override<br>
How to do: Create a robots.txt file on top dir, with proper parameters<br>
Example:<br>
&nbsp;&nbsp;&nbsp; User-agent: *<br>
<br>
&nbsp;&nbsp;&nbsp; Disallow: /bigfolder<br>
<br>
</li><li>Ban registered offline-browsers User-agents<br>
Good: Easy to setup<br>
Bad: Radical, and easy to override<br>
How to do: Filter the &quot;User-agent&quot; HTTP header field<br>
<br>
</li><li>Limit the bandwidth per IP (or by folders)<br>
Good: Efficient<br>
Bad: Multiple users behind proxies will be slow down, not really easy to setup<br>
How to do: Depends on webserver. Might be done with low-level IP rules (QoS)<br>
<br>
</li><li>Priorize small files, against large files<br>
Good: Efficient if large files are the cause of abuse<br>
Bad: Not always efficient<br>
How to do: Depends on the webserver<br>
<br>
</li><li>Ban abuser IPs<br>
Good: Immediate solution<br>
Bad: Annoying to do, useless for dynamic IPs, and not very user friendly<br>
How to do: Either ban IP's on the firewall, or on the webserver (see ACLs)<br>
<br>
</li><li>Limit abusers IPs<br>
Good: Intermediate and immediate solution<br>
Bad: Annoying to do, useless for dynamic IPs, and annoying to maintain..<br>
How to do: Use routine QoS (fair queuing), or webserver options<br>
<br>
</li><li>Use technical tricks (like javascript) to hide URLs<br>
Good: Efficient<br>
Bad: The most efficient tricks will also cause your website to he heavy, and not
user-friendly (and therefore less attractive, even for surfing users). Remember: clients
or visitors might want to consult offline your website. Advanced users will also be still
able to note the URLs and catch them. Will not work on non-javascript browsers. It will
not work if the user clicks 50 times and put downloads in background with a standard
browser<br>
How to do: Most offline browsers (I would say all, but let's say most) are unable to
&quot;understand&quot; javascript/java properly. Reason: very tricky to handle!<br>
Example: <br>
You can replace:<br>
<tt>
&nbsp;&nbsp;&nbsp; &lt;a href=&quot;bigfile.zip&quot;&gt;Foo&lt;/a&gt;<br>
</tt>
by:<br>
<tt>
&nbsp;&nbsp;&nbsp; &lt;script language=&quot;javascript&quot;&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;!--<br>
&nbsp;&nbsp;&nbsp; document.write('&lt;a h' + 're' + 'f=&quot;');<br>
&nbsp;&nbsp;&nbsp; document.write('bigfile' + '.' + 'zip&quot;&gt;');<br>
&nbsp;&nbsp;&nbsp; // --&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br>
&nbsp;&nbsp;&nbsp; Foo<br>
&nbsp;&nbsp;&nbsp; &lt;/a&gt;<br>
</tt>
<br>
You can also use java-based applets. I would say that it is the &quot;best of the
horrors&quot;. A big, fat, slow, bogus java applet. Avoid!<br>
<br>
</li><li>Use technical tricks to lag offline browsers<br>
Good: Efficient<br>
Bad: Can be avoided by advanced users, annoying to maintain, AND potentially worst that
the illness (cgi's are often taking some CPU usage). . It will not work if the user clicks
50 times and put downloads in background with a standard browser<br>
How to do: Create fake empty links that point to cgi's, with long delays<br>
Example: Use things like
<tt>
&lt;ahref=&quot;slow.cgi?p=12786549&quot;&gt;&lt;nothing&gt;&lt;/a&gt; (example in php:)<br>
&nbsp;&nbsp;&nbsp; &lt;?php<br>
&nbsp;&nbsp;&nbsp; for($i=0;$i&lt;10;$i++) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep(6);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot; &quot;;<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; ?&gt;<br>
</tt>
<br>
</li><li>Use technical tricks to temporarily ban IPs<br>
Good: Efficient<br>
Bad: Radical (your site will only be available online for all users), not easy to setup<br>
How to to: Create fake links with &quot;killing&quot; targets<br>
Example: Use things like &lt;a href=&quot;killme.cgi&quot;&gt;&lt;nothing&gt;&lt;/a&gt;
(again an example in php:)<br>
<tt>
<pre>
&lt;?php
// Add IP.
add_temp_firewall_rule($REMOTE_ADDR,"30s");
?&gt;
function add_temp_firewall_rule($addr) {
// The chain chhttp is flushed in a cron job to avoid ipchains overflow
system("/usr/bin/sudo -u root /sbin/ipchains -I 1 chhttp -p tcp -s ".$addr." --dport 80 -j REJECT");
syslog("user rejected due to too many copy attemps : ".$addr);
}
<pre>
</tt>
<br>
<br>
</li>
</ol>
<a name="ABUSE2"></a>
<li>Copyright issues<br>
<br>
You do not want people to &quot;steal&quot; your website, or even copy parts of it. First,
stealing a website does not<br>
require to have an offline browser. Second, direct (and credited) copy is sometimes better
than disguised <br>
plagiarism. Besides, several previous remarks are also interesting here: the more
protected your website will be,<br>
the potentially less attractive it will also be. There is no perfect solution, too. A
webmaster asked me one day<br>
to give him a solution to prevent any website copy. Not only for offline browsers, but
also against &quot;save as&quot;, <br>
cut and paste, print.. and print screen. I replied that is was not possible, especially
for the print screen - and<br>
that another potential threat was the evil photographer. Maybe with a &quot;this document
will self-destruct in 5 seconds..&quot;<br>
or by shooting users after consulting the document.<br>
More seriously, once a document is being placed on a website, there will always be the
risks of copy (or plagiarism)<br>
<br>
To limit the risk, previous a- and h- solutions, in &quot;bandwidth abuse&quot; section,
can be used<br>
<br>
<br>
</li>
<a name="ABUSE3"></a>
<li>Privacy<br>
<br>
Might be related to section 2.<br>
But the greatest risk is maybe email grabbers. <br>
<br>
<ol type="a">
<li>A solution can be to use javascript to hide emails. <br>
Good: Efficient<br>
Bad: Non-javascript browsers will not have the "clickable" link<br>
How to do: Use javascript to build mailto: links<br>
Example:<br>
<tt>
&nbsp;&nbsp;&nbsp; &lt;script language=&quot;javascript&quot;&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;!--<br>
&nbsp;&nbsp;&nbsp; function FOS(host,nom,info) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var s;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (info == &quot;&quot;) info=nom+&quot;@&quot;+host;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=&quot;mail&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.write(&quot;&lt;a href='&quot;+s+&quot;to:&quot;+nom+&quot;@&quot;+host+&quot;'&gt;&quot;+info+&quot;&lt;/a&gt;&quot;);<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; FOS('mycompany.com','smith?subject=Hi, John','Click here to email me!')<br>
&nbsp;&nbsp;&nbsp; // --&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;noscript&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;smith at mycompany dot com<br>
&nbsp;&nbsp;&nbsp; &lt;/noscript&gt;<br>
</tt>
<br>
</li><li>Another one is to create images of emails<br>
Good: Efficient, does not require javascript<br>
Bad: There is still the problem of the link (mailto:), images are bigger than text, and it can cause problems for blind people (a good solution is use an ALT attribute with the email written like "smith at mycompany dot com")<br>
How to do: Not so obvious of you do not want to create images by yourself<br>
Example: (php, Unix)<br>
<tt>
&lt;?php<br>
/*<br>
Email contact displayer<br>
Usage: email.php3?id=&lt;4 bytes of user's md5&gt;<br>
The &lt;4 bytes of user's md5&gt; can be calculated using the 2nd script (see below)<br>
Example: http://yourhost/email.php3?id=91ff1a48<br>
*/<br>
$domain=&quot;mycompany.com&quot;;<br>
$size=12;<br>
<br>
/* Find the user in the system database */<br>
if (!$id)<br>
&nbsp;&nbsp;exit;<br>
unset($email);<br>
unset($name);<br>
unset($pwd);<br>
unset($apwd);<br>
$email=&quot;&quot;;<br>
$name=&quot;&quot;;<br>
$fp=@fopen(&quot;/etc/passwd&quot;,&quot;r&quot;);<br>
if ($fp) {<br>
&nbsp;&nbsp;$pwd=@fread($fp,filesize(&quot;/etc/passwd&quot;));<br>
&nbsp;&nbsp;@fclose($fp);<br>
}<br>
$apwd=split(&quot;\n&quot;,$pwd);<br>
foreach($apwd as $line) {<br>
&nbsp;&nbsp;$fld=split(&quot;:&quot;,$line);<br>
&nbsp;&nbsp;if (substr(md5($fld[0]),0,8) == $id) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;$email=$fld[0].&quot;@&quot;.$domain;<br>
&nbsp;&nbsp;&nbsp;&nbsp;$nm=substr($fld[4],0,strpos($fld[4],&quot;,&quot;));<br>
&nbsp;&nbsp;&nbsp;&nbsp;$name=$email;<br>
&nbsp;&nbsp;&nbsp;&nbsp;if ($nm)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$name=&quot;\&quot;&quot;.$nm.&quot;\&quot; &lt;&quot;.$email.&quot;&gt;&quot;;<br>
&nbsp;&nbsp;}<br>
}<br>
if (!$name)<br>
&nbsp;&nbsp;exit;<br>
<br>
/* Create and show the image */<br>
Header (&quot;Content-type: image/gif&quot;);<br>
$im = imagecreate ($size*strlen($name), $size*1.5);<br>
$black = ImageColorAllocate ($im, 255, 255, 255);<br>
$white = ImageColorAllocate ($im, 0,0,0);<br>
ImageTTFText($im, $size, 0, 0, $size , $white,
&quot;/usr/share/enlightenment/E-docs/aircut3.ttf&quot;,$name);<br>
ImageGif ($im);<br>
ImageDestroy ($im);<br>
?&gt;<br>
<br>
</tt>
The script to find the id:<br>
<br>
<tt>
#!/bin/sh<br>
<br>
# small script for email.php3<br>
echo &quot;Enter login:&quot;<br>
read login<br>
echo &quot;The URL is:&quot;<br>
printf &quot;http://yourhost/email.php3?id=&quot;<br>
printf $login|md5sum|cut -c1-8<br>
echo <br>
<br>
</tt>
</li><li>You can also create temporary email aliases, each week, for all users<br>
Good: Efficient, and you can give your real email in your reply-to address<br>
Bad: Temporary emails<br>
How to do: Not so hard todo<br>
Example: (script &amp; php, Unix)<br>
<tt>
#!/bin/sh<br>
#<br>
# Anonymous random aliases for all users<br>
# changed each week, to avoid spam problems<br>
# on websites<br>
# (to put into /etc/cron.weekly/)<br>
<br>
# Each alias is regenerated each week, and valid for 2 weeks<br>
<br>
# prefix for all users<br>
# must not be the prefix of another alias!<br>
USER_PREFIX=&quot;user-&quot;<br>
<br>
# valid for 2 weeks<br>
ALIAS_VALID=2<br>
<br>
# random string<br>
SECRET=&quot;my secret string `hostname -f`&quot;<br>
<br>
# build<br>
grep -vE &quot;^$USER_PREFIX&quot; /etc/aliases &gt; /etc/aliases.new<br>
for i in `cut -f1 -d':' /etc/passwd`; do<br>
&nbsp;&nbsp;if test `id -u $i` -ge 500; then<br>
&nbsp;&nbsp;&nbsp;&nbsp;off=0<br>
&nbsp;&nbsp;&nbsp;&nbsp;while test &quot;$off&quot; -lt $ALIAS_VALID; do<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;THISWEEK=&quot;`date +'%Y'` $[`date +'%U'`-$off]&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SECRET=&quot;`echo \&quot;$SECRET $i $THISWEEK\&quot; | md5sum | cut -c1-4`&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIRST=`echo $i | cut -c1-3`<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NAME=&quot;$USER_PREFIX$FIRST$SECRET&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;$NAME : $i&quot; &gt;&gt; /etc/aliases.new<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;off=$[$off+1]<br>
&nbsp;&nbsp;&nbsp;&nbsp;done<br>
&nbsp;&nbsp;fi<br>
done<br>
<br>
# move file<br>
mv -f /etc/aliases /etc/aliases.old<br>
mv -f /etc/aliases.new /etc/aliases<br>
<br>
# update aliases<br>
newaliases<br>
<br>
</tt>
And then, put the email address in your pages through:
<br>
<br>
<tt>
&lt;a href="mailto:&lt;?php<br>
&nbsp;&nbsp;&nbsp; $user="smith";<br>
&nbsp;&nbsp;&nbsp; $alias=exec("grep ".$user." /etc/aliases | cut -f1 -d' ' | head -n1");<br>
&nbsp;&nbsp;&nbsp; print $alias;<br>
?&gt;@mycompany.com&gt;>
</tt>
</li>
</ol>
</li>
<!-- ------------------------------------------------------------ -->
</table>
<br>
<!-- ==================== Start epilogue ==================== -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
<tr>
<td id="footer"><small>&copy; 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
</tr>
</table>
</body>
</html>
+155
View File
@@ -0,0 +1,155 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
<title>HTTrack Website Copier - Offline Browser</title>
<style type="text/css">
<!--
body {
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
background: #77b;
}
body, td {
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
#subTitle {
background: #000; color: #fff; padding: 4px; font-weight: bold;
}
#siteNavigation a, #siteNavigation .current {
font-weight: bold; color: #448;
}
#siteNavigation a:link { text-decoration: none; }
#siteNavigation a:visited { text-decoration: none; }
#siteNavigation .current { background-color: #ccd; }
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
a:link { text-decoration: underline; color: #00f; }
a:visited { text-decoration: underline; color: #000; }
a:hover { text-decoration: underline; color: #c00; }
a:active { text-decoration: underline; }
#pageContent {
clear: both;
border-bottom: 6px solid #000;
padding: 10px; padding-top: 20px;
line-height: 1.65em;
background-image: url(images/bg_rings.gif);
background-repeat: no-repeat;
background-position: top right;
}
#pageContent, #siteNavigation {
background-color: #ccd;
}
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
h1 { margin: 0; font-weight: bold; font-size: 2em; }
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
.blak { background-color: #000; }
.hide { display: none; }
.tableWidth { min-width: 400px; }
.tblRegular { border-collapse: collapse; }
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
.tblNoBorder td { border: 0; }
// -->
</style>
</head>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr>
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
<tr>
<td id="subTitle">Open Source offline browser</td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr class="blak">
<td>
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td colspan="6">
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
<tr>
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
<h2 align="center"><em>Add a URL</em></h2>
<br>
<ol>
<li>Enter a typical Web address</li>
<br><small>Just type in your address in the field</small><br><br>
<center><img src="img/addurl1.gif" border="0"></center>
<br><br>OR<br><br>
<li>Enter a Web address with authentication</li>
<br><small>Useful when you need basic authentication to watch the Web page</small><br><br>
<center><img src="img/addurl2.gif" border="0"></center>
<br><br>OR<br><br>
<li>Capture a link from your Web browser to HTTrack</li>
<br><small>Use this tool only for form-based pages (pages delivered after submiting a form) that need some analysis</small><br><br>
<center><img src="img/addurl3.gif" border="0"></center>
<br>
<br>
<small>Set, as explained, your Web browser proxy preferences to the values indicated : set the proxy's address, and the proxy's port,
then click on the button or link as you usually do in your Web browser.
<br>The temporary proxy, installed by HTTrack, will then
capture the link and display a confirmation page.
<br><br>
</small>
<center><img src="img/addurl4.gif" border="0"></center>
<br>
<center><img src="img/addurl5.gif" border="0"></center>
</ol>
<br><br><br><br>
<p align="right">Back to <a href="index.html">Home</a></p>
<!-- ==================== Start epilogue ==================== -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
<tr>
<td id="footer"><small>&copy; 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
</tr>
</table>
</body>
</html>
+293
View File
@@ -0,0 +1,293 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
<title>HTTrack Website Copier - Cache format specification</title>
<style type="text/css">
<!--
body {
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
background: #77b;
}
body, td {
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
#subTitle {
background: #000; color: #fff; padding: 4px; font-weight: bold;
}
#siteNavigation a, #siteNavigation .current {
font-weight: bold; color: #448;
}
#siteNavigation a:link { text-decoration: none; }
#siteNavigation a:visited { text-decoration: none; }
#siteNavigation .current { background-color: #ccd; }
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
a:link { text-decoration: underline; color: #00f; }
a:visited { text-decoration: underline; color: #000; }
a:hover { text-decoration: underline; color: #c00; }
a:active { text-decoration: underline; }
#pageContent {
clear: both;
border-bottom: 6px solid #000;
padding: 10px; padding-top: 20px;
line-height: 1.65em;
background-image: url(images/bg_rings.gif);
background-repeat: no-repeat;
background-position: top right;
}
#pageContent, #siteNavigation {
background-color: #ccd;
}
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
h1 { margin: 0; font-weight: bold; font-size: 2em; }
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
.blak { background-color: #000; }
.hide { display: none; }
.tableWidth { min-width: 400px; }
.tblRegular { border-collapse: collapse; }
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
.tblNoBorder td { border: 0; }
// -->
</style>
</head>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr>
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
<tr>
<td id="subTitle">Open Source offline browser</td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr class="blak">
<td>
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td colspan="6">
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
<tr>
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
<h2 align="center"><em>Cache format specification</em></h2>
<br />
For updating purpose, HTTrack stores original (untouched) HTML data,
references to downloaded files, and other meta-data (especially parts of the HTTP headers) in a cache,
located in the hts-cache directory. Because local html pages are always modified to "fit" the local
filesystem structure, and because meta-data such as the last-Modified date and Etag can not be stored
with the associated files, the cache is absolutely mandatory for reprocessing (update/continue) phases.
<br /><br />
<h3>The (new) cache.zip format</h3>
The 3.31 release of HTTrack introduces a new cache format, more extensible and efficient than the previous one (ndx/dat format).
The main advantages of this cache are:
<ul>
<li>One single file for a complete website cache archive</li>
<li>Standard <a href="http://www.pkware.com/products/enterprise/white_papers/appnote.txt" target="_new">ZIP</a> format, that can be easily reused on most platforms and languages</li>
<li>Compressed data with the efficient and opened <a href="http://www.gzip.org/zlib/" target="_new">zlib</a> format</li>
</ul>
The cache is made of ZIP files entries ; with one ZIP file entry per fetched URL (successfully or not - errors are also stored).<br />
For each entry:
<ul>
<li>The ZIP file name is the original URL [<small><a href="#orig">see notes below</a></small>]</li>
<li>The ZIP file contents, <b>if available</b>, is the original (compressed, using the deflate algorythm) data</li>
<li>The ZIP file extra field (in the local file header) contains a list of meta-fields, very similar to the <a href="http://www.ietf.org/rfc/rfc2616.txt?number=2616" target="new_">HTTP</a> headers fields. See also <a href="http://www.ietf.org/rfc/rfc2396.txt?number=2396" target="new_">RFC</a>.</li><br />
<li>The ZIP file timestamp follows the "Last-Modified-Since" field given for this URL, if any</li>
</ul>
Example of cache file:
<br />
<pre>
$ unzip -l hts-cache/new.zip
Archive: hts-cache/new.zip
HTTrack Website Copier/3.31-ALPHA-4 mirror complete in 3 seconds : 5 links scanned,
3 files written (16109 bytes overall) [17690 bytes received at 5896 bytes/sec]
(1 errors, 0 warnings, 0 messages)
Length Date Time Name
-------- ---- ---- ----
94 07-18-03 08:59 http://www.httrack.com/robots.txt
9866 01-17-04 01:09 http://www.httrack.com/html/cache.html
0 05-11-03 13:31 http://www.httrack.com/html/images/bg_rings.gif
207 01-19-04 05:49 http://www.httrack.com/html/fade.gif
0 05-11-03 13:31 http://www.httrack.com/html/images/header_title_4.gif
-------- -------
10167 5 files
</pre>
Example of cache file meta-data:
<br />
<pre>
HTTP/1.1 200 OK
X-In-Cache: 1
X-StatusCode: 200
X-StatusMessage: OK
X-Size: 94
Content-Type: text/plain
Last-Modified: Fri, 18 Jul 2003 08:59:11 GMT
Etag: "40ebb5-5e-3f17b6df"
X-Addr: www.httrack.com
X-Fil: /robots.txt
</pre>
There are also specific issues regarding this format:
<ul>
<li>The data in the central directory (such as CD extra field, and CD comments) are not used</li>
<li>The ZIP archive is allowed to contains more than 2^16 files (65535) ; in such case the total number of entries in the 32-bit central directory is 65536 (0xffff), but the presence of the 64-bit central directory is not mandatory</li>
<li>The ZIP archive is allowed to contains more than 2^32 bytes (4GiB) ; in such case the 64-bit central directory must be present <b>(not currently supported)</b></li>
</ul>
<br />
<b>Meta-data stored in the "extra field" of the local file headers</b><br />
The extra field is composed of text data, and this text data is composed of distinct lines of headers.
The end of text, <b>or</b> a double CR/LF, mark the end of this zone.
This method allows you to optionally store original HTTP headers just after the "meta-data" headers for informational use.<br />
<br />
<b>The status line (the first headers line)</b><br />
Status-Line = HTTP-Version SP Status-Code SP X-Reason-Phrase CRLF<br />
<br />
<b>Other lines:</b><br />
<br />
<b>Specific fields:</b><br />
<ul>
<li>X-In-Cache</li><br>
Indicates if the data are present (value=1) in the cache (that is, as ZIP data), or in an external file (value=0).
This field MUST be the first field.
<li>X-StatusCode</li><br>
The modified (by httrack) status code after processing. 304 error codes ("Not modified"), for example, are transformed into "200" codes after processing.
<li>X-StatusMessage</li><br>
The modified (by httrack) status message.
<li>X-Size</li><br>
The stored (either in cache, or in an external file) data size.
<li>X-Charset</li><br>
The original charset.
<li>X-Addr</li><br>
The original URL address part.
<li>X-Fil</li><br>
The original URL path part.
<li>X-Save</li><br>
The local filename, depending on user's "build structure" preferences.
</ul>
<br />
<b>Standard (RFC 2616) "useful" fields:</b><br />
<ul>
<li>Content-Type</li>
<li>Last-Modified</li>
<li>Etag</li>
<li>Location</li>
<li>Content-Disposition</li>
</ul>
<br />
<b>Specific fields in "BNF-like" grammar:</b><br />
<pre>
X-In-Cache = "X-In-Cache" ":" 1*DIGIT
X-StatusCode = "X-StatusCode" ":" 1*DIGIT
X-StatusMessage = "X-StatusMessage" ":" *&lt;TEXT, excluding CR, LF&gt;
X-Size = "X-Size" ":" 1*DIGIT
X-Charset = "X-Charset" ":" value
X-Addr = "X-Addr" ":" scheme ":" "//" authority
X-Fil = "X-Fil" ":" rel_path
X-Save = "X-Save" ":" rel_path
</pre>
<b>RFC standard fields:</b><br />
<pre>
Content-Type = "Content-Type" ":" media-type
Last-Modified = "Last-Modified" ":" HTTP-date
Etag = "ETag" ":" entity-tag
Location = "Location" ":" absoluteURI
Content-Disposition = "Content-Disposition" ":" disposition-type *( ";" disposition-parm )
</pre>
<br />
And, for your information,
<pre>
X-Reason-Phrase = *&lt;TEXT, with a maximum of 32 characters, and excluding CR, LF&gt;
</pre>
<a name="orig">Note: Because the URLs may have an unexpected format, especially with double "/" inside, and other reserved characters ("?", "&" ..),
various ZIP uncompressors can potentially have troubles accessing or decompressing the data.
Libraries should generally handle this peculiar format, however.
</a>
<br /><br />
<!-- ==================== Start epilogue ==================== -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
<tr>
<td id="footer"><small>&copy; 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
</tr>
</table>
</body>
</html>
+155
View File
@@ -0,0 +1,155 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
<title>HTTrack Website Copier - Offline Browser</title>
<style type="text/css">
<!--
body {
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
background: #77b;
}
body, td {
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
#subTitle {
background: #000; color: #fff; padding: 4px; font-weight: bold;
}
#siteNavigation a, #siteNavigation .current {
font-weight: bold; color: #448;
}
#siteNavigation a:link { text-decoration: none; }
#siteNavigation a:visited { text-decoration: none; }
#siteNavigation .current { background-color: #ccd; }
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
a:link { text-decoration: underline; color: #00f; }
a:visited { text-decoration: underline; color: #000; }
a:hover { text-decoration: underline; color: #c00; }
a:active { text-decoration: underline; }
#pageContent {
clear: both;
border-bottom: 6px solid #000;
padding: 10px; padding-top: 20px;
line-height: 1.65em;
background-image: url(images/bg_rings.gif);
background-repeat: no-repeat;
background-position: top right;
}
#pageContent, #siteNavigation {
background-color: #ccd;
}
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
h1 { margin: 0; font-weight: bold; font-size: 2em; }
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
.blak { background-color: #000; }
.hide { display: none; }
.tableWidth { min-width: 400px; }
.tblRegular { border-collapse: collapse; }
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
.tblNoBorder td { border: 0; }
// -->
</style>
</head>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr>
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
<tr>
<td id="subTitle">Open Source offline browser</td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr class="blak">
<td>
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td colspan="6">
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
<tr>
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
<h2 align="center"><em>Command-Line Documentation</em></h2>
<br>
The command-line version
<ul>
<li><a href="options.html">Command line Options</a></li>
<br>List of all powerful command line options<br><br>
<li>How to use httrack command-line version:</li>
<ul>
<li>Open a shell window</li>
<br>
<br>
<li>Type in <tt>httrack</tt> (or the complete path to the httrack executable)</li>
<br><small><tt>httrack</tt></small>
<br>
<br>
<li>Add the URLs, separated by a blank space</li>
<br><small><tt>httrack www.someweb.com/foo/</tt></small>
<br>
<br>
<li>If you need, add some options (see the <a href="options.html">option list</a>)</li>
<br><small><tt>httrack www.someweb.com/foo/ -O "/webs" -N4 -P proxy.myhost.com:3128</tt></small>
<br>
<br>
<li>Launch the command line, and wait until the mirror is finishing</li>
<br><small>You can (especially on the Unix release) press ^C to stop the mirror or put httrack in background</small>
<br>
<br>
</ul>
</ul>
<!-- ==================== Start epilogue ==================== -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
<tr>
<td id="footer"><small>&copy; 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
</tr>
</table>
</body>
</html>
+270
View File
@@ -0,0 +1,270 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
<title>HTTrack Website Copier - Offline Browser</title>
<script language="javascript">
<!--
function FOS(host,nom,info) {
var s;
if (info == "") info=nom+"@"+host;
s="mail";
document.write("<a href='"+s+"to:"+nom+"@"+host+"'>"+info+"</a>");
}
// -->
</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>
</head>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr>
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
<tr>
<td id="subTitle">Open Source offline browser</td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr class="blak">
<td>
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td colspan="6">
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
<tr>
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
<h2 align="center"><em>Contact Us!</em></h2>
<br>
<h3>
<center>
<a href="http://www.httrack.com/" target="_blank">Please visit our website!</a>
<br>
</center>
</h3>
<b>About this project:</b>
<pre>
Informations on this project:
This project has been developed by:
Xavier Roche (xroche at httrack dot com)
for the main engine and Windows interface
and maintainer for v2.0 and v3.0
Yann Philippot (yphilippot at lemel dot fr)
for the java binary dot class parser
David Lawrie (dalawrie at lineone dot net)
Robert Lagadec (rlagadec at yahoo dot fr)
for checking both English & French translations
Juan Pablo Barrio Lera (University of León)
for Spanish translations
Rainer Klueting (rainer at klueting dot de)
Bastian Gorke (bastiang at yahoo dot com)
Rudi Ferrari (Wyando at netcologne dot de)
Marcus Gaza (MarcusGaza at t-online dot de)
for German translations
Rudi Ferrari (Wyando at netcologne dot de)
for Dutch translations
Lukasz Jokiel (Opole University of Technology, Lukasz dot Jokiel at po dot opole dot pl)
for Polish translations
Rui Fernandes (CANTIC, ruiefe at mail dot malhatlantica dot pt)
Pedro T dot Pinheiro (Universidade Nova de Lisboa-FCT, ptiago at mail dot iupi dot pt)
for Portuguese translations
Andrei Iliev (iliev at vitaplus dot ru)
for Russian translations
Witold Krakowski (wtkrak at netscape dot net )
for Italian translations
Jozsef Tamas Herczeg (hdodi at freemail dot hu)
for Hungarian translation
Paulo Neto (company at layout dot com dot br)
for Brazilian translation
Brook Qin (brookqwr at sina dot com)
for simplified Chinese translation
David Hing Cheong Hung (DAVEHUNG at mtr dot com dot hk)
Addy Lin (addy1975 at pchome dot com dot tw)
for traditional Chinese translation
Jesper Bramm (bramm at get2net dot dk)
for Danish translation
Tõnu Virma
for Estonian translation
Staffan Ström (staffan at fam-strom dot org)
for Swedish translation
Mehmet Akif Köeoðlu (mak at ttnet dot net dot tr)
for Turkish translation
Aleksandar Savic (aleks at macedonia dot eu dot org)
for Macedonian translation
Takayoshi Nakasikiryo
for Japanese translation
Martin Sereday (sereday at slovanet dot sk)
for Slovak translation
Antonín Matìjèík (matejcik at volny dot cz)
for Czech translation
Andrij Shevchuk (http://programy dot com dot ua)
for Ukrainian translation
Tobias "Spug" Langhoff (spug_enigma at hotmail dot com)
for Norwegian translation
Jadran Rudeciur (jrudec at email dot si)
for Slovenian translation
Alin Gheorghe Miron (miron dot alin at personal dot ro)
for Romanian translation
Michael Papadakis (mikepap at freemail dot gr)
for Greek translation
Thanks to:
Leto Kauler (molotov at tasmail dot com)
for the site/logos design
Special Thanks to:
Patrick Ducrot & Daniel Carré (ENSI of Caen)
for their initial support
Fred Cohen (fc at all dot net)
for HTTrack user's guide
Greetings to:
Christian Marillat (marillat dot christian at wanadoo dot fr)
for autoconf compliance and .deb package
Jean-loup Gailly from gzip dot org
for the help provided with Zlib
Eric A dot Young (eay at cryptsoft dot com)
for SSL cryptographic material (OpenSSL)
Russ Freeman from gipsymedia
for hints on DLL dynamic load
Paul DiLascia
for helping to fix problems with CHtmlView
ISMRA/Ensi of Caen
for their initial support
.. and all users that are using and supporting HTTrack!
</pre>
<hr>
<br>
If you want to ask any question to the authors, report bugs/problems,
please first check the <a href="http://forum.httrack.com">HTTrack Website Copier forum</a>.<br>
You can also contact by email, but due to the large volume of messages, it is impossible
to always respond (especially for configuration help or other configuration-related
questions).
<br>
<script language="javascript">
<!--
FOS('httrack.com','httrack','httrack at httrack dot com (HTTrack project)');
document.write('<br>');
FOS('httrack.com','roche','roche at httrack dot com (Xavier ROCHE)');
// -->
</script>
<noscript>
httrack at httrack dot com (HTTrack project)<br>
roche at httrack dot com (Xavier ROCHE)<br>
</noscript>
<br><hr><br>
<br>
This program is covered by the GNU General Public License.<br>
HTTrack/HTTrack Website Copier is Copyright (C) 1998-2007 Xavier Roche and other contributors
<br>
<!-- ==================== Start epilogue ==================== -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
<tr>
<td id="footer"><small>&copy; 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
</tr>
</table>
</body>
</html>
+158
View File
@@ -0,0 +1,158 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
<title>HTTrack Website Copier - Offline Browser</title>
<style type="text/css">
<!--
body {
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
background: #77b;
}
body, td {
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
#subTitle {
background: #000; color: #fff; padding: 4px; font-weight: bold;
}
#siteNavigation a, #siteNavigation .current {
font-weight: bold; color: #448;
}
#siteNavigation a:link { text-decoration: none; }
#siteNavigation a:visited { text-decoration: none; }
#siteNavigation .current { background-color: #ccd; }
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
a:link { text-decoration: underline; color: #00f; }
a:visited { text-decoration: underline; color: #000; }
a:hover { text-decoration: underline; color: #c00; }
a:active { text-decoration: underline; }
#pageContent {
clear: both;
border-bottom: 6px solid #000;
padding: 10px; padding-top: 20px;
line-height: 1.65em;
background-image: url(images/bg_rings.gif);
background-repeat: no-repeat;
background-position: top right;
}
#pageContent, #siteNavigation {
background-color: #ccd;
}
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
h1 { margin: 0; font-weight: bold; font-size: 2em; }
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
.blak { background-color: #000; }
.hide { display: none; }
.tableWidth { min-width: 400px; }
.tblRegular { border-collapse: collapse; }
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
.tblNoBorder td { border: 0; }
// -->
</style>
</head>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr>
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
<tr>
<td id="subTitle">Open Source offline browser</td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr class="blak">
<td>
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td colspan="6">
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
<tr>
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
<h2 align="center"><em>HTTrack Programming page</em></h2>
<br>
HTTrack can be used as a third-party program in batch files, or as library.
Depending on your needs, you may look:
<br><br>
<h3>Programming</h3>
<ul>
<li><a href="scripting.html">Simple use: scripting examples using the httrack commandline program</a></li><br>
You can use tens of options (see <tt>httrack --help</tt>) to control precisely the mirror, and used embedded commands in httrack.
<br><br>
<li><a href="plug.html">More complex use: plugging external C functions to the httrack library</a></li><br>
For advanced functions, you may have to use external C wrappers ; for example when adding advanced crawl features, such as "tuned" filestructure type
<br><i>Important note: please read the license information of httrack before developing add-ons</i><br />
See also the page <a href="plug_330.html">for versions prior to 3.41</a>
<br><br>
<li><a href="library.html">Advanced use: using the library</a></li><br>
The library can be used to write graphical GUIs for httrack, or to run mirrors from a program.
<br><i>Important note: please read the license information of httrack before developing add-ons</i>
</ul>
<h3>Technical references</h3>
<ul>
<li><a href="cache.html">Cache format</a></li><br>
HTTrack stores original HTML data and references to downloaded files in a cache, located in the hts-cache directory.
This page describes the HTTrack cache format.
</ul>
<br><br>
<!-- ==================== Start epilogue ==================== -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
<tr>
<td id="footer"><small>&copy; 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
</tr>
</table>
</body>
</html>
+60
View File
@@ -0,0 +1,60 @@
#!/bin/sh
# Simple indexing test using HTTrack
# A "real" script/program would use advanced search, and
# use dichotomy to find the word in the index.txt file
# This script is really basic and NOT optimized, and
# should not be used for professional purpose :)
TESTSITE="http://localhost/"
# Create an index if necessary
if ! test -f "index.txt"; then
echo "Building the index .."
rm -rf test
httrack --display "$TESTSITE" -%I -O test
mv test/index.txt ./
fi
# Convert crlf to lf
if test "`head index.txt -n 1 | tr '\r' '#' | grep -c '#'`" = "1"; then
echo "Converting index to Unix LF style (not CR/LF) .."
mv -f index.txt index.txt.old
cat index.txt.old|tr -d '\r' > index.txt
fi
keyword=-
while test -n "$keyword"; do
printf "Enter a keyword: "
read keyword
if test -n "$keyword"; then
FOUNDK="`grep -niE \"^$keyword\" index.txt`"
if test -n "$FOUNDK"; then
if ! test `echo "$FOUNDK"|wc -l` = "1"; then
# Multiple matches
printf "Found multiple keywords: "
echo "$FOUNDK"|cut -f2 -d':'|tr '\n' ' '
echo ""
echo "Use keyword$ to find only one"
else
# One match
N=`echo "$FOUNDK"|cut -f1 -d':'`
PM=`tail +$N index.txt|grep -nE "\("|head -n 1`
if ! echo "$PM"|grep "ignored">/dev/null; then
M=`echo $PM|cut -f1 -d':'`
echo "Found in:"
cat index.txt | tail "+$N" | head -n "$M" | grep -E "[0-9]* " | cut -f2 -d' '
else
echo "keyword ignored (too many hits)"
fi
fi
else
echo "not found"
fi
fi
done
+943
View File
@@ -0,0 +1,943 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows vista, windows seven, windows 8, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
<title>HTTrack Website Copier - Offline Browser</title>
<style type="text/css">
<!--
body {
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
background: #77b;
}
body, td {
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
#subTitle {
background: #000; color: #fff; padding: 4px; font-weight: bold;
}
#siteNavigation a, #siteNavigation .current {
font-weight: bold; color: #448;
}
#siteNavigation a:link { text-decoration: none; }
#siteNavigation a:visited { text-decoration: none; }
#siteNavigation .current { background-color: #ccd; }
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
a:link { text-decoration: underline; color: #00f; }
a:visited { text-decoration: underline; color: #000; }
a:hover { text-decoration: underline; color: #c00; }
a:active { text-decoration: underline; }
#pageContent {
clear: both;
border-bottom: 6px solid #000;
padding: 10px; padding-top: 20px;
line-height: 1.65em;
background-image: url(images/bg_rings.gif);
background-repeat: no-repeat;
background-position: top right;
}
#pageContent, #siteNavigation {
background-color: #ccd;
}
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
h1 { margin: 0; font-weight: bold; font-size: 2em; }
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
.blak { background-color: #000; }
.hide { display: none; }
.tableWidth { min-width: 400px; }
.tblRegular { border-collapse: collapse; }
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
.tblNoBorder td { border: 0; }
// -->
</style>
</head>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr>
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
<tr>
<td id="subTitle">Open Source offline browser</td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr class="blak">
<td>
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td colspan="6">
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
<tr>
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
<h2 align="center"><em>F A Q</em></h2>
<br>
<p><em><br>
<ul>
<strong>Tips:</strong>
<li>In case of troubles/problems during transfer, <b><u><font color="red">first check the hts-log.txt (and hts-err.txt) files to figure out what happened</b></u></font>. These log files report all
events that may be useful to detect a problem. You can also ajust the debug level of the log files in the option
</li><li>
The tutorial written by Fred Cohen is a very good document to read, to understand how to use the engine,
how the command line version works, and how the window version works, too! All options are described and explained in
clear language!
</li>
</ul>
</em><br></p>
<ul><br>
<h3><b>Very</b> Frequently Asked Questions:<br></h3>
<li><a href="#VF1">HTTrack does not capture all files I want to capture!</a><br></li>
<br>
<h3>General questions:<br></h3>
<li><a href="#QG0">Is there any 'spyware' or 'adware' in this program? Can you prove that there isn't any?</a><br></li>
<li><a href="#QG0c">This software is 'free', but I bought it from an authorized reseller. What's going on?</a><br></li>
<li><a href="#QG0b">Is there any risks of viruses with this software?</a><br></li>
<li><a href="#QG1">The install is not working on Windows without administrator rights!</a><br></li>
<li><a href="#QG2">Where can I find French/other languages documentation?</a><br></li>
<li><a href="#QG3b">Is HTTrack working on Windows Vista/Windows Seven/Windows 8 ?</a><br></li>
<li><a href="#QG3">Is HTTrack working on Windows 95/98 ?</a><br></li>
<li><a href="#QG4">What's the difference between HTTrack, WinHTTrack and WebHTTrack?</a><br></li>
<li><a href="#QG5">Is HTTrack Mac compatible?</a><br></li>
<li><a href="#QG6">Can HTTrack be compiled on all Un*x?</a><br></li>
<li><a href="#QG7">I use HTTrack for professional purpose. What about restrictions/license fee?</a><br></li>
<li><a href="#QG7b">Is there any license royalties for distributing a mirror made with HTTrack?</a><br></li>
<li><a href="#QG8">Is a DLL/library version available?</a><br></li>
<li><a href="#QG9">Is there a GUI version available for Linux and Un*x?</a><br></li>
<br><h3>Troubleshooting:<br></h3>
<li><a href="#Q0">Some sites are captured very well, other aren't. Why?</a><br></li>
<li><a href="#Q1">When I use HTTrack, nothing is mirrored (no files) What's happening?</a><br></li>
<li><a href="#QT1">Only the first page is caught. What's wrong?</a><br></li>
<li><a href="#Q1b">There are missing files! What's happening?</a><br></li>
<li><a href="#Q1bc">There are corrupted images/files! How to fix them?</a><br></li>
<li><a href="#Q1bb">FTP links are not caught! What's happening?</a><br></li>
<li><a href="#Q1b1">I got some weird messages telling that robots.txt do not allow several files to be captured. What's going on?</a><br></li>
<li><a href="#Q1b11">I have duplicate files! What's going on?</a><br></li>
<li><a href="#Q1b2">I'm downloading too many files! What can I do?</a><br></li>
<li><a href="#Q1b22">The engine turns crazy, getting thousands of files! What's going on?</a><br></li>
<li><a href="#Q1b3">File are sometimes renamed (the type is changed)! Why?</a><br></li>
<li><a href="#Q1b3b">File are sometimes *incorrectly* renamed! Why?</a><br></li>
<li><a href="#Q1b4b">How do I rename all ".dat" files into ".zip" files?</a><br></li>
<li><a href="#Q1c">I can not access several pages (access forbidden, or redirect to another location), but I can with my browser, what's going on?</a><br></li>
<li><a href="#Q2">Some pages can't be seen, or are displayed with errors!</a><br></li>
<li><a href="#QT4">Files are created with strange names, like '-1.html'!</a><br></li>
<li><a href="#Q2b">Some Java applets do not work properly!</a><br></li>
<li><a href="#QT5">When capturing real audio/video links (.ram), I only get a shortcut!</a><br></li>
<li><a href="#QT6">Using user:password@address is not working!</a><br></li>
<li><a href="#QT3">Are https URL working?</a><br></li>
<li><a href="#QT3b">Are ipv6 URL working?</a><br></li>
<li><a href="#QP3">HTTrack is taking too much time for parsing, it is very slow. What's wrong?</a><br></li>
<li><a href="#Q3">HTTrack is being idle for a long time without transfering. What's happening?</a><br></li>
<li><a href="#Q3b">I want to update a site, but it's taking too much time! What's happening?</a><br></li>
<li><a href="#Q3b2">I wanted to update a site, but after the update the site disappeared!! What's going on?</a><br></li>
<li><a href="#Q4">I am behind a firewall. What can I do?</a><br></li>
<li><a href="#Q14">HTTrack has crashed during a mirror, what's happening?</a><br></li>
<li><a href="#Q100">I want to update a mirrored project, but HTTrack is retransfering all pages. What's going on?</a><br></li>
<li><a href="#Q10a">I want to continue a mirrored project, but HTTrack is rescanning all pages. What's going on?</a><br></li>
<li><a href="#Q101">WinHTTrack window sometimes "disappears" at then end of a mirrored project. What's going on?<br></a></li>
<li><a href="#QT2">With WinHTTrack, sometimes the minimize in system tray causes a crash!</a><br></li>
<h3><br>Questions concerning a mirror:<br></h3></li>
<li><a href="#Q5">I want to mirror a Web site, but there are some files outside the domain, too. How to retrieve them?</a><br></li>
<li><a href="#Q6">I have forgotten some URLs of files during a long mirror.. Should I redo all?</a><br></li>
<li><a href="#Q7">I just want to retrieve all ZIP files or other files in a web site/in a page. How do I do it?</a><br></li>
<li><a href="#Q8">There are ZIP files in a page, but I don't want to transfer them. How do I do it?</a><br></li>
<li><a href="#Q8b">I don't want to download ZIP files bigger than 1MB and MPG files smaller than 100KB. Is it possible?</a><br></li>
<li><a href="#Q9">I don't want to load gif files.. but what may happen if I watch the page?</a><br></li>
<li><a href="#Q9b">I don't want to download thumbnail images.. is it possible?</a><br></li>
<li><a href="#Q15">I get all types of files on a web site, but I didn't select them on filters!</a><br></li>
<li><a href="#Q10">When I use filters, I get too many files!</a><br></li>
<li><a href="#Q11">When I use filters, I can't access another domain, but I have filtered it!</a><br></li>
<li><a href="#Q12">Must I add a&nbsp; '+' or '-' in the filter list when I want to use filters?</a><br></li>
<li><a href="#Q13">I want to find file(s) in a web-site. How do I do it?</a><br></li>
<li><a href="#Q200">I want to download ftp files/ftp site. How do I do it?</a><br></li>
<li><a href="#QM1">How can I retrieve .asp or .cgi sources instead of .html result?</a><br></li>
<li><a href="#QM2">How can I remove these annoying <tt>&lt;!-- Mirrored from... --&gt;</tt> from html files?</a><br></li>
<li><a href="#QM3">Do I have to select between ascii/binary transfer mode?</a><br></li>
<li><a href="#QM4">Can HTTrack perform form-based authentication?</a><br></li>
<li><a href="#QM5">Can I redirect downloads to tar/zip archive?</a><br></li>
<li><a href="#QM6">Can I use username/password authentication on a site?</a><br></li>
<li><a href="#QM7">Can I use username/password authentication for a proxy?</a><br></li>
<li><a href="#QM8">Can HTTrack generates HP-UX or ISO9660 compatible files?</a><br></li>
<li><a href="#QM9">If there any SOCKS support?</a><br></li>
<li><a href="#QM10">What's this hts-cache directory? Can I remove it?</a><br></li>
<li><a href="#QM10b">What is the meaning of the <tt>Links scanned: 12/34 (+5)</tt> line in WinHTTrack/WebHTTrack?</a><br></li>
<li><a href="#QM11">Can I start a mirror from my bookmarks?</a><br></li>
<li><a href="#QM11c">Can I convert a local website (file:// links) to a standard website?</a><br></li>
<li><a href="#QM11b">Can I copy a project to another folder - Will the mirror work?</a><br></li>
<li><a href="#QM12">Can I copy a project to another computer/system? Can I then update it ?</a><br></li>
<li><a href="#QM13">How can I grab email addresses in web pages?</a><br></li>
<br><h3>Other problems:<br></h3></a>
<li><a href="#Q300">My problerm is not listed!</a><br></li>
</ul>
</p>
<br>
<hr>
<br>
<u><strong>Very Frequently Asked Questions:</strong></u><br><br>
<a name="VF1">Q: <strong>HTTrack does not capture all files I want to capture!</strong><br>
A: <em>This is a frequent question, generally related to the filters.
<u>BUT first check if your problem is not related to the <a href="#Q1b1">robots.txt</a> website rules.</u>
<br>
<br>
Okay, let me explain how to precisely control the capture process.<br>
<br>
Let's take an example:<br>
<br>
Imagine you want to capture the following site:<br>
<tt>www.someweb.com/gallery/flowers/</tt><br>
<br>
HTTrack, by default, will capture all links encountered in <tt>www.someweb.com/gallery/flowers/</tt> or in lower directories, like
<tt>www.someweb.com/gallery/flowers/roses/</tt>.<br>
It will not follow links to other websites, because this behaviour might cause to capture the Web entirely!<br>
It will not follow links located in higher directories, too (for example, <tt>www.someweb.com/gallery/flowers/</tt> itself) because this
might cause to capture too much data.<br>
<br>
This is the <b><u>default behaviour</b></u> of HTTrack, BUT, of course, if you want, you can tell HTTrack to capture other directorie(s), website(s)!..
<br>
In our example, we might want also to capture all links in <tt>www.someweb.com/gallery/trees/</tt>, and in <tt>www.someweb.com/photos/</tt><br>
<br>
This can easily done by using filters: go to the Option panel, select the 'Scan rules' tab, and enter this line:
(you can leave a blank space between each rules, instead of entering a carriage return)<br>
<tt>+www.someweb.com/gallery/trees/*<br>
+www.someweb.com/photos/*</tt><br>
<br>
This means "accept all links begining with <tt>www.someweb.com/gallery/trees/</tt> and <tt>www.someweb.com/photos/</tt>"
- the <tt>+</tt> means "accept" and the final <tt>*</tt> means "any character will match after the previous ones".
Remember the <tt>*.doc</tt> or <tt>*.zip</tt> encountered when you want to select all files from a certain type on your computer:
it is almost the same here, except the begining "+"<br>
<br>
Now, we might want to exclude all links in <tt>www.someweb.com/gallery/trees/hugetrees/</tt>, because with the previous filter,
we accepted too many files. Here again, you can add a filter rule to refuse these links. Modify the previous filters to:<br>
<tt>+www.someweb.com/gallery/trees/*<br>
+www.someweb.com/photos/*<br>
-www.someweb.com/gallery/trees/hugetrees/*</tt><br>
<br>
You have noticed the <tt>-</tt> in the begining of the third rule: this means "refuse links matching the rule"
; and the rule is "any files begining with <tt>www.someweb.com/gallery/trees/hugetrees/</tt><br>
Voila! With these three rules, you have precisely defined what you wanted to capture.<br>
<br>
A more complex example?<br>
<br>
Imagine that you want to accept all jpg files (files with .jpg type) that have "blue" in the name and located in www.someweb.com<br>
<tt>+www.someweb.com/*blue*.jpg</tt><br>
<br>
More detailed information can be found <a href="filters.html">here</a>!<br>
<br>
</em>
<br>
<u><strong>General questions:<br>
</strong></u><br>
<a NAME="QG0">Q: <strong>Is there any 'spyware' or 'adware' in this program? Can you prove that there isn't any?</strong></a><br>
A: <em>No ads (banners), and absolutely no 'spy' features inside the program.<br>
The best proof is the software status: all sources are released, and everybody can check them. Open source is the best protection against privacy problems - HTTrack is an open source project, free of charge and free of any spy 'features'.<br>
However, be sure to always download HTTrack from a <b>trusted source</b> (preferably httrack.com), as some rogue freeware sites are "embedding" free software inside adware/spyware installers. If the version you installed contained some embedded adware/tool bar/whatever, there is a high potential risk of virus/badware infection (the only official Internet Explorer feature is a 'Launch WinHTTrack' optional menu in the Tools section, which can be selected while installing).</em>
<br><br><a NAME="QG0c">Q: <strong>This software is 'free', but I bought it from an authorized reseller . What's going on?</strong></a><br>
A: <em>
HTTrack is free (free as in 'freedom') as it is covered by the <a href="http://www.gnu.org/licenses/gpl.txt" target="_new">GNU General Public License (GPL)</a>.
You can freely download it, without paying any fees, copy it to your friends, and modify it if you respect the license.
There are NO official/authorized resellers, because HTTrack is <b>NOT</b> a commercial product.
But you can be charged for duplication fees, or any other services (example: software CDroms or shareware collections, or fees for maintenance),
but you should have been informed that the software was free software/GPL, and you <b><u>MUST</u></b> have received a copy of the GNU General Public License.
Otherwise this is dishonnest and unfair (ie. selling httrack on ebay without telling that it was a free software is a scam).
</em>
<br><br><a NAME="QG0b">Q: <strong>Are there any risks of viruses with this software?</strong></a><br>
A: <em>For the software itself:
All official releases (at httrack.com) are checked against all known viruses, and the packaging process is also checked. Archives are stored on Un*x servers, not really concerned by viruses. It has been reported, however, that some rogue freeware sites are embedding free softwares and freewares inside badware installers. Always download httrack from the main site (www.httrack.com), and never from an untrusted source!<br>
For files you are downloading on the WWW using HTTrack: You may encounter websites which were corrupted by viruses, and downloading data on these websites might be dangerous if you execute downloaded executables, or if embedded pages contain infected material (as dangerous as if using a regular Browser). Always ensure that websites you are crawling are safe.
(Note: remember that using an antivirus software is a good idea once you are connected to the Internet)</em>
<br><br><a NAME="QG1">Q: <strong>The install is not working on Windows without administrator rights!</strong></a><br>
A: <em>That's right. You can, however, install WinHTTrack on your own machine, and then copy your <tt>WinHTTrack</tt> folder from your <tt>Program Files</tt> folder to another machine, in a temporary directory (e.g. <tt>C:\temp\</tt>). You may download the 'non-installer' version, and unzip it in any directory (or an USB key).</em>
<br><br><a NAME="QG2">Q: <strong>Where can I find French/other languages documentation?</strong></a><br>
A: <em>Windows interface is available on several languages, but not yet the documentation!</em>
<br><br><a NAME="QG3b">Q: <strong>Is HTTrack working on Windows Vista/Windows Seven/Windows 8 ?</strong></a><br>
A: <em>Yes, it does</em>
<br><br><a NAME="QG3">Q: <strong>Is HTTrack working on Windows 95/98 ?</strong></a><br>
A: <em>No, not anymore. You may try to pick an older release (such as 3.33)</em>
<br><br><a NAME="QG4">Q: <strong>What's the difference between HTTrack, WinHTTrack and WebHTTrack?</strong></a><br>
A: <em>WinHTTrack is the Windows GUI release of HTTrack (with a native graphic shell) and WebHTTrack is the Linux/Posix release of HTTrack (with an html graphic shell)</em>
<br><br><a NAME="QG5">Q: <strong>Is HTTrack Mac compatible?</strong></a><br>
A: <em>Yes, using the original sources, or with MacPorts.
<br><br><a NAME="QG6">Q: <strong>Can HTTrack be compiled on all Un*x?</strong></a><br>
A: <em>It should. The <tt>configure.ac</tt> may be modified in some cases, however</em>
<br><br><a NAME="QG7">Q: <strong>I use HTTrack for professional purpose. What about restrictions/license fee?</strong></a><br>
A: <em>HTTrack is covered by the GNU General Public License (GPL). There is no restrictions using HTTrack for professional purpose,
except if you develop a software which uses HTTrack components (parts of the source, or any other component).
See the <tt>license.txt</tt> file for more information</em>. See also the next question regarding copyright issues when reditributing downloaded material.
<br><br><a NAME="QG7b">Q: <strong>Is there any license royalties for distributing a mirror made with HTTrack?</strong></a><br>
A: <em>On the HTTrack side, no. However, sharing, publishing or reusing copyrighted material downloaded from a site requires the authorization of the copyright holders, and possibly paying royalty fees. Always ask the authorization before creating a mirror of a site, even if the site appears to be royalty-free and/or without copyright notice.</em>
<br><br><a NAME="QG8">Q: <strong>Is a DLL/library version available?</strong></a><br>
A: <em>Yes. The default distribution includes a DLL (Windows) or a .so (Un*X), used by the program</em>
<br><br><a NAME="QG9">Q: <strong>Is there a GUI version available for Linux and Un*x?</strong></a><br>
A: <em>Yes. It is called WebHTTrack. See the download section at <a href="http://www.httrack.com">www.httrack.com!</a></em>
<br><br>
<u><strong>Troubleshooting:<br>
</strong></u><br>
<a NAME="Q0">Q: <strong>Some sites are captured very well, other aren't. Why?</strong><br>
A: <em>
There are several reasons (and solutions) for a mirror to fail. Reading the log files (ans this FAQ!) is generally a VERY good idea to figure out what occured.
<ul>
<li>Links within the site refers to external links, or links located in another (or upper) directories, not captured by default - the use of filters is generally THE solution, as this is one of the powerful option in HTTrack. <u>See the above questions/answers</u>.</li>
<li>Website <a href="#Q1b1">'robots.txt' rules</a> forbide access to several website parts - you can disable them, but only with great care!</li>
<li>HTTrack is filtered (by its default User-agent IDentity) - you can change the Browser User-Agent identity to an anonymous one (MSIE, Netscape..) - here again, use this option with care, as this measure might have been put to avoid some bandwidth abuse (see also the <a href="abuse.html">abuse faq</a>!)</li>
</ul>
There are cases, however, that can not be (yet) handled:
<ul>
<li>Flash sites - no full support</li>
<li>Intensive Java/Javascript sites - might be bogus/incomplete</li>
<li>Complex CGI with built-in redirect, and other tricks - very complicated to handle, and therefore might cause problems</li>
<li>Parsing problem in the HTML code (cases where the engine is fooled, for example by a false comment (&lt;!--) which has no closing comment (--&gt;) detected.
Rare cases, but might occur.
A bug report is then generally good!
</li>
</ul>
Note:
For some sites, setting "Force old HTTP/1.0 requests" option can be useful, as this option uses more basic requests (no HEAD request for example).
This will cause a performance loss, but will increase the compatibility with some cgi-based sites.
<br>
<br></em>
<a NAME="QT1">Q: <strong>Only the first page is caught. What's wrong?</a></strong></br>
A: <em>First, check the <tt>hts-log.txt</tt> file (and/or <tt>hts-err.txt</tt> error log file) - this can give you precious information.<br>
The problem can be a website that redirects you to another site (for example, <tt>www.someweb.com</tt> to <tt>public.someweb.com</tt>) :
in this case, use filters to accept this site<br>
This can be, also, a problem in the HTTrack options (link depth too low, for example)</em>
<br><br><a NAME="QT2">Q: <strong>With WinHTTrack, sometimes the minimize in system tray causes a crash!</a></strong></a></br>
A: <em>This bug sometimes appears in the shell on some systems. If you encounter this problem, avoid minimizing the window!</em>
<br><br><a NAME="QT3">Q: <strong>Are https URL working?</a></strong></a></br>
A: <em>Yes, HTTrack does support (since 3.20 release) https (secure socket layer protocol) sites</em>
<br><br><a NAME="QT3b">Q: <strong>Are ipv6 URL working?</a></strong></a></br>
A: <em>Yes, HTTrack does support (since 3.20 release) ipv6 sites, using A/AAAA entries, or direct v6 addresses (like http://[3ffe:b80:12:34:56::78]/)</em>
<br><br><a NAME="QT4">Q: <strong>Files are created with strange names, like '-1.html'!</a></strong></a></br>
A: <em>Check the build options (you may have selected user-defined structure with wrong parameters!)</em>
<br><br><a NAME="QT5">Q: <strong>When capturing real audio/video links (.ram), I only get a shortcut!</a></strong></a></br>
A: <em>Yes, but .ra/.rm associated file should be captured together - except if rtsp:// protocol is used (not supported by HTTrack yet), or if proper filters are needed</em>
<br><br><a NAME="QT6">Q: <strong>Using user:password@address is not working!</a></strong></a></br>
A: <em>Again, first check the <tt>hts-log.txt</tt> and <tt>hts-err.txt</tt> error log files - this can give you precious information<br>
The site may have a different authentication scheme - form based authentication, for example.
In this case, use the URL capture features of HTTrack, it might work.
<br>Note: If your username and/or password contains a '<tt>@</tt>' character, you may have to replace all '<tt>@</tt>'
occurences by '<tt>%40</tt>' so that it can work, such as in <tt>user%40domain.com:foobar@www.foo.com/auth/.
You may have to do the same for all "special" characters like spaces (%20), quotes (%22)..</tt>
</em>
<br><br>
<a NAME="Q1">Q: <strong>When I use HTTrack, nothing is mirrored (no files) What's
happening?</strong><br>
A: <em>First, be sure that the URL typed is correct. Then, check if you need to use a
proxy server (see proxy options in WinHTTrack or the <tt>-P proxy:port</tt> option in the
command line program). The site you want to mirror may only accept certain browsers. You
can change your &quot;browser identity&quot; with the Browser ID option in the OPTION box.
Finally, you can have a look at the hts-log.txt (and hts-err.txt) file to see what
happened. <br>
<br></em>
<a NAME="Q1b">Q: <strong>There are missing files! What's happening?</strong><br>
A: <em>You may want to capture files that exist in a different folder, or in another web site.
You may also want to capture files that are forbidden by default by the <a href="#Q1b1">robots.txt</a> website rules.
In these cases, HTTrack does not capture these links automatically, you have to tell it to do so.
<br><br>
<ul><li>Either use the <a href="filters.html">filters</a>.<br>
Example: You are downloading <tt>http://www.someweb.com/foo/</tt> and can not get .jpg images located
in <tt>http://www.someweb.com/bar/</tt> (for example, http://www.someweb.com/bar/blue.jpg)<br>
Then, add the filter rule <tt>+www.someweb.com/bar/*.jpg</tt> to accept all .jpg files from this location<br>
You can, also, accept all files from the /bar folder with <tt>+www.someweb.com/bar/*</tt>, or only html files with <tt>+www.someweb.com/bar/*.html</tt> and so on..<br><br>
</li><li>
If the problems are related to robots.txt rules, that do not let you access some folders (check in the logs if you are not sure),
you may want to disable the default robots.txt rules in the options. (but only disable this option with great care,
some restricted parts of the website might be huge or not downloadable)
</ul>
</em>
<br>
<a NAME="Q1bc">Q: <strong>There are corrupted images/files! How to fix them?</strong><br>
A: <em>First check the log files to ensure that the images do really exist remotely and are not fake html error pages renamed into .jpg ("Not found" errors, for example).
Rescan the website with "Continue an interrupted download" to catch images that might be broken due to various errors (transfer timemout, for example).
Then, check if the broken image/file name is present in the log (hts-log.txt) - in this case you will find there the reason why the file has not been properly caught.
<br><u>If</u> this doesn't work, delete the corrupted files (Note: to detect corrupted images, you can browse the directories with a tool like ACDSee and then delete them)
and rescan the website as described before. HTTrack will be obliged to recatch the deleted files, and this time it should work, if they do really exist remotely!.</em>
<br>
<br>
<a NAME="Q1bb">Q: <strong>FTP links are not caught! What's happening?</strong><br>
A: <em>FTP files might be seen as external links, especially if they are located in outside domain. You have either to accept all external links (See the links options, -n option) or
only specific files (see <a href="filters.html">filters</a> section). <br>
Example: You are downloading <tt>http://www.someweb.com/foo/</tt> and can not get ftp://ftp.someweb.com files<br>
Then, add the filter rule <tt>+ftp.someweb.com/*</tt> to accept all files from this (ftp) location<br>
</em>
<br>
<a NAME="Q1b1">Q: <strong>I got some weird messages telling that robots.txt do not allow several files to be captured. What's going on?</strong><br>
A: <em>
These rules, stored in a file called robots.txt, are given by the website, to specify which links or folders should not be caught by robots and spiders
- for example, /cgi-bin or large images files.
They are followed by default by HTTrack, as it is advised. Therefore, you may miss some files that would have been downloaded without
these rules - check in your logs if it is the case:<br>
<tt>Info: Note: due to www.foobar.com remote robots.txt rules, links begining with these path will be forbidden: /cgi-bin/,/images/ (see in the options to disable this)
</tt>
<br>
If you want to disable them, just change the corresponding option in the option list! (but only disable this option with great care,
some restricted parts of the website might be huge or not downloadable)
</em>
<br>
<br>
<a NAME="Q1b11"><strong>Q: I have duplicate files! What's going on?</strong><br>
A: <em>This is generally the case for top indexes (index.html and index-2.html), isn't it?
<br>
This is a common issue, but that can not be easily avoided!<br>
For example, http://www.foobar.com/ and http://www.foobar.com/index.html might be the same pages.
But if links in the website refers both to http://www.foobar.com/ and http://www.foobar.com/index.html, these two pages will be caught.
And because http://www.foobar.com/ must have a name, as you may want to browse the website locally (the / would give a directory listing, NOT the index itself!),
HTTrack must find one. Therefore, two index.html will be produced, one with the -2 to show that the file had to be renamed.
<br>
It might be a good idea to consider that http://www.foobar.com/ and http://www.foobar.com/index.html are the same links, to avoid
duplicate files, isn't it?
NO, because the top index (/) can refer to ANY filename, and if index.html is generally the default name, index.htm can be choosen,
or index.php3, mydog.jpg, or anything you may imagine. (some webmasters are really crazy)
<br>
<br>
Note: In some rare cases, duplicate data files can be found when the website redirect to another file. This issue should be rare, and might be avoided using filters.
</em>
<br>
<br>
<a NAME="Q1b2">Q: <strong>I'm downloading too many files! What can I do?</strong><br>
A: <em>This is often the case when you use too large a filter, for example <tt>+*.html</tt>, which asks the
engine to catch all .html pages (even ones on other sites!). In this case, try to use more specific filters, like <tt>+www.someweb.com/specificfolder/*.html</tt><br>
If you still have too many files, use filters to avoid somes files. For example, if you have too many files from www.someweb.com/big/,
use <tt>-www.someweb.com/big/*</tt> to avoid all files from this folder. Remember that the default behaviour of the engine, when
mirroring http://www.someweb.com/big/index.html, is to catch everything in http://www.someweb.com/big/. Filters are your friends,
use them!
</em>
<br>
<br>
<a NAME="Q1b22">Q: <strong>The engine turns crazy, getting thousands of files! What's going on?</strong><br>
A: <em>This can happen if a loop occurs in some bogus website. For example, a page that refers to itself, with a timestamp
in the query string (e.g. <tt>http://www.someweb.com/foo.asp?ts=2000/10/10,09:45:17:147</tt>).
These are really annoying, as it is VERY difficult to detect the loop (the timestamp might be a page number).
To limit the problem: set a recurse level (for example to 6), or avoid the bogus pages (use the filters)
</em>
<br>
<br>
<a NAME="Q1b3">Q: <strong>File are sometimes renamed (the type is changed)! Why?</strong><br>
A: <em>By default, HTTrack tries to know the type of remote files. This is useful when links like
<tt>http://www.someweb.com/foo.cgi?id=1</tt> can be either HTML pages, images or anything else.
Locally, foo.cgi will not be recognized as an html page, or as an image, by your browser. HTTrack has to rename the file
as foo.html or foo.gif so that it can be viewed.<br>
</em>
<br>
<a NAME="Q1b3b">Q: <strong>File are sometimes *incorrectly* renamed! Why?</strong><br>
A: <em>Sometimes, some data files are seen by the remote server as html files, or images : in this case HTTrack is
being fooled.. and rename the file. This can generally be avoided by using the "use HTTP/1.0 requests" option.
You might also avoid this by disabling the type checking in the option panel.
</em>
<br>
<br>
<a NAME="Q1b4b">Q: <strong>How do I rename all ".dat" files into ".zip" files?</strong><br>
A: <em>Simply use the <tt>--assume dat=application/x-zip</tt> option
</em>
<br>
<br>
<a NAME="Q1c">Q: <strong>I can not access several pages (access forbidden, or redirect to another location), but I can with my browser, what's going on?</strong><br>
A: <em>You may need cookies! Cookies are specific data (for example, your username or password) that are sent to your browser once
you have logged in certain sites so that you only have to log-in once. For example, after having entered your username in a website, you can
view pages and articles, and the next time you will go to this site, you will not have to re-enter your username/password.<br>
To "merge" your personnal cookies to an HTTrack project, just copy the cookies.txt file from your Netscape folder (or the cookies located into the Temporary Internet Files folder for IE)
into your project folder (or even the HTTrack folder)
</em>
<br>
<br>
</a><a NAME="Q2">Q: <strong>Some pages can't be seen, or are displayed with errors!</strong><br>
A: <em>Some pages may include javascript or java files that are not recognized. For
example, generated filenames. There may be transfer problems, too (broken pipe, etc.). But
most mirrors do work. We still are working to improve the mirror quality of HTTrack.<br>
</em>
<br>
</a><a NAME="Q2b">Q: <strong>Some Java applets do not work properly!</strong><br>
A: <em>Java applets may not work in some cases, for example if HTTrack failed to detect all included classes
or files called within the class file. Sometimes, Java applets need to be online, because remote files are
directly caught. Finally, the site structure can be incompatible with the class (always try to keep the original site structure
when you want to get Java classes)<br>
If there is no way to make some classes work properly, you can exclude them with the filters.
They will be available, but only online.
</em>
<br>
<br>
</a><a NAME="QP3">Q: <strong>HTTrack is taking too much time for parsing, it is very slow. What's wrong?</strong><br>
A: <em>Former (before 3.04) releases of HTTrack had problems with parsing. It was really slow, and performances -especially
with huge HTML files- were not really good. The engine is now optimized, and should parse very quickly all html files.
For example, a 10MB HTML file should be scanned in less than 3 or 4 seconds.<br>
<br>
Therefore, higher values mean that the engine had to wait a bit for testing several links.
<ul>
<li>Sometimes, links are malformed in pages.
"<tt>a href="/foo"</tt>" instead of "<tt>a href="/foo/"</tt>", for example, is a common mistake. It will force the engine to
make a supplemental request, and find the real <tt>/foo/</tt> location.
</li>
<br><br>
<li>Dynamic pages. Links with names terminated by <tt>.php3</tt>, <tt>.asp</tt> or other type which are different from the regular
<tt>.html</tt> or <tt>.htm</tt> will require a supplemental request, too. HTTrack has to "know" the type (called "MIME type") of a file
before forming the destination filename. Files like foo.gif are "known" to be images, ".html" are obviously HTML pages - but ".php3"
pages may be either dynamically generated html pages, images, data files...<br>
<br>
If you KNOW that ALL ".php3" and ".asp" pages are in fact HTML pages on a mirror, use the <tt>assume</tt> option:<br>
<tt>--assume php3=text/html,asp=text/html</tt>
<br><br>
This option can be used to change the type of a file, too : the MIME type "application/x-MYTYPE" will always have the "MYTYPE" type.
Therefore, <br>
<tt>--assume dat=application/x-zip</tt>
<br>
will force the engine to rename all dat files into zip files
</li>
</ul>
</em><br>
<br>
</a><a NAME="Q3">Q: <strong>HTTrack is being idle for a long time without
transfering. What's happening?</strong><br>
A: <em>Maybe you try to reach some very slow sites. Try a lower TimeOut value (see
options, or <tt>-Txx</tt> option in the command line program). Note that you will abandon
the entire site (except if the option is unchecked) if a timeout happen You can, with the
Shell version, skip some slow files, too.</em><br>
<br>
</a><a NAME="Q3b">Q: <strong>I want to update a site, but it's taking too much time! What's happening?</strong><br>
A: <em>First, HTTrack always tries to minimize the download flow by interrogating the server about the
file changes. But, because HTTrack has to rescan all files from the begining to rebuild the local site structure,
it can take some time.
Besides, some servers are not very smart and always consider that they get newer files, forcing HTTrack to reload them,
even if no changes have been made!
</em><br>
<br>
</a><a NAME="Q3b2">Q: <strong>I wanted to update a site, but after the update the site disappeared!! What's going on?</strong><br>
A: <em>You may have done something wrong, but not always
<ul>
<li>The site has moved : the current location only shows a notification. Therefore, all other files have been deleted to show the current state of the website!</li>
<li>The connection failed: the engine could not catch the first files, and therefore deleted everything.
To avoid that, using the option "do not purge old files" might be a good idea</li>
<li>You tried to add a site to the project BUT in fact deleted the former addresses.<br>
Example: A project contains '<tt>www.foo.com www.bar.com</tt>' and you want to add '<tt>www.doe.com</tt>'.
Ensure that '<tt>www.foo.com www.bar.com www.doe.com</tt>' is the new URL list, and NOT '<tt>www.doe.com</tt>'!
</li>
</ul>
</em><br>
</a><a NAME="Q4">Q: <strong>I am behind a firewall. What can I do?</strong><br>
A: <em>You need to use a proxy, too. Ask your administrator to know the proxy server's
name/port. Then, use the proxy field in HTTrack or use the <tt>-P proxy:port</tt> option
in the command line program.</em><br>
</a></p>
<p><a NAME="Q14">Q: <strong>HTTrack has crashed during a mirror, what's happening?</strong><br>
A: <em>We are trying to avoid bugs and problems so that the program can be as reliable as
possible. But we can not be infallible. If you occurs a bug, please check if you have the
latest release of HTTrack, and send us an email with a detailed description of your
problem (OS type, addresses concerned, crash description, and everything you deem to be
necessary). This may help the other users too.</em><br>
<br>
<br>
<a NAME="Q100">Q: <strong>I want to update a mirrored project, but HTTrack is retransfering all pages. What's going on?</strong><br>
A: <em>First, HTTrack always rescans all local pages to reconstitute the website structure, and it can take some time.
Then, it asks the server if the files that are stored locally are up-to-date. On most sites, pages are not
updated frequently, and the update process is fast. But some sites have dynamically-generated pages that are considered as
"newer" than the local ones.. even if they are identical! Unfortunately, there is no possibility to avoid this problem,
which is strongly linked with the server abilities.
</em>
<br>
<br>
<a NAME="Q10a">Q: <strong>I want to continue a mirrored project, but HTTrack is rescanning all pages. What's going on?</strong><br>
A: <em>HTTrack has to (quickly) rescan all pages from the cache, without retransfering them, to rebuild the internal file structure. However, this process can take some time with huge sites
with numerous links.
</em>
<br>
<br>
<a NAME="Q101">Q: <strong>HTTrack window sometimes "disappears" at then end of a mirrored project. What's going on?</strong><br>
A: <em>This is a known bug in the interface. It does NOT affect the quality of the mirror, however. We are still hunting it down,
but this is a smart bug..
</em>
<br>
<br>
<br><u><strong>Questions concerning a mirror:</strong></u><br>
<br>
<a NAME="Q5">Q: <strong>I want to mirror a Web site, but there are some files outside
the domain, too. How to retrieve them?</strong><br>
A: <em>If you just want to retrieve files that can be reached through links, just activate
the 'get file near links' option. But if you want to retrieve html pages too, you can both
use wildcards or explicit addresses ; e.g. add <tt>www.someweb.com/*</tt> to accept all
files and pages from www.someweb.com.<br>
<br>
</em></a><a NAME="Q6">Q: <strong>I have forgotten some URLs of files during a long
mirror.. Should I redo all?</strong><br>
A: <em>No, if you have kept the 'cache' files (in hts-cache), cached files will not be
retransferred.</em><br>
<br>
</a><a NAME="Q7">Q: <strong>I just want to retrieve all ZIP files or other files in a web
site/in a page. How do I do it?</strong><br>
A: <em>You can use different methods. You can use the 'get files near a link' option if
files are in a foreign domain. You can use, too, a filter adress: adding <tt>+*.zip</tt>
in the URL list (or in the filter list) will accept all ZIP files, even if these files are
outside the address. <br>
Example : <tt>httrack www.someweb.com/someaddress.html +*.zip</tt> will allow
you to retrieve all zip files that are linked on the site.</em><br>
<br>
</a><a NAME="Q8">Q: <strong>There are ZIP files in a page, but I don't want to transfer
them. How do I do it?</strong><br>
A: <em>Just filter them: add <tt>-*.zip</tt></em> in the filter list.<br>
<br>
</a><a NAME="Q8b">Q: <strong>I don't want to download ZIP files bigger than 1MB and MPG files smaller than 100KB. Is it possible?</strong><br>
A: <em>You can use <a href="filters.html">filters</a> for that ; using the syntax:<br>
<tt>-*.zip*[&gt;1000] -*.mpg*[&lt;100]</tt><br>
<br>
</a><a NAME="Q9">Q: <strong>I don't want to load gif files.. but what may happen if I
watch the page?</strong><br>
A: <em>If you have filtered gif files (<tt>-*.gif</tt>), links to gif files will be
rebuilt so that your browser can find them on the server.</em><br>
<br>
</a><a NAME="Q9b">Q: <strong>I don't want to download thumbnail images.. is it possible?</strong><br>
A: <em>Filters can not be used with image pixel size ; but you can filter on file size (bytes).
Use advanced <a href="filters.html">filters</a> for that ; such as:<br>
<tt>-*.gif*[&lt;10]</tt> to exclude gif files smaller than 10KiB.
</em><br>
<br>
</a><a NAME="Q15">Q: <strong>I get all types of files on a web site, but I didn't select
them on filters!</strong><br>
A: <em>By default, HTTrack retrieves all types of files on authorized links. To avoid
that, define filters like </a><a NAME="Q7"><tt>-* +&lt;website&gt;/*.html
+&lt;website&gt;/*.htm +&lt;website&gt;/ +*.&lt;type wanted&gt;</tt></a><a NAME="Q10"><br>
Example: <tt>httrack www.someweb.com/index.html -* +www.someweb.com/*.htm* +www.someweb.com/*.gif +www.someweb.com/*.jpg</tt><br>
<br>
</em><a NAME="Q10">Q: <strong>When I use filters, I get too many files!</strong><br>
A: <em>You might use too large a filter, for example <tt>*.html</tt> will get ALL html
files identified. If you want to get all files on an address, use <tt>www.&lt;address&gt;/*.html</tt>.<br>
If you want to get ONLY files defined by your filters, use something like <tt>-* +www.foo.com/*</tt>, because
<tt>+www.foo.com/*</tt> will only accept selected links without forbidding other ones!<br>
There are lots of possibilities using filters.<br>
Example:<tt>httrack www.someweb.com +*.someweb.com/*.htm*</tt><br>
<br>
</em></a><a NAME="Q11">Q: <strong>When I use filters, I can't access another domain, but I
have filtered it!</strong><br>
A: <em>You may have done a mistake declaring filters, for example <tt>+www.someweb.com/*
-*someweb* </tt></em>will not work, because -*someweb* has an upper priority (because it has
been declared after +www.someweb.com)<br>
<br>
</a><a NAME="Q12">Q: <strong>Must I add a&nbsp; '+' or '-' in the filter list when I want
to use filters?</strong><br>
A: <em>YES. '+' is for accepting links and '-' to avoid them. If you forget it, HTTrack
will consider that you want to accept a filter if there is a wild card in the syntax - e.g.
+&lt;filter&gt; is identical to &lt;filter&gt; if &lt;filter&gt; contains a wild card (*)
(else it will be considered as a normal link to mirror)</em></a><br>
<br>
Q: <strong>I want to find file(s) in a web-site. How do I do it?</strong><br>
A: <a NAME="Q13"><em>You can use the filters: forbid all files (add a <tt>-*</tt> in the
filter list) and accept only html files and the file(s) you want to retrieve (BUT do not
forget to add <tt>+&lt;website&gt;*.html</tt> in the filter list, or pages will not be
scanned! Add the name of files you want with a <tt>*/</tt> before ; i.e. if you want to
retrieve file.zip, add <tt>*/file.zip</tt>)<br>
Example:<tt>httrack www.someweb.com +www.someweb.com/*.htm* +thefileiwant.zip</tt><br>
<br>
</em>
<a NAME="Q200">Q: <strong>I want to download ftp files/ftp site. How do I do it?</strong><br>
A: <em>First, HTTrack is not the best tool to download many ftp files. Its ftp engine is basic (even if reget are
possible) and if your purpose is to download a complete site, use a specific client.<br>
You can download ftp files just by typing the URL, such as <tt>ftp://ftp.somesite.com/pub/files/file010.zip</tt> and list ftp directories
like <tt>ftp://ftp.somesite.com/pub/files/</tt></em>.<br>
Note: For the filters, use something like <tt>+ftp.somesite.com/*</tt>
<br>
<br><a NAME="QM1">Q: <strong>How can I retrieve .asp or .cgi sources instead of .html result?</strong></a><br>
A: <em>You can't! For security reasons, web servers do not allow that.</em>
<br><br><a NAME="QM2">Q: <strong>How can I remove these annoying <tt>&lt;!-- Mirrored from... --&gt;</tt> from html files?</strong></a><br>
A: <em>Use the footer option (-%F, or see the WinHTTrack options)</em>
<br><br><a NAME="QM3">Q: <strong>Do I have to select between ascii/binary transfer mode?</strong></a><br>
A: <em>No, http files are always transferred as binary files. Ftp files, too (even if ascii mode could be selected)</em>
<br><br><a NAME="QM4">Q: <strong>Can HTTrack perform form-based authentication?</strong></a><br>
A: <em>Yes. See the URL capture abilities (--catchurl for command-line release, or in the WinHTTrack interface)</em>
<br><br><a NAME="QM5">Q: <strong>Can I redirect downloads to tar/zip archive?</strong></a><br>
A: <em>Yes. See the shell system command option (-V option for command-line release)</em>
<br><br><a NAME="QM6">Q: <strong>Can I use username/password authentication on a site?</strong></a><br>
A: <em>Yes. Use user:password@your_url (example: <tt>http://foo:bar@www.someweb.com/private/mybox.html</tt>)</em>
<br><br><a NAME="QM7">Q: <strong>Can I use username/password authentication for a proxy?</strong></a><br>
A: <em>Yes. Use user:password@your_proxy_name as your proxy name (example: <tt>smith:foo@proxy.mycorp.com</tt>)</em>
<br><br><a NAME="QM8">Q: <strong>Can HTTrack generates HP-UX or ISO9660 compatible files?</strong></a><br>
A: <em>Yes. See the build options (-N, or see the WinHTTrack options)</em>
<br><br><a NAME="QM9">Q: <strong>If there any SOCKS support?</strong></a><br>
A: <em>Not yet!</em>
<br><br><a NAME="QM10">Q: <strong>What's this hts-cache directory? Can I remove it?</strong></a><br>
A: <em>NO if you want to update the site, because this directory is used by HTTrack for this purpose.
If you remove it, options and URLs will not be available for updating the site</em>
<br><br><a NAME="QM10b">Q: <strong>What is the meaning of the <tt>Links scanned: 12/34 (+5)</tt> line in WinHTTrack/WebHTTrack?</strong></a><br>
A: <em>12 is the number of links scanned and stored, 34 the total number of links detected to be parsed, and 5 the number of files downloaded in background.
In this example, 17 links were downloaded out of a (temporary) total of 34 links.</em>
<br><br><a NAME="QM11">Q: <strong>Can I start a mirror from my bookmarks?</strong></a><br>
A: <em>Yes. Drag&Drop your bookmark.html file to the WinHTTrack window (or use file://filename for command-line release) and select
bookmark mirroring (mirror all links in pages, -Y) or bookmark testing (--testlinks)<em></em>
<br><br><a NAME="QM11c">Q: <strong>Can I convert a local website (file:// links) to a standard website?</strong></a><br>
A: <em>Yes. Just start from the top index (example: file://C:\foopages\index.html) and mirror the local website.
HTTrack will convert all file:// links to relative ones.
</em>
<br><br><a NAME="QM11b">Q: <strong>Can I copy a project to another folder - Will the mirror work?</strong></a><br>
A: <em>Yes. There is no absolute links, all links are relative.
You can copy a project to another drive/computer/OS, and browse is without installing anything.</em>
<br><br><a NAME="QM12">Q: <strong>Can I copy a project to another computer/system? Can I then update it ?</strong></a><br>
A: <em>Absolutely! You can keep your HTTrack favorite folder (C:\My Web Sites) in your local hard disk, copy it
for a friend, and possibly update it, and then bring it back!<br>You can copy individual folders (projects), too: exchange
your favorite websites with your friends, or send an old version of a site to someone who has a faster connection, and
ask him to update it!</i><br>
<br><small>
Note: Export (Windows <-> Linux)<br>
The file and cache structure is compatible between Linux/Windows, but you may have to do some changes, like the path<br>
<table border="1">
<tr><th>
Windows -> Linux/Unix
</th></tr>
<tr><td>
Copy (in binary mode) the entire folder and then to update it, enter into it and do a<br>
<tt>
httrack --update -O ./
</tt>
<br><br>
<i>
Note: You can then safely replace the existing folder (under Windows) with this one, because
the Linux/Unix version did not change any options<br>
Note: If you often switch between Windows/Linux with the same project, it might be a good idea to edit the hts-cache/doit.log file
and delete old "-O" entries, because each time you do a <tt>httrack --update -O ./</tt> an entry is added,
causing the command line to be long
</i>
</td></tr>
<tr><th>
Linux/Unix -> Windows
</th></tr>
<tr><td>
Copy (in binary mode) the entire folder in your favorite Web mirror folder.
Then, select this project, AND retype ALL URLs AND redefine all options as if you were
creating a new project.
This is necessary because the profile (winprofile.ini) has not be created with the Linux/Unix version.
But do not be afraid, WinHTTrack will use cached files to update the project!
</td></tr>
</table>
</small>
</em>
<br><br><a NAME="QM13">Q: <strong>How can I grab email addresses in web pages?</strong></a><br>
A: <em>You can not. HTTrack has not be designed to be an email grabber, like many other (bad) products.
</em>
<br>
<br>
<br>
<u><strong>Other problems:</strong></u><br>
<br>
<a NAME="Q300">Q: <strong>My problerm is not listed!</strong><br>
A: <em>Feel free to <a href="contact.html">contact us</a>!
</em><br>
</em></p><h3><br>
<!-- ==================== Start epilogue ==================== -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
<tr>
<td id="footer"><small>&copy; 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
</tr>
</table>
</body>
</html>
+2719
View File
File diff suppressed because it is too large Load Diff
+477
View File
@@ -0,0 +1,477 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="HTTrack is an easy-to-use website mirror utility. It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuiltrelatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one toanother. You can, also, update an existing mirror site, or resume an interrupted download. The robot is fully configurable, with an integrated help" />
<meta name="keywords" content="httrack, HTTRACK, HTTrack, winhttrack, WINHTTRACK, WinHTTrack, offline browser, web mirror utility, aspirateur web, surf offline, web capture, www mirror utility, browse offline, local site builder, website mirroring, aspirateur www, internet grabber, capture de site web, internet tool, hors connexion, unix, dos, windows 95, windows 98, solaris, ibm580, AIX 4.0, HTS, HTGet, web aspirator, web aspirateur, libre, GPL, GNU, free software" />
<title>HTTrack Website Copier - Offline Browser</title>
<style type="text/css">
<!--
body {
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
background: #77b;
}
body, td {
font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
#subTitle {
background: #000; color: #fff; padding: 4px; font-weight: bold;
}
#siteNavigation a, #siteNavigation .current {
font-weight: bold; color: #448;
}
#siteNavigation a:link { text-decoration: none; }
#siteNavigation a:visited { text-decoration: none; }
#siteNavigation .current { background-color: #ccd; }
#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
a:link { text-decoration: underline; color: #00f; }
a:visited { text-decoration: underline; color: #000; }
a:hover { text-decoration: underline; color: #c00; }
a:active { text-decoration: underline; }
#pageContent {
clear: both;
border-bottom: 6px solid #000;
padding: 10px; padding-top: 20px;
line-height: 1.65em;
background-image: url(images/bg_rings.gif);
background-repeat: no-repeat;
background-position: top right;
}
#pageContent, #siteNavigation {
background-color: #ccd;
}
.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
h1 { margin: 0; font-weight: bold; font-size: 2em; }
h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
.blak { background-color: #000; }
.hide { display: none; }
.tableWidth { min-width: 400px; }
.tblRegular { border-collapse: collapse; }
.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
.tblHeaderColor, .tblHeaderColor td { background: #99c; }
.tblNoBorder td { border: 0; }
// -->
</style>
</head>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr>
<td><img src="images/header_title_4.gif" width="400" height="34" alt="HTTrack Website Copier" title="" border="0" id="title" /></td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="3" class="tableWidth">
<tr>
<td id="subTitle">Open Source offline browser</td>
</tr>
</table>
<table width="76%" border="0" align="center" cellspacing="0" cellpadding="0" class="tableWidth">
<tr class="blak">
<td>
<table width="100%" border="0" align="center" cellspacing="1" cellpadding="0">
<tr>
<td colspan="6">
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="10">
<tr>
<td id="pageContent">
<!-- ==================== End prologue ==================== -->
<h2 align="center"><em>Filters: Advanced</em></h2>
<br>
See also: The <a href="faq.html#VF1">FAQ</a><br>
<br>
<i>You have to know that once you have defined
starts links, the default mode is to mirror these links - i.e. if one of your start page is
www.someweb.com/test/index.html, all links starting with www.someweb.com/test/ will be
accepted. But links directly in www.someweb.com/.. will not be accepted, however, because
they are in a higher strcuture. This prevent HTTrack from mirroring the whole site. (All
files in structure levels equal or lower than the primary links will be retrieved.)<br>
</i>
<br>
<b>But</b> you may want to download files that are not directly in the subfolders, or on the
contrary refuse files of a particular type. That is the purpose of filters.
<br>
<p>
<h4>Scan rules based on URL or extension (e.g. accept or refuse all .zip or .gif files)</h4>
</p>
To accept a family of links (for example, all links with a specific name or type), you just have to add
an authorization filter, like <b><tt>+*.gif</tt></b>. The pattern is a plus (this one: <b><tt>+</tt></b>),
followed by a pattern composed of letters and wildcards (this one: <b><tt>*</tt></b>).
<br><br>
To forbide a family of links, define
an authorization filter, like <b><tt>-*.gif</tt></b>. The pattern is a dash (this one: <b><tt>-</tt></b>),
followed by a the same kind of pattern as for the authorization filter.
<br><br>
Example: +*.gif will accept all files finished by .gif<br>
Example: -*.gif will refuse all files finished by .gif<br>
<br>
<p>
<h4>Scan rules based on size (e.g. accept or refuse files bigger/smaller than a certain size)</h4>
</p>
Once a link is scheduled for download, you can still refuse it (i.e. abort the download) by checking its
size to ensure that you won't reach a defined limit.
Example: You may want to accept all files on the domain www.example.com, using '+www.example.com/*',
including gif files inside this domain and outside (eternal images), but not take to large images,
or too small ones (thumbnails)<br>
Excluding gif images smaller than 5KB and images larger than 100KB is therefore a good option;
+www.example.com +*.gif -*.gif*[<5] -*.gif*[>100]
<br>
Important notice: size scan rules are checked <font color=red><b>after</b></font> the link was scheduled for download,
allowing to abort the connection.
<p>
<h4>Scan rules based on MIME types (e.g. accept or refuse all files of type audio/mp3)</h4>
</p>
Once a link is scheduled for download, you can still refuse it (i.e. abort the download) by matching its MIME
type against certain patterns.
Example: You may want to accept all files on the domain www.example.com, using '+www.example.com/*', and
exclude all gif files, using '-*.gif'. But some dynamic scripts (such as www.example.com/dynamic.php) can
both generate html content, or image data content, depending on the context. Excluding this script, using
the scan rule '-www.example.com/dynamic.php', is therefore not a good solution.
<br>
The only reliable way in such cases is to exclude the specific mime type 'image/gif', using the scan rule
syntax:<br>
-mime:image/gif
<br>
Important notice: MIME types scan rules are <font color=red><b>only</b></font> checked against links that were
scheduled for download, i.e. links <b>already authorized</b> by url scan rules.
Hence, using '+mime:image/gif' will only be a hint to accept images that were already authorized,
if previous MIME scan rules excluded them - such as in '-mime:*/* +mime:text/html +mime:image/gif'
<br>
<br>
<h3>Scan rules patterns:</h3>
<p>
<h4>1.a. Scan rules based on URL or extension</h4>
</p>
<br>
Filters are analyzed by HTTrack from the first filter to the last one. The complete URL
name is compared to filters defined by the user or added automatically by HTTrack. <br><br>
A scan rule has an higher priority is it is declared later - hierarchy is important: <br>
<br>
<table BORDER="1" CELLPADDING="2">
<tr><td nowrap>
<tt>+*.gif -image*.gif</tt>
</td><td>
Will accept all gif files BUT image1.gif,imageblue.gif,imagery.gif and so on
</tr>
<tr><td nowrap>
<tt>-image*.gif +*.gif</tt>
</td><td>
Will accept all gif files, because the second pattern is prioritary (because it is defined AFTER the first one)
</tr>
</table>
<br>
Note: these scan rules can be mixed with scan rules based on size (see 1.b)<br>
<br>
We saw that patterns are composed of letters and wildcards (<b><tt>*</tt></b>), as in */image*.gif
<p align="JUSTIFY"><br>
Special wild cards can be used for specific characters: (*[..])</p>
<table BORDER="1" CELLPADDING="2">
<tr>
<td nowrap><tt>*</tt></td>
<td>any characters (the most commonly used)</td>
</tr>
<tr>
<td nowrap><tt>*[file] or *[name]</tt></td>
<td>any filename or name, e.g. not /,? and ; characters</td>
</tr>
<tr>
<td nowrap><tt>*[path]</tt></td>
<td>any path (and filename), e.g. not ? and ; characters</td>
</tr>
<tr>
<td nowrap><tt>*[a,z,e,r,t,y]</tt></td>
<td>any letters among a,z,e,r,t,y</td>
</tr>
<tr>
<td nowrap><tt>*[a-z]</tt></td>
<td>any letters</td>
</tr>
<tr>
<td nowrap><tt>*[0-9,a,z,e,r,t,y]</tt></td>
<td>any characters among 0..9 and a,z,e,r,t,y</td>
</tr>
<tr>
<td nowrap><tt>*[\*]</tt></td>
<td>the * character</td>
</tr>
<tr>
<td nowrap><tt>*[\\]</tt></td>
<td>the \ character</td>
</tr>
<tr>
<td nowrap><tt>*[\[\]]</tt></td>
<td>the [ or ] character</td>
</tr>
<tr>
<td nowrap><tt>*[]</tt></td>
<td>no characters must be present after</a></td>
</tr>
</table>
<p align="JUSTIFY"><br>
Here are some examples of filters: (that can be generated automatically using the
interface)</p>
<table BORDER="1" CELLPADDING="2">
<tr>
<td nowrap><tt>www.thisweb.com* </tt></td>
<td>This will refuse/accept this web site (all links located in it will be rejected)</td>
</tr>
<tr>
<td nowrap><tt>*.com/*</tt></td>
<td>This will refuse/accept all links that contains .com in them</td>
</tr>
<tr>
<td nowrap><tt>*cgi-bin* </tt></td>
<td>This will refuse/accept all links that contains cgi-bin in them</td>
</tr>
<tr>
<td nowrap><tt>www.*[path].com/*[path].zip </tt></td>
<td>This will refuse/accept all zip files in .com addresses</td>
</tr>
<tr>
<td nowrap><tt>*someweb*/*.tar*</tt></td>
<td>This will refuse/accept all tar (or tar.gz etc.) files in hosts containing someweb</td>
</tr>
<tr>
<td nowrap><tt>*/*somepage*</tt></td>
<td>This will refuse/accept all links containing somepage (but not in the address)</td>
</tr>
<tr>
<td nowrap><tt>*.html</tt></td>
<td>This will refuse/accept all html files. <br>
Warning! With this filter you will accept ALL html files, even those in other addresses.
(causing a global (!) web mirror..) Use www.someweb.com/*.html to accept all html files from
a web.</td>
</tr>
<tr>
<td nowrap><tt>*.html*[]</tt></td>
<td>Identical to <tt>*.html</tt>, but the link must not have any supplemental characters
at the end (links with parameters, like <tt>www.someweb.com/index.html?page=10</tt>, will be
refused)</td>
</tr>
</table>
<p>
<h4>1.b. Scan rules based on size</h4>
</p>
<br>
Filters are analyzed by HTTrack from the first filter to the last one. The sizes
are compared against scan rules defined by the user.<br><br>
A scan rule has an higher priority is it is declared later - hierarchy is important.<br>
Note: scan rules based on size can be mixed with regular URL patterns<br>
<p align="JUSTIFY"><br>
Size patterns:</p>
<table BORDER="1" CELLPADDING="2">
<tr>
<td nowrap><tt>*[&lt;NN]</tt></td>
<td>the file size must be smaller than NN KB
<br>(note: this may cause broken files during the download)</td>
</tr>
<tr>
<td nowrap><tt>*[&gt;NN]</tt></td>
<td>the file size must be greater than NN KB
<br>(note: this may cause broken files during the download)</td>
</tr>
<tr>
<td nowrap><tt>*[&lt;NN&gt;MM]</tt></td>
<td>the file size must be smaller than NN KB and greater than MM KB
<br>(note: this may cause broken files during the download)</td>
</tr>
</table>
<p align="JUSTIFY"><br>
Here are some examples of filters: (that can be generated automatically using the
interface)</p>
<table BORDER="1" CELLPADDING="2">
<tr>
<td nowrap><tt>-*[&lt;10]</tt></td>
<td>the file will be forbidden if its size is smaller than 10 KB</td>
</tr>
<tr>
<td nowrap><tt>-*[&gt;50]</tt></td>
<td>the file will be forbidden if its size is greater than 50 KB</td>
</tr>
<tr>
<td nowrap><tt>-*[&lt;10] -*[&gt;50]</tt></td>
<td>the file will be forbidden if if its size is smaller than 10 KB <b>or</b> greater than 50 KB</td>
</tr>
<tr>
<td nowrap><tt>+*[&lt;80&gt;1]</tt></td>
<td>the file will be accepted if if its size is smaller than 80 KB <b>and</b> greater than 1 KB</td>
</tr>
</table>
<p>
<h4>2. Scan rules based on MIME types</h4>
</p>
<br>
Filters are analyzed by HTTrack from the first filter to the last one. The complete MIME
type is compared against scan rules defined by the user.<br><br>
A scan rule has an higher priority is it is declared later - hierarchy is important<br>
Note: scan rules based on MIME types can <b>NOT</b> be mixed with regular URL patterns or size patterns within the same rule, but you can use both of them in distinct ones<br>
<p align="JUSTIFY"><br>
Here are some examples of filters: (that can be generated automatically using the
interface)</p>
<table BORDER="1" CELLPADDING="2">
<tr>
<td nowrap><tt>-mime:application/octet-stream</tt></td>
<td>This will refuse all links of type 'application/octet-stream' that were already scheduled for download
(i.e. the download will be aborted)</td>
</tr>
<tr>
<td nowrap><tt>-mime:application/*</tt></td>
<td>This will refuse all links of type begining with 'application/' that were already scheduled for download
(i.e. the download will be aborted)</td>
</tr>
<tr>
<td nowrap><tt>-mime:application/* +mime:application/pdf</tt></td>
<td>This will refuse all links of type begining with 'application/' that were already scheduled for download, except for 'application/pdf' ones
(i.e. all other 'application/' link download will be aborted)</td>
</tr>
<tr>
<td nowrap><tt>-mime:video/*</tt></td>
<td>This will refuse all video links that were already scheduled for download
(i.e. all other 'application/' link download will be aborted)</td>
</tr>
<tr>
<td nowrap><tt>-mime:video/* -mime:audio/*</tt></td>
<td>This will refuse all audio and video links that were already scheduled for download
(i.e. all other 'application/' link download will be aborted)</td>
</tr>
<tr>
<td nowrap><tt>-mime:*/* +mime:text/html +mime:image/*</tt></td>
<td>This will refuse all links that were already scheduled for download, except html pages, and images
(i.e. all other link download will be aborted). Note that this is a very unefficient way of filtering
files, as aborted downloads will generate useless requests to the server. You are strongly advised to
use additional URL scan rules</td>
</tr>
</table>
<p>
<h4>2. Scan rules based on URL or size, and scan rules based on MIME types interactions</h4>
</p>
You must use scan rules based on MIME types very carefully, or you will end up with an imcomplete
mirror, or create an unefficient download session (generating costly and useless requests to the server)
<br>
<p align="JUSTIFY"><br>
Here are some examples of good/bad scan rules interactions:</p>
<table BORDER="1" CELLPADDING="1">
<tr>
<td>Purpose</td>
<td>Method</td>
<td>Result</td>
</tr>
<!-- -->
<tr>
<td rowspan=2>Download all html and images on www.example.com</td>
<td bgcolor="#55ff55"><tt>-*<br /> +www.example.com/*.html<br /> +www.example.com/*.php<br /> +www.example.com/*.asp<br /> +www.example.com/*.gif <br />+www.example.com/*.jpg <br />+www.example.com/*.png<br /> -mime:*/* +mime:text/html +mime:image/*</tt></td>
<td>Good: efficient download</td>
</tr>
<tr>
<td bgcolor="#FF5555"><tt>-*<br />+www.example.com/*<br />-mime:*/* +mime:text/html +mime:image/*</tt></td>
<td>Bad: many aborted downloads, leading to poor performances and server load</td>
</tr>
<!-- -->
<tr>
<td rowspan=2>Download only html on www.example.com, plus ZIP files</td>
<td bgcolor="#55ff55"><tt>-*<br /> +www.example.com/*.html<br />+www.example.com/somedynamicscript.php<br />+www.example.com/*.zip<br>-mime:* +mime:text/html +mime:application/zip</tt></td>
<td>Good: ZIP files will be downloaded, even those generated by 'somedynamicscript.php'</td>
</tr>
<tr>
<td bgcolor="#FF5555"><tt>-*<br /> +www.example.com/*.html<br>-mime:* +mime:text/html +mime:application/zip</tt></td>
<td>Bad: ZIP files will never be scheduled for download, and hence the zip mime scan rule will never be used</td>
</tr>
<!-- -->
<tr>
<td rowspan=2>Download all html, and images smaller than 100KB on www.example.com</td>
<td bgcolor="#55ff55"><tt>-*<br /> +www.example.com/*.html<br /> +www.example.com/*.php<br /> +www.example.com/*.asp<br /> +www.example.com/*.gif*[<100] <br />+www.example.com/*.jpg*[<100] <br />+www.example.com/*.png*[<100]<br /> -mime:*/* +mime:text/html +mime:image/*</tt></td>
<td>Good: efficient download</td>
</tr>
<tr>
<td bgcolor="#FF5555"><tt>-*<br />+www.example.com/**[<100]<br />-mime:*/* +mime:text/html +mime:image/*</tt></td>
<td>Bad: many aborted downloads, leading to poor performances and server load</td>
</tr>
</table>
<br>
<!-- ==================== Start epilogue ==================== -->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="76%" border="0" align="center" valign="bottom" cellspacing="0" cellpadding="0">
<tr>
<td id="footer"><small>&copy; 2007 Xavier Roche & other contributors - Web Design: Leto Kauler.</small></td>
</tr>
</table>
</body>
</html>
+70
View File
@@ -0,0 +1,70 @@
body {
margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
background: #77b;
}
body, td {
font: 0.96em/1.3em "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
#subTitle {
background: #000; color: #fff; padding: 4px; font-weight: bold;
}
/*
Width for "#siteNavigation td" based on number of buttons
Six: 16.6%
*/
#siteNavigation td { width: 16.6%; }
#siteNavigation a {
display: block; padding: 2px;
text-align: center; font-weight: bold; color: #448; /* font-size: 12px; */ background-color: #99c;
}
#siteNavigation a:link { text-decoration: none; }
#siteNavigation a:visited { text-decoration: none; }
#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 p { margin: 0; margin-bottom: 30px; }
#pageContent, #siteNavigation {
background-color: #ccd;
}
.tableWidth { min-width: 400px; }
/* ----------------------------------- */
.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; }
.blak { background-color: #000; }
.hide { display: none; }
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

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