]> jfr.im git - irc/blitzed-org/bopm.git/blame - INSTALL
Fixed missing ; in config-parser.y
[irc/blitzed-org/bopm.git] / INSTALL
CommitLineData
04302427 1Make
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
50Configuration
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
94Execution
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.