1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
The eg/ directory holds a few example proxies.
All scripts accept HTTP::Proxy constructor key/value pairs on the
command-line. Example: ./proxy.pl port 3128 host 0.0.0.0
* proxy.pl
A very simple proxy.
Filter: none
* anonymiser.pl
A simple anonymizing proxy, similar in functionnality to the one
shown by Randal L. Schwartz in his WebTechniques #11 column.
http://www.stonehenge.com/merlyn/WebTechniques/col11.html
Filter: HTTP::Proxy::HeaderFilter::simple
* proxy-auth.pl
A very simple proxy, with Basic authentication.
Filter: HTTP::Proxy::HeaderFilter::simple
* leet.pl
* rot13.pl
* rainbow.pl
* fudd.pl
These filters do simple modifications of all HTML pages.
Filters: HTTP::Proxy::BodyFilter::tags
HTTP::Proxy::BodyFilter::simple
HTTP::Proxy::BodyFilter::htmltext
* bork.pl
This ffiltir elsu duis simpli mudiffixeshuns uff ell HTML pegis.
Bork bork bork !
* outline.pl
* ayb.pl
These proxy do more complicated modifications of HTML pages, and
require a HTML::Parser object to do so. All you tag are belong to us.
Filter: HTTP::Proxy::BodyFilter::htmlparser
* post.pl
This filter outputs the request URI and the form parameters of
all POST requests.
Filter: HTTP::Proxy::HeaderFilter::simple
* logger.pl
This filter outputs the important information out of GET and POST
requests: method, URI, cookies, content-type (text/*) and POST
request parameters.
Filter: HTTP::Proxy::HeaderFilter::simple
* adblock.pl
This is a very simple proxy that block ad sites.
Filters: HTTP::Proxy::HeaderFilter::simple
HTTP::Proxy::BodyFilter::simple
* trim.pl
A simple proxy that trims lines of HTML text.
Filters: HTTP::Proxy::BodyFilter::lines
HTTP::Proxy::BodyFilter::simple
* javascript.pl
A proxy that adds anything/javascript at the beginning of a HTML page.
(right after the <body> tag)
Filter: HTTP::Proxy::BodyFilter::htmlparser
* rfc.pl
A proxy that automatically saves the files named rfc\d+\.txt to
a file of the same name in the rfc/ directory.
Filter: HTTP::Proxy::BodyFilter::save
* dragon.pl
A proxy that removes some of the shortcomings of the Dragon Go
Server website (http://www.dragongoserver.net/)
Filters: HTTP::Proxy::HeaderFilter::simple
HTTP::Proxy::BodyFilter::simple
HTTP::Proxy::BodyFilter::tags
* pdf.pl
Save all PDF files in the pdf/ directory, and replace it with a
HTML message saying "PDF file saved."
Filters: HTTP::Proxy::HeaderFilter::simple
HTTP::Proxy::Body::simple
HTTP::Proxy::Body::save
* yahoogroups.pl
Removes the advertisment interruptions from Yahoo! Groups
Filter: HTTP::Proxy::HeaderFilter::simple
* https.pl
Modify https:// links to http:// links that the proxy will
recognise. The proxy will download the pages using SSL and
will then be able to modify them with its filter stacks.
Filters: HTTP::Proxy::HeaderFilter::simple
HTTP::Proxy::BodyFilter::htmlparser
* perlmonks.pl
Redirect all requests to perlmonks.com and perlmonks.org
to perlmonks.org, thus keeping connection information intact
(all cookies will point to a single web site).
This code was used as a starting point for the "Rewrite the web"
hack in Perl Hacks (O'Reilly 2006).
Filter: HTTP::Proxy::HeaderFilter::simple
* switch.pl
Randomly switch proxies from a list given on the command line.
Filter: HTTP::Proxy::HeaderFilter::simple
* tracker.pl
This tracker proxy stores Referer, URL, CODE
and output them to STDOUT or the given file
Example output:
NULL http://www.perl.org/ 200
http://www.perl.org/ http://learn.perl.org/ 200
Filter: HTTP::Proxy::HeaderFilter::simple
* js.pl
Save JavaScript files as we browse them.
Filter: HTTP::Proxy::Body::save
* flv.pl
Saves all FLV files in the flv/ directory, with a computed
name (id taken from the URI, or MD5 hash of the URI).
Filter: HTTP::Proxy::Body::save
|