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