# # WWWOFFLE - World Wide Web Offline Explorer - Version 2.9j. # # WWWOFFLE Configuration file CONFDIR/wwwoffle.conf # # Example configuration file Copyright 1997-2016, 2019 Andrew M. Bishop. # They may be distributed under the GNU Public License, version 2, or # any higher version. See section COPYING of the GNU Public license # for conditions under which this file may be redistributed. StartUp { bind-ipv4 = 0.0.0.0 bind-ipv6 = :: http-port = 8080 https-port = 8443 wwwoffle-port = 8081 spool-dir = SPOOLDIR #run-uid = daemon #run-gid = daemon use-syslog = yes password = none max-servers = 8 max-fetch-servers = 4 } Options { log-level = important socket-timeout = 120 dns-timeout = 60 connect-timeout = 30 connect-retry = no dir-perm = 0755 file-perm = 0644 lock-files = no reply-compressed-data = no reply-chunked-data = yes #exec-cgi = /local/cgi-bin/* #exec-cgi = /local/*.cgi } OnlineOptions { pragma-no-cache = yes cache-control-no-cache = yes cache-control-max-age-0 = yes request-changed = 10m request-changed-once = yes request-expired = no request-no-cache = no request-redirection = no request-conditional = yes validate-with-etag = yes try-without-password = yes intr-download-keep = no intr-download-size = 1 intr-download-percent = 80 timeout-download-keep = no keep-cache-if-not-found = no request-compressed-data = yes request-chunked-data = yes } OfflineOptions { pragma-no-cache = yes cache-control-no-cache = yes cache-control-max-age-0 = yes confirm-requests = no #### Example #### # Dont request any URLs at all when offline. # <*://*/*> dont-request = yes } SSLOptions { enable-caching = no #allow-tunnel = *:443 } FetchOptions { stylesheets = yes images = yes frames = yes iframes = yes scripts = no objects = no webbug-images = yes srcset-images = yes icon-images = no only-same-host-images = no } IndexOptions { create-history-indexes = yes cycle-indexes-daily = no #### Example #### # Do index files from /good/ in the barfoo.com domain. # <*://*.barfoo.com/good/*> list-any = yes # Don't index any hosts in the barfoo.com domain. # <*://*.barfoo.com> list-any = no # Don't index any gif or jpg files in the lasttime index. # <*://*/*.gif> list-latest = no # <*://*/*.jpg> list-latest = no } ModifyHTML { enable-modify-html = no add-cache-info = no #anchor-cached-begin = #anchor-cached-end = #anchor-requested-begin = #anchor-requested-end = #anchor-not-cached-begin = #anchor-not-cached-end = disable-script = no disable-applet = no disable-style = no disable-blink = no disable-marquee = no disable-flash = no disable-meta-refresh = no disable-meta-refresh-self = no disable-meta-set-cookie = no disable-dontget-links = no replace-dontget-images = no replacement-dontget-image = /local/dontget/replacement.gif disable-dontget-iframes = no replace-webbug-images = no replacement-webbug-image = /local/dontget/replacement.gif demoronise-ms-chars = no fix-mixed-cyrillic = no disable-animated-gif = no } LocalHost { localhost 127.0.0.1 ::ffff:127.0.0.1 ip6-localhost ::1 #### Example #### # The server is on www.foo.com, with IP address 11.22.33.44. # www.foo.com # 11.22.33.44 } LocalNet { #### Example #### # The local domain is foo.com so don't cache any hosts in it. # *.foo.com } AllowedConnectHosts { #### Example #### # Only allow connections from hosts in the foo.com domain. # *.foo.com } AllowedConnectUsers { #### Example #### # Only allow connections from this one user. # andrew:password } DontCache { #### Example #### # Do cache files from /good/ in the barfoo.com domain. # !*://*.barfoo.com/good/* # Don't cache any hosts in the barfoo.com domain. # *://*.barfoo.com # Don't cache any gzipped or tar files. # *://*/*.gz # *://*/*.tar # Don't cache any files from /volatile in the foo.com domain. # *://*.foo.com/volatile/* } DontGet { location-error = no # <*://*/*.gif> replacement = /local/dontget/replacement.gif # <*://*/*.png> replacement = /local/dontget/replacement.png # <*://*/*.js> replacement = /local/dontget/replacement.js # replacement = /local/dontget/replacement.gif #### Example #### # Do get files from /good/ in the barfoo.com domain. # !*://*.barfoo.com/good/* # Don't get from any hosts in the barfoo.com domain. # *://*.barfoo.com # Don't get any gzipped or tar files. # *://*/*.gz # *://*/*.tar # Don't get any files from /adverts/ in the foo.com domain. # *://*.foo.com/adverts/* # Dont get any gzipped or tar files when getting recursively. # <*://*/*.gz> get-recursive = no # <*://*/*.tar> get-recursive = no } DontCompress { mime-type = image/gif mime-type = image/jpeg mime-type = image/png mime-type = image/tiff mime-type = video/x-msvideo mime-type = video/quicktime mime-type = video/mpeg mime-type = audio/basic mime-type = audio/x-wav mime-type = application/x-dvi mime-type = application/pdf mime-type = application/zip mime-type = application/x-ns-proxy-autoconfig file-ext = .gz file-ext = .bz file-ext = .bz2 file-ext = .Z file-ext = .zip file-ext = .tgz file-ext = .rpm file-ext = .deb file-ext = .gif file-ext = .GIF file-ext = .jpg file-ext = .JPG file-ext = .jpeg file-ext = .JPEG file-ext = .png file-ext = .PNG } CensorHeader { referer-self = no referer-self-dir = no referer-from = no force-user-agent = no pass-url-unchanged = no ### Example ### # Don't send the username. # From = yes # Don't accept Cookies # Set-Cookie = yes # Don't send Cookies back # Cookie = yes # Lie about the Browser type. # User-Agent = WWWOFFLE/2.8 } FTPOptions { anon-username = anonymous #anon-password = } MIMETypes { default = text/plain .Z = application/x-compress .au = audio/basic .avi = video/x-msvideo .class = application/java .cpio = application/x-cpio .css = text/css .deb = application/octet-stream .dtd = application/xml .dvi = application/x-dvi .eps = application/postscript .gif = image/gif .gz = application/x-gzip .htm = text/html .html = text/html .jpeg = image/jpeg .jpg = image/jpeg .js = application/x-javascript .latex = application/x-latex .man = application/x-troff-man .me = application/x-troff-me .mov = video/quicktime .mpeg = video/mpeg .mpg = video/mpeg .ms = application/x-troff-ms .pac = application/x-ns-proxy-autoconfig .pbm = image/x-portable-bitmap .pdf = application/pdf .pem = application/x-x509-ca-cert .pgm = image/x-portable-graymap .png = image/png .pnm = image/x-portable-anymap .ppm = image/x-portable-pixmap .ps = application/postscript .ras = image/x-cmu-raster .rgb = image/x-rgb .rpm = application/octet-stream .rtf = application/rtf .snd = audio/basic .tar = application/x-tar .tcl = application/x-tcl .tex = application/x-tex .texi = application/x-texinfo .texinfo = application/x-texinfo .tif = image/tiff .tiff = image/tiff .tr = application/x-troff .txt = text/plain .vr = model/vrml .wav = audio/x-wav .wrl = model/vrml .xbm = image/x-xbitmap .xml = application/xml .xpm = image/x-xpixmap .xwd = image/x-xwindowdump .zip = application/zip .exe = application/octet-stream } Proxy { proxy = none #### Example #### # Use www.foo.com as a default http proxy server on port 8080 # Except for the foo.com domain which has no proxy. # proxy = www.foo.com:8080 # <*://foo.com> proxy = none } Alias { #### Example #### # The http server www.bar.com is mirrored locally at www.bar-mirror.foo.com # http://www.bar.com/ = http://www.bar-mirror.foo.com/ # The wwwoffle homepage can be aliased # http://wwwoffle/ = http://www.gedanken.org.uk/software/wwwoffle/ } Purge { use-mtime = no max-size = -1 min-free = -1 use-url = no del-dontget = yes del-dontcache = yes age = 4w compress-age = -1 #### Example #### # Expire hosts in the domain foo.com at 1 week except bar.foo.com at 2 weeks. # <*://bar.foo.com> age = 2w # <*://foo.com> age = 1w # Never keep anything in the domain bar.com except foo.bar.com is always kept. # <*://foo.bar.com> age = -1 # <*://bar.com> age = 0 # # Keep ftp files for 2 weeks. # age = 2w # # The default age must come after the specific ones. # age = 4w # # Purge files to keep the cache below 100 MB # max-size = 100 }