| 1 |
Make |
| 2 |
---- |
| 3 |
|
| 4 |
Quick Start: |
| 5 |
|
| 6 |
1. ./configure |
| 7 |
2. make |
| 8 |
3. make install |
| 9 |
4. cd $HOME/hopm |
| 10 |
5. edit $HOME/hopm/etc/hopm.conf to suit |
| 11 |
6. $HOME/hopm/bin/hopm |
| 12 |
|
| 13 |
In detail: |
| 14 |
|
| 15 |
./configure has a few options which you might need: |
| 16 |
|
| 17 |
--prefix Sets the root of HOPM's install. By default this |
| 18 |
is $HOME/hopm, with binaries going in |
| 19 |
$HOME/hopm/bin, config in $HOME/hopm/etc and logs |
| 20 |
in $HOME/hopm/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 |
|
| 29 |
configure has many other options, see ./configure --help for more |
| 30 |
details. |
| 31 |
|
| 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 HOPM requires GNU Make (usually 'gmake' on BSD systems). |
| 37 |
|
| 38 |
Configuration |
| 39 |
------------- |
| 40 |
|
| 41 |
Edit hopm.conf as needed. Most options are self explanatory and |
| 42 |
contain a short description. |
| 43 |
|
| 44 |
Please take note of the target_string, this is new in version 2 onward and may be |
| 45 |
different for your ircd. Because we now check that we really have |
| 46 |
connected back onto IRC, HOPM needs to be told what your ircd says during |
| 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 |
|
| 50 |
[miwob@svn ~]$ telnet irc.ircd-hybrid.org 6667 |
| 51 |
Trying 74.208.44.181... |
| 52 |
Connected to irc.ircd-hybrid.org (74.208.44.181). |
| 53 |
Escape character is '^]'. |
| 54 |
:irc.ircd-hybrid.org NOTICE * :*** Looking up your hostname |
| 55 |
:irc.ircd-hybrid.org NOTICE * :*** Checking Ident |
| 56 |
:irc.ircd-hybrid.org NOTICE * :*** No Ident response |
| 57 |
:irc.ircd-hybrid.org NOTICE * :*** Found your hostname |
| 58 |
|
| 59 |
Just try to pick something in the first line of IRC output (for efficiency |
| 60 |
reasons). |
| 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 |
|
| 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 |
|
| 80 |
|
| 81 |
Execution |
| 82 |
--------- |
| 83 |
|
| 84 |
You can run HOPM from any directory, the path to its config file is |
| 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/hopm.log. |
| 88 |
|
| 89 |
You can tell HOPM to use a different config file with the -c argument, |
| 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. ./hopm -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 hopm.conf, hopm.log and hopm.pid will be used by default. This can |
| 95 |
be altered in options.h. This is useful for running multiple HOPM on |
| 96 |
the same host. |
| 97 |
|
| 98 |
Further debugging can be enabled by using one or more -d switches. One or |
| 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. |
| 104 |
|
| 105 |
The -c and -d arguments may appear in any order. |