]>
Commit | Line | Data |
---|---|---|
04302427 | 1 | Make |
2 | ---- | |
3 | ||
faabbd43 | 4 | Quick Start: |
16b6aab9 | 5 | |
faabbd43 | 6 | 1. ./configure |
7 | 2. make | |
6300ec53 | 8 | 3. make install |
9 | 4. cd $HOME/bopm | |
fe29da66 | 10 | 5. edit $HOME/bopm/etc/bopm.conf to suit |
11 | 6. $HOME/bopm/bin/bopm | |
faabbd43 | 12 | |
13 | In detail: | |
14 | ||
15 | ./configure has a few options which you might need: | |
16 | ||
fe29da66 | 17 | --prefix Sets the root of BOPM's install. By default this |
6300ec53 | 18 | is $HOME/bopm, with binaries going in |
19 | $HOME/bopm/bin, config in $HOME/bopm/etc and logs | |
20 | in $HOME/bopm/var. | |
21 | ||
22 | --bindir Specify the place to install binaries. By default | |
23 | this is $PREFIX/bin. (see --prefix, above) | |
24 | ||
25 | --localstatedir Specify the place where logs and PID files will be | |
26 | kept. By default this is $PREFIX/var. (see | |
27 | --prefix, above) | |
28 | ||
faabbd43 | 29 | --with-unreal You need this if you are using Unreal ircd (any |
30 | version). At this stage Unreal also requires | |
31 | patching, you can get that patch from our web site. | |
32 | ||
33 | --with-select Use select() instead of poll() even if your system | |
34 | has poll() | |
35 | ||
fe29da66 | 36 | --enable-ipv6 Enable IPv6 features which allow BOPM to connect to |
37 | IPv6 server addresses and scan clients who have | |
38 | IPv6 addresses. These features are still extremely | |
39 | experiemental as of v2.4. | |
40 | ||
6300ec53 | 41 | configure has many other options, see ./configure --help for more |
42 | details. | |
43 | ||
faabbd43 | 44 | There are some further options in options.h which may be moved to |
45 | configure at some point. If you think you need to change these then we | |
46 | assume you've read the code and know why. | |
47 | ||
48 | Compilation of BOPM requires GNU Make (usually 'gmake' on BSD systems). | |
04302427 | 49 | |
50 | Configuration | |
51 | ------------- | |
52 | ||
6300ec53 | 53 | Edit bopm.conf as needed. Most options are self explanatory and |
54 | contain a short description. | |
faabbd43 | 55 | |
ff9467ff | 56 | Please take note of the target_string, this is new in version 2 onward and may be |
faabbd43 | 57 | different for your ircd. Because we now check that we really have |
fe29da66 | 58 | connected back onto IRC, BOPM needs to be told what your ircd says during |
faabbd43 | 59 | the first part of a connection. If you're not sure, the best thing to do |
60 | is telnet to your ircd from your shell, e.g.: | |
61 | ||
62 | [andy@fullers bopm]$ telnet porkscratchings.blitzed.org 6667 | |
63 | Trying 207.8.219.202... | |
64 | Connected to porkscratchings.blitzed.org. | |
65 | Escape character is '^]'. | |
66 | :porkscratchings.pa.us.blitzed.org NOTICE AUTH :*** Looking up your hostname... | |
67 | :porkscratchings.pa.us.blitzed.org NOTICE AUTH :*** Checking Ident | |
68 | :porkscratchings.pa.us.blitzed.org NOTICE AUTH :*** Got Ident response | |
69 | :porkscratchings.pa.us.blitzed.org NOTICE AUTH :*** Found your hostname | |
70 | ||
71 | The above should explain why we on Blitzed use "*** Looking up your | |
72 | hostname...", just try to pick something in the first line of IRC output | |
73 | (for efficiency reasons). | |
74 | ||
75 | If you don't run an ircd at all (some people are using bopchecker for spam | |
76 | checking, etc.) then you're going to have to use a bit of ingenuity. You | |
77 | basically need any port on your own machine that responds with a plain text | |
78 | challenge that is unlikely to appear anywhere else. | |
79 | ||
80 | NNTP servers are good examples because they give a banner. Don't be | |
81 | tempted to use port 25 (SMTP) because although it looks like just what you | |
82 | want, too many networks transparent proxy outgoing port 25 connections to | |
83 | their own smart host, so you'll miss many proxies. | |
84 | ||
85 | The same applies if you run some kind of ircd that has no form of | |
86 | banner at all (ircnet??). Worst case is you'll need to make something | |
87 | listen on one of your ports that gives some predictable string. | |
88 | ||
6300ec53 | 89 | Remember that your users might run their own ircd on some typical proxy |
90 | port like 8080! If you can, put a banner in that contains your own | |
91 | server name, so that it is unlikely to be duplicated. | |
92 | ||
04302427 | 93 | |
94 | Execution | |
95 | --------- | |
96 | ||
fe29da66 | 97 | You can run BOPM from any directory, the path to its config file is |
6300ec53 | 98 | compiled into it. The bot will fork and connect to the IRC server |
99 | immediately. Any errors and debug information can be found in | |
100 | $PREFIX/var/bopm.log. | |
0a17c1a4 | 101 | |
fe29da66 | 102 | You can tell BOPM to use a different config file with the -c argument, |
faabbd43 | 103 | this works the same way that wgmon's -c argument does, just give the name |
104 | of the config file not including the ".conf". This also affects the log | |
105 | and PID files i.e. ./bopm -c myserver will read from myserver.conf, log to | |
106 | myserver.log and write PID to myserver.pid. If you do not use -c, the | |
107 | files bopm.conf, bopm.log and bopm.pid will be used by default. This can | |
fe29da66 | 108 | be altered in options.h. This is useful for running multiple BOPM on |
6300ec53 | 109 | the same host. |
e63586a7 | 110 | |
0a17c1a4 | 111 | Further debugging can be enabled by using one or more -d switches. One or |
faabbd43 | 112 | more -d switches will cause the bot to not fork on startup, and it will |
113 | send all log messages to stederr (i.e., your terminal) instead of its | |
114 | logfile. It will also cause extra debugging information that is not | |
115 | normally of interest to be sent to stderr. Two or more -d switches will | |
116 | enable logging of all IRC traffic received and sent. | |
e63586a7 | 117 | |
118 | The -c and -d arguments may appear in any order. |