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