README
上传用户:seven77cht
上传日期:2007-01-04
资源大小:486k
文件大小:30k
源码类别:

浏览器

开发平台:

Unix_Linux

  1.           WWWOFFLE - World Wide Web Offline Explorer - Version 2.5
  2.           ========================================================
  3. The WWWOFFLE programs simplify World Wide Web browsing from computers that use
  4. intermittent (dial-up) connections to the internet.
  5. Description
  6. -----------
  7. The WWWOFFLE server is a proxy web server with special features for use with
  8. dial-up internet links.  This means that it is possible to browse web pages and
  9. read them without having to remain connected.
  10. Basic Features
  11.     - Caching of HTTP, FTP and finger protocols.
  12.     - Allows the 'GET', 'HEAD', 'POST' and 'PUT' HTTP methods.
  13.     - Interactive or command line control of online/offline/autodial status.
  14.     - Highly configurable.
  15.     - Low maintenance, start/stop and online/offline status can be automated.
  16. While Online
  17.     - Caching of pages that are viewed for later review.
  18.     - Conditional fetching to only get pages that have changed.
  19.         - Based on expiration date, time since last fetched or once per session.
  20.     - Non cached support for SSL (Secure Socket Layer e.g. https).
  21.     - Can be used with one or more external proxies based on web page.
  22.     - Control which pages cannot be accessed.
  23.         - Allow replacement of blocked pages.
  24.     - Control which pages are not to be stored in the cache.
  25. While Offline
  26.     - Can be configured to use dial-on-demand for pages that are not cached.
  27.     - Selection of pages to download next time online
  28.         - Using normal browser to follow links.
  29.         - Command line interface to select pages for downloading.
  30.     - Control which pages can be requested when offline.
  31.     - Provides non-cached access to intranet servers.
  32. Automated Download
  33.     - Downloading of specified pages non-interactively.
  34.     - Options to automatically fetch objects in requested pages
  35.         - Understands various types of pages
  36.             - HTML 4.0, Java classes, VRML (partial), XML (partial).
  37.         - Options to fetch different classes of objects
  38.             - Images, Stylesheets, Frames, Scripts, Java or other objects.
  39.     - Automatically follows links for pages that have been moved.
  40.     - Can monitor pages at regular intervals to fetch those that have changed.
  41.     - Recursive fetching
  42.         - To specified depth.
  43.         - On any host or limited to same server or same directory.
  44.         - Chosen from command line or from browser.
  45.         - Control over which links can be fetched recursively.
  46. Convenience
  47.     - Optional information footer on HTML pages showing date cached and options.
  48.     - Options to modify HTML pages
  49.         - Remove Javascript.
  50.         - Stop animated GIFs.
  51.         - Indicate cached and uncached links.
  52.         - Remove the blink tag.
  53.     - Automatic proxy configuration for Netscape.
  54.     - Searchable cache with the addition of the ht://Dig program.
  55.     - Built in simple web-server for local pages.
  56.     - Timeouts for server connection and data transfer to stop server lockups.
  57.     - Continue or stop downloads interrupted by client or server.
  58.     - Purging of pages from cache
  59.         - Based on URL matching.
  60.         - To keep the cache size below a specified limit.
  61.         - To keep the free disk space above a specified limit.
  62.         - Interactive or command line control.
  63. Indexes
  64.     - Multiple indexes of pages stored in cache
  65.         - Servers for each protocol (http, ftp ...).
  66.         - Pages on each server.
  67.         - Pages waiting to be fetched.
  68.         - Pages fetched last time online.
  69.         - Pages monitored on a regular basis.
  70.     - Configurable indexes
  71.         - Sorted by name, date, server domain name, type of file.
  72.         - Options to delete, refresh or monitor pages.
  73.         - Selection of complete list of pages or hide un-interesting pages.
  74. Security
  75.     - Works with pages that require basic username/password authentication.
  76.     - Automates proxy authentication for external proxies that require it.
  77.     - Control over access to the proxy
  78.         - Defaults to local host access only.
  79.         - Host access configured by hostname or IP address.
  80.         - Optional proxy authentication for user level access control.
  81.     - Optional password control for proxy management functions.
  82.     - Can censor incoming and outgoing HTTP headers to maintain user privacy.
  83. Configuration
  84.     - All options controlled using a configuration file.
  85.     - Interactive web page to allow editing of the configuration file.
  86.     - User customisable error and information pages.
  87. Configuring A Web Browser
  88. -------------------------
  89. To use the WWWOFFLE programs, requires that your web browser is set up to use it
  90. as a proxy.  The proxy hostname will be 'localhost' (or the name of the host
  91. that wwwoffled is running on), and the port number will be the one that is used
  92. by wwwoffled (default 8080).
  93. Manual Configuration
  94.     Netscape V1:
  95.         In the Options->Preferences dialog window, enter localhost as the http
  96.         and ftp proxies and 8080 as the port numbers.
  97.     Netscape V2,3:
  98.         In the Options->Preferences dialog window under the Proxies tab select
  99.         the "Manual Proxy Configuration" option and enter localhost as the http
  100.         and ftp proxies and 8080 as the port numbers.
  101.     Netscape V4:
  102.         In the Edit->Preferences dialog window select Advanced and then Proxies,
  103.         select the "Manual Proxy Configuration" option and enter localhost as
  104.         the http and ftp proxies and 8080 as the port numbers.
  105.     Mosaic V2.6, Lynx, Arena, Emacs-W3:
  106.         Set the environment variables http_proxy and ftp_proxy to
  107.         http://localhost:8080/
  108. Automatic Configuration
  109.     Netscape 2+:
  110.         Instead of selecting the "Manual Proxy Configuration" option as described
  111.         above, select the "Automatic燩roxy燙onfiguration" option and enter
  112.         http://localhost:8080/wwwoffle.pac in the box.
  113. You will also need to disable the caching that the web browser performs itself
  114. between sessions to get the best out of the program.
  115. Depending on which browser you use and which version, it is possible to request
  116. pages to be refreshed while offline.  This is done using the 'reload' or
  117. 'refresh' button or key on the browser.  On many browsers, there are two ways of
  118. doing this, one forces the proxy to reload the page, and this is the one that
  119. will cause the page to be refreshed.
  120. The latest browser compatibility information is available at:
  121. http://www.gedanken.demon.co.uk/wwwoffle/version-2.5/browser.html
  122. Welcome Page
  123. ------------
  124. There is a welcome page at URL 'http://localhost:8080/' that gives a very brief
  125. description of the program and has links to the index pages, interactive control
  126. page and the WWWOFFLE internet home pages.
  127. The most important places to get information about WWWOFFLE are the WWWOFFLE
  128. homepage 'http://www.gedanken.demon.co.uk/wwwoffle/' which has information about
  129. WWWOFFLE in general.  Or even better the WWWOFFLE version-2.5 user page
  130. 'http://www.gedanken.demon.co.uk/wwwoffle/version-2.5/user.html' which has more
  131. information about this version of WWWOFFLE.
  132. Index Of Cached Files
  133. ---------------------
  134. To get the index of cached files, use the URL 'http://localhost:8080/index/'.
  135. There are sufficient links on each of the index pages to allow easy navigation.
  136. The indexes provides several levels of information:
  137.    A list of the requests in the outgoing directory.
  138.    A list of the files fetched the last time that the program was online.
  139.       And for the previous 3 times before that.
  140.    A list of the files that are being monitored.
  141.    A list of the most recently fetched files.
  142.    A list of all hosts for each of the protocols (http,ftp etc.).
  143.       A list of all of the files on a particular host.
  144. These indexes can be sorted in a number of ways:
  145.    No sorting
  146.    By time of last modification (update).
  147.    By time of last access.
  148.    By date of last update with markers for each day.
  149.    Alphabetically.
  150.    By file extension.
  151. For each of the pages that are cached there are options to delete the page,
  152. refresh it, select the interactive refresh page with the URL already filled in
  153. or add the page to the list that is monitored regularly.
  154. It is also possible to specify in the configuration file what URLs are not to be
  155. listed in the indexes.
  156. Interactive Refresh Page
  157. ------------------------
  158. Pages can be specified by using whatever method is provided by the browser that
  159. is used or as an alternative there is an interactive refresh page.  This allows
  160. the user to enter a URL and then fetch it if it is not currently cached or
  161. refresh it if it is in the cache.  There is also the option here to recursively
  162. fetch the pages that are linked to by the page that is specified.  This
  163. recursive fetching can be limited to pages from the same host, narrowed down to
  164. links in the same directory (or subdirectory) or widened to fetch pages from any
  165. web server.  This functionality is also provided in the 'wwwoffle' command line
  166. program.
  167. Monitoring Web-Pages
  168. --------------------
  169. Pages can be specified that are to be checked at regular intervals.  This can
  170. either be every time that WWWOFFLE is online or at user specifiable times.  The
  171. page will be monitored when the four specified conditions are all met:
  172. A month of the year that it can be fetched in (can be set to all months).
  173. A day of the month that the page can be fetched on (can be set to all days).
  174. A day of the week that the page can be fetched on (can be set to all days).
  175. An hour of the day that the page should be fetched after (can be more than one).
  176. For example to get a URL every Saturday morning, use the following:
  177. Month of year: all
  178. Day of Month : all
  179. Day of week  : Saturday
  180. Hour of day  : 0 (24hr clock)
  181. Interactive Control Page
  182. ------------------------
  183. The behaviour and mode of operation of the WWWOFFLE demon can be controlled from
  184. an interactive control page at 'http://localhost:8080/control/'.  This has a
  185. number of buttons that change the mode of the proxy server.  These provide the
  186. same functionality as the 'wwwoffle' command line program.  To provide security,
  187. this page can be password protected.  There is also the facility to delete pages
  188. from the cache or from the spooled outgoing requests directory.
  189. Interactive Configuration File Editing Page
  190. -------------------------------------------
  191. The interactive configuration file editing page allows the configuration file
  192. wwwoffle.conf to be edited.  This facility can be reached via the control page
  193. 'http://localhost:8080/control/'.  Each section in the configuration file has a
  194. separate dialog box that allows the contents of the section to be changed.  The
  195. comments from the configuration file are displayed in the page so that the
  196. description of the possible values in the different sections can be consulted.
  197. When the contents of the sections have been updated, the configuration file can
  198. be re-read by selecting the link at the bottom of the page.
  199. Searching the Cache
  200. -------------------
  201. If the ht://Dig program (version 3.1.0b3 or later - http://htdig.sdsu.edu/) is
  202. installed as well then it is possible to search the WWWOFFLE cache.  The web
  203. page 'http://localhost:8080/htdig/' provides the search form that will search
  204. the database that is created by running the scripts provided with WWWOFFLE.  For
  205. information about installing ht://Dig so that it can search the WWWOFFLE cache
  206. you should read the file README.htdig.
  207. Built-In Web-Server
  208. -------------------
  209. Any URLs to WWWOFFLE on port 8080 that refer to the directory '/local/' are
  210. taken from the files in the 'html/local' sub-directory of the spool directory.
  211. This allows trivial web-pages to be provided without a separate web-server,
  212. there are no CGIs available.  The MIME type used for these files are those that
  213. are specified in the configuration file.
  214. Important: The local web-page server will follow symbolic links, but will only
  215.            allow access to files that are world readable.  See the FAQ for
  216.            security issues.
  217. Deleting Requests
  218. -----------------
  219. If no password is used for the control pages then it is possible for anybody to
  220. delete requests that are recorded.  If a password is assigned then users that
  221. know this password can delete any request (or cached file or other thing).
  222. Individual users that do not know the password can delete pages that they have
  223. requested provided that they do it immediately that the "Will Get" page appears,
  224. the "Cancel" button on here has a once-only password that will delete that
  225. request.
  226. Backup Copies of Pages
  227. ----------------------
  228. When a page is fetched while online a remote server error will overwrite any
  229. existing web page.  In this case a backup copy of the page is made so that when
  230. the error message has been read while offline the backup copy is placed back
  231. into the cache.  This is automatic for all cases of files that have remote
  232. server errors (and that do not use external proxies), no user intervention is
  233. required.
  234. Lock Files
  235. ----------
  236. When one WWWOFFLE process is downloading a file any other WWWOFFLE process that
  237. tries to read that file will not be able to until the first one has finished.
  238. This removes the problem of an incomplete page being displayed in the second
  239. browser, or a second copy of the page being fetched.  If the lock file is not
  240. removed by the first process within a timeout period then the second process
  241. will produce an error message indicating the problem.
  242. Spool Directory Layout
  243. ----------------------
  244. In the spool directory there is a directory for each of the network protocols
  245. that are handled.  In this directory there is a directory for each hostname that
  246. has been contacted and has pages cached.  These directories have the name of the
  247. host.  In each of these directories, there is an entry for each of the pages
  248. that are cached, generated using a hashing function to give a constant length.
  249. The entry consists of two files, one prefixed with 'D' that contains the data
  250. and one prefixed with 'U' that contains the URL.
  251. The outgoing directory is a single directory that all of the pending requests
  252. are contained in, the format is the same with two files for each, but using 'O'
  253. for the file containing the request instead of 'D' and one prefixed with 'U'
  254. that contains the URL.
  255. The lasttime directory is a single directory that contains an entry for each of
  256. the files that were fetched the last time that the program was online.  Each
  257. entry consists of two files, one prefixed with 'D' that is a hard-link to the
  258. real file and one prefixed with 'U' that contains the URL.
  259. The monitor directory is a single directory that all of the regularly monitored
  260. requests are contained in, the format is the same as the outgoing directory with
  261. two files for each, using 'O' and 'U' prefixes.
  262. The Programs and Configuration File
  263. -----------------------------------
  264. There are two programs that make up this utility, with three distinct functions.
  265. wwwoffle  - A program to interact with and control the HTTP proxy demon.
  266. wwwoffled - A demon process that acts as an HTTP proxy.
  267. wwwoffles - A server that actually does the fetching of the web pages.
  268. The wwwoffles function is combined with the wwwoffled function into the
  269. wwwoffled program from version 1.1 onwards.  This is to simplify the procedure
  270. of starting servers, and allow for future improvements.
  271. The configuration file, called wwwoffle.conf by default contains all of the
  272. parameters that are used to control the way the wwwoffled and wwwoffles
  273. functions work.
  274. WWWOFFLE - User control program
  275. -------------------------------
  276. The control program (wwwoffle) is used to control the action of the demon
  277. program (wwwoffled), or to request pages that are not in the cache.
  278. The demon program needs to know if the system is online or offline, when to
  279. fetch the pages that have been previously requested and when to purge the cache
  280. of old pages.
  281. The first mode of operation is for controlling the demon process.  These are the
  282. functions that are also available on the interactive control page (except kill).
  283. wwwoffle -online        Indicates to the demon that the system is online.
  284. wwwoffle -autodial      Indicates to the demon that the system is in autodial
  285.                         mode, this will use cached pages if they exist and use
  286.                         the network as last resort, for dial-on-demand systems.
  287. wwwoffle -offline       Indicates to the demon that the system is offline.
  288. wwwoffle -fetch         Commands the demon to fetch the pages that were
  289.                         requested by browsers while the system was offline.
  290.                         wwwoffle exits when the fetching is complete.
  291.                         (This requires the demon to be told it is online).
  292. wwwoffle -config        Cause the configuration file for the demon process to be
  293.                         re-read.  The config file can also be re-read by sending
  294.                         a HUP signal to the wwwoffled process.
  295. wwwoffle -purge         Commands the demon to purge from the cache the pages
  296.                         that are older than the number of days specified in the
  297.                         configuration file, using modification or access
  298.                         time. Or if a maximum size is specified then delete the
  299.                         oldest pages until the maximum size is not exceeded.
  300. wwwoffle -kill          Causes the demon to exit cleanly at a convenient point.
  301. The second mode of operation is to specify URLs to get.
  302. wwwoffle <URL> .. <URL> Specifies to the demon URLs that must be fetched.
  303.                         If online then it is got immediately, else the request
  304.                         is stored for a later fetch.
  305. wwwoffle <filename> ... The specified HTML file is be read and all of the links
  306.                         in it used as if they had been specified on the command
  307.                         line.
  308. wwwoffle -F             Force the wwwoffle server to refresh the URL.
  309.                         (Or fetch it if not cached.)
  310. wwwoffle -g[Sisfo]      Specifies that the URLs when fetched are to be parsed
  311.                         for Stylesheets (s), images (i), scripts (s), frames (f)
  312.                         or objects (o) and these are also to be fetched.
  313. wwwoffle -r[<depth>]    Specifies that the URL when fetched is to have the links
  314.                         followed and these pages also fetched (to a depth
  315.                         specified by the optional depth parameter, default 1).
  316.                         Only links on the same server are to be fetched.
  317. wwwoffle -R[<depth>]    This is the same as the '-r' option except that all of
  318.                         the links are to be followed, even those to other
  319.                         servers.
  320. wwwoffle -d[<depth>]    This is the same as the '-r' option except that links
  321.                         are only followed if they are in the same directory or a
  322.                         sub-directory.
  323. The third mode of operation is to get a URL from the cache.
  324. wwwoffle <URL>          Specifies the URL to get.
  325. wwwoffle -o             Get the URL and output it on the standard output.
  326.                         (Or request it if not already cached.)
  327. wwwoffle -O             Get the URL and output it on the standard output
  328.                         including the HTTP headers.
  329.                         (Or request it if not already cached.)
  330. The last mode of operation is to provide help in using the other modes.
  331. wwwoffle -h             Gives help about the command line options.
  332. With any of the first three modes of operation the WWWOFFLE server can be
  333. specified in one of three different ways.
  334. wwwoffle -c <config-file>
  335.                         Can be used to specify the configuration file that
  336.                         contains the port numbers, server hostname (the first
  337.                         entry in the LocalHost section) and the password (if
  338.                         required for the first mode of operation).  If there is
  339.                         a password then this is the only way to specify it.
  340. wwwoffle -p <host>[:<port>]
  341.                         Can be used to specify the hostname and port number that
  342.                         the demon program listens to for control messages (first
  343.                         mode) or proxy connections (second and third modes).
  344. WWWOFFLE_PROXY          An environment variable that can be used to specify
  345.                         either the argument to the -c option (must be the full
  346.                         pathname) or the argument to the -p option.  (In this
  347.                         case two ports can be specified, the first for the proxy
  348.                         connection, the second for the control connection
  349.                         e.g. 'localhost:8080:8081' or 'localhost:8080'.)
  350. WWWOFFLED - Demon program
  351. -------------------------
  352. The demon program (wwwoffled) runs as an HTTP proxy and also accepts connections
  353. from the control program (wwwoffle).
  354. The demon program needs to maintain the current state of the system, online or
  355. offline, as well as the other parameters in the configuration file.
  356. As HTTP proxy requests come in, the program forks a copy of itself (the
  357. wwwoffles function) to handle the requests.  The server program can also be
  358. forked in response to the wwwoffle program requesting pages to be fetched.
  359. wwwoffled -c <config-file>      Starts the demon with the named configuration
  360.                                 file.
  361. wwwoffled -d [level]            Starts the demon in debugging mode, i.e it does
  362.                                 not detach from the terminal and uses standard
  363.                                 error for the log messages.  The optional
  364.                                 numeric level (0 for none to 5 for all)
  365.                                 specifies the level of error messages for
  366.                                 standard error, if not specified then use
  367.                                 log-level from the config file.
  368. wwwoffled -p                    Print the pid of the demon on standard out
  369.                                 before detaching from the terminal.
  370. wwwoffled -h                    Gives help about the command line options.
  371. There are a number of error and informational messages that are generated by the
  372. program as it runs.  By default (in the config file) these go to syslog, by
  373. using the -d flag the demon does not detach from the terminal and the errors are
  374. also on standard error.
  375. By using the run-uid and run-gid options in the config file, it is possible to
  376. change the user id and group id that the program runs as.  This will require
  377. that the program is started by root and that the specified user has read/write
  378. access to the spool directory.
  379. WWWOFFLES - Server program
  380. --------------------------
  381. The server (wwwoffles) starts by being forked from the demon (wwwoffled) in one
  382. of three different modes.
  383. Real  - When the system is online and acting as a proxy for a browser.
  384.         All requests for web pages are handled by forking a new server which
  385.         will connect to the remote host and fetch the page.  This page is then
  386.         stored in the cache as well as being returned to the browser.  If the
  387.         page is already in the cache then the remote server is asked for a newer
  388.         page if one exists, else the cache one is used.
  389. SpoolOrReal - When the system is in autodial mode and we have not decided if we
  390.         will go for Spool or Real mode.  Select Spool mode if already cached and
  391.         Real mode otherwise as a last resort.
  392. Fetch - When the system is online and fetching pages that have been requested.
  393.         All web page requests in the outgoing directory are fetched by the
  394.         server connecting to the remote host to get the page.  This page is then
  395.         stored in the cache, there is no browser active.  If the page has been
  396.         moved then the link is followed and that one fetched.
  397. Spool - When the system is offline and acting as a proxy for a browser.
  398.         All requests for web pages are handled by forking a server that will
  399.         either return a cached page or store the request.  If the page is
  400.         cached, it is returned to the browser, else a dummy page is returned
  401.         (and stored in the cache), and the outgoing request is stored.
  402.         If the cached page refers to a page that failed to be downloaded then it
  403.         will be deleted from the cache.
  404. Depending on the existence of files in the spool and other conditions, the mode
  405. can be changed to one of several other modes.
  406. RealNoCache - For requests for pages on the server machine or those specified
  407.         not to be cached in the configuration file.
  408. RealRefresh - Used by the refresh button on the index or the wwwoffle program
  409.         to re-fetch a page while the system is online.
  410. RealNoPassword - Used when a password was provided and two copies of the page
  411.         are required, one with and one without the password.
  412. FetchNoPassword - Used when a password was provided and two copies of the page
  413.         are required, one with and one without the password.
  414. SpoolGet - Used when the page does not exist in the cache so a request needs to
  415.         be stored for it in the outgoing directory.
  416. SpoolWillGet - Used when the page is not in the cache but a request for it is in
  417.         the outgoing directory already.
  418. SpoolRefresh - Used when the refresh button on the index or the wwwoffle program
  419.         are used, the existing spooled page (if there is one) is not
  420.         overwritten, but a request is stored.
  421. SpoolPragma - Used when the browser requests the cache to refresh the page
  422.         using the 'Pragma: no-cache' header, the existing spooled page (if there
  423.         is one) is not overwritten, but a request is stored.
  424. SpoolInternal - Used when the program is generating a web-page internally or is
  425.         spooling a web-page with modifications.  This create a temporary file and
  426.         can put the correct Content-Length header on by measuring the size.
  427. WWWOFFLE-TOOLS - Cache maintenance program
  428. ------------------------------------------
  429. This is a quick hack program that I wrote to allow you to list the contents of
  430. the cache or move files around in it.
  431. All of the programs should be invoked from the spool directory.
  432. wwwoffle-rm     - Delete the URL that is specified on the command line.
  433.                   To delete all URLs from a host it is easier to use
  434.                   'rm -r http/foo' than use this.
  435. wwwoffle-mv     - To rename a host directory in the spool to another name.
  436.                   Because the URL is encoded in the filename just renaming the
  437.                   directory will not work.  Instead of 'mv http/foo http/bar'
  438.                   use 'wwwoffle-mv http/foo http/bar'.
  439. wwwoffle-ls     - To list the files in the directory in the style of 'ls -l'.
  440.                   For example use 'wwwoffle-ls http/foo' to list the URLs cached
  441.                   in the directory http/foo.
  442. wwwoffle-read   - Read data directly from the cache for the URL named on the
  443.                   command line and output it on stdout.
  444. wwwoffle-write  - Write data directly to the cache for the URL named on the
  445.                   command line from stdin.  Note this requires a HTTP header to
  446.                   be included first or browsers may get confused.
  447.                   (echo "HTTP/1.0 200 OK" ; echo "" ; cat bar.html ) | 
  448.                   wwwoffle-write http://www.foo.com/bar.html
  449. These are basically hacks and should not be considered as fully featured and
  450. fully debugged programs.
  451. audit-usage.pl - Perl script to check log files
  452. -----------------------------------------------
  453. The audit-usage.pl script can be used to get audit information from the output
  454. of the wwwoffled program.
  455. If wwwoffled is started as
  456. wwwoffled -c /var/spool/wwwoffle/wwwoffle.conf -d 4
  457. Then on the standard error output will be generated information about the
  458. program as it is run.  The debug level needs to be 4 so that the URL information
  459. is output.
  460. If this is captured into a log file then it can be analysed by the
  461. audit-usage.pl program.  When run this will tell the host that the connection is
  462. made from and the URL that is requested.  It also includes the timestamp
  463. information and connections to the WWWOFFLE control connection.
  464. Test Programs
  465. -------------
  466. In the testprogs directory are two test programs that can be compiled if
  467. required.  They are not needed for WWWOFFLE to work, but if you are customising
  468. the information pages for WWWOFFLE to use or trying to debug the HTML parser
  469. then they will be of use.
  470. These are even more hacks than the wwwoffle-tools programs, use at your own risk.
  471. Author and Copyright
  472. --------------------
  473. The two programs wwwoffle and wwwoffled were written by Andrew M. Bishop in
  474. 1996,97,98,99 and are copyright Andrew M. Bishop 1996,97,98,99.
  475. The programs update-cache, endian-cache and the programs known as wwwoffle-tools
  476. were written by Andrew M. Bishop in 1997,98,99 and are copyright
  477. Andrew M. Bishop 1997,98,99.
  478. The Perl scripts update-config.pl and audit-usage.pl were written by Andrew
  479. M. Bishop in 1998,99 and are copyright Andrew M. Bishop 1998,99.
  480. They can be freely distributed according to the terms of the GNU General Public
  481. License (see the file `COPYING').
  482. If you wish to submit bug reports or other comments about the programs then
  483. email the author amb@gedanken.demon.co.uk and put WWWOFFLE in the subject line.
  484. Ht://Dig
  485. - - - -
  486. The htdig package is copyright Andrew Scherpbier <andrew@contigo.com>. The icons
  487. in the html/htdig directory come from htdig as do the html/htdig/search.html and
  488. html/htdig/conf/htsearch.conf files with modifications by myself.
  489. With Source Code Contributions From
  490. - - - - - - - - - - - - - - - - - -
  491. Yannick Versley <sa6z225@public.uni-hamburg.de>
  492.         Initial syslog code (much rewritten before inclusion).
  493. Axel Rasmus Wienberg <2wienbe@informatik.uni-hamburg.de>
  494.         Code to run wwwoffled as a specified uid/gid.
  495. Andreas Dietrich <quasi@baccus.franken.de>
  496.         Code to detach the program from the terminal like a *real* demon.
  497. Ullrich von Bassewitz <uz@wuschel.ibb.schwaben.com>
  498.         Better handling of signals.
  499.         Optimisation of the file handling in the outgoing directory.
  500.         The log-level, max-servers and max-fetch-servers config options.
  501. Tilman Bohn <tb@bohn.isdn.uni-heidelberg.de>
  502.         Autodial mode.
  503. Walter Pfannenmueller <pfn@online.de>
  504.         Document parsing Java/VRML/XML some HTML.
  505. Ben Winslow <rain@insane.loonybin.net>
  506.         Configuration file DontGet section optional replacement Url.
  507.         New FTP commands to get file size and modification time.
  508. Ingo Kloecker <kloecker@math.u-bordeaux.fr>
  509.         Disable animated GIFs
  510. And Other Useful Contributions From
  511. - - - - - - - - - - - - - - - - - -
  512. Too many people to mention - (everybody that e-mailed me).
  513.         Suggestions and bug reports.