]>
Commit | Line | Data |
---|---|---|
3a479287 | 1 | Make |
2 | ---- | |
3 | ||
4 | Quick Start: | |
5 | ||
6 | 1. ./configure | |
7 | 2. make | |
8 | 3. make install | |
02893ab4 | 9 | 4. cd $HOME/hopm |
10 | 5. edit $HOME/hopm/etc/hopm.conf to suit | |
11 | 6. $HOME/hopm/bin/hopm | |
3a479287 | 12 | |
13 | In detail: | |
14 | ||
15 | ./configure has a few options which you might need: | |
16 | ||
57c6dfce | 17 | --prefix Sets the root of HOPM's install. By default this |
02893ab4 | 18 | is $HOME/hopm, with binaries going in |
6d754c90 | 19 | $HOME/hopm/bin, config in $HOME/hopm/etc and logs |
6cca7255 | 20 | in $HOME/hopm/var/log. |
3a479287 | 21 | |
57c6dfce | 22 | --bindir Specify the place to install binaries. By default |
3a479287 | 23 | this is $PREFIX/bin. (see --prefix, above) |
24 | ||
25 | --localstatedir Specify the place where logs and PID files will be | |
57c6dfce | 26 | kept. By default this is $PREFIX/var. (see |
6d754c90 | 27 | --prefix, above) |
3a479287 | 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 | |
57c6dfce | 33 | configure at some point. If you think you need to change these then we |
3a479287 | 34 | assume you've read the code and know why. |
35 | ||
02893ab4 | 36 | Compilation of HOPM requires GNU Make (usually 'gmake' on BSD systems). |
3a479287 | 37 | |
38 | Configuration | |
39 | ------------- | |
40 | ||
57c6dfce | 41 | Edit hopm.conf as needed. Most options are self explanatory and |
3a479287 | 42 | contain a short description. |
43 | ||
3739f896 | 44 | Please take note of the target_string which may be different for your ircd. |
45 | Because we check that we really have connected back onto IRC, HOPM needs to | |
46 | be told what your ircd says during the first part of a connection. If you're | |
47 | not sure, the best thing to do is telnet to your ircd from your shell, e.g.: | |
3a479287 | 48 | |
183cf664 | 49 | [miwob@svn ~]$ telnet irc.ircd-hybrid.org 6667 |
3739f896 | 50 | Trying 104.254.244.55... |
51 | Connected to irc.ircd-hybrid.org (104.254.244.55). | |
3a479287 | 52 | Escape character is '^]'. |
183cf664 | 53 | :irc.ircd-hybrid.org NOTICE * :*** Looking up your hostname |
54 | :irc.ircd-hybrid.org NOTICE * :*** Checking Ident | |
55 | :irc.ircd-hybrid.org NOTICE * :*** No Ident response | |
56 | :irc.ircd-hybrid.org NOTICE * :*** Found your hostname | |
3a479287 | 57 | |
58 | Just try to pick something in the first line of IRC output (for efficiency | |
59 | reasons). | |
60 | ||
61 | If you don't run an ircd at all (some people are using bopchecker for spam | |
57c6dfce | 62 | checking, etc.) then you're going to have to use a bit of ingenuity. You |
3a479287 | 63 | basically need any port on your own machine that responds with a plain text |
64 | challenge that is unlikely to appear anywhere else. | |
65 | ||
57c6dfce | 66 | NNTP servers are good examples because they give a banner. Don't be |
3a479287 | 67 | tempted to use port 25 (SMTP) because although it looks like just what you |
68 | want, too many networks transparent proxy outgoing port 25 connections to | |
69 | their own smart host, so you'll miss many proxies. | |
70 | ||
71 | The same applies if you run some kind of ircd that has no form of | |
57c6dfce | 72 | banner at all (ircnet??). Worst case is you'll need to make something |
3a479287 | 73 | listen on one of your ports that gives some predictable string. |
74 | ||
75 | Remember that your users might run their own ircd on some typical proxy | |
57c6dfce | 76 | port like 8080! If you can, put a banner in that contains your own |
3a479287 | 77 | server name, so that it is unlikely to be duplicated. |
78 | ||
79 | ||
80 | Execution | |
81 | --------- | |
82 | ||
02893ab4 | 83 | You can run HOPM from any directory, the path to its config file is |
57c6dfce | 84 | compiled into it. The bot will fork and connect to the IRC server |
85 | immediately. Any errors and debug information can be found in | |
6cca7255 | 86 | $PREFIX/var/log/hopm.log. |
3a479287 | 87 | |
02893ab4 | 88 | You can tell HOPM to use a different config file with the -c argument, |
3a479287 | 89 | this works the same way that wgmon's -c argument does, just give the name |
57c6dfce | 90 | of the config file not including the ".conf". This also affects the log |
02893ab4 | 91 | and PID files i.e. ./hopm -c myserver will read from myserver.conf, log to |
57c6dfce | 92 | myserver.log and write PID to myserver.pid. If you do not use -c, the |
93 | files hopm.conf, hopm.log and hopm.pid will be used by default. This can | |
94 | be altered in options.h. This is useful for running multiple HOPM on | |
3a479287 | 95 | the same host. |
96 | ||
57c6dfce | 97 | Further debugging can be enabled by using one or more -d switches. One or |
3a479287 | 98 | more -d switches will cause the bot to not fork on startup, and it will |
90d3d2db | 99 | send all log messages to stderr (i.e., your terminal) instead of its |
57c6dfce | 100 | logfile. It will also cause extra debugging information that is not |
101 | normally of interest to be sent to stderr. Two or more -d switches will | |
3a479287 | 102 | enable logging of all IRC traffic received and sent. |
103 | ||
104 | The -c and -d arguments may appear in any order. |