- # Don't accept cookies
- +no-cookies = +no-cookies-set +no-cookies-read
-
- # Do accept cookies
- -no-cookies = -no-cookies-set -no-cookies-read
-
- # Treat these blocked URLs as images.
- +imageblock = +block +image
-
- # Define page filters we want to use.
- myfilters = +filter{html-annoyances} +filter{js-annoyances}\
- +filter{no-popups} +filter{webbugs}
-
- ## Default Policies (actions) ############################
- { \
- -block \
- -downgrade \
- +fast-redirects \
- myfilters \
- +no-compression \
- +hide-forwarded \
- +hide-from{block} \
- +hide-referer{forge} \
- -hide-user-agent \
- -image \
- +image-blocker{blank} \
- +no-cookies-keep \
- -no-cookies-read \
- -no-cookies-set \
- +no-popups \
- -vanilla-wafer \
- -wafer \
- }
- /
-
- # Now set exceptions to the above defined policies #######
-
- # Sites where we want persistant cookies
- {-no-cookies -no-cookies-keep}
+ # Useful aliases that combine more than one action
+ +crunch-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
+ -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
+ +block-as-image = +block +handle-as-image
+
+ # Fragile sites should have the minimum changes
+ fragile = -block -deanimate-gifs -fast-redirects -filter \
+ -hide-referer -prevent-cookies -kill-popups
+
+ ## Turn some actions on ################################
+ ## NOTE: Actions are off by default, unless explictily turned on
+ ## otherwise with the '+' operator.
+
+{ \
+-add-header \
+-block \
+-client-header-filter{hide-tor-exit-notation} \
+-content-type-overwrite \
+-crunch-client-header \
+-crunch-if-none-match \
+-crunch-outgoing-cookies \
+-crunch-incoming-cookies \
+-crunch-server-header \
+-deanimate-gifs \
+-downgrade-http-version \
+-fast-redirects \
+-filter{js-annoyances} \
+-filter{js-events} \
+-filter{html-annoyances} \
+-filter{content-cookies} \
+-filter{refresh-tags} \
+-filter{unsolicited-popups} \
+-filter{all-popups} \
+-filter{img-reorder} \
+-filter{banners-by-size} \
+-filter{banners-by-link} \
+-filter{webbugs} \
+-filter{tiny-textforms} \
+-filter{jumping-windows} \
+-filter{frameset-borders} \
+-filter{demoronizer} \
+-filter{shockwave-flash} \
+-filter{quicktime-kioskmode} \
+-filter{fun} \
+-filter{crude-parental} \
+-filter{ie-exploits} \
+-filter{site-specifics} \
+-filter{google} \
+-filter{yahoo} \
+-filter{msn} \
+-filter{blogspot} \
+-filter{no-ping} \
+-force-text-mode \
+-handle-as-empty-document \
+-handle-as-image \
+-hide-accept-language \
+-hide-content-disposition \
+-hide-if-modified-since \
++hide-forwarded-for-headers \
++hide-from-header{block} \
+-hide-referrer \
+-hide-user-agent \
+-inspect-jpegs \
+-kill-popups \
+-limit-connect \
+-overwrite-last-modified \
+-prevent-compression \
+-redirect \
+-send-vanilla-wafer \
+-send-wafer \
+-server-header-filter{xml-to-html} \
+-server-header-filter{html-to-xml} \
+-session-cookies-only \
++set-image-blocker{pattern} \
+-treat-forbidden-connects-like-blocks \
+}
+/ # '/' Match *all* URL patterns
+
+
+ # Block all URLs that match these patterns
+ { +block }
+ ad.
+ ad[sv].
+ .*ads.
+ banner?.
+ /.*count(er)?\.(pl|cgi|exe|dll|asp|php[34]?)
+ .hitbox.com
+ media./.*(ads|banner)
+
+ # Block, and treat these URL patterns as if they were 'images'.
+ # We would expect these to be ads.
+ { +block-as-image }
+ .ad.doubleclick.net
+ .a[0-9].yimg.com/(?:(?!/i/).)*$
+ ad.*.doubleclick.net
+
+ # Make exceptions for these harmless ones that would be
+ # caught by our +block patterns just above.
+ { -block }
+ adsl.
+ adobe.
+ advice.
+ .*downloads.
+ # uploads or downloads
+ /.*loads
+</literallayout>
+
+<para>
+ Then for a <filename>user.action</filename>, we would put local,
+ narrowly defined exceptions:
+</para>
+
+<literallayout>
+ # Re-define aliases as needed here
+ {{alias}}
+
+ # Useful aliases
+ -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
+
+ # Set personal exceptions to the policies in default.action #######
+
+ # Sites where we want persistent cookies, so allow *all* cookies
+ { -crunch-cookies -session-cookies-only }