]> jfr.im git - irc/ircd-hybrid/hopm.git/blame - INSTALL.md
Merge pull request #50 from ircd-hybrid/dependabot/github_actions/1.1.x/actions/check...
[irc/ircd-hybrid/hopm.git] / INSTALL.md
CommitLineData
3a479287 1Make
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
38Configuration
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
80Execution
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.