]>
Commit | Line | Data |
---|---|---|
1 | # charybdis [![POSIX Build Status](https://travis-ci.org/charybdis-ircd/charybdis.svg?branch=master)](https://travis-ci.org/charybdis-ircd/charybdis) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/is0obsml8xyq2qk7/branch/master?svg=true)](https://ci.appveyor.com/project/kaniini/charybdis/branch/master) | |
2 | ||
3 | Charybdis is an IRCv3 server designed to be highly scalable. It implements IRCv3.1 and some parts of IRCv3.2. | |
4 | ||
5 | It is meant to be used with an IRCv3-capable services implementation such as [Atheme][atheme] or [Anope][anope]. | |
6 | ||
7 | [atheme]: http://www.atheme.net/ | |
8 | [anope]: http://www.anope.org/ | |
9 | ||
10 | # necessary requirements | |
11 | ||
12 | * A supported platform | |
13 | * A working dynamic library system | |
14 | * A working lex and yacc - flex and bison should work | |
15 | ||
16 | # platforms | |
17 | ||
18 | Charybdis is designed with portability in mind, but does not target older systems nor those of solely academic | |
19 | interest. | |
20 | ||
21 | Do note that operating systems are only supported if they are supported by their vendor. | |
22 | ||
23 | ## Tier 1 | |
24 | ||
25 | These platforms are the best supported, and should always work. They are actively tested. If you encounter | |
26 | problems, please file a bug. | |
27 | ||
28 | * FreeBSD 10.x and above (i386 and amd64) | |
29 | * Linux 2.6.x and above with glibc or musl (i386, x86_64, and ARM) | |
30 | * Mac OS X 10.7 and above | |
31 | * Windows Vista/Server 2008 and above (x86 or x64) | |
32 | ||
33 | ## Tier 2 | |
34 | ||
35 | These platforms are supported and occasionally tested, and most features should work, but this is not | |
36 | guaranteed. If you find any problems, file a bug, but as these are not regularly tested platforms, a timely | |
37 | resolution may not be possible. | |
38 | ||
39 | * DragonflyBSD 4.4 and above (i386) | |
40 | * Linux with uClibc (i386 or x86_64) | |
41 | * NetBSD 6.1.x and above (i386, amd64) | |
42 | * OpenBSD 5.6 and above (i386, amd64) | |
43 | * Solaris 10 and above (i386) | |
44 | ||
45 | ## Tier 3 | |
46 | ||
47 | Anything else that hasn't been tested. Charybdis may or may not work on it; patches welcome if they don't. | |
48 | ||
49 | # platform specific errata | |
50 | ||
51 | These are known issues and workarounds for supported platforms. | |
52 | ||
53 | * **FreeBSD**: if you are compiling with ipv6 you may experience | |
54 | problems with ipv4 due to the way the socket code is written. To | |
55 | fix this you must: "sysctl net.inet6.ip6.v6only=0" | |
56 | ||
57 | * **Solaris**: you may have to set your PATH to include /usr/gnu/bin and /usr/gnu/sbin before /usr/bin | |
58 | and /usr/sbin. Solaris's default tools don't seem to play nicely with the configure script. | |
59 | ||
60 | # building from git | |
61 | ||
62 | We no longer supply a prebuilt configure script in git, due to use of automake and libtool causing problems. | |
63 | You will need to run `autogen.sh` to build the autotools files prior to building charybdis. | |
64 | ||
65 | # feature specific requirements | |
66 | ||
67 | * For SSL/TLS client and server connections, one of: | |
68 | ||
69 | * OpenSSL 1.0.0 or newer (--enable-openssl) | |
70 | * LibreSSL (--enable-openssl) | |
71 | * mbedTLS (--enable-mbedtls) | |
72 | * GnuTLS (--enable-gnutls) | |
73 | ||
74 | * For certificate-based oper CHALLENGE, OpenSSL 1.0.0 or newer. | |
75 | (Using CHALLENGE is not recommended for new deployments, so if you want to use a different TLS library, | |
76 | feel free.) | |
77 | ||
78 | * For ECDHE under OpenSSL, on Solaris and RHEL/Fedora (and its derivatives such as CentOS) you will | |
79 | need to compile your own OpenSSL on these systems, as they have removed support for ECC/ECDHE. | |
80 | Alternatively, consider using another library (see above). | |
81 | ||
82 | # tips | |
83 | ||
84 | * To report bugs in charybdis, visit us at irc.freenode.net #charybdis | |
85 | ||
86 | * Please read doc/index.txt to get an overview of the current documentation. | |
87 | ||
88 | * Read the NEWS file for what's new in this release. | |
89 | ||
90 | * The files, /etc/services, /etc/protocols, and /etc/resolv.conf, SHOULD be | |
91 | readable by the user running the server in order for ircd to start with | |
92 | the correct settings. If these files are wrong, charybdis will try to use | |
93 | 127.0.0.1 for a resolver as a last-ditch effort. | |
94 | ||
95 | # git access | |
96 | ||
97 | * The Charybdis GIT repository can be checked out using the following command: | |
98 | `git clone https://github.com/charybdis-ircd/charybdis` | |
99 | ||
100 | * Charybdis's GIT repository depot can be browsed over the Internet at the following address: | |
101 | https://github.com/charybdis-ircd/charybdis |