710cddb07278be4844bb186f64aafe6fa720a433
[privoxy.git] / doc / ijbman.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">\r
2 <html>\r
3 <head>\r
4 <!-- Copyright 1996-8 Junkbusters Corporation -->\r
5 <!-- This work comes with NO WARRANTY -->\r
6 <!-- It may be redistributed and modified under the GNU GPL-->\r
7 <!-- See the body of http://www.junkbusters.com/ht/en/gpl.html for details-->\r
8 <!-- Junkbusters is a registered trade mark of Junkbusters Corporation -->\r
9 <!-- Generated 1998/10/31 03:58:25 UTC -->\r
10 <meta name="Generator" content="Junkbusters Ebira $Revision: 1.1 $ $Date: 2001/04/16 21:10:38 $">\r
11 <!-- Document  ID: $Revision: 1.1 $ $Date: 2001/04/16 21:10:38 $ -->\r
12 <title>\r
13 Internet Junkbuster Technical Information\r
14 </title>\r
15 <base href="http://www.junkbusters.com/ht/en/ijbman.html">\r
16 <meta name="description" content="The manual page for the Internet Junkbuster, free software to removes banner ads, cookies, and other stuff you don't want from your web browser.">\r
17 <meta name="keywords" content="stop, junk, busters, junkbusters, junkbuster, mail, email, e-mail, direct, spam, spamoff, declare, telemarketing, telemarketers, privacy, sharing, names, renting, direct, marketing, database, databases, junk mail, lists, environment, conservation, recycling, catalogs, consumer, sending, opt out ">\r
18 <link rel="next" href="cookies.html">\r
19 <link rel="previous" href="ijbfaq.html">\r
20 <link rel="contents" href="toc.html">\r
21 </head>\r
22 <body bgcolor="#f8f8f0" link="#000078" alink="#ff0022" vlink="#787878">\r
23 <center>\r
24 <h1><a name="top_of_page">Internet J<small>UNK<i><font color=red>BUSTER</font></i></small> Technical Information\r
25 </a></h1>\r
26 </center>\r
27 <font face="arial, helvetica">\r
28 <p align="center">\r
29 <a href="#description">Options</a>\r
30 <font color="#ff0000">\r
31 <b> &#183; </b></font><a href="#show">Checking Options</a>\r
32 <font color="#ff0000">\r
33 <b> &#183; </b></font><a href="#install">Installation</a>\r
34 <font color="#ff0000">\r
35 <b> &#183; </b></font><a href="#copyright">Copyright</a>\r
36 <font color="#ff0000">\r
37 <b> &#183; </b></font><a href="ijbfaq.html#top_of_page">(FAQ)</a>\r
38 </p>\r
39 </font><br>\r
40 <center>\r
41 <h2><a name="man"><font face="arial, helvetica">\r
42 Manual Page\r
43 </font></a>\r
44 </h2>\r
45 </center>\r
46 <br>A copy of this page\r
47 in standard\r
48 <big><kbd>man</kbd></big>\r
49 macro format\r
50 is included in the\r
51 <a href="ijbfaq.html#tar">tar archive</a>.\r
52 \r
53 <h3><a name="name" href="/cgi-bin/gp?pg=ijbman&pr=name"><img border=0 width=14 height=14 src="/images/fb.gif" alt="&lt;Feedback&gt"></a>&#160;\r
54 Name\r
55 </h3>\r
56 <p>\r
57 <b><kbd>junkbuster</kbd></b>\r
58 - The\r
59 Internet Junkbuster\r
60 Proxy\r
61 <a href="legal.html#marks"><small><sup>TM</sup></small></a>\r
62 </p>\r
63 \r
64 <h3><a name="synopsis" href="/cgi-bin/gp?pg=ijbman&pr=synopsis"><img border=0 width=14 height=14 src="/images/fb.gif" alt="&lt;Feedback&gt"></a>&#160;\r
65 Synopsis\r
66 </h3>\r
67 <p>\r
68 <b><kbd>junkbuster</kbd></b>\r
69 <i>configfile</i>\r
70 (Version 2.0 onwards)\r
71 <br>\r
72 <b><kbd>junkbstr.exe</kbd></b>\r
73 <i>configfile</i>\r
74 (Windows)\r
75 <br>\r
76 <b><kbd>junkbuster</kbd></b>\r
77 <a href="#o_a">[-a]</a>\r
78 <a href="#o_y">[-y]</a>\r
79 <a href="#o_s">[-s]</a>\r
80 <a href="#o_c">[-c]</a>\r
81 <a href="#o_v">[-v]</a>\r
82 <br>\r
83 <a href="#o_u">[-u user_agent]</a>\r
84 <a href="#o_r">[-r referer]</a>\r
85 <a href="#o_t">[-t from]</a>\r
86 <br>\r
87 <a href="#o_b">[-b blockfile]</a>\r
88 <a href="#o_j">[-j jarfile]</a>\r
89 <a href="#o_l">[-l logfile]</a>\r
90 <br>\r
91 <a href="#o_w">[-w NAME=VALUE]</a>\r
92 <a href="#o_x">[-x Header_text]</a>\r
93 <br>\r
94 <a href="#o_h">[-h [bind_host_address][:bind_port]]</a>\r
95 <br>\r
96 <a href="#o_f">[-f forward_host[:port]]</a>\r
97 <a href="#o_d">[-d N]</a>\r
98 <br>\r
99 <a href="#o_g">[-g gw_protocol[:[gw_host][:gw_port]]]</a>\r
100 <br>\r
101 (Version 1.4 and earlier)\r
102 </p>\r
103 \r
104 <h3><a name="description" href="/cgi-bin/gp?pg=ijbman&pr=description"><img border=0 width=14 height=14 src="/images/fb.gif" alt="&lt;Feedback&gt"></a>&#160;\r
105 Description\r
106 </h3>\r
107 <p>\r
108 <b><kbd>junkbuster</kbd></b>\r
109 is an instrumentable proxy that filters the \r
110 <small>HTTP</small>\r
111 stream between\r
112 web servers and browsers.\r
113 Its main purpose is to enhance privacy.\r
114 <p>\r
115 <a name="dual">Versions before 2.0 used command-line options;</a>\r
116 Versions from 2.0 onward use a configuration file.\r
117 The following descriptions of the options first give the older\r
118 command-line usage, then the new configfile line.\r
119 <p>\r
120 <a name="won">In Versions 2.0.1 upwards on Windows,</a>\r
121 a start-up message is printed and the configuration is read from the file\r
122 <big><kbd>junkbstr.ini</kbd></big>\r
123 if it exists and no argument was given.\r
124 <p>\r
125 <a name="reread">All files except the configfile</a>\r
126 are checked for changes before each page is fetched,\r
127 so they may edited without restarting the proxy.\r
128 <h4>Options\r
129 </h4>\r
130 <dl><p><dt><i><a name="o_b">-b blockfile</a></i><br><a name="blockfile"><tt>blockfile</tt>&#160;&#160;<i>blockfile</i></a><dd>\r
131 <a href="ijbfaq.html#blocking">Block</a>\r
132 requests to\r
133 <small>URL</small>s\r
134 matching any pattern given in the lines of the\r
135 <i>blockfile</i>.\r
136 The\r
137 <b><kbd>junkbuster</kbd></b>\r
138 instead returns status 202, indicating that the request has been accepted\r
139 (though not completed),\r
140 and a\r
141 <a href="ijbfaq.html#show">message identifying itself</a>\r
142 (though the browser may\r
143 display only a broken image icon).\r
144 (Versions before 2.0 returned an error 403 (Forbidden).)\r
145 The syntax of a pattern is\r
146 <big><kbd>[domain][:port][/path]</kbd></big>\r
147 (the\r
148 <big><kbd>http://</kbd></big>\r
149 or\r
150 <big><kbd>https://</kbd></big>\r
151 protocol part is omitted).\r
152 To decide if a pattern matches a target, the domains are compared first,\r
153 then the paths. \r
154 <p>\r
155 <a name="compare">To compare the domains,</a>\r
156 the pattern domain and the target\r
157 domain specified in the\r
158 <small>URL</small>\r
159 are each broken into their components.\r
160 (Components are separated by the\r
161 <big><kbd>.</kbd></big>\r
162 (period) character.)\r
163 Next each of the target components\r
164 is compared with the corresponding pattern component: last with last,\r
165 next-to-last with next-to-last, and so on.\r
166 (This is called\r
167 <i><dfn>right-anchored</dfn></i>\r
168 matching.)\r
169 If all of the pattern components find their match in the target,\r
170 then the domains are considered a match.\r
171 Case is irrelevant when comparing domain components.\r
172 <p>\r
173 <a name="substring">A successfully</a>\r
174 matching pattern can be an anchored substring of a target, but\r
175 not vice versa.\r
176 Thus if a pattern doesn't specify a domain,\r
177 it matches all domains.\r
178 <a name="wildcard">Furthermore, when comparing two components,</a>\r
179 the components must either match in their entirety or up to a wildcard\r
180 <big><kbd>* </kbd></big>\r
181 (star character) in the pattern.  The wildcard feature\r
182 implements only a "prefix" match capability ("abc*" vs. "abcdefg"),\r
183 not suffix matching ("*efg" vs. "abcdefg") or\r
184 infix matching ("abc*efg" vs. "abcdefg").\r
185 The feature is restricted to the domain component;\r
186 it is unrelated to the optional\r
187 regular expression\r
188 feature in the path\r
189 <a href="ijbman.html#regex">(described below).</a>\r
190 <p>\r
191 <a name="numeric">If a numeric port</a>\r
192 is specified in the pattern domain, then the target port must\r
193 match as well.  The default port in a target is port 80.\r
194 <p>\r
195 <a name="onward">If the domain and port match,</a>\r
196 then the target\r
197 <small>URL</small>\r
198 path is checked for\r
199 a match against the path in the pattern.\r
200 Paths are compared with a simple case-sensitive\r
201 left-anchored substring comparison.\r
202 Once again, the pattern can be an\r
203 anchored substring of the target, but not vice versa.\r
204 A path of\r
205 <big><kbd>/</kbd></big>\r
206 (slash) would match all paths.  Wildcards are not considered in\r
207 path comparisons.\r
208 <p>\r
209 <a name="example">For example, the target</a>\r
210 <small>URL</small>\r
211 <br>\r
212 &#160;&#160;&#160;<big><kbd>the.yellow-brick-road.com/TinMan/has_no_brain</kbd></big>\r
213 <br>\r
214 would be matched (and blocked) by the following patterns\r
215 <br>\r
216 &#160;&#160;&#160;<big><kbd>yellow-brick-road.com</kbd></big>\r
217 <br>\r
218 and\r
219 <br>\r
220 &#160;&#160;&#160;<big><kbd>Yellow*.COM</kbd></big>\r
221 <br>\r
222 and\r
223 <br>\r
224 &#160;&#160;&#160;<big><kbd>/TinM</kbd></big>\r
225 <br>\r
226 but not\r
227 <br>\r
228 &#160;&#160;&#160;<big><kbd>follow.the.yellow-brick-road.com</kbd></big>\r
229 <br>\r
230 or\r
231 <br>\r
232 &#160;&#160;&#160;<big><kbd>/tinman</kbd></big>\r
233 <br>\r
234 <p>\r
235 <a name="comments">Comments in a blockfile start with a</a>\r
236 <big><kbd>#</kbd></big>\r
237 (hash) character and end at a new line.\r
238 Blank lines are also ignored.\r
239 <p>\r
240 <a name="except">Lines beginning with a</a>\r
241 <big><kbd>~</kbd></big>\r
242 (tilde) character are taken to be\r
243 <a href="ijbfaq.html#exceptions">exceptions:</a>\r
244 a\r
245 <small>URL</small>\r
246 blocked by previous patterns that matches the rest of\r
247 the line is let through. (The last match wins.)\r
248 <p>\r
249 <a name="regex">Patterns</a>\r
250 may contain\r
251 <small>POSIX</small>\r
252 <a href="ijbfaq.html#regex">regular expressions</a>\r
253 provided the\r
254 <b><kbd>junkbuster</kbd></b>\r
255 was compiled with this option\r
256 (the default in Version 2.0 on).\r
257 The idiom\r
258 <big><kbd>/*.*/ad</kbd></big>\r
259 can then be used\r
260 to match any\r
261 <small>URL</small>\r
262 containing\r
263 <big><kbd>/ad</kbd></big>\r
264 (such as\r
265 <big><kbd>http://nomatterwhere.com/images/advert/g3487.gif</kbd></big>\r
266 for example).\r
267 These expressions\r
268 <a href="ijbman.html#substring">don't work</a>\r
269 in the domain part.\r
270 <p>\r
271 <a name="rereads">In version 1.3 and later</a>\r
272 the blockfile and cookiefile are checked for changes before each request.\r
273 <p><dt><i><a name="o_w">-w NAME=VALUE</a></i><br><a name="wafer"><tt>wafer</tt>&#160;&#160;<i>NAME=VALUE</i></a><dd>\r
274 Specifies a pair to be sent as a cookie with every request\r
275 <a href="ijbfaq.html#wafers">to the server.</a>\r
276 (Such boring cookies are called\r
277 <i>wafers</i>.)\r
278 This option may be called more than once to generate multiple wafers.\r
279 The original\r
280 Netscape specification\r
281 prohibited\r
282 semi-colons, commas and white space;\r
283 these characters will be\r
284 <small>URL</small>-encoded\r
285 if used in wafers.\r
286 <!-- Aside: genuine cookies are not encoded -->\r
287 <!-- Aside: we could use quoted string as specified in the new RFC -->\r
288 The Path and Domain attributes are not currently supported.\r
289 <p><dt><i><a name="o_c">-c cookiefile</a></i><br><a name="cookiefile"><tt>cookiefile</tt>&#160;&#160;<i>cookiefile</i></a><dd>\r
290 Enforce the cookie management policy specified in the\r
291 <i>cookiefile.</i>\r
292 <a name="java">If this option is not used all cookies are silently crunched,</a>\r
293 so that users who never want cookies aren't bothered by browsers\r
294 asking whether each cookie should be accepted.\r
295 However, cookies can\r
296 <a href="ijbfaq.html#breakthrough">still get through</a>\r
297 via\r
298 <a href="links.html#javascript">JavaScript</a>\r
299 and\r
300 <small>SSL</small>,\r
301 so alerts should be left on.\r
302 <p>\r
303 <a name="dropping">In Version 1.2 and later</a>\r
304 this option must be followed by a\r
305 <a href="ijbfaq.html#crumble">filename</a>\r
306 containing instructions on which sites are allowed to\r
307 receive and set cookies.\r
308 <a name="drop">By default cookies are dropped in both the browser's request</a>\r
309 and the server's response, unless the\r
310 <small>URL</small>\r
311 requested matches an entry in the\r
312 <i>cookiefile</i>.\r
313 The matching algorithm is the same as for the blockfile.\r
314 A leading\r
315 <big><kbd>&gt;</kbd></big>\r
316 character allows\r
317 <a href="ijbfaq.html#directional">server-bound</a>\r
318 cookies only;\r
319 a\r
320 <big><kbd>&lt;</kbd></big>\r
321 allows only browser-bound cookies;\r
322 a\r
323 <big><kbd>~</kbd></big>\r
324 character stops cookies in\r
325 <a href="ijbfaq.html#crumble">both directions.</a>\r
326 Thus a cookiefile containing a single line with the two characters\r
327 <big><kbd>&gt;*</kbd></big>\r
328 will pass on all cookies to servers but not give any new ones to the browser.\r
329 <p><dt><i><a name="o_j">-j jarfile</a></i><br><a name="jarfile"><tt>jarfile</tt>&#160;&#160;<i>jarfile</i></a><dd>\r
330 All Set-cookie attempts by the server are\r
331 <a href="ijbfaq.html#jar">logged</a>\r
332 to\r
333 <i>jarfile</i>.\r
334 If no wafer is specified,\r
335 one containing a\r
336 <a href="ijbfaq.html#notice">canned notice</a>\r
337 (the \r
338 <i>vanilla wafer</i>)\r
339 is added as an alert to the server\r
340 unless the\r
341 <a href="ijbman.html#suppress-vanilla-wafer">suppress-vanilla-wafer</a>\r
342 <!-- Aside: (no vanilla~wafer) -->\r
343 option is invoked.\r
344 <p><dt><i><a name="o_v">-v</a></i><br><a name="suppress-vanilla-wafer"><tt>suppress-vanilla-wafer</tt></a><dd>\r
345 Suppress the vanilla wafer.\r
346 <p><dt><i><a name="o_t">-t from</a></i><br><a name="from"><tt>from</tt>&#160;&#160;<i>from</i></a><dd>\r
347 If the browser\r
348 <a href="ijbfaq.html#from">discloses an email address</a>\r
349 in the\r
350 <big><kbd>FROM</kbd></big>\r
351 header (most don't),\r
352 replace it with\r
353 <i>from.</i>\r
354 If\r
355 <i>from</i>\r
356 is set to\r
357 <b>.</b>\r
358 (the period character)\r
359 the\r
360 <big><kbd>FROM</kbd></big>\r
361 is passed to the server unchanged.\r
362 The default is to delete the\r
363 <big><kbd>FROM</kbd></big>\r
364 header.\r
365 <p><dt><i><a name="o_r">-r referer</a></i><br><a name="referer"><tt>referer</tt>&#160;&#160;<i>referer</i></a><dd>\r
366 Whenever the browser discloses the\r
367 <small>URL</small>\r
368 that\r
369 <a href="ijbfaq.html#referer">led to</a>\r
370 the current request,\r
371 replace it with\r
372 <i>referer.</i>\r
373 If\r
374 <i>referer</i>\r
375 is set to\r
376 <b>.</b>\r
377 (period)\r
378 the \r
379 <small>URL</small>\r
380 is passed to the server unchanged.\r
381 In \r
382 Version <a href="ijbdist.html#c4">1.4</a>\r
383 and later, if referer is set to \r
384 <b>@</b>\r
385 (at) the\r
386 <small>URL</small>\r
387 is sent in cases where the cookiefile\r
388 specifies that a cookie would be sent.\r
389 (No way to send bogus referers selectively is provided.)\r
390 The default is to delete Referer.\r
391 <p>\r
392 <a name="referrer">Version 2.0 also accepts the spelling</a>\r
393 <big><kbd>referrer</kbd></big>,\r
394 which most dictionaries consider correct.\r
395 <p><dt><i><a name="o_u">-u user-agent</a></i><br><a name="user-agent"><tt>user-agent</tt>&#160;&#160;<i>user-agent</i></a><dd>\r
396 Information disclosed by the browser\r
397 <a href="ijbfaq.html#agent">about itself</a>\r
398 is replaced with the value\r
399 <i>user-agent.</i>\r
400 If\r
401 <i>user-agent</i>\r
402 is set to\r
403 <b>.</b>\r
404 (period)\r
405 the\r
406 <big><kbd>User-Agent</kbd></big>\r
407 header is passed to the server unchanged,\r
408 along with any\r
409 <big><kbd>UA</kbd></big>\r
410 headers produced by\r
411 <small>MS-IE</small>\r
412 (which would otherwise be deleted).\r
413 In \r
414 Version <a href="ijbdist.html#c4">1.4</a>\r
415 and later, if\r
416 <i>user-agent</i>\r
417 is set to\r
418 <b>@</b>\r
419 (at) these headers are sent unchanged in cases where the cookiefile\r
420 specifies that a cookie would be sent,\r
421 otherwise only default\r
422 <big><kbd>User-Agent</kbd></big>\r
423 header is sent.\r
424 That default\r
425 is Mozilla/3.0 (Netscape)\r
426 with an unremarkable\r
427 <a href="ijbfaq.html#infer">Macintosh</a>\r
428 configuration.\r
429 If used with a browser less advanced than Mozilla/3.0 or IE-3, the default\r
430 may encourage pages containing extensions that confuse the browser.\r
431 <!-- Aside: Some servers use extensions to everyone anyway.  But in that case it's probably ignoring cookies anyway.  Some servers attempt to send cookies only to browsers identifying themselves as Mozilla. -->\r
432 <p><dt><i><a name="o_h">-h [host][:port]</a></i><br><a name="listen-address"><tt>listen-address</tt>&#160;&#160;<i>[host][:port]</i></a><dd>\r
433 If\r
434 <i>host</i>\r
435 is specified,\r
436 bind the\r
437 <b><kbd>junkbuster</kbd></b>\r
438 to that\r
439 <small>IP</small>\r
440 address.\r
441 If a\r
442 <i>port</i>\r
443 is specified, use it.\r
444 The default\r
445 port\r
446 is 8000;\r
447 the default host is\r
448 <big><kbd>localhost</kbd></big>.\r
449 Before Version 2.0.2,\r
450 the default was to bind to all \r
451 <small>IP</small>\r
452 addresses\r
453 (<big><kbd>INADDR_ANY</kbd></big>);\r
454 but this has been restricted to\r
455 <big><kbd>localhost</kbd></big>\r
456 to avoid unintended security breaches.\r
457 (To open the proxy to all, use the line\r
458 <br>\r
459 &#160;&#160;&#160;<big><kbd>listen-address :8000</kbd></big>\r
460 <br>\r
461 in the configuration file.)\r
462 <p><dt><i><a name="o_f">-f forward_host[:port]</a></i><br><a name="forwardfile"><tt>forwardfile</tt>&#160;&#160;<i>forwardfile</i></a><dd>\r
463 Version 1.X required all\r
464 <small>HTTP</small>\r
465 requests from the client to be forwarded to the same destination.\r
466 Version 2.0 takes its routing specification from a\r
467 <i>forwardfile</i>,\r
468 allowing selection of the proxy (a.k.a. forwarding host) and gateway\r
469 according to the\r
470 <small>URL</small>.\r
471 Here is a typical line.\r
472 <br>\r
473 <pre>\r
474 *         lpwa.com:8000      .      .\r
475 </pre>\r
476 <p>\r
477 <a name="lines">Each line contains four fields:</a>\r
478 <big><kbd>target</kbd></big>,\r
479 <big><kbd>forward_to</kbd></big>,\r
480 <big><kbd>via_gateway_type</kbd></big>\r
481 and\r
482 <big><kbd>gateway</kbd></big>.\r
483 As usual, the\r
484 <a href="ijbman.html#compare">last</a>\r
485 <big><kbd>target</kbd></big>\r
486 domain that matches the requested\r
487 <small>URL</small>\r
488 wins,\r
489 and the\r
490 <big><kbd>*</kbd></big>\r
491 character alone matches any domain.\r
492 The target domain need not be a fully qualified\r
493 hostname; it can be a general domain such as\r
494 <big><kbd>com</kbd></big>\r
495 or\r
496 <big><kbd>co.uk</kbd></big>\r
497 or even just a port number.\r
498 <a name="nose">For example, because</a>\r
499 <a href="http://lpwa.com">LPWA</a>\r
500 does not handle\r
501 <a href="ijbfaq.html#encrypt">SSL</a>,\r
502 the line above will typically be followed by a line such as\r
503 <br>\r
504 <pre>\r
505 :443  .      .      .\r
506 </pre>\r
507 to allow SSL transactions to proceed directly.\r
508 The cautious would also\r
509 add an entry in their blockfile to stop transactions\r
510 to port 443 for all but specified trusted sites.\r
511 <p>\r
512 <a name="forward">If the winning</a>\r
513 <big><kbd>forward_to</kbd></big>\r
514 field is\r
515 <big><kbd>.</kbd></big>\r
516 (the dot character) the proxy connects \r
517 directly to the server given in the\r
518 <small>URL</small>,\r
519 otherwise it forwards to the host and port number specified.\r
520 The default port is 8000.\r
521 The\r
522 <big><kbd>via_gateway_type</kbd></big>\r
523 and\r
524 <big><kbd>gateway</kbd></big>\r
525 fields also use a dot to indicate no gateway protocol.\r
526 The gateway protocols are explained\r
527 <a href="ijbman.html#o_g">below</a>.\r
528 <p>\r
529 <a name="old">The example line above in a forwardfile alone</a>\r
530 would send everything through port 8000 at\r
531 <big><kbd>lpwa.com</kbd></big>\r
532 with no gateway protocol,\r
533 and is equivalent to the old\r
534 <big><kbd>-f lpwa.com:8000</kbd></big>\r
535 with no\r
536 <big><kbd>-g</kbd></big>\r
537 option.\r
538 For more information see the example file provided with the distribution.\r
539 <p>\r
540 <a name="loop">Configure with care: no loop detection is performed.</a>\r
541 When setting up chains of proxies that might loop back, try adding\r
542 <a href="ijbman.html#squid">Squid.</a>\r
543 <p><dt><i><a name="o_g">-g gw_protocol[:[gw_host][:gw_port]]</a></i><dd>\r
544 Use\r
545 <i>gw_protocol</i>\r
546 as the gateway protocol.\r
547 This option was introduced in Version 1.4,\r
548 but was folded into the\r
549 <a href="ijbman.html#forwardfile">forwardfile</a>\r
550 option in Version 2.0.\r
551 The default is to use no gateway protocol;\r
552 this may be explicitly specified as\r
553 <big><kbd>direct</kbd></big>\r
554 on the command line\r
555 or the dot character in the forwardfile.\r
556 The\r
557 <big><kbd>SOCKS4</kbd></big>\r
558 protocol may be specified as\r
559 <big><kbd>socks</kbd></big>\r
560 or\r
561 <big><kbd>socks4</kbd></big>.\r
562 The\r
563 <big><kbd>SOCKS4A</kbd></big>\r
564 protocol is specified as\r
565 <big><kbd>socks4a</kbd></big>.\r
566 The\r
567 <big><kbd>SOCKS5</kbd></big>\r
568 protocol is not currently supported.\r
569 The default\r
570 <small>SOCKS</small>\r
571 <i>gw_port</i>\r
572 is 1080.\r
573 <p>\r
574 <a name="configure">The user's browser should</a>\r
575 <em>not</em>\r
576 be\r
577 <a href="ijbfaq.html#socks">configured</a>\r
578 to use\r
579 <big><kbd>SOCKS</kbd></big>;\r
580 the proxy conducts the negotiations, not the browser.\r
581 <p>\r
582 <a name="identify">The user identification capabilities of</a>\r
583 <big><kbd>SOCKS4</kbd></big>\r
584 are deliberately not used;\r
585 the user is always identified to the\r
586 <big><kbd>SOCKS</kbd></big>\r
587 server as\r
588 <big><kbd>userid=anonymous</kbd></big>.\r
589 If the server's policy is to reject requests from\r
590 <big><kbd>anonymous</kbd></big>,\r
591 the proxy will not work.\r
592 Use a\r
593 <a href="ijbman.html#o_d">debug</a>\r
594 value of 3\r
595 to see the status returned by the server.\r
596 <p><dt><i><a name="o_d">-d N</a></i><br><a name="debug"><tt>debug</tt>&#160;&#160;<i>N</i></a><dd>\r
597 Set debug mode.\r
598 The most common value is 1,\r
599 to\r
600 <a href="ijbfaq.html#pinpoint">pinpoint</a>\r
601 offensive\r
602 <small>URL</small>s,\r
603 so they can be added to the blockfile.\r
604 The value of\r
605 <b>N</b>\r
606 is a bitwise\r
607 logical-<small>OR</small>\r
608 of the following values:\r
609 <br>\r
610 1 =  URLs (show each URL requested by the browser);<br>\r
611 2 =  Connections (show each connection to or from the proxy);<br>\r
612 4 =  I/O (log I/O errors);<br>\r
613 8 =  Headers (as each header is scanned, show the header and what is done to it);<br>\r
614 16 =  Log everything (including debugging traces and the contents of the pages).<br>\r
615 <a name="or">Multiple</a>\r
616 <big><kbd>debug</kbd></big>\r
617 lines are permitted; they are logical OR-ed together.\r
618 <p>\r
619 <a name="single">Because most browsers send several requests in parallel</a>\r
620 the debugging output may appear intermingled, so the\r
621 <a href="ijbman.html#single-threaded">single-threaded</a>\r
622 option is recommended when using\r
623 <a href="ijbman.html#debug">debug</a>\r
624 with\r
625 <b>N</b>\r
626 greater than 1.\r
627 <!-- Aside: Yes, it's clumsy, but it's easy to parse. -->\r
628 <p><dt><i><a name="o_y">-y</a></i><br><a name="add-forwarded-header"><tt>add-forwarded-header</tt></a><dd>\r
629 Add \r
630 <big><kbd>X-Forwarded-For</kbd></big>\r
631 headers to the server-bound \r
632 <small>HTTP</small>\r
633 stream\r
634 indicating the client \r
635 <small>IP</small>\r
636 address\r
637 <a href="ijbfaq.html#detect">to the server,</a>\r
638 in the new style of\r
639 <a href="ijbman.html#squid">Squid 1.1.4.</a>\r
640 If you want the traditional\r
641 <big><kbd>HTTP_FORWARDED</kbd></big>\r
642 response header, add it manually with the\r
643 <a href="ijbman.html#o_x">-x</a>\r
644 option.\r
645 <!-- Aside: Not a default, since the end-client usually doesn't wish to be identified, but may be helpful in debugging chains. -->\r
646 <p><dt><i><a name="o_x">-x HeaderText</a></i><br><a name="add-header"><tt>add-header</tt>&#160;&#160;<i>HeaderText</i></a><dd>\r
647 Add the\r
648 <i>HeaderText</i>\r
649 verbatim to requests to the server.\r
650 Typical uses include\r
651 adding old-style forwarding notices such as\r
652 <big><kbd>Forwarded: by http://pro-privacy-isp.net</kbd></big>\r
653 and reinstating the\r
654 <big><kbd>Proxy-Connection: Keep-Alive</kbd></big>\r
655 header\r
656 (which the\r
657 <b><kbd>junkbuster</kbd></b>\r
658 deletes so as\r
659 <a href="ijbfaq.html#detect">not</a>\r
660 to reveal its existence).\r
661 No checking is done for correctness or plausibility,\r
662 so it can be used to throw any old trash into the server-bound \r
663 <small>HTTP</small>\r
664 stream.\r
665 Please don't litter.\r
666 <!-- Aside: this represents "more than enough rope" -->\r
667 <p><dt><i><a name="o_s">-s</a></i><br><a name="single-threaded"><tt>single-threaded</tt></a><dd>\r
668 Doesn't\r
669 <big><kbd>fork()</kbd></big>\r
670 a separate process\r
671 (or create a separate thread)\r
672 to handle each connection.\r
673 Useful when debugging to keep the process single threaded.\r
674 <p><dt><i><a name="o_l">-l logfile</a></i><br><a name="logfile"><tt>logfile</tt>&#160;&#160;<i>logfile</i></a><dd>\r
675 Write all debugging data into\r
676 <i>logfile.</i>\r
677 The default\r
678 <i>logfile</i>\r
679 is the standard output.\r
680 <p><dt><br><a name="aclfile"><tt>aclfile</tt>&#160;&#160;<i>aclfile</i></a><dd>\r
681 Unless this option is used, the proxy talks to anyone who can connect to it,\r
682 and everyone who can has equal permissions on where they can go.\r
683 An access file allows restrictions to be placed on these two policies,\r
684 by distinguishing some\r
685 <i><dfn>source</dfn></i>\r
686 <small>IP</small>\r
687 addresses and/or\r
688 some\r
689 <i><dfn>destination</dfn></i>\r
690 addresses.\r
691 (If a\r
692 <a href="ijbman.html#forwardfile">forwarder or a gateway</a>\r
693 is being used, its address is considered the destination address,\r
694 not the ultimate\r
695 <small>IP</small>\r
696 address of the\r
697 <small>URL</small>\r
698 requested.)\r
699 <p>\r
700 <a name="permit">Each line of the access file begins with</a>\r
701 either the word\r
702 <big><kbd>permit</kbd></big>\r
703 or\r
704 <big><kbd>deny</kbd></big>\r
705 followed by source and (optionally) destination addresses \r
706 to be matched against those of the\r
707 <small>HTTP</small>\r
708 request.\r
709 The last matching line specifies the result: if it was a\r
710 <big><kbd>deny</kbd></big>\r
711 line or if no line matched,\r
712 the request will be refused.\r
713 <p>\r
714 <a name="various">A source or destination</a>\r
715 can be specified as a single numeric\r
716 <small>IP</small>\r
717 address,\r
718 or with a hostname, provided that the host's name\r
719 can be resolved to a numeric address: this cannot be used to block all\r
720 <big><kbd>.mil </kbd></big>\r
721 domains for example,\r
722 because there is no single address associated with that domain name.\r
723 Either form may be followed by a slash and an integer\r
724 <big><kbd>N</kbd></big>,\r
725 specifying a subnet mask of\r
726 <big><kbd>N</kbd></big>\r
727 bits.\r
728 For example,\r
729 <big><kbd>permit 207.153.200.72/24</kbd></big>\r
730 matches the entire Class-C subnet from\r
731 207.153.200.0\r
732 through 207.153.200.255.\r
733 (A netmask of 255.255.255.0 corresponds to 24 bits of\r
734 ones in the netmask, as with\r
735 <big><kbd>*_MASKLEN=24</kbd></big>.)\r
736 A value of 16 would be used for a Class-B subnet.\r
737 A value of zero for\r
738 <big><kbd>N</kbd></big>\r
739 in the subnet mask length will cause any address to match;\r
740 this can be used to express a default rule.\r
741 For more information see the example file provided with the distribution.\r
742 <p>\r
743 <a name="false">If you like these access controls</a>\r
744 you should probably have\r
745 <a href="ijbfaq.html#firewall">firewall</a>;\r
746 they are not intended to replace one.\r
747 <p><dt><br><a name="trustfile"><tt>trustfile</tt>&#160;&#160;<i>trustfile</i></a><dd>\r
748 This feature is experimental, has not been fully documented and is\r
749 very subject to change.\r
750 The goal is for parents to be able to choose a page or site whose\r
751 links they regard suitable for their\r
752 <a href="ijbfaq.html#children">young children</a>\r
753 and for the proxy to allow access only to sites mentioned there.\r
754 To do this the proxy examines the\r
755 <a href="ijbman.html#o_r">referer</a>\r
756 variable on each page request to check they resulted from\r
757 a click on the ``trusted referer'' site: if so the referred site\r
758 is added to a list of trusted sites, so that the child can\r
759 then move around that site.\r
760 There are several uncertainties in this scheme that experience may be\r
761 able to iron out; check back in the months ahead.\r
762 <p><dt><br><a name="trust_info_url"><tt>trust_info_url</tt>&#160;&#160;<i>trust_info_url</i></a><dd>\r
763 When access is denied due to lack of a trusted referer, this\r
764 <small>URL</small>\r
765 is displayed with a message pointing the user to it for further information.\r
766 <p><dt><br><a name="hide-console"><tt>hide-console</tt></a><dd>\r
767 In the Windows version only, instructs the program\r
768 to disconnect from and hide the command console after starting.\r
769 <p><dt><i><a name="o_a">-a</a></i><dd>\r
770 (Obsolete) Accept the server's\r
771 <big><kbd>Set-cookie</kbd></big>\r
772 headers, passing them through to the browser.\r
773 <a name="obsolete">This option was removed in Version 1.2</a>\r
774 and replaced by an improvement to the\r
775 <a href="ijbman.html#o_c">-c</a>\r
776 option.\r
777 </dl>\r
778 </p>\r
779 \r
780 <h3><a name="install" href="/cgi-bin/gp?pg=ijbman&pr=install"><img border=0 width=14 height=14 src="/images/fb.gif" alt="&lt;Feedback&gt"></a>&#160;\r
781 Installation and Use\r
782 </h3>\r
783 <p>\r
784 Browsers must be told where to find the\r
785 <b><kbd>junkbuster</kbd></b>\r
786 (e.g.\r
787 <big><kbd>localhost</kbd></big>\r
788 port 8000).\r
789 To set the \r
790 <small>HTTP</small>\r
791 proxy in Netscape 3.0,\r
792 go through:\r
793 <b><font face="arial, helvetica">\r
794 Options</font></b>;\r
795 <b><font face="arial, helvetica">\r
796 Network Preferences</font></b>;\r
797 <b><font face="arial, helvetica">\r
798 Proxies</font></b>;\r
799 <b><font face="arial, helvetica">\r
800 Manual Proxy Configuration</font></b>;\r
801 <b><font face="arial, helvetica">\r
802 View</font></b>.\r
803 See the\r
804 <a href="ijbfaq.html"><small>FAQ</small></a>\r
805 for other browsers.\r
806 The\r
807 <a href="ijbfaq.html#security">Security Proxy</a>\r
808 should also be set to the same values,\r
809 otherwise\r
810 <big><kbd>shttp:</kbd></big>\r
811 <small>URL</small>s\r
812 won't work.\r
813 <p>\r
814 <a name="limitations">Note the limitations</a>\r
815 explained in the\r
816 <a href="ijbfaq.html"><small>FAQ</small></a>.\r
817 </p>\r
818 \r
819 <h3><a name="show" href="/cgi-bin/gp?pg=ijbman&pr=show"><img border=0 width=14 height=14 src="/images/fb.gif" alt="&lt;Feedback&gt"></a>&#160;\r
820 Checking Options\r
821 </h3>\r
822 <p>\r
823 To allow users to\r
824 <a href="ijbfaq.html#show">check</a>\r
825 that a\r
826 <b><kbd>junkbuster</kbd></b>\r
827 is running and how it is configured,\r
828 it intercepts requests for any\r
829 <small>URL</small>\r
830 ending in\r
831 <big><kbd>/show-proxy-args</kbd></big>\r
832 and blocks it,\r
833 returning instead returns information on its\r
834 version number and\r
835 current configuration\r
836 including the contents of its blockfile.\r
837 To get an explicit warning that no\r
838 <b><kbd>junkbuster</kbd></b>\r
839 intervened if the proxy was not configured,\r
840 it's best to point it to a\r
841 <small>URL</small>\r
842 that does this, such as\r
843 <a href="http://internet.junkbuster.com/cgi-bin/show-proxy-args">http://internet.junkbuster.com/cgi-bin/show-proxy-args</a>\r
844 on Junkbusters's website.\r
845 </p>\r
846 \r
847 <h3><a name="also" href="/cgi-bin/gp?pg=ijbman&pr=also"><img border=0 width=14 height=14 src="/images/fb.gif" alt="&lt;Feedback&gt"></a>&#160;\r
848 See Also\r
849 </h3>\r
850 <p>\r
851 <a href="ijbfaq.html">http://www.junkbusters.com/ht/en/ijbfaq.html</a>\r
852 <br>\r
853 <a href="cookies.html">http://www.junkbusters.com/ht/en/cookies.html</a>\r
854 <br>\r
855 <a href="http://internet.junkbuster.com/cgi-bin/show-proxy-args">http://internet.junkbuster.com/cgi-bin/show-proxy-args</a>\r
856 <br>\r
857 <a name ="kristol" href="http://www.cis.ohio-state.edu/htbin/rfc/rfc2109.html">http://www.cis.ohio-state.edu/htbin/rfc/rfc2109.html</a>\r
858 <br>\r
859 <a name ="squid" href="http://squid.nlanr.net/Squid/">http://squid.nlanr.net/Squid/</a>\r
860 <br>\r
861 <a href="http://www-math.uni-paderborn.de/~axel/">http://www-math.uni-paderborn.de/~axel/</a>\r
862 </p>\r
863 \r
864 <h3><a name="copyright" href="/cgi-bin/gp?pg=ijbman&pr=copyright"><img border=0 width=14 height=14 src="/images/fb.gif" alt="&lt;Feedback&gt"></a>&#160;\r
865 Copyright and GPL\r
866 </h3>\r
867 <p>\r
868 Written and copyright by the Anonymous Coders and Junkbusters Corporation\r
869 and made available under the\r
870 <a href="gpl.html">GNU General Public License (GPL).</a>\r
871 This software comes with\r
872 <a href="gpl.html#nowarr">NO WARRANTY.</a>\r
873 Internet Junkbuster\r
874 Proxy\r
875 is a\r
876 <a href="legal.html#marks">trademark</a>\r
877 of Junkbusters Corporation.\r
878 </p>\r
879 <p align="center"><a href="#top_of_page"><img border=0 width=250 height=15 src="/images/top.gif" alt="--- Back to Top of Page ---"></a></p>\r
880 <font face="arial, helvetica">\r
881 <a rel="begin" href="index.html">Home</a> <font color="#ff0000">\r
882 <b> &#183; </b></font>\r
883 <a rel="next" href="cookies.html">Next</a>\r
884 <font color="#ff0000">\r
885 <b> &#183; </b></font><a href="lopt.html">Site Map</a>\r
886 <font color="#ff0000">\r
887 <b> &#183; </b></font><a href="legal.html">Legal</a>\r
888 <font color="#ff0000">\r
889 <b> &#183; </b></font><a href="junkdata.html">Privacy</a>\r
890 <font color="#ff0000">\r
891 <b> &#183; </b></font><a href="cookies.html">Cookies</a>\r
892 <font color="#ff0000">\r
893 <b> &#183; </b></font><a href="ijb.html">Banner Ads</a>\r
894 <font color="#ff0000">\r
895 <b> &#183; </b></font><a href="telemarketing.html">Telemarketing</a>\r
896 <font color="#ff0000">\r
897 <b> &#183; </b></font><a href="junkmail.html">Mail</a>\r
898 <font color="#ff0000">\r
899 <b> &#183; </b></font><a href="junkemail.html">Spam</a>\r
900 \r
901 </font><form action="/cgi-bin/search" method="GET">\r
902 <input type="text" name="q" size=60 maxlength=120 value="">\r
903 <input type="submit" value="Search"></form>\r
904 <small>\r
905 <small>\r
906 <p>\r
907 <a href="legal.html#copy">Copyright</a> &#169; 1996-8 Junkbusters\r
908 <a href="legal.html#marks">&#174;</a> Corporation.\r
909 Copying and distribution permitted under\r
910 the <a href="gpl.html"><small>GNU</small></a>\r
911 General Public License.\r
912 </small>\r
913 <tt>\r
914 1998/10/31\r
915 http://www.junkbusters.com/ht/en/ijbman.html\r
916 </tt>\r
917 <address><kbd>webmaster&#64;junkbusters.com</kbd></address>\r
918 </small>\r
919 </body>\r
920 </html>\r