]>
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 | ||
6300ec53 | 29 | configure has many other options, see ./configure --help for more |
30 | details. | |
31 | ||
faabbd43 | 32 | There are some further options in options.h which may be moved to |
33 | configure at some point. If you think you need to change these then we | |
34 | assume you've read the code and know why. | |
35 | ||
36 | Compilation of BOPM requires GNU Make (usually 'gmake' on BSD systems). | |
04302427 | 37 | |
38 | Configuration | |
39 | ------------- | |
40 | ||
6300ec53 | 41 | Edit bopm.conf as needed. Most options are self explanatory and |
42 | contain a short description. | |
faabbd43 | 43 | |
a07879ed | 44 | Please take note of the target_string, this is new in version 2 onward and may be |
faabbd43 | 45 | different for your ircd. Because we now check that we really have |
fe29da66 | 46 | connected back onto IRC, BOPM needs to be told what your ircd says during |
faabbd43 | 47 | the first part of a connection. If you're not sure, the best thing to do |
48 | is telnet to your ircd from your shell, e.g.: | |
49 | ||
6b9b96da | 50 | [andy@fullers bopm]$ telnet porkscratchings.someserver.org 6667 |
faabbd43 | 51 | Trying 207.8.219.202... |
6b9b96da | 52 | Connected to porkscratchings.someserver.org. |
faabbd43 | 53 | Escape character is '^]'. |
6b9b96da | 54 | :porkscratchings.pa.us.someserver.org NOTICE AUTH :*** Looking up your hostname... |
55 | :porkscratchings.pa.us.someserver.org NOTICE AUTH :*** Checking Ident | |
56 | :porkscratchings.pa.us.someserver.org NOTICE AUTH :*** Got Ident response | |
57 | :porkscratchings.pa.us.someserver.org NOTICE AUTH :*** Found your hostname | |
58 | ||
59 | Just try to pick something in the first line of IRC output (for efficiency | |
60 | reasons). | |
faabbd43 | 61 | |
62 | If you don't run an ircd at all (some people are using bopchecker for spam | |
63 | checking, etc.) then you're going to have to use a bit of ingenuity. You | |
64 | basically need any port on your own machine that responds with a plain text | |
65 | challenge that is unlikely to appear anywhere else. | |
66 | ||
67 | NNTP servers are good examples because they give a banner. Don't be | |
68 | tempted to use port 25 (SMTP) because although it looks like just what you | |
69 | want, too many networks transparent proxy outgoing port 25 connections to | |
70 | their own smart host, so you'll miss many proxies. | |
71 | ||
72 | The same applies if you run some kind of ircd that has no form of | |
73 | banner at all (ircnet??). Worst case is you'll need to make something | |
74 | listen on one of your ports that gives some predictable string. | |
75 | ||
6300ec53 | 76 | Remember that your users might run their own ircd on some typical proxy |
77 | port like 8080! If you can, put a banner in that contains your own | |
78 | server name, so that it is unlikely to be duplicated. | |
79 | ||
04302427 | 80 | |
81 | Execution | |
82 | --------- | |
83 | ||
fe29da66 | 84 | You can run BOPM from any directory, the path to its config file is |
6300ec53 | 85 | compiled into it. The bot will fork and connect to the IRC server |
86 | immediately. Any errors and debug information can be found in | |
87 | $PREFIX/var/bopm.log. | |
0a17c1a4 | 88 | |
fe29da66 | 89 | You can tell BOPM to use a different config file with the -c argument, |
faabbd43 | 90 | this works the same way that wgmon's -c argument does, just give the name |
91 | of the config file not including the ".conf". This also affects the log | |
92 | and PID files i.e. ./bopm -c myserver will read from myserver.conf, log to | |
93 | myserver.log and write PID to myserver.pid. If you do not use -c, the | |
94 | files bopm.conf, bopm.log and bopm.pid will be used by default. This can | |
fe29da66 | 95 | be altered in options.h. This is useful for running multiple BOPM on |
6300ec53 | 96 | the same host. |
e63586a7 | 97 | |
0a17c1a4 | 98 | Further debugging can be enabled by using one or more -d switches. One or |
faabbd43 | 99 | more -d switches will cause the bot to not fork on startup, and it will |
100 | send all log messages to stederr (i.e., your terminal) instead of its | |
101 | logfile. It will also cause extra debugging information that is not | |
102 | normally of interest to be sent to stderr. Two or more -d switches will | |
103 | enable logging of all IRC traffic received and sent. | |
e63586a7 | 104 | |
105 | The -c and -d arguments may appear in any order. |