1 | INSTALLATION |
---|
2 | ============ |
---|
3 | |
---|
4 | If you installed BitlBee from a .deb or .rpm you probably don't have to do |
---|
5 | anything anymore for installation. Just skip this section. |
---|
6 | |
---|
7 | If you want to compile BitlBee yourself, that's fine. Just run ./configure |
---|
8 | to set up the build system. If configure succeeds, run make to build BitlBee. |
---|
9 | make install will move all the files to the right places. |
---|
10 | |
---|
11 | --- inetd installation |
---|
12 | |
---|
13 | After installation you have to set up inetd (you got that one running, |
---|
14 | right? If not, just take a look at utils/bitlbeed.c) to start BitlBee. You |
---|
15 | need to add BitlBee to inetd.conf, like this: |
---|
16 | |
---|
17 | 6667 stream tcp nowait nobody /usr/sbin/tcpd /usr/local/sbin/bitlbee |
---|
18 | |
---|
19 | Creating a special BitlBee user and running BitlBee with that UID (instead |
---|
20 | of just 'nobody') might be a good idea. |
---|
21 | |
---|
22 | *BSD/Darwin/OSX NOTE: Most *BSD inetds are more scrict than the one that |
---|
23 | comes with Linux systems. Possibly all non-Linux inetds are like this. They |
---|
24 | don't allow you to specify a port number in the inetd.conf entry, instead |
---|
25 | you have to put a service name there (one that is also mentioned in |
---|
26 | /etc/services). So if there's no line in /services for 6667/tcp (or whatever |
---|
27 | you choose), add it and use that name in the inetd.conf entry. |
---|
28 | |
---|
29 | -- xinetd installation |
---|
30 | |
---|
31 | Most machines use xinetd instead of inetd these days. If your machine runs |
---|
32 | xinetd, you can copy the bitlbee.xinetd file from the doc/ directory to your |
---|
33 | xinetd.d/ directory. Most likely you'll have to change a thing or two before |
---|
34 | it'll work. |
---|
35 | |
---|
36 | After configuring your (x)inetd, send the daemon a SIGHUP and things should |
---|
37 | work. If not, see your syslogs, since both daemons will complain there when |
---|
38 | something's wrong. |
---|
39 | |
---|
40 | Also, don't forget to create the configuration directory (/var/lib/bitlbee/ |
---|
41 | by default) and chown it to the UID BitlBee is running as. Make sure this |
---|
42 | directory is read-/writable by this user only. |
---|
43 | |
---|
44 | --- (Fork)Daemon mode |
---|
45 | |
---|
46 | If you don't want to run any inetd daemon, you can run BitlBee in Daemon |
---|
47 | mode. Right now, daemon mode may be a bad idea on servers with multiple |
---|
48 | users, since possible fatal BitlBee bugs will crash the BitlBee process and |
---|
49 | disconnect all connected users at once. Instead, you can use ForkDaemon |
---|
50 | mode, which serves every user from a separate process, without depending on |
---|
51 | an inetd daemon. |
---|
52 | |
---|
53 | To use BitlBee in daemon mode, just start it with the right flags or enable |
---|
54 | it in bitlbee.conf. You probably want to write an init script to start |
---|
55 | BitlBee automatically after a reboot. (This is where you realise using |
---|
56 | a package from your distro would've been a better idea. :-P) |
---|
57 | |
---|
58 | |
---|
59 | DEPENDENCIES |
---|
60 | ============ |
---|
61 | |
---|
62 | BitlBee's only real dependency is GLib. This is available on virtually every |
---|
63 | platform. Any recent version of GLib (2.4 or higher) will work. |
---|
64 | |
---|
65 | These days, MSN Messenger clients have to connect to the MS Passport servers |
---|
66 | through HTTPS. BitlBee can use several SSL libraries for this: GnuTLS, NSS |
---|
67 | (which comes with Mozilla) and OpenSSL. OpenSSL is not GPL-compatible in some |
---|
68 | situations, so using GnuTLS or NSS is preferred. However, especially on *BSD, |
---|
69 | OpenSSL can be considered part of the operating system, which eliminates the |
---|
70 | GPL incompatibility. |
---|
71 | |
---|
72 | The incompatibility is also the reason why the SSL library detection code |
---|
73 | doesn't attempt to use OpenSSL. If you want to use OpenSSL, you have to |
---|
74 | force configure to use it using the --ssl=openssl parameter. For more |
---|
75 | information about this problem, see the URL's configure will write to stdout |
---|
76 | when you attempt to use OpenSSL. |
---|
77 | |
---|
78 | |
---|
79 | PORTABILITY ISSUES |
---|
80 | ================== |
---|
81 | |
---|
82 | Cygwin NOTE: You'll need a glib installation to run BitlBee. However, Cygwin |
---|
83 | doesn't provide a glib package. You can download a binary tar.gz from: |
---|
84 | <http://my.dreamwiz.com/jbdoll/>. When you installed it, BitlBee should work |
---|
85 | fine. You'll probably like bitlbeed or xinetd to get it running on the |
---|
86 | network. |
---|
87 | |
---|
88 | On some non-Linux systems the program still suffers from some random bugs. |
---|
89 | Please do report them, we might be able to fix them if they're not too |
---|
90 | mysterious. |
---|
91 | |
---|
92 | Also, the configure script is known to not work very well with non-Bash |
---|
93 | shells, so if you experience problems, make sure you use bash to run the |
---|
94 | script. Same for the Makefile, it only works well with GNU make. (gmake on |
---|
95 | most BSD systems) |
---|
96 | |
---|
97 | If someone can tell us how to write Makefiles that work with both/all |
---|
98 | versions of make, we'd love to hear it, but it seems this just isn't |
---|
99 | possible. |
---|
100 | |
---|
101 | |
---|
102 | RUNNING ON SERVERS WITH MANY USERS |
---|
103 | ================================== |
---|
104 | |
---|
105 | BitlBee is not yet bug-free. Sometimes a bug causes the program to get into |
---|
106 | an infinite loop. Something you really don't want on a public server, |
---|
107 | especially when that machine is also used for other (mission-critical) things. |
---|
108 | For now we can't do much about it. We haven't seen that happen for a long |
---|
109 | time already on our own machines, but some people still manage to get |
---|
110 | themselves in nasty situations we haven't seen before. |
---|
111 | |
---|
112 | For now the best we can offer against this problem is bitlbeed, which allows |
---|
113 | you to setrlimit() the child processes to use no more than a specified |
---|
114 | number of CPU seconds. Not the best solution (not really a solution anyway), |
---|
115 | but certainly trashing one busy daemon process is better than trashing your |
---|
116 | whole machine. |
---|
117 | |
---|
118 | We don't believe adding a limit for bitlbee to /etc/security/limits.conf will |
---|
119 | work, because that file is only read by PAM (ie just for real login users, |
---|
120 | not daemons). |
---|
121 | |
---|
122 | See utils/bitlbeed.c for more information about the program. |
---|
123 | |
---|
124 | Just a little note: Now that we reach version 1.0, this shouldn't be that |
---|
125 | much of an issue anymore. However, on a public server, especially if you |
---|
126 | also use it for other things, it can't hurt to protect yourself against |
---|
127 | possible problems. |
---|
128 | |
---|
129 | |
---|
130 | USAGE |
---|
131 | ===== |
---|
132 | |
---|
133 | Not much to say here, it's all documented elsewhere already. Just connect to |
---|
134 | the new BitlBee IRC server and the bot (root) will tell you what to do. |
---|
135 | |
---|
136 | |
---|
137 | BACKGROUNDS |
---|
138 | =========== |
---|
139 | |
---|
140 | We are both console lovers. But it is annoying to have a few tty's open with |
---|
141 | chat things in them. IRC, ICQ, MSN, AIM, Jabber... For X there is Gaim, which |
---|
142 | supports many chatprotocols. Why wasn't there such a thing for the console? |
---|
143 | |
---|
144 | The idea to port Gaim was easily thought of, of course. But we liked our IRC |
---|
145 | clients. And we used it the most, so we used it best. Importing it into the |
---|
146 | IRC client was a nice idea. But what if someone liked a different client. |
---|
147 | Then (s)he had to duplicate our work. |
---|
148 | |
---|
149 | That's a shame, we thought. Doing work twice is pointless. So when Wilmer |
---|
150 | got the ingenious thought in his mind while farming, to create an IRC to |
---|
151 | other chatnetworks gateway, we were both so excited, that we started working |
---|
152 | on it almost immediately. And the result is BitlBee. |
---|
153 | |
---|
154 | |
---|
155 | WEBSITE |
---|
156 | ======= |
---|
157 | |
---|
158 | You can find new releases of BitlBee at: |
---|
159 | http://www.bitlbee.org/ |
---|
160 | |
---|
161 | The bug tracking system: |
---|
162 | http://bugs.bitlbee.org/ |
---|
163 | |
---|
164 | Our version control system is Bazaar-NG. Our repository is at: |
---|
165 | http://code.bitlbee.org/ |
---|
166 | |
---|
167 | |
---|
168 | A NOTE ON ENCRYPTION |
---|
169 | ==================== |
---|
170 | |
---|
171 | There used to be a note here about the simple obfuscation method used to |
---|
172 | make the passwords in the configuration files unreadable. However, BitlBee |
---|
173 | now uses a better format (and real encryption (salted MD5 and RC4)) to store |
---|
174 | the passwords. This means that people who somehow get their hands on your |
---|
175 | configuration files can't easily extract your passwords from them anymore. |
---|
176 | |
---|
177 | However, once you log into the BitlBee server and send your password, an |
---|
178 | intruder with tcpdump can still read your passwords. This can't really be |
---|
179 | avoided, of course. The new format is a lot more reliable (because it can't |
---|
180 | be cracked with just very basic crypto analysis anymore), but you still have |
---|
181 | to be careful. The main extra protection offered by the new format is that |
---|
182 | the files can only be cracked with some help from the user (by sending the |
---|
183 | password at login time). |
---|
184 | |
---|
185 | So if you run a public server, it's most important that you don't give root |
---|
186 | access to people who like to play with tcpdump. Also, it's a good idea to |
---|
187 | delete all *.nicks/*.accounts files as soon as BitlBee converted them to the |
---|
188 | new format (which happens as soon as the user logs in, it can't be done |
---|
189 | automatically because it needs the password for that account). You won't |
---|
190 | need them anymore (unless you want to switch back to an older BitlBee |
---|
191 | version) and they only make it easier for others to crack your passwords. |
---|
192 | |
---|
193 | |
---|
194 | LEGAL |
---|
195 | ===== |
---|
196 | |
---|
197 | BitlBee is distributed under the GPL (GNU General Public License). See the |
---|
198 | file COPYING for this license. |
---|
199 | |
---|
200 | The MD5 algorithm code is licensed under the Aladdin license. This license |
---|
201 | can be found in the files, to which this applies. The SHA1 algorithm code |
---|
202 | is licensed under the Mozilla Public License, see http://www.mozilla.org/MPL/ |
---|
203 | for details. |
---|
204 | |
---|
205 | The Yahoo! library used by BitlBee is libyahoo2 <http://libyahoo2.sf.net/>, |
---|
206 | also licensed under the GPL. |
---|
207 | |
---|
208 | |
---|
209 | BitlBee - An IRC to other chat networks gateway |
---|
210 | <http://www.bitlbee.org/> |
---|
211 | Copyright (C) 2002-2007 Wilmer van der Gaast <wilmer@gaast.net> |
---|
212 | and others |
---|