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 |
[andy@fullers hopm]$ telnet porkscratchings.someserver.org 6667 |
51 |
Trying 207.8.219.202... |
52 |
Connected to porkscratchings.someserver.org. |
53 |
Escape character is '^]'. |
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). |
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. |